CREATE OPERATOR FAMILY
CREATE OPERATOR FAMILY — определить новое семейство операторов
Синтаксис
CREATE OPERATOR FAMILY имя USING индексный_метод
Описание
Команда CREATE OPERATOR FAMILY
создает новое семейство операторов. Семейство
операторов определяет набор связанных классов операторов и, возможно, некоторые
дополнительные операторы и вспомогательные функции, совместимые с этими классами
операторов, но несущественные для функционирования любого отдельного индекса.
(Операторы и функции, которые важны для индексов, следует сгруппировать в пределах
соответствующего класса операторов, а не «слабо связывать» в семействе операторов.
Как правило, операторы с одним типом данных привязаны к классам операторов, тогда
как операторы с перекрестными типами данных могут быть слабо связаны в семействе
операторов, содержащем классы операторов для обоих типов данных.)
Новое семейство операторов изначально пустое. Его нужно заполнить путем последующего
выполнения команд CREATE OPERATOR CLASS
, которые добавят в него классы
операторов, и, возможно, команд ALTER OPERATOR FAMILY
, которые добавят
«слабосвязанные» операторы и соответствующие вспомогательные функции.
Если задано имя схемы, то семейство операторов создается в указанной схеме, в противном случае — в текущей схеме. Два семейства операторов в одной схеме могут иметь одинаковое имя только в том случае, если они предназначены для разных индексных методов.
Пользователь, определяющий семейство операторов, становится его владельцем. В настоящее время для создания семейства операторов нужно быть суперпользователем. (Причина этого ограничения в том, что ошибочное определение семейства операторов может вызвать нарушения или даже сбой в работе сервера.)
Дополнительную информацию см. в разделе Интерфейсные расширения для индексов.
Параметры
имя
Имя создаваемого семейства операторов (может быть дополнено схемой).
индексный_метод
Имя индексного метода, для которого предназначено это семейство операторов.
Совместимость
Команда CREATE OPERATOR FAMILY
является расширением QHB. В
стандарте SQL такой команды нет.
См. также
ALTER OPERATOR FAMILY
, DROP OPERATOR FAMILY
, CREATE OPERATOR CLASS
,
ALTER OPERATOR CLASS
, DROP OPERATOR CLASS