Gregory Stark <[EMAIL PROTECTED]> writes: > So instead of substituting them as the tokens are lexed, instead suck in the > tokens, run the parser -- which we currently do anyways just to check the > syntax -- then walk the tree looking for ColumnRefs where the name matches a > variable name. Then keep around that parse tree instead of just the series of > lex tokens to later call analyze on and execute.
Hmm. That sounds cool but I think it actually has a pretty substantial disadvantage --- there is then no easily user-readable representation of the query that shows *which* occurrences got substituted. With the textual replacement method you have a string you can look at, though it's true that we don't always show it to the user if we are not aware there's a problem. Again, I'm trying to look at the big picture of both syntactic and semantic errors. If we solve only the syntactic end of it I think we'd actually be worse off, because then users would be even more lost when they hit a semantic error (unwanted substitution). regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 7: You can help support the PostgreSQL project by donating at http://www.postgresql.org/about/donate