I would like to see this folded together with creation of a centralized plan caching module.
Interesting. Can you elaborate on how you'd envision call sites making use of this module?
The difficulty with this after-the-fact approach is that the finished plan tree may contain no reference to some objects that it in fact depends on. SQL functions that have been inlined are the classic example, but consider also the idea that a plan may have been made on the strength of a table constraint (see nearby thread about partitioning) and needs to be invalidated if that constraint goes away.
Hmm, good point. I'm happy to blow away all cached plans when a table constraint changes, so that resolves that, but I agree we'll need to handle inlined functions specially. But perhaps it is best to not rely on after-the-fact Plan analysis at all, and build the capability to record plan dependencies directly into the planner.
-Neil
---------------------------(end of broadcast)--------------------------- TIP 7: don't forget to increase your free space map settings