Re: why not parallel seq scan for slow functions
Robert Haas <robertmhaas@gmail.com>
From: Robert Haas <robertmhaas@gmail.com>
To: Amit Kapila <amit.kapila16@gmail.com>
Cc: Jeff Janes <jeff.janes@gmail.com>,
Thomas Munro <thomas.munro@enterprisedb.com>, Amit Khandekar <amitdkhan.pg@gmail.com>, Dilip Kumar <dilipbalaut@gmail.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2017-11-06T13:35:11Z
Lists: pgsql-hackers
On Mon, Nov 6, 2017 at 11:20 AM, Amit Kapila <amit.kapila16@gmail.com> wrote: > On Mon, Nov 6, 2017 at 3:51 AM, Robert Haas <robertmhaas@gmail.com> wrote: >> This looks like it's on the right track to me. I hope Tom will look >> into it, but if he doesn't I may try to get it committed myself. >> >> - if (rel->reloptkind == RELOPT_BASEREL) >> - generate_gather_paths(root, rel); >> + if (rel->reloptkind == RELOPT_BASEREL && >> + root->simple_rel_array_size > 2 && >> + !root->append_rel_list) >> >> This test doesn't look correct to me. Actually, it doesn't look >> anywhere close to correct to me. So, one of us is very confused... >> not sure whether it's you or me. >> > It is quite possible that I haven't got it right, but it shouldn't be > completely bogus as it stands the regression tests and some manual > verification. Can you explain what is your concern about this test? Well, I suppose that test will fire for a baserel when the total number of baserels is at least 3 and there's no inheritance involved. But if there are 2 baserels, we're still not the topmost scan/join target. Also, even if inheritance is used, we might still be the topmost scan/join target. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
Commits
-
Rewrite the code that applies scan/join targets to paths.
- 11cf92f6e2e1 11.0 landed
-
Teach create_projection_plan to omit projection where possible.
- d7c19e62a8e0 11.0 landed
-
Make the upper part of the planner work by generating and comparing Paths.
- 3fc6e2d7f5b6 9.6.0 cited