public inbox for [email protected]
help / color / mirror / Atom feedFrom: Peter Eisentraut <[email protected]>
To: Amit Langote <[email protected]>
To: Tom Lane <[email protected]>
Cc: David Rowley <[email protected]>
Cc: Greg Stark <[email protected]>
Cc: Zhihong Yu <[email protected]>
Cc: Julien Rouhaud <[email protected]>
Cc: Alvaro Herrera <[email protected]>
Cc: PostgreSQL Hackers <[email protected]>
Subject: Re: ExecRTCheckPerms() and many prunable partitions
Date: Wed, 12 Oct 2022 15:49:56 +0200
Message-ID: <[email protected]> (raw)
In-Reply-To: <CA+HiwqGRsCOUk7XmN6dnCRnNz8UMfcY0BGno-Dn=5fXQ2xjQBw@mail.gmail.com>
References: <CA+HiwqGwYbrSOH1FLNVr=bp=oZB81X7d8pJzpB52Z19Zs=otow@mail.gmail.com>
<CA+HiwqH5BDpcdOkiPH8FqoDL6Lg74Z-yyO2_W_H-RcqpZYoaew@mail.gmail.com>
<CAApHDvrijsD_v30opBsi_uVy_8_RrdqpD-JOQCK0MxOG2zciKQ@mail.gmail.com>
<CA+HiwqHkMCrumZC1D7Tbs140djY1gQrq9-k362s-Hqai44X2zA@mail.gmail.com>
<CAM-w4HPGHoyMPZ8YJD=MPidjo2St5pxtsQaxmo8eTLLC3dWCQg@mail.gmail.com>
<CAApHDvqjNwoQeLYN5imUSA9uy479Lz7BR8hcYS2siRzj04=XGg@mail.gmail.com>
<CA+HiwqFOq=J=1f_8ecMY146pyups4W05MfrQx_3TVK_emzK7bA@mail.gmail.com>
<CA+HiwqH8AOfz0jkQ_SMO3WD7CczOK+A74PFf7G2O3CBacHWrLg@mail.gmail.com>
<CA+HiwqGKnrnzZQB8xwW-fLVUbURQmvY9rBSyJ6arR2YO7KPFVA@mail.gmail.com>
<[email protected]>
<[email protected]>
<CA+HiwqEHoLgN=vSsaNMaHP-+qYPT40-ooySyrieXZHNzbSBj0w@mail.gmail.com>
<[email protected]>
<CA+HiwqFhZuGt3dT4tipvpkxA6v5-TmWDKyvBD6cU-yrt1yyRKg@mail.gmail.com>
<CA+HiwqGRsCOUk7XmN6dnCRnNz8UMfcY0BGno-Dn=5fXQ2xjQBw@mail.gmail.com>
On 06.10.22 15:29, Amit Langote wrote:
> I tried in the attached 0004. ModifyTable gets a new member
> extraUpdatedColsBitmaps, which is List of Bitmapset "nodes".
>
> 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().
Seeing that on 64-bit platforms we have a 4-byte padding gap in the
Bitmapset struct, sticking a node tag in there seems pretty sensible.
So turning Bitmapset into a proper Node and then making the other
adjustments you describe makes sense to me.
Making a new thread about this might be best.
(I can't currently comment on the rest of the patch set. So I don't
know if you'll really end up needing lists of bitmapsets. But from here
it looks like turning bitmapsets into nodes might be a worthwhile change
just by itself.)
view thread (73+ 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], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
Subject: Re: ExecRTCheckPerms() and many prunable partitions
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