Re: bug in permission handling? - Mailing list pgsql-hackers

From Gavin Sherry
Subject Re: bug in permission handling?
Date
Msg-id Pine.LNX.4.21.0201151505050.27718-100000@linuxworld.com.au
Whole thread Raw
In response to Re: bug in permission handling?  (Gavin Sherry <swm@linuxworld.com.au>)
List pgsql-hackers
On Tue, 15 Jan 2002, Gavin Sherry wrote:

> On Mon, 14 Jan 2002, Tom Lane wrote:
> 
> > Martin Renters <martin@datafax.com> writes:
> > > Should the permissions of a deleted user get assigned to a new user
> > > as in the example below?
> > 
> > That can happen, since the default "usesysid" assignment is "max
> > existing usesysid + 1".  If you delete the last user then their sysid
> > becomes a candidate for reassignment.  This is not real good, but fixing
> > it isn't that high on the priority list (and is difficult to do unless
> > we take away the option of hand-assigned sysids ... otherwise we could
> > just have a sequence generator for sysids).
> 
> Another slight bug with CreateUser() -- there does not appear to be any
> checking for potential overflow of sysid. The function scans pg_shadow to
> find the largest usrsysid. Once obtained:
> 
>     /* If no sysid given, use max existing id + 1 */
>     if (!havesysid)
>         sysid = max_id + 1;
> 

Left this bit off:

template1=# create user def with sysid 2147483647;
CREATE USER
template1=# create user def2;
CREATE USER
template1=# create user def3;
ERROR:  Cannot insert a duplicate key into unique index 
pg_shadow_usesysid_index
template1=# select usesysid from pg_shadow where usename ~ 'def'; usesysid
------------- 2147483647-2147483648
(2 rows)

template1=# select version();                              version
---------------------------------------------------------------------PostgreSQL 7.2b4 on i686-pc-linux-gnu, compiled by
GCCegcs-2.91.66
 
(1 row)

template1=#

Gavin




pgsql-hackers by date:

Previous
From: Gavin Sherry
Date:
Subject: Re: bug in permission handling?
Next
From: Hiroshi Inoue
Date:
Subject: Re: Theory about XLogFlush startup failures