v1-0001-Add-regression-tests-to-verify-that-duplicate-COU.patch
application/octet-stream
Filename: v1-0001-Add-regression-tests-to-verify-that-duplicate-COU.patch
Type: application/octet-stream
Part: 0
From 15c21b419c87d59d73e4f7ba706a988d2b63cd46 Mon Sep 17 00:00:00 2001
From: Fujii Masao <fujii@postgresql.org>
Date: Fri, 29 May 2026 11:32:43 +0900
Subject: [PATCH v1] Add regression tests to verify that duplicate COUNT
specifications are rejected.
---
.../ecpg/preproc/t/001_ecpg_err_warn_msg.pl | 10 ++++++++++
.../t/duplicate_descriptor_header_get.pgc | 17 +++++++++++++++++
.../t/duplicate_descriptor_header_set.pgc | 12 ++++++++++++
3 files changed, 39 insertions(+)
create mode 100644 src/interfaces/ecpg/preproc/t/duplicate_descriptor_header_get.pgc
create mode 100644 src/interfaces/ecpg/preproc/t/duplicate_descriptor_header_set.pgc
diff --git a/src/interfaces/ecpg/preproc/t/001_ecpg_err_warn_msg.pl b/src/interfaces/ecpg/preproc/t/001_ecpg_err_warn_msg.pl
index 4ff6b6ac93e..f420f8dbe7d 100644
--- a/src/interfaces/ecpg/preproc/t/001_ecpg_err_warn_msg.pl
+++ b/src/interfaces/ecpg/preproc/t/001_ecpg_err_warn_msg.pl
@@ -37,4 +37,14 @@ command_checks_all(
],
'ecpg with errors and warnings');
+command_fails_like(
+ [ 'ecpg', 't/duplicate_descriptor_header_get.pgc' ],
+ qr/syntax error at or near ","/,
+ 'ecpg rejects duplicate GET DESCRIPTOR header items');
+
+command_fails_like(
+ [ 'ecpg', 't/duplicate_descriptor_header_set.pgc' ],
+ qr/syntax error at or near ","/,
+ 'ecpg rejects duplicate SET DESCRIPTOR header items');
+
done_testing();
diff --git a/src/interfaces/ecpg/preproc/t/duplicate_descriptor_header_get.pgc b/src/interfaces/ecpg/preproc/t/duplicate_descriptor_header_get.pgc
new file mode 100644
index 00000000000..1fc54403e69
--- /dev/null
+++ b/src/interfaces/ecpg/preproc/t/duplicate_descriptor_header_get.pgc
@@ -0,0 +1,17 @@
+/* Test duplicate GET DESCRIPTOR header items */
+
+#include <stdlib.h>
+
+int
+main(void)
+{
+ EXEC SQL BEGIN DECLARE SECTION;
+ int desc_count1;
+ int desc_count2;
+ EXEC SQL END DECLARE SECTION;
+
+ EXEC SQL ALLOCATE DESCRIPTOR mydesc;
+ EXEC SQL GET DESCRIPTOR mydesc :desc_count1 = COUNT, :desc_count2 = COUNT;
+
+ return 0;
+}
diff --git a/src/interfaces/ecpg/preproc/t/duplicate_descriptor_header_set.pgc b/src/interfaces/ecpg/preproc/t/duplicate_descriptor_header_set.pgc
new file mode 100644
index 00000000000..5fa7b02f5c3
--- /dev/null
+++ b/src/interfaces/ecpg/preproc/t/duplicate_descriptor_header_set.pgc
@@ -0,0 +1,12 @@
+/* Test duplicate SET DESCRIPTOR header items */
+
+#include <stdlib.h>
+
+int
+main(void)
+{
+ EXEC SQL ALLOCATE DESCRIPTOR mydesc;
+ EXEC SQL SET DESCRIPTOR mydesc COUNT = 1, COUNT = 2;
+
+ return 0;
+}
--
2.53.0