Ausschlussbedingung für eine Bitstringspalte mit bitweisem AND-Operator

Also habe ich nur darüber gelesenAusschlussbeschränkungen In PostgreSQL und mir schien es nicht möglich zu sein, bitweise Operatoren für Bitstrings zu verwenden, und ich habe mich gefragt, ob dies möglich ist.

Mein Anwendungsfall ist, ich habe einename: text Spalte und avalue: bit(8) Säule. Und ich wollte eine Einschränkung erstellen, die im Grunde Folgendes sagt:

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

Aber das funktioniert seitdem nicht mehr

operator & (bit, bit) ist kein Mitglied der Operatorfamilie "gist_bit_ops"

Ich nehme an, das liegt daran, dass der bit_ops & -Operator keinen Booleschen Wert zurückgibt. Aber gibt es eine Möglichkeit, das zu tun, was ich versuche? Gibt es einen Weg zu zwingenoperator & den Rückgabewert als Booleschen Wert umwandeln?

Bearbeiten

Versionsnummer vergessen. Dies ist auf 9.1.4 mit der "btree_gist" -Erweiterung installiert, alle von den Ubuntu 12.04-Repos. Aber die Version spielt keine Rolle. Wenn es Upstream-Fixes / Updates gibt, kann ich diese von den Repos installieren. Ich bin noch in der Designphase.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage