Re: Should consider materializing the cheapest inner path in consider_parallel_nestloop()
Fujii.Yuki@df.MitsubishiElectric.co.jp <fujii.yuki@df.mitsubishielectric.co.jp>
From: "Fujii.Yuki@df.MitsubishiElectric.co.jp" <Fujii.Yuki@df.MitsubishiElectric.co.jp>
To: Tender Wang <tndrwang@gmail.com>
Cc: Tomasz Rybak <tomasz.rybak@post.pl>, "pgsql-hackers@lists.postgresql.org" <pgsql-hackers@lists.postgresql.org>, "robertmhaas@gmail.com" <robertmhaas@gmail.com>, Richard Guo <guofenglinux@gmail.com>, David Rowley <dgrowleyml@gmail.com>, "Fujii.Yuki@df.MitsubishiElectric.co.jp" <Fujii.Yuki@df.MitsubishiElectric.co.jp>
Date: 2024-06-11T10:40:14Z
Lists: pgsql-hackers
Hi. Tender. > From: Tender Wang <tndrwang@gmail.com> > Sent: Tuesday, June 11, 2024 5:11 PM > > > From: Tender Wang <tndrwang@gmail.com <mailto:tndrwang@gmail.com> > > > Sent: Tuesday, June 4, 2024 7:51 PM > > Please add more tests. Especially please add some negative tests; > > current patch checks that it is safe to apply materialization. It would > > be helpful to add tests checking that materialization is not applied > > in both checked cases: > > 1. when inner join path is not parallel safe > > 2. when matpath is not parallel safe > > > > > > > > I added a test case that inner rel is not parallel safe. Actually, > > matpath will not create if inner rel is not parallel safe. So I didn't add test case for the second scenario. > Is there case in which matpath is not parallel safe and inner rel is parallel safe? > If right, I think that it would be suitable to add a negative test in a such case. > > > > I looked through create_xxx_path(), and I found that almost path.parallel_safe is assigned from > RelOptiInfo.consider_parallel. > Some pathes take subpath->parallel_safe into account(e.g. Material path). In most cases, Material is parallel_safe if rel is > parallel safe. Now I haven't come up a query plan that material is un parallel-safe but rel is parallel-safe. Thank you for looking into the source code. I understand the situation now. Sincerely yours, Yuki Fujii -- Yuki Fujii Information Technology R&D Center Mitsubishi Electric Corporation
Commits
-
Fix unstable test in select_parallel.sql
- 7e187a7386cc 18.0 landed
-
Consider materializing the cheapest inner path in parallel nestloop
- 22d946b0f86f 18.0 landed
-
doc PG 17 relnotes: adjust IN wording
- 8fea1bd5411b 17.0 cited
-
Support parallel joins, and make related improvements.
- 45be99f8cd5d 9.6.0 cited