Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit66dbcd4

Browse files
committed
Fix "Unable to identify an operator =$" problem that occurred when pgsql
expressions were written without spaces between operators and operands.Problem was that something like "if new.f1=new.f2 then" would be translatedto "if $1=$2 then", and the Postgres lexer would tokenize that the wrongway. Fix is to emit spaces around $paramno constructs to ensure they areseen as separate tokens.
1 parentfb55fa0 commit66dbcd4

File tree

1 file changed

+16
-16
lines changed

1 file changed

+16
-16
lines changed

‎src/pl/plpgsql/src/gram.y

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
* procedural language
55
*
66
* IDENTIFICATION
7-
* $Header: /cvsroot/pgsql/src/pl/plpgsql/src/gram.y,v 1.7 1999/08/16 19:57:21 momjian Exp $
7+
* $Header: /cvsroot/pgsql/src/pl/plpgsql/src/gram.y,v 1.8 1999/11/28 22:02:17 tgl Exp $
88
*
99
* This software is copyrighted by Jan Wieck - Hamburg.
1010
*
@@ -776,19 +776,19 @@ fori_lower:
776776
switch (tok) {
777777
case T_VARIABLE:
778778
params[nparams] = yylval.var->varno;
779-
sprintf(buf,"$%d", ++nparams);
779+
sprintf(buf,"$%d", ++nparams);
780780
plpgsql_dstring_append(&ds, buf);
781781
break;
782782

783783
case T_RECFIELD:
784784
params[nparams] = yylval.recfield->rfno;
785-
sprintf(buf,"$%d", ++nparams);
785+
sprintf(buf,"$%d", ++nparams);
786786
plpgsql_dstring_append(&ds, buf);
787787
break;
788788

789789
case T_TGARGV:
790790
params[nparams] = yylval.trigarg->dno;
791-
sprintf(buf,"$%d", ++nparams);
791+
sprintf(buf,"$%d", ++nparams);
792792
plpgsql_dstring_append(&ds, buf);
793793
break;
794794

@@ -1118,19 +1118,19 @@ read_sqlstmt (int until, char *s, char *sqlstart)
11181118
switch (tok) {
11191119
case T_VARIABLE:
11201120
params[nparams] = yylval.var->varno;
1121-
sprintf(buf,"$%d", ++nparams);
1121+
sprintf(buf,"$%d", ++nparams);
11221122
plpgsql_dstring_append(&ds, buf);
11231123
break;
11241124

11251125
case T_RECFIELD:
11261126
params[nparams] = yylval.recfield->rfno;
1127-
sprintf(buf,"$%d", ++nparams);
1127+
sprintf(buf,"$%d", ++nparams);
11281128
plpgsql_dstring_append(&ds, buf);
11291129
break;
11301130

11311131
case T_TGARGV:
11321132
params[nparams] = yylval.trigarg->dno;
1133-
sprintf(buf,"$%d", ++nparams);
1133+
sprintf(buf,"$%d", ++nparams);
11341134
plpgsql_dstring_append(&ds, buf);
11351135
break;
11361136

@@ -1205,19 +1205,19 @@ make_select_stmt()
12051205
switch (tok) {
12061206
case T_VARIABLE:
12071207
params[nparams] = yylval.var->varno;
1208-
sprintf(buf,"$%d", ++nparams);
1208+
sprintf(buf,"$%d", ++nparams);
12091209
plpgsql_dstring_append(&ds, buf);
12101210
break;
12111211

12121212
case T_RECFIELD:
12131213
params[nparams] = yylval.recfield->rfno;
1214-
sprintf(buf,"$%d", ++nparams);
1214+
sprintf(buf,"$%d", ++nparams);
12151215
plpgsql_dstring_append(&ds, buf);
12161216
break;
12171217

12181218
case T_TGARGV:
12191219
params[nparams] = yylval.trigarg->dno;
1220-
sprintf(buf,"$%d", ++nparams);
1220+
sprintf(buf,"$%d", ++nparams);
12211221
plpgsql_dstring_append(&ds, buf);
12221222
break;
12231223

@@ -1338,19 +1338,19 @@ make_select_stmt()
13381338
switch (tok) {
13391339
case T_VARIABLE:
13401340
params[nparams] = yylval.var->varno;
1341-
sprintf(buf,"$%d", ++nparams);
1341+
sprintf(buf,"$%d", ++nparams);
13421342
plpgsql_dstring_append(&ds, buf);
13431343
break;
13441344

13451345
case T_RECFIELD:
13461346
params[nparams] = yylval.recfield->rfno;
1347-
sprintf(buf,"$%d", ++nparams);
1347+
sprintf(buf,"$%d", ++nparams);
13481348
plpgsql_dstring_append(&ds, buf);
13491349
break;
13501350

13511351
case T_TGARGV:
13521352
params[nparams] = yylval.trigarg->dno;
1353-
sprintf(buf,"$%d", ++nparams);
1353+
sprintf(buf,"$%d", ++nparams);
13541354
plpgsql_dstring_append(&ds, buf);
13551355
break;
13561356

@@ -1385,19 +1385,19 @@ make_select_stmt()
13851385
switch (tok) {
13861386
case T_VARIABLE:
13871387
params[nparams] = yylval.var->varno;
1388-
sprintf(buf,"$%d", ++nparams);
1388+
sprintf(buf,"$%d", ++nparams);
13891389
plpgsql_dstring_append(&ds, buf);
13901390
break;
13911391

13921392
case T_RECFIELD:
13931393
params[nparams] = yylval.recfield->rfno;
1394-
sprintf(buf,"$%d", ++nparams);
1394+
sprintf(buf,"$%d", ++nparams);
13951395
plpgsql_dstring_append(&ds, buf);
13961396
break;
13971397

13981398
case T_TGARGV:
13991399
params[nparams] = yylval.trigarg->dno;
1400-
sprintf(buf,"$%d", ++nparams);
1400+
sprintf(buf,"$%d", ++nparams);
14011401
plpgsql_dstring_append(&ds, buf);
14021402
break;
14031403

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp