From: Tom Lane Date: Fri, 13 Jan 2017 21:59:52 +0000 (-0500) Subject: In PL/Tcl tests, don't choke if optional error fields are missing. X-Git-Tag: REL_10_BETA1~1120 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5b29e6b688d1e783a098aa24f9e795f8de798a87;p=postgresql In PL/Tcl tests, don't choke if optional error fields are missing. This fixes a portability issue introduced by commit 961bed020: with a compiler that doesn't support PG_FUNCNAME_MACRO, the "funcname" field of errorCode won't be provided, leading to a failure of the unset command. I added -nocomplain to the unset commands for filename and lineno too, just in case, though I know of no platform that wouldn't populate those fields. (BTW, -nocomplain is new in Tcl 8.4, but fortunately we dropped support for pre-8.4 Tcl some time ago.) Per buildfarm member pademelon. --- diff --git a/src/pl/tcl/expected/pltcl_setup.out b/src/pl/tcl/expected/pltcl_setup.out index d0ef3b5f26..e213b94225 100644 --- a/src/pl/tcl/expected/pltcl_setup.out +++ b/src/pl/tcl/expected/pltcl_setup.out @@ -608,9 +608,9 @@ as $function$ # Get rid of keys that can't be expected to remain constant array set myArray $::errorCode unset myArray(POSTGRES) - unset myArray(funcname) - unset myArray(filename) - unset myArray(lineno) + unset -nocomplain myArray(funcname) + unset -nocomplain myArray(filename) + unset -nocomplain myArray(lineno) # Format into something nicer set vals [] diff --git a/src/pl/tcl/sql/pltcl_setup.sql b/src/pl/tcl/sql/pltcl_setup.sql index cda31a9c1c..a8eaba6243 100644 --- a/src/pl/tcl/sql/pltcl_setup.sql +++ b/src/pl/tcl/sql/pltcl_setup.sql @@ -653,9 +653,9 @@ as $function$ # Get rid of keys that can't be expected to remain constant array set myArray $::errorCode unset myArray(POSTGRES) - unset myArray(funcname) - unset myArray(filename) - unset myArray(lineno) + unset -nocomplain myArray(funcname) + unset -nocomplain myArray(filename) + unset -nocomplain myArray(lineno) # Format into something nicer set vals []