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
c8ae6afd
Commit
c8ae6afd
authored
Jan 20, 1999
by
Bruce Momjian
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update gram.c.
parent
2a608123
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
538 additions
and
536 deletions
+538
-536
src/backend/parser/gram.c
src/backend/parser/gram.c
+538
-536
No files found.
src/backend/parser/gram.c
View file @
c8ae6afd
...
@@ -239,7 +239,7 @@
...
@@ -239,7 +239,7 @@
*
*
*
*
* IDENTIFICATION
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/parser/Attic/gram.c,v 2.5
7 1999/01/18 06:46:2
7 momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/parser/Attic/gram.c,v 2.5
8 1999/01/20 22:31:0
7 momjian Exp $
*
*
* HISTORY
* HISTORY
* AUTHOR DATE MAJOR EVENT
* AUTHOR DATE MAJOR EVENT
...
@@ -867,55 +867,55 @@ static const short yyrline[] = { 0,
...
@@ -867,55 +867,55 @@ static const short yyrline[] = { 0,
2456
,
2468
,
2484
,
2500
,
2514
,
2532
,
2533
,
2536
,
2539
,
2543
,
2456
,
2468
,
2484
,
2500
,
2514
,
2532
,
2533
,
2536
,
2539
,
2543
,
2560
,
2570
,
2578
,
2604
,
2621
,
2638
,
2639
,
2649
,
2671
,
2693
,
2560
,
2570
,
2578
,
2604
,
2621
,
2638
,
2639
,
2649
,
2671
,
2693
,
2694
,
2695
,
2696
,
2697
,
2700
,
2701
,
2704
,
2705
,
2713
,
2730
,
2694
,
2695
,
2696
,
2697
,
2700
,
2701
,
2704
,
2705
,
2713
,
2730
,
283
0
,
2834
,
2838
,
2843
,
2852
,
2859
,
2886
,
2887
,
2890
,
2891
,
283
2
,
2836
,
2840
,
2845
,
2854
,
2861
,
2888
,
2889
,
2892
,
2893
,
289
4
,
2895
,
2898
,
2899
,
2900
,
2901
,
2904
,
2905
,
2908
,
2909
,
289
6
,
2897
,
2900
,
2901
,
2902
,
2903
,
2906
,
2907
,
2910
,
2911
,
291
2
,
2920
,
2921
,
2922
,
2923
,
2924
,
2925
,
2935
,
2936
,
2939
,
291
4
,
2922
,
2923
,
2924
,
2925
,
2926
,
2927
,
2937
,
2938
,
2941
,
294
1
,
2943
,
2947
,
2948
,
2951
,
2955
,
2958
,
2963
,
2967
,
2981
,
294
3
,
2945
,
2949
,
2950
,
2953
,
2957
,
2960
,
2965
,
2969
,
2983
,
298
6
,
2987
,
2990
,
2992
,
2994
,
2998
,
3004
,
3010
,
3018
,
3019
,
298
8
,
2989
,
2992
,
2994
,
2996
,
3000
,
3006
,
3012
,
3020
,
3021
,
302
1
,
3023
,
3025
,
3027
,
3029
,
3031
,
3035
,
3036
,
3039
,
3040
,
302
3
,
3025
,
3027
,
3029
,
3031
,
3033
,
3037
,
3038
,
3041
,
3042
,
304
1
,
3044
,
3045
,
3048
,
3063
,
3070
,
3079
,
3080
,
3083
,
3090
,
304
3
,
3046
,
3047
,
3050
,
3065
,
3072
,
3081
,
3082
,
3085
,
3092
,
3
098
,
3100
,
3102
,
3106
,
3108
,
3110
,
3125
,
3147
,
3148
,
3155
,
3
100
,
3102
,
3104
,
3108
,
3110
,
3112
,
3127
,
3149
,
3150
,
3157
,
315
6
,
3157
,
3160
,
3168
,
3169
,
3177
,
3183
,
3188
,
3194
,
3202
,
315
8
,
3159
,
3162
,
3170
,
3171
,
3179
,
3185
,
3190
,
3196
,
3204
,
320
4
,
3206
,
3208
,
3212
,
3223
,
3229
,
3240
,
3248
,
3254
,
3265
,
320
6
,
3208
,
3210
,
3214
,
3225
,
3231
,
3242
,
3250
,
3256
,
3267
,
327
3
,
3287
,
3314
,
3333
,
3353
,
3354
,
3355
,
3356
,
3359
,
3360
,
327
5
,
3289
,
3316
,
3335
,
3355
,
3356
,
3357
,
3358
,
3361
,
3362
,
336
3
,
3364
,
3367
,
3368
,
3371
,
3377
,
3384
,
3390
,
3398
,
3399
,
336
5
,
3366
,
3369
,
3370
,
3373
,
3379
,
3386
,
3392
,
3400
,
3401
,
340
0
,
3401
,
3402
,
3403
,
3406
,
3407
,
3410
,
3411
,
3412
,
3413
,
340
2
,
3403
,
3404
,
3405
,
3408
,
3409
,
3412
,
3413
,
3414
,
3415
,
341
4
,
3415
,
3416
,
3417
,
3418
,
3428
,
3430
,
3447
,
3457
,
3467
,
341
6
,
3417
,
3418
,
3419
,
3420
,
3430
,
3432
,
3449
,
3459
,
3469
,
348
0
,
3493
,
3499
,
3505
,
3509
,
3515
,
3516
,
3517
,
3518
,
3519
,
348
2
,
3495
,
3501
,
3507
,
3511
,
3517
,
3518
,
3519
,
3520
,
3521
,
352
0
,
3521
,
3522
,
3525
,
3526
,
3537
,
3542
,
3544
,
3546
,
3554
,
352
2
,
3523
,
3524
,
3527
,
3528
,
3539
,
3544
,
3546
,
3548
,
3556
,
355
6
,
3558
,
3560
,
3562
,
3564
,
3566
,
3568
,
3570
,
3572
,
3574
,
355
8
,
3560
,
3562
,
3564
,
3566
,
3568
,
3570
,
3572
,
3574
,
3576
,
357
6
,
3592
,
3608
,
3610
,
3612
,
3614
,
3616
,
3618
,
3620
,
3632
,
357
8
,
3594
,
3610
,
3612
,
3614
,
3616
,
3618
,
3620
,
3622
,
3634
,
36
39
,
3646
,
3661
,
3676
,
3698
,
3713
,
3735
,
3742
,
3749
,
3759
,
36
41
,
3648
,
3663
,
3678
,
3700
,
3715
,
3737
,
3744
,
3751
,
3761
,
376
6
,
3773
,
3781
,
3788
,
3795
,
3802
,
3809
,
3811
,
3813
,
3815
,
376
8
,
3775
,
3783
,
3790
,
3797
,
3804
,
3811
,
3813
,
3815
,
3817
,
382
2
,
3832
,
3842
,
3852
,
3862
,
3868
,
3874
,
3874
,
3888
,
3888
,
382
4
,
3834
,
3844
,
3854
,
3864
,
3870
,
3876
,
3876
,
3890
,
3890
,
390
2
,
3912
,
3922
,
3932
,
3942
,
3952
,
3962
,
3972
,
3982
,
3992
,
390
4
,
3914
,
3924
,
3934
,
3944
,
3954
,
3964
,
3974
,
3984
,
3994
,
400
2
,
4012
,
4022
,
4032
,
4042
,
4052
,
4062
,
4072
,
4082
,
4092
,
400
4
,
4014
,
4024
,
4034
,
4044
,
4054
,
4064
,
4074
,
4084
,
4094
,
410
2
,
4112
,
4122
,
4132
,
4142
,
4144
,
4146
,
4148
,
4157
,
4162
,
410
4
,
4114
,
4124
,
4134
,
4144
,
4146
,
4148
,
4150
,
4159
,
4164
,
416
4
,
4172
,
4174
,
4176
,
4178
,
4180
,
4182
,
4184
,
4186
,
4188
,
416
6
,
4174
,
4176
,
4178
,
4180
,
4182
,
4184
,
4186
,
4188
,
4190
,
420
4
,
4220
,
4222
,
4224
,
4226
,
4228
,
4235
,
4242
,
4257
,
4272
,
420
6
,
4222
,
4224
,
4226
,
4228
,
4230
,
4237
,
4244
,
4259
,
4274
,
429
4
,
4309
,
4331
,
4338
,
4345
,
4352
,
4360
,
4367
,
4374
,
4381
,
429
6
,
4311
,
4333
,
4340
,
4347
,
4354
,
4362
,
4369
,
4376
,
4383
,
439
0
,
4397
,
4404
,
4408
,
4410
,
4412
,
4416
,
4423
,
4427
,
4428
,
439
2
,
4399
,
4406
,
4410
,
4412
,
4414
,
4418
,
4425
,
4429
,
4430
,
44
29
,
4432
,
4434
,
4438
,
4443
,
4445
,
4447
,
4449
,
4451
,
4453
,
44
31
,
4434
,
4436
,
4440
,
4445
,
4447
,
4449
,
4451
,
4453
,
4455
,
445
5
,
4457
,
4473
,
4489
,
4491
,
4493
,
4495
,
4497
,
4505
,
4512
,
445
7
,
4459
,
4475
,
4491
,
4493
,
4495
,
4497
,
4499
,
4507
,
4514
,
45
19
,
4526
,
4534
,
4541
,
4548
,
4555
,
4564
,
4568
,
4572
,
4574
,
45
21
,
4528
,
4536
,
4543
,
4550
,
4557
,
4566
,
4570
,
4574
,
4576
,
458
3
,
4585
,
4589
,
4591
,
4593
,
4597
,
4603
,
4607
,
4609
,
4615
,
458
5
,
4587
,
4591
,
4593
,
4595
,
4599
,
4605
,
4609
,
4611
,
4617
,
462
1
,
4625
,
4627
,
4648
,
4656
,
4667
,
4685
,
4687
,
4691
,
4700
,
462
3
,
4627
,
4629
,
4650
,
4658
,
4669
,
4687
,
4689
,
4693
,
4702
,
470
1
,
4704
,
4709
,
4717
,
4721
,
4729
,
4739
,
4741
,
4743
,
4754
,
470
3
,
4706
,
4711
,
4719
,
4723
,
4731
,
4741
,
4743
,
4745
,
4756
,
475
6
,
4758
,
4773
,
4780
,
4787
,
4806
,
4808
,
4813
,
4820
,
4827
,
475
8
,
4760
,
4775
,
4782
,
4789
,
4808
,
4810
,
4815
,
4822
,
4829
,
48
39
,
4853
,
4854
,
4857
,
4862
,
4874
,
4875
,
4876
,
4877
,
4878
,
48
41
,
4855
,
4856
,
4859
,
4864
,
4876
,
4877
,
4878
,
4879
,
4880
,
488
4
,
4885
,
4887
,
4888
,
4893
,
4900
,
4907
,
4914
,
4922
,
4924
,
488
6
,
4887
,
4889
,
4890
,
4895
,
4902
,
4909
,
4916
,
4924
,
4926
,
493
4
,
4946
,
4954
,
4955
,
4956
,
4963
,
4965
,
4967
,
4978
,
4979
,
493
6
,
4948
,
4956
,
4957
,
4958
,
4965
,
4967
,
4969
,
4980
,
4981
,
498
0
,
4981
,
4982
,
4983
,
4984
,
4985
,
4986
,
4987
,
4988
,
4989
,
498
2
,
4983
,
4984
,
4985
,
4986
,
4987
,
4988
,
4989
,
4990
,
4991
,
499
0
,
4991
,
4992
,
4993
,
4994
,
4995
,
4996
,
4997
,
4998
,
4999
,
499
2
,
4993
,
4994
,
4995
,
4996
,
4997
,
4998
,
4999
,
5000
,
5001
,
500
0
,
5001
,
5002
,
5003
,
5004
,
5005
,
5006
,
5007
,
5008
,
5009
,
500
2
,
5003
,
5004
,
5005
,
5006
,
5007
,
5008
,
5009
,
5010
,
5011
,
501
0
,
5011
,
5012
,
5013
,
5014
,
5015
,
5016
,
5017
,
5018
,
5019
,
501
2
,
5013
,
5014
,
5015
,
5016
,
5017
,
5018
,
5019
,
5020
,
5021
,
502
0
,
5021
,
5022
,
5023
,
5024
,
5025
,
5026
,
5027
,
5028
,
5029
,
502
2
,
5023
,
5024
,
5025
,
5026
,
5027
,
5028
,
5029
,
5030
,
5031
,
503
0
,
5031
,
5032
,
5033
,
5034
,
5035
,
5036
,
5037
,
5038
,
5039
,
503
2
,
5033
,
5034
,
5035
,
5036
,
5037
,
5038
,
5039
,
5040
,
5041
,
504
0
,
5041
,
5042
,
5043
,
5044
,
5045
,
5046
,
5047
,
5048
,
5061
,
504
2
,
5043
,
5044
,
5045
,
5046
,
5047
,
5048
,
5049
,
5050
,
5063
,
506
2
,
5063
,
5064
,
5065
,
5066
,
5067
,
5068
,
5069
,
5070
,
5071
,
506
4
,
5065
,
5066
,
5067
,
5068
,
5069
,
5070
,
5071
,
5072
,
5073
,
507
2
,
5073
,
5074
,
5075
,
5076
,
5077
,
5078
,
5079
,
5080
,
5081
,
507
4
,
5075
,
5076
,
5077
,
5078
,
5079
,
5080
,
5081
,
5082
,
5083
,
508
2
,
5083
,
5084
,
5085
,
5086
,
5087
,
5088
,
5089
,
5090
,
5091
,
508
4
,
5085
,
5086
,
5087
,
5088
,
5089
,
5090
,
5091
,
5092
,
5093
,
509
2
,
5093
,
5094
,
5095
,
5096
,
5097
,
5098
,
5099
,
5102
,
5109
509
4
,
5095
,
5096
,
5097
,
5098
,
5099
,
5100
,
5101
,
5104
,
5111
};
};
#endif
#endif
...
@@ -7946,6 +7946,8 @@ case 470:
...
@@ -7946,6 +7946,8 @@ case 470:
if
(
n
->
unionClause
!=
NULL
)
if
(
n
->
unionClause
!=
NULL
)
elog
(
ERROR
,
"SELECT FOR UPDATE is not allowed with UNION clause"
);
elog
(
ERROR
,
"SELECT FOR UPDATE is not allowed with UNION clause"
);
if
(
n
->
intersectClause
!=
NULL
)
elog
(
ERROR
,
"SELECT FOR UPDATE is not allowed with INTERSECT/EXCEPT clause"
);
if
(
n
->
unique
!=
NULL
)
if
(
n
->
unique
!=
NULL
)
elog
(
ERROR
,
"SELECT FOR UPDATE is not allowed with DISTINCT clause"
);
elog
(
ERROR
,
"SELECT FOR UPDATE is not allowed with DISTINCT clause"
);
if
(
n
->
groupClause
!=
NULL
)
if
(
n
->
groupClause
!=
NULL
)
...
@@ -7956,26 +7958,26 @@ case 470:
...
@@ -7956,26 +7958,26 @@ case 470:
;
;
break
;}
break
;}
case
471
:
case
471
:
#line 283
1
"gram.y"
#line 283
3
"gram.y"
{
{
yyval
.
node
=
yyvsp
[
-
1
].
node
;
yyval
.
node
=
yyvsp
[
-
1
].
node
;
;
;
break
;}
break
;}
case
472
:
case
472
:
#line 283
5
"gram.y"
#line 283
7
"gram.y"
{
{
yyval
.
node
=
yyvsp
[
0
].
node
;
yyval
.
node
=
yyvsp
[
0
].
node
;
;
;
break
;}
break
;}
case
473
:
case
473
:
#line 28
39
"gram.y"
#line 28
41
"gram.y"
{
{
yyval
.
node
=
(
Node
*
)
makeA_Expr
(
AND
,
NULL
,
yyvsp
[
-
2
].
node
,
yyval
.
node
=
(
Node
*
)
makeA_Expr
(
AND
,
NULL
,
yyvsp
[
-
2
].
node
,
makeA_Expr
(
NOT
,
NULL
,
NULL
,
yyvsp
[
0
].
node
));
makeA_Expr
(
NOT
,
NULL
,
NULL
,
yyvsp
[
0
].
node
));
;
;
break
;}
break
;}
case
474
:
case
474
:
#line 284
4
"gram.y"
#line 284
6
"gram.y"
{
{
if
(
IsA
(
yyvsp
[
0
].
node
,
SelectStmt
))
if
(
IsA
(
yyvsp
[
0
].
node
,
SelectStmt
))
{
{
...
@@ -7986,13 +7988,13 @@ case 474:
...
@@ -7986,13 +7988,13 @@ case 474:
;
;
break
;}
break
;}
case
475
:
case
475
:
#line 285
3
"gram.y"
#line 285
5
"gram.y"
{
{
yyval
.
node
=
(
Node
*
)
makeA_Expr
(
AND
,
NULL
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
yyval
.
node
=
(
Node
*
)
makeA_Expr
(
AND
,
NULL
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
;
break
;}
break
;}
case
476
:
case
476
:
#line 286
2
"gram.y"
#line 286
4
"gram.y"
{
{
SelectStmt
*
n
=
makeNode
(
SelectStmt
);
SelectStmt
*
n
=
makeNode
(
SelectStmt
);
n
->
unique
=
yyvsp
[
-
6
].
str
;
n
->
unique
=
yyvsp
[
-
6
].
str
;
...
@@ -8017,63 +8019,63 @@ case 476:
...
@@ -8017,63 +8019,63 @@ case 476:
;
;
break
;}
break
;}
case
477
:
case
477
:
#line 288
6
"gram.y"
#line 288
8
"gram.y"
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
break
;}
break
;}
case
478
:
case
478
:
#line 288
7
"gram.y"
#line 288
9
"gram.y"
{
yyval
.
str
=
NULL
;
;
{
yyval
.
str
=
NULL
;
;
break
;}
break
;}
case
479
:
case
479
:
#line 289
0
"gram.y"
#line 289
2
"gram.y"
{
yyval
.
boolean
=
TRUE
;
;
{
yyval
.
boolean
=
TRUE
;
;
break
;}
break
;}
case
480
:
case
480
:
#line 289
1
"gram.y"
#line 289
3
"gram.y"
{
yyval
.
boolean
=
FALSE
;
;
{
yyval
.
boolean
=
FALSE
;
;
break
;}
break
;}
case
481
:
case
481
:
#line 289
4
"gram.y"
#line 289
6
"gram.y"
{
yyval
.
boolean
=
TRUE
;
;
{
yyval
.
boolean
=
TRUE
;
;
break
;}
break
;}
case
482
:
case
482
:
#line 289
5
"gram.y"
#line 289
7
"gram.y"
{
yyval
.
boolean
=
FALSE
;
;
{
yyval
.
boolean
=
FALSE
;
;
break
;}
break
;}
case
483
:
case
483
:
#line 2
898
"gram.y"
#line 2
900
"gram.y"
{
yyval
.
str
=
"*"
;
;
{
yyval
.
str
=
"*"
;
;
break
;}
break
;}
case
484
:
case
484
:
#line 2
899
"gram.y"
#line 2
901
"gram.y"
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
break
;}
break
;}
case
485
:
case
485
:
#line 290
0
"gram.y"
#line 290
2
"gram.y"
{
yyval
.
str
=
NULL
;
;
{
yyval
.
str
=
NULL
;
;
break
;}
break
;}
case
486
:
case
486
:
#line 290
1
"gram.y"
#line 290
3
"gram.y"
{
yyval
.
str
=
NULL
;
;
{
yyval
.
str
=
NULL
;
;
break
;}
break
;}
case
487
:
case
487
:
#line 290
4
"gram.y"
#line 290
6
"gram.y"
{
yyval
.
list
=
yyvsp
[
0
].
list
;
;
{
yyval
.
list
=
yyvsp
[
0
].
list
;
;
break
;}
break
;}
case
488
:
case
488
:
#line 290
5
"gram.y"
#line 290
7
"gram.y"
{
yyval
.
list
=
NIL
;
;
{
yyval
.
list
=
NIL
;
;
break
;}
break
;}
case
489
:
case
489
:
#line 29
08
"gram.y"
#line 29
10
"gram.y"
{
yyval
.
list
=
lcons
(
yyvsp
[
0
].
sortgroupby
,
NIL
);
;
{
yyval
.
list
=
lcons
(
yyvsp
[
0
].
sortgroupby
,
NIL
);
;
break
;}
break
;}
case
490
:
case
490
:
#line 29
09
"gram.y"
#line 29
11
"gram.y"
{
yyval
.
list
=
lappend
(
yyvsp
[
-
2
].
list
,
yyvsp
[
0
].
sortgroupby
);
;
{
yyval
.
list
=
lappend
(
yyvsp
[
-
2
].
list
,
yyvsp
[
0
].
sortgroupby
);
;
break
;}
break
;}
case
491
:
case
491
:
#line 291
3
"gram.y"
#line 291
5
"gram.y"
{
{
yyval
.
sortgroupby
=
makeNode
(
SortGroupBy
);
yyval
.
sortgroupby
=
makeNode
(
SortGroupBy
);
yyval
.
sortgroupby
->
node
=
yyvsp
[
-
1
].
node
;
yyval
.
sortgroupby
->
node
=
yyvsp
[
-
1
].
node
;
...
@@ -8081,110 +8083,110 @@ case 491:
...
@@ -8081,110 +8083,110 @@ case 491:
;
;
break
;}
break
;}
case
492
:
case
492
:
#line 292
0
"gram.y"
#line 292
2
"gram.y"
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
break
;}
break
;}
case
493
:
case
493
:
#line 292
1
"gram.y"
#line 292
3
"gram.y"
{
yyval
.
str
=
"<"
;
;
{
yyval
.
str
=
"<"
;
;
break
;}
break
;}
case
494
:
case
494
:
#line 292
2
"gram.y"
#line 292
4
"gram.y"
{
yyval
.
str
=
">"
;
;
{
yyval
.
str
=
">"
;
;
break
;}
break
;}
case
495
:
case
495
:
#line 292
3
"gram.y"
#line 292
5
"gram.y"
{
yyval
.
str
=
"<"
;
;
{
yyval
.
str
=
"<"
;
;
break
;}
break
;}
case
496
:
case
496
:
#line 292
4
"gram.y"
#line 292
6
"gram.y"
{
yyval
.
str
=
">"
;
;
{
yyval
.
str
=
">"
;
;
break
;}
break
;}
case
497
:
case
497
:
#line 292
5
"gram.y"
#line 292
7
"gram.y"
{
yyval
.
str
=
"<"
;
/*default*/
;
{
yyval
.
str
=
"<"
;
/*default*/
;
break
;}
break
;}
case
498
:
case
498
:
#line 293
5
"gram.y"
#line 293
7
"gram.y"
{
yyval
.
boolean
=
TRUE
;
;
{
yyval
.
boolean
=
TRUE
;
;
break
;}
break
;}
case
499
:
case
499
:
#line 293
6
"gram.y"
#line 293
8
"gram.y"
{
yyval
.
boolean
=
FALSE
;
;
{
yyval
.
boolean
=
FALSE
;
;
break
;}
break
;}
case
501
:
case
501
:
#line 294
2
"gram.y"
#line 294
4
"gram.y"
{
yyval
.
list
=
lcons
(
makeString
(
yyvsp
[
0
].
str
),
NIL
);
;
{
yyval
.
list
=
lcons
(
makeString
(
yyvsp
[
0
].
str
),
NIL
);
;
break
;}
break
;}
case
502
:
case
502
:
#line 294
4
"gram.y"
#line 294
6
"gram.y"
{
yyval
.
list
=
lappend
(
yyvsp
[
-
2
].
list
,
makeString
(
yyvsp
[
0
].
str
));
;
{
yyval
.
list
=
lappend
(
yyvsp
[
-
2
].
list
,
makeString
(
yyvsp
[
0
].
str
));
;
break
;}
break
;}
case
503
:
case
503
:
#line 294
7
"gram.y"
#line 294
9
"gram.y"
{
yyval
.
list
=
yyvsp
[
0
].
list
;
;
{
yyval
.
list
=
yyvsp
[
0
].
list
;
;
break
;}
break
;}
case
504
:
case
504
:
#line 29
48
"gram.y"
#line 29
50
"gram.y"
{
yyval
.
list
=
NIL
;
;
{
yyval
.
list
=
NIL
;
;
break
;}
break
;}
case
505
:
case
505
:
#line 295
2
"gram.y"
#line 295
4
"gram.y"
{
{
yyval
.
node
=
yyvsp
[
0
].
node
;
yyval
.
node
=
yyvsp
[
0
].
node
;
;
;
break
;}
break
;}
case
506
:
case
506
:
#line 295
5
"gram.y"
#line 295
7
"gram.y"
{
yyval
.
node
=
NULL
;
;
{
yyval
.
node
=
NULL
;
;
break
;}
break
;}
case
507
:
case
507
:
#line 296
0
"gram.y"
#line 296
2
"gram.y"
{
{
yyval
.
list
=
lcons
(
NULL
,
NULL
);
yyval
.
list
=
lcons
(
NULL
,
NULL
);
;
;
break
;}
break
;}
case
508
:
case
508
:
#line 296
4
"gram.y"
#line 296
6
"gram.y"
{
{
yyval
.
list
=
yyvsp
[
0
].
list
;
yyval
.
list
=
yyvsp
[
0
].
list
;
;
;
break
;}
break
;}
case
509
:
case
509
:
#line 29
68
"gram.y"
#line 29
70
"gram.y"
{
{
yyval
.
list
=
NULL
;
yyval
.
list
=
NULL
;
;
;
break
;}
break
;}
case
510
:
case
510
:
#line 298
2
"gram.y"
#line 298
4
"gram.y"
{
{
yyval
.
list
=
NIL
;
yyval
.
list
=
NIL
;
elog
(
ERROR
,
"JOIN not yet implemented"
);
elog
(
ERROR
,
"JOIN not yet implemented"
);
;
;
break
;}
break
;}
case
511
:
case
511
:
#line 298
6
"gram.y"
#line 298
8
"gram.y"
{
yyval
.
list
=
yyvsp
[
0
].
list
;
;
{
yyval
.
list
=
yyvsp
[
0
].
list
;
;
break
;}
break
;}
case
512
:
case
512
:
#line 298
7
"gram.y"
#line 298
9
"gram.y"
{
yyval
.
list
=
NIL
;
;
{
yyval
.
list
=
NIL
;
;
break
;}
break
;}
case
513
:
case
513
:
#line 299
1
"gram.y"
#line 299
3
"gram.y"
{
yyval
.
list
=
lappend
(
yyvsp
[
-
2
].
list
,
yyvsp
[
0
].
range
);
;
{
yyval
.
list
=
lappend
(
yyvsp
[
-
2
].
list
,
yyvsp
[
0
].
range
);
;
break
;}
break
;}
case
514
:
case
514
:
#line 299
3
"gram.y"
#line 299
5
"gram.y"
{
elog
(
ERROR
,
"CROSS JOIN not yet implemented"
);
;
{
elog
(
ERROR
,
"CROSS JOIN not yet implemented"
);
;
break
;}
break
;}
case
515
:
case
515
:
#line 299
5
"gram.y"
#line 299
7
"gram.y"
{
yyval
.
list
=
lcons
(
yyvsp
[
0
].
range
,
NIL
);
;
{
yyval
.
list
=
lcons
(
yyvsp
[
0
].
range
,
NIL
);
;
break
;}
break
;}
case
516
:
case
516
:
#line
2999
"gram.y"
#line
3001
"gram.y"
{
{
yyval
.
range
=
makeNode
(
RangeVar
);
yyval
.
range
=
makeNode
(
RangeVar
);
yyval
.
range
->
relExpr
=
yyvsp
[
-
2
].
relexp
;
yyval
.
range
->
relExpr
=
yyvsp
[
-
2
].
relexp
;
...
@@ -8192,7 +8194,7 @@ case 516:
...
@@ -8192,7 +8194,7 @@ case 516:
;
;
break
;}
break
;}
case
517
:
case
517
:
#line 300
5
"gram.y"
#line 300
7
"gram.y"
{
{
yyval
.
range
=
makeNode
(
RangeVar
);
yyval
.
range
=
makeNode
(
RangeVar
);
yyval
.
range
->
relExpr
=
yyvsp
[
-
1
].
relexp
;
yyval
.
range
->
relExpr
=
yyvsp
[
-
1
].
relexp
;
...
@@ -8200,7 +8202,7 @@ case 517:
...
@@ -8200,7 +8202,7 @@ case 517:
;
;
break
;}
break
;}
case
518
:
case
518
:
#line 301
1
"gram.y"
#line 301
3
"gram.y"
{
{
yyval
.
range
=
makeNode
(
RangeVar
);
yyval
.
range
=
makeNode
(
RangeVar
);
yyval
.
range
->
relExpr
=
yyvsp
[
0
].
relexp
;
yyval
.
range
->
relExpr
=
yyvsp
[
0
].
relexp
;
...
@@ -8208,67 +8210,67 @@ case 518:
...
@@ -8208,67 +8210,67 @@ case 518:
;
;
break
;}
break
;}
case
519
:
case
519
:
#line 30
18
"gram.y"
#line 30
20
"gram.y"
{
yyval
.
str
=
NULL
;
;
{
yyval
.
str
=
NULL
;
;
break
;}
break
;}
case
520
:
case
520
:
#line 302
0
"gram.y"
#line 302
2
"gram.y"
{
elog
(
ERROR
,
"FULL OUTER JOIN not yet implemented"
);
;
{
elog
(
ERROR
,
"FULL OUTER JOIN not yet implemented"
);
;
break
;}
break
;}
case
521
:
case
521
:
#line 302
2
"gram.y"
#line 302
4
"gram.y"
{
elog
(
ERROR
,
"LEFT OUTER JOIN not yet implemented"
);
;
{
elog
(
ERROR
,
"LEFT OUTER JOIN not yet implemented"
);
;
break
;}
break
;}
case
522
:
case
522
:
#line 302
4
"gram.y"
#line 302
6
"gram.y"
{
elog
(
ERROR
,
"RIGHT OUTER JOIN not yet implemented"
);
;
{
elog
(
ERROR
,
"RIGHT OUTER JOIN not yet implemented"
);
;
break
;}
break
;}
case
523
:
case
523
:
#line 302
6
"gram.y"
#line 302
8
"gram.y"
{
elog
(
ERROR
,
"OUTER JOIN not yet implemented"
);
;
{
elog
(
ERROR
,
"OUTER JOIN not yet implemented"
);
;
break
;}
break
;}
case
524
:
case
524
:
#line 30
28
"gram.y"
#line 30
30
"gram.y"
{
elog
(
ERROR
,
"INNER JOIN not yet implemented"
);
;
{
elog
(
ERROR
,
"INNER JOIN not yet implemented"
);
;
break
;}
break
;}
case
525
:
case
525
:
#line 303
0
"gram.y"
#line 303
2
"gram.y"
{
elog
(
ERROR
,
"UNION JOIN not yet implemented"
);
;
{
elog
(
ERROR
,
"UNION JOIN not yet implemented"
);
;
break
;}
break
;}
case
526
:
case
526
:
#line 303
2
"gram.y"
#line 303
4
"gram.y"
{
elog
(
ERROR
,
"INNER JOIN not yet implemented"
);
;
{
elog
(
ERROR
,
"INNER JOIN not yet implemented"
);
;
break
;}
break
;}
case
527
:
case
527
:
#line 303
5
"gram.y"
#line 303
7
"gram.y"
{
yyval
.
str
=
NULL
;
;
{
yyval
.
str
=
NULL
;
;
break
;}
break
;}
case
528
:
case
528
:
#line 303
6
"gram.y"
#line 303
8
"gram.y"
{
yyval
.
str
=
NULL
;
/* no qualifiers */
;
{
yyval
.
str
=
NULL
;
/* no qualifiers */
;
break
;}
break
;}
case
529
:
case
529
:
#line 30
39
"gram.y"
#line 30
41
"gram.y"
{
yyval
.
str
=
NULL
;
;
{
yyval
.
str
=
NULL
;
;
break
;}
break
;}
case
530
:
case
530
:
#line 304
0
"gram.y"
#line 304
2
"gram.y"
{
yyval
.
str
=
NULL
;
;
{
yyval
.
str
=
NULL
;
;
break
;}
break
;}
case
531
:
case
531
:
#line 304
1
"gram.y"
#line 304
3
"gram.y"
{
yyval
.
str
=
NULL
;
/* no qualifiers */
;
{
yyval
.
str
=
NULL
;
/* no qualifiers */
;
break
;}
break
;}
case
532
:
case
532
:
#line 304
4
"gram.y"
#line 304
6
"gram.y"
{
yyval
.
list
=
lcons
(
yyvsp
[
0
].
joinusing
,
NIL
);
;
{
yyval
.
list
=
lcons
(
yyvsp
[
0
].
joinusing
,
NIL
);
;
break
;}
break
;}
case
533
:
case
533
:
#line 304
5
"gram.y"
#line 304
7
"gram.y"
{
yyval
.
list
=
lappend
(
yyvsp
[
-
2
].
list
,
yyvsp
[
0
].
joinusing
);
;
{
yyval
.
list
=
lappend
(
yyvsp
[
-
2
].
list
,
yyvsp
[
0
].
joinusing
);
;
break
;}
break
;}
case
534
:
case
534
:
#line 305
7
"gram.y"
#line 305
9
"gram.y"
{
{
yyval
.
joinusing
=
makeNode
(
JoinUsing
);
yyval
.
joinusing
=
makeNode
(
JoinUsing
);
yyval
.
joinusing
->
resno
=
0
;
yyval
.
joinusing
->
resno
=
0
;
...
@@ -8277,7 +8279,7 @@ case 534:
...
@@ -8277,7 +8279,7 @@ case 534:
;
;
break
;}
break
;}
case
535
:
case
535
:
#line 306
4
"gram.y"
#line 306
6
"gram.y"
{
{
yyval
.
joinusing
=
makeNode
(
JoinUsing
);
yyval
.
joinusing
=
makeNode
(
JoinUsing
);
yyval
.
joinusing
->
resno
=
0
;
yyval
.
joinusing
->
resno
=
0
;
...
@@ -8286,7 +8288,7 @@ case 535:
...
@@ -8286,7 +8288,7 @@ case 535:
;
;
break
;}
break
;}
case
536
:
case
536
:
#line 307
1
"gram.y"
#line 307
3
"gram.y"
{
{
yyval
.
joinusing
=
makeNode
(
JoinUsing
);
yyval
.
joinusing
=
makeNode
(
JoinUsing
);
yyval
.
joinusing
->
resno
=
yyvsp
[
0
].
ival
;
yyval
.
joinusing
->
resno
=
yyvsp
[
0
].
ival
;
...
@@ -8295,15 +8297,15 @@ case 536:
...
@@ -8295,15 +8297,15 @@ case 536:
;
;
break
;}
break
;}
case
537
:
case
537
:
#line 30
79
"gram.y"
#line 30
81
"gram.y"
{
yyval
.
node
=
yyvsp
[
0
].
node
;
;
{
yyval
.
node
=
yyvsp
[
0
].
node
;
;
break
;}
break
;}
case
538
:
case
538
:
#line 308
0
"gram.y"
#line 308
2
"gram.y"
{
yyval
.
node
=
NULL
;
/* no qualifiers */
;
{
yyval
.
node
=
NULL
;
/* no qualifiers */
;
break
;}
break
;}
case
539
:
case
539
:
#line 308
4
"gram.y"
#line 308
6
"gram.y"
{
{
/* normal relations */
/* normal relations */
yyval
.
relexp
=
makeNode
(
RelExpr
);
yyval
.
relexp
=
makeNode
(
RelExpr
);
...
@@ -8312,7 +8314,7 @@ case 539:
...
@@ -8312,7 +8314,7 @@ case 539:
;
;
break
;}
break
;}
case
540
:
case
540
:
#line 309
1
"gram.y"
#line 309
3
"gram.y"
{
{
/* inheritance query */
/* inheritance query */
yyval
.
relexp
=
makeNode
(
RelExpr
);
yyval
.
relexp
=
makeNode
(
RelExpr
);
...
@@ -8321,31 +8323,31 @@ case 540:
...
@@ -8321,31 +8323,31 @@ case 540:
;
;
break
;}
break
;}
case
541
:
case
541
:
#line 3
099
"gram.y"
#line 3
101
"gram.y"
{
yyval
.
list
=
lcons
(
makeInteger
(
-
1
),
yyvsp
[
0
].
list
);
;
{
yyval
.
list
=
lcons
(
makeInteger
(
-
1
),
yyvsp
[
0
].
list
);
;
break
;}
break
;}
case
542
:
case
542
:
#line 310
1
"gram.y"
#line 310
3
"gram.y"
{
yyval
.
list
=
lcons
(
makeInteger
(
yyvsp
[
-
2
].
ival
),
yyvsp
[
0
].
list
);
;
{
yyval
.
list
=
lcons
(
makeInteger
(
yyvsp
[
-
2
].
ival
),
yyvsp
[
0
].
list
);
;
break
;}
break
;}
case
543
:
case
543
:
#line 310
3
"gram.y"
#line 310
5
"gram.y"
{
yyval
.
list
=
NIL
;
;
{
yyval
.
list
=
NIL
;
;
break
;}
break
;}
case
544
:
case
544
:
#line 310
7
"gram.y"
#line 310
9
"gram.y"
{
yyval
.
list
=
lcons
(
makeInteger
(
-
1
),
yyvsp
[
0
].
list
);
;
{
yyval
.
list
=
lcons
(
makeInteger
(
-
1
),
yyvsp
[
0
].
list
);
;
break
;}
break
;}
case
545
:
case
545
:
#line 31
09
"gram.y"
#line 31
11
"gram.y"
{
yyval
.
list
=
lcons
(
makeInteger
(
yyvsp
[
-
2
].
ival
),
yyvsp
[
0
].
list
);
;
{
yyval
.
list
=
lcons
(
makeInteger
(
yyvsp
[
-
2
].
ival
),
yyvsp
[
0
].
list
);
;
break
;}
break
;}
case
546
:
case
546
:
#line 311
1
"gram.y"
#line 311
3
"gram.y"
{
yyval
.
list
=
NIL
;
;
{
yyval
.
list
=
NIL
;
;
break
;}
break
;}
case
547
:
case
547
:
#line 312
6
"gram.y"
#line 312
8
"gram.y"
{
{
yyval
.
typnam
=
yyvsp
[
-
1
].
typnam
;
yyval
.
typnam
=
yyvsp
[
-
1
].
typnam
;
yyval
.
typnam
->
arrayBounds
=
yyvsp
[
0
].
list
;
yyval
.
typnam
->
arrayBounds
=
yyvsp
[
0
].
list
;
...
@@ -8369,14 +8371,14 @@ case 547:
...
@@ -8369,14 +8371,14 @@ case 547:
;
;
break
;}
break
;}
case
549
:
case
549
:
#line 31
49
"gram.y"
#line 31
51
"gram.y"
{
{
yyval
.
typnam
=
yyvsp
[
0
].
typnam
;
yyval
.
typnam
=
yyvsp
[
0
].
typnam
;
yyval
.
typnam
->
setof
=
TRUE
;
yyval
.
typnam
->
setof
=
TRUE
;
;
;
break
;}
break
;}
case
553
:
case
553
:
#line 316
1
"gram.y"
#line 316
3
"gram.y"
{
{
yyval
.
typnam
=
makeNode
(
TypeName
);
yyval
.
typnam
=
makeNode
(
TypeName
);
yyval
.
typnam
->
name
=
xlateSqlType
(
yyvsp
[
0
].
str
);
yyval
.
typnam
->
name
=
xlateSqlType
(
yyvsp
[
0
].
str
);
...
@@ -8384,15 +8386,15 @@ case 553:
...
@@ -8384,15 +8386,15 @@ case 553:
;
;
break
;}
break
;}
case
554
:
case
554
:
#line 31
68
"gram.y"
#line 31
70
"gram.y"
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
break
;}
break
;}
case
555
:
case
555
:
#line 31
69
"gram.y"
#line 31
71
"gram.y"
{
yyval
.
str
=
xlateSqlType
(
"type"
);
;
{
yyval
.
str
=
xlateSqlType
(
"type"
);
;
break
;}
break
;}
case
556
:
case
556
:
#line 31
78
"gram.y"
#line 31
80
"gram.y"
{
{
yyval
.
typnam
=
makeNode
(
TypeName
);
yyval
.
typnam
=
makeNode
(
TypeName
);
yyval
.
typnam
->
name
=
xlateSqlType
(
yyvsp
[
0
].
str
);
yyval
.
typnam
->
name
=
xlateSqlType
(
yyvsp
[
0
].
str
);
...
@@ -8400,14 +8402,14 @@ case 556:
...
@@ -8400,14 +8402,14 @@ case 556:
;
;
break
;}
break
;}
case
557
:
case
557
:
#line 318
4
"gram.y"
#line 318
6
"gram.y"
{
{
yyval
.
typnam
=
makeNode
(
TypeName
);
yyval
.
typnam
=
makeNode
(
TypeName
);
yyval
.
typnam
->
name
=
xlateSqlType
(
"float"
);
yyval
.
typnam
->
name
=
xlateSqlType
(
"float"
);
;
;
break
;}
break
;}
case
558
:
case
558
:
#line 31
89
"gram.y"
#line 31
91
"gram.y"
{
{
yyval
.
typnam
=
makeNode
(
TypeName
);
yyval
.
typnam
=
makeNode
(
TypeName
);
yyval
.
typnam
->
name
=
xlateSqlType
(
"numeric"
);
yyval
.
typnam
->
name
=
xlateSqlType
(
"numeric"
);
...
@@ -8415,7 +8417,7 @@ case 558:
...
@@ -8415,7 +8417,7 @@ case 558:
;
;
break
;}
break
;}
case
559
:
case
559
:
#line 319
5
"gram.y"
#line 319
7
"gram.y"
{
{
yyval
.
typnam
=
makeNode
(
TypeName
);
yyval
.
typnam
=
makeNode
(
TypeName
);
yyval
.
typnam
->
name
=
xlateSqlType
(
"numeric"
);
yyval
.
typnam
->
name
=
xlateSqlType
(
"numeric"
);
...
@@ -8423,23 +8425,23 @@ case 559:
...
@@ -8423,23 +8425,23 @@ case 559:
;
;
break
;}
break
;}
case
560
:
case
560
:
#line 320
3
"gram.y"
#line 320
5
"gram.y"
{
yyval
.
str
=
xlateSqlType
(
"float8"
);
;
{
yyval
.
str
=
xlateSqlType
(
"float8"
);
;
break
;}
break
;}
case
561
:
case
561
:
#line 320
5
"gram.y"
#line 320
7
"gram.y"
{
yyval
.
str
=
xlateSqlType
(
"float8"
);
;
{
yyval
.
str
=
xlateSqlType
(
"float8"
);
;
break
;}
break
;}
case
562
:
case
562
:
#line 320
7
"gram.y"
#line 320
9
"gram.y"
{
yyval
.
str
=
xlateSqlType
(
"numeric"
);
;
{
yyval
.
str
=
xlateSqlType
(
"numeric"
);
;
break
;}
break
;}
case
563
:
case
563
:
#line 32
09
"gram.y"
#line 32
11
"gram.y"
{
yyval
.
str
=
xlateSqlType
(
"numeric"
);
;
{
yyval
.
str
=
xlateSqlType
(
"numeric"
);
;
break
;}
break
;}
case
564
:
case
564
:
#line 321
3
"gram.y"
#line 321
5
"gram.y"
{
{
if
(
yyvsp
[
-
1
].
ival
<
1
)
if
(
yyvsp
[
-
1
].
ival
<
1
)
elog
(
ERROR
,
"precision for FLOAT must be at least 1"
);
elog
(
ERROR
,
"precision for FLOAT must be at least 1"
);
...
@@ -8452,13 +8454,13 @@ case 564:
...
@@ -8452,13 +8454,13 @@ case 564:
;
;
break
;}
break
;}
case
565
:
case
565
:
#line 322
4
"gram.y"
#line 322
6
"gram.y"
{
{
yyval
.
str
=
xlateSqlType
(
"float8"
);
yyval
.
str
=
xlateSqlType
(
"float8"
);
;
;
break
;}
break
;}
case
566
:
case
566
:
#line 323
0
"gram.y"
#line 323
2
"gram.y"
{
{
if
(
yyvsp
[
-
3
].
ival
<
1
||
yyvsp
[
-
3
].
ival
>
NUMERIC_MAX_PRECISION
)
if
(
yyvsp
[
-
3
].
ival
<
1
||
yyvsp
[
-
3
].
ival
>
NUMERIC_MAX_PRECISION
)
elog
(
ERROR
,
"NUMERIC precision %d must be beween 1 and %d"
,
elog
(
ERROR
,
"NUMERIC precision %d must be beween 1 and %d"
,
...
@@ -8471,7 +8473,7 @@ case 566:
...
@@ -8471,7 +8473,7 @@ case 566:
;
;
break
;}
break
;}
case
567
:
case
567
:
#line 324
1
"gram.y"
#line 324
3
"gram.y"
{
{
if
(
yyvsp
[
-
1
].
ival
<
1
||
yyvsp
[
-
1
].
ival
>
NUMERIC_MAX_PRECISION
)
if
(
yyvsp
[
-
1
].
ival
<
1
||
yyvsp
[
-
1
].
ival
>
NUMERIC_MAX_PRECISION
)
elog
(
ERROR
,
"NUMERIC precision %d must be beween 1 and %d"
,
elog
(
ERROR
,
"NUMERIC precision %d must be beween 1 and %d"
,
...
@@ -8481,13 +8483,13 @@ case 567:
...
@@ -8481,13 +8483,13 @@ case 567:
;
;
break
;}
break
;}
case
568
:
case
568
:
#line 32
49
"gram.y"
#line 32
51
"gram.y"
{
{
yyval
.
ival
=
((
NUMERIC_DEFAULT_PRECISION
<<
16
)
|
NUMERIC_DEFAULT_SCALE
)
+
VARHDRSZ
;
yyval
.
ival
=
((
NUMERIC_DEFAULT_PRECISION
<<
16
)
|
NUMERIC_DEFAULT_SCALE
)
+
VARHDRSZ
;
;
;
break
;}
break
;}
case
569
:
case
569
:
#line 325
5
"gram.y"
#line 325
7
"gram.y"
{
{
if
(
yyvsp
[
-
3
].
ival
<
1
||
yyvsp
[
-
3
].
ival
>
NUMERIC_MAX_PRECISION
)
if
(
yyvsp
[
-
3
].
ival
<
1
||
yyvsp
[
-
3
].
ival
>
NUMERIC_MAX_PRECISION
)
elog
(
ERROR
,
"DECIMAL precision %d must be beween 1 and %d"
,
elog
(
ERROR
,
"DECIMAL precision %d must be beween 1 and %d"
,
...
@@ -8500,7 +8502,7 @@ case 569:
...
@@ -8500,7 +8502,7 @@ case 569:
;
;
break
;}
break
;}
case
570
:
case
570
:
#line 326
6
"gram.y"
#line 326
8
"gram.y"
{
{
if
(
yyvsp
[
-
1
].
ival
<
1
||
yyvsp
[
-
1
].
ival
>
NUMERIC_MAX_PRECISION
)
if
(
yyvsp
[
-
1
].
ival
<
1
||
yyvsp
[
-
1
].
ival
>
NUMERIC_MAX_PRECISION
)
elog
(
ERROR
,
"DECIMAL precision %d must be beween 1 and %d"
,
elog
(
ERROR
,
"DECIMAL precision %d must be beween 1 and %d"
,
...
@@ -8510,13 +8512,13 @@ case 570:
...
@@ -8510,13 +8512,13 @@ case 570:
;
;
break
;}
break
;}
case
571
:
case
571
:
#line 327
4
"gram.y"
#line 327
6
"gram.y"
{
{
yyval
.
ival
=
((
NUMERIC_DEFAULT_PRECISION
<<
16
)
|
NUMERIC_DEFAULT_SCALE
)
+
VARHDRSZ
;
yyval
.
ival
=
((
NUMERIC_DEFAULT_PRECISION
<<
16
)
|
NUMERIC_DEFAULT_SCALE
)
+
VARHDRSZ
;
;
;
break
;}
break
;}
case
572
:
case
572
:
#line 32
88
"gram.y"
#line 32
90
"gram.y"
{
{
yyval
.
typnam
=
makeNode
(
TypeName
);
yyval
.
typnam
=
makeNode
(
TypeName
);
if
(
strcasecmp
(
yyvsp
[
-
3
].
str
,
"char"
)
==
0
)
if
(
strcasecmp
(
yyvsp
[
-
3
].
str
,
"char"
)
==
0
)
...
@@ -8545,7 +8547,7 @@ case 572:
...
@@ -8545,7 +8547,7 @@ case 572:
;
;
break
;}
break
;}
case
573
:
case
573
:
#line 331
5
"gram.y"
#line 331
7
"gram.y"
{
{
yyval
.
typnam
=
makeNode
(
TypeName
);
yyval
.
typnam
=
makeNode
(
TypeName
);
/* Let's try to make all single-character types into bpchar(1)
/* Let's try to make all single-character types into bpchar(1)
...
@@ -8564,7 +8566,7 @@ case 573:
...
@@ -8564,7 +8566,7 @@ case 573:
;
;
break
;}
break
;}
case
574
:
case
574
:
#line 333
4
"gram.y"
#line 333
6
"gram.y"
{
{
char
*
type
,
*
c
;
char
*
type
,
*
c
;
if
((
yyvsp
[
-
1
].
str
==
NULL
)
||
(
strcasecmp
(
yyvsp
[
-
1
].
str
,
"sql_text"
)
==
0
))
{
if
((
yyvsp
[
-
1
].
str
==
NULL
)
||
(
strcasecmp
(
yyvsp
[
-
1
].
str
,
"sql_text"
)
==
0
))
{
...
@@ -8586,47 +8588,47 @@ case 574:
...
@@ -8586,47 +8588,47 @@ case 574:
;
;
break
;}
break
;}
case
575
:
case
575
:
#line 335
3
"gram.y"
#line 335
5
"gram.y"
{
yyval
.
str
=
xlateSqlType
(
yyvsp
[
0
].
boolean
?
"varchar"
:
"char"
);
;
{
yyval
.
str
=
xlateSqlType
(
yyvsp
[
0
].
boolean
?
"varchar"
:
"char"
);
;
break
;}
break
;}
case
576
:
case
576
:
#line 335
4
"gram.y"
#line 335
6
"gram.y"
{
yyval
.
str
=
xlateSqlType
(
"varchar"
);
;
{
yyval
.
str
=
xlateSqlType
(
"varchar"
);
;
break
;}
break
;}
case
577
:
case
577
:
#line 335
5
"gram.y"
#line 335
7
"gram.y"
{
yyval
.
str
=
xlateSqlType
(
yyvsp
[
0
].
boolean
?
"varchar"
:
"char"
);
;
{
yyval
.
str
=
xlateSqlType
(
yyvsp
[
0
].
boolean
?
"varchar"
:
"char"
);
;
break
;}
break
;}
case
578
:
case
578
:
#line 335
6
"gram.y"
#line 335
8
"gram.y"
{
yyval
.
str
=
xlateSqlType
(
yyvsp
[
0
].
boolean
?
"varchar"
:
"char"
);
;
{
yyval
.
str
=
xlateSqlType
(
yyvsp
[
0
].
boolean
?
"varchar"
:
"char"
);
;
break
;}
break
;}
case
579
:
case
579
:
#line 33
59
"gram.y"
#line 33
61
"gram.y"
{
yyval
.
boolean
=
TRUE
;
;
{
yyval
.
boolean
=
TRUE
;
;
break
;}
break
;}
case
580
:
case
580
:
#line 336
0
"gram.y"
#line 336
2
"gram.y"
{
yyval
.
boolean
=
FALSE
;
;
{
yyval
.
boolean
=
FALSE
;
;
break
;}
break
;}
case
581
:
case
581
:
#line 336
3
"gram.y"
#line 336
5
"gram.y"
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
break
;}
break
;}
case
582
:
case
582
:
#line 336
4
"gram.y"
#line 336
6
"gram.y"
{
yyval
.
str
=
NULL
;
;
{
yyval
.
str
=
NULL
;
;
break
;}
break
;}
case
583
:
case
583
:
#line 336
7
"gram.y"
#line 336
9
"gram.y"
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
break
;}
break
;}
case
584
:
case
584
:
#line 33
68
"gram.y"
#line 33
70
"gram.y"
{
yyval
.
str
=
NULL
;
;
{
yyval
.
str
=
NULL
;
;
break
;}
break
;}
case
585
:
case
585
:
#line 337
2
"gram.y"
#line 337
4
"gram.y"
{
{
yyval
.
typnam
=
makeNode
(
TypeName
);
yyval
.
typnam
=
makeNode
(
TypeName
);
yyval
.
typnam
->
name
=
xlateSqlType
(
yyvsp
[
0
].
str
);
yyval
.
typnam
->
name
=
xlateSqlType
(
yyvsp
[
0
].
str
);
...
@@ -8634,7 +8636,7 @@ case 585:
...
@@ -8634,7 +8636,7 @@ case 585:
;
;
break
;}
break
;}
case
586
:
case
586
:
#line 33
78
"gram.y"
#line 33
80
"gram.y"
{
{
yyval
.
typnam
=
makeNode
(
TypeName
);
yyval
.
typnam
=
makeNode
(
TypeName
);
yyval
.
typnam
->
name
=
xlateSqlType
(
"timestamp"
);
yyval
.
typnam
->
name
=
xlateSqlType
(
"timestamp"
);
...
@@ -8643,7 +8645,7 @@ case 586:
...
@@ -8643,7 +8645,7 @@ case 586:
;
;
break
;}
break
;}
case
587
:
case
587
:
#line 338
5
"gram.y"
#line 338
7
"gram.y"
{
{
yyval
.
typnam
=
makeNode
(
TypeName
);
yyval
.
typnam
=
makeNode
(
TypeName
);
yyval
.
typnam
->
name
=
xlateSqlType
(
"time"
);
yyval
.
typnam
->
name
=
xlateSqlType
(
"time"
);
...
@@ -8651,7 +8653,7 @@ case 587:
...
@@ -8651,7 +8653,7 @@ case 587:
;
;
break
;}
break
;}
case
588
:
case
588
:
#line 339
1
"gram.y"
#line 339
3
"gram.y"
{
{
yyval
.
typnam
=
makeNode
(
TypeName
);
yyval
.
typnam
=
makeNode
(
TypeName
);
yyval
.
typnam
->
name
=
xlateSqlType
(
"interval"
);
yyval
.
typnam
->
name
=
xlateSqlType
(
"interval"
);
...
@@ -8659,79 +8661,79 @@ case 588:
...
@@ -8659,79 +8661,79 @@ case 588:
;
;
break
;}
break
;}
case
589
:
case
589
:
#line 3
398
"gram.y"
#line 3
400
"gram.y"
{
yyval
.
str
=
"year"
;
;
{
yyval
.
str
=
"year"
;
;
break
;}
break
;}
case
590
:
case
590
:
#line 3
399
"gram.y"
#line 3
401
"gram.y"
{
yyval
.
str
=
"month"
;
;
{
yyval
.
str
=
"month"
;
;
break
;}
break
;}
case
591
:
case
591
:
#line 340
0
"gram.y"
#line 340
2
"gram.y"
{
yyval
.
str
=
"day"
;
;
{
yyval
.
str
=
"day"
;
;
break
;}
break
;}
case
592
:
case
592
:
#line 340
1
"gram.y"
#line 340
3
"gram.y"
{
yyval
.
str
=
"hour"
;
;
{
yyval
.
str
=
"hour"
;
;
break
;}
break
;}
case
593
:
case
593
:
#line 340
2
"gram.y"
#line 340
4
"gram.y"
{
yyval
.
str
=
"minute"
;
;
{
yyval
.
str
=
"minute"
;
;
break
;}
break
;}
case
594
:
case
594
:
#line 340
3
"gram.y"
#line 340
5
"gram.y"
{
yyval
.
str
=
"second"
;
;
{
yyval
.
str
=
"second"
;
;
break
;}
break
;}
case
595
:
case
595
:
#line 340
6
"gram.y"
#line 340
8
"gram.y"
{
yyval
.
boolean
=
TRUE
;
;
{
yyval
.
boolean
=
TRUE
;
;
break
;}
break
;}
case
596
:
case
596
:
#line 340
7
"gram.y"
#line 340
9
"gram.y"
{
yyval
.
boolean
=
FALSE
;
;
{
yyval
.
boolean
=
FALSE
;
;
break
;}
break
;}
case
597
:
case
597
:
#line 341
0
"gram.y"
#line 341
2
"gram.y"
{
yyval
.
list
=
lcons
(
yyvsp
[
0
].
str
,
NIL
);
;
{
yyval
.
list
=
lcons
(
yyvsp
[
0
].
str
,
NIL
);
;
break
;}
break
;}
case
598
:
case
598
:
#line 341
1
"gram.y"
#line 341
3
"gram.y"
{
yyval
.
list
=
NIL
;
;
{
yyval
.
list
=
NIL
;
;
break
;}
break
;}
case
599
:
case
599
:
#line 341
2
"gram.y"
#line 341
4
"gram.y"
{
yyval
.
list
=
NIL
;
;
{
yyval
.
list
=
NIL
;
;
break
;}
break
;}
case
600
:
case
600
:
#line 341
3
"gram.y"
#line 341
5
"gram.y"
{
yyval
.
list
=
NIL
;
;
{
yyval
.
list
=
NIL
;
;
break
;}
break
;}
case
601
:
case
601
:
#line 341
4
"gram.y"
#line 341
6
"gram.y"
{
yyval
.
list
=
NIL
;
;
{
yyval
.
list
=
NIL
;
;
break
;}
break
;}
case
602
:
case
602
:
#line 341
5
"gram.y"
#line 341
7
"gram.y"
{
yyval
.
list
=
NIL
;
;
{
yyval
.
list
=
NIL
;
;
break
;}
break
;}
case
603
:
case
603
:
#line 341
6
"gram.y"
#line 341
8
"gram.y"
{
yyval
.
list
=
NIL
;
;
{
yyval
.
list
=
NIL
;
;
break
;}
break
;}
case
604
:
case
604
:
#line 341
7
"gram.y"
#line 341
9
"gram.y"
{
yyval
.
list
=
NIL
;
;
{
yyval
.
list
=
NIL
;
;
break
;}
break
;}
case
605
:
case
605
:
#line 34
18
"gram.y"
#line 34
20
"gram.y"
{
yyval
.
list
=
NIL
;
;
{
yyval
.
list
=
NIL
;
;
break
;}
break
;}
case
606
:
case
606
:
#line 34
29
"gram.y"
#line 34
31
"gram.y"
{
yyval
.
node
=
yyvsp
[
0
].
node
;
;
{
yyval
.
node
=
yyvsp
[
0
].
node
;
;
break
;}
break
;}
case
607
:
case
607
:
#line 343
1
"gram.y"
#line 343
3
"gram.y"
{
{
A_Const
*
n
=
makeNode
(
A_Const
);
A_Const
*
n
=
makeNode
(
A_Const
);
n
->
val
.
type
=
T_Null
;
n
->
val
.
type
=
T_Null
;
...
@@ -8739,7 +8741,7 @@ case 607:
...
@@ -8739,7 +8741,7 @@ case 607:
;
;
break
;}
break
;}
case
608
:
case
608
:
#line 34
48
"gram.y"
#line 34
50
"gram.y"
{
{
SubLink
*
n
=
makeNode
(
SubLink
);
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
yyvsp
[
-
5
].
list
;
n
->
lefthand
=
yyvsp
[
-
5
].
list
;
...
@@ -8751,7 +8753,7 @@ case 608:
...
@@ -8751,7 +8753,7 @@ case 608:
;
;
break
;}
break
;}
case
609
:
case
609
:
#line 34
58
"gram.y"
#line 34
60
"gram.y"
{
{
SubLink
*
n
=
makeNode
(
SubLink
);
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
yyvsp
[
-
6
].
list
;
n
->
lefthand
=
yyvsp
[
-
6
].
list
;
...
@@ -8763,7 +8765,7 @@ case 609:
...
@@ -8763,7 +8765,7 @@ case 609:
;
;
break
;}
break
;}
case
610
:
case
610
:
#line 34
68
"gram.y"
#line 34
70
"gram.y"
{
{
SubLink
*
n
=
makeNode
(
SubLink
);
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
yyvsp
[
-
6
].
list
;
n
->
lefthand
=
yyvsp
[
-
6
].
list
;
...
@@ -8778,7 +8780,7 @@ case 610:
...
@@ -8778,7 +8780,7 @@ case 610:
;
;
break
;}
break
;}
case
611
:
case
611
:
#line 348
1
"gram.y"
#line 348
3
"gram.y"
{
{
SubLink
*
n
=
makeNode
(
SubLink
);
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
yyvsp
[
-
5
].
list
;
n
->
lefthand
=
yyvsp
[
-
5
].
list
;
...
@@ -8793,86 +8795,86 @@ case 611:
...
@@ -8793,86 +8795,86 @@ case 611:
;
;
break
;}
break
;}
case
612
:
case
612
:
#line 349
4
"gram.y"
#line 349
6
"gram.y"
{
{
yyval
.
node
=
makeRowExpr
(
yyvsp
[
-
3
].
str
,
yyvsp
[
-
5
].
list
,
yyvsp
[
-
1
].
list
);
yyval
.
node
=
makeRowExpr
(
yyvsp
[
-
3
].
str
,
yyvsp
[
-
5
].
list
,
yyvsp
[
-
1
].
list
);
;
;
break
;}
break
;}
case
613
:
case
613
:
#line 350
0
"gram.y"
#line 350
2
"gram.y"
{
{
yyval
.
list
=
lappend
(
yyvsp
[
-
2
].
list
,
yyvsp
[
0
].
node
);
yyval
.
list
=
lappend
(
yyvsp
[
-
2
].
list
,
yyvsp
[
0
].
node
);
;
;
break
;}
break
;}
case
614
:
case
614
:
#line 350
6
"gram.y"
#line 350
8
"gram.y"
{
{
yyval
.
list
=
lappend
(
yyvsp
[
-
2
].
list
,
yyvsp
[
0
].
node
);
yyval
.
list
=
lappend
(
yyvsp
[
-
2
].
list
,
yyvsp
[
0
].
node
);
;
;
break
;}
break
;}
case
615
:
case
615
:
#line 351
0
"gram.y"
#line 351
2
"gram.y"
{
{
yyval
.
list
=
lcons
(
yyvsp
[
0
].
node
,
NIL
);
yyval
.
list
=
lcons
(
yyvsp
[
0
].
node
,
NIL
);
;
;
break
;}
break
;}
case
616
:
case
616
:
#line 351
5
"gram.y"
#line 351
7
"gram.y"
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
break
;}
break
;}
case
617
:
case
617
:
#line 351
6
"gram.y"
#line 351
8
"gram.y"
{
yyval
.
str
=
"<"
;
;
{
yyval
.
str
=
"<"
;
;
break
;}
break
;}
case
618
:
case
618
:
#line 351
7
"gram.y"
#line 351
9
"gram.y"
{
yyval
.
str
=
"="
;
;
{
yyval
.
str
=
"="
;
;
break
;}
break
;}
case
619
:
case
619
:
#line 35
18
"gram.y"
#line 35
20
"gram.y"
{
yyval
.
str
=
">"
;
;
{
yyval
.
str
=
">"
;
;
break
;}
break
;}
case
620
:
case
620
:
#line 35
19
"gram.y"
#line 35
21
"gram.y"
{
yyval
.
str
=
"+"
;
;
{
yyval
.
str
=
"+"
;
;
break
;}
break
;}
case
621
:
case
621
:
#line 352
0
"gram.y"
#line 352
2
"gram.y"
{
yyval
.
str
=
"-"
;
;
{
yyval
.
str
=
"-"
;
;
break
;}
break
;}
case
622
:
case
622
:
#line 352
1
"gram.y"
#line 352
3
"gram.y"
{
yyval
.
str
=
"*"
;
;
{
yyval
.
str
=
"*"
;
;
break
;}
break
;}
case
623
:
case
623
:
#line 352
2
"gram.y"
#line 352
4
"gram.y"
{
yyval
.
str
=
"/"
;
;
{
yyval
.
str
=
"/"
;
;
break
;}
break
;}
case
624
:
case
624
:
#line 352
5
"gram.y"
#line 352
7
"gram.y"
{
yyval
.
ival
=
ANY_SUBLINK
;
;
{
yyval
.
ival
=
ANY_SUBLINK
;
;
break
;}
break
;}
case
625
:
case
625
:
#line 352
6
"gram.y"
#line 352
8
"gram.y"
{
yyval
.
ival
=
ALL_SUBLINK
;
;
{
yyval
.
ival
=
ALL_SUBLINK
;
;
break
;}
break
;}
case
626
:
case
626
:
#line 35
38
"gram.y"
#line 35
40
"gram.y"
{
{
yyvsp
[
-
1
].
attr
->
indirection
=
yyvsp
[
0
].
list
;
yyvsp
[
-
1
].
attr
->
indirection
=
yyvsp
[
0
].
list
;
yyval
.
node
=
(
Node
*
)
yyvsp
[
-
1
].
attr
;
yyval
.
node
=
(
Node
*
)
yyvsp
[
-
1
].
attr
;
;
;
break
;}
break
;}
case
627
:
case
627
:
#line 354
3
"gram.y"
#line 354
5
"gram.y"
{
yyval
.
node
=
yyvsp
[
0
].
node
;
;
{
yyval
.
node
=
yyvsp
[
0
].
node
;
;
break
;}
break
;}
case
628
:
case
628
:
#line 354
5
"gram.y"
#line 354
7
"gram.y"
{
yyval
.
node
=
yyvsp
[
0
].
node
;
;
{
yyval
.
node
=
yyvsp
[
0
].
node
;
;
break
;}
break
;}
case
629
:
case
629
:
#line 354
7
"gram.y"
#line 354
9
"gram.y"
{
{
/* could be a column name or a relation_name */
/* could be a column name or a relation_name */
Ident
*
n
=
makeNode
(
Ident
);
Ident
*
n
=
makeNode
(
Ident
);
...
@@ -8882,51 +8884,51 @@ case 629:
...
@@ -8882,51 +8884,51 @@ case 629:
;
;
break
;}
break
;}
case
630
:
case
630
:
#line 355
5
"gram.y"
#line 355
7
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
"-"
,
NULL
,
yyvsp
[
0
].
node
);
;
{
yyval
.
node
=
makeA_Expr
(
OP
,
"-"
,
NULL
,
yyvsp
[
0
].
node
);
;
break
;}
break
;}
case
631
:
case
631
:
#line 355
7
"gram.y"
#line 355
9
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
"+"
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
{
yyval
.
node
=
makeA_Expr
(
OP
,
"+"
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
break
;}
break
;}
case
632
:
case
632
:
#line 35
59
"gram.y"
#line 35
61
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
"-"
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
{
yyval
.
node
=
makeA_Expr
(
OP
,
"-"
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
break
;}
break
;}
case
633
:
case
633
:
#line 356
1
"gram.y"
#line 356
3
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
"/"
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
{
yyval
.
node
=
makeA_Expr
(
OP
,
"/"
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
break
;}
break
;}
case
634
:
case
634
:
#line 356
3
"gram.y"
#line 356
5
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
"*"
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
{
yyval
.
node
=
makeA_Expr
(
OP
,
"*"
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
break
;}
break
;}
case
635
:
case
635
:
#line 356
5
"gram.y"
#line 356
7
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
"<"
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
{
yyval
.
node
=
makeA_Expr
(
OP
,
"<"
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
break
;}
break
;}
case
636
:
case
636
:
#line 356
7
"gram.y"
#line 356
9
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
">"
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
{
yyval
.
node
=
makeA_Expr
(
OP
,
">"
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
break
;}
break
;}
case
637
:
case
637
:
#line 35
69
"gram.y"
#line 35
71
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
"="
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
{
yyval
.
node
=
makeA_Expr
(
OP
,
"="
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
break
;}
break
;}
case
638
:
case
638
:
#line 357
1
"gram.y"
#line 357
3
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
":"
,
NULL
,
yyvsp
[
0
].
node
);
;
{
yyval
.
node
=
makeA_Expr
(
OP
,
":"
,
NULL
,
yyvsp
[
0
].
node
);
;
break
;}
break
;}
case
639
:
case
639
:
#line 357
3
"gram.y"
#line 357
5
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
";"
,
NULL
,
yyvsp
[
0
].
node
);
;
{
yyval
.
node
=
makeA_Expr
(
OP
,
";"
,
NULL
,
yyvsp
[
0
].
node
);
;
break
;}
break
;}
case
640
:
case
640
:
#line 357
5
"gram.y"
#line 357
7
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
"|"
,
NULL
,
yyvsp
[
0
].
node
);
;
{
yyval
.
node
=
makeA_Expr
(
OP
,
"|"
,
NULL
,
yyvsp
[
0
].
node
);
;
break
;}
break
;}
case
641
:
case
641
:
#line 357
7
"gram.y"
#line 357
9
"gram.y"
{
{
yyval
.
node
=
(
Node
*
)
yyvsp
[
-
2
].
node
;
yyval
.
node
=
(
Node
*
)
yyvsp
[
-
2
].
node
;
/* AexprConst can be either A_Const or ParamNo */
/* AexprConst can be either A_Const or ParamNo */
...
@@ -8944,7 +8946,7 @@ case 641:
...
@@ -8944,7 +8946,7 @@ case 641:
;
;
break
;}
break
;}
case
642
:
case
642
:
#line 359
3
"gram.y"
#line 359
5
"gram.y"
{
{
yyval
.
node
=
(
Node
*
)
yyvsp
[
-
3
].
node
;
yyval
.
node
=
(
Node
*
)
yyvsp
[
-
3
].
node
;
/* AexprConst can be either A_Const or ParamNo */
/* AexprConst can be either A_Const or ParamNo */
...
@@ -8962,31 +8964,31 @@ case 642:
...
@@ -8962,31 +8964,31 @@ case 642:
;
;
break
;}
break
;}
case
643
:
case
643
:
#line 36
09
"gram.y"
#line 36
11
"gram.y"
{
yyval
.
node
=
yyvsp
[
-
1
].
node
;
;
{
yyval
.
node
=
yyvsp
[
-
1
].
node
;
;
break
;}
break
;}
case
644
:
case
644
:
#line 361
1
"gram.y"
#line 361
3
"gram.y"
{
yyval
.
node
=
makeIndexable
(
yyvsp
[
-
1
].
str
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
{
yyval
.
node
=
makeIndexable
(
yyvsp
[
-
1
].
str
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
break
;}
break
;}
case
645
:
case
645
:
#line 361
3
"gram.y"
#line 361
5
"gram.y"
{
yyval
.
node
=
makeIndexable
(
"~~"
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
{
yyval
.
node
=
makeIndexable
(
"~~"
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
break
;}
break
;}
case
646
:
case
646
:
#line 361
5
"gram.y"
#line 361
7
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
"!~~"
,
yyvsp
[
-
3
].
node
,
yyvsp
[
0
].
node
);
;
{
yyval
.
node
=
makeA_Expr
(
OP
,
"!~~"
,
yyvsp
[
-
3
].
node
,
yyvsp
[
0
].
node
);
;
break
;}
break
;}
case
647
:
case
647
:
#line 361
7
"gram.y"
#line 361
9
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
yyvsp
[
-
1
].
str
,
NULL
,
yyvsp
[
0
].
node
);
;
{
yyval
.
node
=
makeA_Expr
(
OP
,
yyvsp
[
-
1
].
str
,
NULL
,
yyvsp
[
0
].
node
);
;
break
;}
break
;}
case
648
:
case
648
:
#line 36
19
"gram.y"
#line 36
21
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
yyvsp
[
0
].
str
,
yyvsp
[
-
1
].
node
,
NULL
);
;
{
yyval
.
node
=
makeA_Expr
(
OP
,
yyvsp
[
0
].
str
,
yyvsp
[
-
1
].
node
,
NULL
);
;
break
;}
break
;}
case
649
:
case
649
:
#line 362
1
"gram.y"
#line 362
3
"gram.y"
{
{
/* cheap hack for aggregate (eg. count) */
/* cheap hack for aggregate (eg. count) */
FuncCall
*
n
=
makeNode
(
FuncCall
);
FuncCall
*
n
=
makeNode
(
FuncCall
);
...
@@ -9000,7 +9002,7 @@ case 649:
...
@@ -9000,7 +9002,7 @@ case 649:
;
;
break
;}
break
;}
case
650
:
case
650
:
#line 363
3
"gram.y"
#line 363
5
"gram.y"
{
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
yyvsp
[
-
2
].
str
;
n
->
funcname
=
yyvsp
[
-
2
].
str
;
...
@@ -9009,7 +9011,7 @@ case 650:
...
@@ -9009,7 +9011,7 @@ case 650:
;
;
break
;}
break
;}
case
651
:
case
651
:
#line 364
0
"gram.y"
#line 364
2
"gram.y"
{
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
yyvsp
[
-
3
].
str
;
n
->
funcname
=
yyvsp
[
-
3
].
str
;
...
@@ -9018,7 +9020,7 @@ case 651:
...
@@ -9018,7 +9020,7 @@ case 651:
;
;
break
;}
break
;}
case
652
:
case
652
:
#line 364
7
"gram.y"
#line 364
9
"gram.y"
{
{
A_Const
*
n
=
makeNode
(
A_Const
);
A_Const
*
n
=
makeNode
(
A_Const
);
TypeName
*
t
=
makeNode
(
TypeName
);
TypeName
*
t
=
makeNode
(
TypeName
);
...
@@ -9035,7 +9037,7 @@ case 652:
...
@@ -9035,7 +9037,7 @@ case 652:
;
;
break
;}
break
;}
case
653
:
case
653
:
#line 366
2
"gram.y"
#line 366
4
"gram.y"
{
{
A_Const
*
n
=
makeNode
(
A_Const
);
A_Const
*
n
=
makeNode
(
A_Const
);
TypeName
*
t
=
makeNode
(
TypeName
);
TypeName
*
t
=
makeNode
(
TypeName
);
...
@@ -9052,7 +9054,7 @@ case 653:
...
@@ -9052,7 +9054,7 @@ case 653:
;
;
break
;}
break
;}
case
654
:
case
654
:
#line 367
7
"gram.y"
#line 367
9
"gram.y"
{
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
FuncCall
*
n
=
makeNode
(
FuncCall
);
A_Const
*
s
=
makeNode
(
A_Const
);
A_Const
*
s
=
makeNode
(
A_Const
);
...
@@ -9076,7 +9078,7 @@ case 654:
...
@@ -9076,7 +9078,7 @@ case 654:
;
;
break
;}
break
;}
case
655
:
case
655
:
#line 3
699
"gram.y"
#line 3
701
"gram.y"
{
{
A_Const
*
n
=
makeNode
(
A_Const
);
A_Const
*
n
=
makeNode
(
A_Const
);
TypeName
*
t
=
makeNode
(
TypeName
);
TypeName
*
t
=
makeNode
(
TypeName
);
...
@@ -9093,7 +9095,7 @@ case 655:
...
@@ -9093,7 +9095,7 @@ case 655:
;
;
break
;}
break
;}
case
656
:
case
656
:
#line 371
4
"gram.y"
#line 371
6
"gram.y"
{
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
FuncCall
*
n
=
makeNode
(
FuncCall
);
A_Const
*
s
=
makeNode
(
A_Const
);
A_Const
*
s
=
makeNode
(
A_Const
);
...
@@ -9117,7 +9119,7 @@ case 656:
...
@@ -9117,7 +9119,7 @@ case 656:
;
;
break
;}
break
;}
case
657
:
case
657
:
#line 373
6
"gram.y"
#line 373
8
"gram.y"
{
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
"getpgusername"
;
n
->
funcname
=
"getpgusername"
;
...
@@ -9126,7 +9128,7 @@ case 657:
...
@@ -9126,7 +9128,7 @@ case 657:
;
;
break
;}
break
;}
case
658
:
case
658
:
#line 374
3
"gram.y"
#line 374
5
"gram.y"
{
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
"getpgusername"
;
n
->
funcname
=
"getpgusername"
;
...
@@ -9135,7 +9137,7 @@ case 658:
...
@@ -9135,7 +9137,7 @@ case 658:
;
;
break
;}
break
;}
case
659
:
case
659
:
#line 375
0
"gram.y"
#line 375
2
"gram.y"
{
{
SubLink
*
n
=
makeNode
(
SubLink
);
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
NIL
;
n
->
lefthand
=
NIL
;
...
@@ -9147,7 +9149,7 @@ case 659:
...
@@ -9147,7 +9149,7 @@ case 659:
;
;
break
;}
break
;}
case
660
:
case
660
:
#line 376
0
"gram.y"
#line 376
2
"gram.y"
{
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
"date_part"
;
n
->
funcname
=
"date_part"
;
...
@@ -9156,7 +9158,7 @@ case 660:
...
@@ -9156,7 +9158,7 @@ case 660:
;
;
break
;}
break
;}
case
661
:
case
661
:
#line 376
7
"gram.y"
#line 376
9
"gram.y"
{
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
"strpos"
;
n
->
funcname
=
"strpos"
;
...
@@ -9165,7 +9167,7 @@ case 661:
...
@@ -9165,7 +9167,7 @@ case 661:
;
;
break
;}
break
;}
case
662
:
case
662
:
#line 377
4
"gram.y"
#line 377
6
"gram.y"
{
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
"substr"
;
n
->
funcname
=
"substr"
;
...
@@ -9174,7 +9176,7 @@ case 662:
...
@@ -9174,7 +9176,7 @@ case 662:
;
;
break
;}
break
;}
case
663
:
case
663
:
#line 378
2
"gram.y"
#line 378
4
"gram.y"
{
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
"btrim"
;
n
->
funcname
=
"btrim"
;
...
@@ -9183,7 +9185,7 @@ case 663:
...
@@ -9183,7 +9185,7 @@ case 663:
;
;
break
;}
break
;}
case
664
:
case
664
:
#line 37
89
"gram.y"
#line 37
91
"gram.y"
{
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
"ltrim"
;
n
->
funcname
=
"ltrim"
;
...
@@ -9192,7 +9194,7 @@ case 664:
...
@@ -9192,7 +9194,7 @@ case 664:
;
;
break
;}
break
;}
case
665
:
case
665
:
#line 379
6
"gram.y"
#line 379
8
"gram.y"
{
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
"rtrim"
;
n
->
funcname
=
"rtrim"
;
...
@@ -9201,7 +9203,7 @@ case 665:
...
@@ -9201,7 +9203,7 @@ case 665:
;
;
break
;}
break
;}
case
666
:
case
666
:
#line 380
3
"gram.y"
#line 380
5
"gram.y"
{
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
"btrim"
;
n
->
funcname
=
"btrim"
;
...
@@ -9210,23 +9212,23 @@ case 666:
...
@@ -9210,23 +9212,23 @@ case 666:
;
;
break
;}
break
;}
case
667
:
case
667
:
#line 381
0
"gram.y"
#line 381
2
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
ISNULL
,
NULL
,
yyvsp
[
-
1
].
node
,
NULL
);
;
{
yyval
.
node
=
makeA_Expr
(
ISNULL
,
NULL
,
yyvsp
[
-
1
].
node
,
NULL
);
;
break
;}
break
;}
case
668
:
case
668
:
#line 381
2
"gram.y"
#line 381
4
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
ISNULL
,
NULL
,
yyvsp
[
-
2
].
node
,
NULL
);
;
{
yyval
.
node
=
makeA_Expr
(
ISNULL
,
NULL
,
yyvsp
[
-
2
].
node
,
NULL
);
;
break
;}
break
;}
case
669
:
case
669
:
#line 381
4
"gram.y"
#line 381
6
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
NOTNULL
,
NULL
,
yyvsp
[
-
1
].
node
,
NULL
);
;
{
yyval
.
node
=
makeA_Expr
(
NOTNULL
,
NULL
,
yyvsp
[
-
1
].
node
,
NULL
);
;
break
;}
break
;}
case
670
:
case
670
:
#line 381
6
"gram.y"
#line 381
8
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
NOTNULL
,
NULL
,
yyvsp
[
-
3
].
node
,
NULL
);
;
{
yyval
.
node
=
makeA_Expr
(
NOTNULL
,
NULL
,
yyvsp
[
-
3
].
node
,
NULL
);
;
break
;}
break
;}
case
671
:
case
671
:
#line 382
3
"gram.y"
#line 382
5
"gram.y"
{
{
A_Const
*
n
=
makeNode
(
A_Const
);
A_Const
*
n
=
makeNode
(
A_Const
);
n
->
val
.
type
=
T_String
;
n
->
val
.
type
=
T_String
;
...
@@ -9238,7 +9240,7 @@ case 671:
...
@@ -9238,7 +9240,7 @@ case 671:
;
;
break
;}
break
;}
case
672
:
case
672
:
#line 383
3
"gram.y"
#line 383
5
"gram.y"
{
{
A_Const
*
n
=
makeNode
(
A_Const
);
A_Const
*
n
=
makeNode
(
A_Const
);
n
->
val
.
type
=
T_String
;
n
->
val
.
type
=
T_String
;
...
@@ -9250,7 +9252,7 @@ case 672:
...
@@ -9250,7 +9252,7 @@ case 672:
;
;
break
;}
break
;}
case
673
:
case
673
:
#line 384
3
"gram.y"
#line 384
5
"gram.y"
{
{
A_Const
*
n
=
makeNode
(
A_Const
);
A_Const
*
n
=
makeNode
(
A_Const
);
n
->
val
.
type
=
T_String
;
n
->
val
.
type
=
T_String
;
...
@@ -9262,7 +9264,7 @@ case 673:
...
@@ -9262,7 +9264,7 @@ case 673:
;
;
break
;}
break
;}
case
674
:
case
674
:
#line 385
3
"gram.y"
#line 385
5
"gram.y"
{
{
A_Const
*
n
=
makeNode
(
A_Const
);
A_Const
*
n
=
makeNode
(
A_Const
);
n
->
val
.
type
=
T_String
;
n
->
val
.
type
=
T_String
;
...
@@ -9274,7 +9276,7 @@ case 674:
...
@@ -9274,7 +9276,7 @@ case 674:
;
;
break
;}
break
;}
case
675
:
case
675
:
#line 386
3
"gram.y"
#line 386
5
"gram.y"
{
{
yyval
.
node
=
makeA_Expr
(
AND
,
NULL
,
yyval
.
node
=
makeA_Expr
(
AND
,
NULL
,
makeA_Expr
(
OP
,
">="
,
yyvsp
[
-
4
].
node
,
yyvsp
[
-
2
].
node
),
makeA_Expr
(
OP
,
">="
,
yyvsp
[
-
4
].
node
,
yyvsp
[
-
2
].
node
),
...
@@ -9282,7 +9284,7 @@ case 675:
...
@@ -9282,7 +9284,7 @@ case 675:
;
;
break
;}
break
;}
case
676
:
case
676
:
#line 38
69
"gram.y"
#line 38
71
"gram.y"
{
{
yyval
.
node
=
makeA_Expr
(
OR
,
NULL
,
yyval
.
node
=
makeA_Expr
(
OR
,
NULL
,
makeA_Expr
(
OP
,
"<"
,
yyvsp
[
-
5
].
node
,
yyvsp
[
-
2
].
node
),
makeA_Expr
(
OP
,
"<"
,
yyvsp
[
-
5
].
node
,
yyvsp
[
-
2
].
node
),
...
@@ -9290,11 +9292,11 @@ case 676:
...
@@ -9290,11 +9292,11 @@ case 676:
;
;
break
;}
break
;}
case
677
:
case
677
:
#line 387
4
"gram.y"
#line 387
6
"gram.y"
{
saved_In_Expr
=
lcons
(
yyvsp
[
-
1
].
node
,
saved_In_Expr
);
;
{
saved_In_Expr
=
lcons
(
yyvsp
[
-
1
].
node
,
saved_In_Expr
);
;
break
;}
break
;}
case
678
:
case
678
:
#line 387
5
"gram.y"
#line 387
7
"gram.y"
{
{
saved_In_Expr
=
lnext
(
saved_In_Expr
);
saved_In_Expr
=
lnext
(
saved_In_Expr
);
if
(
nodeTag
(
yyvsp
[
-
1
].
node
)
==
T_SubLink
)
if
(
nodeTag
(
yyvsp
[
-
1
].
node
)
==
T_SubLink
)
...
@@ -9310,11 +9312,11 @@ case 678:
...
@@ -9310,11 +9312,11 @@ case 678:
;
;
break
;}
break
;}
case
679
:
case
679
:
#line 38
88
"gram.y"
#line 38
90
"gram.y"
{
saved_In_Expr
=
lcons
(
yyvsp
[
-
2
].
node
,
saved_In_Expr
);
;
{
saved_In_Expr
=
lcons
(
yyvsp
[
-
2
].
node
,
saved_In_Expr
);
;
break
;}
break
;}
case
680
:
case
680
:
#line 38
89
"gram.y"
#line 38
91
"gram.y"
{
{
saved_In_Expr
=
lnext
(
saved_In_Expr
);
saved_In_Expr
=
lnext
(
saved_In_Expr
);
if
(
nodeTag
(
yyvsp
[
-
1
].
node
)
==
T_SubLink
)
if
(
nodeTag
(
yyvsp
[
-
1
].
node
)
==
T_SubLink
)
...
@@ -9330,7 +9332,7 @@ case 680:
...
@@ -9330,7 +9332,7 @@ case 680:
;
;
break
;}
break
;}
case
681
:
case
681
:
#line 390
3
"gram.y"
#line 390
5
"gram.y"
{
{
SubLink
*
n
=
makeNode
(
SubLink
);
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
4
].
node
,
NULL
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
4
].
node
,
NULL
);
...
@@ -9342,7 +9344,7 @@ case 681:
...
@@ -9342,7 +9344,7 @@ case 681:
;
;
break
;}
break
;}
case
682
:
case
682
:
#line 391
3
"gram.y"
#line 391
5
"gram.y"
{
{
SubLink
*
n
=
makeNode
(
SubLink
);
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
4
].
node
,
NULL
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
4
].
node
,
NULL
);
...
@@ -9354,7 +9356,7 @@ case 682:
...
@@ -9354,7 +9356,7 @@ case 682:
;
;
break
;}
break
;}
case
683
:
case
683
:
#line 392
3
"gram.y"
#line 392
5
"gram.y"
{
{
SubLink
*
n
=
makeNode
(
SubLink
);
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
4
].
node
,
NULL
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
4
].
node
,
NULL
);
...
@@ -9366,7 +9368,7 @@ case 683:
...
@@ -9366,7 +9368,7 @@ case 683:
;
;
break
;}
break
;}
case
684
:
case
684
:
#line 393
3
"gram.y"
#line 393
5
"gram.y"
{
{
SubLink
*
n
=
makeNode
(
SubLink
);
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
4
].
node
,
NULL
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
4
].
node
,
NULL
);
...
@@ -9378,7 +9380,7 @@ case 684:
...
@@ -9378,7 +9380,7 @@ case 684:
;
;
break
;}
break
;}
case
685
:
case
685
:
#line 394
3
"gram.y"
#line 394
5
"gram.y"
{
{
SubLink
*
n
=
makeNode
(
SubLink
);
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
4
].
node
,
NULL
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
4
].
node
,
NULL
);
...
@@ -9390,7 +9392,7 @@ case 685:
...
@@ -9390,7 +9392,7 @@ case 685:
;
;
break
;}
break
;}
case
686
:
case
686
:
#line 395
3
"gram.y"
#line 395
5
"gram.y"
{
{
SubLink
*
n
=
makeNode
(
SubLink
);
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
4
].
node
,
NULL
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
4
].
node
,
NULL
);
...
@@ -9402,7 +9404,7 @@ case 686:
...
@@ -9402,7 +9404,7 @@ case 686:
;
;
break
;}
break
;}
case
687
:
case
687
:
#line 396
3
"gram.y"
#line 396
5
"gram.y"
{
{
SubLink
*
n
=
makeNode
(
SubLink
);
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
4
].
node
,
NULL
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
4
].
node
,
NULL
);
...
@@ -9414,7 +9416,7 @@ case 687:
...
@@ -9414,7 +9416,7 @@ case 687:
;
;
break
;}
break
;}
case
688
:
case
688
:
#line 397
3
"gram.y"
#line 397
5
"gram.y"
{
{
SubLink
*
n
=
makeNode
(
SubLink
);
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
4
].
node
,
NULL
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
4
].
node
,
NULL
);
...
@@ -9426,7 +9428,7 @@ case 688:
...
@@ -9426,7 +9428,7 @@ case 688:
;
;
break
;}
break
;}
case
689
:
case
689
:
#line 398
3
"gram.y"
#line 398
5
"gram.y"
{
{
SubLink
*
n
=
makeNode
(
SubLink
);
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
5
].
node
,
NIL
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
5
].
node
,
NIL
);
...
@@ -9438,7 +9440,7 @@ case 689:
...
@@ -9438,7 +9440,7 @@ case 689:
;
;
break
;}
break
;}
case
690
:
case
690
:
#line 399
3
"gram.y"
#line 399
5
"gram.y"
{
{
SubLink
*
n
=
makeNode
(
SubLink
);
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
5
].
node
,
NIL
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
5
].
node
,
NIL
);
...
@@ -9450,7 +9452,7 @@ case 690:
...
@@ -9450,7 +9452,7 @@ case 690:
;
;
break
;}
break
;}
case
691
:
case
691
:
#line 400
3
"gram.y"
#line 400
5
"gram.y"
{
{
SubLink
*
n
=
makeNode
(
SubLink
);
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
5
].
node
,
NIL
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
5
].
node
,
NIL
);
...
@@ -9462,7 +9464,7 @@ case 691:
...
@@ -9462,7 +9464,7 @@ case 691:
;
;
break
;}
break
;}
case
692
:
case
692
:
#line 401
3
"gram.y"
#line 401
5
"gram.y"
{
{
SubLink
*
n
=
makeNode
(
SubLink
);
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
5
].
node
,
NIL
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
5
].
node
,
NIL
);
...
@@ -9474,7 +9476,7 @@ case 692:
...
@@ -9474,7 +9476,7 @@ case 692:
;
;
break
;}
break
;}
case
693
:
case
693
:
#line 402
3
"gram.y"
#line 402
5
"gram.y"
{
{
SubLink
*
n
=
makeNode
(
SubLink
);
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
5
].
node
,
NIL
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
5
].
node
,
NIL
);
...
@@ -9486,7 +9488,7 @@ case 693:
...
@@ -9486,7 +9488,7 @@ case 693:
;
;
break
;}
break
;}
case
694
:
case
694
:
#line 403
3
"gram.y"
#line 403
5
"gram.y"
{
{
SubLink
*
n
=
makeNode
(
SubLink
);
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
5
].
node
,
NIL
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
5
].
node
,
NIL
);
...
@@ -9498,7 +9500,7 @@ case 694:
...
@@ -9498,7 +9500,7 @@ case 694:
;
;
break
;}
break
;}
case
695
:
case
695
:
#line 404
3
"gram.y"
#line 404
5
"gram.y"
{
{
SubLink
*
n
=
makeNode
(
SubLink
);
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
5
].
node
,
NIL
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
5
].
node
,
NIL
);
...
@@ -9510,7 +9512,7 @@ case 695:
...
@@ -9510,7 +9512,7 @@ case 695:
;
;
break
;}
break
;}
case
696
:
case
696
:
#line 405
3
"gram.y"
#line 405
5
"gram.y"
{
{
SubLink
*
n
=
makeNode
(
SubLink
);
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
5
].
node
,
NIL
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
5
].
node
,
NIL
);
...
@@ -9522,7 +9524,7 @@ case 696:
...
@@ -9522,7 +9524,7 @@ case 696:
;
;
break
;}
break
;}
case
697
:
case
697
:
#line 406
3
"gram.y"
#line 406
5
"gram.y"
{
{
SubLink
*
n
=
makeNode
(
SubLink
);
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
5
].
node
,
NULL
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
5
].
node
,
NULL
);
...
@@ -9534,7 +9536,7 @@ case 697:
...
@@ -9534,7 +9536,7 @@ case 697:
;
;
break
;}
break
;}
case
698
:
case
698
:
#line 407
3
"gram.y"
#line 407
5
"gram.y"
{
{
SubLink
*
n
=
makeNode
(
SubLink
);
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
5
].
node
,
NULL
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
5
].
node
,
NULL
);
...
@@ -9546,7 +9548,7 @@ case 698:
...
@@ -9546,7 +9548,7 @@ case 698:
;
;
break
;}
break
;}
case
699
:
case
699
:
#line 408
3
"gram.y"
#line 408
5
"gram.y"
{
{
SubLink
*
n
=
makeNode
(
SubLink
);
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
5
].
node
,
NULL
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
5
].
node
,
NULL
);
...
@@ -9558,7 +9560,7 @@ case 699:
...
@@ -9558,7 +9560,7 @@ case 699:
;
;
break
;}
break
;}
case
700
:
case
700
:
#line 409
3
"gram.y"
#line 409
5
"gram.y"
{
{
SubLink
*
n
=
makeNode
(
SubLink
);
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
5
].
node
,
NULL
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
5
].
node
,
NULL
);
...
@@ -9570,7 +9572,7 @@ case 700:
...
@@ -9570,7 +9572,7 @@ case 700:
;
;
break
;}
break
;}
case
701
:
case
701
:
#line 410
3
"gram.y"
#line 410
5
"gram.y"
{
{
SubLink
*
n
=
makeNode
(
SubLink
);
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
5
].
node
,
NULL
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
5
].
node
,
NULL
);
...
@@ -9582,7 +9584,7 @@ case 701:
...
@@ -9582,7 +9584,7 @@ case 701:
;
;
break
;}
break
;}
case
702
:
case
702
:
#line 411
3
"gram.y"
#line 411
5
"gram.y"
{
{
SubLink
*
n
=
makeNode
(
SubLink
);
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
5
].
node
,
NULL
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
5
].
node
,
NULL
);
...
@@ -9594,7 +9596,7 @@ case 702:
...
@@ -9594,7 +9596,7 @@ case 702:
;
;
break
;}
break
;}
case
703
:
case
703
:
#line 412
3
"gram.y"
#line 412
5
"gram.y"
{
{
SubLink
*
n
=
makeNode
(
SubLink
);
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
5
].
node
,
NULL
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
5
].
node
,
NULL
);
...
@@ -9606,7 +9608,7 @@ case 703:
...
@@ -9606,7 +9608,7 @@ case 703:
;
;
break
;}
break
;}
case
704
:
case
704
:
#line 413
3
"gram.y"
#line 413
5
"gram.y"
{
{
SubLink
*
n
=
makeNode
(
SubLink
);
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
5
].
node
,
NULL
);
n
->
lefthand
=
lcons
(
yyvsp
[
-
5
].
node
,
NULL
);
...
@@ -9618,34 +9620,34 @@ case 704:
...
@@ -9618,34 +9620,34 @@ case 704:
;
;
break
;}
break
;}
case
705
:
case
705
:
#line 414
3
"gram.y"
#line 414
5
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
AND
,
NULL
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
{
yyval
.
node
=
makeA_Expr
(
AND
,
NULL
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
break
;}
break
;}
case
706
:
case
706
:
#line 414
5
"gram.y"
#line 414
7
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OR
,
NULL
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
{
yyval
.
node
=
makeA_Expr
(
OR
,
NULL
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
break
;}
break
;}
case
707
:
case
707
:
#line 414
7
"gram.y"
#line 414
9
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
NOT
,
NULL
,
NULL
,
yyvsp
[
0
].
node
);
;
{
yyval
.
node
=
makeA_Expr
(
NOT
,
NULL
,
NULL
,
yyvsp
[
0
].
node
);
;
break
;}
break
;}
case
708
:
case
708
:
#line 41
49
"gram.y"
#line 41
51
"gram.y"
{
yyval
.
node
=
yyvsp
[
0
].
node
;
;
{
yyval
.
node
=
yyvsp
[
0
].
node
;
;
break
;}
break
;}
case
709
:
case
709
:
#line 41
58
"gram.y"
#line 41
60
"gram.y"
{
{
yyvsp
[
-
1
].
attr
->
indirection
=
yyvsp
[
0
].
list
;
yyvsp
[
-
1
].
attr
->
indirection
=
yyvsp
[
0
].
list
;
yyval
.
node
=
(
Node
*
)
yyvsp
[
-
1
].
attr
;
yyval
.
node
=
(
Node
*
)
yyvsp
[
-
1
].
attr
;
;
;
break
;}
break
;}
case
710
:
case
710
:
#line 416
3
"gram.y"
#line 416
5
"gram.y"
{
yyval
.
node
=
yyvsp
[
0
].
node
;
;
{
yyval
.
node
=
yyvsp
[
0
].
node
;
;
break
;}
break
;}
case
711
:
case
711
:
#line 416
5
"gram.y"
#line 416
7
"gram.y"
{
{
/* could be a column name or a relation_name */
/* could be a column name or a relation_name */
Ident
*
n
=
makeNode
(
Ident
);
Ident
*
n
=
makeNode
(
Ident
);
...
@@ -9655,39 +9657,39 @@ case 711:
...
@@ -9655,39 +9657,39 @@ case 711:
;
;
break
;}
break
;}
case
712
:
case
712
:
#line 417
3
"gram.y"
#line 417
5
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
"-"
,
NULL
,
yyvsp
[
0
].
node
);
;
{
yyval
.
node
=
makeA_Expr
(
OP
,
"-"
,
NULL
,
yyvsp
[
0
].
node
);
;
break
;}
break
;}
case
713
:
case
713
:
#line 417
5
"gram.y"
#line 417
7
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
"+"
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
{
yyval
.
node
=
makeA_Expr
(
OP
,
"+"
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
break
;}
break
;}
case
714
:
case
714
:
#line 417
7
"gram.y"
#line 417
9
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
"-"
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
{
yyval
.
node
=
makeA_Expr
(
OP
,
"-"
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
break
;}
break
;}
case
715
:
case
715
:
#line 41
79
"gram.y"
#line 41
81
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
"/"
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
{
yyval
.
node
=
makeA_Expr
(
OP
,
"/"
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
break
;}
break
;}
case
716
:
case
716
:
#line 418
1
"gram.y"
#line 418
3
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
"*"
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
{
yyval
.
node
=
makeA_Expr
(
OP
,
"*"
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
break
;}
break
;}
case
717
:
case
717
:
#line 418
3
"gram.y"
#line 418
5
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
":"
,
NULL
,
yyvsp
[
0
].
node
);
;
{
yyval
.
node
=
makeA_Expr
(
OP
,
":"
,
NULL
,
yyvsp
[
0
].
node
);
;
break
;}
break
;}
case
718
:
case
718
:
#line 418
5
"gram.y"
#line 418
7
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
";"
,
NULL
,
yyvsp
[
0
].
node
);
;
{
yyval
.
node
=
makeA_Expr
(
OP
,
";"
,
NULL
,
yyvsp
[
0
].
node
);
;
break
;}
break
;}
case
719
:
case
719
:
#line 418
7
"gram.y"
#line 418
9
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
"|"
,
NULL
,
yyvsp
[
0
].
node
);
;
{
yyval
.
node
=
makeA_Expr
(
OP
,
"|"
,
NULL
,
yyvsp
[
0
].
node
);
;
break
;}
break
;}
case
720
:
case
720
:
#line 41
89
"gram.y"
#line 41
91
"gram.y"
{
{
yyval
.
node
=
(
Node
*
)
yyvsp
[
-
2
].
node
;
yyval
.
node
=
(
Node
*
)
yyvsp
[
-
2
].
node
;
/* AexprConst can be either A_Const or ParamNo */
/* AexprConst can be either A_Const or ParamNo */
...
@@ -9705,7 +9707,7 @@ case 720:
...
@@ -9705,7 +9707,7 @@ case 720:
;
;
break
;}
break
;}
case
721
:
case
721
:
#line 420
5
"gram.y"
#line 420
7
"gram.y"
{
{
yyval
.
node
=
(
Node
*
)
yyvsp
[
-
3
].
node
;
yyval
.
node
=
(
Node
*
)
yyvsp
[
-
3
].
node
;
/* AexprConst can be either A_Const or ParamNo */
/* AexprConst can be either A_Const or ParamNo */
...
@@ -9723,23 +9725,23 @@ case 721:
...
@@ -9723,23 +9725,23 @@ case 721:
;
;
break
;}
break
;}
case
722
:
case
722
:
#line 422
1
"gram.y"
#line 422
3
"gram.y"
{
yyval
.
node
=
yyvsp
[
-
1
].
node
;
;
{
yyval
.
node
=
yyvsp
[
-
1
].
node
;
;
break
;}
break
;}
case
723
:
case
723
:
#line 422
3
"gram.y"
#line 422
5
"gram.y"
{
yyval
.
node
=
makeIndexable
(
yyvsp
[
-
1
].
str
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
{
yyval
.
node
=
makeIndexable
(
yyvsp
[
-
1
].
str
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
break
;}
break
;}
case
724
:
case
724
:
#line 422
5
"gram.y"
#line 422
7
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
yyvsp
[
-
1
].
str
,
NULL
,
yyvsp
[
0
].
node
);
;
{
yyval
.
node
=
makeA_Expr
(
OP
,
yyvsp
[
-
1
].
str
,
NULL
,
yyvsp
[
0
].
node
);
;
break
;}
break
;}
case
725
:
case
725
:
#line 422
7
"gram.y"
#line 422
9
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
yyvsp
[
0
].
str
,
yyvsp
[
-
1
].
node
,
NULL
);
;
{
yyval
.
node
=
makeA_Expr
(
OP
,
yyvsp
[
0
].
str
,
yyvsp
[
-
1
].
node
,
NULL
);
;
break
;}
break
;}
case
726
:
case
726
:
#line 42
29
"gram.y"
#line 42
31
"gram.y"
{
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
yyvsp
[
-
2
].
str
;
n
->
funcname
=
yyvsp
[
-
2
].
str
;
...
@@ -9748,7 +9750,7 @@ case 726:
...
@@ -9748,7 +9750,7 @@ case 726:
;
;
break
;}
break
;}
case
727
:
case
727
:
#line 423
6
"gram.y"
#line 423
8
"gram.y"
{
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
yyvsp
[
-
3
].
str
;
n
->
funcname
=
yyvsp
[
-
3
].
str
;
...
@@ -9757,7 +9759,7 @@ case 727:
...
@@ -9757,7 +9759,7 @@ case 727:
;
;
break
;}
break
;}
case
728
:
case
728
:
#line 424
3
"gram.y"
#line 424
5
"gram.y"
{
{
A_Const
*
n
=
makeNode
(
A_Const
);
A_Const
*
n
=
makeNode
(
A_Const
);
TypeName
*
t
=
makeNode
(
TypeName
);
TypeName
*
t
=
makeNode
(
TypeName
);
...
@@ -9774,7 +9776,7 @@ case 728:
...
@@ -9774,7 +9776,7 @@ case 728:
;
;
break
;}
break
;}
case
729
:
case
729
:
#line 42
58
"gram.y"
#line 42
60
"gram.y"
{
{
A_Const
*
n
=
makeNode
(
A_Const
);
A_Const
*
n
=
makeNode
(
A_Const
);
TypeName
*
t
=
makeNode
(
TypeName
);
TypeName
*
t
=
makeNode
(
TypeName
);
...
@@ -9791,7 +9793,7 @@ case 729:
...
@@ -9791,7 +9793,7 @@ case 729:
;
;
break
;}
break
;}
case
730
:
case
730
:
#line 427
3
"gram.y"
#line 427
5
"gram.y"
{
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
FuncCall
*
n
=
makeNode
(
FuncCall
);
A_Const
*
s
=
makeNode
(
A_Const
);
A_Const
*
s
=
makeNode
(
A_Const
);
...
@@ -9815,7 +9817,7 @@ case 730:
...
@@ -9815,7 +9817,7 @@ case 730:
;
;
break
;}
break
;}
case
731
:
case
731
:
#line 429
5
"gram.y"
#line 429
7
"gram.y"
{
{
A_Const
*
n
=
makeNode
(
A_Const
);
A_Const
*
n
=
makeNode
(
A_Const
);
TypeName
*
t
=
makeNode
(
TypeName
);
TypeName
*
t
=
makeNode
(
TypeName
);
...
@@ -9832,7 +9834,7 @@ case 731:
...
@@ -9832,7 +9834,7 @@ case 731:
;
;
break
;}
break
;}
case
732
:
case
732
:
#line 431
0
"gram.y"
#line 431
2
"gram.y"
{
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
FuncCall
*
n
=
makeNode
(
FuncCall
);
A_Const
*
s
=
makeNode
(
A_Const
);
A_Const
*
s
=
makeNode
(
A_Const
);
...
@@ -9856,7 +9858,7 @@ case 732:
...
@@ -9856,7 +9858,7 @@ case 732:
;
;
break
;}
break
;}
case
733
:
case
733
:
#line 433
2
"gram.y"
#line 433
4
"gram.y"
{
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
"getpgusername"
;
n
->
funcname
=
"getpgusername"
;
...
@@ -9865,7 +9867,7 @@ case 733:
...
@@ -9865,7 +9867,7 @@ case 733:
;
;
break
;}
break
;}
case
734
:
case
734
:
#line 43
39
"gram.y"
#line 43
41
"gram.y"
{
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
"getpgusername"
;
n
->
funcname
=
"getpgusername"
;
...
@@ -9874,7 +9876,7 @@ case 734:
...
@@ -9874,7 +9876,7 @@ case 734:
;
;
break
;}
break
;}
case
735
:
case
735
:
#line 434
6
"gram.y"
#line 434
8
"gram.y"
{
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
"strpos"
;
n
->
funcname
=
"strpos"
;
...
@@ -9883,7 +9885,7 @@ case 735:
...
@@ -9883,7 +9885,7 @@ case 735:
;
;
break
;}
break
;}
case
736
:
case
736
:
#line 435
3
"gram.y"
#line 435
5
"gram.y"
{
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
"substr"
;
n
->
funcname
=
"substr"
;
...
@@ -9892,7 +9894,7 @@ case 736:
...
@@ -9892,7 +9894,7 @@ case 736:
;
;
break
;}
break
;}
case
737
:
case
737
:
#line 436
1
"gram.y"
#line 436
3
"gram.y"
{
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
"btrim"
;
n
->
funcname
=
"btrim"
;
...
@@ -9901,7 +9903,7 @@ case 737:
...
@@ -9901,7 +9903,7 @@ case 737:
;
;
break
;}
break
;}
case
738
:
case
738
:
#line 43
68
"gram.y"
#line 43
70
"gram.y"
{
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
"ltrim"
;
n
->
funcname
=
"ltrim"
;
...
@@ -9910,7 +9912,7 @@ case 738:
...
@@ -9910,7 +9912,7 @@ case 738:
;
;
break
;}
break
;}
case
739
:
case
739
:
#line 437
5
"gram.y"
#line 437
7
"gram.y"
{
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
"rtrim"
;
n
->
funcname
=
"rtrim"
;
...
@@ -9919,7 +9921,7 @@ case 739:
...
@@ -9919,7 +9921,7 @@ case 739:
;
;
break
;}
break
;}
case
740
:
case
740
:
#line 438
2
"gram.y"
#line 438
4
"gram.y"
{
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
"btrim"
;
n
->
funcname
=
"btrim"
;
...
@@ -9928,7 +9930,7 @@ case 740:
...
@@ -9928,7 +9930,7 @@ case 740:
;
;
break
;}
break
;}
case
741
:
case
741
:
#line 439
1
"gram.y"
#line 439
3
"gram.y"
{
{
A_Indices
*
ai
=
makeNode
(
A_Indices
);
A_Indices
*
ai
=
makeNode
(
A_Indices
);
ai
->
lidx
=
NULL
;
ai
->
lidx
=
NULL
;
...
@@ -9937,7 +9939,7 @@ case 741:
...
@@ -9937,7 +9939,7 @@ case 741:
;
;
break
;}
break
;}
case
742
:
case
742
:
#line 4
398
"gram.y"
#line 4
400
"gram.y"
{
{
A_Indices
*
ai
=
makeNode
(
A_Indices
);
A_Indices
*
ai
=
makeNode
(
A_Indices
);
ai
->
lidx
=
yyvsp
[
-
4
].
node
;
ai
->
lidx
=
yyvsp
[
-
4
].
node
;
...
@@ -9946,23 +9948,23 @@ case 742:
...
@@ -9946,23 +9948,23 @@ case 742:
;
;
break
;}
break
;}
case
743
:
case
743
:
#line 440
5
"gram.y"
#line 440
7
"gram.y"
{
yyval
.
list
=
NIL
;
;
{
yyval
.
list
=
NIL
;
;
break
;}
break
;}
case
744
:
case
744
:
#line 44
09
"gram.y"
#line 44
11
"gram.y"
{
yyval
.
list
=
lcons
(
yyvsp
[
0
].
node
,
NIL
);
;
{
yyval
.
list
=
lcons
(
yyvsp
[
0
].
node
,
NIL
);
;
break
;}
break
;}
case
745
:
case
745
:
#line 441
1
"gram.y"
#line 441
3
"gram.y"
{
yyval
.
list
=
lappend
(
yyvsp
[
-
2
].
list
,
yyvsp
[
0
].
node
);
;
{
yyval
.
list
=
lappend
(
yyvsp
[
-
2
].
list
,
yyvsp
[
0
].
node
);
;
break
;}
break
;}
case
746
:
case
746
:
#line 441
3
"gram.y"
#line 441
5
"gram.y"
{
yyval
.
list
=
lappend
(
yyvsp
[
-
2
].
list
,
yyvsp
[
0
].
node
);
;
{
yyval
.
list
=
lappend
(
yyvsp
[
-
2
].
list
,
yyvsp
[
0
].
node
);
;
break
;}
break
;}
case
747
:
case
747
:
#line 441
7
"gram.y"
#line 441
9
"gram.y"
{
{
A_Const
*
n
=
makeNode
(
A_Const
);
A_Const
*
n
=
makeNode
(
A_Const
);
n
->
val
.
type
=
T_String
;
n
->
val
.
type
=
T_String
;
...
@@ -9971,66 +9973,66 @@ case 747:
...
@@ -9971,66 +9973,66 @@ case 747:
;
;
break
;}
break
;}
case
748
:
case
748
:
#line 442
4
"gram.y"
#line 442
6
"gram.y"
{
yyval
.
list
=
NIL
;
;
{
yyval
.
list
=
NIL
;
;
break
;}
break
;}
case
749
:
case
749
:
#line 442
7
"gram.y"
#line 442
9
"gram.y"
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
break
;}
break
;}
case
750
:
case
750
:
#line 44
28
"gram.y"
#line 44
30
"gram.y"
{
yyval
.
str
=
"tz_hour"
;
;
{
yyval
.
str
=
"tz_hour"
;
;
break
;}
break
;}
case
751
:
case
751
:
#line 44
29
"gram.y"
#line 44
31
"gram.y"
{
yyval
.
str
=
"tz_minute"
;
;
{
yyval
.
str
=
"tz_minute"
;
;
break
;}
break
;}
case
752
:
case
752
:
#line 443
3
"gram.y"
#line 443
5
"gram.y"
{
yyval
.
list
=
makeList
(
yyvsp
[
0
].
node
,
yyvsp
[
-
2
].
node
,
-
1
);
;
{
yyval
.
list
=
makeList
(
yyvsp
[
0
].
node
,
yyvsp
[
-
2
].
node
,
-
1
);
;
break
;}
break
;}
case
753
:
case
753
:
#line 443
5
"gram.y"
#line 443
7
"gram.y"
{
yyval
.
list
=
NIL
;
;
{
yyval
.
list
=
NIL
;
;
break
;}
break
;}
case
754
:
case
754
:
#line 44
39
"gram.y"
#line 44
41
"gram.y"
{
{
yyvsp
[
-
1
].
attr
->
indirection
=
yyvsp
[
0
].
list
;
yyvsp
[
-
1
].
attr
->
indirection
=
yyvsp
[
0
].
list
;
yyval
.
node
=
(
Node
*
)
yyvsp
[
-
1
].
attr
;
yyval
.
node
=
(
Node
*
)
yyvsp
[
-
1
].
attr
;
;
;
break
;}
break
;}
case
755
:
case
755
:
#line 444
4
"gram.y"
#line 444
6
"gram.y"
{
yyval
.
node
=
yyvsp
[
0
].
node
;
;
{
yyval
.
node
=
yyvsp
[
0
].
node
;
;
break
;}
break
;}
case
756
:
case
756
:
#line 444
6
"gram.y"
#line 444
8
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
"-"
,
NULL
,
yyvsp
[
0
].
node
);
;
{
yyval
.
node
=
makeA_Expr
(
OP
,
"-"
,
NULL
,
yyvsp
[
0
].
node
);
;
break
;}
break
;}
case
757
:
case
757
:
#line 44
48
"gram.y"
#line 44
50
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
"+"
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
{
yyval
.
node
=
makeA_Expr
(
OP
,
"+"
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
break
;}
break
;}
case
758
:
case
758
:
#line 445
0
"gram.y"
#line 445
2
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
"-"
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
{
yyval
.
node
=
makeA_Expr
(
OP
,
"-"
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
break
;}
break
;}
case
759
:
case
759
:
#line 445
2
"gram.y"
#line 445
4
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
"/"
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
{
yyval
.
node
=
makeA_Expr
(
OP
,
"/"
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
break
;}
break
;}
case
760
:
case
760
:
#line 445
4
"gram.y"
#line 445
6
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
"*"
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
{
yyval
.
node
=
makeA_Expr
(
OP
,
"*"
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
break
;}
break
;}
case
761
:
case
761
:
#line 445
6
"gram.y"
#line 445
8
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
"|"
,
NULL
,
yyvsp
[
0
].
node
);
;
{
yyval
.
node
=
makeA_Expr
(
OP
,
"|"
,
NULL
,
yyvsp
[
0
].
node
);
;
break
;}
break
;}
case
762
:
case
762
:
#line 44
58
"gram.y"
#line 44
60
"gram.y"
{
{
yyval
.
node
=
(
Node
*
)
yyvsp
[
-
2
].
node
;
yyval
.
node
=
(
Node
*
)
yyvsp
[
-
2
].
node
;
/* AexprConst can be either A_Const or ParamNo */
/* AexprConst can be either A_Const or ParamNo */
...
@@ -10048,7 +10050,7 @@ case 762:
...
@@ -10048,7 +10050,7 @@ case 762:
;
;
break
;}
break
;}
case
763
:
case
763
:
#line 447
4
"gram.y"
#line 447
6
"gram.y"
{
{
yyval
.
node
=
(
Node
*
)
yyvsp
[
-
3
].
node
;
yyval
.
node
=
(
Node
*
)
yyvsp
[
-
3
].
node
;
/* AexprConst can be either A_Const or ParamNo */
/* AexprConst can be either A_Const or ParamNo */
...
@@ -10066,23 +10068,23 @@ case 763:
...
@@ -10066,23 +10068,23 @@ case 763:
;
;
break
;}
break
;}
case
764
:
case
764
:
#line 449
0
"gram.y"
#line 449
2
"gram.y"
{
yyval
.
node
=
yyvsp
[
-
1
].
node
;
;
{
yyval
.
node
=
yyvsp
[
-
1
].
node
;
;
break
;}
break
;}
case
765
:
case
765
:
#line 449
2
"gram.y"
#line 449
4
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
yyvsp
[
-
1
].
str
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
{
yyval
.
node
=
makeA_Expr
(
OP
,
yyvsp
[
-
1
].
str
,
yyvsp
[
-
2
].
node
,
yyvsp
[
0
].
node
);
;
break
;}
break
;}
case
766
:
case
766
:
#line 449
4
"gram.y"
#line 449
6
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
yyvsp
[
-
1
].
str
,
NULL
,
yyvsp
[
0
].
node
);
;
{
yyval
.
node
=
makeA_Expr
(
OP
,
yyvsp
[
-
1
].
str
,
NULL
,
yyvsp
[
0
].
node
);
;
break
;}
break
;}
case
767
:
case
767
:
#line 449
6
"gram.y"
#line 449
8
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
yyvsp
[
0
].
str
,
yyvsp
[
-
1
].
node
,
NULL
);
;
{
yyval
.
node
=
makeA_Expr
(
OP
,
yyvsp
[
0
].
str
,
yyvsp
[
-
1
].
node
,
NULL
);
;
break
;}
break
;}
case
768
:
case
768
:
#line 4
498
"gram.y"
#line 4
500
"gram.y"
{
{
/* could be a column name or a relation_name */
/* could be a column name or a relation_name */
Ident
*
n
=
makeNode
(
Ident
);
Ident
*
n
=
makeNode
(
Ident
);
...
@@ -10092,7 +10094,7 @@ case 768:
...
@@ -10092,7 +10094,7 @@ case 768:
;
;
break
;}
break
;}
case
769
:
case
769
:
#line 450
6
"gram.y"
#line 450
8
"gram.y"
{
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
yyvsp
[
-
2
].
str
;
n
->
funcname
=
yyvsp
[
-
2
].
str
;
...
@@ -10101,7 +10103,7 @@ case 769:
...
@@ -10101,7 +10103,7 @@ case 769:
;
;
break
;}
break
;}
case
770
:
case
770
:
#line 451
3
"gram.y"
#line 451
5
"gram.y"
{
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
yyvsp
[
-
3
].
str
;
n
->
funcname
=
yyvsp
[
-
3
].
str
;
...
@@ -10110,7 +10112,7 @@ case 770:
...
@@ -10110,7 +10112,7 @@ case 770:
;
;
break
;}
break
;}
case
771
:
case
771
:
#line 452
0
"gram.y"
#line 452
2
"gram.y"
{
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
"strpos"
;
n
->
funcname
=
"strpos"
;
...
@@ -10119,7 +10121,7 @@ case 771:
...
@@ -10119,7 +10121,7 @@ case 771:
;
;
break
;}
break
;}
case
772
:
case
772
:
#line 452
7
"gram.y"
#line 452
9
"gram.y"
{
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
"substr"
;
n
->
funcname
=
"substr"
;
...
@@ -10128,7 +10130,7 @@ case 772:
...
@@ -10128,7 +10130,7 @@ case 772:
;
;
break
;}
break
;}
case
773
:
case
773
:
#line 453
5
"gram.y"
#line 453
7
"gram.y"
{
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
"btrim"
;
n
->
funcname
=
"btrim"
;
...
@@ -10137,7 +10139,7 @@ case 773:
...
@@ -10137,7 +10139,7 @@ case 773:
;
;
break
;}
break
;}
case
774
:
case
774
:
#line 454
2
"gram.y"
#line 454
4
"gram.y"
{
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
"ltrim"
;
n
->
funcname
=
"ltrim"
;
...
@@ -10146,7 +10148,7 @@ case 774:
...
@@ -10146,7 +10148,7 @@ case 774:
;
;
break
;}
break
;}
case
775
:
case
775
:
#line 45
49
"gram.y"
#line 45
51
"gram.y"
{
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
"rtrim"
;
n
->
funcname
=
"rtrim"
;
...
@@ -10155,7 +10157,7 @@ case 775:
...
@@ -10155,7 +10157,7 @@ case 775:
;
;
break
;}
break
;}
case
776
:
case
776
:
#line 455
6
"gram.y"
#line 455
8
"gram.y"
{
{
FuncCall
*
n
=
makeNode
(
FuncCall
);
FuncCall
*
n
=
makeNode
(
FuncCall
);
n
->
funcname
=
"btrim"
;
n
->
funcname
=
"btrim"
;
...
@@ -10164,21 +10166,21 @@ case 776:
...
@@ -10164,21 +10166,21 @@ case 776:
;
;
break
;}
break
;}
case
777
:
case
777
:
#line 456
5
"gram.y"
#line 456
7
"gram.y"
{
{
yyval
.
list
=
nconc
(
nconc
(
yyvsp
[
-
2
].
list
,
yyvsp
[
-
1
].
list
),
yyvsp
[
0
].
list
);
yyval
.
list
=
nconc
(
nconc
(
yyvsp
[
-
2
].
list
,
yyvsp
[
-
1
].
list
),
yyvsp
[
0
].
list
);
;
;
break
;}
break
;}
case
778
:
case
778
:
#line 45
69
"gram.y"
#line 45
71
"gram.y"
{
yyval
.
list
=
NIL
;
;
{
yyval
.
list
=
NIL
;
;
break
;}
break
;}
case
779
:
case
779
:
#line 457
3
"gram.y"
#line 457
5
"gram.y"
{
yyval
.
list
=
yyvsp
[
0
].
list
;
;
{
yyval
.
list
=
yyvsp
[
0
].
list
;
;
break
;}
break
;}
case
780
:
case
780
:
#line 457
5
"gram.y"
#line 457
7
"gram.y"
{
{
A_Const
*
n
=
makeNode
(
A_Const
);
A_Const
*
n
=
makeNode
(
A_Const
);
n
->
val
.
type
=
T_Integer
;
n
->
val
.
type
=
T_Integer
;
...
@@ -10187,27 +10189,27 @@ case 780:
...
@@ -10187,27 +10189,27 @@ case 780:
;
;
break
;}
break
;}
case
781
:
case
781
:
#line 458
4
"gram.y"
#line 458
6
"gram.y"
{
yyval
.
list
=
yyvsp
[
0
].
list
;
;
{
yyval
.
list
=
yyvsp
[
0
].
list
;
;
break
;}
break
;}
case
782
:
case
782
:
#line 458
6
"gram.y"
#line 458
8
"gram.y"
{
yyval
.
list
=
NIL
;
;
{
yyval
.
list
=
NIL
;
;
break
;}
break
;}
case
783
:
case
783
:
#line 459
0
"gram.y"
#line 459
2
"gram.y"
{
yyval
.
list
=
lappend
(
yyvsp
[
0
].
list
,
yyvsp
[
-
2
].
node
);
;
{
yyval
.
list
=
lappend
(
yyvsp
[
0
].
list
,
yyvsp
[
-
2
].
node
);
;
break
;}
break
;}
case
784
:
case
784
:
#line 459
2
"gram.y"
#line 459
4
"gram.y"
{
yyval
.
list
=
yyvsp
[
0
].
list
;
;
{
yyval
.
list
=
yyvsp
[
0
].
list
;
;
break
;}
break
;}
case
785
:
case
785
:
#line 459
4
"gram.y"
#line 459
6
"gram.y"
{
yyval
.
list
=
yyvsp
[
0
].
list
;
;
{
yyval
.
list
=
yyvsp
[
0
].
list
;
;
break
;}
break
;}
case
786
:
case
786
:
#line 4
598
"gram.y"
#line 4
600
"gram.y"
{
{
SubLink
*
n
=
makeNode
(
SubLink
);
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
subselect
=
yyvsp
[
0
].
node
;
n
->
subselect
=
yyvsp
[
0
].
node
;
...
@@ -10215,21 +10217,21 @@ case 786:
...
@@ -10215,21 +10217,21 @@ case 786:
;
;
break
;}
break
;}
case
787
:
case
787
:
#line 460
4
"gram.y"
#line 460
6
"gram.y"
{
yyval
.
node
=
yyvsp
[
0
].
node
;
;
{
yyval
.
node
=
yyvsp
[
0
].
node
;
;
break
;}
break
;}
case
788
:
case
788
:
#line 46
08
"gram.y"
#line 46
10
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
"="
,
lfirst
(
saved_In_Expr
),
yyvsp
[
0
].
node
);
;
{
yyval
.
node
=
makeA_Expr
(
OP
,
"="
,
lfirst
(
saved_In_Expr
),
yyvsp
[
0
].
node
);
;
break
;}
break
;}
case
789
:
case
789
:
#line 461
0
"gram.y"
#line 461
2
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OR
,
NULL
,
yyvsp
[
-
2
].
node
,
{
yyval
.
node
=
makeA_Expr
(
OR
,
NULL
,
yyvsp
[
-
2
].
node
,
makeA_Expr
(
OP
,
"="
,
lfirst
(
saved_In_Expr
),
yyvsp
[
0
].
node
));
makeA_Expr
(
OP
,
"="
,
lfirst
(
saved_In_Expr
),
yyvsp
[
0
].
node
));
;
;
break
;}
break
;}
case
790
:
case
790
:
#line 461
6
"gram.y"
#line 461
8
"gram.y"
{
{
SubLink
*
n
=
makeNode
(
SubLink
);
SubLink
*
n
=
makeNode
(
SubLink
);
n
->
subselect
=
yyvsp
[
0
].
node
;
n
->
subselect
=
yyvsp
[
0
].
node
;
...
@@ -10237,21 +10239,21 @@ case 790:
...
@@ -10237,21 +10239,21 @@ case 790:
;
;
break
;}
break
;}
case
791
:
case
791
:
#line 462
2
"gram.y"
#line 462
4
"gram.y"
{
yyval
.
node
=
yyvsp
[
0
].
node
;
;
{
yyval
.
node
=
yyvsp
[
0
].
node
;
;
break
;}
break
;}
case
792
:
case
792
:
#line 462
6
"gram.y"
#line 462
8
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
OP
,
"<>"
,
lfirst
(
saved_In_Expr
),
yyvsp
[
0
].
node
);
;
{
yyval
.
node
=
makeA_Expr
(
OP
,
"<>"
,
lfirst
(
saved_In_Expr
),
yyvsp
[
0
].
node
);
;
break
;}
break
;}
case
793
:
case
793
:
#line 46
28
"gram.y"
#line 46
30
"gram.y"
{
yyval
.
node
=
makeA_Expr
(
AND
,
NULL
,
yyvsp
[
-
2
].
node
,
{
yyval
.
node
=
makeA_Expr
(
AND
,
NULL
,
yyvsp
[
-
2
].
node
,
makeA_Expr
(
OP
,
"<>"
,
lfirst
(
saved_In_Expr
),
yyvsp
[
0
].
node
));
makeA_Expr
(
OP
,
"<>"
,
lfirst
(
saved_In_Expr
),
yyvsp
[
0
].
node
));
;
;
break
;}
break
;}
case
794
:
case
794
:
#line 46
49
"gram.y"
#line 46
51
"gram.y"
{
{
CaseExpr
*
c
=
makeNode
(
CaseExpr
);
CaseExpr
*
c
=
makeNode
(
CaseExpr
);
c
->
arg
=
yyvsp
[
-
3
].
node
;
c
->
arg
=
yyvsp
[
-
3
].
node
;
...
@@ -10261,7 +10263,7 @@ case 794:
...
@@ -10261,7 +10263,7 @@ case 794:
;
;
break
;}
break
;}
case
795
:
case
795
:
#line 465
7
"gram.y"
#line 465
9
"gram.y"
{
{
CaseExpr
*
c
=
makeNode
(
CaseExpr
);
CaseExpr
*
c
=
makeNode
(
CaseExpr
);
CaseWhen
*
w
=
makeNode
(
CaseWhen
);
CaseWhen
*
w
=
makeNode
(
CaseWhen
);
...
@@ -10274,7 +10276,7 @@ case 795:
...
@@ -10274,7 +10276,7 @@ case 795:
;
;
break
;}
break
;}
case
796
:
case
796
:
#line 46
68
"gram.y"
#line 46
70
"gram.y"
{
{
CaseExpr
*
c
=
makeNode
(
CaseExpr
);
CaseExpr
*
c
=
makeNode
(
CaseExpr
);
CaseWhen
*
w
;
CaseWhen
*
w
;
...
@@ -10292,15 +10294,15 @@ case 796:
...
@@ -10292,15 +10294,15 @@ case 796:
;
;
break
;}
break
;}
case
797
:
case
797
:
#line 468
6
"gram.y"
#line 468
8
"gram.y"
{
yyval
.
list
=
lappend
(
yyvsp
[
-
1
].
list
,
yyvsp
[
0
].
node
);
;
{
yyval
.
list
=
lappend
(
yyvsp
[
-
1
].
list
,
yyvsp
[
0
].
node
);
;
break
;}
break
;}
case
798
:
case
798
:
#line 46
88
"gram.y"
#line 46
90
"gram.y"
{
yyval
.
list
=
lcons
(
yyvsp
[
0
].
node
,
NIL
);
;
{
yyval
.
list
=
lcons
(
yyvsp
[
0
].
node
,
NIL
);
;
break
;}
break
;}
case
799
:
case
799
:
#line 469
2
"gram.y"
#line 469
4
"gram.y"
{
{
CaseWhen
*
w
=
makeNode
(
CaseWhen
);
CaseWhen
*
w
=
makeNode
(
CaseWhen
);
w
->
expr
=
yyvsp
[
-
2
].
node
;
w
->
expr
=
yyvsp
[
-
2
].
node
;
...
@@ -10309,22 +10311,22 @@ case 799:
...
@@ -10309,22 +10311,22 @@ case 799:
;
;
break
;}
break
;}
case
800
:
case
800
:
#line 470
0
"gram.y"
#line 470
2
"gram.y"
{
yyval
.
node
=
yyvsp
[
0
].
node
;
;
{
yyval
.
node
=
yyvsp
[
0
].
node
;
;
break
;}
break
;}
case
801
:
case
801
:
#line 470
1
"gram.y"
#line 470
3
"gram.y"
{
yyval
.
node
=
NULL
;
;
{
yyval
.
node
=
NULL
;
;
break
;}
break
;}
case
802
:
case
802
:
#line 470
5
"gram.y"
#line 470
7
"gram.y"
{
{
yyvsp
[
-
1
].
attr
->
indirection
=
yyvsp
[
0
].
list
;
yyvsp
[
-
1
].
attr
->
indirection
=
yyvsp
[
0
].
list
;
yyval
.
node
=
(
Node
*
)
yyvsp
[
-
1
].
attr
;
yyval
.
node
=
(
Node
*
)
yyvsp
[
-
1
].
attr
;
;
;
break
;}
break
;}
case
803
:
case
803
:
#line 471
0
"gram.y"
#line 471
2
"gram.y"
{
{
/* could be a column name or a relation_name */
/* could be a column name or a relation_name */
Ident
*
n
=
makeNode
(
Ident
);
Ident
*
n
=
makeNode
(
Ident
);
...
@@ -10334,11 +10336,11 @@ case 803:
...
@@ -10334,11 +10336,11 @@ case 803:
;
;
break
;}
break
;}
case
804
:
case
804
:
#line 47
18
"gram.y"
#line 47
20
"gram.y"
{
yyval
.
node
=
NULL
;
;
{
yyval
.
node
=
NULL
;
;
break
;}
break
;}
case
805
:
case
805
:
#line 472
2
"gram.y"
#line 472
4
"gram.y"
{
{
yyval
.
attr
=
makeNode
(
Attr
);
yyval
.
attr
=
makeNode
(
Attr
);
yyval
.
attr
->
relname
=
yyvsp
[
-
2
].
str
;
yyval
.
attr
->
relname
=
yyvsp
[
-
2
].
str
;
...
@@ -10348,7 +10350,7 @@ case 805:
...
@@ -10348,7 +10350,7 @@ case 805:
;
;
break
;}
break
;}
case
806
:
case
806
:
#line 473
0
"gram.y"
#line 473
2
"gram.y"
{
{
yyval
.
attr
=
makeNode
(
Attr
);
yyval
.
attr
=
makeNode
(
Attr
);
yyval
.
attr
->
relname
=
NULL
;
yyval
.
attr
->
relname
=
NULL
;
...
@@ -10358,27 +10360,27 @@ case 806:
...
@@ -10358,27 +10360,27 @@ case 806:
;
;
break
;}
break
;}
case
807
:
case
807
:
#line 474
0
"gram.y"
#line 474
2
"gram.y"
{
yyval
.
list
=
lcons
(
makeString
(
yyvsp
[
0
].
str
),
NIL
);
;
{
yyval
.
list
=
lcons
(
makeString
(
yyvsp
[
0
].
str
),
NIL
);
;
break
;}
break
;}
case
808
:
case
808
:
#line 474
2
"gram.y"
#line 474
4
"gram.y"
{
yyval
.
list
=
lappend
(
yyvsp
[
-
2
].
list
,
makeString
(
yyvsp
[
0
].
str
));
;
{
yyval
.
list
=
lappend
(
yyvsp
[
-
2
].
list
,
makeString
(
yyvsp
[
0
].
str
));
;
break
;}
break
;}
case
809
:
case
809
:
#line 474
4
"gram.y"
#line 474
6
"gram.y"
{
yyval
.
list
=
lappend
(
yyvsp
[
-
2
].
list
,
makeString
(
"*"
));
;
{
yyval
.
list
=
lappend
(
yyvsp
[
-
2
].
list
,
makeString
(
"*"
));
;
break
;}
break
;}
case
810
:
case
810
:
#line 475
5
"gram.y"
#line 475
7
"gram.y"
{
yyval
.
list
=
lappend
(
yyvsp
[
-
2
].
list
,
yyvsp
[
0
].
target
);
;
{
yyval
.
list
=
lappend
(
yyvsp
[
-
2
].
list
,
yyvsp
[
0
].
target
);
;
break
;}
break
;}
case
811
:
case
811
:
#line 475
7
"gram.y"
#line 475
9
"gram.y"
{
yyval
.
list
=
lcons
(
yyvsp
[
0
].
target
,
NIL
);
;
{
yyval
.
list
=
lcons
(
yyvsp
[
0
].
target
,
NIL
);
;
break
;}
break
;}
case
812
:
case
812
:
#line 47
59
"gram.y"
#line 47
61
"gram.y"
{
{
ResTarget
*
rt
=
makeNode
(
ResTarget
);
ResTarget
*
rt
=
makeNode
(
ResTarget
);
Attr
*
att
=
makeNode
(
Attr
);
Attr
*
att
=
makeNode
(
Attr
);
...
@@ -10393,7 +10395,7 @@ case 812:
...
@@ -10393,7 +10395,7 @@ case 812:
;
;
break
;}
break
;}
case
813
:
case
813
:
#line 477
4
"gram.y"
#line 477
6
"gram.y"
{
{
yyval
.
target
=
makeNode
(
ResTarget
);
yyval
.
target
=
makeNode
(
ResTarget
);
yyval
.
target
->
name
=
yyvsp
[
-
3
].
str
;
yyval
.
target
->
name
=
yyvsp
[
-
3
].
str
;
...
@@ -10402,7 +10404,7 @@ case 813:
...
@@ -10402,7 +10404,7 @@ case 813:
;
;
break
;}
break
;}
case
814
:
case
814
:
#line 478
1
"gram.y"
#line 478
3
"gram.y"
{
{
yyval
.
target
=
makeNode
(
ResTarget
);
yyval
.
target
=
makeNode
(
ResTarget
);
yyval
.
target
->
name
=
NULL
;
yyval
.
target
->
name
=
NULL
;
...
@@ -10411,7 +10413,7 @@ case 814:
...
@@ -10411,7 +10413,7 @@ case 814:
;
;
break
;}
break
;}
case
815
:
case
815
:
#line 47
88
"gram.y"
#line 47
90
"gram.y"
{
{
Attr
*
att
=
makeNode
(
Attr
);
Attr
*
att
=
makeNode
(
Attr
);
att
->
relname
=
yyvsp
[
-
2
].
str
;
att
->
relname
=
yyvsp
[
-
2
].
str
;
...
@@ -10425,15 +10427,15 @@ case 815:
...
@@ -10425,15 +10427,15 @@ case 815:
;
;
break
;}
break
;}
case
816
:
case
816
:
#line 480
7
"gram.y"
#line 480
9
"gram.y"
{
yyval
.
list
=
lappend
(
yyvsp
[
-
2
].
list
,
yyvsp
[
0
].
target
);
;
{
yyval
.
list
=
lappend
(
yyvsp
[
-
2
].
list
,
yyvsp
[
0
].
target
);
;
break
;}
break
;}
case
817
:
case
817
:
#line 48
09
"gram.y"
#line 48
11
"gram.y"
{
yyval
.
list
=
lcons
(
yyvsp
[
0
].
target
,
NIL
);
;
{
yyval
.
list
=
lcons
(
yyvsp
[
0
].
target
,
NIL
);
;
break
;}
break
;}
case
818
:
case
818
:
#line 481
4
"gram.y"
#line 481
6
"gram.y"
{
{
yyval
.
target
=
makeNode
(
ResTarget
);
yyval
.
target
=
makeNode
(
ResTarget
);
yyval
.
target
->
name
=
yyvsp
[
0
].
str
;
yyval
.
target
->
name
=
yyvsp
[
0
].
str
;
...
@@ -10442,7 +10444,7 @@ case 818:
...
@@ -10442,7 +10444,7 @@ case 818:
;
;
break
;}
break
;}
case
819
:
case
819
:
#line 482
1
"gram.y"
#line 482
3
"gram.y"
{
{
yyval
.
target
=
makeNode
(
ResTarget
);
yyval
.
target
=
makeNode
(
ResTarget
);
yyval
.
target
->
name
=
NULL
;
yyval
.
target
->
name
=
NULL
;
...
@@ -10451,7 +10453,7 @@ case 819:
...
@@ -10451,7 +10453,7 @@ case 819:
;
;
break
;}
break
;}
case
820
:
case
820
:
#line 48
28
"gram.y"
#line 48
30
"gram.y"
{
{
Attr
*
att
=
makeNode
(
Attr
);
Attr
*
att
=
makeNode
(
Attr
);
att
->
relname
=
yyvsp
[
-
2
].
str
;
att
->
relname
=
yyvsp
[
-
2
].
str
;
...
@@ -10465,7 +10467,7 @@ case 820:
...
@@ -10465,7 +10467,7 @@ case 820:
;
;
break
;}
break
;}
case
821
:
case
821
:
#line 484
0
"gram.y"
#line 484
2
"gram.y"
{
{
Attr
*
att
=
makeNode
(
Attr
);
Attr
*
att
=
makeNode
(
Attr
);
att
->
relname
=
"*"
;
att
->
relname
=
"*"
;
...
@@ -10479,22 +10481,22 @@ case 821:
...
@@ -10479,22 +10481,22 @@ case 821:
;
;
break
;}
break
;}
case
822
:
case
822
:
#line 485
3
"gram.y"
#line 485
5
"gram.y"
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
break
;}
break
;}
case
823
:
case
823
:
#line 485
4
"gram.y"
#line 485
6
"gram.y"
{
yyval
.
str
=
NULL
;
;
{
yyval
.
str
=
NULL
;
;
break
;}
break
;}
case
824
:
case
824
:
#line 48
58
"gram.y"
#line 48
60
"gram.y"
{
{
yyval
.
str
=
yyvsp
[
0
].
str
;
yyval
.
str
=
yyvsp
[
0
].
str
;
StrNCpy
(
saved_relname
,
yyvsp
[
0
].
str
,
NAMEDATALEN
);
StrNCpy
(
saved_relname
,
yyvsp
[
0
].
str
,
NAMEDATALEN
);
;
;
break
;}
break
;}
case
825
:
case
825
:
#line 486
3
"gram.y"
#line 486
5
"gram.y"
{
{
/* disallow refs to variable system tables */
/* disallow refs to variable system tables */
if
(
strcmp
(
LogRelationName
,
yyvsp
[
0
].
str
)
==
0
if
(
strcmp
(
LogRelationName
,
yyvsp
[
0
].
str
)
==
0
...
@@ -10506,43 +10508,43 @@ case 825:
...
@@ -10506,43 +10508,43 @@ case 825:
;
;
break
;}
break
;}
case
826
:
case
826
:
#line 487
4
"gram.y"
#line 487
6
"gram.y"
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
break
;}
break
;}
case
827
:
case
827
:
#line 487
5
"gram.y"
#line 487
7
"gram.y"
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
break
;}
break
;}
case
828
:
case
828
:
#line 487
6
"gram.y"
#line 487
8
"gram.y"
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
break
;}
break
;}
case
829
:
case
829
:
#line 487
7
"gram.y"
#line 487
9
"gram.y"
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
break
;}
break
;}
case
830
:
case
830
:
#line 48
78
"gram.y"
#line 48
80
"gram.y"
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
break
;}
break
;}
case
831
:
case
831
:
#line 488
4
"gram.y"
#line 488
6
"gram.y"
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
break
;}
break
;}
case
832
:
case
832
:
#line 488
5
"gram.y"
#line 488
7
"gram.y"
{
yyval
.
str
=
xlateSqlFunc
(
yyvsp
[
0
].
str
);
;
{
yyval
.
str
=
xlateSqlFunc
(
yyvsp
[
0
].
str
);
;
break
;}
break
;}
case
833
:
case
833
:
#line 488
7
"gram.y"
#line 488
9
"gram.y"
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
break
;}
break
;}
case
834
:
case
834
:
#line 48
88
"gram.y"
#line 48
90
"gram.y"
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
break
;}
break
;}
case
835
:
case
835
:
#line 489
4
"gram.y"
#line 489
6
"gram.y"
{
{
A_Const
*
n
=
makeNode
(
A_Const
);
A_Const
*
n
=
makeNode
(
A_Const
);
n
->
val
.
type
=
T_Integer
;
n
->
val
.
type
=
T_Integer
;
...
@@ -10551,7 +10553,7 @@ case 835:
...
@@ -10551,7 +10553,7 @@ case 835:
;
;
break
;}
break
;}
case
836
:
case
836
:
#line 490
1
"gram.y"
#line 490
3
"gram.y"
{
{
A_Const
*
n
=
makeNode
(
A_Const
);
A_Const
*
n
=
makeNode
(
A_Const
);
n
->
val
.
type
=
T_Float
;
n
->
val
.
type
=
T_Float
;
...
@@ -10560,7 +10562,7 @@ case 836:
...
@@ -10560,7 +10562,7 @@ case 836:
;
;
break
;}
break
;}
case
837
:
case
837
:
#line 49
08
"gram.y"
#line 49
10
"gram.y"
{
{
A_Const
*
n
=
makeNode
(
A_Const
);
A_Const
*
n
=
makeNode
(
A_Const
);
n
->
val
.
type
=
T_String
;
n
->
val
.
type
=
T_String
;
...
@@ -10569,7 +10571,7 @@ case 837:
...
@@ -10569,7 +10571,7 @@ case 837:
;
;
break
;}
break
;}
case
838
:
case
838
:
#line 491
5
"gram.y"
#line 491
7
"gram.y"
{
{
A_Const
*
n
=
makeNode
(
A_Const
);
A_Const
*
n
=
makeNode
(
A_Const
);
n
->
typename
=
yyvsp
[
-
1
].
typnam
;
n
->
typename
=
yyvsp
[
-
1
].
typnam
;
...
@@ -10579,11 +10581,11 @@ case 838:
...
@@ -10579,11 +10581,11 @@ case 838:
;
;
break
;}
break
;}
case
839
:
case
839
:
#line 492
3
"gram.y"
#line 492
5
"gram.y"
{
yyval
.
node
=
(
Node
*
)
yyvsp
[
0
].
paramno
;
;
{
yyval
.
node
=
(
Node
*
)
yyvsp
[
0
].
paramno
;
;
break
;}
break
;}
case
840
:
case
840
:
#line 492
5
"gram.y"
#line 492
7
"gram.y"
{
{
A_Const
*
n
=
makeNode
(
A_Const
);
A_Const
*
n
=
makeNode
(
A_Const
);
n
->
val
.
type
=
T_String
;
n
->
val
.
type
=
T_String
;
...
@@ -10595,7 +10597,7 @@ case 840:
...
@@ -10595,7 +10597,7 @@ case 840:
;
;
break
;}
break
;}
case
841
:
case
841
:
#line 493
5
"gram.y"
#line 493
7
"gram.y"
{
{
A_Const
*
n
=
makeNode
(
A_Const
);
A_Const
*
n
=
makeNode
(
A_Const
);
n
->
val
.
type
=
T_String
;
n
->
val
.
type
=
T_String
;
...
@@ -10607,7 +10609,7 @@ case 841:
...
@@ -10607,7 +10609,7 @@ case 841:
;
;
break
;}
break
;}
case
842
:
case
842
:
#line 494
7
"gram.y"
#line 494
9
"gram.y"
{
{
yyval
.
paramno
=
makeNode
(
ParamNo
);
yyval
.
paramno
=
makeNode
(
ParamNo
);
yyval
.
paramno
->
number
=
yyvsp
[
-
1
].
ival
;
yyval
.
paramno
->
number
=
yyvsp
[
-
1
].
ival
;
...
@@ -10615,471 +10617,471 @@ case 842:
...
@@ -10615,471 +10617,471 @@ case 842:
;
;
break
;}
break
;}
case
843
:
case
843
:
#line 495
4
"gram.y"
#line 495
6
"gram.y"
{
yyval
.
ival
=
yyvsp
[
0
].
ival
;
;
{
yyval
.
ival
=
yyvsp
[
0
].
ival
;
;
break
;}
break
;}
case
844
:
case
844
:
#line 495
5
"gram.y"
#line 495
7
"gram.y"
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
break
;}
break
;}
case
845
:
case
845
:
#line 495
6
"gram.y"
#line 495
8
"gram.y"
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
break
;}
break
;}
case
846
:
case
846
:
#line 496
4
"gram.y"
#line 496
6
"gram.y"
{
yyval
.
str
=
xlateSqlType
(
yyvsp
[
0
].
str
);
;
{
yyval
.
str
=
xlateSqlType
(
yyvsp
[
0
].
str
);
;
break
;}
break
;}
case
847
:
case
847
:
#line 496
6
"gram.y"
#line 496
8
"gram.y"
{
yyval
.
str
=
xlateSqlType
(
yyvsp
[
0
].
str
);
;
{
yyval
.
str
=
xlateSqlType
(
yyvsp
[
0
].
str
);
;
break
;}
break
;}
case
848
:
case
848
:
#line 49
68
"gram.y"
#line 49
70
"gram.y"
{
yyval
.
str
=
xlateSqlType
(
yyvsp
[
0
].
str
);
;
{
yyval
.
str
=
xlateSqlType
(
yyvsp
[
0
].
str
);
;
break
;}
break
;}
case
849
:
case
849
:
#line 49
78
"gram.y"
#line 49
80
"gram.y"
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
break
;}
break
;}
case
850
:
case
850
:
#line 49
79
"gram.y"
#line 49
81
"gram.y"
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
break
;}
break
;}
case
851
:
case
851
:
#line 498
0
"gram.y"
#line 498
2
"gram.y"
{
yyval
.
str
=
"absolute"
;
;
{
yyval
.
str
=
"absolute"
;
;
break
;}
break
;}
case
852
:
case
852
:
#line 498
1
"gram.y"
#line 498
3
"gram.y"
{
yyval
.
str
=
"action"
;
;
{
yyval
.
str
=
"action"
;
;
break
;}
break
;}
case
853
:
case
853
:
#line 498
2
"gram.y"
#line 498
4
"gram.y"
{
yyval
.
str
=
"after"
;
;
{
yyval
.
str
=
"after"
;
;
break
;}
break
;}
case
854
:
case
854
:
#line 498
3
"gram.y"
#line 498
5
"gram.y"
{
yyval
.
str
=
"aggregate"
;
;
{
yyval
.
str
=
"aggregate"
;
;
break
;}
break
;}
case
855
:
case
855
:
#line 498
4
"gram.y"
#line 498
6
"gram.y"
{
yyval
.
str
=
"backward"
;
;
{
yyval
.
str
=
"backward"
;
;
break
;}
break
;}
case
856
:
case
856
:
#line 498
5
"gram.y"
#line 498
7
"gram.y"
{
yyval
.
str
=
"before"
;
;
{
yyval
.
str
=
"before"
;
;
break
;}
break
;}
case
857
:
case
857
:
#line 498
6
"gram.y"
#line 498
8
"gram.y"
{
yyval
.
str
=
"cache"
;
;
{
yyval
.
str
=
"cache"
;
;
break
;}
break
;}
case
858
:
case
858
:
#line 498
7
"gram.y"
#line 498
9
"gram.y"
{
yyval
.
str
=
"createdb"
;
;
{
yyval
.
str
=
"createdb"
;
;
break
;}
break
;}
case
859
:
case
859
:
#line 49
88
"gram.y"
#line 49
90
"gram.y"
{
yyval
.
str
=
"createuser"
;
;
{
yyval
.
str
=
"createuser"
;
;
break
;}
break
;}
case
860
:
case
860
:
#line 49
89
"gram.y"
#line 49
91
"gram.y"
{
yyval
.
str
=
"cycle"
;
;
{
yyval
.
str
=
"cycle"
;
;
break
;}
break
;}
case
861
:
case
861
:
#line 499
0
"gram.y"
#line 499
2
"gram.y"
{
yyval
.
str
=
"database"
;
;
{
yyval
.
str
=
"database"
;
;
break
;}
break
;}
case
862
:
case
862
:
#line 499
1
"gram.y"
#line 499
3
"gram.y"
{
yyval
.
str
=
"delimiters"
;
;
{
yyval
.
str
=
"delimiters"
;
;
break
;}
break
;}
case
863
:
case
863
:
#line 499
2
"gram.y"
#line 499
4
"gram.y"
{
yyval
.
str
=
"double"
;
;
{
yyval
.
str
=
"double"
;
;
break
;}
break
;}
case
864
:
case
864
:
#line 499
3
"gram.y"
#line 499
5
"gram.y"
{
yyval
.
str
=
"each"
;
;
{
yyval
.
str
=
"each"
;
;
break
;}
break
;}
case
865
:
case
865
:
#line 499
4
"gram.y"
#line 499
6
"gram.y"
{
yyval
.
str
=
"encoding"
;
;
{
yyval
.
str
=
"encoding"
;
;
break
;}
break
;}
case
866
:
case
866
:
#line 499
5
"gram.y"
#line 499
7
"gram.y"
{
yyval
.
str
=
"forward"
;
;
{
yyval
.
str
=
"forward"
;
;
break
;}
break
;}
case
867
:
case
867
:
#line 499
6
"gram.y"
#line 499
8
"gram.y"
{
yyval
.
str
=
"function"
;
;
{
yyval
.
str
=
"function"
;
;
break
;}
break
;}
case
868
:
case
868
:
#line 499
7
"gram.y"
#line 499
9
"gram.y"
{
yyval
.
str
=
"handler"
;
;
{
yyval
.
str
=
"handler"
;
;
break
;}
break
;}
case
869
:
case
869
:
#line
4998
"gram.y"
#line
5000
"gram.y"
{
yyval
.
str
=
"increment"
;
;
{
yyval
.
str
=
"increment"
;
;
break
;}
break
;}
case
870
:
case
870
:
#line
4999
"gram.y"
#line
5001
"gram.y"
{
yyval
.
str
=
"index"
;
;
{
yyval
.
str
=
"index"
;
;
break
;}
break
;}
case
871
:
case
871
:
#line 500
0
"gram.y"
#line 500
2
"gram.y"
{
yyval
.
str
=
"inherits"
;
;
{
yyval
.
str
=
"inherits"
;
;
break
;}
break
;}
case
872
:
case
872
:
#line 500
1
"gram.y"
#line 500
3
"gram.y"
{
yyval
.
str
=
"insensitive"
;
;
{
yyval
.
str
=
"insensitive"
;
;
break
;}
break
;}
case
873
:
case
873
:
#line 500
2
"gram.y"
#line 500
4
"gram.y"
{
yyval
.
str
=
"instead"
;
;
{
yyval
.
str
=
"instead"
;
;
break
;}
break
;}
case
874
:
case
874
:
#line 500
3
"gram.y"
#line 500
5
"gram.y"
{
yyval
.
str
=
"isnull"
;
;
{
yyval
.
str
=
"isnull"
;
;
break
;}
break
;}
case
875
:
case
875
:
#line 500
4
"gram.y"
#line 500
6
"gram.y"
{
yyval
.
str
=
"key"
;
;
{
yyval
.
str
=
"key"
;
;
break
;}
break
;}
case
876
:
case
876
:
#line 500
5
"gram.y"
#line 500
7
"gram.y"
{
yyval
.
str
=
"language"
;
;
{
yyval
.
str
=
"language"
;
;
break
;}
break
;}
case
877
:
case
877
:
#line 500
6
"gram.y"
#line 500
8
"gram.y"
{
yyval
.
str
=
"lancompiler"
;
;
{
yyval
.
str
=
"lancompiler"
;
;
break
;}
break
;}
case
878
:
case
878
:
#line 500
7
"gram.y"
#line 500
9
"gram.y"
{
yyval
.
str
=
"location"
;
;
{
yyval
.
str
=
"location"
;
;
break
;}
break
;}
case
879
:
case
879
:
#line 50
08
"gram.y"
#line 50
10
"gram.y"
{
yyval
.
str
=
"match"
;
;
{
yyval
.
str
=
"match"
;
;
break
;}
break
;}
case
880
:
case
880
:
#line 50
09
"gram.y"
#line 50
11
"gram.y"
{
yyval
.
str
=
"maxvalue"
;
;
{
yyval
.
str
=
"maxvalue"
;
;
break
;}
break
;}
case
881
:
case
881
:
#line 501
0
"gram.y"
#line 501
2
"gram.y"
{
yyval
.
str
=
"minvalue"
;
;
{
yyval
.
str
=
"minvalue"
;
;
break
;}
break
;}
case
882
:
case
882
:
#line 501
1
"gram.y"
#line 501
3
"gram.y"
{
yyval
.
str
=
"next"
;
;
{
yyval
.
str
=
"next"
;
;
break
;}
break
;}
case
883
:
case
883
:
#line 501
2
"gram.y"
#line 501
4
"gram.y"
{
yyval
.
str
=
"nocreatedb"
;
;
{
yyval
.
str
=
"nocreatedb"
;
;
break
;}
break
;}
case
884
:
case
884
:
#line 501
3
"gram.y"
#line 501
5
"gram.y"
{
yyval
.
str
=
"nocreateuser"
;
;
{
yyval
.
str
=
"nocreateuser"
;
;
break
;}
break
;}
case
885
:
case
885
:
#line 501
4
"gram.y"
#line 501
6
"gram.y"
{
yyval
.
str
=
"nothing"
;
;
{
yyval
.
str
=
"nothing"
;
;
break
;}
break
;}
case
886
:
case
886
:
#line 501
5
"gram.y"
#line 501
7
"gram.y"
{
yyval
.
str
=
"notnull"
;
;
{
yyval
.
str
=
"notnull"
;
;
break
;}
break
;}
case
887
:
case
887
:
#line 501
6
"gram.y"
#line 501
8
"gram.y"
{
yyval
.
str
=
"of"
;
;
{
yyval
.
str
=
"of"
;
;
break
;}
break
;}
case
888
:
case
888
:
#line 501
7
"gram.y"
#line 501
9
"gram.y"
{
yyval
.
str
=
"oids"
;
;
{
yyval
.
str
=
"oids"
;
;
break
;}
break
;}
case
889
:
case
889
:
#line 50
18
"gram.y"
#line 50
20
"gram.y"
{
yyval
.
str
=
"only"
;
;
{
yyval
.
str
=
"only"
;
;
break
;}
break
;}
case
890
:
case
890
:
#line 50
19
"gram.y"
#line 50
21
"gram.y"
{
yyval
.
str
=
"operator"
;
;
{
yyval
.
str
=
"operator"
;
;
break
;}
break
;}
case
891
:
case
891
:
#line 502
0
"gram.y"
#line 502
2
"gram.y"
{
yyval
.
str
=
"option"
;
;
{
yyval
.
str
=
"option"
;
;
break
;}
break
;}
case
892
:
case
892
:
#line 502
1
"gram.y"
#line 502
3
"gram.y"
{
yyval
.
str
=
"password"
;
;
{
yyval
.
str
=
"password"
;
;
break
;}
break
;}
case
893
:
case
893
:
#line 502
2
"gram.y"
#line 502
4
"gram.y"
{
yyval
.
str
=
"prior"
;
;
{
yyval
.
str
=
"prior"
;
;
break
;}
break
;}
case
894
:
case
894
:
#line 502
3
"gram.y"
#line 502
5
"gram.y"
{
yyval
.
str
=
"privileges"
;
;
{
yyval
.
str
=
"privileges"
;
;
break
;}
break
;}
case
895
:
case
895
:
#line 502
4
"gram.y"
#line 502
6
"gram.y"
{
yyval
.
str
=
"procedural"
;
;
{
yyval
.
str
=
"procedural"
;
;
break
;}
break
;}
case
896
:
case
896
:
#line 502
5
"gram.y"
#line 502
7
"gram.y"
{
yyval
.
str
=
"read"
;
;
{
yyval
.
str
=
"read"
;
;
break
;}
break
;}
case
897
:
case
897
:
#line 502
6
"gram.y"
#line 502
8
"gram.y"
{
yyval
.
str
=
"recipe"
;
;
{
yyval
.
str
=
"recipe"
;
;
break
;}
break
;}
case
898
:
case
898
:
#line 502
7
"gram.y"
#line 502
9
"gram.y"
{
yyval
.
str
=
"relative"
;
;
{
yyval
.
str
=
"relative"
;
;
break
;}
break
;}
case
899
:
case
899
:
#line 50
28
"gram.y"
#line 50
30
"gram.y"
{
yyval
.
str
=
"rename"
;
;
{
yyval
.
str
=
"rename"
;
;
break
;}
break
;}
case
900
:
case
900
:
#line 50
29
"gram.y"
#line 50
31
"gram.y"
{
yyval
.
str
=
"returns"
;
;
{
yyval
.
str
=
"returns"
;
;
break
;}
break
;}
case
901
:
case
901
:
#line 503
0
"gram.y"
#line 503
2
"gram.y"
{
yyval
.
str
=
"row"
;
;
{
yyval
.
str
=
"row"
;
;
break
;}
break
;}
case
902
:
case
902
:
#line 503
1
"gram.y"
#line 503
3
"gram.y"
{
yyval
.
str
=
"rule"
;
;
{
yyval
.
str
=
"rule"
;
;
break
;}
break
;}
case
903
:
case
903
:
#line 503
2
"gram.y"
#line 503
4
"gram.y"
{
yyval
.
str
=
"scroll"
;
;
{
yyval
.
str
=
"scroll"
;
;
break
;}
break
;}
case
904
:
case
904
:
#line 503
3
"gram.y"
#line 503
5
"gram.y"
{
yyval
.
str
=
"sequence"
;
;
{
yyval
.
str
=
"sequence"
;
;
break
;}
break
;}
case
905
:
case
905
:
#line 503
4
"gram.y"
#line 503
6
"gram.y"
{
yyval
.
str
=
"serial"
;
;
{
yyval
.
str
=
"serial"
;
;
break
;}
break
;}
case
906
:
case
906
:
#line 503
5
"gram.y"
#line 503
7
"gram.y"
{
yyval
.
str
=
"start"
;
;
{
yyval
.
str
=
"start"
;
;
break
;}
break
;}
case
907
:
case
907
:
#line 503
6
"gram.y"
#line 503
8
"gram.y"
{
yyval
.
str
=
"statement"
;
;
{
yyval
.
str
=
"statement"
;
;
break
;}
break
;}
case
908
:
case
908
:
#line 503
7
"gram.y"
#line 503
9
"gram.y"
{
yyval
.
str
=
"stdin"
;
;
{
yyval
.
str
=
"stdin"
;
;
break
;}
break
;}
case
909
:
case
909
:
#line 50
38
"gram.y"
#line 50
40
"gram.y"
{
yyval
.
str
=
"stdout"
;
;
{
yyval
.
str
=
"stdout"
;
;
break
;}
break
;}
case
910
:
case
910
:
#line 50
39
"gram.y"
#line 50
41
"gram.y"
{
yyval
.
str
=
"time"
;
;
{
yyval
.
str
=
"time"
;
;
break
;}
break
;}
case
911
:
case
911
:
#line 504
0
"gram.y"
#line 504
2
"gram.y"
{
yyval
.
str
=
"timestamp"
;
;
{
yyval
.
str
=
"timestamp"
;
;
break
;}
break
;}
case
912
:
case
912
:
#line 504
1
"gram.y"
#line 504
3
"gram.y"
{
yyval
.
str
=
"timezone_hour"
;
;
{
yyval
.
str
=
"timezone_hour"
;
;
break
;}
break
;}
case
913
:
case
913
:
#line 504
2
"gram.y"
#line 504
4
"gram.y"
{
yyval
.
str
=
"timezone_minute"
;
;
{
yyval
.
str
=
"timezone_minute"
;
;
break
;}
break
;}
case
914
:
case
914
:
#line 504
3
"gram.y"
#line 504
5
"gram.y"
{
yyval
.
str
=
"trigger"
;
;
{
yyval
.
str
=
"trigger"
;
;
break
;}
break
;}
case
915
:
case
915
:
#line 504
4
"gram.y"
#line 504
6
"gram.y"
{
yyval
.
str
=
"trusted"
;
;
{
yyval
.
str
=
"trusted"
;
;
break
;}
break
;}
case
916
:
case
916
:
#line 504
5
"gram.y"
#line 504
7
"gram.y"
{
yyval
.
str
=
"type"
;
;
{
yyval
.
str
=
"type"
;
;
break
;}
break
;}
case
917
:
case
917
:
#line 504
6
"gram.y"
#line 504
8
"gram.y"
{
yyval
.
str
=
"valid"
;
;
{
yyval
.
str
=
"valid"
;
;
break
;}
break
;}
case
918
:
case
918
:
#line 504
7
"gram.y"
#line 504
9
"gram.y"
{
yyval
.
str
=
"version"
;
;
{
yyval
.
str
=
"version"
;
;
break
;}
break
;}
case
919
:
case
919
:
#line 50
48
"gram.y"
#line 50
50
"gram.y"
{
yyval
.
str
=
"zone"
;
;
{
yyval
.
str
=
"zone"
;
;
break
;}
break
;}
case
920
:
case
920
:
#line 506
1
"gram.y"
#line 506
3
"gram.y"
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
{
yyval
.
str
=
yyvsp
[
0
].
str
;
;
break
;}
break
;}
case
921
:
case
921
:
#line 506
2
"gram.y"
#line 506
4
"gram.y"
{
yyval
.
str
=
"abort"
;
;
{
yyval
.
str
=
"abort"
;
;
break
;}
break
;}
case
922
:
case
922
:
#line 506
3
"gram.y"
#line 506
5
"gram.y"
{
yyval
.
str
=
"analyze"
;
;
{
yyval
.
str
=
"analyze"
;
;
break
;}
break
;}
case
923
:
case
923
:
#line 506
4
"gram.y"
#line 506
6
"gram.y"
{
yyval
.
str
=
"binary"
;
;
{
yyval
.
str
=
"binary"
;
;
break
;}
break
;}
case
924
:
case
924
:
#line 506
5
"gram.y"
#line 506
7
"gram.y"
{
yyval
.
str
=
"case"
;
;
{
yyval
.
str
=
"case"
;
;
break
;}
break
;}
case
925
:
case
925
:
#line 506
6
"gram.y"
#line 506
8
"gram.y"
{
yyval
.
str
=
"cluster"
;
;
{
yyval
.
str
=
"cluster"
;
;
break
;}
break
;}
case
926
:
case
926
:
#line 506
7
"gram.y"
#line 506
9
"gram.y"
{
yyval
.
str
=
"coalesce"
;
;
{
yyval
.
str
=
"coalesce"
;
;
break
;}
break
;}
case
927
:
case
927
:
#line 50
68
"gram.y"
#line 50
70
"gram.y"
{
yyval
.
str
=
"constraint"
;
;
{
yyval
.
str
=
"constraint"
;
;
break
;}
break
;}
case
928
:
case
928
:
#line 50
69
"gram.y"
#line 50
71
"gram.y"
{
yyval
.
str
=
"copy"
;
;
{
yyval
.
str
=
"copy"
;
;
break
;}
break
;}
case
929
:
case
929
:
#line 507
0
"gram.y"
#line 507
2
"gram.y"
{
yyval
.
str
=
"cross"
;
;
{
yyval
.
str
=
"cross"
;
;
break
;}
break
;}
case
930
:
case
930
:
#line 507
1
"gram.y"
#line 507
3
"gram.y"
{
yyval
.
str
=
"current"
;
;
{
yyval
.
str
=
"current"
;
;
break
;}
break
;}
case
931
:
case
931
:
#line 507
2
"gram.y"
#line 507
4
"gram.y"
{
yyval
.
str
=
"do"
;
;
{
yyval
.
str
=
"do"
;
;
break
;}
break
;}
case
932
:
case
932
:
#line 507
3
"gram.y"
#line 507
5
"gram.y"
{
yyval
.
str
=
"else"
;
;
{
yyval
.
str
=
"else"
;
;
break
;}
break
;}
case
933
:
case
933
:
#line 507
4
"gram.y"
#line 507
6
"gram.y"
{
yyval
.
str
=
"end"
;
;
{
yyval
.
str
=
"end"
;
;
break
;}
break
;}
case
934
:
case
934
:
#line 507
5
"gram.y"
#line 507
7
"gram.y"
{
yyval
.
str
=
"explain"
;
;
{
yyval
.
str
=
"explain"
;
;
break
;}
break
;}
case
935
:
case
935
:
#line 507
6
"gram.y"
#line 507
8
"gram.y"
{
yyval
.
str
=
"extend"
;
;
{
yyval
.
str
=
"extend"
;
;
break
;}
break
;}
case
936
:
case
936
:
#line 507
7
"gram.y"
#line 507
9
"gram.y"
{
yyval
.
str
=
"false"
;
;
{
yyval
.
str
=
"false"
;
;
break
;}
break
;}
case
937
:
case
937
:
#line 50
78
"gram.y"
#line 50
80
"gram.y"
{
yyval
.
str
=
"foreign"
;
;
{
yyval
.
str
=
"foreign"
;
;
break
;}
break
;}
case
938
:
case
938
:
#line 50
79
"gram.y"
#line 50
81
"gram.y"
{
yyval
.
str
=
"group"
;
;
{
yyval
.
str
=
"group"
;
;
break
;}
break
;}
case
939
:
case
939
:
#line 508
0
"gram.y"
#line 508
2
"gram.y"
{
yyval
.
str
=
"listen"
;
;
{
yyval
.
str
=
"listen"
;
;
break
;}
break
;}
case
940
:
case
940
:
#line 508
1
"gram.y"
#line 508
3
"gram.y"
{
yyval
.
str
=
"load"
;
;
{
yyval
.
str
=
"load"
;
;
break
;}
break
;}
case
941
:
case
941
:
#line 508
2
"gram.y"
#line 508
4
"gram.y"
{
yyval
.
str
=
"lock"
;
;
{
yyval
.
str
=
"lock"
;
;
break
;}
break
;}
case
942
:
case
942
:
#line 508
3
"gram.y"
#line 508
5
"gram.y"
{
yyval
.
str
=
"move"
;
;
{
yyval
.
str
=
"move"
;
;
break
;}
break
;}
case
943
:
case
943
:
#line 508
4
"gram.y"
#line 508
6
"gram.y"
{
yyval
.
str
=
"new"
;
;
{
yyval
.
str
=
"new"
;
;
break
;}
break
;}
case
944
:
case
944
:
#line 508
5
"gram.y"
#line 508
7
"gram.y"
{
yyval
.
str
=
"none"
;
;
{
yyval
.
str
=
"none"
;
;
break
;}
break
;}
case
945
:
case
945
:
#line 508
6
"gram.y"
#line 508
8
"gram.y"
{
yyval
.
str
=
"nullif"
;
;
{
yyval
.
str
=
"nullif"
;
;
break
;}
break
;}
case
946
:
case
946
:
#line 508
7
"gram.y"
#line 508
9
"gram.y"
{
yyval
.
str
=
"order"
;
;
{
yyval
.
str
=
"order"
;
;
break
;}
break
;}
case
947
:
case
947
:
#line 50
88
"gram.y"
#line 50
90
"gram.y"
{
yyval
.
str
=
"position"
;
;
{
yyval
.
str
=
"position"
;
;
break
;}
break
;}
case
948
:
case
948
:
#line 50
89
"gram.y"
#line 50
91
"gram.y"
{
yyval
.
str
=
"precision"
;
;
{
yyval
.
str
=
"precision"
;
;
break
;}
break
;}
case
949
:
case
949
:
#line 509
0
"gram.y"
#line 509
2
"gram.y"
{
yyval
.
str
=
"reset"
;
;
{
yyval
.
str
=
"reset"
;
;
break
;}
break
;}
case
950
:
case
950
:
#line 509
1
"gram.y"
#line 509
3
"gram.y"
{
yyval
.
str
=
"setof"
;
;
{
yyval
.
str
=
"setof"
;
;
break
;}
break
;}
case
951
:
case
951
:
#line 509
2
"gram.y"
#line 509
4
"gram.y"
{
yyval
.
str
=
"show"
;
;
{
yyval
.
str
=
"show"
;
;
break
;}
break
;}
case
952
:
case
952
:
#line 509
3
"gram.y"
#line 509
5
"gram.y"
{
yyval
.
str
=
"table"
;
;
{
yyval
.
str
=
"table"
;
;
break
;}
break
;}
case
953
:
case
953
:
#line 509
4
"gram.y"
#line 509
6
"gram.y"
{
yyval
.
str
=
"then"
;
;
{
yyval
.
str
=
"then"
;
;
break
;}
break
;}
case
954
:
case
954
:
#line 509
5
"gram.y"
#line 509
7
"gram.y"
{
yyval
.
str
=
"transaction"
;
;
{
yyval
.
str
=
"transaction"
;
;
break
;}
break
;}
case
955
:
case
955
:
#line 509
6
"gram.y"
#line 509
8
"gram.y"
{
yyval
.
str
=
"true"
;
;
{
yyval
.
str
=
"true"
;
;
break
;}
break
;}
case
956
:
case
956
:
#line 509
7
"gram.y"
#line 509
9
"gram.y"
{
yyval
.
str
=
"vacuum"
;
;
{
yyval
.
str
=
"vacuum"
;
;
break
;}
break
;}
case
957
:
case
957
:
#line 5
098
"gram.y"
#line 5
100
"gram.y"
{
yyval
.
str
=
"verbose"
;
;
{
yyval
.
str
=
"verbose"
;
;
break
;}
break
;}
case
958
:
case
958
:
#line 5
099
"gram.y"
#line 5
101
"gram.y"
{
yyval
.
str
=
"when"
;
;
{
yyval
.
str
=
"when"
;
;
break
;}
break
;}
case
959
:
case
959
:
#line 510
3
"gram.y"
#line 510
5
"gram.y"
{
{
if
(
QueryIsRule
)
if
(
QueryIsRule
)
yyval
.
str
=
"*CURRENT*"
;
yyval
.
str
=
"*CURRENT*"
;
...
@@ -11088,7 +11090,7 @@ case 959:
...
@@ -11088,7 +11090,7 @@ case 959:
;
;
break
;}
break
;}
case
960
:
case
960
:
#line 511
0
"gram.y"
#line 511
2
"gram.y"
{
{
if
(
QueryIsRule
)
if
(
QueryIsRule
)
yyval
.
str
=
"*NEW*"
;
yyval
.
str
=
"*NEW*"
;
...
@@ -11294,7 +11296,7 @@ yyerrhandle:
...
@@ -11294,7 +11296,7 @@ yyerrhandle:
yystate
=
yyn
;
yystate
=
yyn
;
goto
yynewstate
;
goto
yynewstate
;
}
}
#line 51
18
"gram.y"
#line 51
20
"gram.y"
static
Node
*
static
Node
*
...
...
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