Re: range_adjacent and discrete ranges

Jeff Davis <pgsql@j-davis.com>

From: Jeff Davis <pgsql@j-davis.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Florian Pflug <fgp@phlo.org>, pgsql-hackers@postgresql.org
Date: 2011-11-19T18:52:22Z
Lists: pgsql-hackers
On Fri, 2011-11-18 at 14:47 -0500, Tom Lane wrote:
> Yeah, probably not.  However, I don't like the idea of
> '(3,4)'::int4range throwing an error, as it currently does, because it
> seems to require the application to have quite a lot of knowledge of the
> range semantics to avoid having errors sprung on it.

OK, then let's make '(3,4)'::int4range the empty range. (3,3) might be
OK as well (for any range type), because at least it's consistent.

The one that I find strange is [3,3), but I think that needs to work for
the range_adjacent idea to work. Seeing it as useful in the context of
range_adjacent might mean that it's useful elsewhere, too, so now I'm
leaning toward supporting [3,3) as an empty range.

Regards,
	Jeff Davis