Michael Nolan <htf...@gmail.com> writes: > Shouldn't declaring a field that is also an OUT parameter throw an error?
No. The DECLARE is a block nested within the function, and the parameter is declared at function scope. So this is a standard case of an inner declaration masking an outer one. Possibly plpgsql_check can be set to complain about such cases, but they're legal according to the language specification. regards, tom lane