Re: Confusion about the range types - Mailing list pgsql-bugs

From Dino Maric
Subject Re: Confusion about the range types
Date
Msg-id 276a2c3825d677698e392f92d45893d1dc93d797@hey.com
Whole thread Raw
In response to Re: Confusion about the range types  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs
Thanks Tom, I understand.

But still it does feel a bit strange that value I'm storing is different when presenting.
For example I want to use range in healthcare app and value user stores it must be the same when presenting.
So in that case it is [7-8] and [7-9) are not the same thing :)



On January 7, 2023, Tom Lane <tgl@sss.pgh.pa.us> wrote:
Dino Maric <dinom@hey.com> writes:
> When I insert range like this:
> INSERT INTO public.tests
> VALUES (int4range(7,8,'[]'))
> After when querying table my return value for this column is not [7,8]
> but it is [7,9).
> I found this behaviour confusing, because I want to insert 7-8 ranges
> (including upper value) and then present that range to a user.

This is the effect of canonicalization, as explained here:

https://www.postgresql.org/docs/current/rangetypes.html#RANGETYPES-DISCRETE

If you don't like it you can make a range type with a different
canonicalization function, or no such function, but that might
have odd effects on the behavior of range comparison operators.

 regards, tom lane

--
Sent with HEY — Email as it should be

pgsql-bugs by date:

Previous
From: Tom Lane
Date:
Subject: Re: Confusion about the range types
Next
From: Alexander Korotkov
Date:
Subject: Re: Bug in jsonb_path_exists (maybe _match) one-element scalar/variable jsonpath handling