Commit c8ae6afd authored by Bruce Momjian's avatar Bruce Momjian

Update gram.c.

parent 2a608123
...@@ -239,7 +239,7 @@ ...@@ -239,7 +239,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/parser/Attic/gram.c,v 2.57 1999/01/18 06:46:27 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/parser/Attic/gram.c,v 2.58 1999/01/20 22:31:07 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,
2830, 2834, 2838, 2843, 2852, 2859, 2886, 2887, 2890, 2891, 2832, 2836, 2840, 2845, 2854, 2861, 2888, 2889, 2892, 2893,
2894, 2895, 2898, 2899, 2900, 2901, 2904, 2905, 2908, 2909, 2896, 2897, 2900, 2901, 2902, 2903, 2906, 2907, 2910, 2911,
2912, 2920, 2921, 2922, 2923, 2924, 2925, 2935, 2936, 2939, 2914, 2922, 2923, 2924, 2925, 2926, 2927, 2937, 2938, 2941,
2941, 2943, 2947, 2948, 2951, 2955, 2958, 2963, 2967, 2981, 2943, 2945, 2949, 2950, 2953, 2957, 2960, 2965, 2969, 2983,
2986, 2987, 2990, 2992, 2994, 2998, 3004, 3010, 3018, 3019, 2988, 2989, 2992, 2994, 2996, 3000, 3006, 3012, 3020, 3021,
3021, 3023, 3025, 3027, 3029, 3031, 3035, 3036, 3039, 3040, 3023, 3025, 3027, 3029, 3031, 3033, 3037, 3038, 3041, 3042,
3041, 3044, 3045, 3048, 3063, 3070, 3079, 3080, 3083, 3090, 3043, 3046, 3047, 3050, 3065, 3072, 3081, 3082, 3085, 3092,
3098, 3100, 3102, 3106, 3108, 3110, 3125, 3147, 3148, 3155, 3100, 3102, 3104, 3108, 3110, 3112, 3127, 3149, 3150, 3157,
3156, 3157, 3160, 3168, 3169, 3177, 3183, 3188, 3194, 3202, 3158, 3159, 3162, 3170, 3171, 3179, 3185, 3190, 3196, 3204,
3204, 3206, 3208, 3212, 3223, 3229, 3240, 3248, 3254, 3265, 3206, 3208, 3210, 3214, 3225, 3231, 3242, 3250, 3256, 3267,
3273, 3287, 3314, 3333, 3353, 3354, 3355, 3356, 3359, 3360, 3275, 3289, 3316, 3335, 3355, 3356, 3357, 3358, 3361, 3362,
3363, 3364, 3367, 3368, 3371, 3377, 3384, 3390, 3398, 3399, 3365, 3366, 3369, 3370, 3373, 3379, 3386, 3392, 3400, 3401,
3400, 3401, 3402, 3403, 3406, 3407, 3410, 3411, 3412, 3413, 3402, 3403, 3404, 3405, 3408, 3409, 3412, 3413, 3414, 3415,
3414, 3415, 3416, 3417, 3418, 3428, 3430, 3447, 3457, 3467, 3416, 3417, 3418, 3419, 3420, 3430, 3432, 3449, 3459, 3469,
3480, 3493, 3499, 3505, 3509, 3515, 3516, 3517, 3518, 3519, 3482, 3495, 3501, 3507, 3511, 3517, 3518, 3519, 3520, 3521,
3520, 3521, 3522, 3525, 3526, 3537, 3542, 3544, 3546, 3554, 3522, 3523, 3524, 3527, 3528, 3539, 3544, 3546, 3548, 3556,
3556, 3558, 3560, 3562, 3564, 3566, 3568, 3570, 3572, 3574, 3558, 3560, 3562, 3564, 3566, 3568, 3570, 3572, 3574, 3576,
3576, 3592, 3608, 3610, 3612, 3614, 3616, 3618, 3620, 3632, 3578, 3594, 3610, 3612, 3614, 3616, 3618, 3620, 3622, 3634,
3639, 3646, 3661, 3676, 3698, 3713, 3735, 3742, 3749, 3759, 3641, 3648, 3663, 3678, 3700, 3715, 3737, 3744, 3751, 3761,
3766, 3773, 3781, 3788, 3795, 3802, 3809, 3811, 3813, 3815, 3768, 3775, 3783, 3790, 3797, 3804, 3811, 3813, 3815, 3817,
3822, 3832, 3842, 3852, 3862, 3868, 3874, 3874, 3888, 3888, 3824, 3834, 3844, 3854, 3864, 3870, 3876, 3876, 3890, 3890,
3902, 3912, 3922, 3932, 3942, 3952, 3962, 3972, 3982, 3992, 3904, 3914, 3924, 3934, 3944, 3954, 3964, 3974, 3984, 3994,
4002, 4012, 4022, 4032, 4042, 4052, 4062, 4072, 4082, 4092, 4004, 4014, 4024, 4034, 4044, 4054, 4064, 4074, 4084, 4094,
4102, 4112, 4122, 4132, 4142, 4144, 4146, 4148, 4157, 4162, 4104, 4114, 4124, 4134, 4144, 4146, 4148, 4150, 4159, 4164,
4164, 4172, 4174, 4176, 4178, 4180, 4182, 4184, 4186, 4188, 4166, 4174, 4176, 4178, 4180, 4182, 4184, 4186, 4188, 4190,
4204, 4220, 4222, 4224, 4226, 4228, 4235, 4242, 4257, 4272, 4206, 4222, 4224, 4226, 4228, 4230, 4237, 4244, 4259, 4274,
4294, 4309, 4331, 4338, 4345, 4352, 4360, 4367, 4374, 4381, 4296, 4311, 4333, 4340, 4347, 4354, 4362, 4369, 4376, 4383,
4390, 4397, 4404, 4408, 4410, 4412, 4416, 4423, 4427, 4428, 4392, 4399, 4406, 4410, 4412, 4414, 4418, 4425, 4429, 4430,
4429, 4432, 4434, 4438, 4443, 4445, 4447, 4449, 4451, 4453, 4431, 4434, 4436, 4440, 4445, 4447, 4449, 4451, 4453, 4455,
4455, 4457, 4473, 4489, 4491, 4493, 4495, 4497, 4505, 4512, 4457, 4459, 4475, 4491, 4493, 4495, 4497, 4499, 4507, 4514,
4519, 4526, 4534, 4541, 4548, 4555, 4564, 4568, 4572, 4574, 4521, 4528, 4536, 4543, 4550, 4557, 4566, 4570, 4574, 4576,
4583, 4585, 4589, 4591, 4593, 4597, 4603, 4607, 4609, 4615, 4585, 4587, 4591, 4593, 4595, 4599, 4605, 4609, 4611, 4617,
4621, 4625, 4627, 4648, 4656, 4667, 4685, 4687, 4691, 4700, 4623, 4627, 4629, 4650, 4658, 4669, 4687, 4689, 4693, 4702,
4701, 4704, 4709, 4717, 4721, 4729, 4739, 4741, 4743, 4754, 4703, 4706, 4711, 4719, 4723, 4731, 4741, 4743, 4745, 4756,
4756, 4758, 4773, 4780, 4787, 4806, 4808, 4813, 4820, 4827, 4758, 4760, 4775, 4782, 4789, 4808, 4810, 4815, 4822, 4829,
4839, 4853, 4854, 4857, 4862, 4874, 4875, 4876, 4877, 4878, 4841, 4855, 4856, 4859, 4864, 4876, 4877, 4878, 4879, 4880,
4884, 4885, 4887, 4888, 4893, 4900, 4907, 4914, 4922, 4924, 4886, 4887, 4889, 4890, 4895, 4902, 4909, 4916, 4924, 4926,
4934, 4946, 4954, 4955, 4956, 4963, 4965, 4967, 4978, 4979, 4936, 4948, 4956, 4957, 4958, 4965, 4967, 4969, 4980, 4981,
4980, 4981, 4982, 4983, 4984, 4985, 4986, 4987, 4988, 4989, 4982, 4983, 4984, 4985, 4986, 4987, 4988, 4989, 4990, 4991,
4990, 4991, 4992, 4993, 4994, 4995, 4996, 4997, 4998, 4999, 4992, 4993, 4994, 4995, 4996, 4997, 4998, 4999, 5000, 5001,
5000, 5001, 5002, 5003, 5004, 5005, 5006, 5007, 5008, 5009, 5002, 5003, 5004, 5005, 5006, 5007, 5008, 5009, 5010, 5011,
5010, 5011, 5012, 5013, 5014, 5015, 5016, 5017, 5018, 5019, 5012, 5013, 5014, 5015, 5016, 5017, 5018, 5019, 5020, 5021,
5020, 5021, 5022, 5023, 5024, 5025, 5026, 5027, 5028, 5029, 5022, 5023, 5024, 5025, 5026, 5027, 5028, 5029, 5030, 5031,
5030, 5031, 5032, 5033, 5034, 5035, 5036, 5037, 5038, 5039, 5032, 5033, 5034, 5035, 5036, 5037, 5038, 5039, 5040, 5041,
5040, 5041, 5042, 5043, 5044, 5045, 5046, 5047, 5048, 5061, 5042, 5043, 5044, 5045, 5046, 5047, 5048, 5049, 5050, 5063,
5062, 5063, 5064, 5065, 5066, 5067, 5068, 5069, 5070, 5071, 5064, 5065, 5066, 5067, 5068, 5069, 5070, 5071, 5072, 5073,
5072, 5073, 5074, 5075, 5076, 5077, 5078, 5079, 5080, 5081, 5074, 5075, 5076, 5077, 5078, 5079, 5080, 5081, 5082, 5083,
5082, 5083, 5084, 5085, 5086, 5087, 5088, 5089, 5090, 5091, 5084, 5085, 5086, 5087, 5088, 5089, 5090, 5091, 5092, 5093,
5092, 5093, 5094, 5095, 5096, 5097, 5098, 5099, 5102, 5109 5094, 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 2831 "gram.y" #line 2833 "gram.y"
{ {
yyval.node = yyvsp[-1].node; yyval.node = yyvsp[-1].node;
; ;
break;} break;}
case 472: case 472:
#line 2835 "gram.y" #line 2837 "gram.y"
{ {
yyval.node = yyvsp[0].node; yyval.node = yyvsp[0].node;
; ;
break;} break;}
case 473: case 473:
#line 2839 "gram.y" #line 2841 "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 2844 "gram.y" #line 2846 "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 2853 "gram.y" #line 2855 "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 2862 "gram.y" #line 2864 "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 2886 "gram.y" #line 2888 "gram.y"
{ yyval.str= yyvsp[0].str; ; { yyval.str= yyvsp[0].str; ;
break;} break;}
case 478: case 478:
#line 2887 "gram.y" #line 2889 "gram.y"
{ yyval.str = NULL; ; { yyval.str = NULL; ;
break;} break;}
case 479: case 479:
#line 2890 "gram.y" #line 2892 "gram.y"
{ yyval.boolean = TRUE; ; { yyval.boolean = TRUE; ;
break;} break;}
case 480: case 480:
#line 2891 "gram.y" #line 2893 "gram.y"
{ yyval.boolean = FALSE; ; { yyval.boolean = FALSE; ;
break;} break;}
case 481: case 481:
#line 2894 "gram.y" #line 2896 "gram.y"
{ yyval.boolean = TRUE; ; { yyval.boolean = TRUE; ;
break;} break;}
case 482: case 482:
#line 2895 "gram.y" #line 2897 "gram.y"
{ yyval.boolean = FALSE; ; { yyval.boolean = FALSE; ;
break;} break;}
case 483: case 483:
#line 2898 "gram.y" #line 2900 "gram.y"
{ yyval.str = "*"; ; { yyval.str = "*"; ;
break;} break;}
case 484: case 484:
#line 2899 "gram.y" #line 2901 "gram.y"
{ yyval.str = yyvsp[0].str; ; { yyval.str = yyvsp[0].str; ;
break;} break;}
case 485: case 485:
#line 2900 "gram.y" #line 2902 "gram.y"
{ yyval.str = NULL; ; { yyval.str = NULL; ;
break;} break;}
case 486: case 486:
#line 2901 "gram.y" #line 2903 "gram.y"
{ yyval.str = NULL; ; { yyval.str = NULL; ;
break;} break;}
case 487: case 487:
#line 2904 "gram.y" #line 2906 "gram.y"
{ yyval.list = yyvsp[0].list; ; { yyval.list = yyvsp[0].list; ;
break;} break;}
case 488: case 488:
#line 2905 "gram.y" #line 2907 "gram.y"
{ yyval.list = NIL; ; { yyval.list = NIL; ;
break;} break;}
case 489: case 489:
#line 2908 "gram.y" #line 2910 "gram.y"
{ yyval.list = lcons(yyvsp[0].sortgroupby, NIL); ; { yyval.list = lcons(yyvsp[0].sortgroupby, NIL); ;
break;} break;}
case 490: case 490:
#line 2909 "gram.y" #line 2911 "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 2913 "gram.y" #line 2915 "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 2920 "gram.y" #line 2922 "gram.y"
{ yyval.str = yyvsp[0].str; ; { yyval.str = yyvsp[0].str; ;
break;} break;}
case 493: case 493:
#line 2921 "gram.y" #line 2923 "gram.y"
{ yyval.str = "<"; ; { yyval.str = "<"; ;
break;} break;}
case 494: case 494:
#line 2922 "gram.y" #line 2924 "gram.y"
{ yyval.str = ">"; ; { yyval.str = ">"; ;
break;} break;}
case 495: case 495:
#line 2923 "gram.y" #line 2925 "gram.y"
{ yyval.str = "<"; ; { yyval.str = "<"; ;
break;} break;}
case 496: case 496:
#line 2924 "gram.y" #line 2926 "gram.y"
{ yyval.str = ">"; ; { yyval.str = ">"; ;
break;} break;}
case 497: case 497:
#line 2925 "gram.y" #line 2927 "gram.y"
{ yyval.str = "<"; /*default*/ ; { yyval.str = "<"; /*default*/ ;
break;} break;}
case 498: case 498:
#line 2935 "gram.y" #line 2937 "gram.y"
{ yyval.boolean = TRUE; ; { yyval.boolean = TRUE; ;
break;} break;}
case 499: case 499:
#line 2936 "gram.y" #line 2938 "gram.y"
{ yyval.boolean = FALSE; ; { yyval.boolean = FALSE; ;
break;} break;}
case 501: case 501:
#line 2942 "gram.y" #line 2944 "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 2944 "gram.y" #line 2946 "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 2947 "gram.y" #line 2949 "gram.y"
{ yyval.list = yyvsp[0].list; ; { yyval.list = yyvsp[0].list; ;
break;} break;}
case 504: case 504:
#line 2948 "gram.y" #line 2950 "gram.y"
{ yyval.list = NIL; ; { yyval.list = NIL; ;
break;} break;}
case 505: case 505:
#line 2952 "gram.y" #line 2954 "gram.y"
{ {
yyval.node = yyvsp[0].node; yyval.node = yyvsp[0].node;
; ;
break;} break;}
case 506: case 506:
#line 2955 "gram.y" #line 2957 "gram.y"
{ yyval.node = NULL; ; { yyval.node = NULL; ;
break;} break;}
case 507: case 507:
#line 2960 "gram.y" #line 2962 "gram.y"
{ {
yyval.list = lcons(NULL, NULL); yyval.list = lcons(NULL, NULL);
; ;
break;} break;}
case 508: case 508:
#line 2964 "gram.y" #line 2966 "gram.y"
{ {
yyval.list = yyvsp[0].list; yyval.list = yyvsp[0].list;
; ;
break;} break;}
case 509: case 509:
#line 2968 "gram.y" #line 2970 "gram.y"
{ {
yyval.list = NULL; yyval.list = NULL;
; ;
break;} break;}
case 510: case 510:
#line 2982 "gram.y" #line 2984 "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 2986 "gram.y" #line 2988 "gram.y"
{ yyval.list = yyvsp[0].list; ; { yyval.list = yyvsp[0].list; ;
break;} break;}
case 512: case 512:
#line 2987 "gram.y" #line 2989 "gram.y"
{ yyval.list = NIL; ; { yyval.list = NIL; ;
break;} break;}
case 513: case 513:
#line 2991 "gram.y" #line 2993 "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 2993 "gram.y" #line 2995 "gram.y"
{ elog(ERROR,"CROSS JOIN not yet implemented"); ; { elog(ERROR,"CROSS JOIN not yet implemented"); ;
break;} break;}
case 515: case 515:
#line 2995 "gram.y" #line 2997 "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 3005 "gram.y" #line 3007 "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 3011 "gram.y" #line 3013 "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 3018 "gram.y" #line 3020 "gram.y"
{ yyval.str = NULL; ; { yyval.str = NULL; ;
break;} break;}
case 520: case 520:
#line 3020 "gram.y" #line 3022 "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 3022 "gram.y" #line 3024 "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 3024 "gram.y" #line 3026 "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 3026 "gram.y" #line 3028 "gram.y"
{ elog(ERROR,"OUTER JOIN not yet implemented"); ; { elog(ERROR,"OUTER JOIN not yet implemented"); ;
break;} break;}
case 524: case 524:
#line 3028 "gram.y" #line 3030 "gram.y"
{ elog(ERROR,"INNER JOIN not yet implemented"); ; { elog(ERROR,"INNER JOIN not yet implemented"); ;
break;} break;}
case 525: case 525:
#line 3030 "gram.y" #line 3032 "gram.y"
{ elog(ERROR,"UNION JOIN not yet implemented"); ; { elog(ERROR,"UNION JOIN not yet implemented"); ;
break;} break;}
case 526: case 526:
#line 3032 "gram.y" #line 3034 "gram.y"
{ elog(ERROR,"INNER JOIN not yet implemented"); ; { elog(ERROR,"INNER JOIN not yet implemented"); ;
break;} break;}
case 527: case 527:
#line 3035 "gram.y" #line 3037 "gram.y"
{ yyval.str = NULL; ; { yyval.str = NULL; ;
break;} break;}
case 528: case 528:
#line 3036 "gram.y" #line 3038 "gram.y"
{ yyval.str = NULL; /* no qualifiers */ ; { yyval.str = NULL; /* no qualifiers */ ;
break;} break;}
case 529: case 529:
#line 3039 "gram.y" #line 3041 "gram.y"
{ yyval.str = NULL; ; { yyval.str = NULL; ;
break;} break;}
case 530: case 530:
#line 3040 "gram.y" #line 3042 "gram.y"
{ yyval.str = NULL; ; { yyval.str = NULL; ;
break;} break;}
case 531: case 531:
#line 3041 "gram.y" #line 3043 "gram.y"
{ yyval.str = NULL; /* no qualifiers */ ; { yyval.str = NULL; /* no qualifiers */ ;
break;} break;}
case 532: case 532:
#line 3044 "gram.y" #line 3046 "gram.y"
{ yyval.list = lcons(yyvsp[0].joinusing, NIL); ; { yyval.list = lcons(yyvsp[0].joinusing, NIL); ;
break;} break;}
case 533: case 533:
#line 3045 "gram.y" #line 3047 "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 3057 "gram.y" #line 3059 "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 3064 "gram.y" #line 3066 "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 3071 "gram.y" #line 3073 "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 3079 "gram.y" #line 3081 "gram.y"
{ yyval.node = yyvsp[0].node; ; { yyval.node = yyvsp[0].node; ;
break;} break;}
case 538: case 538:
#line 3080 "gram.y" #line 3082 "gram.y"
{ yyval.node = NULL; /* no qualifiers */ ; { yyval.node = NULL; /* no qualifiers */ ;
break;} break;}
case 539: case 539:
#line 3084 "gram.y" #line 3086 "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 3091 "gram.y" #line 3093 "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 3099 "gram.y" #line 3101 "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 3101 "gram.y" #line 3103 "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 3103 "gram.y" #line 3105 "gram.y"
{ yyval.list = NIL; ; { yyval.list = NIL; ;
break;} break;}
case 544: case 544:
#line 3107 "gram.y" #line 3109 "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 3109 "gram.y" #line 3111 "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 3111 "gram.y" #line 3113 "gram.y"
{ yyval.list = NIL; ; { yyval.list = NIL; ;
break;} break;}
case 547: case 547:
#line 3126 "gram.y" #line 3128 "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 3149 "gram.y" #line 3151 "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 3161 "gram.y" #line 3163 "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 3168 "gram.y" #line 3170 "gram.y"
{ yyval.str = yyvsp[0].str; ; { yyval.str = yyvsp[0].str; ;
break;} break;}
case 555: case 555:
#line 3169 "gram.y" #line 3171 "gram.y"
{ yyval.str = xlateSqlType("type"); ; { yyval.str = xlateSqlType("type"); ;
break;} break;}
case 556: case 556:
#line 3178 "gram.y" #line 3180 "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 3184 "gram.y" #line 3186 "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 3189 "gram.y" #line 3191 "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 3195 "gram.y" #line 3197 "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 3203 "gram.y" #line 3205 "gram.y"
{ yyval.str = xlateSqlType("float8"); ; { yyval.str = xlateSqlType("float8"); ;
break;} break;}
case 561: case 561:
#line 3205 "gram.y" #line 3207 "gram.y"
{ yyval.str = xlateSqlType("float8"); ; { yyval.str = xlateSqlType("float8"); ;
break;} break;}
case 562: case 562:
#line 3207 "gram.y" #line 3209 "gram.y"
{ yyval.str = xlateSqlType("numeric"); ; { yyval.str = xlateSqlType("numeric"); ;
break;} break;}
case 563: case 563:
#line 3209 "gram.y" #line 3211 "gram.y"
{ yyval.str = xlateSqlType("numeric"); ; { yyval.str = xlateSqlType("numeric"); ;
break;} break;}
case 564: case 564:
#line 3213 "gram.y" #line 3215 "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 3224 "gram.y" #line 3226 "gram.y"
{ {
yyval.str = xlateSqlType("float8"); yyval.str = xlateSqlType("float8");
; ;
break;} break;}
case 566: case 566:
#line 3230 "gram.y" #line 3232 "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 3241 "gram.y" #line 3243 "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 3249 "gram.y" #line 3251 "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 3255 "gram.y" #line 3257 "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 3266 "gram.y" #line 3268 "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 3274 "gram.y" #line 3276 "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 3288 "gram.y" #line 3290 "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 3315 "gram.y" #line 3317 "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 3334 "gram.y" #line 3336 "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 3353 "gram.y" #line 3355 "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 3354 "gram.y" #line 3356 "gram.y"
{ yyval.str = xlateSqlType("varchar"); ; { yyval.str = xlateSqlType("varchar"); ;
break;} break;}
case 577: case 577:
#line 3355 "gram.y" #line 3357 "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 3356 "gram.y" #line 3358 "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 3359 "gram.y" #line 3361 "gram.y"
{ yyval.boolean = TRUE; ; { yyval.boolean = TRUE; ;
break;} break;}
case 580: case 580:
#line 3360 "gram.y" #line 3362 "gram.y"
{ yyval.boolean = FALSE; ; { yyval.boolean = FALSE; ;
break;} break;}
case 581: case 581:
#line 3363 "gram.y" #line 3365 "gram.y"
{ yyval.str = yyvsp[0].str; ; { yyval.str = yyvsp[0].str; ;
break;} break;}
case 582: case 582:
#line 3364 "gram.y" #line 3366 "gram.y"
{ yyval.str = NULL; ; { yyval.str = NULL; ;
break;} break;}
case 583: case 583:
#line 3367 "gram.y" #line 3369 "gram.y"
{ yyval.str = yyvsp[0].str; ; { yyval.str = yyvsp[0].str; ;
break;} break;}
case 584: case 584:
#line 3368 "gram.y" #line 3370 "gram.y"
{ yyval.str = NULL; ; { yyval.str = NULL; ;
break;} break;}
case 585: case 585:
#line 3372 "gram.y" #line 3374 "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 3378 "gram.y" #line 3380 "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 3385 "gram.y" #line 3387 "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 3391 "gram.y" #line 3393 "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 3398 "gram.y" #line 3400 "gram.y"
{ yyval.str = "year"; ; { yyval.str = "year"; ;
break;} break;}
case 590: case 590:
#line 3399 "gram.y" #line 3401 "gram.y"
{ yyval.str = "month"; ; { yyval.str = "month"; ;
break;} break;}
case 591: case 591:
#line 3400 "gram.y" #line 3402 "gram.y"
{ yyval.str = "day"; ; { yyval.str = "day"; ;
break;} break;}
case 592: case 592:
#line 3401 "gram.y" #line 3403 "gram.y"
{ yyval.str = "hour"; ; { yyval.str = "hour"; ;
break;} break;}
case 593: case 593:
#line 3402 "gram.y" #line 3404 "gram.y"
{ yyval.str = "minute"; ; { yyval.str = "minute"; ;
break;} break;}
case 594: case 594:
#line 3403 "gram.y" #line 3405 "gram.y"
{ yyval.str = "second"; ; { yyval.str = "second"; ;
break;} break;}
case 595: case 595:
#line 3406 "gram.y" #line 3408 "gram.y"
{ yyval.boolean = TRUE; ; { yyval.boolean = TRUE; ;
break;} break;}
case 596: case 596:
#line 3407 "gram.y" #line 3409 "gram.y"
{ yyval.boolean = FALSE; ; { yyval.boolean = FALSE; ;
break;} break;}
case 597: case 597:
#line 3410 "gram.y" #line 3412 "gram.y"
{ yyval.list = lcons(yyvsp[0].str, NIL); ; { yyval.list = lcons(yyvsp[0].str, NIL); ;
break;} break;}
case 598: case 598:
#line 3411 "gram.y" #line 3413 "gram.y"
{ yyval.list = NIL; ; { yyval.list = NIL; ;
break;} break;}
case 599: case 599:
#line 3412 "gram.y" #line 3414 "gram.y"
{ yyval.list = NIL; ; { yyval.list = NIL; ;
break;} break;}
case 600: case 600:
#line 3413 "gram.y" #line 3415 "gram.y"
{ yyval.list = NIL; ; { yyval.list = NIL; ;
break;} break;}
case 601: case 601:
#line 3414 "gram.y" #line 3416 "gram.y"
{ yyval.list = NIL; ; { yyval.list = NIL; ;
break;} break;}
case 602: case 602:
#line 3415 "gram.y" #line 3417 "gram.y"
{ yyval.list = NIL; ; { yyval.list = NIL; ;
break;} break;}
case 603: case 603:
#line 3416 "gram.y" #line 3418 "gram.y"
{ yyval.list = NIL; ; { yyval.list = NIL; ;
break;} break;}
case 604: case 604:
#line 3417 "gram.y" #line 3419 "gram.y"
{ yyval.list = NIL; ; { yyval.list = NIL; ;
break;} break;}
case 605: case 605:
#line 3418 "gram.y" #line 3420 "gram.y"
{ yyval.list = NIL; ; { yyval.list = NIL; ;
break;} break;}
case 606: case 606:
#line 3429 "gram.y" #line 3431 "gram.y"
{ yyval.node = yyvsp[0].node; ; { yyval.node = yyvsp[0].node; ;
break;} break;}
case 607: case 607:
#line 3431 "gram.y" #line 3433 "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 3448 "gram.y" #line 3450 "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 3458 "gram.y" #line 3460 "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 3468 "gram.y" #line 3470 "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 3481 "gram.y" #line 3483 "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 3494 "gram.y" #line 3496 "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 3500 "gram.y" #line 3502 "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 3506 "gram.y" #line 3508 "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 3510 "gram.y" #line 3512 "gram.y"
{ {
yyval.list = lcons(yyvsp[0].node, NIL); yyval.list = lcons(yyvsp[0].node, NIL);
; ;
break;} break;}
case 616: case 616:
#line 3515 "gram.y" #line 3517 "gram.y"
{ yyval.str = yyvsp[0].str; ; { yyval.str = yyvsp[0].str; ;
break;} break;}
case 617: case 617:
#line 3516 "gram.y" #line 3518 "gram.y"
{ yyval.str = "<"; ; { yyval.str = "<"; ;
break;} break;}
case 618: case 618:
#line 3517 "gram.y" #line 3519 "gram.y"
{ yyval.str = "="; ; { yyval.str = "="; ;
break;} break;}
case 619: case 619:
#line 3518 "gram.y" #line 3520 "gram.y"
{ yyval.str = ">"; ; { yyval.str = ">"; ;
break;} break;}
case 620: case 620:
#line 3519 "gram.y" #line 3521 "gram.y"
{ yyval.str = "+"; ; { yyval.str = "+"; ;
break;} break;}
case 621: case 621:
#line 3520 "gram.y" #line 3522 "gram.y"
{ yyval.str = "-"; ; { yyval.str = "-"; ;
break;} break;}
case 622: case 622:
#line 3521 "gram.y" #line 3523 "gram.y"
{ yyval.str = "*"; ; { yyval.str = "*"; ;
break;} break;}
case 623: case 623:
#line 3522 "gram.y" #line 3524 "gram.y"
{ yyval.str = "/"; ; { yyval.str = "/"; ;
break;} break;}
case 624: case 624:
#line 3525 "gram.y" #line 3527 "gram.y"
{ yyval.ival = ANY_SUBLINK; ; { yyval.ival = ANY_SUBLINK; ;
break;} break;}
case 625: case 625:
#line 3526 "gram.y" #line 3528 "gram.y"
{ yyval.ival = ALL_SUBLINK; ; { yyval.ival = ALL_SUBLINK; ;
break;} break;}
case 626: case 626:
#line 3538 "gram.y" #line 3540 "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 3543 "gram.y" #line 3545 "gram.y"
{ yyval.node = yyvsp[0].node; ; { yyval.node = yyvsp[0].node; ;
break;} break;}
case 628: case 628:
#line 3545 "gram.y" #line 3547 "gram.y"
{ yyval.node = yyvsp[0].node; ; { yyval.node = yyvsp[0].node; ;
break;} break;}
case 629: case 629:
#line 3547 "gram.y" #line 3549 "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 3555 "gram.y" #line 3557 "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 3557 "gram.y" #line 3559 "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 3559 "gram.y" #line 3561 "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 3561 "gram.y" #line 3563 "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 3563 "gram.y" #line 3565 "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 3565 "gram.y" #line 3567 "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 3567 "gram.y" #line 3569 "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 3569 "gram.y" #line 3571 "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 3571 "gram.y" #line 3573 "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 3573 "gram.y" #line 3575 "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 3575 "gram.y" #line 3577 "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 3577 "gram.y" #line 3579 "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 3593 "gram.y" #line 3595 "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 3609 "gram.y" #line 3611 "gram.y"
{ yyval.node = yyvsp[-1].node; ; { yyval.node = yyvsp[-1].node; ;
break;} break;}
case 644: case 644:
#line 3611 "gram.y" #line 3613 "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 3613 "gram.y" #line 3615 "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 3615 "gram.y" #line 3617 "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 3617 "gram.y" #line 3619 "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 3619 "gram.y" #line 3621 "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 3621 "gram.y" #line 3623 "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 3633 "gram.y" #line 3635 "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 3640 "gram.y" #line 3642 "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 3647 "gram.y" #line 3649 "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 3662 "gram.y" #line 3664 "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 3677 "gram.y" #line 3679 "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 3699 "gram.y" #line 3701 "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 3714 "gram.y" #line 3716 "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 3736 "gram.y" #line 3738 "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 3743 "gram.y" #line 3745 "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 3750 "gram.y" #line 3752 "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 3760 "gram.y" #line 3762 "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 3767 "gram.y" #line 3769 "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 3774 "gram.y" #line 3776 "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 3782 "gram.y" #line 3784 "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 3789 "gram.y" #line 3791 "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 3796 "gram.y" #line 3798 "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 3803 "gram.y" #line 3805 "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 3810 "gram.y" #line 3812 "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 3812 "gram.y" #line 3814 "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 3814 "gram.y" #line 3816 "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 3816 "gram.y" #line 3818 "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 3823 "gram.y" #line 3825 "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 3833 "gram.y" #line 3835 "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 3843 "gram.y" #line 3845 "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 3853 "gram.y" #line 3855 "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 3863 "gram.y" #line 3865 "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 3869 "gram.y" #line 3871 "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 3874 "gram.y" #line 3876 "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 3875 "gram.y" #line 3877 "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 3888 "gram.y" #line 3890 "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 3889 "gram.y" #line 3891 "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 3903 "gram.y" #line 3905 "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 3913 "gram.y" #line 3915 "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 3923 "gram.y" #line 3925 "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 3933 "gram.y" #line 3935 "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 3943 "gram.y" #line 3945 "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 3953 "gram.y" #line 3955 "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 3963 "gram.y" #line 3965 "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 3973 "gram.y" #line 3975 "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 3983 "gram.y" #line 3985 "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 3993 "gram.y" #line 3995 "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 4003 "gram.y" #line 4005 "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 4013 "gram.y" #line 4015 "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 4023 "gram.y" #line 4025 "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 4033 "gram.y" #line 4035 "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 4043 "gram.y" #line 4045 "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 4053 "gram.y" #line 4055 "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 4063 "gram.y" #line 4065 "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 4073 "gram.y" #line 4075 "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 4083 "gram.y" #line 4085 "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 4093 "gram.y" #line 4095 "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 4103 "gram.y" #line 4105 "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 4113 "gram.y" #line 4115 "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 4123 "gram.y" #line 4125 "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 4133 "gram.y" #line 4135 "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 4143 "gram.y" #line 4145 "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 4145 "gram.y" #line 4147 "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 4147 "gram.y" #line 4149 "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 4149 "gram.y" #line 4151 "gram.y"
{ yyval.node = yyvsp[0].node; ; { yyval.node = yyvsp[0].node; ;
break;} break;}
case 709: case 709:
#line 4158 "gram.y" #line 4160 "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 4163 "gram.y" #line 4165 "gram.y"
{ yyval.node = yyvsp[0].node; ; { yyval.node = yyvsp[0].node; ;
break;} break;}
case 711: case 711:
#line 4165 "gram.y" #line 4167 "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 4173 "gram.y" #line 4175 "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 4175 "gram.y" #line 4177 "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 4177 "gram.y" #line 4179 "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 4179 "gram.y" #line 4181 "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 4181 "gram.y" #line 4183 "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 4183 "gram.y" #line 4185 "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 4185 "gram.y" #line 4187 "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 4187 "gram.y" #line 4189 "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 4189 "gram.y" #line 4191 "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 4205 "gram.y" #line 4207 "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 4221 "gram.y" #line 4223 "gram.y"
{ yyval.node = yyvsp[-1].node; ; { yyval.node = yyvsp[-1].node; ;
break;} break;}
case 723: case 723:
#line 4223 "gram.y" #line 4225 "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 4225 "gram.y" #line 4227 "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 4227 "gram.y" #line 4229 "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 4229 "gram.y" #line 4231 "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 4236 "gram.y" #line 4238 "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 4243 "gram.y" #line 4245 "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 4258 "gram.y" #line 4260 "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 4273 "gram.y" #line 4275 "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 4295 "gram.y" #line 4297 "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 4310 "gram.y" #line 4312 "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 4332 "gram.y" #line 4334 "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 4339 "gram.y" #line 4341 "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 4346 "gram.y" #line 4348 "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 4353 "gram.y" #line 4355 "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 4361 "gram.y" #line 4363 "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 4368 "gram.y" #line 4370 "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 4375 "gram.y" #line 4377 "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 4382 "gram.y" #line 4384 "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 4391 "gram.y" #line 4393 "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 4398 "gram.y" #line 4400 "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 4405 "gram.y" #line 4407 "gram.y"
{ yyval.list = NIL; ; { yyval.list = NIL; ;
break;} break;}
case 744: case 744:
#line 4409 "gram.y" #line 4411 "gram.y"
{ yyval.list = lcons(yyvsp[0].node, NIL); ; { yyval.list = lcons(yyvsp[0].node, NIL); ;
break;} break;}
case 745: case 745:
#line 4411 "gram.y" #line 4413 "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 4413 "gram.y" #line 4415 "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 4417 "gram.y" #line 4419 "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 4424 "gram.y" #line 4426 "gram.y"
{ yyval.list = NIL; ; { yyval.list = NIL; ;
break;} break;}
case 749: case 749:
#line 4427 "gram.y" #line 4429 "gram.y"
{ yyval.str = yyvsp[0].str; ; { yyval.str = yyvsp[0].str; ;
break;} break;}
case 750: case 750:
#line 4428 "gram.y" #line 4430 "gram.y"
{ yyval.str = "tz_hour"; ; { yyval.str = "tz_hour"; ;
break;} break;}
case 751: case 751:
#line 4429 "gram.y" #line 4431 "gram.y"
{ yyval.str = "tz_minute"; ; { yyval.str = "tz_minute"; ;
break;} break;}
case 752: case 752:
#line 4433 "gram.y" #line 4435 "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 4435 "gram.y" #line 4437 "gram.y"
{ yyval.list = NIL; ; { yyval.list = NIL; ;
break;} break;}
case 754: case 754:
#line 4439 "gram.y" #line 4441 "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 4444 "gram.y" #line 4446 "gram.y"
{ yyval.node = yyvsp[0].node; ; { yyval.node = yyvsp[0].node; ;
break;} break;}
case 756: case 756:
#line 4446 "gram.y" #line 4448 "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 4448 "gram.y" #line 4450 "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 4450 "gram.y" #line 4452 "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 4452 "gram.y" #line 4454 "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 4454 "gram.y" #line 4456 "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 4456 "gram.y" #line 4458 "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 4458 "gram.y" #line 4460 "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 4474 "gram.y" #line 4476 "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 4490 "gram.y" #line 4492 "gram.y"
{ yyval.node = yyvsp[-1].node; ; { yyval.node = yyvsp[-1].node; ;
break;} break;}
case 765: case 765:
#line 4492 "gram.y" #line 4494 "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 4494 "gram.y" #line 4496 "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 4496 "gram.y" #line 4498 "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 4498 "gram.y" #line 4500 "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 4506 "gram.y" #line 4508 "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 4513 "gram.y" #line 4515 "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 4520 "gram.y" #line 4522 "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 4527 "gram.y" #line 4529 "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 4535 "gram.y" #line 4537 "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 4542 "gram.y" #line 4544 "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 4549 "gram.y" #line 4551 "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 4556 "gram.y" #line 4558 "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 4565 "gram.y" #line 4567 "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 4569 "gram.y" #line 4571 "gram.y"
{ yyval.list = NIL; ; { yyval.list = NIL; ;
break;} break;}
case 779: case 779:
#line 4573 "gram.y" #line 4575 "gram.y"
{ yyval.list = yyvsp[0].list; ; { yyval.list = yyvsp[0].list; ;
break;} break;}
case 780: case 780:
#line 4575 "gram.y" #line 4577 "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 4584 "gram.y" #line 4586 "gram.y"
{ yyval.list = yyvsp[0].list; ; { yyval.list = yyvsp[0].list; ;
break;} break;}
case 782: case 782:
#line 4586 "gram.y" #line 4588 "gram.y"
{ yyval.list = NIL; ; { yyval.list = NIL; ;
break;} break;}
case 783: case 783:
#line 4590 "gram.y" #line 4592 "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 4592 "gram.y" #line 4594 "gram.y"
{ yyval.list = yyvsp[0].list; ; { yyval.list = yyvsp[0].list; ;
break;} break;}
case 785: case 785:
#line 4594 "gram.y" #line 4596 "gram.y"
{ yyval.list = yyvsp[0].list; ; { yyval.list = yyvsp[0].list; ;
break;} break;}
case 786: case 786:
#line 4598 "gram.y" #line 4600 "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 4604 "gram.y" #line 4606 "gram.y"
{ yyval.node = yyvsp[0].node; ; { yyval.node = yyvsp[0].node; ;
break;} break;}
case 788: case 788:
#line 4608 "gram.y" #line 4610 "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 4610 "gram.y" #line 4612 "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 4616 "gram.y" #line 4618 "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 4622 "gram.y" #line 4624 "gram.y"
{ yyval.node = yyvsp[0].node; ; { yyval.node = yyvsp[0].node; ;
break;} break;}
case 792: case 792:
#line 4626 "gram.y" #line 4628 "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 4628 "gram.y" #line 4630 "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 4649 "gram.y" #line 4651 "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 4657 "gram.y" #line 4659 "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 4668 "gram.y" #line 4670 "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 4686 "gram.y" #line 4688 "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 4688 "gram.y" #line 4690 "gram.y"
{ yyval.list = lcons(yyvsp[0].node, NIL); ; { yyval.list = lcons(yyvsp[0].node, NIL); ;
break;} break;}
case 799: case 799:
#line 4692 "gram.y" #line 4694 "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 4700 "gram.y" #line 4702 "gram.y"
{ yyval.node = yyvsp[0].node; ; { yyval.node = yyvsp[0].node; ;
break;} break;}
case 801: case 801:
#line 4701 "gram.y" #line 4703 "gram.y"
{ yyval.node = NULL; ; { yyval.node = NULL; ;
break;} break;}
case 802: case 802:
#line 4705 "gram.y" #line 4707 "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 4710 "gram.y" #line 4712 "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 4718 "gram.y" #line 4720 "gram.y"
{ yyval.node = NULL; ; { yyval.node = NULL; ;
break;} break;}
case 805: case 805:
#line 4722 "gram.y" #line 4724 "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 4730 "gram.y" #line 4732 "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 4740 "gram.y" #line 4742 "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 4742 "gram.y" #line 4744 "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 4744 "gram.y" #line 4746 "gram.y"
{ yyval.list = lappend(yyvsp[-2].list, makeString("*")); ; { yyval.list = lappend(yyvsp[-2].list, makeString("*")); ;
break;} break;}
case 810: case 810:
#line 4755 "gram.y" #line 4757 "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 4757 "gram.y" #line 4759 "gram.y"
{ yyval.list = lcons(yyvsp[0].target, NIL); ; { yyval.list = lcons(yyvsp[0].target, NIL); ;
break;} break;}
case 812: case 812:
#line 4759 "gram.y" #line 4761 "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 4774 "gram.y" #line 4776 "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 4781 "gram.y" #line 4783 "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 4788 "gram.y" #line 4790 "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 4807 "gram.y" #line 4809 "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 4809 "gram.y" #line 4811 "gram.y"
{ yyval.list = lcons(yyvsp[0].target, NIL); ; { yyval.list = lcons(yyvsp[0].target, NIL); ;
break;} break;}
case 818: case 818:
#line 4814 "gram.y" #line 4816 "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 4821 "gram.y" #line 4823 "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 4828 "gram.y" #line 4830 "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 4840 "gram.y" #line 4842 "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 4853 "gram.y" #line 4855 "gram.y"
{ yyval.str = yyvsp[0].str; ; { yyval.str = yyvsp[0].str; ;
break;} break;}
case 823: case 823:
#line 4854 "gram.y" #line 4856 "gram.y"
{ yyval.str = NULL; ; { yyval.str = NULL; ;
break;} break;}
case 824: case 824:
#line 4858 "gram.y" #line 4860 "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 4863 "gram.y" #line 4865 "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 4874 "gram.y" #line 4876 "gram.y"
{ yyval.str = yyvsp[0].str; ; { yyval.str = yyvsp[0].str; ;
break;} break;}
case 827: case 827:
#line 4875 "gram.y" #line 4877 "gram.y"
{ yyval.str = yyvsp[0].str; ; { yyval.str = yyvsp[0].str; ;
break;} break;}
case 828: case 828:
#line 4876 "gram.y" #line 4878 "gram.y"
{ yyval.str = yyvsp[0].str; ; { yyval.str = yyvsp[0].str; ;
break;} break;}
case 829: case 829:
#line 4877 "gram.y" #line 4879 "gram.y"
{ yyval.str = yyvsp[0].str; ; { yyval.str = yyvsp[0].str; ;
break;} break;}
case 830: case 830:
#line 4878 "gram.y" #line 4880 "gram.y"
{ yyval.str = yyvsp[0].str; ; { yyval.str = yyvsp[0].str; ;
break;} break;}
case 831: case 831:
#line 4884 "gram.y" #line 4886 "gram.y"
{ yyval.str = yyvsp[0].str; ; { yyval.str = yyvsp[0].str; ;
break;} break;}
case 832: case 832:
#line 4885 "gram.y" #line 4887 "gram.y"
{ yyval.str = xlateSqlFunc(yyvsp[0].str); ; { yyval.str = xlateSqlFunc(yyvsp[0].str); ;
break;} break;}
case 833: case 833:
#line 4887 "gram.y" #line 4889 "gram.y"
{ yyval.str = yyvsp[0].str; ; { yyval.str = yyvsp[0].str; ;
break;} break;}
case 834: case 834:
#line 4888 "gram.y" #line 4890 "gram.y"
{ yyval.str = yyvsp[0].str; ; { yyval.str = yyvsp[0].str; ;
break;} break;}
case 835: case 835:
#line 4894 "gram.y" #line 4896 "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 4901 "gram.y" #line 4903 "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 4908 "gram.y" #line 4910 "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 4915 "gram.y" #line 4917 "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 4923 "gram.y" #line 4925 "gram.y"
{ yyval.node = (Node *)yyvsp[0].paramno; ; { yyval.node = (Node *)yyvsp[0].paramno; ;
break;} break;}
case 840: case 840:
#line 4925 "gram.y" #line 4927 "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 4935 "gram.y" #line 4937 "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 4947 "gram.y" #line 4949 "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 4954 "gram.y" #line 4956 "gram.y"
{ yyval.ival = yyvsp[0].ival; ; { yyval.ival = yyvsp[0].ival; ;
break;} break;}
case 844: case 844:
#line 4955 "gram.y" #line 4957 "gram.y"
{ yyval.str = yyvsp[0].str; ; { yyval.str = yyvsp[0].str; ;
break;} break;}
case 845: case 845:
#line 4956 "gram.y" #line 4958 "gram.y"
{ yyval.str = yyvsp[0].str; ; { yyval.str = yyvsp[0].str; ;
break;} break;}
case 846: case 846:
#line 4964 "gram.y" #line 4966 "gram.y"
{ yyval.str = xlateSqlType(yyvsp[0].str); ; { yyval.str = xlateSqlType(yyvsp[0].str); ;
break;} break;}
case 847: case 847:
#line 4966 "gram.y" #line 4968 "gram.y"
{ yyval.str = xlateSqlType(yyvsp[0].str); ; { yyval.str = xlateSqlType(yyvsp[0].str); ;
break;} break;}
case 848: case 848:
#line 4968 "gram.y" #line 4970 "gram.y"
{ yyval.str = xlateSqlType(yyvsp[0].str); ; { yyval.str = xlateSqlType(yyvsp[0].str); ;
break;} break;}
case 849: case 849:
#line 4978 "gram.y" #line 4980 "gram.y"
{ yyval.str = yyvsp[0].str; ; { yyval.str = yyvsp[0].str; ;
break;} break;}
case 850: case 850:
#line 4979 "gram.y" #line 4981 "gram.y"
{ yyval.str = yyvsp[0].str; ; { yyval.str = yyvsp[0].str; ;
break;} break;}
case 851: case 851:
#line 4980 "gram.y" #line 4982 "gram.y"
{ yyval.str = "absolute"; ; { yyval.str = "absolute"; ;
break;} break;}
case 852: case 852:
#line 4981 "gram.y" #line 4983 "gram.y"
{ yyval.str = "action"; ; { yyval.str = "action"; ;
break;} break;}
case 853: case 853:
#line 4982 "gram.y" #line 4984 "gram.y"
{ yyval.str = "after"; ; { yyval.str = "after"; ;
break;} break;}
case 854: case 854:
#line 4983 "gram.y" #line 4985 "gram.y"
{ yyval.str = "aggregate"; ; { yyval.str = "aggregate"; ;
break;} break;}
case 855: case 855:
#line 4984 "gram.y" #line 4986 "gram.y"
{ yyval.str = "backward"; ; { yyval.str = "backward"; ;
break;} break;}
case 856: case 856:
#line 4985 "gram.y" #line 4987 "gram.y"
{ yyval.str = "before"; ; { yyval.str = "before"; ;
break;} break;}
case 857: case 857:
#line 4986 "gram.y" #line 4988 "gram.y"
{ yyval.str = "cache"; ; { yyval.str = "cache"; ;
break;} break;}
case 858: case 858:
#line 4987 "gram.y" #line 4989 "gram.y"
{ yyval.str = "createdb"; ; { yyval.str = "createdb"; ;
break;} break;}
case 859: case 859:
#line 4988 "gram.y" #line 4990 "gram.y"
{ yyval.str = "createuser"; ; { yyval.str = "createuser"; ;
break;} break;}
case 860: case 860:
#line 4989 "gram.y" #line 4991 "gram.y"
{ yyval.str = "cycle"; ; { yyval.str = "cycle"; ;
break;} break;}
case 861: case 861:
#line 4990 "gram.y" #line 4992 "gram.y"
{ yyval.str = "database"; ; { yyval.str = "database"; ;
break;} break;}
case 862: case 862:
#line 4991 "gram.y" #line 4993 "gram.y"
{ yyval.str = "delimiters"; ; { yyval.str = "delimiters"; ;
break;} break;}
case 863: case 863:
#line 4992 "gram.y" #line 4994 "gram.y"
{ yyval.str = "double"; ; { yyval.str = "double"; ;
break;} break;}
case 864: case 864:
#line 4993 "gram.y" #line 4995 "gram.y"
{ yyval.str = "each"; ; { yyval.str = "each"; ;
break;} break;}
case 865: case 865:
#line 4994 "gram.y" #line 4996 "gram.y"
{ yyval.str = "encoding"; ; { yyval.str = "encoding"; ;
break;} break;}
case 866: case 866:
#line 4995 "gram.y" #line 4997 "gram.y"
{ yyval.str = "forward"; ; { yyval.str = "forward"; ;
break;} break;}
case 867: case 867:
#line 4996 "gram.y" #line 4998 "gram.y"
{ yyval.str = "function"; ; { yyval.str = "function"; ;
break;} break;}
case 868: case 868:
#line 4997 "gram.y" #line 4999 "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 5000 "gram.y" #line 5002 "gram.y"
{ yyval.str = "inherits"; ; { yyval.str = "inherits"; ;
break;} break;}
case 872: case 872:
#line 5001 "gram.y" #line 5003 "gram.y"
{ yyval.str = "insensitive"; ; { yyval.str = "insensitive"; ;
break;} break;}
case 873: case 873:
#line 5002 "gram.y" #line 5004 "gram.y"
{ yyval.str = "instead"; ; { yyval.str = "instead"; ;
break;} break;}
case 874: case 874:
#line 5003 "gram.y" #line 5005 "gram.y"
{ yyval.str = "isnull"; ; { yyval.str = "isnull"; ;
break;} break;}
case 875: case 875:
#line 5004 "gram.y" #line 5006 "gram.y"
{ yyval.str = "key"; ; { yyval.str = "key"; ;
break;} break;}
case 876: case 876:
#line 5005 "gram.y" #line 5007 "gram.y"
{ yyval.str = "language"; ; { yyval.str = "language"; ;
break;} break;}
case 877: case 877:
#line 5006 "gram.y" #line 5008 "gram.y"
{ yyval.str = "lancompiler"; ; { yyval.str = "lancompiler"; ;
break;} break;}
case 878: case 878:
#line 5007 "gram.y" #line 5009 "gram.y"
{ yyval.str = "location"; ; { yyval.str = "location"; ;
break;} break;}
case 879: case 879:
#line 5008 "gram.y" #line 5010 "gram.y"
{ yyval.str = "match"; ; { yyval.str = "match"; ;
break;} break;}
case 880: case 880:
#line 5009 "gram.y" #line 5011 "gram.y"
{ yyval.str = "maxvalue"; ; { yyval.str = "maxvalue"; ;
break;} break;}
case 881: case 881:
#line 5010 "gram.y" #line 5012 "gram.y"
{ yyval.str = "minvalue"; ; { yyval.str = "minvalue"; ;
break;} break;}
case 882: case 882:
#line 5011 "gram.y" #line 5013 "gram.y"
{ yyval.str = "next"; ; { yyval.str = "next"; ;
break;} break;}
case 883: case 883:
#line 5012 "gram.y" #line 5014 "gram.y"
{ yyval.str = "nocreatedb"; ; { yyval.str = "nocreatedb"; ;
break;} break;}
case 884: case 884:
#line 5013 "gram.y" #line 5015 "gram.y"
{ yyval.str = "nocreateuser"; ; { yyval.str = "nocreateuser"; ;
break;} break;}
case 885: case 885:
#line 5014 "gram.y" #line 5016 "gram.y"
{ yyval.str = "nothing"; ; { yyval.str = "nothing"; ;
break;} break;}
case 886: case 886:
#line 5015 "gram.y" #line 5017 "gram.y"
{ yyval.str = "notnull"; ; { yyval.str = "notnull"; ;
break;} break;}
case 887: case 887:
#line 5016 "gram.y" #line 5018 "gram.y"
{ yyval.str = "of"; ; { yyval.str = "of"; ;
break;} break;}
case 888: case 888:
#line 5017 "gram.y" #line 5019 "gram.y"
{ yyval.str = "oids"; ; { yyval.str = "oids"; ;
break;} break;}
case 889: case 889:
#line 5018 "gram.y" #line 5020 "gram.y"
{ yyval.str = "only"; ; { yyval.str = "only"; ;
break;} break;}
case 890: case 890:
#line 5019 "gram.y" #line 5021 "gram.y"
{ yyval.str = "operator"; ; { yyval.str = "operator"; ;
break;} break;}
case 891: case 891:
#line 5020 "gram.y" #line 5022 "gram.y"
{ yyval.str = "option"; ; { yyval.str = "option"; ;
break;} break;}
case 892: case 892:
#line 5021 "gram.y" #line 5023 "gram.y"
{ yyval.str = "password"; ; { yyval.str = "password"; ;
break;} break;}
case 893: case 893:
#line 5022 "gram.y" #line 5024 "gram.y"
{ yyval.str = "prior"; ; { yyval.str = "prior"; ;
break;} break;}
case 894: case 894:
#line 5023 "gram.y" #line 5025 "gram.y"
{ yyval.str = "privileges"; ; { yyval.str = "privileges"; ;
break;} break;}
case 895: case 895:
#line 5024 "gram.y" #line 5026 "gram.y"
{ yyval.str = "procedural"; ; { yyval.str = "procedural"; ;
break;} break;}
case 896: case 896:
#line 5025 "gram.y" #line 5027 "gram.y"
{ yyval.str = "read"; ; { yyval.str = "read"; ;
break;} break;}
case 897: case 897:
#line 5026 "gram.y" #line 5028 "gram.y"
{ yyval.str = "recipe"; ; { yyval.str = "recipe"; ;
break;} break;}
case 898: case 898:
#line 5027 "gram.y" #line 5029 "gram.y"
{ yyval.str = "relative"; ; { yyval.str = "relative"; ;
break;} break;}
case 899: case 899:
#line 5028 "gram.y" #line 5030 "gram.y"
{ yyval.str = "rename"; ; { yyval.str = "rename"; ;
break;} break;}
case 900: case 900:
#line 5029 "gram.y" #line 5031 "gram.y"
{ yyval.str = "returns"; ; { yyval.str = "returns"; ;
break;} break;}
case 901: case 901:
#line 5030 "gram.y" #line 5032 "gram.y"
{ yyval.str = "row"; ; { yyval.str = "row"; ;
break;} break;}
case 902: case 902:
#line 5031 "gram.y" #line 5033 "gram.y"
{ yyval.str = "rule"; ; { yyval.str = "rule"; ;
break;} break;}
case 903: case 903:
#line 5032 "gram.y" #line 5034 "gram.y"
{ yyval.str = "scroll"; ; { yyval.str = "scroll"; ;
break;} break;}
case 904: case 904:
#line 5033 "gram.y" #line 5035 "gram.y"
{ yyval.str = "sequence"; ; { yyval.str = "sequence"; ;
break;} break;}
case 905: case 905:
#line 5034 "gram.y" #line 5036 "gram.y"
{ yyval.str = "serial"; ; { yyval.str = "serial"; ;
break;} break;}
case 906: case 906:
#line 5035 "gram.y" #line 5037 "gram.y"
{ yyval.str = "start"; ; { yyval.str = "start"; ;
break;} break;}
case 907: case 907:
#line 5036 "gram.y" #line 5038 "gram.y"
{ yyval.str = "statement"; ; { yyval.str = "statement"; ;
break;} break;}
case 908: case 908:
#line 5037 "gram.y" #line 5039 "gram.y"
{ yyval.str = "stdin"; ; { yyval.str = "stdin"; ;
break;} break;}
case 909: case 909:
#line 5038 "gram.y" #line 5040 "gram.y"
{ yyval.str = "stdout"; ; { yyval.str = "stdout"; ;
break;} break;}
case 910: case 910:
#line 5039 "gram.y" #line 5041 "gram.y"
{ yyval.str = "time"; ; { yyval.str = "time"; ;
break;} break;}
case 911: case 911:
#line 5040 "gram.y" #line 5042 "gram.y"
{ yyval.str = "timestamp"; ; { yyval.str = "timestamp"; ;
break;} break;}
case 912: case 912:
#line 5041 "gram.y" #line 5043 "gram.y"
{ yyval.str = "timezone_hour"; ; { yyval.str = "timezone_hour"; ;
break;} break;}
case 913: case 913:
#line 5042 "gram.y" #line 5044 "gram.y"
{ yyval.str = "timezone_minute"; ; { yyval.str = "timezone_minute"; ;
break;} break;}
case 914: case 914:
#line 5043 "gram.y" #line 5045 "gram.y"
{ yyval.str = "trigger"; ; { yyval.str = "trigger"; ;
break;} break;}
case 915: case 915:
#line 5044 "gram.y" #line 5046 "gram.y"
{ yyval.str = "trusted"; ; { yyval.str = "trusted"; ;
break;} break;}
case 916: case 916:
#line 5045 "gram.y" #line 5047 "gram.y"
{ yyval.str = "type"; ; { yyval.str = "type"; ;
break;} break;}
case 917: case 917:
#line 5046 "gram.y" #line 5048 "gram.y"
{ yyval.str = "valid"; ; { yyval.str = "valid"; ;
break;} break;}
case 918: case 918:
#line 5047 "gram.y" #line 5049 "gram.y"
{ yyval.str = "version"; ; { yyval.str = "version"; ;
break;} break;}
case 919: case 919:
#line 5048 "gram.y" #line 5050 "gram.y"
{ yyval.str = "zone"; ; { yyval.str = "zone"; ;
break;} break;}
case 920: case 920:
#line 5061 "gram.y" #line 5063 "gram.y"
{ yyval.str = yyvsp[0].str; ; { yyval.str = yyvsp[0].str; ;
break;} break;}
case 921: case 921:
#line 5062 "gram.y" #line 5064 "gram.y"
{ yyval.str = "abort"; ; { yyval.str = "abort"; ;
break;} break;}
case 922: case 922:
#line 5063 "gram.y" #line 5065 "gram.y"
{ yyval.str = "analyze"; ; { yyval.str = "analyze"; ;
break;} break;}
case 923: case 923:
#line 5064 "gram.y" #line 5066 "gram.y"
{ yyval.str = "binary"; ; { yyval.str = "binary"; ;
break;} break;}
case 924: case 924:
#line 5065 "gram.y" #line 5067 "gram.y"
{ yyval.str = "case"; ; { yyval.str = "case"; ;
break;} break;}
case 925: case 925:
#line 5066 "gram.y" #line 5068 "gram.y"
{ yyval.str = "cluster"; ; { yyval.str = "cluster"; ;
break;} break;}
case 926: case 926:
#line 5067 "gram.y" #line 5069 "gram.y"
{ yyval.str = "coalesce"; ; { yyval.str = "coalesce"; ;
break;} break;}
case 927: case 927:
#line 5068 "gram.y" #line 5070 "gram.y"
{ yyval.str = "constraint"; ; { yyval.str = "constraint"; ;
break;} break;}
case 928: case 928:
#line 5069 "gram.y" #line 5071 "gram.y"
{ yyval.str = "copy"; ; { yyval.str = "copy"; ;
break;} break;}
case 929: case 929:
#line 5070 "gram.y" #line 5072 "gram.y"
{ yyval.str = "cross"; ; { yyval.str = "cross"; ;
break;} break;}
case 930: case 930:
#line 5071 "gram.y" #line 5073 "gram.y"
{ yyval.str = "current"; ; { yyval.str = "current"; ;
break;} break;}
case 931: case 931:
#line 5072 "gram.y" #line 5074 "gram.y"
{ yyval.str = "do"; ; { yyval.str = "do"; ;
break;} break;}
case 932: case 932:
#line 5073 "gram.y" #line 5075 "gram.y"
{ yyval.str = "else"; ; { yyval.str = "else"; ;
break;} break;}
case 933: case 933:
#line 5074 "gram.y" #line 5076 "gram.y"
{ yyval.str = "end"; ; { yyval.str = "end"; ;
break;} break;}
case 934: case 934:
#line 5075 "gram.y" #line 5077 "gram.y"
{ yyval.str = "explain"; ; { yyval.str = "explain"; ;
break;} break;}
case 935: case 935:
#line 5076 "gram.y" #line 5078 "gram.y"
{ yyval.str = "extend"; ; { yyval.str = "extend"; ;
break;} break;}
case 936: case 936:
#line 5077 "gram.y" #line 5079 "gram.y"
{ yyval.str = "false"; ; { yyval.str = "false"; ;
break;} break;}
case 937: case 937:
#line 5078 "gram.y" #line 5080 "gram.y"
{ yyval.str = "foreign"; ; { yyval.str = "foreign"; ;
break;} break;}
case 938: case 938:
#line 5079 "gram.y" #line 5081 "gram.y"
{ yyval.str = "group"; ; { yyval.str = "group"; ;
break;} break;}
case 939: case 939:
#line 5080 "gram.y" #line 5082 "gram.y"
{ yyval.str = "listen"; ; { yyval.str = "listen"; ;
break;} break;}
case 940: case 940:
#line 5081 "gram.y" #line 5083 "gram.y"
{ yyval.str = "load"; ; { yyval.str = "load"; ;
break;} break;}
case 941: case 941:
#line 5082 "gram.y" #line 5084 "gram.y"
{ yyval.str = "lock"; ; { yyval.str = "lock"; ;
break;} break;}
case 942: case 942:
#line 5083 "gram.y" #line 5085 "gram.y"
{ yyval.str = "move"; ; { yyval.str = "move"; ;
break;} break;}
case 943: case 943:
#line 5084 "gram.y" #line 5086 "gram.y"
{ yyval.str = "new"; ; { yyval.str = "new"; ;
break;} break;}
case 944: case 944:
#line 5085 "gram.y" #line 5087 "gram.y"
{ yyval.str = "none"; ; { yyval.str = "none"; ;
break;} break;}
case 945: case 945:
#line 5086 "gram.y" #line 5088 "gram.y"
{ yyval.str = "nullif"; ; { yyval.str = "nullif"; ;
break;} break;}
case 946: case 946:
#line 5087 "gram.y" #line 5089 "gram.y"
{ yyval.str = "order"; ; { yyval.str = "order"; ;
break;} break;}
case 947: case 947:
#line 5088 "gram.y" #line 5090 "gram.y"
{ yyval.str = "position"; ; { yyval.str = "position"; ;
break;} break;}
case 948: case 948:
#line 5089 "gram.y" #line 5091 "gram.y"
{ yyval.str = "precision"; ; { yyval.str = "precision"; ;
break;} break;}
case 949: case 949:
#line 5090 "gram.y" #line 5092 "gram.y"
{ yyval.str = "reset"; ; { yyval.str = "reset"; ;
break;} break;}
case 950: case 950:
#line 5091 "gram.y" #line 5093 "gram.y"
{ yyval.str = "setof"; ; { yyval.str = "setof"; ;
break;} break;}
case 951: case 951:
#line 5092 "gram.y" #line 5094 "gram.y"
{ yyval.str = "show"; ; { yyval.str = "show"; ;
break;} break;}
case 952: case 952:
#line 5093 "gram.y" #line 5095 "gram.y"
{ yyval.str = "table"; ; { yyval.str = "table"; ;
break;} break;}
case 953: case 953:
#line 5094 "gram.y" #line 5096 "gram.y"
{ yyval.str = "then"; ; { yyval.str = "then"; ;
break;} break;}
case 954: case 954:
#line 5095 "gram.y" #line 5097 "gram.y"
{ yyval.str = "transaction"; ; { yyval.str = "transaction"; ;
break;} break;}
case 955: case 955:
#line 5096 "gram.y" #line 5098 "gram.y"
{ yyval.str = "true"; ; { yyval.str = "true"; ;
break;} break;}
case 956: case 956:
#line 5097 "gram.y" #line 5099 "gram.y"
{ yyval.str = "vacuum"; ; { yyval.str = "vacuum"; ;
break;} break;}
case 957: case 957:
#line 5098 "gram.y" #line 5100 "gram.y"
{ yyval.str = "verbose"; ; { yyval.str = "verbose"; ;
break;} break;}
case 958: case 958:
#line 5099 "gram.y" #line 5101 "gram.y"
{ yyval.str = "when"; ; { yyval.str = "when"; ;
break;} break;}
case 959: case 959:
#line 5103 "gram.y" #line 5105 "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 5110 "gram.y" #line 5112 "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 5118 "gram.y" #line 5120 "gram.y"
static Node * static Node *
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment