Re: [PATCH] minor bug fix for pg_dump --clean

Поиск
Список
Период
Сортировка
От Виктория Шепард
Тема Re: [PATCH] minor bug fix for pg_dump --clean
Дата
Msg-id CAAB=fdO2zpwqyHOxUQzwi7G6Dh7RJCydqj3nHpZ0OkGdaM0fQQ@mail.gmail.com
обсуждение исходный текст
Ответ на [PATCH] minor bug fix for pg_dump --clean  (Frédéric Yhuel <frederic.yhuel@dalibo.com>)
Список pgsql-hackers
Hi,

Good catch! Here are several points for improvement:
1. pg_dump.c:17380
Maybe better to write simpler

appendPQExpBuffer(delcmd, "CREATE SCHEMA IF NOT EXISTS %s;\n", tbinfo->dobj.namespace->dobj.name);

because there is a schema name inside the `tbinfo->dobj.namespace->dobj.name`

2. pg_backup_archiver.c:588
Here are no necessary spaces before and after braces, and no spaces around the '+' sign.
( strncmp(dropStmt, "CREATE SCHEMA IF NOT EXISTS", 27) == 0 &&
strstr(dropStmt+29, "CREATE OR REPLACE VIEW") ))

Best regards,
Viktoria Shepard

чт, 1 сент. 2022 г. в 12:13, Frédéric Yhuel <frederic.yhuel@dalibo.com>:
Hello,

When using pg_dump (or pg_restore) with option "--clean", there is some
SQL code to drop every objects at the beginning.

The DROP statement for a view involving circular dependencies is :

CREATE OR REPLACE VIEW [...]

(see commit message of d8c05aff for a much better explanation)

If the view is not in the "public" schema, and the target database is
empty, this statement fails, because the schema hasn't been created yet.

The attached patches are a TAP test which can be used to reproduce the
bug, and a proposed fix. They apply to the master branch.

Best regards,
Frédéric

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

Предыдущее
От: Andres Freund
Дата:
Сообщение: Re: Use simplehash.h instead of dynahash in SMgr
Следующее
От: Tom Lane
Дата:
Сообщение: Re: [PATCH] minor bug fix for pg_dump --clean