Re: bug in permission handling?
От | Gavin Sherry |
---|---|
Тема | Re: bug in permission handling? |
Дата | |
Msg-id | Pine.LNX.4.21.0201151505050.27718-100000@linuxworld.com.au обсуждение исходный текст |
Ответ на | Re: bug in permission handling? (Gavin Sherry <swm@linuxworld.com.au>) |
Список | 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 по дате отправления: