]> granicus.if.org Git - postgresql/commitdiff
In PL/Tcl tests, don't choke if optional error fields are missing.
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 13 Jan 2017 21:59:52 +0000 (16:59 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 13 Jan 2017 21:59:52 +0000 (16:59 -0500)
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
src/pl/tcl/sql/pltcl_setup.sql

index d0ef3b5f2608575416fc89d54c7ddc2548b64e98..e213b9422557aa71a2a18bbebc2aba087f4dd644 100644 (file)
@@ -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 []
index cda31a9c1cda4959b6f1d37e2a6c0c49abe29569..a8eaba624316854c589294972c90e94f8b7ef85f 100644 (file)
@@ -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 []