Re: Range Types - typo + NULL string constructor

Поиск
Список
Период
Сортировка
От Jeff Davis
Тема Re: Range Types - typo + NULL string constructor
Дата
Msg-id 1318355321.1724.184.camel@jdavis
обсуждение исходный текст
Ответ на Re: Range Types - typo + NULL string constructor  (Robert Haas <robertmhaas@gmail.com>)
Ответы Re: Range Types - typo + NULL string constructor
Список pgsql-hackers
On Tue, 2011-10-11 at 12:40 -0400, Robert Haas wrote:
> I think using '[)' is fine.  At some level, this is just a question of
> expectations.  If you expect that int4range(1,4) will create a range
> that includes 4, well, you're wrong.  Once you get used to it, it will
> seem normal, and you'll know that you need to write
> int4range(1,4,'[]') if that's what you want.  As long as the system is
> designed around a set of consistent and well-thought-out principles,
> people will get used to the details.  I don't see that the idea of a
> half-open range over a discrete-valued type is particularly confusing
> - we use them all the time in programming, when we make the end
> pointer point to the byte following the end of the array, rather than
> the last element - but even if it is, overall design consistency
> trumps what someone may find to be the absolutely perfect behavior in
> some particular case.  And saving typing is nearly always good -
> unless it creates a LOT more confusion than I think this will.

That sounds very reasonable to me.

Tom made an observation about '[1,INT_MAX]' thowing an error because
canonicalization would try to increment INT_MAX. But I'm not
particularly disturbed by it. If you want a bigger range, use int8range
or numrange -- the same advice we give to people who want unsigned
types. Or, for people who really need the entire range of signed int4
exactly, they can easily make their own range type that canonicalizes to
'[]'.

Regards,Jeff Davis



В списке pgsql-hackers по дате отправления:

Предыдущее
От: "Kevin Grittner"
Дата:
Сообщение: Re: Overhead cost of Serializable Snapshot Isolation
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Range Types - typo + NULL string constructor