changeset 4603:d24e951206ca geoserver_sql_views

Do not try to execute NULL as a subquery
author Tom Gottfried <tom@intevation.de>
date Tue, 03 Sep 2019 18:00:50 +0200
parents 9fef9930aa8a
children ca8d18f794f3
files schema/gemma.sql schema/gemma_tests.sql schema/run_tests.sh
diffstat 3 files changed, 6 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/schema/gemma.sql	Mon Sep 02 18:45:15 2019 +0200
+++ b/schema/gemma.sql	Tue Sep 03 18:00:50 2019 +0200
@@ -38,7 +38,8 @@
         RETURN false;
 END
 $$
-    LANGUAGE plpgsql;
+    LANGUAGE plpgsql
+    STRICT;
 
 
 --
--- a/schema/gemma_tests.sql	Mon Sep 02 18:45:15 2019 +0200
+++ b/schema/gemma_tests.sql	Tue Sep 03 18:00:50 2019 +0200
@@ -21,6 +21,9 @@
 SELECT ok(NOT is_valid_from_item('This is not SQL'),
     'Arbitrary text does not pass check');
 
+SELECT ok(is_valid_from_item(NULL) IS NULL,
+    'NULL value is not checked');
+
 SELECT throws_ok($$
     INSERT INTO waterway.waterway_axis (wtwaxs, objnam) VALUES
         (ST_GeogFromText('LINESTRING(0 0, 1 1)'), 'test'),
--- a/schema/run_tests.sh	Mon Sep 02 18:45:15 2019 +0200
+++ b/schema/run_tests.sh	Tue Sep 03 18:00:50 2019 +0200
@@ -80,7 +80,7 @@
     -c 'SET client_min_messages TO WARNING' \
     -c "DROP ROLE IF EXISTS $TEST_ROLES" \
     -f "$BASEDIR"/tap_tests_data.sql \
-    -c "SELECT plan(75 + (
+    -c "SELECT plan(76 + (
             SELECT count(*)::int
                 FROM information_schema.tables
                 WHERE table_schema = 'waterway'))" \