Commit c8ae6afd authored by Bruce Momjian's avatar Bruce Momjian

Update gram.c.

parent 2a608123
......@@ -239,7 +239,7 @@
*
*
* 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
* AUTHOR DATE MAJOR EVENT
......@@ -867,55 +867,55 @@ static const short yyrline[] = { 0,
2456, 2468, 2484, 2500, 2514, 2532, 2533, 2536, 2539, 2543,
2560, 2570, 2578, 2604, 2621, 2638, 2639, 2649, 2671, 2693,
2694, 2695, 2696, 2697, 2700, 2701, 2704, 2705, 2713, 2730,
2830, 2834, 2838, 2843, 2852, 2859, 2886, 2887, 2890, 2891,
2894, 2895, 2898, 2899, 2900, 2901, 2904, 2905, 2908, 2909,
2912, 2920, 2921, 2922, 2923, 2924, 2925, 2935, 2936, 2939,
2941, 2943, 2947, 2948, 2951, 2955, 2958, 2963, 2967, 2981,
2986, 2987, 2990, 2992, 2994, 2998, 3004, 3010, 3018, 3019,
3021, 3023, 3025, 3027, 3029, 3031, 3035, 3036, 3039, 3040,
3041, 3044, 3045, 3048, 3063, 3070, 3079, 3080, 3083, 3090,
3098, 3100, 3102, 3106, 3108, 3110, 3125, 3147, 3148, 3155,
3156, 3157, 3160, 3168, 3169, 3177, 3183, 3188, 3194, 3202,
3204, 3206, 3208, 3212, 3223, 3229, 3240, 3248, 3254, 3265,
3273, 3287, 3314, 3333, 3353, 3354, 3355, 3356, 3359, 3360,
3363, 3364, 3367, 3368, 3371, 3377, 3384, 3390, 3398, 3399,
3400, 3401, 3402, 3403, 3406, 3407, 3410, 3411, 3412, 3413,
3414, 3415, 3416, 3417, 3418, 3428, 3430, 3447, 3457, 3467,
3480, 3493, 3499, 3505, 3509, 3515, 3516, 3517, 3518, 3519,
3520, 3521, 3522, 3525, 3526, 3537, 3542, 3544, 3546, 3554,
3556, 3558, 3560, 3562, 3564, 3566, 3568, 3570, 3572, 3574,
3576, 3592, 3608, 3610, 3612, 3614, 3616, 3618, 3620, 3632,
3639, 3646, 3661, 3676, 3698, 3713, 3735, 3742, 3749, 3759,
3766, 3773, 3781, 3788, 3795, 3802, 3809, 3811, 3813, 3815,
3822, 3832, 3842, 3852, 3862, 3868, 3874, 3874, 3888, 3888,
3902, 3912, 3922, 3932, 3942, 3952, 3962, 3972, 3982, 3992,
4002, 4012, 4022, 4032, 4042, 4052, 4062, 4072, 4082, 4092,
4102, 4112, 4122, 4132, 4142, 4144, 4146, 4148, 4157, 4162,
4164, 4172, 4174, 4176, 4178, 4180, 4182, 4184, 4186, 4188,
4204, 4220, 4222, 4224, 4226, 4228, 4235, 4242, 4257, 4272,
4294, 4309, 4331, 4338, 4345, 4352, 4360, 4367, 4374, 4381,
4390, 4397, 4404, 4408, 4410, 4412, 4416, 4423, 4427, 4428,
4429, 4432, 4434, 4438, 4443, 4445, 4447, 4449, 4451, 4453,
4455, 4457, 4473, 4489, 4491, 4493, 4495, 4497, 4505, 4512,
4519, 4526, 4534, 4541, 4548, 4555, 4564, 4568, 4572, 4574,
4583, 4585, 4589, 4591, 4593, 4597, 4603, 4607, 4609, 4615,
4621, 4625, 4627, 4648, 4656, 4667, 4685, 4687, 4691, 4700,
4701, 4704, 4709, 4717, 4721, 4729, 4739, 4741, 4743, 4754,
4756, 4758, 4773, 4780, 4787, 4806, 4808, 4813, 4820, 4827,
4839, 4853, 4854, 4857, 4862, 4874, 4875, 4876, 4877, 4878,
4884, 4885, 4887, 4888, 4893, 4900, 4907, 4914, 4922, 4924,
4934, 4946, 4954, 4955, 4956, 4963, 4965, 4967, 4978, 4979,
4980, 4981, 4982, 4983, 4984, 4985, 4986, 4987, 4988, 4989,
4990, 4991, 4992, 4993, 4994, 4995, 4996, 4997, 4998, 4999,
5000, 5001, 5002, 5003, 5004, 5005, 5006, 5007, 5008, 5009,
5010, 5011, 5012, 5013, 5014, 5015, 5016, 5017, 5018, 5019,
5020, 5021, 5022, 5023, 5024, 5025, 5026, 5027, 5028, 5029,
5030, 5031, 5032, 5033, 5034, 5035, 5036, 5037, 5038, 5039,
5040, 5041, 5042, 5043, 5044, 5045, 5046, 5047, 5048, 5061,
5062, 5063, 5064, 5065, 5066, 5067, 5068, 5069, 5070, 5071,
5072, 5073, 5074, 5075, 5076, 5077, 5078, 5079, 5080, 5081,
5082, 5083, 5084, 5085, 5086, 5087, 5088, 5089, 5090, 5091,
5092, 5093, 5094, 5095, 5096, 5097, 5098, 5099, 5102, 5109
2832, 2836, 2840, 2845, 2854, 2861, 2888, 2889, 2892, 2893,
2896, 2897, 2900, 2901, 2902, 2903, 2906, 2907, 2910, 2911,
2914, 2922, 2923, 2924, 2925, 2926, 2927, 2937, 2938, 2941,
2943, 2945, 2949, 2950, 2953, 2957, 2960, 2965, 2969, 2983,
2988, 2989, 2992, 2994, 2996, 3000, 3006, 3012, 3020, 3021,
3023, 3025, 3027, 3029, 3031, 3033, 3037, 3038, 3041, 3042,
3043, 3046, 3047, 3050, 3065, 3072, 3081, 3082, 3085, 3092,
3100, 3102, 3104, 3108, 3110, 3112, 3127, 3149, 3150, 3157,
3158, 3159, 3162, 3170, 3171, 3179, 3185, 3190, 3196, 3204,
3206, 3208, 3210, 3214, 3225, 3231, 3242, 3250, 3256, 3267,
3275, 3289, 3316, 3335, 3355, 3356, 3357, 3358, 3361, 3362,
3365, 3366, 3369, 3370, 3373, 3379, 3386, 3392, 3400, 3401,
3402, 3403, 3404, 3405, 3408, 3409, 3412, 3413, 3414, 3415,
3416, 3417, 3418, 3419, 3420, 3430, 3432, 3449, 3459, 3469,
3482, 3495, 3501, 3507, 3511, 3517, 3518, 3519, 3520, 3521,
3522, 3523, 3524, 3527, 3528, 3539, 3544, 3546, 3548, 3556,
3558, 3560, 3562, 3564, 3566, 3568, 3570, 3572, 3574, 3576,
3578, 3594, 3610, 3612, 3614, 3616, 3618, 3620, 3622, 3634,
3641, 3648, 3663, 3678, 3700, 3715, 3737, 3744, 3751, 3761,
3768, 3775, 3783, 3790, 3797, 3804, 3811, 3813, 3815, 3817,
3824, 3834, 3844, 3854, 3864, 3870, 3876, 3876, 3890, 3890,
3904, 3914, 3924, 3934, 3944, 3954, 3964, 3974, 3984, 3994,
4004, 4014, 4024, 4034, 4044, 4054, 4064, 4074, 4084, 4094,
4104, 4114, 4124, 4134, 4144, 4146, 4148, 4150, 4159, 4164,
4166, 4174, 4176, 4178, 4180, 4182, 4184, 4186, 4188, 4190,
4206, 4222, 4224, 4226, 4228, 4230, 4237, 4244, 4259, 4274,
4296, 4311, 4333, 4340, 4347, 4354, 4362, 4369, 4376, 4383,
4392, 4399, 4406, 4410, 4412, 4414, 4418, 4425, 4429, 4430,
4431, 4434, 4436, 4440, 4445, 4447, 4449, 4451, 4453, 4455,
4457, 4459, 4475, 4491, 4493, 4495, 4497, 4499, 4507, 4514,
4521, 4528, 4536, 4543, 4550, 4557, 4566, 4570, 4574, 4576,
4585, 4587, 4591, 4593, 4595, 4599, 4605, 4609, 4611, 4617,
4623, 4627, 4629, 4650, 4658, 4669, 4687, 4689, 4693, 4702,
4703, 4706, 4711, 4719, 4723, 4731, 4741, 4743, 4745, 4756,
4758, 4760, 4775, 4782, 4789, 4808, 4810, 4815, 4822, 4829,
4841, 4855, 4856, 4859, 4864, 4876, 4877, 4878, 4879, 4880,
4886, 4887, 4889, 4890, 4895, 4902, 4909, 4916, 4924, 4926,
4936, 4948, 4956, 4957, 4958, 4965, 4967, 4969, 4980, 4981,
4982, 4983, 4984, 4985, 4986, 4987, 4988, 4989, 4990, 4991,
4992, 4993, 4994, 4995, 4996, 4997, 4998, 4999, 5000, 5001,
5002, 5003, 5004, 5005, 5006, 5007, 5008, 5009, 5010, 5011,
5012, 5013, 5014, 5015, 5016, 5017, 5018, 5019, 5020, 5021,
5022, 5023, 5024, 5025, 5026, 5027, 5028, 5029, 5030, 5031,
5032, 5033, 5034, 5035, 5036, 5037, 5038, 5039, 5040, 5041,
5042, 5043, 5044, 5045, 5046, 5047, 5048, 5049, 5050, 5063,
5064, 5065, 5066, 5067, 5068, 5069, 5070, 5071, 5072, 5073,
5074, 5075, 5076, 5077, 5078, 5079, 5080, 5081, 5082, 5083,
5084, 5085, 5086, 5087, 5088, 5089, 5090, 5091, 5092, 5093,
5094, 5095, 5096, 5097, 5098, 5099, 5100, 5101, 5104, 5111
};
#endif
......@@ -7946,6 +7946,8 @@ case 470:
if (n->unionClause != NULL)
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)
elog(ERROR, "SELECT FOR UPDATE is not allowed with DISTINCT clause");
if (n->groupClause != NULL)
......@@ -7956,26 +7958,26 @@ case 470:
;
break;}
case 471:
#line 2831 "gram.y"
#line 2833 "gram.y"
{
yyval.node = yyvsp[-1].node;
;
break;}
case 472:
#line 2835 "gram.y"
#line 2837 "gram.y"
{
yyval.node = yyvsp[0].node;
;
break;}
case 473:
#line 2839 "gram.y"
#line 2841 "gram.y"
{
yyval.node = (Node *)makeA_Expr(AND,NULL,yyvsp[-2].node,
makeA_Expr(NOT,NULL,NULL,yyvsp[0].node));
;
break;}
case 474:
#line 2844 "gram.y"
#line 2846 "gram.y"
{
if (IsA(yyvsp[0].node, SelectStmt))
{
......@@ -7986,13 +7988,13 @@ case 474:
;
break;}
case 475:
#line 2853 "gram.y"
#line 2855 "gram.y"
{
yyval.node = (Node *)makeA_Expr(AND,NULL,yyvsp[-2].node,yyvsp[0].node);
;
break;}
case 476:
#line 2862 "gram.y"
#line 2864 "gram.y"
{
SelectStmt *n = makeNode(SelectStmt);
n->unique = yyvsp[-6].str;
......@@ -8017,63 +8019,63 @@ case 476:
;
break;}
case 477:
#line 2886 "gram.y"
#line 2888 "gram.y"
{ yyval.str= yyvsp[0].str; ;
break;}
case 478:
#line 2887 "gram.y"
#line 2889 "gram.y"
{ yyval.str = NULL; ;
break;}
case 479:
#line 2890 "gram.y"
#line 2892 "gram.y"
{ yyval.boolean = TRUE; ;
break;}
case 480:
#line 2891 "gram.y"
#line 2893 "gram.y"
{ yyval.boolean = FALSE; ;
break;}
case 481:
#line 2894 "gram.y"
#line 2896 "gram.y"
{ yyval.boolean = TRUE; ;
break;}
case 482:
#line 2895 "gram.y"
#line 2897 "gram.y"
{ yyval.boolean = FALSE; ;
break;}
case 483:
#line 2898 "gram.y"
#line 2900 "gram.y"
{ yyval.str = "*"; ;
break;}
case 484:
#line 2899 "gram.y"
#line 2901 "gram.y"
{ yyval.str = yyvsp[0].str; ;
break;}
case 485:
#line 2900 "gram.y"
#line 2902 "gram.y"
{ yyval.str = NULL; ;
break;}
case 486:
#line 2901 "gram.y"
#line 2903 "gram.y"
{ yyval.str = NULL; ;
break;}
case 487:
#line 2904 "gram.y"
#line 2906 "gram.y"
{ yyval.list = yyvsp[0].list; ;
break;}
case 488:
#line 2905 "gram.y"
#line 2907 "gram.y"
{ yyval.list = NIL; ;
break;}
case 489:
#line 2908 "gram.y"
#line 2910 "gram.y"
{ yyval.list = lcons(yyvsp[0].sortgroupby, NIL); ;
break;}
case 490:
#line 2909 "gram.y"
#line 2911 "gram.y"
{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].sortgroupby); ;
break;}
case 491:
#line 2913 "gram.y"
#line 2915 "gram.y"
{
yyval.sortgroupby = makeNode(SortGroupBy);
yyval.sortgroupby->node = yyvsp[-1].node;
......@@ -8081,110 +8083,110 @@ case 491:
;
break;}
case 492:
#line 2920 "gram.y"
#line 2922 "gram.y"
{ yyval.str = yyvsp[0].str; ;
break;}
case 493:
#line 2921 "gram.y"
#line 2923 "gram.y"
{ yyval.str = "<"; ;
break;}
case 494:
#line 2922 "gram.y"
#line 2924 "gram.y"
{ yyval.str = ">"; ;
break;}
case 495:
#line 2923 "gram.y"
#line 2925 "gram.y"
{ yyval.str = "<"; ;
break;}
case 496:
#line 2924 "gram.y"
#line 2926 "gram.y"
{ yyval.str = ">"; ;
break;}
case 497:
#line 2925 "gram.y"
#line 2927 "gram.y"
{ yyval.str = "<"; /*default*/ ;
break;}
case 498:
#line 2935 "gram.y"
#line 2937 "gram.y"
{ yyval.boolean = TRUE; ;
break;}
case 499:
#line 2936 "gram.y"
#line 2938 "gram.y"
{ yyval.boolean = FALSE; ;
break;}
case 501:
#line 2942 "gram.y"
#line 2944 "gram.y"
{ yyval.list = lcons(makeString(yyvsp[0].str),NIL); ;
break;}
case 502:
#line 2944 "gram.y"
#line 2946 "gram.y"
{ yyval.list = lappend(yyvsp[-2].list,makeString(yyvsp[0].str)); ;
break;}
case 503:
#line 2947 "gram.y"
#line 2949 "gram.y"
{ yyval.list = yyvsp[0].list; ;
break;}
case 504:
#line 2948 "gram.y"
#line 2950 "gram.y"
{ yyval.list = NIL; ;
break;}
case 505:
#line 2952 "gram.y"
#line 2954 "gram.y"
{
yyval.node = yyvsp[0].node;
;
break;}
case 506:
#line 2955 "gram.y"
#line 2957 "gram.y"
{ yyval.node = NULL; ;
break;}
case 507:
#line 2960 "gram.y"
#line 2962 "gram.y"
{
yyval.list = lcons(NULL, NULL);
;
break;}
case 508:
#line 2964 "gram.y"
#line 2966 "gram.y"
{
yyval.list = yyvsp[0].list;
;
break;}
case 509:
#line 2968 "gram.y"
#line 2970 "gram.y"
{
yyval.list = NULL;
;
break;}
case 510:
#line 2982 "gram.y"
#line 2984 "gram.y"
{
yyval.list = NIL;
elog(ERROR,"JOIN not yet implemented");
;
break;}
case 511:
#line 2986 "gram.y"
#line 2988 "gram.y"
{ yyval.list = yyvsp[0].list; ;
break;}
case 512:
#line 2987 "gram.y"
#line 2989 "gram.y"
{ yyval.list = NIL; ;
break;}
case 513:
#line 2991 "gram.y"
#line 2993 "gram.y"
{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].range); ;
break;}
case 514:
#line 2993 "gram.y"
#line 2995 "gram.y"
{ elog(ERROR,"CROSS JOIN not yet implemented"); ;
break;}
case 515:
#line 2995 "gram.y"
#line 2997 "gram.y"
{ yyval.list = lcons(yyvsp[0].range, NIL); ;
break;}
case 516:
#line 2999 "gram.y"
#line 3001 "gram.y"
{
yyval.range = makeNode(RangeVar);
yyval.range->relExpr = yyvsp[-2].relexp;
......@@ -8192,7 +8194,7 @@ case 516:
;
break;}
case 517:
#line 3005 "gram.y"
#line 3007 "gram.y"
{
yyval.range = makeNode(RangeVar);
yyval.range->relExpr = yyvsp[-1].relexp;
......@@ -8200,7 +8202,7 @@ case 517:
;
break;}
case 518:
#line 3011 "gram.y"
#line 3013 "gram.y"
{
yyval.range = makeNode(RangeVar);
yyval.range->relExpr = yyvsp[0].relexp;
......@@ -8208,67 +8210,67 @@ case 518:
;
break;}
case 519:
#line 3018 "gram.y"
#line 3020 "gram.y"
{ yyval.str = NULL; ;
break;}
case 520:
#line 3020 "gram.y"
#line 3022 "gram.y"
{ elog(ERROR,"FULL OUTER JOIN not yet implemented"); ;
break;}
case 521:
#line 3022 "gram.y"
#line 3024 "gram.y"
{ elog(ERROR,"LEFT OUTER JOIN not yet implemented"); ;
break;}
case 522:
#line 3024 "gram.y"
#line 3026 "gram.y"
{ elog(ERROR,"RIGHT OUTER JOIN not yet implemented"); ;
break;}
case 523:
#line 3026 "gram.y"
#line 3028 "gram.y"
{ elog(ERROR,"OUTER JOIN not yet implemented"); ;
break;}
case 524:
#line 3028 "gram.y"
#line 3030 "gram.y"
{ elog(ERROR,"INNER JOIN not yet implemented"); ;
break;}
case 525:
#line 3030 "gram.y"
#line 3032 "gram.y"
{ elog(ERROR,"UNION JOIN not yet implemented"); ;
break;}
case 526:
#line 3032 "gram.y"
#line 3034 "gram.y"
{ elog(ERROR,"INNER JOIN not yet implemented"); ;
break;}
case 527:
#line 3035 "gram.y"
#line 3037 "gram.y"
{ yyval.str = NULL; ;
break;}
case 528:
#line 3036 "gram.y"
#line 3038 "gram.y"
{ yyval.str = NULL; /* no qualifiers */ ;
break;}
case 529:
#line 3039 "gram.y"
#line 3041 "gram.y"
{ yyval.str = NULL; ;
break;}
case 530:
#line 3040 "gram.y"
#line 3042 "gram.y"
{ yyval.str = NULL; ;
break;}
case 531:
#line 3041 "gram.y"
#line 3043 "gram.y"
{ yyval.str = NULL; /* no qualifiers */ ;
break;}
case 532:
#line 3044 "gram.y"
#line 3046 "gram.y"
{ yyval.list = lcons(yyvsp[0].joinusing, NIL); ;
break;}
case 533:
#line 3045 "gram.y"
#line 3047 "gram.y"
{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].joinusing); ;
break;}
case 534:
#line 3057 "gram.y"
#line 3059 "gram.y"
{
yyval.joinusing = makeNode(JoinUsing);
yyval.joinusing->resno = 0;
......@@ -8277,7 +8279,7 @@ case 534:
;
break;}
case 535:
#line 3064 "gram.y"
#line 3066 "gram.y"
{
yyval.joinusing = makeNode(JoinUsing);
yyval.joinusing->resno = 0;
......@@ -8286,7 +8288,7 @@ case 535:
;
break;}
case 536:
#line 3071 "gram.y"
#line 3073 "gram.y"
{
yyval.joinusing = makeNode(JoinUsing);
yyval.joinusing->resno = yyvsp[0].ival;
......@@ -8295,15 +8297,15 @@ case 536:
;
break;}
case 537:
#line 3079 "gram.y"
#line 3081 "gram.y"
{ yyval.node = yyvsp[0].node; ;
break;}
case 538:
#line 3080 "gram.y"
#line 3082 "gram.y"
{ yyval.node = NULL; /* no qualifiers */ ;
break;}
case 539:
#line 3084 "gram.y"
#line 3086 "gram.y"
{
/* normal relations */
yyval.relexp = makeNode(RelExpr);
......@@ -8312,7 +8314,7 @@ case 539:
;
break;}
case 540:
#line 3091 "gram.y"
#line 3093 "gram.y"
{
/* inheritance query */
yyval.relexp = makeNode(RelExpr);
......@@ -8321,31 +8323,31 @@ case 540:
;
break;}
case 541:
#line 3099 "gram.y"
#line 3101 "gram.y"
{ yyval.list = lcons(makeInteger(-1), yyvsp[0].list); ;
break;}
case 542:
#line 3101 "gram.y"
#line 3103 "gram.y"
{ yyval.list = lcons(makeInteger(yyvsp[-2].ival), yyvsp[0].list); ;
break;}
case 543:
#line 3103 "gram.y"
#line 3105 "gram.y"
{ yyval.list = NIL; ;
break;}
case 544:
#line 3107 "gram.y"
#line 3109 "gram.y"
{ yyval.list = lcons(makeInteger(-1), yyvsp[0].list); ;
break;}
case 545:
#line 3109 "gram.y"
#line 3111 "gram.y"
{ yyval.list = lcons(makeInteger(yyvsp[-2].ival), yyvsp[0].list); ;
break;}
case 546:
#line 3111 "gram.y"
#line 3113 "gram.y"
{ yyval.list = NIL; ;
break;}
case 547:
#line 3126 "gram.y"
#line 3128 "gram.y"
{
yyval.typnam = yyvsp[-1].typnam;
yyval.typnam->arrayBounds = yyvsp[0].list;
......@@ -8369,14 +8371,14 @@ case 547:
;
break;}
case 549:
#line 3149 "gram.y"
#line 3151 "gram.y"
{
yyval.typnam = yyvsp[0].typnam;
yyval.typnam->setof = TRUE;
;
break;}
case 553:
#line 3161 "gram.y"
#line 3163 "gram.y"
{
yyval.typnam = makeNode(TypeName);
yyval.typnam->name = xlateSqlType(yyvsp[0].str);
......@@ -8384,15 +8386,15 @@ case 553:
;
break;}
case 554:
#line 3168 "gram.y"
#line 3170 "gram.y"
{ yyval.str = yyvsp[0].str; ;
break;}
case 555:
#line 3169 "gram.y"
#line 3171 "gram.y"
{ yyval.str = xlateSqlType("type"); ;
break;}
case 556:
#line 3178 "gram.y"
#line 3180 "gram.y"
{
yyval.typnam = makeNode(TypeName);
yyval.typnam->name = xlateSqlType(yyvsp[0].str);
......@@ -8400,14 +8402,14 @@ case 556:
;
break;}
case 557:
#line 3184 "gram.y"
#line 3186 "gram.y"
{
yyval.typnam = makeNode(TypeName);
yyval.typnam->name = xlateSqlType("float");
;
break;}
case 558:
#line 3189 "gram.y"
#line 3191 "gram.y"
{
yyval.typnam = makeNode(TypeName);
yyval.typnam->name = xlateSqlType("numeric");
......@@ -8415,7 +8417,7 @@ case 558:
;
break;}
case 559:
#line 3195 "gram.y"
#line 3197 "gram.y"
{
yyval.typnam = makeNode(TypeName);
yyval.typnam->name = xlateSqlType("numeric");
......@@ -8423,23 +8425,23 @@ case 559:
;
break;}
case 560:
#line 3203 "gram.y"
#line 3205 "gram.y"
{ yyval.str = xlateSqlType("float8"); ;
break;}
case 561:
#line 3205 "gram.y"
#line 3207 "gram.y"
{ yyval.str = xlateSqlType("float8"); ;
break;}
case 562:
#line 3207 "gram.y"
#line 3209 "gram.y"
{ yyval.str = xlateSqlType("numeric"); ;
break;}
case 563:
#line 3209 "gram.y"
#line 3211 "gram.y"
{ yyval.str = xlateSqlType("numeric"); ;
break;}
case 564:
#line 3213 "gram.y"
#line 3215 "gram.y"
{
if (yyvsp[-1].ival < 1)
elog(ERROR,"precision for FLOAT must be at least 1");
......@@ -8452,13 +8454,13 @@ case 564:
;
break;}
case 565:
#line 3224 "gram.y"
#line 3226 "gram.y"
{
yyval.str = xlateSqlType("float8");
;
break;}
case 566:
#line 3230 "gram.y"
#line 3232 "gram.y"
{
if (yyvsp[-3].ival < 1 || yyvsp[-3].ival > NUMERIC_MAX_PRECISION)
elog(ERROR,"NUMERIC precision %d must be beween 1 and %d",
......@@ -8471,7 +8473,7 @@ case 566:
;
break;}
case 567:
#line 3241 "gram.y"
#line 3243 "gram.y"
{
if (yyvsp[-1].ival < 1 || yyvsp[-1].ival > NUMERIC_MAX_PRECISION)
elog(ERROR,"NUMERIC precision %d must be beween 1 and %d",
......@@ -8481,13 +8483,13 @@ case 567:
;
break;}
case 568:
#line 3249 "gram.y"
#line 3251 "gram.y"
{
yyval.ival = ((NUMERIC_DEFAULT_PRECISION << 16) | NUMERIC_DEFAULT_SCALE) + VARHDRSZ;
;
break;}
case 569:
#line 3255 "gram.y"
#line 3257 "gram.y"
{
if (yyvsp[-3].ival < 1 || yyvsp[-3].ival > NUMERIC_MAX_PRECISION)
elog(ERROR,"DECIMAL precision %d must be beween 1 and %d",
......@@ -8500,7 +8502,7 @@ case 569:
;
break;}
case 570:
#line 3266 "gram.y"
#line 3268 "gram.y"
{
if (yyvsp[-1].ival < 1 || yyvsp[-1].ival > NUMERIC_MAX_PRECISION)
elog(ERROR,"DECIMAL precision %d must be beween 1 and %d",
......@@ -8510,13 +8512,13 @@ case 570:
;
break;}
case 571:
#line 3274 "gram.y"
#line 3276 "gram.y"
{
yyval.ival = ((NUMERIC_DEFAULT_PRECISION << 16) | NUMERIC_DEFAULT_SCALE) + VARHDRSZ;
;
break;}
case 572:
#line 3288 "gram.y"
#line 3290 "gram.y"
{
yyval.typnam = makeNode(TypeName);
if (strcasecmp(yyvsp[-3].str, "char") == 0)
......@@ -8545,7 +8547,7 @@ case 572:
;
break;}
case 573:
#line 3315 "gram.y"
#line 3317 "gram.y"
{
yyval.typnam = makeNode(TypeName);
/* Let's try to make all single-character types into bpchar(1)
......@@ -8564,7 +8566,7 @@ case 573:
;
break;}
case 574:
#line 3334 "gram.y"
#line 3336 "gram.y"
{
char *type, *c;
if ((yyvsp[-1].str == NULL) || (strcasecmp(yyvsp[-1].str, "sql_text") == 0)) {
......@@ -8586,47 +8588,47 @@ case 574:
;
break;}
case 575:
#line 3353 "gram.y"
#line 3355 "gram.y"
{ yyval.str = xlateSqlType(yyvsp[0].boolean? "varchar": "char"); ;
break;}
case 576:
#line 3354 "gram.y"
#line 3356 "gram.y"
{ yyval.str = xlateSqlType("varchar"); ;
break;}
case 577:
#line 3355 "gram.y"
#line 3357 "gram.y"
{ yyval.str = xlateSqlType(yyvsp[0].boolean? "varchar": "char"); ;
break;}
case 578:
#line 3356 "gram.y"
#line 3358 "gram.y"
{ yyval.str = xlateSqlType(yyvsp[0].boolean? "varchar": "char"); ;
break;}
case 579:
#line 3359 "gram.y"
#line 3361 "gram.y"
{ yyval.boolean = TRUE; ;
break;}
case 580:
#line 3360 "gram.y"
#line 3362 "gram.y"
{ yyval.boolean = FALSE; ;
break;}
case 581:
#line 3363 "gram.y"
#line 3365 "gram.y"
{ yyval.str = yyvsp[0].str; ;
break;}
case 582:
#line 3364 "gram.y"
#line 3366 "gram.y"
{ yyval.str = NULL; ;
break;}
case 583:
#line 3367 "gram.y"
#line 3369 "gram.y"
{ yyval.str = yyvsp[0].str; ;
break;}
case 584:
#line 3368 "gram.y"
#line 3370 "gram.y"
{ yyval.str = NULL; ;
break;}
case 585:
#line 3372 "gram.y"
#line 3374 "gram.y"
{
yyval.typnam = makeNode(TypeName);
yyval.typnam->name = xlateSqlType(yyvsp[0].str);
......@@ -8634,7 +8636,7 @@ case 585:
;
break;}
case 586:
#line 3378 "gram.y"
#line 3380 "gram.y"
{
yyval.typnam = makeNode(TypeName);
yyval.typnam->name = xlateSqlType("timestamp");
......@@ -8643,7 +8645,7 @@ case 586:
;
break;}
case 587:
#line 3385 "gram.y"
#line 3387 "gram.y"
{
yyval.typnam = makeNode(TypeName);
yyval.typnam->name = xlateSqlType("time");
......@@ -8651,7 +8653,7 @@ case 587:
;
break;}
case 588:
#line 3391 "gram.y"
#line 3393 "gram.y"
{
yyval.typnam = makeNode(TypeName);
yyval.typnam->name = xlateSqlType("interval");
......@@ -8659,79 +8661,79 @@ case 588:
;
break;}
case 589:
#line 3398 "gram.y"
#line 3400 "gram.y"
{ yyval.str = "year"; ;
break;}
case 590:
#line 3399 "gram.y"
#line 3401 "gram.y"
{ yyval.str = "month"; ;
break;}
case 591:
#line 3400 "gram.y"
#line 3402 "gram.y"
{ yyval.str = "day"; ;
break;}
case 592:
#line 3401 "gram.y"
#line 3403 "gram.y"
{ yyval.str = "hour"; ;
break;}
case 593:
#line 3402 "gram.y"
#line 3404 "gram.y"
{ yyval.str = "minute"; ;
break;}
case 594:
#line 3403 "gram.y"
#line 3405 "gram.y"
{ yyval.str = "second"; ;
break;}
case 595:
#line 3406 "gram.y"
#line 3408 "gram.y"
{ yyval.boolean = TRUE; ;
break;}
case 596:
#line 3407 "gram.y"
#line 3409 "gram.y"
{ yyval.boolean = FALSE; ;
break;}
case 597:
#line 3410 "gram.y"
#line 3412 "gram.y"
{ yyval.list = lcons(yyvsp[0].str, NIL); ;
break;}
case 598:
#line 3411 "gram.y"
#line 3413 "gram.y"
{ yyval.list = NIL; ;
break;}
case 599:
#line 3412 "gram.y"
#line 3414 "gram.y"
{ yyval.list = NIL; ;
break;}
case 600:
#line 3413 "gram.y"
#line 3415 "gram.y"
{ yyval.list = NIL; ;
break;}
case 601:
#line 3414 "gram.y"
#line 3416 "gram.y"
{ yyval.list = NIL; ;
break;}
case 602:
#line 3415 "gram.y"
#line 3417 "gram.y"
{ yyval.list = NIL; ;
break;}
case 603:
#line 3416 "gram.y"
#line 3418 "gram.y"
{ yyval.list = NIL; ;
break;}
case 604:
#line 3417 "gram.y"
#line 3419 "gram.y"
{ yyval.list = NIL; ;
break;}
case 605:
#line 3418 "gram.y"
#line 3420 "gram.y"
{ yyval.list = NIL; ;
break;}
case 606:
#line 3429 "gram.y"
#line 3431 "gram.y"
{ yyval.node = yyvsp[0].node; ;
break;}
case 607:
#line 3431 "gram.y"
#line 3433 "gram.y"
{
A_Const *n = makeNode(A_Const);
n->val.type = T_Null;
......@@ -8739,7 +8741,7 @@ case 607:
;
break;}
case 608:
#line 3448 "gram.y"
#line 3450 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = yyvsp[-5].list;
......@@ -8751,7 +8753,7 @@ case 608:
;
break;}
case 609:
#line 3458 "gram.y"
#line 3460 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = yyvsp[-6].list;
......@@ -8763,7 +8765,7 @@ case 609:
;
break;}
case 610:
#line 3468 "gram.y"
#line 3470 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = yyvsp[-6].list;
......@@ -8778,7 +8780,7 @@ case 610:
;
break;}
case 611:
#line 3481 "gram.y"
#line 3483 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = yyvsp[-5].list;
......@@ -8793,86 +8795,86 @@ case 611:
;
break;}
case 612:
#line 3494 "gram.y"
#line 3496 "gram.y"
{
yyval.node = makeRowExpr(yyvsp[-3].str, yyvsp[-5].list, yyvsp[-1].list);
;
break;}
case 613:
#line 3500 "gram.y"
#line 3502 "gram.y"
{
yyval.list = lappend(yyvsp[-2].list, yyvsp[0].node);
;
break;}
case 614:
#line 3506 "gram.y"
#line 3508 "gram.y"
{
yyval.list = lappend(yyvsp[-2].list, yyvsp[0].node);
;
break;}
case 615:
#line 3510 "gram.y"
#line 3512 "gram.y"
{
yyval.list = lcons(yyvsp[0].node, NIL);
;
break;}
case 616:
#line 3515 "gram.y"
#line 3517 "gram.y"
{ yyval.str = yyvsp[0].str; ;
break;}
case 617:
#line 3516 "gram.y"
#line 3518 "gram.y"
{ yyval.str = "<"; ;
break;}
case 618:
#line 3517 "gram.y"
#line 3519 "gram.y"
{ yyval.str = "="; ;
break;}
case 619:
#line 3518 "gram.y"
#line 3520 "gram.y"
{ yyval.str = ">"; ;
break;}
case 620:
#line 3519 "gram.y"
#line 3521 "gram.y"
{ yyval.str = "+"; ;
break;}
case 621:
#line 3520 "gram.y"
#line 3522 "gram.y"
{ yyval.str = "-"; ;
break;}
case 622:
#line 3521 "gram.y"
#line 3523 "gram.y"
{ yyval.str = "*"; ;
break;}
case 623:
#line 3522 "gram.y"
#line 3524 "gram.y"
{ yyval.str = "/"; ;
break;}
case 624:
#line 3525 "gram.y"
#line 3527 "gram.y"
{ yyval.ival = ANY_SUBLINK; ;
break;}
case 625:
#line 3526 "gram.y"
#line 3528 "gram.y"
{ yyval.ival = ALL_SUBLINK; ;
break;}
case 626:
#line 3538 "gram.y"
#line 3540 "gram.y"
{
yyvsp[-1].attr->indirection = yyvsp[0].list;
yyval.node = (Node *)yyvsp[-1].attr;
;
break;}
case 627:
#line 3543 "gram.y"
#line 3545 "gram.y"
{ yyval.node = yyvsp[0].node; ;
break;}
case 628:
#line 3545 "gram.y"
#line 3547 "gram.y"
{ yyval.node = yyvsp[0].node; ;
break;}
case 629:
#line 3547 "gram.y"
#line 3549 "gram.y"
{
/* could be a column name or a relation_name */
Ident *n = makeNode(Ident);
......@@ -8882,51 +8884,51 @@ case 629:
;
break;}
case 630:
#line 3555 "gram.y"
#line 3557 "gram.y"
{ yyval.node = makeA_Expr(OP, "-", NULL, yyvsp[0].node); ;
break;}
case 631:
#line 3557 "gram.y"
#line 3559 "gram.y"
{ yyval.node = makeA_Expr(OP, "+", yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 632:
#line 3559 "gram.y"
#line 3561 "gram.y"
{ yyval.node = makeA_Expr(OP, "-", yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 633:
#line 3561 "gram.y"
#line 3563 "gram.y"
{ yyval.node = makeA_Expr(OP, "/", yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 634:
#line 3563 "gram.y"
#line 3565 "gram.y"
{ yyval.node = makeA_Expr(OP, "*", yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 635:
#line 3565 "gram.y"
#line 3567 "gram.y"
{ yyval.node = makeA_Expr(OP, "<", yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 636:
#line 3567 "gram.y"
#line 3569 "gram.y"
{ yyval.node = makeA_Expr(OP, ">", yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 637:
#line 3569 "gram.y"
#line 3571 "gram.y"
{ yyval.node = makeA_Expr(OP, "=", yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 638:
#line 3571 "gram.y"
#line 3573 "gram.y"
{ yyval.node = makeA_Expr(OP, ":", NULL, yyvsp[0].node); ;
break;}
case 639:
#line 3573 "gram.y"
#line 3575 "gram.y"
{ yyval.node = makeA_Expr(OP, ";", NULL, yyvsp[0].node); ;
break;}
case 640:
#line 3575 "gram.y"
#line 3577 "gram.y"
{ yyval.node = makeA_Expr(OP, "|", NULL, yyvsp[0].node); ;
break;}
case 641:
#line 3577 "gram.y"
#line 3579 "gram.y"
{
yyval.node = (Node *)yyvsp[-2].node;
/* AexprConst can be either A_Const or ParamNo */
......@@ -8944,7 +8946,7 @@ case 641:
;
break;}
case 642:
#line 3593 "gram.y"
#line 3595 "gram.y"
{
yyval.node = (Node *)yyvsp[-3].node;
/* AexprConst can be either A_Const or ParamNo */
......@@ -8962,31 +8964,31 @@ case 642:
;
break;}
case 643:
#line 3609 "gram.y"
#line 3611 "gram.y"
{ yyval.node = yyvsp[-1].node; ;
break;}
case 644:
#line 3611 "gram.y"
#line 3613 "gram.y"
{ yyval.node = makeIndexable(yyvsp[-1].str,yyvsp[-2].node,yyvsp[0].node); ;
break;}
case 645:
#line 3613 "gram.y"
#line 3615 "gram.y"
{ yyval.node = makeIndexable("~~", yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 646:
#line 3615 "gram.y"
#line 3617 "gram.y"
{ yyval.node = makeA_Expr(OP, "!~~", yyvsp[-3].node, yyvsp[0].node); ;
break;}
case 647:
#line 3617 "gram.y"
#line 3619 "gram.y"
{ yyval.node = makeA_Expr(OP, yyvsp[-1].str, NULL, yyvsp[0].node); ;
break;}
case 648:
#line 3619 "gram.y"
#line 3621 "gram.y"
{ yyval.node = makeA_Expr(OP, yyvsp[0].str, yyvsp[-1].node, NULL); ;
break;}
case 649:
#line 3621 "gram.y"
#line 3623 "gram.y"
{
/* cheap hack for aggregate (eg. count) */
FuncCall *n = makeNode(FuncCall);
......@@ -9000,7 +9002,7 @@ case 649:
;
break;}
case 650:
#line 3633 "gram.y"
#line 3635 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = yyvsp[-2].str;
......@@ -9009,7 +9011,7 @@ case 650:
;
break;}
case 651:
#line 3640 "gram.y"
#line 3642 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = yyvsp[-3].str;
......@@ -9018,7 +9020,7 @@ case 651:
;
break;}
case 652:
#line 3647 "gram.y"
#line 3649 "gram.y"
{
A_Const *n = makeNode(A_Const);
TypeName *t = makeNode(TypeName);
......@@ -9035,7 +9037,7 @@ case 652:
;
break;}
case 653:
#line 3662 "gram.y"
#line 3664 "gram.y"
{
A_Const *n = makeNode(A_Const);
TypeName *t = makeNode(TypeName);
......@@ -9052,7 +9054,7 @@ case 653:
;
break;}
case 654:
#line 3677 "gram.y"
#line 3679 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
A_Const *s = makeNode(A_Const);
......@@ -9076,7 +9078,7 @@ case 654:
;
break;}
case 655:
#line 3699 "gram.y"
#line 3701 "gram.y"
{
A_Const *n = makeNode(A_Const);
TypeName *t = makeNode(TypeName);
......@@ -9093,7 +9095,7 @@ case 655:
;
break;}
case 656:
#line 3714 "gram.y"
#line 3716 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
A_Const *s = makeNode(A_Const);
......@@ -9117,7 +9119,7 @@ case 656:
;
break;}
case 657:
#line 3736 "gram.y"
#line 3738 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = "getpgusername";
......@@ -9126,7 +9128,7 @@ case 657:
;
break;}
case 658:
#line 3743 "gram.y"
#line 3745 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = "getpgusername";
......@@ -9135,7 +9137,7 @@ case 658:
;
break;}
case 659:
#line 3750 "gram.y"
#line 3752 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = NIL;
......@@ -9147,7 +9149,7 @@ case 659:
;
break;}
case 660:
#line 3760 "gram.y"
#line 3762 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = "date_part";
......@@ -9156,7 +9158,7 @@ case 660:
;
break;}
case 661:
#line 3767 "gram.y"
#line 3769 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = "strpos";
......@@ -9165,7 +9167,7 @@ case 661:
;
break;}
case 662:
#line 3774 "gram.y"
#line 3776 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = "substr";
......@@ -9174,7 +9176,7 @@ case 662:
;
break;}
case 663:
#line 3782 "gram.y"
#line 3784 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = "btrim";
......@@ -9183,7 +9185,7 @@ case 663:
;
break;}
case 664:
#line 3789 "gram.y"
#line 3791 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = "ltrim";
......@@ -9192,7 +9194,7 @@ case 664:
;
break;}
case 665:
#line 3796 "gram.y"
#line 3798 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = "rtrim";
......@@ -9201,7 +9203,7 @@ case 665:
;
break;}
case 666:
#line 3803 "gram.y"
#line 3805 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = "btrim";
......@@ -9210,23 +9212,23 @@ case 666:
;
break;}
case 667:
#line 3810 "gram.y"
#line 3812 "gram.y"
{ yyval.node = makeA_Expr(ISNULL, NULL, yyvsp[-1].node, NULL); ;
break;}
case 668:
#line 3812 "gram.y"
#line 3814 "gram.y"
{ yyval.node = makeA_Expr(ISNULL, NULL, yyvsp[-2].node, NULL); ;
break;}
case 669:
#line 3814 "gram.y"
#line 3816 "gram.y"
{ yyval.node = makeA_Expr(NOTNULL, NULL, yyvsp[-1].node, NULL); ;
break;}
case 670:
#line 3816 "gram.y"
#line 3818 "gram.y"
{ yyval.node = makeA_Expr(NOTNULL, NULL, yyvsp[-3].node, NULL); ;
break;}
case 671:
#line 3823 "gram.y"
#line 3825 "gram.y"
{
A_Const *n = makeNode(A_Const);
n->val.type = T_String;
......@@ -9238,7 +9240,7 @@ case 671:
;
break;}
case 672:
#line 3833 "gram.y"
#line 3835 "gram.y"
{
A_Const *n = makeNode(A_Const);
n->val.type = T_String;
......@@ -9250,7 +9252,7 @@ case 672:
;
break;}
case 673:
#line 3843 "gram.y"
#line 3845 "gram.y"
{
A_Const *n = makeNode(A_Const);
n->val.type = T_String;
......@@ -9262,7 +9264,7 @@ case 673:
;
break;}
case 674:
#line 3853 "gram.y"
#line 3855 "gram.y"
{
A_Const *n = makeNode(A_Const);
n->val.type = T_String;
......@@ -9274,7 +9276,7 @@ case 674:
;
break;}
case 675:
#line 3863 "gram.y"
#line 3865 "gram.y"
{
yyval.node = makeA_Expr(AND, NULL,
makeA_Expr(OP, ">=", yyvsp[-4].node, yyvsp[-2].node),
......@@ -9282,7 +9284,7 @@ case 675:
;
break;}
case 676:
#line 3869 "gram.y"
#line 3871 "gram.y"
{
yyval.node = makeA_Expr(OR, NULL,
makeA_Expr(OP, "<", yyvsp[-5].node, yyvsp[-2].node),
......@@ -9290,11 +9292,11 @@ case 676:
;
break;}
case 677:
#line 3874 "gram.y"
#line 3876 "gram.y"
{ saved_In_Expr = lcons(yyvsp[-1].node,saved_In_Expr); ;
break;}
case 678:
#line 3875 "gram.y"
#line 3877 "gram.y"
{
saved_In_Expr = lnext(saved_In_Expr);
if (nodeTag(yyvsp[-1].node) == T_SubLink)
......@@ -9310,11 +9312,11 @@ case 678:
;
break;}
case 679:
#line 3888 "gram.y"
#line 3890 "gram.y"
{ saved_In_Expr = lcons(yyvsp[-2].node,saved_In_Expr); ;
break;}
case 680:
#line 3889 "gram.y"
#line 3891 "gram.y"
{
saved_In_Expr = lnext(saved_In_Expr);
if (nodeTag(yyvsp[-1].node) == T_SubLink)
......@@ -9330,7 +9332,7 @@ case 680:
;
break;}
case 681:
#line 3903 "gram.y"
#line 3905 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = lcons(yyvsp[-4].node, NULL);
......@@ -9342,7 +9344,7 @@ case 681:
;
break;}
case 682:
#line 3913 "gram.y"
#line 3915 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = lcons(yyvsp[-4].node, NULL);
......@@ -9354,7 +9356,7 @@ case 682:
;
break;}
case 683:
#line 3923 "gram.y"
#line 3925 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = lcons(yyvsp[-4].node, NULL);
......@@ -9366,7 +9368,7 @@ case 683:
;
break;}
case 684:
#line 3933 "gram.y"
#line 3935 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = lcons(yyvsp[-4].node, NULL);
......@@ -9378,7 +9380,7 @@ case 684:
;
break;}
case 685:
#line 3943 "gram.y"
#line 3945 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = lcons(yyvsp[-4].node, NULL);
......@@ -9390,7 +9392,7 @@ case 685:
;
break;}
case 686:
#line 3953 "gram.y"
#line 3955 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = lcons(yyvsp[-4].node, NULL);
......@@ -9402,7 +9404,7 @@ case 686:
;
break;}
case 687:
#line 3963 "gram.y"
#line 3965 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = lcons(yyvsp[-4].node, NULL);
......@@ -9414,7 +9416,7 @@ case 687:
;
break;}
case 688:
#line 3973 "gram.y"
#line 3975 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = lcons(yyvsp[-4].node, NULL);
......@@ -9426,7 +9428,7 @@ case 688:
;
break;}
case 689:
#line 3983 "gram.y"
#line 3985 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = lcons(yyvsp[-5].node,NIL);
......@@ -9438,7 +9440,7 @@ case 689:
;
break;}
case 690:
#line 3993 "gram.y"
#line 3995 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = lcons(yyvsp[-5].node,NIL);
......@@ -9450,7 +9452,7 @@ case 690:
;
break;}
case 691:
#line 4003 "gram.y"
#line 4005 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = lcons(yyvsp[-5].node,NIL);
......@@ -9462,7 +9464,7 @@ case 691:
;
break;}
case 692:
#line 4013 "gram.y"
#line 4015 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = lcons(yyvsp[-5].node,NIL);
......@@ -9474,7 +9476,7 @@ case 692:
;
break;}
case 693:
#line 4023 "gram.y"
#line 4025 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = lcons(yyvsp[-5].node,NIL);
......@@ -9486,7 +9488,7 @@ case 693:
;
break;}
case 694:
#line 4033 "gram.y"
#line 4035 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = lcons(yyvsp[-5].node,NIL);
......@@ -9498,7 +9500,7 @@ case 694:
;
break;}
case 695:
#line 4043 "gram.y"
#line 4045 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = lcons(yyvsp[-5].node,NIL);
......@@ -9510,7 +9512,7 @@ case 695:
;
break;}
case 696:
#line 4053 "gram.y"
#line 4055 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = lcons(yyvsp[-5].node,NIL);
......@@ -9522,7 +9524,7 @@ case 696:
;
break;}
case 697:
#line 4063 "gram.y"
#line 4065 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = lcons(yyvsp[-5].node, NULL);
......@@ -9534,7 +9536,7 @@ case 697:
;
break;}
case 698:
#line 4073 "gram.y"
#line 4075 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = lcons(yyvsp[-5].node, NULL);
......@@ -9546,7 +9548,7 @@ case 698:
;
break;}
case 699:
#line 4083 "gram.y"
#line 4085 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = lcons(yyvsp[-5].node, NULL);
......@@ -9558,7 +9560,7 @@ case 699:
;
break;}
case 700:
#line 4093 "gram.y"
#line 4095 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = lcons(yyvsp[-5].node, NULL);
......@@ -9570,7 +9572,7 @@ case 700:
;
break;}
case 701:
#line 4103 "gram.y"
#line 4105 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = lcons(yyvsp[-5].node, NULL);
......@@ -9582,7 +9584,7 @@ case 701:
;
break;}
case 702:
#line 4113 "gram.y"
#line 4115 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = lcons(yyvsp[-5].node, NULL);
......@@ -9594,7 +9596,7 @@ case 702:
;
break;}
case 703:
#line 4123 "gram.y"
#line 4125 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = lcons(yyvsp[-5].node, NULL);
......@@ -9606,7 +9608,7 @@ case 703:
;
break;}
case 704:
#line 4133 "gram.y"
#line 4135 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = lcons(yyvsp[-5].node, NULL);
......@@ -9618,34 +9620,34 @@ case 704:
;
break;}
case 705:
#line 4143 "gram.y"
#line 4145 "gram.y"
{ yyval.node = makeA_Expr(AND, NULL, yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 706:
#line 4145 "gram.y"
#line 4147 "gram.y"
{ yyval.node = makeA_Expr(OR, NULL, yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 707:
#line 4147 "gram.y"
#line 4149 "gram.y"
{ yyval.node = makeA_Expr(NOT, NULL, NULL, yyvsp[0].node); ;
break;}
case 708:
#line 4149 "gram.y"
#line 4151 "gram.y"
{ yyval.node = yyvsp[0].node; ;
break;}
case 709:
#line 4158 "gram.y"
#line 4160 "gram.y"
{
yyvsp[-1].attr->indirection = yyvsp[0].list;
yyval.node = (Node *)yyvsp[-1].attr;
;
break;}
case 710:
#line 4163 "gram.y"
#line 4165 "gram.y"
{ yyval.node = yyvsp[0].node; ;
break;}
case 711:
#line 4165 "gram.y"
#line 4167 "gram.y"
{
/* could be a column name or a relation_name */
Ident *n = makeNode(Ident);
......@@ -9655,39 +9657,39 @@ case 711:
;
break;}
case 712:
#line 4173 "gram.y"
#line 4175 "gram.y"
{ yyval.node = makeA_Expr(OP, "-", NULL, yyvsp[0].node); ;
break;}
case 713:
#line 4175 "gram.y"
#line 4177 "gram.y"
{ yyval.node = makeA_Expr(OP, "+", yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 714:
#line 4177 "gram.y"
#line 4179 "gram.y"
{ yyval.node = makeA_Expr(OP, "-", yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 715:
#line 4179 "gram.y"
#line 4181 "gram.y"
{ yyval.node = makeA_Expr(OP, "/", yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 716:
#line 4181 "gram.y"
#line 4183 "gram.y"
{ yyval.node = makeA_Expr(OP, "*", yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 717:
#line 4183 "gram.y"
#line 4185 "gram.y"
{ yyval.node = makeA_Expr(OP, ":", NULL, yyvsp[0].node); ;
break;}
case 718:
#line 4185 "gram.y"
#line 4187 "gram.y"
{ yyval.node = makeA_Expr(OP, ";", NULL, yyvsp[0].node); ;
break;}
case 719:
#line 4187 "gram.y"
#line 4189 "gram.y"
{ yyval.node = makeA_Expr(OP, "|", NULL, yyvsp[0].node); ;
break;}
case 720:
#line 4189 "gram.y"
#line 4191 "gram.y"
{
yyval.node = (Node *)yyvsp[-2].node;
/* AexprConst can be either A_Const or ParamNo */
......@@ -9705,7 +9707,7 @@ case 720:
;
break;}
case 721:
#line 4205 "gram.y"
#line 4207 "gram.y"
{
yyval.node = (Node *)yyvsp[-3].node;
/* AexprConst can be either A_Const or ParamNo */
......@@ -9723,23 +9725,23 @@ case 721:
;
break;}
case 722:
#line 4221 "gram.y"
#line 4223 "gram.y"
{ yyval.node = yyvsp[-1].node; ;
break;}
case 723:
#line 4223 "gram.y"
#line 4225 "gram.y"
{ yyval.node = makeIndexable(yyvsp[-1].str,yyvsp[-2].node,yyvsp[0].node); ;
break;}
case 724:
#line 4225 "gram.y"
#line 4227 "gram.y"
{ yyval.node = makeA_Expr(OP, yyvsp[-1].str, NULL, yyvsp[0].node); ;
break;}
case 725:
#line 4227 "gram.y"
#line 4229 "gram.y"
{ yyval.node = makeA_Expr(OP, yyvsp[0].str, yyvsp[-1].node, NULL); ;
break;}
case 726:
#line 4229 "gram.y"
#line 4231 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = yyvsp[-2].str;
......@@ -9748,7 +9750,7 @@ case 726:
;
break;}
case 727:
#line 4236 "gram.y"
#line 4238 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = yyvsp[-3].str;
......@@ -9757,7 +9759,7 @@ case 727:
;
break;}
case 728:
#line 4243 "gram.y"
#line 4245 "gram.y"
{
A_Const *n = makeNode(A_Const);
TypeName *t = makeNode(TypeName);
......@@ -9774,7 +9776,7 @@ case 728:
;
break;}
case 729:
#line 4258 "gram.y"
#line 4260 "gram.y"
{
A_Const *n = makeNode(A_Const);
TypeName *t = makeNode(TypeName);
......@@ -9791,7 +9793,7 @@ case 729:
;
break;}
case 730:
#line 4273 "gram.y"
#line 4275 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
A_Const *s = makeNode(A_Const);
......@@ -9815,7 +9817,7 @@ case 730:
;
break;}
case 731:
#line 4295 "gram.y"
#line 4297 "gram.y"
{
A_Const *n = makeNode(A_Const);
TypeName *t = makeNode(TypeName);
......@@ -9832,7 +9834,7 @@ case 731:
;
break;}
case 732:
#line 4310 "gram.y"
#line 4312 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
A_Const *s = makeNode(A_Const);
......@@ -9856,7 +9858,7 @@ case 732:
;
break;}
case 733:
#line 4332 "gram.y"
#line 4334 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = "getpgusername";
......@@ -9865,7 +9867,7 @@ case 733:
;
break;}
case 734:
#line 4339 "gram.y"
#line 4341 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = "getpgusername";
......@@ -9874,7 +9876,7 @@ case 734:
;
break;}
case 735:
#line 4346 "gram.y"
#line 4348 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = "strpos";
......@@ -9883,7 +9885,7 @@ case 735:
;
break;}
case 736:
#line 4353 "gram.y"
#line 4355 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = "substr";
......@@ -9892,7 +9894,7 @@ case 736:
;
break;}
case 737:
#line 4361 "gram.y"
#line 4363 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = "btrim";
......@@ -9901,7 +9903,7 @@ case 737:
;
break;}
case 738:
#line 4368 "gram.y"
#line 4370 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = "ltrim";
......@@ -9910,7 +9912,7 @@ case 738:
;
break;}
case 739:
#line 4375 "gram.y"
#line 4377 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = "rtrim";
......@@ -9919,7 +9921,7 @@ case 739:
;
break;}
case 740:
#line 4382 "gram.y"
#line 4384 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = "btrim";
......@@ -9928,7 +9930,7 @@ case 740:
;
break;}
case 741:
#line 4391 "gram.y"
#line 4393 "gram.y"
{
A_Indices *ai = makeNode(A_Indices);
ai->lidx = NULL;
......@@ -9937,7 +9939,7 @@ case 741:
;
break;}
case 742:
#line 4398 "gram.y"
#line 4400 "gram.y"
{
A_Indices *ai = makeNode(A_Indices);
ai->lidx = yyvsp[-4].node;
......@@ -9946,23 +9948,23 @@ case 742:
;
break;}
case 743:
#line 4405 "gram.y"
#line 4407 "gram.y"
{ yyval.list = NIL; ;
break;}
case 744:
#line 4409 "gram.y"
#line 4411 "gram.y"
{ yyval.list = lcons(yyvsp[0].node, NIL); ;
break;}
case 745:
#line 4411 "gram.y"
#line 4413 "gram.y"
{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].node); ;
break;}
case 746:
#line 4413 "gram.y"
#line 4415 "gram.y"
{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].node); ;
break;}
case 747:
#line 4417 "gram.y"
#line 4419 "gram.y"
{
A_Const *n = makeNode(A_Const);
n->val.type = T_String;
......@@ -9971,66 +9973,66 @@ case 747:
;
break;}
case 748:
#line 4424 "gram.y"
#line 4426 "gram.y"
{ yyval.list = NIL; ;
break;}
case 749:
#line 4427 "gram.y"
#line 4429 "gram.y"
{ yyval.str = yyvsp[0].str; ;
break;}
case 750:
#line 4428 "gram.y"
#line 4430 "gram.y"
{ yyval.str = "tz_hour"; ;
break;}
case 751:
#line 4429 "gram.y"
#line 4431 "gram.y"
{ yyval.str = "tz_minute"; ;
break;}
case 752:
#line 4433 "gram.y"
#line 4435 "gram.y"
{ yyval.list = makeList(yyvsp[0].node, yyvsp[-2].node, -1); ;
break;}
case 753:
#line 4435 "gram.y"
#line 4437 "gram.y"
{ yyval.list = NIL; ;
break;}
case 754:
#line 4439 "gram.y"
#line 4441 "gram.y"
{
yyvsp[-1].attr->indirection = yyvsp[0].list;
yyval.node = (Node *)yyvsp[-1].attr;
;
break;}
case 755:
#line 4444 "gram.y"
#line 4446 "gram.y"
{ yyval.node = yyvsp[0].node; ;
break;}
case 756:
#line 4446 "gram.y"
#line 4448 "gram.y"
{ yyval.node = makeA_Expr(OP, "-", NULL, yyvsp[0].node); ;
break;}
case 757:
#line 4448 "gram.y"
#line 4450 "gram.y"
{ yyval.node = makeA_Expr(OP, "+", yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 758:
#line 4450 "gram.y"
#line 4452 "gram.y"
{ yyval.node = makeA_Expr(OP, "-", yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 759:
#line 4452 "gram.y"
#line 4454 "gram.y"
{ yyval.node = makeA_Expr(OP, "/", yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 760:
#line 4454 "gram.y"
#line 4456 "gram.y"
{ yyval.node = makeA_Expr(OP, "*", yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 761:
#line 4456 "gram.y"
#line 4458 "gram.y"
{ yyval.node = makeA_Expr(OP, "|", NULL, yyvsp[0].node); ;
break;}
case 762:
#line 4458 "gram.y"
#line 4460 "gram.y"
{
yyval.node = (Node *)yyvsp[-2].node;
/* AexprConst can be either A_Const or ParamNo */
......@@ -10048,7 +10050,7 @@ case 762:
;
break;}
case 763:
#line 4474 "gram.y"
#line 4476 "gram.y"
{
yyval.node = (Node *)yyvsp[-3].node;
/* AexprConst can be either A_Const or ParamNo */
......@@ -10066,23 +10068,23 @@ case 763:
;
break;}
case 764:
#line 4490 "gram.y"
#line 4492 "gram.y"
{ yyval.node = yyvsp[-1].node; ;
break;}
case 765:
#line 4492 "gram.y"
#line 4494 "gram.y"
{ yyval.node = makeA_Expr(OP, yyvsp[-1].str, yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 766:
#line 4494 "gram.y"
#line 4496 "gram.y"
{ yyval.node = makeA_Expr(OP, yyvsp[-1].str, NULL, yyvsp[0].node); ;
break;}
case 767:
#line 4496 "gram.y"
#line 4498 "gram.y"
{ yyval.node = makeA_Expr(OP, yyvsp[0].str, yyvsp[-1].node, NULL); ;
break;}
case 768:
#line 4498 "gram.y"
#line 4500 "gram.y"
{
/* could be a column name or a relation_name */
Ident *n = makeNode(Ident);
......@@ -10092,7 +10094,7 @@ case 768:
;
break;}
case 769:
#line 4506 "gram.y"
#line 4508 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = yyvsp[-2].str;
......@@ -10101,7 +10103,7 @@ case 769:
;
break;}
case 770:
#line 4513 "gram.y"
#line 4515 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = yyvsp[-3].str;
......@@ -10110,7 +10112,7 @@ case 770:
;
break;}
case 771:
#line 4520 "gram.y"
#line 4522 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = "strpos";
......@@ -10119,7 +10121,7 @@ case 771:
;
break;}
case 772:
#line 4527 "gram.y"
#line 4529 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = "substr";
......@@ -10128,7 +10130,7 @@ case 772:
;
break;}
case 773:
#line 4535 "gram.y"
#line 4537 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = "btrim";
......@@ -10137,7 +10139,7 @@ case 773:
;
break;}
case 774:
#line 4542 "gram.y"
#line 4544 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = "ltrim";
......@@ -10146,7 +10148,7 @@ case 774:
;
break;}
case 775:
#line 4549 "gram.y"
#line 4551 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = "rtrim";
......@@ -10155,7 +10157,7 @@ case 775:
;
break;}
case 776:
#line 4556 "gram.y"
#line 4558 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = "btrim";
......@@ -10164,21 +10166,21 @@ case 776:
;
break;}
case 777:
#line 4565 "gram.y"
#line 4567 "gram.y"
{
yyval.list = nconc(nconc(yyvsp[-2].list,yyvsp[-1].list),yyvsp[0].list);
;
break;}
case 778:
#line 4569 "gram.y"
#line 4571 "gram.y"
{ yyval.list = NIL; ;
break;}
case 779:
#line 4573 "gram.y"
#line 4575 "gram.y"
{ yyval.list = yyvsp[0].list; ;
break;}
case 780:
#line 4575 "gram.y"
#line 4577 "gram.y"
{
A_Const *n = makeNode(A_Const);
n->val.type = T_Integer;
......@@ -10187,27 +10189,27 @@ case 780:
;
break;}
case 781:
#line 4584 "gram.y"
#line 4586 "gram.y"
{ yyval.list = yyvsp[0].list; ;
break;}
case 782:
#line 4586 "gram.y"
#line 4588 "gram.y"
{ yyval.list = NIL; ;
break;}
case 783:
#line 4590 "gram.y"
#line 4592 "gram.y"
{ yyval.list = lappend(yyvsp[0].list, yyvsp[-2].node); ;
break;}
case 784:
#line 4592 "gram.y"
#line 4594 "gram.y"
{ yyval.list = yyvsp[0].list; ;
break;}
case 785:
#line 4594 "gram.y"
#line 4596 "gram.y"
{ yyval.list = yyvsp[0].list; ;
break;}
case 786:
#line 4598 "gram.y"
#line 4600 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->subselect = yyvsp[0].node;
......@@ -10215,21 +10217,21 @@ case 786:
;
break;}
case 787:
#line 4604 "gram.y"
#line 4606 "gram.y"
{ yyval.node = yyvsp[0].node; ;
break;}
case 788:
#line 4608 "gram.y"
#line 4610 "gram.y"
{ yyval.node = makeA_Expr(OP, "=", lfirst(saved_In_Expr), yyvsp[0].node); ;
break;}
case 789:
#line 4610 "gram.y"
#line 4612 "gram.y"
{ yyval.node = makeA_Expr(OR, NULL, yyvsp[-2].node,
makeA_Expr(OP, "=", lfirst(saved_In_Expr), yyvsp[0].node));
;
break;}
case 790:
#line 4616 "gram.y"
#line 4618 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->subselect = yyvsp[0].node;
......@@ -10237,21 +10239,21 @@ case 790:
;
break;}
case 791:
#line 4622 "gram.y"
#line 4624 "gram.y"
{ yyval.node = yyvsp[0].node; ;
break;}
case 792:
#line 4626 "gram.y"
#line 4628 "gram.y"
{ yyval.node = makeA_Expr(OP, "<>", lfirst(saved_In_Expr), yyvsp[0].node); ;
break;}
case 793:
#line 4628 "gram.y"
#line 4630 "gram.y"
{ yyval.node = makeA_Expr(AND, NULL, yyvsp[-2].node,
makeA_Expr(OP, "<>", lfirst(saved_In_Expr), yyvsp[0].node));
;
break;}
case 794:
#line 4649 "gram.y"
#line 4651 "gram.y"
{
CaseExpr *c = makeNode(CaseExpr);
c->arg = yyvsp[-3].node;
......@@ -10261,7 +10263,7 @@ case 794:
;
break;}
case 795:
#line 4657 "gram.y"
#line 4659 "gram.y"
{
CaseExpr *c = makeNode(CaseExpr);
CaseWhen *w = makeNode(CaseWhen);
......@@ -10274,7 +10276,7 @@ case 795:
;
break;}
case 796:
#line 4668 "gram.y"
#line 4670 "gram.y"
{
CaseExpr *c = makeNode(CaseExpr);
CaseWhen *w;
......@@ -10292,15 +10294,15 @@ case 796:
;
break;}
case 797:
#line 4686 "gram.y"
#line 4688 "gram.y"
{ yyval.list = lappend(yyvsp[-1].list, yyvsp[0].node); ;
break;}
case 798:
#line 4688 "gram.y"
#line 4690 "gram.y"
{ yyval.list = lcons(yyvsp[0].node, NIL); ;
break;}
case 799:
#line 4692 "gram.y"
#line 4694 "gram.y"
{
CaseWhen *w = makeNode(CaseWhen);
w->expr = yyvsp[-2].node;
......@@ -10309,22 +10311,22 @@ case 799:
;
break;}
case 800:
#line 4700 "gram.y"
#line 4702 "gram.y"
{ yyval.node = yyvsp[0].node; ;
break;}
case 801:
#line 4701 "gram.y"
#line 4703 "gram.y"
{ yyval.node = NULL; ;
break;}
case 802:
#line 4705 "gram.y"
#line 4707 "gram.y"
{
yyvsp[-1].attr->indirection = yyvsp[0].list;
yyval.node = (Node *)yyvsp[-1].attr;
;
break;}
case 803:
#line 4710 "gram.y"
#line 4712 "gram.y"
{
/* could be a column name or a relation_name */
Ident *n = makeNode(Ident);
......@@ -10334,11 +10336,11 @@ case 803:
;
break;}
case 804:
#line 4718 "gram.y"
#line 4720 "gram.y"
{ yyval.node = NULL; ;
break;}
case 805:
#line 4722 "gram.y"
#line 4724 "gram.y"
{
yyval.attr = makeNode(Attr);
yyval.attr->relname = yyvsp[-2].str;
......@@ -10348,7 +10350,7 @@ case 805:
;
break;}
case 806:
#line 4730 "gram.y"
#line 4732 "gram.y"
{
yyval.attr = makeNode(Attr);
yyval.attr->relname = NULL;
......@@ -10358,27 +10360,27 @@ case 806:
;
break;}
case 807:
#line 4740 "gram.y"
#line 4742 "gram.y"
{ yyval.list = lcons(makeString(yyvsp[0].str), NIL); ;
break;}
case 808:
#line 4742 "gram.y"
#line 4744 "gram.y"
{ yyval.list = lappend(yyvsp[-2].list, makeString(yyvsp[0].str)); ;
break;}
case 809:
#line 4744 "gram.y"
#line 4746 "gram.y"
{ yyval.list = lappend(yyvsp[-2].list, makeString("*")); ;
break;}
case 810:
#line 4755 "gram.y"
#line 4757 "gram.y"
{ yyval.list = lappend(yyvsp[-2].list,yyvsp[0].target); ;
break;}
case 811:
#line 4757 "gram.y"
#line 4759 "gram.y"
{ yyval.list = lcons(yyvsp[0].target, NIL); ;
break;}
case 812:
#line 4759 "gram.y"
#line 4761 "gram.y"
{
ResTarget *rt = makeNode(ResTarget);
Attr *att = makeNode(Attr);
......@@ -10393,7 +10395,7 @@ case 812:
;
break;}
case 813:
#line 4774 "gram.y"
#line 4776 "gram.y"
{
yyval.target = makeNode(ResTarget);
yyval.target->name = yyvsp[-3].str;
......@@ -10402,7 +10404,7 @@ case 813:
;
break;}
case 814:
#line 4781 "gram.y"
#line 4783 "gram.y"
{
yyval.target = makeNode(ResTarget);
yyval.target->name = NULL;
......@@ -10411,7 +10413,7 @@ case 814:
;
break;}
case 815:
#line 4788 "gram.y"
#line 4790 "gram.y"
{
Attr *att = makeNode(Attr);
att->relname = yyvsp[-2].str;
......@@ -10425,15 +10427,15 @@ case 815:
;
break;}
case 816:
#line 4807 "gram.y"
#line 4809 "gram.y"
{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].target); ;
break;}
case 817:
#line 4809 "gram.y"
#line 4811 "gram.y"
{ yyval.list = lcons(yyvsp[0].target, NIL); ;
break;}
case 818:
#line 4814 "gram.y"
#line 4816 "gram.y"
{
yyval.target = makeNode(ResTarget);
yyval.target->name = yyvsp[0].str;
......@@ -10442,7 +10444,7 @@ case 818:
;
break;}
case 819:
#line 4821 "gram.y"
#line 4823 "gram.y"
{
yyval.target = makeNode(ResTarget);
yyval.target->name = NULL;
......@@ -10451,7 +10453,7 @@ case 819:
;
break;}
case 820:
#line 4828 "gram.y"
#line 4830 "gram.y"
{
Attr *att = makeNode(Attr);
att->relname = yyvsp[-2].str;
......@@ -10465,7 +10467,7 @@ case 820:
;
break;}
case 821:
#line 4840 "gram.y"
#line 4842 "gram.y"
{
Attr *att = makeNode(Attr);
att->relname = "*";
......@@ -10479,22 +10481,22 @@ case 821:
;
break;}
case 822:
#line 4853 "gram.y"
#line 4855 "gram.y"
{ yyval.str = yyvsp[0].str; ;
break;}
case 823:
#line 4854 "gram.y"
#line 4856 "gram.y"
{ yyval.str = NULL; ;
break;}
case 824:
#line 4858 "gram.y"
#line 4860 "gram.y"
{
yyval.str = yyvsp[0].str;
StrNCpy(saved_relname, yyvsp[0].str, NAMEDATALEN);
;
break;}
case 825:
#line 4863 "gram.y"
#line 4865 "gram.y"
{
/* disallow refs to variable system tables */
if (strcmp(LogRelationName, yyvsp[0].str) == 0
......@@ -10506,43 +10508,43 @@ case 825:
;
break;}
case 826:
#line 4874 "gram.y"
#line 4876 "gram.y"
{ yyval.str = yyvsp[0].str; ;
break;}
case 827:
#line 4875 "gram.y"
#line 4877 "gram.y"
{ yyval.str = yyvsp[0].str; ;
break;}
case 828:
#line 4876 "gram.y"
#line 4878 "gram.y"
{ yyval.str = yyvsp[0].str; ;
break;}
case 829:
#line 4877 "gram.y"
#line 4879 "gram.y"
{ yyval.str = yyvsp[0].str; ;
break;}
case 830:
#line 4878 "gram.y"
#line 4880 "gram.y"
{ yyval.str = yyvsp[0].str; ;
break;}
case 831:
#line 4884 "gram.y"
#line 4886 "gram.y"
{ yyval.str = yyvsp[0].str; ;
break;}
case 832:
#line 4885 "gram.y"
#line 4887 "gram.y"
{ yyval.str = xlateSqlFunc(yyvsp[0].str); ;
break;}
case 833:
#line 4887 "gram.y"
#line 4889 "gram.y"
{ yyval.str = yyvsp[0].str; ;
break;}
case 834:
#line 4888 "gram.y"
#line 4890 "gram.y"
{ yyval.str = yyvsp[0].str; ;
break;}
case 835:
#line 4894 "gram.y"
#line 4896 "gram.y"
{
A_Const *n = makeNode(A_Const);
n->val.type = T_Integer;
......@@ -10551,7 +10553,7 @@ case 835:
;
break;}
case 836:
#line 4901 "gram.y"
#line 4903 "gram.y"
{
A_Const *n = makeNode(A_Const);
n->val.type = T_Float;
......@@ -10560,7 +10562,7 @@ case 836:
;
break;}
case 837:
#line 4908 "gram.y"
#line 4910 "gram.y"
{
A_Const *n = makeNode(A_Const);
n->val.type = T_String;
......@@ -10569,7 +10571,7 @@ case 837:
;
break;}
case 838:
#line 4915 "gram.y"
#line 4917 "gram.y"
{
A_Const *n = makeNode(A_Const);
n->typename = yyvsp[-1].typnam;
......@@ -10579,11 +10581,11 @@ case 838:
;
break;}
case 839:
#line 4923 "gram.y"
#line 4925 "gram.y"
{ yyval.node = (Node *)yyvsp[0].paramno; ;
break;}
case 840:
#line 4925 "gram.y"
#line 4927 "gram.y"
{
A_Const *n = makeNode(A_Const);
n->val.type = T_String;
......@@ -10595,7 +10597,7 @@ case 840:
;
break;}
case 841:
#line 4935 "gram.y"
#line 4937 "gram.y"
{
A_Const *n = makeNode(A_Const);
n->val.type = T_String;
......@@ -10607,7 +10609,7 @@ case 841:
;
break;}
case 842:
#line 4947 "gram.y"
#line 4949 "gram.y"
{
yyval.paramno = makeNode(ParamNo);
yyval.paramno->number = yyvsp[-1].ival;
......@@ -10615,471 +10617,471 @@ case 842:
;
break;}
case 843:
#line 4954 "gram.y"
#line 4956 "gram.y"
{ yyval.ival = yyvsp[0].ival; ;
break;}
case 844:
#line 4955 "gram.y"
#line 4957 "gram.y"
{ yyval.str = yyvsp[0].str; ;
break;}
case 845:
#line 4956 "gram.y"
#line 4958 "gram.y"
{ yyval.str = yyvsp[0].str; ;
break;}
case 846:
#line 4964 "gram.y"
#line 4966 "gram.y"
{ yyval.str = xlateSqlType(yyvsp[0].str); ;
break;}
case 847:
#line 4966 "gram.y"
#line 4968 "gram.y"
{ yyval.str = xlateSqlType(yyvsp[0].str); ;
break;}
case 848:
#line 4968 "gram.y"
#line 4970 "gram.y"
{ yyval.str = xlateSqlType(yyvsp[0].str); ;
break;}
case 849:
#line 4978 "gram.y"
#line 4980 "gram.y"
{ yyval.str = yyvsp[0].str; ;
break;}
case 850:
#line 4979 "gram.y"
#line 4981 "gram.y"
{ yyval.str = yyvsp[0].str; ;
break;}
case 851:
#line 4980 "gram.y"
#line 4982 "gram.y"
{ yyval.str = "absolute"; ;
break;}
case 852:
#line 4981 "gram.y"
#line 4983 "gram.y"
{ yyval.str = "action"; ;
break;}
case 853:
#line 4982 "gram.y"
#line 4984 "gram.y"
{ yyval.str = "after"; ;
break;}
case 854:
#line 4983 "gram.y"
#line 4985 "gram.y"
{ yyval.str = "aggregate"; ;
break;}
case 855:
#line 4984 "gram.y"
#line 4986 "gram.y"
{ yyval.str = "backward"; ;
break;}
case 856:
#line 4985 "gram.y"
#line 4987 "gram.y"
{ yyval.str = "before"; ;
break;}
case 857:
#line 4986 "gram.y"
#line 4988 "gram.y"
{ yyval.str = "cache"; ;
break;}
case 858:
#line 4987 "gram.y"
#line 4989 "gram.y"
{ yyval.str = "createdb"; ;
break;}
case 859:
#line 4988 "gram.y"
#line 4990 "gram.y"
{ yyval.str = "createuser"; ;
break;}
case 860:
#line 4989 "gram.y"
#line 4991 "gram.y"
{ yyval.str = "cycle"; ;
break;}
case 861:
#line 4990 "gram.y"
#line 4992 "gram.y"
{ yyval.str = "database"; ;
break;}
case 862:
#line 4991 "gram.y"
#line 4993 "gram.y"
{ yyval.str = "delimiters"; ;
break;}
case 863:
#line 4992 "gram.y"
#line 4994 "gram.y"
{ yyval.str = "double"; ;
break;}
case 864:
#line 4993 "gram.y"
#line 4995 "gram.y"
{ yyval.str = "each"; ;
break;}
case 865:
#line 4994 "gram.y"
#line 4996 "gram.y"
{ yyval.str = "encoding"; ;
break;}
case 866:
#line 4995 "gram.y"
#line 4997 "gram.y"
{ yyval.str = "forward"; ;
break;}
case 867:
#line 4996 "gram.y"
#line 4998 "gram.y"
{ yyval.str = "function"; ;
break;}
case 868:
#line 4997 "gram.y"
#line 4999 "gram.y"
{ yyval.str = "handler"; ;
break;}
case 869:
#line 4998 "gram.y"
#line 5000 "gram.y"
{ yyval.str = "increment"; ;
break;}
case 870:
#line 4999 "gram.y"
#line 5001 "gram.y"
{ yyval.str = "index"; ;
break;}
case 871:
#line 5000 "gram.y"
#line 5002 "gram.y"
{ yyval.str = "inherits"; ;
break;}
case 872:
#line 5001 "gram.y"
#line 5003 "gram.y"
{ yyval.str = "insensitive"; ;
break;}
case 873:
#line 5002 "gram.y"
#line 5004 "gram.y"
{ yyval.str = "instead"; ;
break;}
case 874:
#line 5003 "gram.y"
#line 5005 "gram.y"
{ yyval.str = "isnull"; ;
break;}
case 875:
#line 5004 "gram.y"
#line 5006 "gram.y"
{ yyval.str = "key"; ;
break;}
case 876:
#line 5005 "gram.y"
#line 5007 "gram.y"
{ yyval.str = "language"; ;
break;}
case 877:
#line 5006 "gram.y"
#line 5008 "gram.y"
{ yyval.str = "lancompiler"; ;
break;}
case 878:
#line 5007 "gram.y"
#line 5009 "gram.y"
{ yyval.str = "location"; ;
break;}
case 879:
#line 5008 "gram.y"
#line 5010 "gram.y"
{ yyval.str = "match"; ;
break;}
case 880:
#line 5009 "gram.y"
#line 5011 "gram.y"
{ yyval.str = "maxvalue"; ;
break;}
case 881:
#line 5010 "gram.y"
#line 5012 "gram.y"
{ yyval.str = "minvalue"; ;
break;}
case 882:
#line 5011 "gram.y"
#line 5013 "gram.y"
{ yyval.str = "next"; ;
break;}
case 883:
#line 5012 "gram.y"
#line 5014 "gram.y"
{ yyval.str = "nocreatedb"; ;
break;}
case 884:
#line 5013 "gram.y"
#line 5015 "gram.y"
{ yyval.str = "nocreateuser"; ;
break;}
case 885:
#line 5014 "gram.y"
#line 5016 "gram.y"
{ yyval.str = "nothing"; ;
break;}
case 886:
#line 5015 "gram.y"
#line 5017 "gram.y"
{ yyval.str = "notnull"; ;
break;}
case 887:
#line 5016 "gram.y"
#line 5018 "gram.y"
{ yyval.str = "of"; ;
break;}
case 888:
#line 5017 "gram.y"
#line 5019 "gram.y"
{ yyval.str = "oids"; ;
break;}
case 889:
#line 5018 "gram.y"
#line 5020 "gram.y"
{ yyval.str = "only"; ;
break;}
case 890:
#line 5019 "gram.y"
#line 5021 "gram.y"
{ yyval.str = "operator"; ;
break;}
case 891:
#line 5020 "gram.y"
#line 5022 "gram.y"
{ yyval.str = "option"; ;
break;}
case 892:
#line 5021 "gram.y"
#line 5023 "gram.y"
{ yyval.str = "password"; ;
break;}
case 893:
#line 5022 "gram.y"
#line 5024 "gram.y"
{ yyval.str = "prior"; ;
break;}
case 894:
#line 5023 "gram.y"
#line 5025 "gram.y"
{ yyval.str = "privileges"; ;
break;}
case 895:
#line 5024 "gram.y"
#line 5026 "gram.y"
{ yyval.str = "procedural"; ;
break;}
case 896:
#line 5025 "gram.y"
#line 5027 "gram.y"
{ yyval.str = "read"; ;
break;}
case 897:
#line 5026 "gram.y"
#line 5028 "gram.y"
{ yyval.str = "recipe"; ;
break;}
case 898:
#line 5027 "gram.y"
#line 5029 "gram.y"
{ yyval.str = "relative"; ;
break;}
case 899:
#line 5028 "gram.y"
#line 5030 "gram.y"
{ yyval.str = "rename"; ;
break;}
case 900:
#line 5029 "gram.y"
#line 5031 "gram.y"
{ yyval.str = "returns"; ;
break;}
case 901:
#line 5030 "gram.y"
#line 5032 "gram.y"
{ yyval.str = "row"; ;
break;}
case 902:
#line 5031 "gram.y"
#line 5033 "gram.y"
{ yyval.str = "rule"; ;
break;}
case 903:
#line 5032 "gram.y"
#line 5034 "gram.y"
{ yyval.str = "scroll"; ;
break;}
case 904:
#line 5033 "gram.y"
#line 5035 "gram.y"
{ yyval.str = "sequence"; ;
break;}
case 905:
#line 5034 "gram.y"
#line 5036 "gram.y"
{ yyval.str = "serial"; ;
break;}
case 906:
#line 5035 "gram.y"
#line 5037 "gram.y"
{ yyval.str = "start"; ;
break;}
case 907:
#line 5036 "gram.y"
#line 5038 "gram.y"
{ yyval.str = "statement"; ;
break;}
case 908:
#line 5037 "gram.y"
#line 5039 "gram.y"
{ yyval.str = "stdin"; ;
break;}
case 909:
#line 5038 "gram.y"
#line 5040 "gram.y"
{ yyval.str = "stdout"; ;
break;}
case 910:
#line 5039 "gram.y"
#line 5041 "gram.y"
{ yyval.str = "time"; ;
break;}
case 911:
#line 5040 "gram.y"
#line 5042 "gram.y"
{ yyval.str = "timestamp"; ;
break;}
case 912:
#line 5041 "gram.y"
#line 5043 "gram.y"
{ yyval.str = "timezone_hour"; ;
break;}
case 913:
#line 5042 "gram.y"
#line 5044 "gram.y"
{ yyval.str = "timezone_minute"; ;
break;}
case 914:
#line 5043 "gram.y"
#line 5045 "gram.y"
{ yyval.str = "trigger"; ;
break;}
case 915:
#line 5044 "gram.y"
#line 5046 "gram.y"
{ yyval.str = "trusted"; ;
break;}
case 916:
#line 5045 "gram.y"
#line 5047 "gram.y"
{ yyval.str = "type"; ;
break;}
case 917:
#line 5046 "gram.y"
#line 5048 "gram.y"
{ yyval.str = "valid"; ;
break;}
case 918:
#line 5047 "gram.y"
#line 5049 "gram.y"
{ yyval.str = "version"; ;
break;}
case 919:
#line 5048 "gram.y"
#line 5050 "gram.y"
{ yyval.str = "zone"; ;
break;}
case 920:
#line 5061 "gram.y"
#line 5063 "gram.y"
{ yyval.str = yyvsp[0].str; ;
break;}
case 921:
#line 5062 "gram.y"
#line 5064 "gram.y"
{ yyval.str = "abort"; ;
break;}
case 922:
#line 5063 "gram.y"
#line 5065 "gram.y"
{ yyval.str = "analyze"; ;
break;}
case 923:
#line 5064 "gram.y"
#line 5066 "gram.y"
{ yyval.str = "binary"; ;
break;}
case 924:
#line 5065 "gram.y"
#line 5067 "gram.y"
{ yyval.str = "case"; ;
break;}
case 925:
#line 5066 "gram.y"
#line 5068 "gram.y"
{ yyval.str = "cluster"; ;
break;}
case 926:
#line 5067 "gram.y"
#line 5069 "gram.y"
{ yyval.str = "coalesce"; ;
break;}
case 927:
#line 5068 "gram.y"
#line 5070 "gram.y"
{ yyval.str = "constraint"; ;
break;}
case 928:
#line 5069 "gram.y"
#line 5071 "gram.y"
{ yyval.str = "copy"; ;
break;}
case 929:
#line 5070 "gram.y"
#line 5072 "gram.y"
{ yyval.str = "cross"; ;
break;}
case 930:
#line 5071 "gram.y"
#line 5073 "gram.y"
{ yyval.str = "current"; ;
break;}
case 931:
#line 5072 "gram.y"
#line 5074 "gram.y"
{ yyval.str = "do"; ;
break;}
case 932:
#line 5073 "gram.y"
#line 5075 "gram.y"
{ yyval.str = "else"; ;
break;}
case 933:
#line 5074 "gram.y"
#line 5076 "gram.y"
{ yyval.str = "end"; ;
break;}
case 934:
#line 5075 "gram.y"
#line 5077 "gram.y"
{ yyval.str = "explain"; ;
break;}
case 935:
#line 5076 "gram.y"
#line 5078 "gram.y"
{ yyval.str = "extend"; ;
break;}
case 936:
#line 5077 "gram.y"
#line 5079 "gram.y"
{ yyval.str = "false"; ;
break;}
case 937:
#line 5078 "gram.y"
#line 5080 "gram.y"
{ yyval.str = "foreign"; ;
break;}
case 938:
#line 5079 "gram.y"
#line 5081 "gram.y"
{ yyval.str = "group"; ;
break;}
case 939:
#line 5080 "gram.y"
#line 5082 "gram.y"
{ yyval.str = "listen"; ;
break;}
case 940:
#line 5081 "gram.y"
#line 5083 "gram.y"
{ yyval.str = "load"; ;
break;}
case 941:
#line 5082 "gram.y"
#line 5084 "gram.y"
{ yyval.str = "lock"; ;
break;}
case 942:
#line 5083 "gram.y"
#line 5085 "gram.y"
{ yyval.str = "move"; ;
break;}
case 943:
#line 5084 "gram.y"
#line 5086 "gram.y"
{ yyval.str = "new"; ;
break;}
case 944:
#line 5085 "gram.y"
#line 5087 "gram.y"
{ yyval.str = "none"; ;
break;}
case 945:
#line 5086 "gram.y"
#line 5088 "gram.y"
{ yyval.str = "nullif"; ;
break;}
case 946:
#line 5087 "gram.y"
#line 5089 "gram.y"
{ yyval.str = "order"; ;
break;}
case 947:
#line 5088 "gram.y"
#line 5090 "gram.y"
{ yyval.str = "position"; ;
break;}
case 948:
#line 5089 "gram.y"
#line 5091 "gram.y"
{ yyval.str = "precision"; ;
break;}
case 949:
#line 5090 "gram.y"
#line 5092 "gram.y"
{ yyval.str = "reset"; ;
break;}
case 950:
#line 5091 "gram.y"
#line 5093 "gram.y"
{ yyval.str = "setof"; ;
break;}
case 951:
#line 5092 "gram.y"
#line 5094 "gram.y"
{ yyval.str = "show"; ;
break;}
case 952:
#line 5093 "gram.y"
#line 5095 "gram.y"
{ yyval.str = "table"; ;
break;}
case 953:
#line 5094 "gram.y"
#line 5096 "gram.y"
{ yyval.str = "then"; ;
break;}
case 954:
#line 5095 "gram.y"
#line 5097 "gram.y"
{ yyval.str = "transaction"; ;
break;}
case 955:
#line 5096 "gram.y"
#line 5098 "gram.y"
{ yyval.str = "true"; ;
break;}
case 956:
#line 5097 "gram.y"
#line 5099 "gram.y"
{ yyval.str = "vacuum"; ;
break;}
case 957:
#line 5098 "gram.y"
#line 5100 "gram.y"
{ yyval.str = "verbose"; ;
break;}
case 958:
#line 5099 "gram.y"
#line 5101 "gram.y"
{ yyval.str = "when"; ;
break;}
case 959:
#line 5103 "gram.y"
#line 5105 "gram.y"
{
if (QueryIsRule)
yyval.str = "*CURRENT*";
......@@ -11088,7 +11090,7 @@ case 959:
;
break;}
case 960:
#line 5110 "gram.y"
#line 5112 "gram.y"
{
if (QueryIsRule)
yyval.str = "*NEW*";
......@@ -11294,7 +11296,7 @@ yyerrhandle:
yystate = yyn;
goto yynewstate;
}
#line 5118 "gram.y"
#line 5120 "gram.y"
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