Re: Range Types: << >> -|- ops vs empty range
От
Jeff Davis
Тема
Re: Range Types: << >> -|- ops vs empty range
Дата
Msg-id
1299865026.3474.58.camel@jdavis
Ответ на
Re: Range Types: << >> -|- ops vs empty range (Bruce Momjian)
Список
Дерево обсуждения
Range Types Jeff Davis <pgsql@j-davis.com>
Re: Range Types Jeff Davis <pgsql@j-davis.com>
Re: Range Types: << >> -|- ops vs empty range "Erik Rijkers" <er@xs4all.nl>
Re: Range Types: << >> -|- ops vs empty range Jeff Davis <pgsql@j-davis.com>
Re: Range Types: << >> -|- ops vs empty range Robert Haas <robertmhaas@gmail.com>
Re: Range Types: << >> -|- ops vs empty range Jeff Davis <pgsql@j-davis.com>
Re: Range Types: << >> -|- ops vs empty range "Kevin Grittner" <Kevin.Grittner@wicourts.gov>
Re: Range Types: << >> -|- ops vs empty range Josh Berkus <josh@agliodbs.com>
Re: Range Types: << >> -|- ops vs empty range "Kevin Grittner" <Kevin.Grittner@wicourts.gov>
Re: Range Types: << >> -|- ops vs empty range "Erik Rijkers" <er@xs4all.nl>
Re: Range Types: << >> -|- ops vs empty range Robert Haas <robertmhaas@gmail.com>
Re: Range Types: << >> -|- ops vs empty range Andrew Dunstan <andrew@dunslane.net>
Re: Range Types: << >> -|- ops vs empty range Bruce Momjian <bruce@momjian.us>
Re: Range Types: << >> -|- ops vs empty range Jeff Davis <pgsql@j-davis.com>
Re: Range Types: << >> -|- ops vs empty range Christopher Browne <cbbrowne@gmail.com>
Re: Range Types (catversion.h) "Erik Rijkers" <er@xs4all.nl>
Re: Range Types (catversion.h) Jeff Davis <pgsql@j-davis.com>
Re: Range Types (catversion.h) Tom Lane <tgl@sss.pgh.pa.us>
Re: Range Types (catversion.h) Jeff Davis <pgsql@j-davis.com>
Re: Range Types (catversion.h) Peter Eisentraut <peter_e@gmx.net>
Re: Range Types (catversion.h) Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Re: Range Types (catversion.h) Robert Haas <robertmhaas@gmail.com>
Re: Range Types Dimitri Fontaine <dimitri@2ndQuadrant.fr>
Re: Range Types Jeff Davis <pgsql@j-davis.com>
Re: Range Types Dimitri Fontaine <dimitri@2ndQuadrant.fr>
Re: Range Types Jeff Davis <pgsql@j-davis.com>
Re: Range Types Jeff Davis <pgsql@j-davis.com>
Re: REVIEW Range Types "Erik Rijkers" <er@xs4all.nl>
Re: REVIEW Range Types Jeff Davis <pgsql@j-davis.com>
Re: Range Types - cache lookup failed for function "Erik Rijkers" <er@xs4all.nl>
Re: Range Types - cache lookup failed for function Jeff Davis <pgsql@j-davis.com>
On Fri, 2011-03-11 at 08:37 -0500, Bruce Momjian wrote: > Where are we on this? The options are: 1. Rip out empty ranges. Several people have been skeptical of their usefulness, but I don't recall anyone directly saying that they should be removed. Robert Haas made the point that range types aren't closed under UNION: http://archives.postgresql.org/pgsql-hackers/2011-02/msg01045.php So the additional nice mathematical properties provided by empty ranges are not as important (because it wouldn't be perfect anyway). 2. Change the semantics. Erik Rijkers suggested that we define all operators for empty ranges, perhaps using NULL semantics: http://archives.postgresql.org/pgsql-hackers/2011-02/msg00942.php And Kevin Grittner suggested that there could be discrete ranges of zero length yet a defined starting point: http://archives.postgresql.org/pgsql-hackers/2011-02/msg01042.php 3. Leave empty ranges with the existing "empty set" semantics. Nathan Boley made a good point here: http://archives.postgresql.org/pgsql-hackers/2011-02/msg01108.php Right now it's #3, and I lean pretty strongly toward keeping it. Without #3, people will get confused when fairly simple operations fail in a data-dependent way (at runtime). With #3, people will run into problems only in situations where it is fairly dubious to have an empty range anyway (and therefore likely a real error), such as finding ranges "left of" an empty range. Otherwise, I'd prefer #1 to #2. I think #2 is a bad path to take, and we'll end up with a lot of unintuitive and error-prone operators. Regards,Jeff Davis
В списке pgsql-hackers по дате отправления