Ograniczenie wykluczenia w kolumnie bitstring z operatorem bitowym AND
Właśnie o tym czytałemOgraniczenia wykluczenia w PostgreSQL i nie mogłem znaleźć sposobu na użycie operatorów bitowych na bitstringach i zastanawiałem się, czy to możliwe.
Mój przypadek użycia to janame: text
kolumna avalue: bit(8)
kolumna. I chciałem stworzyć ograniczenie, które zasadniczo mówi to:
ADD CONSTRAINT route_method_overlap
EXCLUDE USING gist(name WITH =, value WITH &)
Ale to nie działa od tego czasu
operator i (bit, bit) nie jest członkiem rodziny operatorów „gist_bit_ops”
Zakładam, że jest tak, ponieważ operator bit_ops i operator nie zwraca wartości logicznej. Ale czy istnieje sposób, aby zrobić to, co próbuję zrobić? Czy istnieje sposób na przymusoperator &
rzucić jego wartość zwracaną jako logiczną?
Zapomniałeś numeru wersji. Jest to w wersji 9.1.4 z zainstalowanym rozszerzeniem „btree_gist”, wszystkie z repozytoriów Ubuntu 12.04. Ale wersja nie ma znaczenia. Jeśli są jakieś poprawki / aktualizacje, mogę zainstalować z repozytoriów. Nadal jestem w fazie projektowania.