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
Re: Range Types and extensions |
Список | 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 по дате отправления: