You signed in with another tab or window.Reload to refresh your session.You signed out in another tab or window.Reload to refresh your session.You switched accounts on another tab or window.Reload to refresh your session.Dismiss alert
Refactor pull_var_clause's API to make it less tedious to extend.
In commit1d97c19 and laterc1d9579, we extendedpull_var_clause's API by adding enum-type arguments. That's sort of a painto maintain, though, because it means every time we add a new behavior wemust touch every last one of the call sites, even if there's a reasonabledefault behavior that most of them could use. Let's switch over to using abitmask of flags, instead; that seems more maintainable and might save ananosecond or two as well. This commit changes no behavior in itself,though I'm going to follow it up with one that does add a new behavior.In passing, remove flatten_tlist(), which has not been used since 9.1and would otherwise need the same API changes.Removing these enums means that optimizer/tlist.h no longer needs todepend on optimizer/var.h. Changing that caused a number of C files toneed addition of #include "optimizer/var.h" (probably we can thank oldruns of pgrminclude for that); but on balance it seems like a good changeanyway.