Re: Range Types: << >> -|- ops vs empty range

Поиск
Список
Период
Сортировка
Искать
От
Josh Berkus
Тема
Re: Range Types: << >> -|- ops vs empty range
Дата
Msg-id
4D5579AC.4050707@agliodbs.com
Ответ на
Список
Дерево обсуждения
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>

> "empty range"
> =============
> Zero length?
>   If so, is it fixed at some point, but empty?
>     '(x,x)'?
>     '[x,x)'?

Neither of the above should be possible, I think.  The expression "(x"
logically excludes the expression "x)".

However, "[x,x]" would be valid, and would be a zero-length interval at
the point "x".

> Is it everything?
>   '[-inf,+inf]'?

No, that's "everything" which is a different concept.  The above also
ought to be possible, and overlap everything.

> Is it really meaningfully distinct from NULL?

Yes.  NULL means "I don't know".  If a range type IS NULL, then any
operation performed with it ought to be NULL.  Hence:

IF y > x, THEN:

[x,x] << [y,z) == TRUE
[x,x] -|- (x,y] == TRUE
NULL << [y,z} IS NULL
[-inf,+inf] << [y,z) == FALSE

I can imagine using all of these constructs in actual applications.  In
fact, I have *already* used [-inf,+inf]

--                                  -- Josh Berkus                                    PostgreSQL Experts Inc.                                    http://www.pgexperts.com

В списке pgsql-hackers по дате отправления
От: Alex Hunsaker
Дата:
От: David E. Wheeler
Дата:
FAQ