Re: ExecRTCheckPerms() and many prunable partitions
Amit Langote <amitlangote09@gmail.com>
From: Amit Langote <amitlangote09@gmail.com>
To: Ian Lawrence Barwick <barwick@gmail.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, David Rowley <dgrowleyml@gmail.com>,
Greg Stark <stark@mit.edu>, Zhihong Yu <zyu@yugabyte.com>, Julien Rouhaud <rjuju123@gmail.com>, Alvaro Herrera <alvherre@alvh.no-ip.org>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2022-11-07T07:03:45Z
Lists: pgsql-hackers
Attachments
- v24-0003-Allow-adding-Bitmapsets-as-Nodes-into-plan-trees.patch (application/octet-stream) patch v24-0003
- v24-0002-Do-not-add-hidden-OLD-NEW-RTEs-to-stored-view-ru.patch (application/octet-stream) patch v24-0002
- v24-0004-Add-per-result-relation-extraUpdatedCols-to-Modi.patch (application/octet-stream) patch v24-0004
- v24-0001-Rework-query-relation-permission-checking.patch (application/octet-stream) patch v24-0001
On Fri, Nov 4, 2022 at 8:46 AM Ian Lawrence Barwick <barwick@gmail.com> wrote: > 2022年10月15日(土) 15:01 Amit Langote <amitlangote09@gmail.com>: > > On Fri, Oct 7, 2022 at 4:31 PM Amit Langote <amitlangote09@gmail.com> wrote: > > > On Fri, Oct 7, 2022 at 3:49 PM Amit Langote <amitlangote09@gmail.com> wrote: > > > > On Fri, Oct 7, 2022 at 1:25 PM Amit Langote <amitlangote09@gmail.com> wrote: > > > > > On Fri, Oct 7, 2022 at 10:04 AM Amit Langote <amitlangote09@gmail.com> wrote: > > > > > > On Thu, Oct 6, 2022 at 10:29 PM Amit Langote <amitlangote09@gmail.com> wrote: > > > > > > > Actually, List of Bitmapsets turned out to be something that doesn't > > > > > > > just-work with our Node infrastructure, which I found out thanks to > > > > > > > -DWRITE_READ_PARSE_PLAN_TREES. So, I had to go ahead and add > > > > > > > first-class support for copy/equal/write/read support for Bitmapsets, > > > > > > > such that writeNode() can write appropriately labeled versions of them > > > > > > > and nodeRead() can read them as Bitmapsets. That's done in 0003. I > > > > > > > didn't actually go ahead and make *all* Bitmapsets in the plan trees > > > > > > > to be Nodes, but maybe 0003 can be expanded to do that. We won't need > > > > > > > to make gen_node_support.pl emit *_BITMAPSET_FIELD() blurbs then; can > > > > > > > just use *_NODE_FIELD(). > > > > > > > > > > > > All meson builds on the cfbot machines seem to have failed, maybe > > > > > > because I didn't update src/include/nodes/meson.build to add > > > > > > 'nodes/bitmapset.h' to the `node_support_input_i` collection. Here's > > > > > > an updated version assuming that's the problem. (Will set up meson > > > > > > builds on my machine to avoid this in the future.) > > > > > > > > > > And... noticed that a postgres_fdw test failed, because > > > > > _readBitmapset() not having been changed to set NodeTag would > > > > > "corrupt" any Bitmapsets that were created with it set. > > > > > > > > Broke the other cases while fixing the above. Attaching a new version > > > > again. In the latest version, I'm setting Bitmapset.type by hand with > > > > an XXX comment nearby saying that it would be nice to change that to > > > > makeNode(Bitmapset), which I know sounds pretty ad-hoc. > > > > > > Sorry, I attached the wrong patches with the last email. The > > > "correct" v22 attached this time. > > > > Rebased over c037471832. > > This entry was marked as "Needs review" in the CommitFest app but cfbot > reports the patch no longer applies. > > We've marked it as "Waiting on Author". As CommitFest 2022-11 is > currently underway, this would be an excellent time update the patch. Thanks for the heads up. > Once you think the patchset is ready for review again, you (or any > interested party) can move the patch entry forward by visiting > > https://commitfest.postgresql.org/40/3224/ > > and changing the status to "Needs review". Rebased patch attached and done. -- Thanks, Amit Langote EDB: http://www.enterprisedb.com
Commits
-
Add a test case for a316a3bc
- 054ff3b33a85 17.0 landed
- 0a14bca662a4 16.0 landed
-
Correctly set userid of subquery relations' child rels
- a316a3bc6d3f 16.0 landed
-
Fix buggy recursion in flatten_rtes_walker().
- c7468c73f7b6 16.0 landed
-
Remove some dead code in selfuncs.c
- 438e6b724090 16.0 landed
-
Update outdated comment in ApplyRetrieveRule
- 29861e228a47 16.0 landed
-
Rework query relation permission checking
- a61b1f74823c 16.0 landed
-
Generalize ri_RootToPartitionMap to use for non-partition children
- fb958b5da86d 16.0 landed
-
Stop accessing checkAsUser via RTE in some cases
- 599b33b9492d 16.0 landed
-
Add 'missing_ok' argument to build_attrmap_by_name
- ad86d159b6ab 16.0 landed