Re: domain usage

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: domain usage
Дата
Msg-id 20235.1026673094@sss.pgh.pa.us
обсуждение исходный текст
Ответ на domain usage  (Bruno Wolff III <bruno@wolff.to>)
Ответы Re: domain usage  (Bruno Wolff III <bruno@wolff.to>)
Список pgsql-general
Bruno Wolff III <bruno@wolff.to> writes:
> I have a question about the use of domains in 7.3.
> Will I be able to use them to catch mistakes in doing comparisons
> or value setting between objects with the same underlying type but
> in different domains (without doing an explicit type cast)?

No, I don't think so.  It certainly doesn't work at the moment:

regression=# create domain d1 int4;
CREATE DOMAIN
regression=# create domain d2 int4;
CREATE DOMAIN
regression=# select '1'::d1 = '1'::d2;
 ?column?
----------
 t
(1 row)


The reason it doesn't work is that d1 and d2 are treated as
binary-compatible with int4, so the int4 = operator is found and
applied.

If we did not have this binary-compatibility behavior, domains would be
near useless, because out-of-the-box they'd have no applicable functions
or operators at all.  Do you want to have to issue a ton of CREATE
FUNCTION and CREATE OPERATOR commands for every domain you make?

            regards, tom lane

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

Предыдущее
От: Bruno Wolff III
Дата:
Сообщение: domain usage
Следующее
От: Bruno Wolff III
Дата:
Сообщение: Re: domain usage