diff options
author | Peter Eisentraut <peter@eisentraut.org> | 2020-09-05 13:28:05 +0200 |
---|---|---|
committer | Peter Eisentraut <peter@eisentraut.org> | 2020-09-05 13:28:05 +0200 |
commit | 11b80d900fe4297e8e4bc231f6a41b53d604ed9e (patch) | |
tree | 5ca8bee45f9abd3af81d2de0c7ef71e7863f7f96 /src | |
parent | 556cbdfce4ffe01410b89dbf01b27315aa201bbf (diff) | |
download | postgresql-11b80d900fe4297e8e4bc231f6a41b53d604ed9e.tar.gz postgresql-11b80d900fe4297e8e4bc231f6a41b53d604ed9e.zip |
Extend SQL function tests lightly
The basic tests that defined SQL functions didn't actually run the
functions to see if they worked. Add that, and also fix a minor
mistake in a function that was revealed by this. (This is not a
question of test coverage, since there are other places where SQL
functions are run, but it is a bit of a silly test design.)
Discussion: https://www.postgresql.org/message-id/flat/1c11f1eb-f00c-43b7-799d-2d44132c02d7@2ndquadrant.com
Diffstat (limited to 'src')
-rw-r--r-- | src/test/regress/expected/create_function_3.out | 20 | ||||
-rw-r--r-- | src/test/regress/sql/create_function_3.sql | 6 |
2 files changed, 24 insertions, 2 deletions
diff --git a/src/test/regress/expected/create_function_3.out b/src/test/regress/expected/create_function_3.out index ba260df9960..ce508ae1dcc 100644 --- a/src/test/regress/expected/create_function_3.out +++ b/src/test/regress/expected/create_function_3.out @@ -17,7 +17,7 @@ SET search_path TO temp_func_test, public; CREATE FUNCTION functest_A_1(text, date) RETURNS bool LANGUAGE 'sql' AS 'SELECT $1 = ''abcd'' AND $2 > ''2001-01-01'''; CREATE FUNCTION functest_A_2(text[]) RETURNS int LANGUAGE 'sql' - AS 'SELECT $1[0]::int'; + AS 'SELECT $1[1]::int'; CREATE FUNCTION functest_A_3() RETURNS bool LANGUAGE 'sql' AS 'SELECT false'; SELECT proname, prorettype::regtype, proargtypes::regtype[] FROM pg_proc @@ -31,6 +31,24 @@ SELECT proname, prorettype::regtype, proargtypes::regtype[] FROM pg_proc functest_a_3 | boolean | {} (3 rows) +SELECT functest_A_1('abcd', '2020-01-01'); + functest_a_1 +-------------- + t +(1 row) + +SELECT functest_A_2(ARRAY['1', '2', '3']); + functest_a_2 +-------------- + 1 +(1 row) + +SELECT functest_A_3(); + functest_a_3 +-------------- + f +(1 row) + -- -- IMMUTABLE | STABLE | VOLATILE -- diff --git a/src/test/regress/sql/create_function_3.sql b/src/test/regress/sql/create_function_3.sql index 7a2df0ea8a1..bd108a918fb 100644 --- a/src/test/regress/sql/create_function_3.sql +++ b/src/test/regress/sql/create_function_3.sql @@ -23,7 +23,7 @@ SET search_path TO temp_func_test, public; CREATE FUNCTION functest_A_1(text, date) RETURNS bool LANGUAGE 'sql' AS 'SELECT $1 = ''abcd'' AND $2 > ''2001-01-01'''; CREATE FUNCTION functest_A_2(text[]) RETURNS int LANGUAGE 'sql' - AS 'SELECT $1[0]::int'; + AS 'SELECT $1[1]::int'; CREATE FUNCTION functest_A_3() RETURNS bool LANGUAGE 'sql' AS 'SELECT false'; SELECT proname, prorettype::regtype, proargtypes::regtype[] FROM pg_proc @@ -31,6 +31,10 @@ SELECT proname, prorettype::regtype, proargtypes::regtype[] FROM pg_proc 'functest_A_2'::regproc, 'functest_A_3'::regproc) ORDER BY proname; +SELECT functest_A_1('abcd', '2020-01-01'); +SELECT functest_A_2(ARRAY['1', '2', '3']); +SELECT functest_A_3(); + -- -- IMMUTABLE | STABLE | VOLATILE -- |