Ограничение исключения для столбца битовой строки с побитовым оператором И

Итак, я только что читал об ограничениях исключенияв PostgreSQL, и я не мог найти способ использовать побитовые операторы на битовых строках, и мне было интересно, если это было возможно.

Мой вариант использования: у меня есть столбец name: textи столбец value: bit(8). И я хотел создать ограничение, которое в основном говорит следующее:

ADD CONSTRAINT route_method_overlap
EXCLUDE USING gist(name WITH =, value WITH &)

Но это не работает, поскольку

оператор &(bit,bit) не является членом семейства операторов "gist_bit_ops"

Я предполагаю, что это потому, что оператор bit_ops & не возвращает логическое значение. Но есть ли способ сделать то, что я пытаюсь сделать? Есть ли способ заставить оператор &преобразовать возвращаемое значение в логическое значение?

Редактировать

Забыли номер версии. Это на 9.1.4 с установленным расширением «btree_gist», все из репозиториев Ubuntu 12.04. Но версия не имеет значения. Если есть исправления/обновления вверх по течению, я могу установить из репозиториев. Я все еще на стадии проектирования этого.

5
задан Erwin Brandstetter 28 November 2013 в 02:47
поделиться