Re: pgsql: Expand AclMode to 64 bits - Mailing list pgsql-committers

From Amit Langote
Subject Re: pgsql: Expand AclMode to 64 bits
Date
Msg-id CA+HiwqHbv4xQd-yHx0LWA04AybA+GQPy66UJxt8m32gB6zCYQQ@mail.gmail.com
Whole thread Raw
In response to Re: pgsql: Expand AclMode to 64 bits  (Andrew Dunstan <andrew@dunslane.net>)
Responses Re: pgsql: Expand AclMode to 64 bits
List pgsql-committers
Hi Andrew,

On Thu, Nov 24, 2022 at 10:18 AM Andrew Dunstan <andrew@dunslane.net> wrote:
> On 2022-11-23 We 19:40, Michael Paquier wrote:
> > Hi Andrew,
> >
> > On Wed, Nov 23, 2022 at 07:44:04PM +0000, Andrew Dunstan wrote:
> >> Expand AclMode to 64 bits
> >>
> >> We're running out of bits for new permissions. This change doubles the
> >> number of permissions we can accomodate from 16 to 32, so the
> >> forthcoming new ones for vacuum/analyze don't exhaust the pool.
> >>
> >> Nathan Bossart
> >>
> >> Reviewed by: Bharath Rupireddy, Kyotaro Horiguchi, Stephen Frost, Robert
> >> Haas, Mark Dilger, Tom Lane, Corey Huinker, David G. Johnston, Michael
> >> Paquier.
> > crake is complaining for the upgrades from v12:
> > https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=crake&dt=2022-11-23%2023%3A32%3A04
> >
> > It seems that there are some tables dependent on aclitem, bumping on
> > your incompatible change.
>
> Yeah, testing a fix for it, thanks.

Not sure if it is related to the above, but I noticed a problem when
rebasing my patch that moves requiredPerms out of RangeTblEntry.  I
think the commit may have missed doing the following (diff attached):

diff --git a/src/backend/nodes/gen_node_support.pl
b/src/backend/nodes/gen_node_support.pl
index d3f25299de..b6f086e262 100644
--- a/src/backend/nodes/gen_node_support.pl
+++ b/src/backend/nodes/gen_node_support.pl
@@ -954,7 +954,6 @@ _read${n}(void)
        }
        elsif ($t eq 'uint32'
            || $t eq 'bits32'
-           || $t eq 'AclMode'
            || $t eq 'BlockNumber'
            || $t eq 'Index'
            || $t eq 'SubTransactionId')
@@ -962,7 +961,8 @@ _read${n}(void)
            print $off "\tWRITE_UINT_FIELD($f);\n";
            print $rff "\tREAD_UINT_FIELD($f);\n" unless $no_read;
        }
-       elsif ($t eq 'uint64')
+       elsif ($t eq 'uint64'
+           || $t eq 'AclMode')
        {
            print $off "\tWRITE_UINT64_FIELD($f);\n";
            print $rff "\tREAD_UINT64_FIELD($f);\n" unless $no_read;

-- 
Thanks, Amit Langote
EDB: http://www.enterprisedb.com

Attachment

pgsql-committers by date:

Previous
From: Amit Kapila
Date:
Subject: pgsql: Fix uninitialized access to InitialRunningXacts during decoding.
Next
From: Michael Paquier
Date:
Subject: pgsql: Skip TAP test for peer authentication if there are no unix-domai