aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2024-09-24 17:21:38 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2024-09-24 17:21:38 -0400
commit1591b38d17c55015403f6e3c9461538ffcf704e7 (patch)
treede9588a6a6a3aad2912a3ccd15a99316e370ba63 /src
parentceeaaed87aa39425f1f2c2409f927c76efb8de89 (diff)
downloadpostgresql-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.c2
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)"),