Re: es_query_dsa is broken
Thomas Munro <thomas.munro@enterprisedb.com>
From: Thomas Munro <thomas.munro@enterprisedb.com>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2017-11-30T10:19:44Z
Lists: pgsql-hackers
On Thu, Nov 30, 2017 at 4:01 AM, Robert Haas <robertmhaas@gmail.com> wrote: >> Better ideas? > > How about this: > > 1. Remove es_query_dsa altogether. > 2. Add a dsa_area * to ExecParallelInitializeDSMContext. > 3. In ExecParallelInitializeDSM, pass the dsa_area * as a separate to > the per-node-type function. > 4. If the per-node-type function cares about the dsa_area *, it is > responsible for saving a pointer to it in the PlanState node. > 5. Also pass it down via the ParallelWorkerContext. > > In v10 we might need to go with a solution like what you've sketched > here, because Tom will complain about breaking binary compatibility > with EState (and maybe other PlanState nodes) in a released branch. I will post both versions. I've been stuck for a while now trying to come up with a query that actually breaks, so I can show that it's fixed... -- Thomas Munro http://www.enterprisedb.com
Commits
-
Fix crashes on plans with multiple Gather (Merge) nodes.
- b70ea4c75e5f 10.2 landed
- fd7c0fa732d9 11.0 landed
-
Teach bitmap heap scan to cope with absence of a DSA.
- c6755e233be1 11.0 cited
-
Provide a DSA area for all parallel queries.
- e13029a5ce35 10.0 cited