Re: Re: [BUGS] BUG #7873: pg_restore --clean tries to drop tables that don't exist

Поиск
Список
Период
Сортировка
От Alvaro Herrera
Тема Re: Re: [BUGS] BUG #7873: pg_restore --clean tries to drop tables that don't exist
Дата
Msg-id 20140121222851.GL10723@eldon.alvh.no-ip.org
обсуждение исходный текст
Ответ на Re: Re: [BUGS] BUG #7873: pg_restore --clean tries to drop tables that don't exist  (Dean Rasheed <dean.a.rasheed@gmail.com>)
Ответы Re: Re: [BUGS] BUG #7873: pg_restore --clean tries to drop tables that don't exist  (Dean Rasheed <dean.a.rasheed@gmail.com>)
Список pgsql-hackers
I have been mulling over this patch, and I can't seem to come to terms
with it.  I first started making it look nicer here and there, thinking
it was all mostly okay, but eventually arrived at the idea that it seems
wrong to do what this does: basically, get_object_address() tries to
obtain an object address, and if that fails, return InvalidOid; then, in
RemoveObjects, we try rather hard to figure out why that failed, and
construct an error message.

It seems to me that it would make more sense to have get_object_address
somehow return a code indicating what failed; then we don't have to go
all over through the parser code once more.  Perhaps, for example, when
missing_ok is given as true to get_object_address it also needs to get a
pointer to ObjectType and a string; if some object does not exist then
fill the ObjectType with the failing object and the string with the
failing name.  Then RemoveObjects can construct a string more easily.
Not sure how workable this exact idea is; maybe there is a better way.

-- 
Álvaro Herrera                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services



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

Предыдущее
От: Martín Marqués
Дата:
Сообщение: yum psycopg2 doc package not signed
Следующее
От: Adrian Klaver
Дата:
Сообщение: Re: Incorrectly reporting config errors