Re: pgsql: Fix pg_dump assertion failure when dumping pg_catalog.

Поиск
Список
Период
Сортировка
От Peter Eisentraut
Тема Re: pgsql: Fix pg_dump assertion failure when dumping pg_catalog.
Дата
Msg-id 2a31d8ba-38e9-6335-8ba6-9d042c63473b@eisentraut.org
обсуждение исходный текст
Ответ на pgsql: Fix pg_dump assertion failure when dumping pg_catalog.  (Jeff Davis <jdavis@postgresql.org>)
Ответы Re: pgsql: Fix pg_dump assertion failure when dumping pg_catalog.  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-committers
On 22.08.23 22:08, Jeff Davis wrote:
> Fix pg_dump assertion failure when dumping pg_catalog.
> 
> Commit 396d348b04 did not account for the default collation.
> 
> Also, use pg_log_warning() instead of Assert().
> 
> Discussion: https://postgr.es/m/ce071503fee88334aa70f360e6e4ea14d48305ee.camel%40j-davis.com
> Reviewed-by: Michael Paquier
> Backpatch-through: 15

I have another question about this patch.  The original issue was that 
it would trigger an Assert() inside pg_dump when some columns in 
pg_collation were null that were not expected.  This patch now contains 
code like

             appendPQExpBufferStr(q, ", lc_collate = ");
-           appendStringLiteralAH(q, collcollate, fout);
+           appendStringLiteralAH(q, collcollate ? collcollate : "", fout);
             appendPQExpBufferStr(q, ", lc_ctype = ");
-           appendStringLiteralAH(q, collctype, fout);
+           appendStringLiteralAH(q, collctype ? collctype : "", fout);

which would produce pg_dump output like

CREATE COLLATION ... (provider = libc, lc_collate = , lc_ctype = );

which is not valid syntax.




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

Предыдущее
От: Michael Paquier
Дата:
Сообщение: pgsql: Fix out-of-bound read in gtsvector_picksplit()
Следующее
От: Tom Lane
Дата:
Сообщение: Re: pgsql: Fix pg_dump assertion failure when dumping pg_catalog.