From: | Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> |
---|---|
To: | Dean Rasheed <dean(dot)a(dot)rasheed(at)gmail(dot)com> |
Cc: | Fabien COELHO <coelho(at)cri(dot)ensmp(dot)fr>, Gilles Darold <gilles(dot)darold(at)dalibo(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: [HACKERS] proposal: schema variables |
Date: | 2018-09-04 13:00:51 |
Message-ID: | CAFj8pRBSQDs3SpJ6EV-SP2Gkoc6OwxzCkB8ka7815o3Tw2TkxQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers pgsql-performance |
Hi
2018-09-04 9:21 GMT+02:00 Dean Rasheed <dean(dot)a(dot)rasheed(at)gmail(dot)com>:
> AFAICS this patch does nothing to consider parallel safety -- that is,
> as things stand, a variable is allowed in a query that may be
> parallelised, but its value is not copied to workers, leading to
> incorrect results. For example:
>
> create table foo(a int);
> insert into foo select * from generate_series(1,1000000);
> create variable zero int;
> let zero = 0;
>
> explain (costs off) select count(*) from foo where a%10 = zero;
>
> QUERY PLAN
> -----------------------------------------------
> Finalize Aggregate
> -> Gather
> Workers Planned: 2
> -> Partial Aggregate
> -> Parallel Seq Scan on foo
> Filter: ((a % 10) = zero)
> (6 rows)
>
> select count(*) from foo where a%10 = zero;
>
> count
> -------
> 38037 -- Different random result each time, should be 100,000
> (1 row)
>
> Thoughts?
>
The query use copy of values of variables now - but unfortunately, these
values are not passed to workers. Should be fixed.
Thank you for test case.
Pavel
> Regards,
> Dean
>
From | Date | Subject | |
---|---|---|---|
Next Message | Amit Khandekar | 2018-09-04 13:05:34 | Re: TupleTableSlot abstraction |
Previous Message | Alvaro Herrera | 2018-09-04 12:51:28 | Re: pointless check in RelationBuildPartitionDesc |
From | Date | Subject | |
---|---|---|---|
Next Message | Scott Rankin | 2018-09-04 18:09:10 | Inconsistent query times and spiky CPU with GIN tsvector search |
Previous Message | Dean Rasheed | 2018-09-04 07:21:07 | Re: [HACKERS] proposal: schema variables |