Greg Gazanian wrote:
I was wondering if anyone happens to know whether there is an Aggregate 
function available in Postgres that can do an OR on a column of the bit varying 
type. For example I would like to do something as follows:

bitstring
*--------
1110
0100
1111

SELECT bitwise_or(bitstring) FROM table;

Resulting in:
1111
There is no such function predefined, but you can easily define one yourself.

create aggregate or_bit64(
  basetype=bit,
  sfunc=bitor,
  stype=bit,
  initcond=
    '0000000000000000000000000000000000000000000000000000000000000000'
) ;

I'm using this in production, and it works fine. I didn't find a way to
make this length-agnostic, so I defined this for all lenghts of bitstrings the my app uses (32 and 64).

greetings, Florian Pflug


---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
      subscribe-nomail command to [EMAIL PROTECTED] so that your
      message can get through to the mailing list cleanly

Reply via email to