On 10 October 2011 18:31, Jeff Davis <pg...@j-davis.com> wrote: > On Mon, 2011-10-10 at 12:53 -0400, Tom Lane wrote: >> > The "canonicalize" function (specified at type creation time) allows you >> > to specify the canonical output representation. So, I can change the >> > canonical form for discrete ranges to use '[]' notation if we think >> > that's more expected. >> >> What if I write '[1,INT_MAX]'::int4range? The open-parenthesis form will >> fail with an integer overflow. I suppose you could canonicalize it to >> an unbounded range, but that seems unnecessarily surprising. > > So, are you suggesting that I canonicalize to '[]' then? That seems > reasonable to me, but there's still some slight awkwardness because > int4range(1,10) would be '[1,9]'.
Why? int4range(1,10,'[]') returns: int4range ----------- [1,11) (1 row) Which if corrected to display the proposed way would just be '[1,10]'. So the default boundaries should be '[]' as opposed to '[)' as it is now. -- Thom Brown Twitter: @darkixion IRC (freenode): dark_ixion Registered Linux user: #516935 EnterpriseDB UK: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers