pgsql: Expand AclMode to 64 bits
Hackorum builds and tests every patch posted to the lists, not only commitfest submissions. This is Hackorum's own CI rather than the PostgreSQL project's, and it is still under testing - please report anything that looks wrong.
You can run a PostgreSQL built from this patch straight from Docker, with no checkout and no build:
docker run --rm -p 5432:5432 ghcr.io/hackorum-dev/postgres-patch:t230586psql -h localhost -U postgresBuilt from patchset v5 (message #5), August 18, 2026 at 03:39 PM.
Every patchset is also pushed to a branch of our PostgreSQL fork, so you can check out the same tree CI built. Without a PostgreSQL checkout:
git clone --branch t230586_5 https://github.com/hackorum-dev/postgres.gitIn a checkout you already have, add the fork once:
git remote add hackorum https://github.com/hackorum-dev/postgres.gitthen, for this patchset and every later one:
git fetch hackorum t230586_5 && git checkout t230586_5Patchset v5 (message #5) is on t230586_5
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.
Discussion: /messages/by-id/20220722203735.GB3996698@nathanxps13
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/7b378237aa805711353075de142021b1d40ff3b0
Modified Files
--------------
src/backend/nodes/outfuncs.c | 2 +-
src/bin/pg_upgrade/check.c | 35 +++++++++++++++++++++++++++++++++++
src/include/catalog/catversion.h | 2 +-
src/include/catalog/pg_type.dat | 4 ++--
src/include/nodes/parsenodes.h | 6 +++---
src/include/utils/acl.h | 28 ++++++++++++++--------------
6 files changed, 56 insertions(+), 21 deletions(-)
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.
--
Michael
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%3A04It seems that there are some tables dependent on aclitem, bumping on
your incompatible change.
Yeah, testing a fix for it, thanks.
cheers
andrew
--
Andrew Dunstan
EDB: https://www.enterprisedb.com
On Thu, 24 Nov 2022 at 08:44, Andrew Dunstan <andrew@dunslane.net> wrote:
Expand AclMode to 64 bits
I noticed this causes a few new warnings on MSVC:
acl.c(629): warning C4334: '<<': result of 32-bit shift implicitly
converted to 64 bits (was 64-bit shift intended?)
acl.c(631): warning C4334: '<<': result of 32-bit shift implicitly
converted to 64 bits (was 64-bit shift intended?)
acl.c(1789): warning C4334: '<<': result of 32-bit shift implicitly
converted to 64 bits (was 64-bit shift intended?)
The attached fixes. I'll push this shortly.
David
Attachments:
fix_32-bit_shift_warning_on_msvc.patchtext/plain; charset=US-ASCII; name=fix_32-bit_shift_warning_on_msvc.patchDownload+3-3
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%3A04It 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
On 2022-11-25 Fr 01:52, Amit Langote wrote:
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%3A04It 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):
pushed, thanks.
cheers
andrew
--
Andrew Dunstan
EDB: https://www.enterprisedb.com
On Sat, Nov 26, 2022 at 3:00 AM Andrew Dunstan <andrew@dunslane.net> wrote:
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%3A04It seems that there are some tables dependent on aclitem, bumping on
your incompatible change.
pushed, thanks.
crake is green, but three sparc boxes are red with the same sort of
Xversion failure, I think?
On 2022-12-01 Th 19:54, Thomas Munro wrote:
On Sat, Nov 26, 2022 at 3:00 AM Andrew Dunstan <andrew@dunslane.net> wrote:
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%3A04It seems that there are some tables dependent on aclitem, bumping on
your incompatible change.pushed, thanks.
crake is green, but three sparc boxes are red with the same sort of
Xversion failure, I think?
Yeah, there is a fix committed, see
<https://github.com/PGBuildFarm/client-code/commit/a6149f413c9387c331b2744008706903ce171584>
which crake and other animals have been testing.
I will publish a new release very soon.
cheers
andrew
--
Andrew Dunstan
EDB: https://www.enterprisedb.com