Re: Range Types - typo + NULL string constructor - Mailing list pgsql-hackers

From Thom Brown
Subject Re: Range Types - typo + NULL string constructor
Date
Msg-id CAA-aLv69OAUk-cPA-PEHm30XzUc9t9Nq9A6LBhATyvBiDUMcdw@mail.gmail.com
Whole thread Raw
In response to Re: Range Types - typo + NULL string constructor  (Jeff Davis <pgsql@j-davis.com>)
Responses Re: Range Types - typo + NULL string constructor  (Jeff Davis <pgsql@j-davis.com>)
List pgsql-hackers
On 2 October 2011 20:05, Jeff Davis <pgsql@j-davis.com> wrote:
> On Sun, 2011-10-02 at 11:32 +0200, Florian Pflug wrote:
>> Looking at the patch, I noticed that it's possible to specify the default
>> boundaries ([], [), (] or ()) per individual float type with the
>> DEFAULT_FLAGS clause of CREATE TYPE .. AS RANGE. I wonder if that doesn't
>> do more harm then good - it makes it impossible to deduce the meaning of
>> e.g. numericrange(1.0, 2.0) without looking up the definition of numericrange.
>>
>> I suggest we pick one set of default boundaries, ideally '[)' since that
>> is what all the built-in canonization functions produce, and stick with it.
>
> Done.
>
> Also, made the range parsing even more like records with more code
> copied verbatim. And fixed some parsing tests along the way.

I don't know if this has already been discussed, but can you explain
the following:

postgres=# select '[1,8]'::int4range;int4range
-----------[1,9)
(1 row)

It seems unintuitive to represent a discrete range using an exclusive
upper bound.  While I agree that the value itself is correct, it's
representation looks odd.  Is it necessary?

-- 
Thom Brown
Twitter: @darkixion
IRC (freenode): dark_ixion
Registered Linux user: #516935

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


pgsql-hackers by date:

Previous
From: Shigeru Hanada
Date:
Subject: Re: WIP: Join push-down for foreign tables
Next
From: Kohei KaiGai
Date:
Subject: Re: [v9.2] DROP statement reworks