Restricción de exclusión en una columna de cadena de bits con un operador a modo de bit AND
Así que solo estaba leyendo sobreRestricciones de exclusión en PostgreSQL y parece que no pude encontrar una manera de usar operadores bitwise en cadenas de bits, y me preguntaba si era posible.
Mi caso de uso es que tengo unname: text
columna y unvalue: bit(8)
columna. Y quería crear una restricción que básicamente dice esto:
ADD CONSTRAINT route_method_overlap
EXCLUDE USING gist(name WITH =, value WITH &)
Pero esto no funciona desde
operator & (bit, bit) no es un miembro de la familia de operadores "gist_bit_ops"
Supongo que esto se debe a que bit_ops y operator no devuelven un valor booleano. ¿Pero hay una manera de hacer lo que estoy tratando de hacer? ¿Hay alguna forma de coaccionar?operator &
para emitir su valor de retorno como un booleano?
Olvidó el número de versión. Esto está en 9.1.4 con la extensión "btree_gist" instalada, todo desde los repositorios de Ubuntu 12.04. Pero la versión no importa. Si hay arreglos / actualizaciones en sentido ascendente, puedo instalar desde los repositorios. Todavía estoy en la fase de diseño de esto.