51.4. pg_amop#
51.4. pg_amop
Каталог pg_amop
хранит информацию о
операторах, связанных с семействами операторов метода доступа. Для каждого
оператора, являющегося членом семейства операторов, в каталоге хранится одна
строка. Член семейства может быть либо оператором поиска, либо
оператором упорядочивания. Оператор
может принадлежать более чем одному семейству, но не может находиться в более чем одной
позиции поиска или более чем одной позиции упорядочивания внутри семейства.
(Однако, хотя и маловероятно, оператор может использоваться и для поиска, и для упорядочивания).
Таблица 51.4. pg_amop
Колонки
Тип столбца Описание |
---|
Идентификатор строки |
Семейство операторов, для которого предназначена эта запись |
Тип данных левого операнда |
Тип данных правого операнда оператора |
Номер стратегии оператора |
Цель оператора, либо |
OID оператора |
Операторная семья индексного метода доступа предназначена для |
Семейство операторов B-дерева, по которому сортируется данный элемент, если это оператор сортировки; ноль, если это оператор поиска |
A “search” operator entry indicates that an index of this operator
family can be searched to find all rows satisfying
WHERE
indexed_column
operator
constant
.
Obviously, such an operator must return boolean
, and its left-hand input
type must match the index's column data type.
Запись оператора “ordering” указывает, что индекс этой
семьи операторов может быть просканирован для возврата строк в порядке, представленном
ORDER BY
indexed_column
operator
constant
.
Такой оператор может возвращать любой сортируемый тип данных, хотя
тип данных левого операнда должен соответствовать типу данных столбца индекса.
Точная семантика ORDER BY
определяется
столбцом amopsortfamily
, который должен ссылаться
на семейство операторов B-дерева для типа результата оператора.
Примечание
В настоящее время предполагается, что порядок сортировки для оператора сортировки является значением по умолчанию для соответствующей семьи операторов, то есть ASC NULLS LAST
. В будущем это может быть изменено путем добавления дополнительных столбцов для явного указания параметров сортировки.
Вход amopmethod
записи должен соответствовать
opfmethod
ее содержащей семье операторов (включая
amopmethod
здесь намеренно денормализована
структура каталога в целях повышения производительности). Кроме того,
amoplefttype
и amoprighttype
должны соответствовать
полям oprleft
и oprright
ссылочной записи
pg_operator
.