Re: bitwise storage and operations - Mailing list pgsql-general

From David G. Johnston
Subject Re: bitwise storage and operations
Date
Msg-id CAKFQuwbcwzf6Wz6bTEZi3wyiEidZdUHHQ0KzNCoHFUqddg7JZQ@mail.gmail.com
Whole thread Raw
In response to bitwise storage and operations  (Jonathan Vanasco <postgres@2xlp.com>)
Responses Re: bitwise storage and operations  (Brian Dunavant <brian@omniti.com>)
List pgsql-general
​Please include the list in all replies.

On Mon, Sep 26, 2016 at 4:14 PM, Jonathan Vanasco <postgres@2xlp.com> wrote:

On Sep 26, 2016, at 5:04 PM, David G. Johnston wrote:

On Mon, Sep 26, 2016 at 1:44 PM, Jonathan Vanasco <postgres@2xlp.com> wrote:
The documentation doesn't have any examples for SELECT for the bitwise operators, 

That shows a simple computation.  One can "SELECT" any computation and get a value.

It doesn't show a bitwise operator being used against an INT or BIT column, as I further elaborated.

I assumed a certain level of familiarity with databases and provided enough info to answer your main question: "what are the available bit string operators?".  That you can apply these operator to either constants or columns was knowledge I took for granted.


From what I can tell so far, i need to extract and compare a substring for the (reverse) index of the particular bit I want to filter on.

B'1001' is typed bit(4)...

The only requirement with a WHERE clause is that the computation must result in a boolean.  My example SELECT computation does just that.  It uses "varbit" for convenience but INT can be CAST() to BIT and the operators themselves should operate on any of the BIT variants.

What you want is the "bit-wise AND" operator and the equality operator, both of which you were shown.

I'd suggest you put forth your own example, filling in pseudo-code where needed, if you wish for more specific advice.

David J.

pgsql-general by date:

Previous
From: "David G. Johnston"
Date:
Subject: Re: bitwise storage and operations
Next
From: Francisco Reyes
Date:
Subject: Large pg_xlog