diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2024-09-24 17:21:38 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2024-09-24 17:21:38 -0400 |
commit | 1591b38d17c55015403f6e3c9461538ffcf704e7 (patch) | |
tree | de9588a6a6a3aad2912a3ccd15a99316e370ba63 /src | |
parent | ceeaaed87aa39425f1f2c2409f927c76efb8de89 (diff) | |
download | postgresql-1591b38d17c55015403f6e3c9461538ffcf704e7.tar.gz postgresql-1591b38d17c55015403f6e3c9461538ffcf704e7.zip |
Fix psql describe commands' handling of ACL columns for old servers.
Commit d1379ebf4 carelessly broke printACLColumn for pre-9.4 servers,
by using the cardinality() function which we introduced in 9.4.
We expect psql's describe-related commands to work back to 9.2, so
this is bad. Use the longstanding array_length() function instead.
Per report from Christoph Berg. Back-patch to v17.
Discussion: https://postgr.es/m/ZvLXYglRS6hMMhtr@msg.df7cb.de
Diffstat (limited to 'src')
-rw-r--r-- | src/bin/psql/describe.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/bin/psql/describe.c b/src/bin/psql/describe.c index faabecbc76f..6a36c910833 100644 --- a/src/bin/psql/describe.c +++ b/src/bin/psql/describe.c @@ -6678,7 +6678,7 @@ printACLColumn(PQExpBuffer buf, const char *colname) { appendPQExpBuffer(buf, "CASE" - " WHEN pg_catalog.cardinality(%s) = 0 THEN '%s'" + " WHEN pg_catalog.array_length(%s, 1) = 0 THEN '%s'" " ELSE pg_catalog.array_to_string(%s, E'\\n')" " END AS \"%s\"", colname, gettext_noop("(none)"), |