From 5b29e6b688d1e783a098aa24f9e795f8de798a87 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 13 Jan 2017 16:59:52 -0500 Subject: [PATCH] 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. --- src/pl/tcl/expected/pltcl_setup.out | 6 +++--- src/pl/tcl/sql/pltcl_setup.sql | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) 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 []