]> granicus.if.org Git - postgresql/commit
Fix GET DIAGNOSTICS for case of assignment to function's first variable.
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 22 Mar 2012 18:13:17 +0000 (14:13 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 22 Mar 2012 18:13:57 +0000 (14:13 -0400)
commit7bdf9b863f57f13fe73b3bed1c456aa905068272
tree411839dd9ed6a11e6b6b10b31e031acec44b41d9
parent3bf25a2a16ca6efefa97f058da062b6c5933ebe1
Fix GET DIAGNOSTICS for case of assignment to function's first variable.

An incorrect and entirely unnecessary "safety check" in exec_stmt_getdiag()
caused the code to treat an assignment to a variable with dno zero as a
no-op.  Unfortunately, that's a perfectly valid dno.  This has been broken
since GET DIAGNOSTICS was invented.  It's not terribly surprising that the
bug went unnoticed for so long, since in most cases you probably wouldn't
use the function's first-created variable (normally its first parameter)
as a GET DIAGNOSTICS target.  Nonetheless, it's broken.  Per bug #6551
from Adam Buraczewski.
src/pl/plpgsql/src/pl_exec.c