Marko Tiikkaja <marko@joh.to> writes: > What I'm more interested in is: how can we make this feature work in > PL/PgSQL where OLD means something different?
That's a really good point: if you follow this approach then you're creating fundamental conflicts for use of the feature in trigger functions or rules, which will necessarily have conflicting uses of those names. Yeah, we could define scoping rules such that there's an unambiguous interpretation, but then the user is just out of luck if he wants to reference the other definition. (This problem is probably actually worse if you implement with reserved words rather than aliases.)
I'm thinking it would be better to invent some other notation for access to old-row values.
I am not sure, but I am thinking so NEW and OLD are used in some statements and features ANSI SQL 2012, so probably we should to do keywords from these words if we would to support modern ANSI SQL