public inbox for [email protected]  
help / color / mirror / Atom feed
From: Tom Lane <[email protected]>
To: Ashutosh Bapat <[email protected]>
Cc: Alvaro Herrera <[email protected]>
Cc: PostgreSQL Hackers <[email protected]>
Subject: Re: Relids instead of Bitmapset * in plannode.h
Date: Thu, 09 Nov 2023 01:08:41 -0500
Message-ID: <[email protected]> (raw)
In-Reply-To: <CAExHW5vjq4iUGEVVZhs7DNNjuRD0v8aqoKGn27zkNEzFK=sCbg@mail.gmail.com>
References: <[email protected]>
	<[email protected]>
	<CAExHW5vjq4iUGEVVZhs7DNNjuRD0v8aqoKGn27zkNEzFK=sCbg@mail.gmail.com>

Ashutosh Bapat <[email protected]> writes:
> On Tue, Nov 7, 2023 at 8:54 PM Tom Lane <[email protected]> wrote:
>> Yes, I'm pretty sure that's exactly the reason, and I'm strongly
>> against the initially-proposed patch.  The include footprint of
>> pathnodes.h would be greatly expanded, for no real benefit.

> As I mentioned in [1] the Bitmapset implementation is not space
> efficient to be used as Relids when there are thousands of partitions.

TBH, I'd be very strongly against "optimizing" that case by adopting a
data structure that is less efficient for typical rangetable sizes.
I continue to think that anybody who is using that many partitions
is Doing It Wrong and has no excuse for thinking it'll be free.
Moreover, the size of their relid sets is pretty unlikely to be
their worst pain point.

In any case, that is a poor argument for weakening the separation
between planner and executor.  When and if somebody comes up with
a credible replacement for bitmapsets here, we can consider what
we want to do in terms of header-file organization --- but I do
not think including pathnodes.h into executor files will be it.

			regards, tom lane






view thread (6+ messages)

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]
  Subject: Re: Relids instead of Bitmapset * in plannode.h
  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