xof@thebuild.com wrote:
bryn@yugabyte.com wrote:
Yes. This isn't a bug… Database objects (such as tables and columns) are left as identifiers until they are executed, because that is the point at which a plan for those statements is created. The other components of PL/pgSQL are translated to internal form (and thus checked for existence) at compile time.
My example was carefully contrived to test what you said—which is what I had earlier understood. My deliberate typo thus:
change "v_message" in "z := v_message; return next;" to "q_message"
(surely) has nothing to do with possible database objects. The context is a straight PL/pgSQL assignment statement (with no scalar subquery in sight).
It's this that surprises me. And it's this, and only this, that I'm asking about: might _just_ this be a fixable bug?