Skip to content

Commit 51867a0

Browse files
author
Michael Meskes
committed
ECPG: Fix searching for quoted cursor names case-sensitively.
Patch by Böszörményi Zoltán <zb@cybertec.at>
1 parent d1b88f6 commit 51867a0

File tree

3 files changed

+3
-3
lines changed

3 files changed

+3
-3
lines changed

src/interfaces/ecpg/preproc/ecpg.addons

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -290,7 +290,7 @@ ECPG: DeclareCursorStmtDECLAREcursor_namecursor_optionsCURSORopt_holdFORSelectSt
290290
struct cursor *ptr, *this;
291291
char *cursor_marker = $2[0] == ':' ? mm_strdup("$0") : mm_strdup($2);
292292
char *comment, *c1, *c2;
293-
int (* strcmp_fn)(const char *, const char *) = ($2[0] == ':' ? strcmp : pg_strcasecmp);
293+
int (* strcmp_fn)(const char *, const char *) = (($2[0] == ':' || $2[0] == '"') ? strcmp : pg_strcasecmp);
294294

295295
for (ptr = cur; ptr != NULL; ptr = ptr->next)
296296
{

src/interfaces/ecpg/preproc/ecpg.header

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -492,7 +492,7 @@ add_additional_variables(char *name, bool insert)
492492
{
493493
struct cursor *ptr;
494494
struct arguments *p;
495-
int (* strcmp_fn)(const char *, const char *) = (name[0] == ':' ? strcmp : pg_strcasecmp);
495+
int (* strcmp_fn)(const char *, const char *) = ((name[0] == ':' || name[0] == '"') ? strcmp : pg_strcasecmp);
496496

497497
for (ptr = cur; ptr != NULL; ptr=ptr->next)
498498
{

src/interfaces/ecpg/preproc/ecpg.trailer

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,7 @@ ECPGCursorStmt: DECLARE cursor_name cursor_options CURSOR opt_hold FOR prepared
291291
{
292292
struct cursor *ptr, *this;
293293
char *cursor_marker = $2[0] == ':' ? mm_strdup("$0") : mm_strdup($2);
294-
int (* strcmp_fn)(const char *, const char *) = ($2[0] == ':' ? strcmp : pg_strcasecmp);
294+
int (* strcmp_fn)(const char *, const char *) = (($2[0] == ':' || $2[0] == '"') ? strcmp : pg_strcasecmp);
295295
struct variable *thisquery = (struct variable *)mm_alloc(sizeof(struct variable));
296296
const char *con = connection ? connection : "NULL";
297297
char *comment;

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy