Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
Postgres FD Implementation
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Abuhujair Javed
Postgres FD Implementation
Commits
89b762e5
Commit
89b762e5
authored
Mar 16, 1999
by
Bruce Momjian
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix snprintf with strings, and nextval('"Aa"');
parent
434762b5
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
5901 additions
and
5898 deletions
+5901
-5898
src/backend/commands/_deadcode/recipe.c
src/backend/commands/_deadcode/recipe.c
+3
-3
src/backend/commands/dbcommands.c
src/backend/commands/dbcommands.c
+3
-2
src/backend/commands/user.c
src/backend/commands/user.c
+8
-6
src/backend/parser/gram.c
src/backend/parser/gram.c
+358
-358
src/backend/parser/parse_func.c
src/backend/parser/parse_func.c
+10
-2
src/backend/utils/misc/trace.c
src/backend/utils/misc/trace.c
+1
-1
src/interfaces/ecpg/preproc/preproc.c
src/interfaces/ecpg/preproc/preproc.c
+5518
-5526
No files found.
src/backend/commands/_deadcode/recipe.c
View file @
89b762e5
...
...
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/commands/_deadcode/Attic/recipe.c,v 1.
1 1999/02/24 17:29:00
momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/commands/_deadcode/Attic/recipe.c,v 1.
2 1999/03/16 04:25:46
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -878,8 +878,8 @@ tg_parseSubQuery(TgRecipe * r, TgNode * n, TeeInfo * teeInfo)
snprintf
(
newquery
,
1000
,
"select %s($1"
,
funcName
);
for
(
i
=
1
;
i
<
parameterCount
;
i
++
)
snprintf
(
newquery
,
1000
,
"%s,$%d"
,
newquery
,
i
);
snprintf
(
newquery
,
1000
,
"%s)"
,
newquery
);
snprintf
(
newquery
,
1000
,
"%s,$%d"
,
pstrdup
(
newquery
)
,
i
);
snprintf
(
newquery
,
1000
,
"%s)"
,
pstrdup
(
newquery
)
);
}
else
snprintf
(
newquery
,
1000
,
"select %s()"
,
funcName
);
...
...
src/backend/commands/dbcommands.c
View file @
89b762e5
...
...
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/commands/dbcommands.c,v 1.3
2 1999/03/16 03:24:16
momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/commands/dbcommands.c,v 1.3
3 1999/03/16 04:25:45
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -85,7 +85,8 @@ createdb(char *dbname, char *dbpath, int encoding, CommandDest dest)
snprintf
(
buf
,
512
,
"insert into pg_database (datname, datdba, encoding, datpath)"
" values ('%s', '%d', '%d', '%s');"
,
dbname
,
user_id
,
encoding
,
loc
);
" values ('%s', '%d', '%d', '%s');"
,
dbname
,
user_id
,
encoding
,
loc
);
pg_exec_query_dest
(
buf
,
dest
,
false
);
}
...
...
src/backend/commands/user.c
View file @
89b762e5
...
...
@@ -5,7 +5,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: user.c,v 1.2
5 1999/03/16 03:24:16
momjian Exp $
* $Id: user.c,v 1.2
6 1999/03/16 04:25:45
momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -256,31 +256,33 @@ AlterUser(AlterUserStmt *stmt, CommandDest dest)
if
(
stmt
->
password
)
{
snprintf
(
sql
,
SQL_LENGTH
,
"%s passwd = '%s'"
,
sql
,
stmt
->
password
);
snprintf
(
sql
,
SQL_LENGTH
,
"%s passwd = '%s'"
,
pstrdup
(
sql
)
,
stmt
->
password
);
}
if
(
stmt
->
createdb
)
{
snprintf
(
sql
,
SQL_LENGTH
,
"%s %susecreatedb='%s'"
,
sql
,
stmt
->
password
?
","
:
""
,
*
stmt
->
createdb
?
"t"
:
"f"
);
pstrdup
(
sql
),
stmt
->
password
?
","
:
""
,
*
stmt
->
createdb
?
"t"
:
"f"
);
}
if
(
stmt
->
createuser
)
{
snprintf
(
sql
,
SQL_LENGTH
,
"%s %susesuper='%s'"
,
sql
,
(
stmt
->
password
||
stmt
->
createdb
)
?
","
:
""
,
pstrdup
(
sql
)
,
(
stmt
->
password
||
stmt
->
createdb
)
?
","
:
""
,
*
stmt
->
createuser
?
"t"
:
"f"
);
}
if
(
stmt
->
validUntil
)
{
snprintf
(
sql
,
SQL_LENGTH
,
"%s %svaluntil='%s'"
,
sql
,
pstrdup
(
sql
)
,
(
stmt
->
password
||
stmt
->
createdb
||
stmt
->
createuser
)
?
","
:
""
,
stmt
->
validUntil
);
}
snprintf
(
sql
,
SQL_LENGTH
,
"%s where usename = '%s'"
,
sql
,
stmt
->
user
);
snprintf
(
sql
,
SQL_LENGTH
,
"%s where usename = '%s'"
,
pstrdup
(
sql
),
stmt
->
user
);
pg_exec_query_dest
(
sql
,
dest
,
false
);
...
...
src/backend/parser/gram.c
View file @
89b762e5
...
...
@@ -242,7 +242,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/parser/Attic/gram.c,v 2.7
8 1999/03/14 16:32:40
momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/parser/Attic/gram.c,v 2.7
9 1999/03/16 04:25:47
momjian Exp $
*
* HISTORY
* AUTHOR DATE MAJOR EVENT
...
...
@@ -898,40 +898,40 @@ static const short yyrline[] = { 0,
3548
,
3549
,
3550
,
3551
,
3552
,
3553
,
3554
,
3555
,
3565
,
3567
,
3584
,
3594
,
3604
,
3617
,
3630
,
3636
,
3642
,
3646
,
3652
,
3653
,
3654
,
3655
,
3656
,
3657
,
3658
,
3659
,
3662
,
3663
,
3674
,
3679
,
3681
,
3683
,
3691
,
3693
,
3695
,
3697
,
3699
,
3701
,
3703
,
370
5
,
370
7
,
3709
,
3711
,
3713
,
3715
,
3731
,
3747
,
3749
,
3751
,
3753
,
375
5
,
3757
,
3759
,
3771
,
3778
,
3785
,
3800
,
3815
,
3837
,
3852
,
387
4
,
3881
,
3888
,
3898
,
3905
,
3912
,
3920
,
3927
,
3934
,
3941
,
394
8
,
3950
,
3952
,
3954
,
3961
,
3971
,
3981
,
3991
,
4001
,
4007
,
401
3
,
4013
,
4027
,
4027
,
4041
,
4051
,
4061
,
4071
,
4081
,
4091
,
410
1
,
4111
,
4121
,
4131
,
4141
,
4151
,
4161
,
4171
,
4181
,
4191
,
420
1
,
4211
,
4221
,
4231
,
4241
,
4251
,
4261
,
4271
,
4281
,
4283
,
428
5
,
4287
,
4296
,
4301
,
4303
,
4311
,
4313
,
4315
,
4317
,
4319
,
432
1
,
4323
,
4325
,
4327
,
4343
,
4359
,
4361
,
4363
,
4365
,
4367
,
437
4
,
4381
,
4396
,
4411
,
4433
,
4448
,
4470
,
4477
,
4484
,
4491
,
4
499
,
4506
,
4513
,
4520
,
4529
,
4536
,
4543
,
4547
,
4549
,
4551
,
455
5
,
4562
,
4566
,
4567
,
4568
,
4571
,
4573
,
4577
,
4582
,
4584
,
458
6
,
4588
,
4590
,
4592
,
4594
,
4596
,
4612
,
4628
,
4630
,
4632
,
463
4
,
4636
,
4644
,
4651
,
4658
,
4665
,
4673
,
4680
,
4687
,
4694
,
470
3
,
4707
,
4711
,
4713
,
4722
,
4724
,
4728
,
4730
,
4732
,
4736
,
474
2
,
4746
,
4748
,
4754
,
4760
,
4764
,
4766
,
4787
,
4795
,
4809
,
482
5
,
4827
,
4831
,
4840
,
4841
,
4844
,
4849
,
4857
,
4861
,
4869
,
48
79
,
4881
,
4883
,
4894
,
4896
,
4898
,
4913
,
4920
,
4927
,
4946
,
494
8
,
4953
,
4960
,
4967
,
4979
,
4993
,
4994
,
4997
,
5002
,
5014
,
501
5
,
5016
,
5017
,
5018
,
5024
,
5025
,
5027
,
5033
,
5040
,
5047
,
505
4
,
5062
,
5064
,
5074
,
5086
,
5094
,
5095
,
5096
,
5103
,
5105
,
510
7
,
5118
,
5119
,
5120
,
5121
,
5122
,
5123
,
5124
,
5125
,
5126
,
512
7
,
5128
,
5129
,
5130
,
5131
,
5132
,
5133
,
5134
,
5135
,
5136
,
513
7
,
5138
,
5139
,
5140
,
5141
,
5142
,
5143
,
5144
,
5145
,
5146
,
514
7
,
5148
,
5149
,
5150
,
5151
,
5152
,
5153
,
5154
,
5155
,
5156
,
515
7
,
5158
,
5159
,
5160
,
5161
,
5162
,
5163
,
5164
,
5165
,
5166
,
516
7
,
5168
,
5169
,
5170
,
5171
,
5172
,
5173
,
5174
,
5175
,
5176
,
517
7
,
5178
,
5179
,
5180
,
5181
,
5182
,
5183
,
5184
,
5185
,
5186
,
518
7
,
5200
,
5201
,
5202
,
5203
,
5204
,
5205
,
5206
,
5207
,
5208
,
52
09
,
5210
,
5211
,
5212
,
5213
,
5214
,
5215
,
5216
,
5217
,
5218
,
52
19
,
5220
,
5221
,
5222
,
5223
,
5224
,
5225
,
5226
,
5227
,
5228
,
52
29
,
5230
,
5231
,
5232
,
5233
,
5234
,
5235
,
5236
,
5237
,
5240
,
524
7
3681
,
3683
,
3691
,
3693
,
3695
,
3697
,
3699
,
3701
,
3703
,
370
6
,
370
8
,
3710
,
3712
,
3714
,
3716
,
3732
,
3748
,
3750
,
3752
,
3754
,
375
6
,
3758
,
3760
,
3772
,
3779
,
3786
,
3801
,
3816
,
3838
,
3853
,
387
5
,
3882
,
3889
,
3899
,
3906
,
3913
,
3921
,
3928
,
3935
,
3942
,
394
9
,
3951
,
3953
,
3955
,
3962
,
3972
,
3982
,
3992
,
4002
,
4008
,
401
4
,
4014
,
4028
,
4028
,
4042
,
4052
,
4062
,
4072
,
4082
,
4092
,
410
2
,
4112
,
4122
,
4132
,
4142
,
4152
,
4162
,
4172
,
4182
,
4192
,
420
2
,
4212
,
4222
,
4232
,
4242
,
4252
,
4262
,
4272
,
4282
,
4284
,
428
6
,
4288
,
4297
,
4302
,
4304
,
4312
,
4314
,
4316
,
4318
,
4320
,
432
2
,
4324
,
4326
,
4328
,
4344
,
4360
,
4362
,
4364
,
4366
,
4368
,
437
5
,
4382
,
4397
,
4412
,
4434
,
4449
,
4471
,
4478
,
4485
,
4492
,
4
500
,
4507
,
4514
,
4521
,
4530
,
4537
,
4544
,
4548
,
4550
,
4552
,
455
6
,
4563
,
4567
,
4568
,
4569
,
4572
,
4574
,
4578
,
4583
,
4585
,
458
7
,
4589
,
4591
,
4593
,
4595
,
4597
,
4613
,
4629
,
4631
,
4633
,
463
5
,
4637
,
4645
,
4652
,
4659
,
4666
,
4674
,
4681
,
4688
,
4695
,
470
4
,
4708
,
4712
,
4714
,
4723
,
4725
,
4729
,
4731
,
4733
,
4737
,
474
3
,
4747
,
4749
,
4755
,
4761
,
4765
,
4767
,
4788
,
4796
,
4810
,
482
6
,
4828
,
4832
,
4841
,
4842
,
4845
,
4850
,
4858
,
4862
,
4870
,
48
80
,
4882
,
4884
,
4895
,
4897
,
4899
,
4914
,
4921
,
4928
,
4947
,
494
9
,
4954
,
4961
,
4968
,
4980
,
4994
,
4995
,
4998
,
5003
,
5015
,
501
6
,
5017
,
5018
,
5019
,
5025
,
5026
,
5028
,
5034
,
5041
,
5048
,
505
5
,
5063
,
5065
,
5075
,
5087
,
5095
,
5096
,
5097
,
5104
,
5106
,
510
8
,
5119
,
5120
,
5121
,
5122
,
5123
,
5124
,
5125
,
5126
,
5127
,
512
8
,
5129
,
5130
,
5131
,
5132
,
5133
,
5134
,
5135
,
5136
,
5137
,
513
8
,
5139
,
5140
,
5141
,
5142
,
5143
,
5144
,
5145
,
5146
,
5147
,
514
8
,
5149
,
5150
,
5151
,
5152
,
5153
,
5154
,
5155
,
5156
,
5157
,
515
8
,
5159
,
5160
,
5161
,
5162
,
5163
,
5164
,
5165
,
5166
,
5167
,
516
8
,
5169
,
5170
,
5171
,
5172
,
5173
,
5174
,
5175
,
5176
,
5177
,
517
8
,
5179
,
5180
,
5181
,
5182
,
5183
,
5184
,
5185
,
5186
,
5187
,
518
8
,
5201
,
5202
,
5203
,
5204
,
5205
,
5206
,
5207
,
5208
,
5209
,
52
10
,
5211
,
5212
,
5213
,
5214
,
5215
,
5216
,
5217
,
5218
,
5219
,
52
20
,
5221
,
5222
,
5223
,
5224
,
5225
,
5226
,
5227
,
5228
,
5229
,
52
30
,
5231
,
5232
,
5233
,
5234
,
5235
,
5236
,
5237
,
5238
,
5241
,
524
8
};
#endif
...
...
@@ -9059,27 +9059,27 @@ case 659:
{
yyval
.
node
=
makeA_Expr
(
OP
,
">"
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
break
;}
case
660
:
#line 370
6
"gram.y"
#line 370
7
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
ISNULL
,
NULL
,
yyvsp
[
-
2
].
node
,
NULL
);
;
break
;}
case
661
:
#line 370
8
"gram.y"
#line 370
9
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
"="
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
break
;}
case
662
:
#line 371
0
"gram.y"
#line 371
1
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
":"
,
NULL
,
yyvsp
[
0
].
node
);
;
break
;}
case
663
:
#line 371
2
"gram.y"
#line 371
3
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
";"
,
NULL
,
yyvsp
[
0
].
node
);
;
break
;}
case
664
:
#line 371
4
"gram.y"
#line 371
5
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
"|"
,
NULL
,
yyvsp
[
0
].
node
);
;
break
;}
case
665
:
#line 371
6
"gram.y"
#line 371
7
"gram.y"
{
yyval
.
node
=
(
Node
*
)
yyvsp
[
-
2
].
node
;
/* AexprConst can be either A_Const or ParamNo */
...
...
@@ -9097,7 +9097,7 @@ case 665:
;
break
;}
case
666
:
#line 373
2
"gram.y"
#line 373
3
"gram.y"
{
yyval
.
node
=
(
Node
*
)
yyvsp
[
-
3
].
node
;
/* AexprConst can be either A_Const or ParamNo */
...
...
@@ -9115,31 +9115,31 @@ case 666:
;
break
;}
case
667
:
#line 374
8
"gram.y"
#line 374
9
"gram.y"
{
yyval
.
node
=
yyvsp
[
-
1
].
node
;
;
break
;}
case
668
:
#line 375
0
"gram.y"
#line 375
1
"gram.y"
{
yyval
.
node
=
makeIndexable
(
yyvsp
[
-
1
].
str
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
break
;}
case
669
:
#line 375
2
"gram.y"
#line 375
3
"gram.y"
{
yyval
.
node
=
makeIndexable
(
"~~"
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
break
;}
case
670
:
#line 375
4
"gram.y"
#line 375
5
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
"!~~"
,
yyvsp
[
-
3
].
node
,
yyvsp
[
0
].
node
);
;
break
;}
case
671
:
#line 375
6
"gram.y"
#line 375
7
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
yyvsp
[
-
1
].
str
,
NULL
,
yyvsp
[
0
].
node
);
;
break
;}
case
672
:
#line 375
8
"gram.y"
#line 375
9
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
yyvsp
[
0
].
str
,
yyvsp
[
-
1
].
node
,
NULL
);
;
break
;}
case
673
:
#line 376
0
"gram.y"
#line 376
1
"gram.y"
{
/* cheap hack for aggregate (eg. count) */
FuncCall
*
n
=
makeNode
(
FuncCall
);
...
...
@@ -9153,7 +9153,7 @@ case 673:
;
break
;}
case
674
:
#line 377
2
"gram.y"
#line 377
3
"gram.y"
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
yyvsp
[
-
2
].
str
;
...
...
@@ -9162,7 +9162,7 @@ case 674:
;
break
;}
case
675
:
#line 37
79
"gram.y"
#line 37
80
"gram.y"
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
yyvsp
[
-
3
].
str
;
...
...
@@ -9171,7 +9171,7 @@ case 675:
;
break
;}
case
676
:
#line 378
6
"gram.y"
#line 378
7
"gram.y"
{
A_Const
*
n
=
makeNode
(
A_Const
);
TypeName
*
t
=
makeNode
(
TypeName
);
...
...
@@ -9188,7 +9188,7 @@ case 676:
;
break
;}
case
677
:
#line 380
1
"gram.y"
#line 380
2
"gram.y"
{
A_Const
*
n
=
makeNode
(
A_Const
);
TypeName
*
t
=
makeNode
(
TypeName
);
...
...
@@ -9205,7 +9205,7 @@ case 677:
;
break
;}
case
678
:
#line 381
6
"gram.y"
#line 381
7
"gram.y"
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
A_Const
*
s
=
makeNode
(
A_Const
);
...
...
@@ -9229,7 +9229,7 @@ case 678:
;
break
;}
case
679
:
#line 383
8
"gram.y"
#line 383
9
"gram.y"
{
A_Const
*
n
=
makeNode
(
A_Const
);
TypeName
*
t
=
makeNode
(
TypeName
);
...
...
@@ -9246,7 +9246,7 @@ case 679:
;
break
;}
case
680
:
#line 385
3
"gram.y"
#line 385
4
"gram.y"
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
A_Const
*
s
=
makeNode
(
A_Const
);
...
...
@@ -9270,7 +9270,7 @@ case 680:
;
break
;}
case
681
:
#line 387
5
"gram.y"
#line 387
6
"gram.y"
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
"getpgusername"
;
...
...
@@ -9279,7 +9279,7 @@ case 681:
;
break
;}
case
682
:
#line 388
2
"gram.y"
#line 388
3
"gram.y"
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
"getpgusername"
;
...
...
@@ -9288,7 +9288,7 @@ case 682:
;
break
;}
case
683
:
#line 38
89
"gram.y"
#line 38
90
"gram.y"
{
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
NIL
;
...
...
@@ -9300,7 +9300,7 @@ case 683:
;
break
;}
case
684
:
#line 3
899
"gram.y"
#line 3
900
"gram.y"
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
"date_part"
;
...
...
@@ -9309,7 +9309,7 @@ case 684:
;
break
;}
case
685
:
#line 390
6
"gram.y"
#line 390
7
"gram.y"
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
"strpos"
;
...
...
@@ -9318,7 +9318,7 @@ case 685:
;
break
;}
case
686
:
#line 391
3
"gram.y"
#line 391
4
"gram.y"
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
"substr"
;
...
...
@@ -9327,7 +9327,7 @@ case 686:
;
break
;}
case
687
:
#line 392
1
"gram.y"
#line 392
2
"gram.y"
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
"btrim"
;
...
...
@@ -9336,7 +9336,7 @@ case 687:
;
break
;}
case
688
:
#line 392
8
"gram.y"
#line 392
9
"gram.y"
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
"ltrim"
;
...
...
@@ -9345,7 +9345,7 @@ case 688:
;
break
;}
case
689
:
#line 393
5
"gram.y"
#line 393
6
"gram.y"
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
"rtrim"
;
...
...
@@ -9354,7 +9354,7 @@ case 689:
;
break
;}
case
690
:
#line 394
2
"gram.y"
#line 394
3
"gram.y"
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
"btrim"
;
...
...
@@ -9363,23 +9363,23 @@ case 690:
;
break
;}
case
691
:
#line 39
49
"gram.y"
#line 39
50
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
ISNULL
,
NULL
,
yyvsp
[
-
1
].
node
,
NULL
);
;
break
;}
case
692
:
#line 395
1
"gram.y"
#line 395
2
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
ISNULL
,
NULL
,
yyvsp
[
-
2
].
node
,
NULL
);
;
break
;}
case
693
:
#line 395
3
"gram.y"
#line 395
4
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
NOTNULL
,
NULL
,
yyvsp
[
-
1
].
node
,
NULL
);
;
break
;}
case
694
:
#line 395
5
"gram.y"
#line 395
6
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
NOTNULL
,
NULL
,
yyvsp
[
-
3
].
node
,
NULL
);
;
break
;}
case
695
:
#line 396
2
"gram.y"
#line 396
3
"gram.y"
{
A_Const
*
n
=
makeNode
(
A_Const
);
n
->
val
.
type
=
T_String
;
...
...
@@ -9391,7 +9391,7 @@ case 695:
;
break
;}
case
696
:
#line 397
2
"gram.y"
#line 397
3
"gram.y"
{
A_Const
*
n
=
makeNode
(
A_Const
);
n
->
val
.
type
=
T_String
;
...
...
@@ -9403,7 +9403,7 @@ case 696:
;
break
;}
case
697
:
#line 398
2
"gram.y"
#line 398
3
"gram.y"
{
A_Const
*
n
=
makeNode
(
A_Const
);
n
->
val
.
type
=
T_String
;
...
...
@@ -9415,7 +9415,7 @@ case 697:
;
break
;}
case
698
:
#line 399
2
"gram.y"
#line 399
3
"gram.y"
{
A_Const
*
n
=
makeNode
(
A_Const
);
n
->
val
.
type
=
T_String
;
...
...
@@ -9427,7 +9427,7 @@ case 698:
;
break
;}
case
699
:
#line 400
2
"gram.y"
#line 400
3
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
AND
,
NULL
,
makeA_Expr
(
OP
,
">="
,
yyvsp
[
-
4
].
node
,
yyvsp
[
-
2
].
node
),
...
...
@@ -9435,7 +9435,7 @@ case 699:
;
break
;}
case
700
:
#line 400
8
"gram.y"
#line 400
9
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OR
,
NULL
,
makeA_Expr
(
OP
,
"<"
,
yyvsp
[
-
5
].
node
,
yyvsp
[
-
2
].
node
),
...
...
@@ -9443,11 +9443,11 @@ case 700:
;
break
;}
case
701
:
#line 401
3
"gram.y"
#line 401
4
"gram.y"
{
saved_In_Expr
=
lcons
(
yyvsp
[
-
1
].
node
,
saved_In_Expr
);
;
break
;}
case
702
:
#line 401
4
"gram.y"
#line 401
5
"gram.y"
{
saved_In_Expr
=
lnext
(
saved_In_Expr
);
if
(
nodeTag
(
yyvsp
[
-
1
].
node
)
==
T_SubLink
)
...
...
@@ -9463,11 +9463,11 @@ case 702:
;
break
;}
case
703
:
#line 402
7
"gram.y"
#line 402
8
"gram.y"
{
saved_In_Expr
=
lcons
(
yyvsp
[
-
2
].
node
,
saved_In_Expr
);
;
break
;}
case
704
:
#line 402
8
"gram.y"
#line 402
9
"gram.y"
{
saved_In_Expr
=
lnext
(
saved_In_Expr
);
if
(
nodeTag
(
yyvsp
[
-
1
].
node
)
==
T_SubLink
)
...
...
@@ -9483,7 +9483,7 @@ case 704:
;
break
;}
case
705
:
#line 404
2
"gram.y"
#line 404
3
"gram.y"
{
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
4
].
node
,
NULL
);
...
...
@@ -9495,7 +9495,7 @@ case 705:
;
break
;}
case
706
:
#line 405
2
"gram.y"
#line 405
3
"gram.y"
{
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
4
].
node
,
NULL
);
...
...
@@ -9507,7 +9507,7 @@ case 706:
;
break
;}
case
707
:
#line 406
2
"gram.y"
#line 406
3
"gram.y"
{
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
4
].
node
,
NULL
);
...
...
@@ -9519,7 +9519,7 @@ case 707:
;
break
;}
case
708
:
#line 407
2
"gram.y"
#line 407
3
"gram.y"
{
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
4
].
node
,
NULL
);
...
...
@@ -9531,7 +9531,7 @@ case 708:
;
break
;}
case
709
:
#line 408
2
"gram.y"
#line 408
3
"gram.y"
{
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
4
].
node
,
NULL
);
...
...
@@ -9543,7 +9543,7 @@ case 709:
;
break
;}
case
710
:
#line 409
2
"gram.y"
#line 409
3
"gram.y"
{
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
4
].
node
,
NULL
);
...
...
@@ -9555,7 +9555,7 @@ case 710:
;
break
;}
case
711
:
#line 410
2
"gram.y"
#line 410
3
"gram.y"
{
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
4
].
node
,
NULL
);
...
...
@@ -9567,7 +9567,7 @@ case 711:
;
break
;}
case
712
:
#line 411
2
"gram.y"
#line 411
3
"gram.y"
{
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
4
].
node
,
NULL
);
...
...
@@ -9579,7 +9579,7 @@ case 712:
;
break
;}
case
713
:
#line 412
2
"gram.y"
#line 412
3
"gram.y"
{
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
5
].
node
,
NIL
);
...
...
@@ -9591,7 +9591,7 @@ case 713:
;
break
;}
case
714
:
#line 413
2
"gram.y"
#line 413
3
"gram.y"
{
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
5
].
node
,
NIL
);
...
...
@@ -9603,7 +9603,7 @@ case 714:
;
break
;}
case
715
:
#line 414
2
"gram.y"
#line 414
3
"gram.y"
{
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
5
].
node
,
NIL
);
...
...
@@ -9615,7 +9615,7 @@ case 715:
;
break
;}
case
716
:
#line 415
2
"gram.y"
#line 415
3
"gram.y"
{
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
5
].
node
,
NIL
);
...
...
@@ -9627,7 +9627,7 @@ case 716:
;
break
;}
case
717
:
#line 416
2
"gram.y"
#line 416
3
"gram.y"
{
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
5
].
node
,
NIL
);
...
...
@@ -9639,7 +9639,7 @@ case 717:
;
break
;}
case
718
:
#line 417
2
"gram.y"
#line 417
3
"gram.y"
{
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
5
].
node
,
NIL
);
...
...
@@ -9651,7 +9651,7 @@ case 718:
;
break
;}
case
719
:
#line 418
2
"gram.y"
#line 418
3
"gram.y"
{
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
5
].
node
,
NIL
);
...
...
@@ -9663,7 +9663,7 @@ case 719:
;
break
;}
case
720
:
#line 419
2
"gram.y"
#line 419
3
"gram.y"
{
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
5
].
node
,
NIL
);
...
...
@@ -9675,7 +9675,7 @@ case 720:
;
break
;}
case
721
:
#line 420
2
"gram.y"
#line 420
3
"gram.y"
{
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
5
].
node
,
NULL
);
...
...
@@ -9687,7 +9687,7 @@ case 721:
;
break
;}
case
722
:
#line 421
2
"gram.y"
#line 421
3
"gram.y"
{
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
5
].
node
,
NULL
);
...
...
@@ -9699,7 +9699,7 @@ case 722:
;
break
;}
case
723
:
#line 422
2
"gram.y"
#line 422
3
"gram.y"
{
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
5
].
node
,
NULL
);
...
...
@@ -9711,7 +9711,7 @@ case 723:
;
break
;}
case
724
:
#line 423
2
"gram.y"
#line 423
3
"gram.y"
{
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
5
].
node
,
NULL
);
...
...
@@ -9723,7 +9723,7 @@ case 724:
;
break
;}
case
725
:
#line 424
2
"gram.y"
#line 424
3
"gram.y"
{
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
5
].
node
,
NULL
);
...
...
@@ -9735,7 +9735,7 @@ case 725:
;
break
;}
case
726
:
#line 425
2
"gram.y"
#line 425
3
"gram.y"
{
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
5
].
node
,
NULL
);
...
...
@@ -9747,7 +9747,7 @@ case 726:
;
break
;}
case
727
:
#line 426
2
"gram.y"
#line 426
3
"gram.y"
{
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
5
].
node
,
NULL
);
...
...
@@ -9759,7 +9759,7 @@ case 727:
;
break
;}
case
728
:
#line 427
2
"gram.y"
#line 427
3
"gram.y"
{
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
5
].
node
,
NULL
);
...
...
@@ -9771,34 +9771,34 @@ case 728:
;
break
;}
case
729
:
#line 428
2
"gram.y"
#line 428
3
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
AND
,
NULL
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
break
;}
case
730
:
#line 428
4
"gram.y"
#line 428
5
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OR
,
NULL
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
break
;}
case
731
:
#line 428
6
"gram.y"
#line 428
7
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
NOT
,
NULL
,
NULL
,
yyvsp
[
0
].
node
);
;
break
;}
case
732
:
#line 428
8
"gram.y"
#line 428
9
"gram.y"
{
yyval
.
node
=
yyvsp
[
0
].
node
;
;
break
;}
case
733
:
#line 429
7
"gram.y"
#line 429
8
"gram.y"
{
yyvsp
[
-
1
].
attr
->
indirection
=
yyvsp
[
0
].
list
;
yyval
.
node
=
(
Node
*
)
yyvsp
[
-
1
].
attr
;
;
break
;}
case
734
:
#line 430
2
"gram.y"
#line 430
3
"gram.y"
{
yyval
.
node
=
yyvsp
[
0
].
node
;
;
break
;}
case
735
:
#line 430
4
"gram.y"
#line 430
5
"gram.y"
{
/* could be a column name or a relation_name */
Ident
*
n
=
makeNode
(
Ident
);
...
...
@@ -9808,39 +9808,39 @@ case 735:
;
break
;}
case
736
:
#line 431
2
"gram.y"
#line 431
3
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
"-"
,
NULL
,
yyvsp
[
0
].
node
);
;
break
;}
case
737
:
#line 431
4
"gram.y"
#line 431
5
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
"+"
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
break
;}
case
738
:
#line 431
6
"gram.y"
#line 431
7
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
"-"
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
break
;}
case
739
:
#line 431
8
"gram.y"
#line 431
9
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
"/"
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
break
;}
case
740
:
#line 432
0
"gram.y"
#line 432
1
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
"*"
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
break
;}
case
741
:
#line 432
2
"gram.y"
#line 432
3
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
":"
,
NULL
,
yyvsp
[
0
].
node
);
;
break
;}
case
742
:
#line 432
4
"gram.y"
#line 432
5
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
";"
,
NULL
,
yyvsp
[
0
].
node
);
;
break
;}
case
743
:
#line 432
6
"gram.y"
#line 432
7
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
"|"
,
NULL
,
yyvsp
[
0
].
node
);
;
break
;}
case
744
:
#line 432
8
"gram.y"
#line 432
9
"gram.y"
{
yyval
.
node
=
(
Node
*
)
yyvsp
[
-
2
].
node
;
/* AexprConst can be either A_Const or ParamNo */
...
...
@@ -9858,7 +9858,7 @@ case 744:
;
break
;}
case
745
:
#line 434
4
"gram.y"
#line 434
5
"gram.y"
{
yyval
.
node
=
(
Node
*
)
yyvsp
[
-
3
].
node
;
/* AexprConst can be either A_Const or ParamNo */
...
...
@@ -9876,23 +9876,23 @@ case 745:
;
break
;}
case
746
:
#line 436
0
"gram.y"
#line 436
1
"gram.y"
{
yyval
.
node
=
yyvsp
[
-
1
].
node
;
;
break
;}
case
747
:
#line 436
2
"gram.y"
#line 436
3
"gram.y"
{
yyval
.
node
=
makeIndexable
(
yyvsp
[
-
1
].
str
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
break
;}
case
748
:
#line 436
4
"gram.y"
#line 436
5
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
yyvsp
[
-
1
].
str
,
NULL
,
yyvsp
[
0
].
node
);
;
break
;}
case
749
:
#line 436
6
"gram.y"
#line 436
7
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
yyvsp
[
0
].
str
,
yyvsp
[
-
1
].
node
,
NULL
);
;
break
;}
case
750
:
#line 436
8
"gram.y"
#line 436
9
"gram.y"
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
yyvsp
[
-
2
].
str
;
...
...
@@ -9901,7 +9901,7 @@ case 750:
;
break
;}
case
751
:
#line 437
5
"gram.y"
#line 437
6
"gram.y"
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
yyvsp
[
-
3
].
str
;
...
...
@@ -9910,7 +9910,7 @@ case 751:
;
break
;}
case
752
:
#line 438
2
"gram.y"
#line 438
3
"gram.y"
{
A_Const
*
n
=
makeNode
(
A_Const
);
TypeName
*
t
=
makeNode
(
TypeName
);
...
...
@@ -9927,7 +9927,7 @@ case 752:
;
break
;}
case
753
:
#line 439
7
"gram.y"
#line 439
8
"gram.y"
{
A_Const
*
n
=
makeNode
(
A_Const
);
TypeName
*
t
=
makeNode
(
TypeName
);
...
...
@@ -9944,7 +9944,7 @@ case 753:
;
break
;}
case
754
:
#line 441
2
"gram.y"
#line 441
3
"gram.y"
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
A_Const
*
s
=
makeNode
(
A_Const
);
...
...
@@ -9968,7 +9968,7 @@ case 754:
;
break
;}
case
755
:
#line 443
4
"gram.y"
#line 443
5
"gram.y"
{
A_Const
*
n
=
makeNode
(
A_Const
);
TypeName
*
t
=
makeNode
(
TypeName
);
...
...
@@ -9985,7 +9985,7 @@ case 755:
;
break
;}
case
756
:
#line 44
49
"gram.y"
#line 44
50
"gram.y"
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
A_Const
*
s
=
makeNode
(
A_Const
);
...
...
@@ -10009,7 +10009,7 @@ case 756:
;
break
;}
case
757
:
#line 447
1
"gram.y"
#line 447
2
"gram.y"
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
"getpgusername"
;
...
...
@@ -10018,7 +10018,7 @@ case 757:
;
break
;}
case
758
:
#line 447
8
"gram.y"
#line 447
9
"gram.y"
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
"getpgusername"
;
...
...
@@ -10027,7 +10027,7 @@ case 758:
;
break
;}
case
759
:
#line 448
5
"gram.y"
#line 448
6
"gram.y"
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
"strpos"
;
...
...
@@ -10036,7 +10036,7 @@ case 759:
;
break
;}
case
760
:
#line 449
2
"gram.y"
#line 449
3
"gram.y"
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
"substr"
;
...
...
@@ -10045,7 +10045,7 @@ case 760:
;
break
;}
case
761
:
#line 450
0
"gram.y"
#line 450
1
"gram.y"
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
"btrim"
;
...
...
@@ -10054,7 +10054,7 @@ case 761:
;
break
;}
case
762
:
#line 450
7
"gram.y"
#line 450
8
"gram.y"
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
"ltrim"
;
...
...
@@ -10063,7 +10063,7 @@ case 762:
;
break
;}
case
763
:
#line 451
4
"gram.y"
#line 451
5
"gram.y"
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
"rtrim"
;
...
...
@@ -10072,7 +10072,7 @@ case 763:
;
break
;}
case
764
:
#line 452
1
"gram.y"
#line 452
2
"gram.y"
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
"btrim"
;
...
...
@@ -10081,7 +10081,7 @@ case 764:
;
break
;}
case
765
:
#line 453
0
"gram.y"
#line 453
1
"gram.y"
{
A_Indices
*
ai
=
makeNode
(
A_Indices
);
ai
->
lidx
=
NULL
;
...
...
@@ -10090,7 +10090,7 @@ case 765:
;
break
;}
case
766
:
#line 453
7
"gram.y"
#line 453
8
"gram.y"
{
A_Indices
*
ai
=
makeNode
(
A_Indices
);
ai
->
lidx
=
yyvsp
[
-
4
].
node
;
...
...
@@ -10099,23 +10099,23 @@ case 766:
;
break
;}
case
767
:
#line 454
4
"gram.y"
#line 454
5
"gram.y"
{
yyval
.
list
=
NIL
;
;
break
;}
case
768
:
#line 454
8
"gram.y"
#line 454
9
"gram.y"
{
yyval
.
list
=
lcons
(
yyvsp
[
0
].
node
,
NIL
);
;
break
;}
case
769
:
#line 455
0
"gram.y"
#line 455
1
"gram.y"
{
yyval
.
list
=
lappend
(
yyvsp
[
-
2
].
list
,
yyvsp
[
0
].
node
);
;
break
;}
case
770
:
#line 455
2
"gram.y"
#line 455
3
"gram.y"
{
yyval
.
list
=
lappend
(
yyvsp
[
-
2
].
list
,
yyvsp
[
0
].
node
);
;
break
;}
case
771
:
#line 455
6
"gram.y"
#line 455
7
"gram.y"
{
A_Const
*
n
=
makeNode
(
A_Const
);
n
->
val
.
type
=
T_String
;
...
...
@@ -10124,66 +10124,66 @@ case 771:
;
break
;}
case
772
:
#line 456
3
"gram.y"
#line 456
4
"gram.y"
{
yyval
.
list
=
NIL
;
;
break
;}
case
773
:
#line 456
6
"gram.y"
#line 456
7
"gram.y"
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
break
;}
case
774
:
#line 456
7
"gram.y"
#line 456
8
"gram.y"
{
yyval
.
str
=
"tz_hour"
;
;
break
;}
case
775
:
#line 456
8
"gram.y"
#line 456
9
"gram.y"
{
yyval
.
str
=
"tz_minute"
;
;
break
;}
case
776
:
#line 457
2
"gram.y"
#line 457
3
"gram.y"
{
yyval
.
list
=
makeList
(
yyvsp
[
0
].
node
,
yyvsp
[
-
2
].
node
,
-
1
);
;
break
;}
case
777
:
#line 457
4
"gram.y"
#line 457
5
"gram.y"
{
yyval
.
list
=
NIL
;
;
break
;}
case
778
:
#line 457
8
"gram.y"
#line 457
9
"gram.y"
{
yyvsp
[
-
1
].
attr
->
indirection
=
yyvsp
[
0
].
list
;
yyval
.
node
=
(
Node
*
)
yyvsp
[
-
1
].
attr
;
;
break
;}
case
779
:
#line 458
3
"gram.y"
#line 458
4
"gram.y"
{
yyval
.
node
=
yyvsp
[
0
].
node
;
;
break
;}
case
780
:
#line 458
5
"gram.y"
#line 458
6
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
"-"
,
NULL
,
yyvsp
[
0
].
node
);
;
break
;}
case
781
:
#line 458
7
"gram.y"
#line 458
8
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
"+"
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
break
;}
case
782
:
#line 45
89
"gram.y"
#line 45
90
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
"-"
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
break
;}
case
783
:
#line 459
1
"gram.y"
#line 459
2
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
"/"
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
break
;}
case
784
:
#line 459
3
"gram.y"
#line 459
4
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
"*"
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
break
;}
case
785
:
#line 459
5
"gram.y"
#line 459
6
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
"|"
,
NULL
,
yyvsp
[
0
].
node
);
;
break
;}
case
786
:
#line 459
7
"gram.y"
#line 459
8
"gram.y"
{
yyval
.
node
=
(
Node
*
)
yyvsp
[
-
2
].
node
;
/* AexprConst can be either A_Const or ParamNo */
...
...
@@ -10201,7 +10201,7 @@ case 786:
;
break
;}
case
787
:
#line 461
3
"gram.y"
#line 461
4
"gram.y"
{
yyval
.
node
=
(
Node
*
)
yyvsp
[
-
3
].
node
;
/* AexprConst can be either A_Const or ParamNo */
...
...
@@ -10219,23 +10219,23 @@ case 787:
;
break
;}
case
788
:
#line 46
29
"gram.y"
#line 46
30
"gram.y"
{
yyval
.
node
=
yyvsp
[
-
1
].
node
;
;
break
;}
case
789
:
#line 463
1
"gram.y"
#line 463
2
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
yyvsp
[
-
1
].
str
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
break
;}
case
790
:
#line 463
3
"gram.y"
#line 463
4
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
yyvsp
[
-
1
].
str
,
NULL
,
yyvsp
[
0
].
node
);
;
break
;}
case
791
:
#line 463
5
"gram.y"
#line 463
6
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
yyvsp
[
0
].
str
,
yyvsp
[
-
1
].
node
,
NULL
);
;
break
;}
case
792
:
#line 463
7
"gram.y"
#line 463
8
"gram.y"
{
/* could be a column name or a relation_name */
Ident
*
n
=
makeNode
(
Ident
);
...
...
@@ -10245,7 +10245,7 @@ case 792:
;
break
;}
case
793
:
#line 464
5
"gram.y"
#line 464
6
"gram.y"
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
yyvsp
[
-
2
].
str
;
...
...
@@ -10254,7 +10254,7 @@ case 793:
;
break
;}
case
794
:
#line 465
2
"gram.y"
#line 465
3
"gram.y"
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
yyvsp
[
-
3
].
str
;
...
...
@@ -10263,7 +10263,7 @@ case 794:
;
break
;}
case
795
:
#line 46
59
"gram.y"
#line 46
60
"gram.y"
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
"strpos"
;
...
...
@@ -10272,7 +10272,7 @@ case 795:
;
break
;}
case
796
:
#line 466
6
"gram.y"
#line 466
7
"gram.y"
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
"substr"
;
...
...
@@ -10281,7 +10281,7 @@ case 796:
;
break
;}
case
797
:
#line 467
4
"gram.y"
#line 467
5
"gram.y"
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
"btrim"
;
...
...
@@ -10290,7 +10290,7 @@ case 797:
;
break
;}
case
798
:
#line 468
1
"gram.y"
#line 468
2
"gram.y"
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
"ltrim"
;
...
...
@@ -10299,7 +10299,7 @@ case 798:
;
break
;}
case
799
:
#line 468
8
"gram.y"
#line 468
9
"gram.y"
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
"rtrim"
;
...
...
@@ -10308,7 +10308,7 @@ case 799:
;
break
;}
case
800
:
#line 469
5
"gram.y"
#line 469
6
"gram.y"
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
"btrim"
;
...
...
@@ -10317,21 +10317,21 @@ case 800:
;
break
;}
case
801
:
#line 470
4
"gram.y"
#line 470
5
"gram.y"
{
yyval
.
list
=
nconc
(
nconc
(
yyvsp
[
-
2
].
list
,
yyvsp
[
-
1
].
list
),
yyvsp
[
0
].
list
);
;
break
;}
case
802
:
#line 470
8
"gram.y"
#line 470
9
"gram.y"
{
yyval
.
list
=
NIL
;
;
break
;}
case
803
:
#line 471
2
"gram.y"
#line 471
3
"gram.y"
{
yyval
.
list
=
yyvsp
[
0
].
list
;
;
break
;}
case
804
:
#line 471
4
"gram.y"
#line 471
5
"gram.y"
{
A_Const
*
n
=
makeNode
(
A_Const
);
n
->
val
.
type
=
T_Integer
;
...
...
@@ -10340,27 +10340,27 @@ case 804:
;
break
;}
case
805
:
#line 472
3
"gram.y"
#line 472
4
"gram.y"
{
yyval
.
list
=
yyvsp
[
0
].
list
;
;
break
;}
case
806
:
#line 472
5
"gram.y"
#line 472
6
"gram.y"
{
yyval
.
list
=
NIL
;
;
break
;}
case
807
:
#line 47
29
"gram.y"
#line 47
30
"gram.y"
{
yyval
.
list
=
lappend
(
yyvsp
[
0
].
list
,
yyvsp
[
-
2
].
node
);
;
break
;}
case
808
:
#line 473
1
"gram.y"
#line 473
2
"gram.y"
{
yyval
.
list
=
yyvsp
[
0
].
list
;
;
break
;}
case
809
:
#line 473
3
"gram.y"
#line 473
4
"gram.y"
{
yyval
.
list
=
yyvsp
[
0
].
list
;
;
break
;}
case
810
:
#line 473
7
"gram.y"
#line 473
8
"gram.y"
{
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
subselect
=
yyvsp
[
0
].
node
;
...
...
@@ -10368,21 +10368,21 @@ case 810:
;
break
;}
case
811
:
#line 474
3
"gram.y"
#line 474
4
"gram.y"
{
yyval
.
node
=
yyvsp
[
0
].
node
;
;
break
;}
case
812
:
#line 474
7
"gram.y"
#line 474
8
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
"="
,
lfirst
(
saved_In_Expr
),
yyvsp
[
0
].
node
);
;
break
;}
case
813
:
#line 47
49
"gram.y"
#line 47
50
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OR
,
NULL
,
yyvsp
[
-
2
].
node
,
makeA_Expr
(
OP
,
"="
,
lfirst
(
saved_In_Expr
),
yyvsp
[
0
].
node
));
;
break
;}
case
814
:
#line 475
5
"gram.y"
#line 475
6
"gram.y"
{
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
subselect
=
yyvsp
[
0
].
node
;
...
...
@@ -10390,21 +10390,21 @@ case 814:
;
break
;}
case
815
:
#line 476
1
"gram.y"
#line 476
2
"gram.y"
{
yyval
.
node
=
yyvsp
[
0
].
node
;
;
break
;}
case
816
:
#line 476
5
"gram.y"
#line 476
6
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
"<>"
,
lfirst
(
saved_In_Expr
),
yyvsp
[
0
].
node
);
;
break
;}
case
817
:
#line 476
7
"gram.y"
#line 476
8
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
AND
,
NULL
,
yyvsp
[
-
2
].
node
,
makeA_Expr
(
OP
,
"<>"
,
lfirst
(
saved_In_Expr
),
yyvsp
[
0
].
node
));
;
break
;}
case
818
:
#line 478
8
"gram.y"
#line 478
9
"gram.y"
{
CaseExpr
*
c
=
makeNode
(
CaseExpr
);
c
->
arg
=
yyvsp
[
-
3
].
node
;
...
...
@@ -10414,7 +10414,7 @@ case 818:
;
break
;}
case
819
:
#line 479
6
"gram.y"
#line 479
7
"gram.y"
{
CaseExpr
*
c
=
makeNode
(
CaseExpr
);
CaseWhen
*
w
=
makeNode
(
CaseWhen
);
...
...
@@ -10430,7 +10430,7 @@ case 819:
;
break
;}
case
820
:
#line 481
0
"gram.y"
#line 481
1
"gram.y"
{
CaseExpr
*
c
=
makeNode
(
CaseExpr
);
CaseWhen
*
w
;
...
...
@@ -10446,15 +10446,15 @@ case 820:
;
break
;}
case
821
:
#line 482
6
"gram.y"
#line 482
7
"gram.y"
{
yyval
.
list
=
lappend
(
yyvsp
[
-
1
].
list
,
yyvsp
[
0
].
node
);
;
break
;}
case
822
:
#line 482
8
"gram.y"
#line 482
9
"gram.y"
{
yyval
.
list
=
lcons
(
yyvsp
[
0
].
node
,
NIL
);
;
break
;}
case
823
:
#line 483
2
"gram.y"
#line 483
3
"gram.y"
{
CaseWhen
*
w
=
makeNode
(
CaseWhen
);
w
->
expr
=
yyvsp
[
-
2
].
node
;
...
...
@@ -10463,22 +10463,22 @@ case 823:
;
break
;}
case
824
:
#line 484
0
"gram.y"
#line 484
1
"gram.y"
{
yyval
.
node
=
yyvsp
[
0
].
node
;
;
break
;}
case
825
:
#line 484
1
"gram.y"
#line 484
2
"gram.y"
{
yyval
.
node
=
NULL
;
;
break
;}
case
826
:
#line 484
5
"gram.y"
#line 484
6
"gram.y"
{
yyvsp
[
-
1
].
attr
->
indirection
=
yyvsp
[
0
].
list
;
yyval
.
node
=
(
Node
*
)
yyvsp
[
-
1
].
attr
;
;
break
;}
case
827
:
#line 485
0
"gram.y"
#line 485
1
"gram.y"
{
/* could be a column name or a relation_name */
Ident
*
n
=
makeNode
(
Ident
);
...
...
@@ -10488,11 +10488,11 @@ case 827:
;
break
;}
case
828
:
#line 485
8
"gram.y"
#line 485
9
"gram.y"
{
yyval
.
node
=
NULL
;
;
break
;}
case
829
:
#line 486
2
"gram.y"
#line 486
3
"gram.y"
{
yyval
.
attr
=
makeNode
(
Attr
);
yyval
.
attr
->
relname
=
yyvsp
[
-
2
].
str
;
...
...
@@ -10502,7 +10502,7 @@ case 829:
;
break
;}
case
830
:
#line 487
0
"gram.y"
#line 487
1
"gram.y"
{
yyval
.
attr
=
makeNode
(
Attr
);
yyval
.
attr
->
relname
=
NULL
;
...
...
@@ -10512,27 +10512,27 @@ case 830:
;
break
;}
case
831
:
#line 488
0
"gram.y"
#line 488
1
"gram.y"
{
yyval
.
list
=
lcons
(
makeString
(
yyvsp
[
0
].
str
),
NIL
);
;
break
;}
case
832
:
#line 488
2
"gram.y"
#line 488
3
"gram.y"
{
yyval
.
list
=
lappend
(
yyvsp
[
-
2
].
list
,
makeString
(
yyvsp
[
0
].
str
));
;
break
;}
case
833
:
#line 488
4
"gram.y"
#line 488
5
"gram.y"
{
yyval
.
list
=
lappend
(
yyvsp
[
-
2
].
list
,
makeString
(
"*"
));
;
break
;}
case
834
:
#line 489
5
"gram.y"
#line 489
6
"gram.y"
{
yyval
.
list
=
lappend
(
yyvsp
[
-
2
].
list
,
yyvsp
[
0
].
target
);
;
break
;}
case
835
:
#line 489
7
"gram.y"
#line 489
8
"gram.y"
{
yyval
.
list
=
lcons
(
yyvsp
[
0
].
target
,
NIL
);
;
break
;}
case
836
:
#line 4
899
"gram.y"
#line 4
900
"gram.y"
{
ResTarget
*
rt
=
makeNode
(
ResTarget
);
Attr
*
att
=
makeNode
(
Attr
);
...
...
@@ -10547,7 +10547,7 @@ case 836:
;
break
;}
case
837
:
#line 491
4
"gram.y"
#line 491
5
"gram.y"
{
yyval
.
target
=
makeNode
(
ResTarget
);
yyval
.
target
->
name
=
yyvsp
[
-
3
].
str
;
...
...
@@ -10556,7 +10556,7 @@ case 837:
;
break
;}
case
838
:
#line 492
1
"gram.y"
#line 492
2
"gram.y"
{
yyval
.
target
=
makeNode
(
ResTarget
);
yyval
.
target
->
name
=
NULL
;
...
...
@@ -10565,7 +10565,7 @@ case 838:
;
break
;}
case
839
:
#line 492
8
"gram.y"
#line 492
9
"gram.y"
{
Attr
*
att
=
makeNode
(
Attr
);
att
->
relname
=
yyvsp
[
-
2
].
str
;
...
...
@@ -10579,15 +10579,15 @@ case 839:
;
break
;}
case
840
:
#line 494
7
"gram.y"
#line 494
8
"gram.y"
{
yyval
.
list
=
lappend
(
yyvsp
[
-
2
].
list
,
yyvsp
[
0
].
target
);
;
break
;}
case
841
:
#line 49
49
"gram.y"
#line 49
50
"gram.y"
{
yyval
.
list
=
lcons
(
yyvsp
[
0
].
target
,
NIL
);
;
break
;}
case
842
:
#line 495
4
"gram.y"
#line 495
5
"gram.y"
{
yyval
.
target
=
makeNode
(
ResTarget
);
yyval
.
target
->
name
=
yyvsp
[
0
].
str
;
...
...
@@ -10596,7 +10596,7 @@ case 842:
;
break
;}
case
843
:
#line 496
1
"gram.y"
#line 496
2
"gram.y"
{
yyval
.
target
=
makeNode
(
ResTarget
);
yyval
.
target
->
name
=
NULL
;
...
...
@@ -10605,7 +10605,7 @@ case 843:
;
break
;}
case
844
:
#line 496
8
"gram.y"
#line 496
9
"gram.y"
{
Attr
*
att
=
makeNode
(
Attr
);
att
->
relname
=
yyvsp
[
-
2
].
str
;
...
...
@@ -10619,7 +10619,7 @@ case 844:
;
break
;}
case
845
:
#line 498
0
"gram.y"
#line 498
1
"gram.y"
{
Attr
*
att
=
makeNode
(
Attr
);
att
->
relname
=
"*"
;
...
...
@@ -10633,22 +10633,22 @@ case 845:
;
break
;}
case
846
:
#line 499
3
"gram.y"
#line 499
4
"gram.y"
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
break
;}
case
847
:
#line 499
4
"gram.y"
#line 499
5
"gram.y"
{
yyval
.
str
=
NULL
;
;
break
;}
case
848
:
#line 499
8
"gram.y"
#line 499
9
"gram.y"
{
yyval
.
str
=
yyvsp
[
0
].
str
;
StrNCpy
(
saved_relname
,
yyvsp
[
0
].
str
,
NAMEDATALEN
);
;
break
;}
case
849
:
#line 500
3
"gram.y"
#line 500
4
"gram.y"
{
/* disallow refs to variable system tables */
if
(
strcmp
(
LogRelationName
,
yyvsp
[
0
].
str
)
==
0
...
...
@@ -10660,39 +10660,39 @@ case 849:
;
break
;}
case
850
:
#line 501
4
"gram.y"
#line 501
5
"gram.y"
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
break
;}
case
851
:
#line 501
5
"gram.y"
#line 501
6
"gram.y"
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
break
;}
case
852
:
#line 501
6
"gram.y"
#line 501
7
"gram.y"
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
break
;}
case
853
:
#line 501
7
"gram.y"
#line 501
8
"gram.y"
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
break
;}
case
854
:
#line 501
8
"gram.y"
#line 501
9
"gram.y"
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
break
;}
case
855
:
#line 502
4
"gram.y"
#line 502
5
"gram.y"
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
break
;}
case
856
:
#line 502
5
"gram.y"
#line 502
6
"gram.y"
{
yyval
.
str
=
xlateSqlFunc
(
yyvsp
[
0
].
str
);
;
break
;}
case
857
:
#line 502
7
"gram.y"
#line 502
8
"gram.y"
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
break
;}
case
858
:
#line 503
4
"gram.y"
#line 503
5
"gram.y"
{
A_Const
*
n
=
makeNode
(
A_Const
);
n
->
val
.
type
=
T_Integer
;
...
...
@@ -10701,7 +10701,7 @@ case 858:
;
break
;}
case
859
:
#line 504
1
"gram.y"
#line 504
2
"gram.y"
{
A_Const
*
n
=
makeNode
(
A_Const
);
n
->
val
.
type
=
T_Float
;
...
...
@@ -10710,7 +10710,7 @@ case 859:
;
break
;}
case
860
:
#line 504
8
"gram.y"
#line 504
9
"gram.y"
{
A_Const
*
n
=
makeNode
(
A_Const
);
n
->
val
.
type
=
T_String
;
...
...
@@ -10719,7 +10719,7 @@ case 860:
;
break
;}
case
861
:
#line 505
5
"gram.y"
#line 505
6
"gram.y"
{
A_Const
*
n
=
makeNode
(
A_Const
);
n
->
typename
=
yyvsp
[
-
1
].
typnam
;
...
...
@@ -10729,11 +10729,11 @@ case 861:
;
break
;}
case
862
:
#line 506
3
"gram.y"
#line 506
4
"gram.y"
{
yyval
.
node
=
(
Node
*
)
yyvsp
[
0
].
paramno
;
;
break
;}
case
863
:
#line 506
5
"gram.y"
#line 506
6
"gram.y"
{
A_Const
*
n
=
makeNode
(
A_Const
);
n
->
val
.
type
=
T_String
;
...
...
@@ -10745,7 +10745,7 @@ case 863:
;
break
;}
case
864
:
#line 507
5
"gram.y"
#line 507
6
"gram.y"
{
A_Const
*
n
=
makeNode
(
A_Const
);
n
->
val
.
type
=
T_String
;
...
...
@@ -10757,7 +10757,7 @@ case 864:
;
break
;}
case
865
:
#line 508
7
"gram.y"
#line 508
8
"gram.y"
{
yyval
.
paramno
=
makeNode
(
ParamNo
);
yyval
.
paramno
->
number
=
yyvsp
[
-
1
].
ival
;
...
...
@@ -10765,463 +10765,463 @@ case 865:
;
break
;}
case
866
:
#line 509
4
"gram.y"
#line 509
5
"gram.y"
{
yyval
.
ival
=
yyvsp
[
0
].
ival
;
;
break
;}
case
867
:
#line 509
5
"gram.y"
#line 509
6
"gram.y"
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
break
;}
case
868
:
#line 509
6
"gram.y"
#line 509
7
"gram.y"
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
break
;}
case
869
:
#line 510
4
"gram.y"
#line 510
5
"gram.y"
{
yyval
.
str
=
xlateSqlType
(
yyvsp
[
0
].
str
);
;
break
;}
case
870
:
#line 510
6
"gram.y"
#line 510
7
"gram.y"
{
yyval
.
str
=
xlateSqlType
(
yyvsp
[
0
].
str
);
;
break
;}
case
871
:
#line 510
8
"gram.y"
#line 510
9
"gram.y"
{
yyval
.
str
=
xlateSqlType
(
yyvsp
[
0
].
str
);
;
break
;}
case
872
:
#line 511
8
"gram.y"
#line 511
9
"gram.y"
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
break
;}
case
873
:
#line 51
19
"gram.y"
#line 51
20
"gram.y"
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
break
;}
case
874
:
#line 512
0
"gram.y"
#line 512
1
"gram.y"
{
yyval
.
str
=
"absolute"
;
;
break
;}
case
875
:
#line 512
1
"gram.y"
#line 512
2
"gram.y"
{
yyval
.
str
=
"action"
;
;
break
;}
case
876
:
#line 512
2
"gram.y"
#line 512
3
"gram.y"
{
yyval
.
str
=
"after"
;
;
break
;}
case
877
:
#line 512
3
"gram.y"
#line 512
4
"gram.y"
{
yyval
.
str
=
"aggregate"
;
;
break
;}
case
878
:
#line 512
4
"gram.y"
#line 512
5
"gram.y"
{
yyval
.
str
=
"backward"
;
;
break
;}
case
879
:
#line 512
5
"gram.y"
#line 512
6
"gram.y"
{
yyval
.
str
=
"before"
;
;
break
;}
case
880
:
#line 512
6
"gram.y"
#line 512
7
"gram.y"
{
yyval
.
str
=
"cache"
;
;
break
;}
case
881
:
#line 512
7
"gram.y"
#line 512
8
"gram.y"
{
yyval
.
str
=
"createdb"
;
;
break
;}
case
882
:
#line 512
8
"gram.y"
#line 512
9
"gram.y"
{
yyval
.
str
=
"createuser"
;
;
break
;}
case
883
:
#line 51
29
"gram.y"
#line 51
30
"gram.y"
{
yyval
.
str
=
"cycle"
;
;
break
;}
case
884
:
#line 513
0
"gram.y"
#line 513
1
"gram.y"
{
yyval
.
str
=
"database"
;
;
break
;}
case
885
:
#line 513
1
"gram.y"
#line 513
2
"gram.y"
{
yyval
.
str
=
"delimiters"
;
;
break
;}
case
886
:
#line 513
2
"gram.y"
#line 513
3
"gram.y"
{
yyval
.
str
=
"double"
;
;
break
;}
case
887
:
#line 513
3
"gram.y"
#line 513
4
"gram.y"
{
yyval
.
str
=
"each"
;
;
break
;}
case
888
:
#line 513
4
"gram.y"
#line 513
5
"gram.y"
{
yyval
.
str
=
"encoding"
;
;
break
;}
case
889
:
#line 513
5
"gram.y"
#line 513
6
"gram.y"
{
yyval
.
str
=
"forward"
;
;
break
;}
case
890
:
#line 513
6
"gram.y"
#line 513
7
"gram.y"
{
yyval
.
str
=
"function"
;
;
break
;}
case
891
:
#line 513
7
"gram.y"
#line 513
8
"gram.y"
{
yyval
.
str
=
"handler"
;
;
break
;}
case
892
:
#line 513
8
"gram.y"
#line 513
9
"gram.y"
{
yyval
.
str
=
"increment"
;
;
break
;}
case
893
:
#line 51
39
"gram.y"
#line 51
40
"gram.y"
{
yyval
.
str
=
"index"
;
;
break
;}
case
894
:
#line 514
0
"gram.y"
#line 514
1
"gram.y"
{
yyval
.
str
=
"inherits"
;
;
break
;}
case
895
:
#line 514
1
"gram.y"
#line 514
2
"gram.y"
{
yyval
.
str
=
"insensitive"
;
;
break
;}
case
896
:
#line 514
2
"gram.y"
#line 514
3
"gram.y"
{
yyval
.
str
=
"instead"
;
;
break
;}
case
897
:
#line 514
3
"gram.y"
#line 514
4
"gram.y"
{
yyval
.
str
=
"isnull"
;
;
break
;}
case
898
:
#line 514
4
"gram.y"
#line 514
5
"gram.y"
{
yyval
.
str
=
"key"
;
;
break
;}
case
899
:
#line 514
5
"gram.y"
#line 514
6
"gram.y"
{
yyval
.
str
=
"language"
;
;
break
;}
case
900
:
#line 514
6
"gram.y"
#line 514
7
"gram.y"
{
yyval
.
str
=
"lancompiler"
;
;
break
;}
case
901
:
#line 514
7
"gram.y"
#line 514
8
"gram.y"
{
yyval
.
str
=
"location"
;
;
break
;}
case
902
:
#line 514
8
"gram.y"
#line 514
9
"gram.y"
{
yyval
.
str
=
"match"
;
;
break
;}
case
903
:
#line 51
49
"gram.y"
#line 51
50
"gram.y"
{
yyval
.
str
=
"maxvalue"
;
;
break
;}
case
904
:
#line 515
0
"gram.y"
#line 515
1
"gram.y"
{
yyval
.
str
=
"minvalue"
;
;
break
;}
case
905
:
#line 515
1
"gram.y"
#line 515
2
"gram.y"
{
yyval
.
str
=
"next"
;
;
break
;}
case
906
:
#line 515
2
"gram.y"
#line 515
3
"gram.y"
{
yyval
.
str
=
"nocreatedb"
;
;
break
;}
case
907
:
#line 515
3
"gram.y"
#line 515
4
"gram.y"
{
yyval
.
str
=
"nocreateuser"
;
;
break
;}
case
908
:
#line 515
4
"gram.y"
#line 515
5
"gram.y"
{
yyval
.
str
=
"nothing"
;
;
break
;}
case
909
:
#line 515
5
"gram.y"
#line 515
6
"gram.y"
{
yyval
.
str
=
"notnull"
;
;
break
;}
case
910
:
#line 515
6
"gram.y"
#line 515
7
"gram.y"
{
yyval
.
str
=
"of"
;
;
break
;}
case
911
:
#line 515
7
"gram.y"
#line 515
8
"gram.y"
{
yyval
.
str
=
"oids"
;
;
break
;}
case
912
:
#line 515
8
"gram.y"
#line 515
9
"gram.y"
{
yyval
.
str
=
"only"
;
;
break
;}
case
913
:
#line 51
59
"gram.y"
#line 51
60
"gram.y"
{
yyval
.
str
=
"operator"
;
;
break
;}
case
914
:
#line 516
0
"gram.y"
#line 516
1
"gram.y"
{
yyval
.
str
=
"option"
;
;
break
;}
case
915
:
#line 516
1
"gram.y"
#line 516
2
"gram.y"
{
yyval
.
str
=
"password"
;
;
break
;}
case
916
:
#line 516
2
"gram.y"
#line 516
3
"gram.y"
{
yyval
.
str
=
"prior"
;
;
break
;}
case
917
:
#line 516
3
"gram.y"
#line 516
4
"gram.y"
{
yyval
.
str
=
"privileges"
;
;
break
;}
case
918
:
#line 516
4
"gram.y"
#line 516
5
"gram.y"
{
yyval
.
str
=
"procedural"
;
;
break
;}
case
919
:
#line 516
5
"gram.y"
#line 516
6
"gram.y"
{
yyval
.
str
=
"read"
;
;
break
;}
case
920
:
#line 516
6
"gram.y"
#line 516
7
"gram.y"
{
yyval
.
str
=
"relative"
;
;
break
;}
case
921
:
#line 516
7
"gram.y"
#line 516
8
"gram.y"
{
yyval
.
str
=
"rename"
;
;
break
;}
case
922
:
#line 516
8
"gram.y"
#line 516
9
"gram.y"
{
yyval
.
str
=
"returns"
;
;
break
;}
case
923
:
#line 51
69
"gram.y"
#line 51
70
"gram.y"
{
yyval
.
str
=
"row"
;
;
break
;}
case
924
:
#line 517
0
"gram.y"
#line 517
1
"gram.y"
{
yyval
.
str
=
"rule"
;
;
break
;}
case
925
:
#line 517
1
"gram.y"
#line 517
2
"gram.y"
{
yyval
.
str
=
"scroll"
;
;
break
;}
case
926
:
#line 517
2
"gram.y"
#line 517
3
"gram.y"
{
yyval
.
str
=
"sequence"
;
;
break
;}
case
927
:
#line 517
3
"gram.y"
#line 517
4
"gram.y"
{
yyval
.
str
=
"serial"
;
;
break
;}
case
928
:
#line 517
4
"gram.y"
#line 517
5
"gram.y"
{
yyval
.
str
=
"start"
;
;
break
;}
case
929
:
#line 517
5
"gram.y"
#line 517
6
"gram.y"
{
yyval
.
str
=
"statement"
;
;
break
;}
case
930
:
#line 517
6
"gram.y"
#line 517
7
"gram.y"
{
yyval
.
str
=
"stdin"
;
;
break
;}
case
931
:
#line 517
7
"gram.y"
#line 517
8
"gram.y"
{
yyval
.
str
=
"stdout"
;
;
break
;}
case
932
:
#line 517
8
"gram.y"
#line 517
9
"gram.y"
{
yyval
.
str
=
"time"
;
;
break
;}
case
933
:
#line 51
79
"gram.y"
#line 51
80
"gram.y"
{
yyval
.
str
=
"timestamp"
;
;
break
;}
case
934
:
#line 518
0
"gram.y"
#line 518
1
"gram.y"
{
yyval
.
str
=
"timezone_hour"
;
;
break
;}
case
935
:
#line 518
1
"gram.y"
#line 518
2
"gram.y"
{
yyval
.
str
=
"timezone_minute"
;
;
break
;}
case
936
:
#line 518
2
"gram.y"
#line 518
3
"gram.y"
{
yyval
.
str
=
"trigger"
;
;
break
;}
case
937
:
#line 518
3
"gram.y"
#line 518
4
"gram.y"
{
yyval
.
str
=
"trusted"
;
;
break
;}
case
938
:
#line 518
4
"gram.y"
#line 518
5
"gram.y"
{
yyval
.
str
=
"type"
;
;
break
;}
case
939
:
#line 518
5
"gram.y"
#line 518
6
"gram.y"
{
yyval
.
str
=
"valid"
;
;
break
;}
case
940
:
#line 518
6
"gram.y"
#line 518
7
"gram.y"
{
yyval
.
str
=
"version"
;
;
break
;}
case
941
:
#line 518
7
"gram.y"
#line 518
8
"gram.y"
{
yyval
.
str
=
"zone"
;
;
break
;}
case
942
:
#line 520
0
"gram.y"
#line 520
1
"gram.y"
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
break
;}
case
943
:
#line 520
1
"gram.y"
#line 520
2
"gram.y"
{
yyval
.
str
=
"abort"
;
;
break
;}
case
944
:
#line 520
2
"gram.y"
#line 520
3
"gram.y"
{
yyval
.
str
=
"analyze"
;
;
break
;}
case
945
:
#line 520
3
"gram.y"
#line 520
4
"gram.y"
{
yyval
.
str
=
"binary"
;
;
break
;}
case
946
:
#line 520
4
"gram.y"
#line 520
5
"gram.y"
{
yyval
.
str
=
"case"
;
;
break
;}
case
947
:
#line 520
5
"gram.y"
#line 520
6
"gram.y"
{
yyval
.
str
=
"cluster"
;
;
break
;}
case
948
:
#line 520
6
"gram.y"
#line 520
7
"gram.y"
{
yyval
.
str
=
"coalesce"
;
;
break
;}
case
949
:
#line 520
7
"gram.y"
#line 520
8
"gram.y"
{
yyval
.
str
=
"constraint"
;
;
break
;}
case
950
:
#line 520
8
"gram.y"
#line 520
9
"gram.y"
{
yyval
.
str
=
"copy"
;
;
break
;}
case
951
:
#line 52
09
"gram.y"
#line 52
10
"gram.y"
{
yyval
.
str
=
"current"
;
;
break
;}
case
952
:
#line 521
0
"gram.y"
#line 521
1
"gram.y"
{
yyval
.
str
=
"do"
;
;
break
;}
case
953
:
#line 521
1
"gram.y"
#line 521
2
"gram.y"
{
yyval
.
str
=
"else"
;
;
break
;}
case
954
:
#line 521
2
"gram.y"
#line 521
3
"gram.y"
{
yyval
.
str
=
"end"
;
;
break
;}
case
955
:
#line 521
3
"gram.y"
#line 521
4
"gram.y"
{
yyval
.
str
=
"explain"
;
;
break
;}
case
956
:
#line 521
4
"gram.y"
#line 521
5
"gram.y"
{
yyval
.
str
=
"extend"
;
;
break
;}
case
957
:
#line 521
5
"gram.y"
#line 521
6
"gram.y"
{
yyval
.
str
=
"false"
;
;
break
;}
case
958
:
#line 521
6
"gram.y"
#line 521
7
"gram.y"
{
yyval
.
str
=
"foreign"
;
;
break
;}
case
959
:
#line 521
7
"gram.y"
#line 521
8
"gram.y"
{
yyval
.
str
=
"group"
;
;
break
;}
case
960
:
#line 521
8
"gram.y"
#line 521
9
"gram.y"
{
yyval
.
str
=
"listen"
;
;
break
;}
case
961
:
#line 52
19
"gram.y"
#line 52
20
"gram.y"
{
yyval
.
str
=
"load"
;
;
break
;}
case
962
:
#line 522
0
"gram.y"
#line 522
1
"gram.y"
{
yyval
.
str
=
"lock"
;
;
break
;}
case
963
:
#line 522
1
"gram.y"
#line 522
2
"gram.y"
{
yyval
.
str
=
"move"
;
;
break
;}
case
964
:
#line 522
2
"gram.y"
#line 522
3
"gram.y"
{
yyval
.
str
=
"new"
;
;
break
;}
case
965
:
#line 522
3
"gram.y"
#line 522
4
"gram.y"
{
yyval
.
str
=
"none"
;
;
break
;}
case
966
:
#line 522
4
"gram.y"
#line 522
5
"gram.y"
{
yyval
.
str
=
"nullif"
;
;
break
;}
case
967
:
#line 522
5
"gram.y"
#line 522
6
"gram.y"
{
yyval
.
str
=
"order"
;
;
break
;}
case
968
:
#line 522
6
"gram.y"
#line 522
7
"gram.y"
{
yyval
.
str
=
"position"
;
;
break
;}
case
969
:
#line 522
7
"gram.y"
#line 522
8
"gram.y"
{
yyval
.
str
=
"precision"
;
;
break
;}
case
970
:
#line 522
8
"gram.y"
#line 522
9
"gram.y"
{
yyval
.
str
=
"reset"
;
;
break
;}
case
971
:
#line 52
29
"gram.y"
#line 52
30
"gram.y"
{
yyval
.
str
=
"setof"
;
;
break
;}
case
972
:
#line 523
0
"gram.y"
#line 523
1
"gram.y"
{
yyval
.
str
=
"show"
;
;
break
;}
case
973
:
#line 523
1
"gram.y"
#line 523
2
"gram.y"
{
yyval
.
str
=
"table"
;
;
break
;}
case
974
:
#line 523
2
"gram.y"
#line 523
3
"gram.y"
{
yyval
.
str
=
"then"
;
;
break
;}
case
975
:
#line 523
3
"gram.y"
#line 523
4
"gram.y"
{
yyval
.
str
=
"transaction"
;
;
break
;}
case
976
:
#line 523
4
"gram.y"
#line 523
5
"gram.y"
{
yyval
.
str
=
"true"
;
;
break
;}
case
977
:
#line 523
5
"gram.y"
#line 523
6
"gram.y"
{
yyval
.
str
=
"vacuum"
;
;
break
;}
case
978
:
#line 523
6
"gram.y"
#line 523
7
"gram.y"
{
yyval
.
str
=
"verbose"
;
;
break
;}
case
979
:
#line 523
7
"gram.y"
#line 523
8
"gram.y"
{
yyval
.
str
=
"when"
;
;
break
;}
case
980
:
#line 524
1
"gram.y"
#line 524
2
"gram.y"
{
if
(
QueryIsRule
)
yyval
.
str
=
"*CURRENT*"
;
...
...
@@ -11230,7 +11230,7 @@ case 980:
;
break
;}
case
981
:
#line 524
8
"gram.y"
#line 524
9
"gram.y"
{
if
(
QueryIsRule
)
yyval
.
str
=
"*NEW*"
;
...
...
@@ -11436,7 +11436,7 @@ yyerrhandle:
yystate
=
yyn
;
goto
yynewstate
;
}
#line 525
6
"gram.y"
#line 525
7
"gram.y"
static
Node
*
...
...
src/backend/parser/parse_func.c
View file @
89b762e5
...
...
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/parser/parse_func.c,v 1.4
0 1999/03/15 16:48:3
4 momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/parser/parse_func.c,v 1.4
1 1999/03/16 04:25:5
4 momjian Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -580,7 +580,15 @@ ParseFuncOrColumn(ParseState *pstate, char *funcname, List *fargs,
elog
(
ERROR
,
"Only constant sequence names are acceptable for function '%s'"
,
funcname
);
seqrel
=
textout
((
text
*
)
DatumGetPointer
(
seq
->
constvalue
));
if
(
RelnameFindRelid
(
seqrel
)
==
InvalidOid
)
/* Do we have nextval('"Aa"')? */
if
(
strlen
(
seqrel
)
>=
2
&&
seqrel
[
0
]
==
'\"'
&&
seqrel
[
strlen
(
seqrel
)
-
1
]
==
'\"'
)
{
/* strip off quotes, keep case */
seqrel
=
pstrdup
(
seqrel
+
1
);
seqrel
[
strlen
(
seqrel
)
-
1
]
=
'\0'
;
}
else
{
pfree
(
seqrel
);
seqname
=
lower
((
text
*
)
DatumGetPointer
(
seq
->
constvalue
));
...
...
src/backend/utils/misc/trace.c
View file @
89b762e5
...
...
@@ -138,7 +138,7 @@ tprintf1(const char *fmt, ... )
#ifdef ELOG_TIMESTAMPS
strcpy
(
line
,
tprintf_timestamp
());
#endif
vsnprintf
(
line
+
TIMESTAMP_SIZE
,
ELOG_MAXLEN
,
fmt
,
ap
);
vsnprintf
(
line
+
TIMESTAMP_SIZE
,
ELOG_MAXLEN
,
fmt
,
ap
);
va_end
(
ap
);
#ifdef USE_SYSLOG
...
...
src/interfaces/ecpg/preproc/preproc.c
View file @
89b762e5
This source diff could not be displayed because it is too large. You can
view the blob
instead.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment