On Thu, Nov 30, 2017 at 4:01 AM, Robert Haas <robertmh...@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