bit/integer operations in postgres - Mailing list pgsql-general

From Marc Munro
Subject bit/integer operations in postgres
Date
Msg-id 1136307317.8751.15.camel@bloodnok.com
Whole thread Raw
List pgsql-general
If I understand this correctly, I think you want to implement the sort
of security that Veil provides.  Take a look at
http://pgfoundry.org/projects/veil/

The documentation is at
http://veil.projects.postgresql.org/curdocs/index.html

__
Marc

On Sun, 2006-01-01 at 17:02 -0400, littlebutty wrote:
> Date: 22 Dec 2005 17:04:30 -0800
> From: "littlebutty" <littlebutty@gmail.com>
> To: pgsql-general@postgresql.org
> Subject: bit/integer operations in postgres
> Message-ID: <1135299870.165441.317110@f14g2000cwb.googlegroups.com>
>
> Does anyone know how I can solve this problem in Postgres:
>
> I am creating a table of user permissions.  I want to represent each
> permission as a bit location.  Each new permission I add to my system
> would be assigned to the next available bit (or column if you will)
> That way I can simply turn on a particular bit location for a
> particular user and then AND their permission level with a particular
> permission bit.
> Just as an example:
> Access to financial data is the first bit and would be represented by
> 1.
> Access to the admin section would be the 2nd bit, represented by 01.
> Access to the reporting section would be the 3rd bit, represented by
> 001.
>
> Thus a user with access to the admin section but nothing else would
> have 010
> and a user with access to everything would have 111.
>
>
> All possible permissions are stored in one table and a users
> permission
> level is stored in the user table, but both fields are integer data
> types.
>
> HERE IS WHAT I WANT TO DO:
> How do I setup a postgres constraint that will not allow an insert on
> the permission table with an integer value that has more than one bit
> set.  In other words you could insert 1, 2, 4, 8, 16, 32, etc. because
> there is only a single bit on in all of those integers, but not insert
> 3, 5, 6, 7, 9, 15, 19, etc. because they have multiple???
>
>

Attachment

pgsql-general by date:

Previous
From: "Alejandro D. Burne"
Date:
Subject: Re: Visual FoxPro 9 ODBC errors
Next
From: MargaretGillon@chromalloy.com
Date:
Subject: Re: Visual FoxPro 9 ODBC errors