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 по дате отправления: