PG14-0001-ECPG-Reject-multiple-headers-in-GET-SET-DESCRIPTOR-a.patch
application/octet-stream
Filename: PG14-0001-ECPG-Reject-multiple-headers-in-GET-SET-DESCRIPTOR-a.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: format-patch
Series: patch 0001
Subject: ECPG: Reject multiple headers in GET/SET DESCRIPTOR at precompile phase
| File | + | − |
|---|---|---|
| doc/src/sgml/ecpg.sgml | 2 | 2 |
| src/interfaces/ecpg/preproc/ecpg.trailer | 2 | 10 |
From ae24d947ac992cd3510a20b3af2e55cd1551bc45 Mon Sep 17 00:00:00 2001
From: "kamura.masashi" <kamura.masashi@jp.fujitsu.com>
Date: Thu, 4 Jun 2026 17:13:53 +0900
Subject: [PATCH] ECPG: Reject multiple headers in GET/SET DESCRIPTOR at
precompile phase
---
doc/src/sgml/ecpg.sgml | 4 ++--
src/interfaces/ecpg/preproc/ecpg.trailer | 12 ++----------
2 files changed, 4 insertions(+), 12 deletions(-)
diff --git a/doc/src/sgml/ecpg.sgml b/doc/src/sgml/ecpg.sgml
index 6f9d44cbd7f..fb3131337bb 100644
--- a/doc/src/sgml/ecpg.sgml
+++ b/doc/src/sgml/ecpg.sgml
@@ -7276,7 +7276,7 @@ EXEC SQL EXECUTE IMMEDIATE :command;
<refsynopsisdiv>
<synopsis>
-GET DESCRIPTOR <replaceable class="parameter">descriptor_name</replaceable> <replaceable class="parameter">:cvariable</replaceable> = <replaceable class="parameter">descriptor_header_item</replaceable> [, ... ]
+GET DESCRIPTOR <replaceable class="parameter">descriptor_name</replaceable> <replaceable class="parameter">:cvariable</replaceable> = <replaceable class="parameter">descriptor_header_item</replaceable>
GET DESCRIPTOR <replaceable class="parameter">descriptor_name</replaceable> VALUE <replaceable class="parameter">column_number</replaceable> <replaceable class="parameter">:cvariable</replaceable> = <replaceable class="parameter">descriptor_item</replaceable> [, ... ]
</synopsis>
</refsynopsisdiv>
@@ -7771,7 +7771,7 @@ EXEC SQL SET CONNECTION = con1;
<refsynopsisdiv>
<synopsis>
-SET DESCRIPTOR <replaceable class="parameter">descriptor_name</replaceable> <replaceable class="parameter">descriptor_header_item</replaceable> = <replaceable>value</replaceable> [, ... ]
+SET DESCRIPTOR <replaceable class="parameter">descriptor_name</replaceable> <replaceable class="parameter">descriptor_header_item</replaceable> = <replaceable>value</replaceable>
SET DESCRIPTOR <replaceable class="parameter">descriptor_name</replaceable> VALUE <replaceable class="parameter">number</replaceable> <replaceable class="parameter">descriptor_item</replaceable> = <replaceable>value</replaceable> [, ...]
</synopsis>
</refsynopsisdiv>
diff --git a/src/interfaces/ecpg/preproc/ecpg.trailer b/src/interfaces/ecpg/preproc/ecpg.trailer
index b65e7876110..1b6504fbbd3 100644
--- a/src/interfaces/ecpg/preproc/ecpg.trailer
+++ b/src/interfaces/ecpg/preproc/ecpg.trailer
@@ -1178,27 +1178,19 @@ ECPGDeallocateDescr: DEALLOCATE SQL_DESCRIPTOR quoted_ident_stringvar
* manipulate a descriptor header
*/
-ECPGGetDescriptorHeader: SQL_GET SQL_DESCRIPTOR quoted_ident_stringvar ECPGGetDescHeaderItems
+ECPGGetDescriptorHeader: SQL_GET SQL_DESCRIPTOR quoted_ident_stringvar ECPGGetDescHeaderItem
{ $$ = $3; }
;
-ECPGGetDescHeaderItems: ECPGGetDescHeaderItem
- | ECPGGetDescHeaderItems ',' ECPGGetDescHeaderItem
- ;
-
ECPGGetDescHeaderItem: cvariable '=' desc_header_item
{ push_assignment($1, $3); }
;
-ECPGSetDescriptorHeader: SET SQL_DESCRIPTOR quoted_ident_stringvar ECPGSetDescHeaderItems
+ECPGSetDescriptorHeader: SET SQL_DESCRIPTOR quoted_ident_stringvar ECPGSetDescHeaderItem
{ $$ = $3; }
;
-ECPGSetDescHeaderItems: ECPGSetDescHeaderItem
- | ECPGSetDescHeaderItems ',' ECPGSetDescHeaderItem
- ;
-
ECPGSetDescHeaderItem: desc_header_item '=' IntConstVar
{
push_assignment($3, $1);
--
2.43.5