Tom Lane wrote:
> Either of these approaches would mean that we couldn't easily "just
> execute" a scalar expression tree, which is something that we do in
> quite a few places (constraint checking for instance). There would need
> to be some advance setup done. With the Param-style approach, the
> advance setup would not be read-only on the expression plan tree ...
> which seems like a bad idea, so I'm leaning towards building the more
> expensive data structure.
Even though the former is a bit more expensive, it sounds like it is still a
net win due to reduced/eliminated need for making plan tree copies, right? It
sounds like it is also simpler and easier to maintain.
> Step 3: only after all the above spadework is done could we actually set
> up a query-lifetime memory context and build the executor's state in it.
>
> Comments?
Sounds like a great plan. Let me know if there's anything I can do to help.
Joe