Re: [PoC] Reducing planning time when tables have many partitions
Andrei Lepikhov <a.lepikhov@postgrespro.ru>
From: Andrey Lepikhov <a.lepikhov@postgrespro.ru>
To: Yuya Watari <watari.yuya@gmail.com>, David Rowley <dgrowleyml@gmail.com>
Cc: Thom Brown <thom@linux.com>, Alvaro Herrera <alvherre@alvh.no-ip.org>,
Zhang Mingli <zmlpostgres@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>,
PostgreSQL Developers <pgsql-hackers@lists.postgresql.org>
Date: 2023-02-14T10:01:41Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Update wording in optimizer/README for EquivalenceClasses
- d7c04db27aeb 18.0 landed
-
Speedup child EquivalenceMember lookup in planner
- d69d45a5a956 18.0 landed
-
Allow planner to use Merge Append to efficiently implement UNION
- 66c0185a3d14 17.0 cited
-
Remove trailing zero words from Bitmapsets
- a8c09daa8bb1 17.0 cited
-
Make Vars be outer-join-aware.
- 2489d76c4906 16.0 cited
-
Avoid making commutatively-duplicate clauses in EquivalenceClasses.
- a5fc46414deb 16.0 cited
On 2/6/23 06:47, Yuya Watari wrote: > Of course, I'm not sure if my approach in v16-0003 is ideal, but it > may help solve your concern above. Since simple_rel_array[0] is no > longer necessary with my patch, I removed the setup_append_rel_entry() > function in v16-0004. However, to work the patch, I needed to change > some assertions in v16-0005. For more details, please see the commit > message of v16-0005. After these works, the attached patches passed > all regression tests in my environment. > > Instead of my approach, imitating the following change to > get_eclass_indexes_for_relids() is also a possible solution. Ignoring > NULL RelOptInfos enables us to avoid the segfault, but we have to > adjust EquivalenceMemberIterator to match the result, and I'm not sure > if this idea is correct. As I see, You moved the indexes from RelOptInfo to PlannerInfo. May be better to move them into RangeTblEntry instead? -- Regards Andrey Lepikhov Postgres Professional