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.



Reply via email to