On Sat, Feb 7, 2015 at 12:43 AM, Robert Haas <robertmh...@gmail.com> wrote: > > The complicated part here seems to me to figure out what we need to > pass from the parallel leader to the parallel worker to create enough > state for quals and projection. If we want to be able to call > ExecScan() without modification, which seems like a good goal, we're > going to need a ScanState node, which is going to need to contain > valid pointers to (at least) a ProjectionInfo, an ExprContext, and a > List of quals. That in turn is going to require an ExecutorState. > Serializing those things directly doesn't seem very practical; what we > instead want to do is figure out what we can pass that will allow easy > reconstruction of those data structures. Right now, you're passing > the target list, the qual list, the range table, and the params, but > the range table doesn't seem to be getting used anywhere. I wonder if > we need it.
The range table is used by executor for processing qualification, one of the examples is ExecEvalWholeRowVar(), I don't think we can process without range table. Apart from above mentioned things we need to pass Instrumentation structure where each worker needs to update the same, this is required for Explain statement. With Regards, Amit Kapila. EnterpriseDB: http://www.enterprisedb.com