From 108cfb27b626cff69e05dc15cb0a715caba746f8 Mon Sep 17 00:00:00 2001
From: "okbob@github.com" <pavel.stehule@gmail.com>
Date: Thu, 1 Aug 2024 23:12:29 +0200
Subject: [PATCH 03/21] regress tests

---
 src/test/regress/expected/session_variables.out | 10 ++++++++++
 src/test/regress/sql/session_variables.sql      | 12 ++++++++++++
 2 files changed, 22 insertions(+)

diff --git a/src/test/regress/expected/session_variables.out b/src/test/regress/expected/session_variables.out
index 287628ede61..16e1d01ddc6 100644
--- a/src/test/regress/expected/session_variables.out
+++ b/src/test/regress/expected/session_variables.out
@@ -291,6 +291,16 @@ CONTEXT:  SQL statement "CALL p(v)"
 PL/pgSQL function inline_code_block line 1 at CALL
 DROP PROCEDURE p(int);
 DROP VARIABLE v;
+-- EXECUTE statement is not supported yet
+-- requires direct access to session variable from expression executor
+CREATE VARIABLE v int;
+LET v = 20;
+PREPARE ptest(int) AS SELECT $1;
+-- should fail
+EXECUTE ptest(v);
+ERROR:  session variable cannot be used as an argument
+DEALLOCATE ptest;
+DROP VARIABLE v;
 -- test search path
 CREATE SCHEMA svartest;
 CREATE VARIABLE svartest.var1 AS numeric;
diff --git a/src/test/regress/sql/session_variables.sql b/src/test/regress/sql/session_variables.sql
index db5ba176db2..d5bb5dc83be 100644
--- a/src/test/regress/sql/session_variables.sql
+++ b/src/test/regress/sql/session_variables.sql
@@ -221,6 +221,18 @@ DO $$ BEGIN CALL p(v); END $$;
 DROP PROCEDURE p(int);
 DROP VARIABLE v;
 
+-- EXECUTE statement is not supported yet
+-- requires direct access to session variable from expression executor
+CREATE VARIABLE v int;
+LET v = 20;
+PREPARE ptest(int) AS SELECT $1;
+
+-- should fail
+EXECUTE ptest(v);
+
+DEALLOCATE ptest;
+DROP VARIABLE v;
+
 -- test search path
 CREATE SCHEMA svartest;
 CREATE VARIABLE svartest.var1 AS numeric;
-- 
2.45.2

