regression_tests.patch
application/octet-stream
Filename: regression_tests.patch
Type: application/octet-stream
Part: 0
Patch
Same data as JSON:
GET /api/v1/attachments/:id/patch
the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes.
API reference →
Format: unified
| File | + | − |
|---|---|---|
| src/test/regress/expected/create_function_3.out | 24 | 0 |
| src/test/regress/sql/create_function_3.sql | 12 | 0 |
diff --git a/src/test/regress/expected/create_function_3.out b/src/test/regress/expected/create_function_3.out
index a77df01042..3d6a96ad5c 100644
--- a/src/test/regress/expected/create_function_3.out
+++ b/src/test/regress/expected/create_function_3.out
@@ -279,6 +279,14 @@ CREATE FUNCTION functest_S_13() RETURNS boolean
SELECT 1;
SELECT false;
END;
+-- check parsing of function argments in sub-SELECT
+CREATE TABLE functest1 (i int);
+CREATE FUNCTION functest_S_16(a int, b int) RETURNS void
+ LANGUAGE SQL
+ BEGIN ATOMIC
+ INSERT INTO functest1
+ SELECT * FROM functest1 WHERE i = a AND i = b;
+ END;
-- error: duplicate function body
CREATE FUNCTION functest_S_xxx(x int) RETURNS int
LANGUAGE SQL
@@ -417,6 +425,22 @@ SELECT pg_get_functiondef('functest_S_15'::regproc);
(1 row)
+SELECT pg_get_functiondef('functest_S_16'::regproc);
+ pg_get_functiondef
+---------------------------------------------------------------------------------------------
+ CREATE OR REPLACE FUNCTION temp_func_test.functest_s_16(a integer, b integer) +
+ RETURNS void +
+ LANGUAGE sql +
+ BEGIN ATOMIC +
+ INSERT INTO functest1 (i) SELECT functest1_1.i +
+ FROM functest1 functest1_1 +
+ WHERE ((functest1_1.i = functest_s_16.a) AND (functest1_1.i = functest_s_16.b));+
+ END +
+
+(1 row)
+
+DROP TABLE functest1 CASCADE;
+NOTICE: drop cascades to function functest_s_16(integer,integer)
-- test with views
CREATE TABLE functest3 (a int);
INSERT INTO functest3 VALUES (1), (2);
diff --git a/src/test/regress/sql/create_function_3.sql b/src/test/regress/sql/create_function_3.sql
index 23a46b0b11..f031e76c3a 100644
--- a/src/test/regress/sql/create_function_3.sql
+++ b/src/test/regress/sql/create_function_3.sql
@@ -180,6 +180,15 @@ CREATE FUNCTION functest_S_13() RETURNS boolean
SELECT false;
END;
+-- check parsing of function argments in sub-SELECT
+CREATE TABLE functest1 (i int);
+CREATE FUNCTION functest_S_16(a int, b int) RETURNS void
+ LANGUAGE SQL
+ BEGIN ATOMIC
+ INSERT INTO functest1
+ SELECT * FROM functest1 WHERE i = a AND i = b;
+ END;
+
-- error: duplicate function body
CREATE FUNCTION functest_S_xxx(x int) RETURNS int
LANGUAGE SQL
@@ -217,6 +226,9 @@ SELECT pg_get_functiondef('functest_S_3a'::regproc);
SELECT pg_get_functiondef('functest_S_10'::regproc);
SELECT pg_get_functiondef('functest_S_13'::regproc);
SELECT pg_get_functiondef('functest_S_15'::regproc);
+SELECT pg_get_functiondef('functest_S_16'::regproc);
+
+DROP TABLE functest1 CASCADE;
-- test with views
CREATE TABLE functest3 (a int);