Michael,
> > is it possible to use an index on the expression '(table_1.field &
> > table_2.field)::int > 0' ?
Not practically, no.
If it's important to you for comparisons to be indexed, then stop doing
bitwise stuff and normalize your tables. Bitwise fields are what is known
as "non-atomic" data, and violate the First Normal Form (or is it the Second?
Don't recall). Your particular problem is one of the illustrations of why
they are problematic.
The only times I use bitwise fields in my systems is when:
a) their content is going to be processed entirely by external (middleware/
interface) code and not queries, and
b) they will never themselves be a search condition.
--
-Josh BerkusAglio Database SolutionsSan Francisco