Re: range_adjacent and discrete ranges

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Jeff Davis <pgsql(at)j-davis(dot)com>
Cc: Florian Pflug <fgp(at)phlo(dot)org>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: range_adjacent and discrete ranges
Date: 2011-11-19 21:03:01
Message-ID: 23562.1321736581@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Jeff Davis <pgsql(at)j-davis(dot)com> writes:
> 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.

OK, so the thought is that the only actual error condition would be
lower bound value > upper bound value? Otherwise, if the range
specification represents an empty set, that's fine, we just normalize it
to 'empty'. Seems consistent to me.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Boszormenyi Zoltan 2011-11-19 21:56:03 Re: SQLDA fix for ECPG
Previous Message Tom Lane 2011-11-19 20:57:15 Re: Singleton range constructors versus functional coercion notation