| From: | Peter Eisentraut <peter(at)eisentraut(dot)org> |
|---|---|
| To: | Jeff Davis <jdavis(at)postgresql(dot)org>, pgsql-committers(at)lists(dot)postgresql(dot)org |
| Subject: | Re: pgsql: Fix pg_dump assertion failure when dumping pg_catalog. |
| Date: | 2023-09-04 12:58:45 |
| Message-ID: | 2a31d8ba-38e9-6335-8ba6-9d042c63473b@eisentraut.org |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | 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.
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Amit Kapila | 2023-09-04 13:05:14 | Re: pgsql: Allow tailoring of ICU locales with custom rules |
| Previous Message | Michael Paquier | 2023-09-04 05:56:42 | pgsql: Fix out-of-bound read in gtsvector_picksplit() |