Re: Using domains for case insensitivity

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Using domains for case insensitivity
Дата
Msg-id 21149.1087574410@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Using domains for case insensitivity  (Peter Eisentraut <peter_e@gmx.net>)
Список pgsql-hackers
Peter Eisentraut <peter_e@gmx.net> writes:
> Shachar Shemesh wrote:
>> According to the docs, domains are not meant for that purpose, but
>> for changing constraints of a type. Is it possible to define a domain
>> that will have the same defaults and constraints as the base type,
>> but will have different comparison functions? Will that provide me
>> with what I need?

> Domains constrain the allowed values of a data type and nothing more.  
> If you were able to override operators, then you would create a new 
> data type, thus losing a fundamental property of domains.  So this is 
> not the route you want to pursue.

I agree.  I think there are some cases where the function resolution
code would pick a function declared to take the domain as input, but
it'd be a chancy thing, because for all nontrivial cases the code first
flattens domains to base types.

You can make a separate type that just happens to use the same I/O
functions, and then create a binary-compatible cast to the old type to
allow free use of the existing operators.  This is much more likely to
work reliably.
        regards, tom lane


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

Предыдущее
От: "Darko Prenosil"
Дата:
Сообщение: Re: SPI equivalent for libpq PQftable & PQFtablecolumn
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Casts question