Re: [HACKERS] [PROPOSAL] Temporal query processing with range types
От | Robert Haas |
---|---|
Тема | Re: [HACKERS] [PROPOSAL] Temporal query processing with range types |
Дата | |
Msg-id | CA+Tgmob3hu7Tc8_qK6iC6D+M4S8n=4ZArkQJt_FxBXFiBtFdfQ@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: [HACKERS] [PROPOSAL] Temporal query processing with range types (Peter Moser <pitiz29a@gmail.com>) |
Список | pgsql-hackers |
On Tue, Jan 24, 2017 at 4:32 AM, Peter Moser <pitiz29a@gmail.com> wrote: > NORMALIZE: splits all the ranges of one relation according to all the range > boundaries of another (but possibly the same) relation whenever some equality > condition over some given attributes is satisfied. > > When the two relations are the same, all ranges with the given equal attributes > are either equal or disjoint. After this, the traditional GROUP BY or DISTINCT > can be applied. The attributes given to NORMALIZE for a (temporal) GROUP BY are > the grouping attributes and for a (temporal) DISTINCT the target list > attributes. > > When the two relations are different, but they each contain disjoint ranges > for the same attributes (as the current limitation for the set operations is) > we perform a symmetric NORMALIZE on each of them. Then we have a similar > situation as before, i.e., in both relations ranges with the same attributes > are either equal or disjoint and a traditional set operation > (EXCEPT/INTERSECT/UNION) can be applied. The attributes given to NORMALIZE for > a (temporal) EXCEPT/INTERSECT/UNION are the target list attributes. > > > ALIGN: splits all the ranges of one relation according to all the range > intersections of another relation, i.e., it produces all intersections and > non-overlapping parts, whenever some condition is satisfied. > > We perform a symmetric ALIGN on each relation, after which a traditional inner > or outer join can be applied using equality on the ranges to calculate the > overlap. The condition given to a (temporal) inner or outer join is the > join condition without overlap. I don't quite understand the difference between NORMALIZE and ALIGN. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
В списке pgsql-hackers по дате отправления: