Re: pg_dump dump catalog ACLs

Поиск
Список
Период
Сортировка
От Stephen Frost
Тема Re: pg_dump dump catalog ACLs
Дата
Msg-id 20160510174705.GJ10850@tamriel.snowman.net
обсуждение исходный текст
Ответ на Re: pg_dump dump catalog ACLs  (Alvaro Herrera <alvherre@2ndquadrant.com>)
Список pgsql-hackers
* Alvaro Herrera (alvherre@2ndquadrant.com) wrote:
> Stephen Frost wrote:
>
> > diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c
> > index 1267afb..4a9b1bf 100644
> > --- a/src/bin/pg_dump/pg_dump.c
> > +++ b/src/bin/pg_dump/pg_dump.c
> > @@ -14992,9 +14992,10 @@ dumpTable(Archive *fout, TableInfo *tbinfo)
> >                                "%s AS initrattacl "
> >                                "FROM pg_catalog.pg_attribute at "
> >                         "JOIN pg_catalog.pg_class c ON (at.attrelid = c.oid) "
> > -                              "LEFT JOIN pg_init_privs pip ON "
> > +                              "LEFT JOIN pg_catalog.pg_init_privs pip ON "
> >                                "(pip.classoid = "
> > -                 "(SELECT oid FROM pg_class WHERE relname = 'pg_class') AND "
> > +                              "(SELECT oid FROM pg_catalog.pg_class "
> > +                              "WHERE relname = 'pg_class') AND "
> >                     " at.attrelid = pip.objoid AND at.attnum = pip.objsubid) "
> >                                "WHERE at.attrelid = '%u' AND "
> >                                "NOT at.attisdropped "
>
> The subquery comparing the OID of pg_class using only a condition on
> relname seems wrong; wouldn't it fail or produce wrong results if
> somebody creates a table named pg_class in another schema?  I think you
> should write the comparison like this instead:
>   classoid = 'pg_catalog.pg_class'::regclass

Errr, I could have sworn I was doing that, but clearly I'm not.

Will fix.

Thanks!

Stephen

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Alvaro Herrera
Дата:
Сообщение: Re: pg_dump dump catalog ACLs
Следующее
От: Tom Lane
Дата:
Сообщение: Re: HeapTupleSatisfiesToast() busted? (was atomic pin/unpin causing errors)