Postgres - статьи

Программный интерфейс GiST


Для дальнейшего ознакомления полезно ознакомиться с некоторыми особенностями программирования функция для PostgreSQL на языке C, которые приведены в .

GiST предоставляет разработчикам новых типов данных основные методы для работы с ними: SEARCH, INSERT, DELETE. Управлять этими методами можно с помощью 7 интерфейсных функций, которые разработчик должен специфицировать.

Большинство функций интерфейса работают с ключами, передаваемыми в следующей структуре:

typedef struct GISTENTRY { Datum key; /* собственно ключ */ Relation rel; /* индекс */ Page page; /* страница индекса */ OffsetNumber offset; /* положение в индексе */ int bytes; /* длина ключа в байтах, может быть равной -1 */ bool leafkey; /* признак, указывающий, что в key находится не ключ, а значение из таблицы */ } GISTENTRY;

Как правило, для обычных реализаций представляют интерес поля key и leafkey.

Общие замечания:

  • Ни одна из интерфейсных функций не имеет права вернуть NULL
  • Всем функциям, кроме penalty(см ), никогда не передаются NULL или GISTENTRY с значением key NULL.


  • Содержание раздела