Re: BUG #18923: pg_dump 18beta1 fails to process complex table names
jian he <jian.universality@gmail.com>
From: jian he <jian.universality@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Nathan Bossart <nathandbossart@gmail.com>, phb.emaj@free.fr, pgsql-bugs@lists.postgresql.org
Date: 2025-05-16T14:50:42Z
Lists: pgsql-bugs
On Fri, May 16, 2025 at 3:03 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:
>
> Yeah, I think so. I was confused for a bit because the one extant
> user of appendPGArray is getNamespaces which does an additional layer
> of quote-doubling via quoteAclUserName. However, that seems to be because
> it's trying to build aclitem[] arrays whose elements will be read by
> aclitemin, and that de-dups double quotes.
>
getNamespaces use appendPGArray for object's initial ACL string
getNamespaces
``
nsinfo[i].dacl.initprivs = pstrdup(aclarray->data);
``
and we seems *only* use it dumpACL->buildACLCommands
``
if (!parsePGArray(baseacls, &baseitems, &nbaseitems))
{
free(aclitems);
free(baseitems);
return false;
}
``
parsePGArray didn't handle single-quotes.
I think the above is the reason single-quotes within array elements didn't cause
trouble.
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
pg_dump: Fix array literals in fetchAttributeStats().
- a6060f1cbec3 18.0 landed