Re: Bitwise OR in a group statement - Mailing list pgsql-general

From Florian G. Pflug
Subject Re: Bitwise OR in a group statement
Date
Msg-id 449A748D.4090504@phlo.org
Whole thread Raw
In response to Bitwise OR in a group statement  ("Greg Gazanian" <ggazan@ausd.net>)
List pgsql-general
Greg Gazanian wrote:
> I was wondering if anyone happens to know whether there is an Aggregate function available in Postgres that can do an
ORon 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


pgsql-general by date:

Previous
From: brian ally
Date:
Subject: Re: Help from Havana
Next
From: Kenneth Downs
Date:
Subject: Re: Return the primary key of a newly inserted row?