Re: [PoC] Reducing planning time when tables have many partitions

From: Yuya Watari <watari(dot)yuya(at)gmail(dot)com>
To: David Rowley <dgrowleyml(at)gmail(dot)com>
Cc: Thom Brown <thom(at)linux(dot)com>, Andrey Lepikhov <a(dot)lepikhov(at)postgrespro(dot)ru>, Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, Zhang Mingli <zmlpostgres(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, PostgreSQL Developers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: [PoC] Reducing planning time when tables have many partitions
Date: 2023-01-27 03:48:30
Message-ID: CAJ2pMkYKFBJSZyAXEhBaZ+onL0H11o0rrgT5EZTd8sua=MUH-g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Dear David,

On Mon, Dec 12, 2022 at 1:50 PM David Rowley <dgrowleyml(at)gmail(dot)com> wrote:
> I've attached the v11 set of patches.

Thanks for creating the v11 version. I think your patches look good to
me. I really apologize for my late reply.

> a) I think the iterator code should have some additional sanity checks
> that the results of both methods match when building with
> USE_ASSERT_CHECKING. I've got some concerns that we might break
> something. The logic about what the em_relids is set to for child
> members is a little confusing. See add_eq_member().

I added sanity checking code to check that two iteration results are
the same. I have attached a new version of the patch, v12, to this
email.

The implementation of my sanity checking code (v12-0004) is not ideal
and a little ugly. I understand that and will try to improve it.

However, there is more bad news. Unfortunately, some regression tests
are failing in my environment. I'm not sure why, but it could be that
a) my sanity checking code (v12-0004) is wrong, or b) our patches have
some bugs.

I will investigate this issue further, and share the results when found.

--
Best regards,
Yuya Watari

Attachment Content-Type Size
v12-0001-Add-Bitmapset-indexes-for-faster-lookup-of-Equiv.patch application/octet-stream 81.6 KB
v12-0002-Adjust-bms_int_members-so-that-it-shortens-the-l.patch application/octet-stream 2.5 KB
v12-0003-Add-iterators-for-looping-over-EquivalenceMember.patch application/octet-stream 22.2 KB
v12-0004-Add-a-validation-to-check-that-two-iteration-res.patch application/octet-stream 4.2 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Hayato Kuroda (Fujitsu) 2023-01-27 03:50:18 RE: [Proposal] Add foreign-server health checks infrastructure
Previous Message Tom Lane 2023-01-27 03:22:25 Re: Something is wrong with wal_compression