public inbox for [email protected]  
help / color / mirror / Atom feed
From: Tom Lane <[email protected]>
To: Christoph Berg <[email protected]>
Cc: [email protected]
Subject: Re: pgsql: Improve default and empty privilege outputs in psql.
Date: Tue, 24 Sep 2024 13:57:28 -0400
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>
References: <[email protected]>
	<[email protected]>
	<[email protected]>

I wrote:
> Yes, that's the expectation.  I'm sure we can think of a more
> backwards-compatible way to test for empty datacl, though.

Looks like the attached should be sufficient.  As penance, I tried
all the commands in describe.c against 9.2 (or the oldest supported
server version), and none of them fail now.

			regards, tom lane



Attachments:

  [text/x-diff] fix-ACL-printing-for-old-servers.patch (517B, ../[email protected]/2-fix-ACL-printing-for-old-servers.patch)
  download | inline diff:
diff --git a/src/bin/psql/describe.c b/src/bin/psql/describe.c
index faabecbc76..6a36c91083 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)"),


view thread (3+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected], [email protected]
  Subject: Re: pgsql: Improve default and empty privilege outputs in psql.
  In-Reply-To: <[email protected]>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox