Is the COMMUTATOR clause required for self commutative operators?

Поиск
Список
Период
Сортировка
От
Тема Is the COMMUTATOR clause required for self commutative operators?
Дата
Msg-id 64892.216.238.112.88.1070921195.squirrel@$HOSTNAME
обсуждение исходный текст
Ответы Re: Is the COMMUTATOR clause required for self commutative operators?
Re: Is the COMMUTATOR clause required for self commutative operators?
Список pgsql-general
In the command

CREATE OPERATOR name (
    PROCEDURE = func_name
    [, LEFTARG = lefttype ] [, RIGHTARG = righttype ]
    [, COMMUTATOR = com_op ] [, NEGATOR = neg_op ]
    [, RESTRICT = res_proc ] [, JOIN = join_proc ]
    [, HASHES ] [, MERGES ]
    [, SORT1 = left_sort_op ] [, SORT2 = right_sort_op ]
    [, LTCMP = less_than_op ] [, GTCMP = greater_than_op ]
)


Is omitting the COMMUTATOR option a problem at all in case of
self-commutative operators? That is, if I define

CREATE OPERATOR public.+(
  PROCEDURE = numeric_add_null,
  LEFTARG = numeric,
  RIGHTARG = numeric,
  COMMUTATOR = +)


(where numeric_add_null is a function that handles in NULLs in a
non-standard, but more useful way), since "+" is self commutative, is it
necessary to include it here? Any advantage or disadvantage to ommitting
or including it?

~Berend Tober




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

Предыдущее
От: Josué Maldonado
Дата:
Сообщение: Manual record locking
Следующее
От: "Nigel J. Andrews"
Дата:
Сообщение: Re: Manual record locking