Re: Range Types and extensions

Поиск
Список
Период
Сортировка
От Jeff Davis
Тема Re: Range Types and extensions
Дата
Msg-id 1308551582.2597.119.camel@jdavis
обсуждение исходный текст
Ответ на Re: Range Types and extensions  (Florian Pflug <fgp@phlo.org>)
Ответы Re: Range Types and extensions  (Robert Haas <robertmhaas@gmail.com>)
Re: Range Types and extensions  (David Fetter <david@fetter.org>)
Список pgsql-hackers
On Sun, 2011-06-19 at 21:29 +0200, Florian Pflug wrote:
> If I'm not mistaken about this, that would imply that we also cannot
> have two range types with the same base type, the same opclass,
> but different collations. Which seems rather unfortunate... In fact,
> if that's true, maybe restricing range types to the database collation
> would be best...

Yes, we cannot have two range types with the same base type. That is a
consequence of the polymorphic type system, which needs to be able to
determine the range type given the base type.

A workaround is to use domains. That is effective, but awkward. For
instance, given: CREATE DOMAIN textdomain AS text; CREATE TYPE textdomainrange AS RANGE (subtype=textdomain);
then: '[a,z)'::textdomainrange @> 'b'::textdomain
would work, but: '[a,z)'::textdomainrange @> 'b'
would not, which would be annoying.

I don't see a way around this. It's not a collation problem, but a
general "multiple range types with the same subtype" problem.

I don't think there's much benefit in restricting it to the DB
collation. If someone really needs a different collation (or opclass,
for that matter), it might as well be allowed, even if you have to do
extra type annotations.

Regards,Jeff Davis



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

Предыдущее
От: Fujii Masao
Дата:
Сообщение: Re: Latch implementation that wakes on postmaster death on both win32 and Unix
Следующее
От: Radosław Smogura
Дата:
Сообщение: Re: Patch - Debug builds without optimization