aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/backend/executor/nodeIndexscan.c49
-rw-r--r--src/backend/parser/gram.c1011
2 files changed, 532 insertions, 528 deletions
diff --git a/src/backend/executor/nodeIndexscan.c b/src/backend/executor/nodeIndexscan.c
index 074943174f5..55cc9d926fa 100644
--- a/src/backend/executor/nodeIndexscan.c
+++ b/src/backend/executor/nodeIndexscan.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/executor/nodeIndexscan.c,v 1.22 1998/08/03 19:41:29 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/executor/nodeIndexscan.c,v 1.23 1998/08/04 18:42:38 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -269,33 +269,36 @@ ExecIndexReScan(IndexScan *node, ExprContext *exprCtxt, Plan *parent)
{
qual = nth(i, indxqual);
n_keys = numScanKeys[i];
- run_keys = (int *) runtimeKeyInfo[i];
scan_keys = (ScanKey) scanKeys[i];
-
- for (j = 0; j < n_keys; j++)
+
+ if (runtimeKeyInfo)
{
- /*
- * If we have a run-time key, then extract the run-time
- * expression and evaluate it with respect to the current
- * outer tuple. We then stick the result into the scan key.
- */
- if (run_keys[j] != NO_OP)
+ run_keys = (int *) runtimeKeyInfo[i];
+ for (j = 0; j < n_keys; j++)
{
- clause = nth(j, qual);
- scanexpr = (run_keys[j] == RIGHT_OP) ?
- (Node *) get_rightop(clause) : (Node *) get_leftop(clause);
-
/*
- * pass in isDone but ignore it. We don't iterate in
- * quals
+ * If we have a run-time key, then extract the run-time
+ * expression and evaluate it with respect to the current
+ * outer tuple. We then stick the result into the scan key.
*/
- scanvalue = (Datum)
- ExecEvalExpr(scanexpr, exprCtxt, &isNull, &isDone);
- scan_keys[j].sk_argument = scanvalue;
- if (isNull)
- scan_keys[j].sk_flags |= SK_ISNULL;
- else
- scan_keys[j].sk_flags &= ~SK_ISNULL;
+ if (run_keys[j] != NO_OP)
+ {
+ clause = nth(j, qual);
+ scanexpr = (run_keys[j] == RIGHT_OP) ?
+ (Node *) get_rightop(clause) : (Node *) get_leftop(clause);
+
+ /*
+ * pass in isDone but ignore it. We don't iterate in
+ * quals
+ */
+ scanvalue = (Datum)
+ ExecEvalExpr(scanexpr, exprCtxt, &isNull, &isDone);
+ scan_keys[j].sk_argument = scanvalue;
+ if (isNull)
+ scan_keys[j].sk_flags |= SK_ISNULL;
+ else
+ scan_keys[j].sk_flags &= ~SK_ISNULL;
+ }
}
}
sdesc = scanDescs[i];
diff --git a/src/backend/parser/gram.c b/src/backend/parser/gram.c
index 591de82dd7f..c583ed393d7 100644
--- a/src/backend/parser/gram.c
+++ b/src/backend/parser/gram.c
@@ -219,7 +219,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/parser/Attic/gram.c,v 2.22 1998/08/01 22:44:55 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/parser/Attic/gram.c,v 2.23 1998/08/04 18:42:39 momjian Exp $
*
* HISTORY
* AUTHOR DATE MAJOR EVENT
@@ -795,54 +795,54 @@ static const short yyrline[] = { 0,
1847, 1849, 1851, 1864, 1876, 1877, 1880, 1881, 1894, 1896,
1910, 1911, 1912, 1915, 1917, 1921, 1923, 1925, 1929, 1937,
1948, 1949, 1950, 1951, 1954, 1955, 1967, 1975, 1997, 2003,
- 2009, 2015, 2021, 2029, 2030, 2031, 2042, 2063, 2079, 2101,
- 2113, 2114, 2117, 2118, 2121, 2122, 2123, 2126, 2127, 2128,
- 2138, 2154, 2171, 2180, 2193, 2194, 2197, 2198, 2201, 2202,
- 2205, 2207, 2219, 2240, 2241, 2242, 2243, 2244, 2245, 2256,
- 2264, 2275, 2291, 2292, 2295, 2298, 2302, 2319, 2334, 2359,
- 2380, 2421, 2440, 2457, 2463, 2467, 2473, 2477, 2493, 2494,
- 2497, 2498, 2501, 2502, 2505, 2506, 2507, 2508, 2511, 2512,
- 2515, 2516, 2519, 2527, 2535, 2545, 2546, 2547, 2548, 2549,
- 2550, 2560, 2561, 2564, 2566, 2568, 2572, 2573, 2576, 2577,
- 2580, 2588, 2596, 2606, 2610, 2622, 2627, 2628, 2631, 2633,
- 2635, 2639, 2645, 2651, 2659, 2660, 2662, 2664, 2666, 2668,
- 2670, 2672, 2676, 2677, 2680, 2681, 2682, 2685, 2686, 2689,
- 2697, 2705, 2715, 2716, 2719, 2726, 2734, 2736, 2738, 2742,
- 2744, 2746, 2761, 2783, 2784, 2791, 2792, 2793, 2796, 2804,
- 2805, 2814, 2820, 2825, 2831, 2839, 2841, 2843, 2845, 2849,
- 2860, 2866, 2873, 2878, 2884, 2892, 2898, 2911, 2938, 2957,
- 2977, 2978, 2979, 2980, 2983, 2984, 2987, 2988, 2991, 2992,
- 2995, 3001, 3008, 3014, 3022, 3023, 3024, 3025, 3026, 3027,
- 3030, 3031, 3034, 3035, 3036, 3037, 3038, 3039, 3040, 3041,
- 3042, 3052, 3054, 3071, 3081, 3091, 3104, 3117, 3123, 3129,
- 3133, 3139, 3140, 3141, 3142, 3143, 3144, 3145, 3146, 3149,
- 3150, 3161, 3166, 3168, 3170, 3178, 3180, 3182, 3184, 3186,
- 3188, 3190, 3192, 3194, 3196, 3198, 3200, 3216, 3232, 3234,
- 3236, 3238, 3240, 3242, 3244, 3256, 3263, 3270, 3285, 3300,
- 3322, 3337, 3359, 3366, 3373, 3383, 3390, 3397, 3405, 3412,
- 3419, 3426, 3433, 3435, 3437, 3439, 3446, 3456, 3466, 3476,
- 3486, 3492, 3498, 3498, 3512, 3512, 3526, 3536, 3546, 3556,
- 3566, 3576, 3586, 3596, 3606, 3616, 3626, 3636, 3646, 3656,
- 3666, 3676, 3686, 3696, 3706, 3716, 3726, 3736, 3746, 3756,
- 3766, 3768, 3770, 3780, 3785, 3787, 3795, 3797, 3799, 3801,
- 3803, 3805, 3807, 3809, 3811, 3827, 3843, 3845, 3847, 3849,
- 3851, 3858, 3865, 3880, 3895, 3917, 3932, 3954, 3961, 3968,
- 3975, 3983, 3990, 3997, 4004, 4013, 4020, 4027, 4031, 4033,
- 4035, 4039, 4046, 4050, 4051, 4052, 4055, 4057, 4061, 4066,
- 4068, 4070, 4072, 4074, 4076, 4078, 4080, 4096, 4112, 4114,
- 4116, 4118, 4120, 4128, 4135, 4142, 4149, 4157, 4164, 4171,
- 4178, 4187, 4191, 4195, 4197, 4206, 4208, 4212, 4214, 4216,
- 4220, 4226, 4230, 4232, 4238, 4244, 4248, 4250, 4256, 4264,
- 4274, 4276, 4278, 4289, 4291, 4293, 4308, 4315, 4322, 4341,
- 4343, 4348, 4355, 4362, 4374, 4388, 4389, 4392, 4397, 4409,
- 4410, 4411, 4412, 4413, 4419, 4420, 4422, 4423, 4428, 4435,
- 4442, 4449, 4457, 4459, 4469, 4481, 4488, 4489, 4490, 4497,
- 4499, 4501, 4512, 4513, 4514, 4515, 4516, 4517, 4518, 4519,
- 4520, 4521, 4522, 4523, 4524, 4525, 4526, 4527, 4528, 4529,
- 4530, 4531, 4532, 4533, 4534, 4535, 4536, 4537, 4538, 4539,
- 4540, 4541, 4542, 4543, 4544, 4545, 4546, 4559, 4560, 4561,
- 4562, 4563, 4564, 4565, 4566, 4567, 4568, 4569, 4570, 4571,
- 4572, 4573, 4576, 4583
+ 2009, 2015, 2021, 2029, 2030, 2031, 2042, 2063, 2079, 2102,
+ 2114, 2115, 2118, 2119, 2122, 2123, 2124, 2127, 2128, 2129,
+ 2139, 2155, 2172, 2181, 2194, 2195, 2198, 2199, 2202, 2203,
+ 2206, 2208, 2220, 2241, 2242, 2243, 2244, 2245, 2246, 2257,
+ 2265, 2276, 2292, 2293, 2296, 2299, 2303, 2320, 2335, 2360,
+ 2381, 2422, 2441, 2458, 2464, 2468, 2474, 2478, 2494, 2495,
+ 2498, 2499, 2502, 2503, 2506, 2507, 2508, 2509, 2512, 2513,
+ 2516, 2517, 2520, 2528, 2536, 2546, 2547, 2548, 2549, 2550,
+ 2551, 2561, 2562, 2565, 2567, 2569, 2573, 2574, 2577, 2578,
+ 2581, 2589, 2597, 2607, 2611, 2623, 2628, 2629, 2632, 2634,
+ 2636, 2640, 2646, 2652, 2660, 2661, 2663, 2665, 2667, 2669,
+ 2671, 2673, 2677, 2678, 2681, 2682, 2683, 2686, 2687, 2690,
+ 2698, 2706, 2716, 2717, 2720, 2727, 2735, 2737, 2739, 2743,
+ 2745, 2747, 2762, 2784, 2785, 2792, 2793, 2794, 2797, 2805,
+ 2806, 2815, 2821, 2826, 2832, 2840, 2842, 2844, 2846, 2850,
+ 2861, 2867, 2874, 2879, 2885, 2893, 2899, 2912, 2939, 2958,
+ 2978, 2979, 2980, 2981, 2984, 2985, 2988, 2989, 2992, 2993,
+ 2996, 3002, 3009, 3015, 3023, 3024, 3025, 3026, 3027, 3028,
+ 3031, 3032, 3035, 3036, 3037, 3038, 3039, 3040, 3041, 3042,
+ 3043, 3053, 3055, 3072, 3082, 3092, 3105, 3118, 3124, 3130,
+ 3134, 3140, 3141, 3142, 3143, 3144, 3145, 3146, 3147, 3150,
+ 3151, 3162, 3167, 3169, 3171, 3179, 3181, 3183, 3185, 3187,
+ 3189, 3191, 3193, 3195, 3197, 3199, 3201, 3217, 3233, 3235,
+ 3237, 3239, 3241, 3243, 3245, 3257, 3264, 3271, 3286, 3301,
+ 3323, 3338, 3360, 3367, 3374, 3384, 3391, 3398, 3406, 3413,
+ 3420, 3427, 3434, 3436, 3438, 3440, 3447, 3457, 3467, 3477,
+ 3487, 3493, 3499, 3499, 3513, 3513, 3527, 3537, 3547, 3557,
+ 3567, 3577, 3587, 3597, 3607, 3617, 3627, 3637, 3647, 3657,
+ 3667, 3677, 3687, 3697, 3707, 3717, 3727, 3737, 3747, 3757,
+ 3767, 3769, 3771, 3781, 3786, 3788, 3796, 3798, 3800, 3802,
+ 3804, 3806, 3808, 3810, 3812, 3828, 3844, 3846, 3848, 3850,
+ 3852, 3859, 3866, 3881, 3896, 3918, 3933, 3955, 3962, 3969,
+ 3976, 3984, 3991, 3998, 4005, 4014, 4021, 4028, 4032, 4034,
+ 4036, 4040, 4047, 4051, 4052, 4053, 4056, 4058, 4062, 4067,
+ 4069, 4071, 4073, 4075, 4077, 4079, 4081, 4097, 4113, 4115,
+ 4117, 4119, 4121, 4129, 4136, 4143, 4150, 4158, 4165, 4172,
+ 4179, 4188, 4192, 4196, 4198, 4207, 4209, 4213, 4215, 4217,
+ 4221, 4227, 4231, 4233, 4239, 4245, 4249, 4251, 4257, 4265,
+ 4275, 4277, 4279, 4290, 4292, 4294, 4309, 4316, 4323, 4342,
+ 4344, 4349, 4356, 4363, 4375, 4389, 4390, 4393, 4398, 4410,
+ 4411, 4412, 4413, 4414, 4420, 4421, 4423, 4424, 4429, 4436,
+ 4443, 4450, 4458, 4460, 4470, 4482, 4489, 4490, 4491, 4498,
+ 4500, 4502, 4513, 4514, 4515, 4516, 4517, 4518, 4519, 4520,
+ 4521, 4522, 4523, 4524, 4525, 4526, 4527, 4528, 4529, 4530,
+ 4531, 4532, 4533, 4534, 4535, 4536, 4537, 4538, 4539, 4540,
+ 4541, 4542, 4543, 4544, 4545, 4546, 4547, 4560, 4561, 4562,
+ 4563, 4564, 4565, 4566, 4567, 4568, 4569, 4570, 4571, 4572,
+ 4573, 4574, 4577, 4584
};
#endif
@@ -6403,13 +6403,14 @@ case 389:
n->encoding = GetTemplateEncoding();
}
#else
- elog(ERROR, "WITH ENCODING is not supported");
+ if (yyvsp[0].str != NULL)
+ elog(ERROR, "WITH ENCODING is not supported");
#endif
yyval.node = (Node *)n;
;
break;}
case 390:
-#line 2102 "gram.y"
+#line 2103 "gram.y"
{
CreatedbStmt *n = makeNode(CreatedbStmt);
n->dbname = yyvsp[0].str;
@@ -6421,47 +6422,47 @@ case 390:
;
break;}
case 391:
-#line 2113 "gram.y"
+#line 2114 "gram.y"
{ yyval.str = yyvsp[0].str; ;
break;}
case 392:
-#line 2114 "gram.y"
+#line 2115 "gram.y"
{ yyval.str = NULL; ;
break;}
case 393:
-#line 2117 "gram.y"
+#line 2118 "gram.y"
{ yyval.str = yyvsp[0].str; ;
break;}
case 394:
-#line 2118 "gram.y"
+#line 2119 "gram.y"
{ yyval.str = NULL; ;
break;}
case 395:
-#line 2121 "gram.y"
+#line 2122 "gram.y"
{ yyval.str = yyvsp[0].str; ;
break;}
case 396:
-#line 2122 "gram.y"
+#line 2123 "gram.y"
{ yyval.str = NULL; ;
break;}
case 397:
-#line 2123 "gram.y"
+#line 2124 "gram.y"
{ yyval.str = NULL; ;
break;}
case 398:
-#line 2126 "gram.y"
+#line 2127 "gram.y"
{ yyval.str = yyvsp[0].str; ;
break;}
case 399:
-#line 2127 "gram.y"
+#line 2128 "gram.y"
{ yyval.str = NULL; ;
break;}
case 400:
-#line 2128 "gram.y"
+#line 2129 "gram.y"
{ yyval.str = NULL; ;
break;}
case 401:
-#line 2139 "gram.y"
+#line 2140 "gram.y"
{
DestroydbStmt *n = makeNode(DestroydbStmt);
n->dbname = yyvsp[0].str;
@@ -6469,7 +6470,7 @@ case 401:
;
break;}
case 402:
-#line 2155 "gram.y"
+#line 2156 "gram.y"
{
ClusterStmt *n = makeNode(ClusterStmt);
n->relname = yyvsp[0].str;
@@ -6478,7 +6479,7 @@ case 402:
;
break;}
case 403:
-#line 2172 "gram.y"
+#line 2173 "gram.y"
{
VacuumStmt *n = makeNode(VacuumStmt);
n->verbose = yyvsp[-1].boolean;
@@ -6489,7 +6490,7 @@ case 403:
;
break;}
case 404:
-#line 2181 "gram.y"
+#line 2182 "gram.y"
{
VacuumStmt *n = makeNode(VacuumStmt);
n->verbose = yyvsp[-3].boolean;
@@ -6502,39 +6503,39 @@ case 404:
;
break;}
case 405:
-#line 2193 "gram.y"
+#line 2194 "gram.y"
{ yyval.boolean = TRUE; ;
break;}
case 406:
-#line 2194 "gram.y"
+#line 2195 "gram.y"
{ yyval.boolean = FALSE; ;
break;}
case 407:
-#line 2197 "gram.y"
+#line 2198 "gram.y"
{ yyval.boolean = TRUE; ;
break;}
case 408:
-#line 2198 "gram.y"
+#line 2199 "gram.y"
{ yyval.boolean = FALSE; ;
break;}
case 409:
-#line 2201 "gram.y"
+#line 2202 "gram.y"
{ yyval.list = yyvsp[-1].list; ;
break;}
case 410:
-#line 2202 "gram.y"
+#line 2203 "gram.y"
{ yyval.list = NIL; ;
break;}
case 411:
-#line 2206 "gram.y"
+#line 2207 "gram.y"
{ yyval.list=lcons(yyvsp[0].str,NIL); ;
break;}
case 412:
-#line 2208 "gram.y"
+#line 2209 "gram.y"
{ yyval.list=lappend(yyvsp[-2].list,yyvsp[0].str); ;
break;}
case 413:
-#line 2220 "gram.y"
+#line 2221 "gram.y"
{
ExplainStmt *n = makeNode(ExplainStmt);
n->verbose = yyvsp[-1].boolean;
@@ -6543,7 +6544,7 @@ case 413:
;
break;}
case 420:
-#line 2257 "gram.y"
+#line 2258 "gram.y"
{
yyvsp[0].astmt->relname = yyvsp[-2].str;
yyvsp[0].astmt->cols = yyvsp[-1].list;
@@ -6551,7 +6552,7 @@ case 420:
;
break;}
case 421:
-#line 2265 "gram.y"
+#line 2266 "gram.y"
{
yyval.astmt = makeNode(InsertStmt);
yyval.astmt->unique = NULL;
@@ -6564,7 +6565,7 @@ case 421:
;
break;}
case 422:
-#line 2279 "gram.y"
+#line 2280 "gram.y"
{
yyval.astmt = makeNode(InsertStmt);
yyval.astmt->unique = yyvsp[-6].str;
@@ -6577,23 +6578,23 @@ case 422:
;
break;}
case 423:
-#line 2291 "gram.y"
+#line 2292 "gram.y"
{ yyval.list = yyvsp[-1].list; ;
break;}
case 424:
-#line 2292 "gram.y"
+#line 2293 "gram.y"
{ yyval.list = NIL; ;
break;}
case 425:
-#line 2297 "gram.y"
+#line 2298 "gram.y"
{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].node); ;
break;}
case 426:
-#line 2299 "gram.y"
+#line 2300 "gram.y"
{ yyval.list = lcons(yyvsp[0].node, NIL); ;
break;}
case 427:
-#line 2303 "gram.y"
+#line 2304 "gram.y"
{
Ident *id = makeNode(Ident);
id->name = yyvsp[-1].str;
@@ -6602,7 +6603,7 @@ case 427:
;
break;}
case 428:
-#line 2321 "gram.y"
+#line 2322 "gram.y"
{
DeleteStmt *n = makeNode(DeleteStmt);
n->relname = yyvsp[-1].str;
@@ -6611,7 +6612,7 @@ case 428:
;
break;}
case 429:
-#line 2335 "gram.y"
+#line 2336 "gram.y"
{
DeleteStmt *n = makeNode(DeleteStmt);
A_Const *c = makeNode(A_Const);
@@ -6628,7 +6629,7 @@ case 429:
;
break;}
case 430:
-#line 2363 "gram.y"
+#line 2364 "gram.y"
{
UpdateStmt *n = makeNode(UpdateStmt);
n->relname = yyvsp[-4].str;
@@ -6639,7 +6640,7 @@ case 430:
;
break;}
case 431:
-#line 2385 "gram.y"
+#line 2386 "gram.y"
{
SelectStmt *n = makeNode(SelectStmt);
@@ -6668,7 +6669,7 @@ case 431:
;
break;}
case 432:
-#line 2425 "gram.y"
+#line 2426 "gram.y"
{
SelectStmt *n = makeNode(SelectStmt);
n->unique = yyvsp[-8].str;
@@ -6684,7 +6685,7 @@ case 432:
;
break;}
case 433:
-#line 2444 "gram.y"
+#line 2445 "gram.y"
{
SelectStmt *n = makeNode(SelectStmt);
n->unique = yyvsp[-6].str;
@@ -6698,7 +6699,7 @@ case 433:
;
break;}
case 434:
-#line 2458 "gram.y"
+#line 2459 "gram.y"
{
SelectStmt *n = (SelectStmt *)lfirst(yyvsp[0].list);
n->unionall = yyvsp[-1].boolean;
@@ -6706,11 +6707,11 @@ case 434:
;
break;}
case 435:
-#line 2464 "gram.y"
+#line 2465 "gram.y"
{ yyval.list = NIL; ;
break;}
case 436:
-#line 2468 "gram.y"
+#line 2469 "gram.y"
{
SelectStmt *n = (SelectStmt *)yyvsp[0].node;
n->unionall = yyvsp[-1].boolean;
@@ -6718,11 +6719,11 @@ case 436:
;
break;}
case 437:
-#line 2474 "gram.y"
+#line 2475 "gram.y"
{ yyval.list = lcons(yyvsp[0].node, NIL); ;
break;}
case 438:
-#line 2480 "gram.y"
+#line 2481 "gram.y"
{
SelectStmt *n = makeNode(SelectStmt);
n->unique = yyvsp[-5].str;
@@ -6736,63 +6737,63 @@ case 438:
;
break;}
case 439:
-#line 2493 "gram.y"
+#line 2494 "gram.y"
{ yyval.str= yyvsp[0].str; ;
break;}
case 440:
-#line 2494 "gram.y"
+#line 2495 "gram.y"
{ yyval.str = NULL; ;
break;}
case 441:
-#line 2497 "gram.y"
+#line 2498 "gram.y"
{ yyval.boolean = TRUE; ;
break;}
case 442:
-#line 2498 "gram.y"
+#line 2499 "gram.y"
{ yyval.boolean = FALSE; ;
break;}
case 443:
-#line 2501 "gram.y"
+#line 2502 "gram.y"
{ yyval.boolean = TRUE; ;
break;}
case 444:
-#line 2502 "gram.y"
+#line 2503 "gram.y"
{ yyval.boolean = FALSE; ;
break;}
case 445:
-#line 2505 "gram.y"
+#line 2506 "gram.y"
{ yyval.str = "*"; ;
break;}
case 446:
-#line 2506 "gram.y"
+#line 2507 "gram.y"
{ yyval.str = yyvsp[0].str; ;
break;}
case 447:
-#line 2507 "gram.y"
+#line 2508 "gram.y"
{ yyval.str = NULL; ;
break;}
case 448:
-#line 2508 "gram.y"
+#line 2509 "gram.y"
{ yyval.str = NULL; ;
break;}
case 449:
-#line 2511 "gram.y"
+#line 2512 "gram.y"
{ yyval.list = yyvsp[0].list; ;
break;}
case 450:
-#line 2512 "gram.y"
+#line 2513 "gram.y"
{ yyval.list = NIL; ;
break;}
case 451:
-#line 2515 "gram.y"
+#line 2516 "gram.y"
{ yyval.list = lcons(yyvsp[0].sortgroupby, NIL); ;
break;}
case 452:
-#line 2516 "gram.y"
+#line 2517 "gram.y"
{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].sortgroupby); ;
break;}
case 453:
-#line 2520 "gram.y"
+#line 2521 "gram.y"
{
yyval.sortgroupby = makeNode(SortGroupBy);
yyval.sortgroupby->resno = 0;
@@ -6802,7 +6803,7 @@ case 453:
;
break;}
case 454:
-#line 2528 "gram.y"
+#line 2529 "gram.y"
{
yyval.sortgroupby = makeNode(SortGroupBy);
yyval.sortgroupby->resno = 0;
@@ -6812,7 +6813,7 @@ case 454:
;
break;}
case 455:
-#line 2536 "gram.y"
+#line 2537 "gram.y"
{
yyval.sortgroupby = makeNode(SortGroupBy);
yyval.sortgroupby->resno = yyvsp[-1].ival;
@@ -6822,63 +6823,63 @@ case 455:
;
break;}
case 456:
-#line 2545 "gram.y"
+#line 2546 "gram.y"
{ yyval.str = yyvsp[0].str; ;
break;}
case 457:
-#line 2546 "gram.y"
+#line 2547 "gram.y"
{ yyval.str = "<"; ;
break;}
case 458:
-#line 2547 "gram.y"
+#line 2548 "gram.y"
{ yyval.str = ">"; ;
break;}
case 459:
-#line 2548 "gram.y"
+#line 2549 "gram.y"
{ yyval.str = "<"; ;
break;}
case 460:
-#line 2549 "gram.y"
+#line 2550 "gram.y"
{ yyval.str = ">"; ;
break;}
case 461:
-#line 2550 "gram.y"
+#line 2551 "gram.y"
{ yyval.str = "<"; /*default*/ ;
break;}
case 462:
-#line 2560 "gram.y"
+#line 2561 "gram.y"
{ yyval.boolean = TRUE; ;
break;}
case 463:
-#line 2561 "gram.y"
+#line 2562 "gram.y"
{ yyval.boolean = FALSE; ;
break;}
case 465:
-#line 2567 "gram.y"
+#line 2568 "gram.y"
{ yyval.list = lcons(makeString(yyvsp[0].str),NIL); ;
break;}
case 466:
-#line 2569 "gram.y"
+#line 2570 "gram.y"
{ yyval.list = lappend(yyvsp[-2].list,makeString(yyvsp[0].str)); ;
break;}
case 467:
-#line 2572 "gram.y"
+#line 2573 "gram.y"
{ yyval.list = yyvsp[0].list; ;
break;}
case 468:
-#line 2573 "gram.y"
+#line 2574 "gram.y"
{ yyval.list = NIL; ;
break;}
case 469:
-#line 2576 "gram.y"
+#line 2577 "gram.y"
{ yyval.list = lcons(yyvsp[0].sortgroupby, NIL); ;
break;}
case 470:
-#line 2577 "gram.y"
+#line 2578 "gram.y"
{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].sortgroupby); ;
break;}
case 471:
-#line 2581 "gram.y"
+#line 2582 "gram.y"
{
yyval.sortgroupby = makeNode(SortGroupBy);
yyval.sortgroupby->resno = 0;
@@ -6888,7 +6889,7 @@ case 471:
;
break;}
case 472:
-#line 2589 "gram.y"
+#line 2590 "gram.y"
{
yyval.sortgroupby = makeNode(SortGroupBy);
yyval.sortgroupby->resno = 0;
@@ -6898,7 +6899,7 @@ case 472:
;
break;}
case 473:
-#line 2597 "gram.y"
+#line 2598 "gram.y"
{
yyval.sortgroupby = makeNode(SortGroupBy);
yyval.sortgroupby->resno = yyvsp[0].ival;
@@ -6908,44 +6909,44 @@ case 473:
;
break;}
case 474:
-#line 2607 "gram.y"
+#line 2608 "gram.y"
{
yyval.node = yyvsp[0].node;
;
break;}
case 475:
-#line 2610 "gram.y"
+#line 2611 "gram.y"
{ yyval.node = NULL; ;
break;}
case 476:
-#line 2623 "gram.y"
+#line 2624 "gram.y"
{
yyval.list = NIL;
elog(ERROR,"JOIN not yet implemented");
;
break;}
case 477:
-#line 2627 "gram.y"
+#line 2628 "gram.y"
{ yyval.list = yyvsp[0].list; ;
break;}
case 478:
-#line 2628 "gram.y"
+#line 2629 "gram.y"
{ yyval.list = NIL; ;
break;}
case 479:
-#line 2632 "gram.y"
+#line 2633 "gram.y"
{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].range); ;
break;}
case 480:
-#line 2634 "gram.y"
+#line 2635 "gram.y"
{ elog(ERROR,"CROSS JOIN not yet implemented"); ;
break;}
case 481:
-#line 2636 "gram.y"
+#line 2637 "gram.y"
{ yyval.list = lcons(yyvsp[0].range, NIL); ;
break;}
case 482:
-#line 2640 "gram.y"
+#line 2641 "gram.y"
{
yyval.range = makeNode(RangeVar);
yyval.range->relExpr = yyvsp[-2].relexp;
@@ -6953,7 +6954,7 @@ case 482:
;
break;}
case 483:
-#line 2646 "gram.y"
+#line 2647 "gram.y"
{
yyval.range = makeNode(RangeVar);
yyval.range->relExpr = yyvsp[-1].relexp;
@@ -6961,7 +6962,7 @@ case 483:
;
break;}
case 484:
-#line 2652 "gram.y"
+#line 2653 "gram.y"
{
yyval.range = makeNode(RangeVar);
yyval.range->relExpr = yyvsp[0].relexp;
@@ -6969,67 +6970,67 @@ case 484:
;
break;}
case 485:
-#line 2659 "gram.y"
+#line 2660 "gram.y"
{ yyval.str = NULL; ;
break;}
case 486:
-#line 2661 "gram.y"
+#line 2662 "gram.y"
{ elog(ERROR,"FULL OUTER JOIN not yet implemented"); ;
break;}
case 487:
-#line 2663 "gram.y"
+#line 2664 "gram.y"
{ elog(ERROR,"LEFT OUTER JOIN not yet implemented"); ;
break;}
case 488:
-#line 2665 "gram.y"
+#line 2666 "gram.y"
{ elog(ERROR,"RIGHT OUTER JOIN not yet implemented"); ;
break;}
case 489:
-#line 2667 "gram.y"
+#line 2668 "gram.y"
{ elog(ERROR,"OUTER JOIN not yet implemented"); ;
break;}
case 490:
-#line 2669 "gram.y"
+#line 2670 "gram.y"
{ elog(ERROR,"INNER JOIN not yet implemented"); ;
break;}
case 491:
-#line 2671 "gram.y"
+#line 2672 "gram.y"
{ elog(ERROR,"UNION JOIN not yet implemented"); ;
break;}
case 492:
-#line 2673 "gram.y"
+#line 2674 "gram.y"
{ elog(ERROR,"INNER JOIN not yet implemented"); ;
break;}
case 493:
-#line 2676 "gram.y"
+#line 2677 "gram.y"
{ yyval.str = NULL; ;
break;}
case 494:
-#line 2677 "gram.y"
+#line 2678 "gram.y"
{ yyval.str = NULL; /* no qualifiers */ ;
break;}
case 495:
-#line 2680 "gram.y"
+#line 2681 "gram.y"
{ yyval.str = NULL; ;
break;}
case 496:
-#line 2681 "gram.y"
+#line 2682 "gram.y"
{ yyval.str = NULL; ;
break;}
case 497:
-#line 2682 "gram.y"
+#line 2683 "gram.y"
{ yyval.str = NULL; /* no qualifiers */ ;
break;}
case 498:
-#line 2685 "gram.y"
+#line 2686 "gram.y"
{ yyval.list = lcons(yyvsp[0].sortgroupby, NIL); ;
break;}
case 499:
-#line 2686 "gram.y"
+#line 2687 "gram.y"
{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].sortgroupby); ;
break;}
case 500:
-#line 2690 "gram.y"
+#line 2691 "gram.y"
{
yyval.sortgroupby = makeNode(SortGroupBy);
yyval.sortgroupby->resno = 0;
@@ -7039,7 +7040,7 @@ case 500:
;
break;}
case 501:
-#line 2698 "gram.y"
+#line 2699 "gram.y"
{
yyval.sortgroupby = makeNode(SortGroupBy);
yyval.sortgroupby->resno = 0;
@@ -7049,7 +7050,7 @@ case 501:
;
break;}
case 502:
-#line 2706 "gram.y"
+#line 2707 "gram.y"
{
yyval.sortgroupby = makeNode(SortGroupBy);
yyval.sortgroupby->resno = yyvsp[0].ival;
@@ -7059,15 +7060,15 @@ case 502:
;
break;}
case 503:
-#line 2715 "gram.y"
+#line 2716 "gram.y"
{ yyval.node = yyvsp[0].node; ;
break;}
case 504:
-#line 2716 "gram.y"
+#line 2717 "gram.y"
{ yyval.node = NULL; /* no qualifiers */ ;
break;}
case 505:
-#line 2720 "gram.y"
+#line 2721 "gram.y"
{
/* normal relations */
yyval.relexp = makeNode(RelExpr);
@@ -7076,7 +7077,7 @@ case 505:
;
break;}
case 506:
-#line 2727 "gram.y"
+#line 2728 "gram.y"
{
/* inheritance query */
yyval.relexp = makeNode(RelExpr);
@@ -7085,31 +7086,31 @@ case 506:
;
break;}
case 507:
-#line 2735 "gram.y"
+#line 2736 "gram.y"
{ yyval.list = lcons(makeInteger(-1), yyvsp[0].list); ;
break;}
case 508:
-#line 2737 "gram.y"
+#line 2738 "gram.y"
{ yyval.list = lcons(makeInteger(yyvsp[-2].ival), yyvsp[0].list); ;
break;}
case 509:
-#line 2739 "gram.y"
+#line 2740 "gram.y"
{ yyval.list = NIL; ;
break;}
case 510:
-#line 2743 "gram.y"
+#line 2744 "gram.y"
{ yyval.list = lcons(makeInteger(-1), yyvsp[0].list); ;
break;}
case 511:
-#line 2745 "gram.y"
+#line 2746 "gram.y"
{ yyval.list = lcons(makeInteger(yyvsp[-2].ival), yyvsp[0].list); ;
break;}
case 512:
-#line 2747 "gram.y"
+#line 2748 "gram.y"
{ yyval.list = NIL; ;
break;}
case 513:
-#line 2762 "gram.y"
+#line 2763 "gram.y"
{
yyval.typnam = yyvsp[-1].typnam;
yyval.typnam->arrayBounds = yyvsp[0].list;
@@ -7133,14 +7134,14 @@ case 513:
;
break;}
case 515:
-#line 2785 "gram.y"
+#line 2786 "gram.y"
{
yyval.typnam = yyvsp[0].typnam;
yyval.typnam->setof = TRUE;
;
break;}
case 519:
-#line 2797 "gram.y"
+#line 2798 "gram.y"
{
yyval.typnam = makeNode(TypeName);
yyval.typnam->name = xlateSqlType(yyvsp[0].str);
@@ -7148,15 +7149,15 @@ case 519:
;
break;}
case 520:
-#line 2804 "gram.y"
+#line 2805 "gram.y"
{ yyval.str = yyvsp[0].str; ;
break;}
case 521:
-#line 2805 "gram.y"
+#line 2806 "gram.y"
{ yyval.str = xlateSqlType("type"); ;
break;}
case 522:
-#line 2815 "gram.y"
+#line 2816 "gram.y"
{
yyval.typnam = makeNode(TypeName);
yyval.typnam->name = xlateSqlType(yyvsp[0].str);
@@ -7164,14 +7165,14 @@ case 522:
;
break;}
case 523:
-#line 2821 "gram.y"
+#line 2822 "gram.y"
{
yyval.typnam = makeNode(TypeName);
yyval.typnam->name = xlateSqlType("float");
;
break;}
case 524:
-#line 2826 "gram.y"
+#line 2827 "gram.y"
{
yyval.typnam = makeNode(TypeName);
yyval.typnam->name = xlateSqlType("integer");
@@ -7179,7 +7180,7 @@ case 524:
;
break;}
case 525:
-#line 2832 "gram.y"
+#line 2833 "gram.y"
{
yyval.typnam = makeNode(TypeName);
yyval.typnam->name = xlateSqlType("integer");
@@ -7187,23 +7188,23 @@ case 525:
;
break;}
case 526:
-#line 2840 "gram.y"
+#line 2841 "gram.y"
{ yyval.str = xlateSqlType("float8"); ;
break;}
case 527:
-#line 2842 "gram.y"
+#line 2843 "gram.y"
{ yyval.str = xlateSqlType("float8"); ;
break;}
case 528:
-#line 2844 "gram.y"
+#line 2845 "gram.y"
{ yyval.str = xlateSqlType("decimal"); ;
break;}
case 529:
-#line 2846 "gram.y"
+#line 2847 "gram.y"
{ yyval.str = xlateSqlType("numeric"); ;
break;}
case 530:
-#line 2850 "gram.y"
+#line 2851 "gram.y"
{
if (yyvsp[-1].ival < 1)
elog(ERROR,"precision for FLOAT must be at least 1");
@@ -7216,13 +7217,13 @@ case 530:
;
break;}
case 531:
-#line 2861 "gram.y"
+#line 2862 "gram.y"
{
yyval.str = xlateSqlType("float8");
;
break;}
case 532:
-#line 2867 "gram.y"
+#line 2868 "gram.y"
{
if (yyvsp[-3].ival != 9)
elog(ERROR,"NUMERIC precision %d must be 9",yyvsp[-3].ival);
@@ -7231,20 +7232,20 @@ case 532:
;
break;}
case 533:
-#line 2874 "gram.y"
+#line 2875 "gram.y"
{
if (yyvsp[-1].ival != 9)
elog(ERROR,"NUMERIC precision %d must be 9",yyvsp[-1].ival);
;
break;}
case 534:
-#line 2879 "gram.y"
+#line 2880 "gram.y"
{
yyval.str = NULL;
;
break;}
case 535:
-#line 2885 "gram.y"
+#line 2886 "gram.y"
{
if (yyvsp[-3].ival > 9)
elog(ERROR,"DECIMAL precision %d exceeds implementation limit of 9",yyvsp[-3].ival);
@@ -7254,7 +7255,7 @@ case 535:
;
break;}
case 536:
-#line 2893 "gram.y"
+#line 2894 "gram.y"
{
if (yyvsp[-1].ival > 9)
elog(ERROR,"DECIMAL precision %d exceeds implementation limit of 9",yyvsp[-1].ival);
@@ -7262,13 +7263,13 @@ case 536:
;
break;}
case 537:
-#line 2899 "gram.y"
+#line 2900 "gram.y"
{
yyval.str = NULL;
;
break;}
case 538:
-#line 2912 "gram.y"
+#line 2913 "gram.y"
{
yyval.typnam = makeNode(TypeName);
if (strcasecmp(yyvsp[-3].str, "char") == 0)
@@ -7297,7 +7298,7 @@ case 538:
;
break;}
case 539:
-#line 2939 "gram.y"
+#line 2940 "gram.y"
{
yyval.typnam = makeNode(TypeName);
/* Let's try to make all single-character types into bpchar(1)
@@ -7316,7 +7317,7 @@ case 539:
;
break;}
case 540:
-#line 2958 "gram.y"
+#line 2959 "gram.y"
{
char *type, *c;
if ((yyvsp[-1].str == NULL) || (strcasecmp(yyvsp[-1].str, "sql_text") == 0)) {
@@ -7338,47 +7339,47 @@ case 540:
;
break;}
case 541:
-#line 2977 "gram.y"
+#line 2978 "gram.y"
{ yyval.str = xlateSqlType(yyvsp[0].boolean? "varchar": "char"); ;
break;}
case 542:
-#line 2978 "gram.y"
+#line 2979 "gram.y"
{ yyval.str = xlateSqlType("varchar"); ;
break;}
case 543:
-#line 2979 "gram.y"
+#line 2980 "gram.y"
{ yyval.str = xlateSqlType(yyvsp[0].boolean? "varchar": "char"); ;
break;}
case 544:
-#line 2980 "gram.y"
+#line 2981 "gram.y"
{ yyval.str = xlateSqlType(yyvsp[0].boolean? "varchar": "char"); ;
break;}
case 545:
-#line 2983 "gram.y"
+#line 2984 "gram.y"
{ yyval.boolean = TRUE; ;
break;}
case 546:
-#line 2984 "gram.y"
+#line 2985 "gram.y"
{ yyval.boolean = FALSE; ;
break;}
case 547:
-#line 2987 "gram.y"
+#line 2988 "gram.y"
{ yyval.str = yyvsp[0].str; ;
break;}
case 548:
-#line 2988 "gram.y"
+#line 2989 "gram.y"
{ yyval.str = NULL; ;
break;}
case 549:
-#line 2991 "gram.y"
+#line 2992 "gram.y"
{ yyval.str = yyvsp[0].str; ;
break;}
case 550:
-#line 2992 "gram.y"
+#line 2993 "gram.y"
{ yyval.str = NULL; ;
break;}
case 551:
-#line 2996 "gram.y"
+#line 2997 "gram.y"
{
yyval.typnam = makeNode(TypeName);
yyval.typnam->name = xlateSqlType(yyvsp[0].str);
@@ -7386,7 +7387,7 @@ case 551:
;
break;}
case 552:
-#line 3002 "gram.y"
+#line 3003 "gram.y"
{
yyval.typnam = makeNode(TypeName);
yyval.typnam->name = xlateSqlType("timestamp");
@@ -7395,7 +7396,7 @@ case 552:
;
break;}
case 553:
-#line 3009 "gram.y"
+#line 3010 "gram.y"
{
yyval.typnam = makeNode(TypeName);
yyval.typnam->name = xlateSqlType("time");
@@ -7403,7 +7404,7 @@ case 553:
;
break;}
case 554:
-#line 3015 "gram.y"
+#line 3016 "gram.y"
{
yyval.typnam = makeNode(TypeName);
yyval.typnam->name = xlateSqlType("interval");
@@ -7411,79 +7412,79 @@ case 554:
;
break;}
case 555:
-#line 3022 "gram.y"
+#line 3023 "gram.y"
{ yyval.str = "year"; ;
break;}
case 556:
-#line 3023 "gram.y"
+#line 3024 "gram.y"
{ yyval.str = "month"; ;
break;}
case 557:
-#line 3024 "gram.y"
+#line 3025 "gram.y"
{ yyval.str = "day"; ;
break;}
case 558:
-#line 3025 "gram.y"
+#line 3026 "gram.y"
{ yyval.str = "hour"; ;
break;}
case 559:
-#line 3026 "gram.y"
+#line 3027 "gram.y"
{ yyval.str = "minute"; ;
break;}
case 560:
-#line 3027 "gram.y"
+#line 3028 "gram.y"
{ yyval.str = "second"; ;
break;}
case 561:
-#line 3030 "gram.y"
+#line 3031 "gram.y"
{ yyval.boolean = TRUE; ;
break;}
case 562:
-#line 3031 "gram.y"
+#line 3032 "gram.y"
{ yyval.boolean = FALSE; ;
break;}
case 563:
-#line 3034 "gram.y"
+#line 3035 "gram.y"
{ yyval.list = lcons(yyvsp[0].str, NIL); ;
break;}
case 564:
-#line 3035 "gram.y"
+#line 3036 "gram.y"
{ yyval.list = NIL; ;
break;}
case 565:
-#line 3036 "gram.y"
+#line 3037 "gram.y"
{ yyval.list = NIL; ;
break;}
case 566:
-#line 3037 "gram.y"
+#line 3038 "gram.y"
{ yyval.list = NIL; ;
break;}
case 567:
-#line 3038 "gram.y"
+#line 3039 "gram.y"
{ yyval.list = NIL; ;
break;}
case 568:
-#line 3039 "gram.y"
+#line 3040 "gram.y"
{ yyval.list = NIL; ;
break;}
case 569:
-#line 3040 "gram.y"
+#line 3041 "gram.y"
{ yyval.list = NIL; ;
break;}
case 570:
-#line 3041 "gram.y"
+#line 3042 "gram.y"
{ yyval.list = NIL; ;
break;}
case 571:
-#line 3042 "gram.y"
+#line 3043 "gram.y"
{ yyval.list = NIL; ;
break;}
case 572:
-#line 3053 "gram.y"
+#line 3054 "gram.y"
{ yyval.node = yyvsp[0].node; ;
break;}
case 573:
-#line 3055 "gram.y"
+#line 3056 "gram.y"
{
A_Const *n = makeNode(A_Const);
n->val.type = T_Null;
@@ -7491,7 +7492,7 @@ case 573:
;
break;}
case 574:
-#line 3072 "gram.y"
+#line 3073 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = yyvsp[-5].list;
@@ -7503,7 +7504,7 @@ case 574:
;
break;}
case 575:
-#line 3082 "gram.y"
+#line 3083 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = yyvsp[-6].list;
@@ -7515,7 +7516,7 @@ case 575:
;
break;}
case 576:
-#line 3092 "gram.y"
+#line 3093 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = yyvsp[-6].list;
@@ -7530,7 +7531,7 @@ case 576:
;
break;}
case 577:
-#line 3105 "gram.y"
+#line 3106 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = yyvsp[-5].list;
@@ -7545,86 +7546,86 @@ case 577:
;
break;}
case 578:
-#line 3118 "gram.y"
+#line 3119 "gram.y"
{
yyval.node = makeRowExpr(yyvsp[-3].str, yyvsp[-5].list, yyvsp[-1].list);
;
break;}
case 579:
-#line 3124 "gram.y"
+#line 3125 "gram.y"
{
yyval.list = lappend(yyvsp[-2].list, yyvsp[0].node);
;
break;}
case 580:
-#line 3130 "gram.y"
+#line 3131 "gram.y"
{
yyval.list = lappend(yyvsp[-2].list, yyvsp[0].node);
;
break;}
case 581:
-#line 3134 "gram.y"
+#line 3135 "gram.y"
{
yyval.list = lcons(yyvsp[0].node, NIL);
;
break;}
case 582:
-#line 3139 "gram.y"
+#line 3140 "gram.y"
{ yyval.str = yyvsp[0].str; ;
break;}
case 583:
-#line 3140 "gram.y"
+#line 3141 "gram.y"
{ yyval.str = "<"; ;
break;}
case 584:
-#line 3141 "gram.y"
+#line 3142 "gram.y"
{ yyval.str = "="; ;
break;}
case 585:
-#line 3142 "gram.y"
+#line 3143 "gram.y"
{ yyval.str = ">"; ;
break;}
case 586:
-#line 3143 "gram.y"
+#line 3144 "gram.y"
{ yyval.str = "+"; ;
break;}
case 587:
-#line 3144 "gram.y"
+#line 3145 "gram.y"
{ yyval.str = "-"; ;
break;}
case 588:
-#line 3145 "gram.y"
+#line 3146 "gram.y"
{ yyval.str = "*"; ;
break;}
case 589:
-#line 3146 "gram.y"
+#line 3147 "gram.y"
{ yyval.str = "/"; ;
break;}
case 590:
-#line 3149 "gram.y"
+#line 3150 "gram.y"
{ yyval.ival = ANY_SUBLINK; ;
break;}
case 591:
-#line 3150 "gram.y"
+#line 3151 "gram.y"
{ yyval.ival = ALL_SUBLINK; ;
break;}
case 592:
-#line 3162 "gram.y"
+#line 3163 "gram.y"
{
yyvsp[-1].attr->indirection = yyvsp[0].list;
yyval.node = (Node *)yyvsp[-1].attr;
;
break;}
case 593:
-#line 3167 "gram.y"
+#line 3168 "gram.y"
{ yyval.node = yyvsp[0].node; ;
break;}
case 594:
-#line 3169 "gram.y"
+#line 3170 "gram.y"
{ yyval.node = yyvsp[0].node; ;
break;}
case 595:
-#line 3171 "gram.y"
+#line 3172 "gram.y"
{
/* could be a column name or a relation_name */
Ident *n = makeNode(Ident);
@@ -7634,51 +7635,51 @@ case 595:
;
break;}
case 596:
-#line 3179 "gram.y"
+#line 3180 "gram.y"
{ yyval.node = makeA_Expr(OP, "-", NULL, yyvsp[0].node); ;
break;}
case 597:
-#line 3181 "gram.y"
+#line 3182 "gram.y"
{ yyval.node = makeA_Expr(OP, "+", yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 598:
-#line 3183 "gram.y"
+#line 3184 "gram.y"
{ yyval.node = makeA_Expr(OP, "-", yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 599:
-#line 3185 "gram.y"
+#line 3186 "gram.y"
{ yyval.node = makeA_Expr(OP, "/", yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 600:
-#line 3187 "gram.y"
+#line 3188 "gram.y"
{ yyval.node = makeA_Expr(OP, "*", yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 601:
-#line 3189 "gram.y"
+#line 3190 "gram.y"
{ yyval.node = makeA_Expr(OP, "<", yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 602:
-#line 3191 "gram.y"
+#line 3192 "gram.y"
{ yyval.node = makeA_Expr(OP, ">", yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 603:
-#line 3193 "gram.y"
+#line 3194 "gram.y"
{ yyval.node = makeA_Expr(OP, "=", yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 604:
-#line 3195 "gram.y"
+#line 3196 "gram.y"
{ yyval.node = makeA_Expr(OP, ":", NULL, yyvsp[0].node); ;
break;}
case 605:
-#line 3197 "gram.y"
+#line 3198 "gram.y"
{ yyval.node = makeA_Expr(OP, ";", NULL, yyvsp[0].node); ;
break;}
case 606:
-#line 3199 "gram.y"
+#line 3200 "gram.y"
{ yyval.node = makeA_Expr(OP, "|", NULL, yyvsp[0].node); ;
break;}
case 607:
-#line 3201 "gram.y"
+#line 3202 "gram.y"
{
yyval.node = (Node *)yyvsp[-2].node;
/* AexprConst can be either A_Const or ParamNo */
@@ -7696,7 +7697,7 @@ case 607:
;
break;}
case 608:
-#line 3217 "gram.y"
+#line 3218 "gram.y"
{
yyval.node = (Node *)yyvsp[-3].node;
/* AexprConst can be either A_Const or ParamNo */
@@ -7714,31 +7715,31 @@ case 608:
;
break;}
case 609:
-#line 3233 "gram.y"
+#line 3234 "gram.y"
{ yyval.node = yyvsp[-1].node; ;
break;}
case 610:
-#line 3235 "gram.y"
+#line 3236 "gram.y"
{ yyval.node = makeIndexable(yyvsp[-1].str,yyvsp[-2].node,yyvsp[0].node); ;
break;}
case 611:
-#line 3237 "gram.y"
+#line 3238 "gram.y"
{ yyval.node = makeIndexable("~~", yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 612:
-#line 3239 "gram.y"
+#line 3240 "gram.y"
{ yyval.node = makeA_Expr(OP, "!~~", yyvsp[-3].node, yyvsp[0].node); ;
break;}
case 613:
-#line 3241 "gram.y"
+#line 3242 "gram.y"
{ yyval.node = makeA_Expr(OP, yyvsp[-1].str, NULL, yyvsp[0].node); ;
break;}
case 614:
-#line 3243 "gram.y"
+#line 3244 "gram.y"
{ yyval.node = makeA_Expr(OP, yyvsp[0].str, yyvsp[-1].node, NULL); ;
break;}
case 615:
-#line 3245 "gram.y"
+#line 3246 "gram.y"
{
/* cheap hack for aggregate (eg. count) */
FuncCall *n = makeNode(FuncCall);
@@ -7752,7 +7753,7 @@ case 615:
;
break;}
case 616:
-#line 3257 "gram.y"
+#line 3258 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = yyvsp[-2].str;
@@ -7761,7 +7762,7 @@ case 616:
;
break;}
case 617:
-#line 3264 "gram.y"
+#line 3265 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = yyvsp[-3].str;
@@ -7770,7 +7771,7 @@ case 617:
;
break;}
case 618:
-#line 3271 "gram.y"
+#line 3272 "gram.y"
{
A_Const *n = makeNode(A_Const);
TypeName *t = makeNode(TypeName);
@@ -7787,7 +7788,7 @@ case 618:
;
break;}
case 619:
-#line 3286 "gram.y"
+#line 3287 "gram.y"
{
A_Const *n = makeNode(A_Const);
TypeName *t = makeNode(TypeName);
@@ -7804,7 +7805,7 @@ case 619:
;
break;}
case 620:
-#line 3301 "gram.y"
+#line 3302 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
A_Const *s = makeNode(A_Const);
@@ -7828,7 +7829,7 @@ case 620:
;
break;}
case 621:
-#line 3323 "gram.y"
+#line 3324 "gram.y"
{
A_Const *n = makeNode(A_Const);
TypeName *t = makeNode(TypeName);
@@ -7845,7 +7846,7 @@ case 621:
;
break;}
case 622:
-#line 3338 "gram.y"
+#line 3339 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
A_Const *s = makeNode(A_Const);
@@ -7869,7 +7870,7 @@ case 622:
;
break;}
case 623:
-#line 3360 "gram.y"
+#line 3361 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = "getpgusername";
@@ -7878,7 +7879,7 @@ case 623:
;
break;}
case 624:
-#line 3367 "gram.y"
+#line 3368 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = "getpgusername";
@@ -7887,7 +7888,7 @@ case 624:
;
break;}
case 625:
-#line 3374 "gram.y"
+#line 3375 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = NIL;
@@ -7899,7 +7900,7 @@ case 625:
;
break;}
case 626:
-#line 3384 "gram.y"
+#line 3385 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = "date_part";
@@ -7908,7 +7909,7 @@ case 626:
;
break;}
case 627:
-#line 3391 "gram.y"
+#line 3392 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = "strpos";
@@ -7917,7 +7918,7 @@ case 627:
;
break;}
case 628:
-#line 3398 "gram.y"
+#line 3399 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = "substr";
@@ -7926,7 +7927,7 @@ case 628:
;
break;}
case 629:
-#line 3406 "gram.y"
+#line 3407 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = "btrim";
@@ -7935,7 +7936,7 @@ case 629:
;
break;}
case 630:
-#line 3413 "gram.y"
+#line 3414 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = "ltrim";
@@ -7944,7 +7945,7 @@ case 630:
;
break;}
case 631:
-#line 3420 "gram.y"
+#line 3421 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = "rtrim";
@@ -7953,7 +7954,7 @@ case 631:
;
break;}
case 632:
-#line 3427 "gram.y"
+#line 3428 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = "btrim";
@@ -7962,23 +7963,23 @@ case 632:
;
break;}
case 633:
-#line 3434 "gram.y"
+#line 3435 "gram.y"
{ yyval.node = makeA_Expr(ISNULL, NULL, yyvsp[-1].node, NULL); ;
break;}
case 634:
-#line 3436 "gram.y"
+#line 3437 "gram.y"
{ yyval.node = makeA_Expr(ISNULL, NULL, yyvsp[-2].node, NULL); ;
break;}
case 635:
-#line 3438 "gram.y"
+#line 3439 "gram.y"
{ yyval.node = makeA_Expr(NOTNULL, NULL, yyvsp[-1].node, NULL); ;
break;}
case 636:
-#line 3440 "gram.y"
+#line 3441 "gram.y"
{ yyval.node = makeA_Expr(NOTNULL, NULL, yyvsp[-3].node, NULL); ;
break;}
case 637:
-#line 3447 "gram.y"
+#line 3448 "gram.y"
{
A_Const *n = makeNode(A_Const);
n->val.type = T_String;
@@ -7990,7 +7991,7 @@ case 637:
;
break;}
case 638:
-#line 3457 "gram.y"
+#line 3458 "gram.y"
{
A_Const *n = makeNode(A_Const);
n->val.type = T_String;
@@ -8002,7 +8003,7 @@ case 638:
;
break;}
case 639:
-#line 3467 "gram.y"
+#line 3468 "gram.y"
{
A_Const *n = makeNode(A_Const);
n->val.type = T_String;
@@ -8014,7 +8015,7 @@ case 639:
;
break;}
case 640:
-#line 3477 "gram.y"
+#line 3478 "gram.y"
{
A_Const *n = makeNode(A_Const);
n->val.type = T_String;
@@ -8026,7 +8027,7 @@ case 640:
;
break;}
case 641:
-#line 3487 "gram.y"
+#line 3488 "gram.y"
{
yyval.node = makeA_Expr(AND, NULL,
makeA_Expr(OP, ">=", yyvsp[-4].node, yyvsp[-2].node),
@@ -8034,7 +8035,7 @@ case 641:
;
break;}
case 642:
-#line 3493 "gram.y"
+#line 3494 "gram.y"
{
yyval.node = makeA_Expr(OR, NULL,
makeA_Expr(OP, "<", yyvsp[-5].node, yyvsp[-2].node),
@@ -8042,11 +8043,11 @@ case 642:
;
break;}
case 643:
-#line 3498 "gram.y"
+#line 3499 "gram.y"
{ saved_In_Expr = lcons(yyvsp[-1].node,saved_In_Expr); ;
break;}
case 644:
-#line 3499 "gram.y"
+#line 3500 "gram.y"
{
saved_In_Expr = lnext(saved_In_Expr);
if (nodeTag(yyvsp[-1].node) == T_SubLink)
@@ -8062,11 +8063,11 @@ case 644:
;
break;}
case 645:
-#line 3512 "gram.y"
+#line 3513 "gram.y"
{ saved_In_Expr = lcons(yyvsp[-2].node,saved_In_Expr); ;
break;}
case 646:
-#line 3513 "gram.y"
+#line 3514 "gram.y"
{
saved_In_Expr = lnext(saved_In_Expr);
if (nodeTag(yyvsp[-1].node) == T_SubLink)
@@ -8082,7 +8083,7 @@ case 646:
;
break;}
case 647:
-#line 3527 "gram.y"
+#line 3528 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = lcons(yyvsp[-4].node, NULL);
@@ -8094,7 +8095,7 @@ case 647:
;
break;}
case 648:
-#line 3537 "gram.y"
+#line 3538 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = lcons(yyvsp[-4].node, NULL);
@@ -8106,7 +8107,7 @@ case 648:
;
break;}
case 649:
-#line 3547 "gram.y"
+#line 3548 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = lcons(yyvsp[-4].node, NULL);
@@ -8118,7 +8119,7 @@ case 649:
;
break;}
case 650:
-#line 3557 "gram.y"
+#line 3558 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = lcons(yyvsp[-4].node, NULL);
@@ -8130,7 +8131,7 @@ case 650:
;
break;}
case 651:
-#line 3567 "gram.y"
+#line 3568 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = lcons(yyvsp[-4].node, NULL);
@@ -8142,7 +8143,7 @@ case 651:
;
break;}
case 652:
-#line 3577 "gram.y"
+#line 3578 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = lcons(yyvsp[-4].node, NULL);
@@ -8154,7 +8155,7 @@ case 652:
;
break;}
case 653:
-#line 3587 "gram.y"
+#line 3588 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = lcons(yyvsp[-4].node, NULL);
@@ -8166,7 +8167,7 @@ case 653:
;
break;}
case 654:
-#line 3597 "gram.y"
+#line 3598 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = lcons(yyvsp[-4].node, NULL);
@@ -8178,7 +8179,7 @@ case 654:
;
break;}
case 655:
-#line 3607 "gram.y"
+#line 3608 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = lcons(yyvsp[-5].node,NIL);
@@ -8190,7 +8191,7 @@ case 655:
;
break;}
case 656:
-#line 3617 "gram.y"
+#line 3618 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = lcons(yyvsp[-5].node,NIL);
@@ -8202,7 +8203,7 @@ case 656:
;
break;}
case 657:
-#line 3627 "gram.y"
+#line 3628 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = lcons(yyvsp[-5].node,NIL);
@@ -8214,7 +8215,7 @@ case 657:
;
break;}
case 658:
-#line 3637 "gram.y"
+#line 3638 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = lcons(yyvsp[-5].node,NIL);
@@ -8226,7 +8227,7 @@ case 658:
;
break;}
case 659:
-#line 3647 "gram.y"
+#line 3648 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = lcons(yyvsp[-5].node,NIL);
@@ -8238,7 +8239,7 @@ case 659:
;
break;}
case 660:
-#line 3657 "gram.y"
+#line 3658 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = lcons(yyvsp[-5].node,NIL);
@@ -8250,7 +8251,7 @@ case 660:
;
break;}
case 661:
-#line 3667 "gram.y"
+#line 3668 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = lcons(yyvsp[-5].node,NIL);
@@ -8262,7 +8263,7 @@ case 661:
;
break;}
case 662:
-#line 3677 "gram.y"
+#line 3678 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = lcons(yyvsp[-5].node,NIL);
@@ -8274,7 +8275,7 @@ case 662:
;
break;}
case 663:
-#line 3687 "gram.y"
+#line 3688 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = lcons(yyvsp[-5].node, NULL);
@@ -8286,7 +8287,7 @@ case 663:
;
break;}
case 664:
-#line 3697 "gram.y"
+#line 3698 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = lcons(yyvsp[-5].node, NULL);
@@ -8298,7 +8299,7 @@ case 664:
;
break;}
case 665:
-#line 3707 "gram.y"
+#line 3708 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = lcons(yyvsp[-5].node, NULL);
@@ -8310,7 +8311,7 @@ case 665:
;
break;}
case 666:
-#line 3717 "gram.y"
+#line 3718 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = lcons(yyvsp[-5].node, NULL);
@@ -8322,7 +8323,7 @@ case 666:
;
break;}
case 667:
-#line 3727 "gram.y"
+#line 3728 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = lcons(yyvsp[-5].node, NULL);
@@ -8334,7 +8335,7 @@ case 667:
;
break;}
case 668:
-#line 3737 "gram.y"
+#line 3738 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = lcons(yyvsp[-5].node, NULL);
@@ -8346,7 +8347,7 @@ case 668:
;
break;}
case 669:
-#line 3747 "gram.y"
+#line 3748 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = lcons(yyvsp[-5].node, NULL);
@@ -8358,7 +8359,7 @@ case 669:
;
break;}
case 670:
-#line 3757 "gram.y"
+#line 3758 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->lefthand = lcons(yyvsp[-5].node, NULL);
@@ -8370,30 +8371,30 @@ case 670:
;
break;}
case 671:
-#line 3767 "gram.y"
+#line 3768 "gram.y"
{ yyval.node = makeA_Expr(AND, NULL, yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 672:
-#line 3769 "gram.y"
+#line 3770 "gram.y"
{ yyval.node = makeA_Expr(OR, NULL, yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 673:
-#line 3771 "gram.y"
+#line 3772 "gram.y"
{ yyval.node = makeA_Expr(NOT, NULL, NULL, yyvsp[0].node); ;
break;}
case 674:
-#line 3781 "gram.y"
+#line 3782 "gram.y"
{
yyvsp[-1].attr->indirection = yyvsp[0].list;
yyval.node = (Node *)yyvsp[-1].attr;
;
break;}
case 675:
-#line 3786 "gram.y"
+#line 3787 "gram.y"
{ yyval.node = yyvsp[0].node; ;
break;}
case 676:
-#line 3788 "gram.y"
+#line 3789 "gram.y"
{
/* could be a column name or a relation_name */
Ident *n = makeNode(Ident);
@@ -8403,39 +8404,39 @@ case 676:
;
break;}
case 677:
-#line 3796 "gram.y"
+#line 3797 "gram.y"
{ yyval.node = makeA_Expr(OP, "-", NULL, yyvsp[0].node); ;
break;}
case 678:
-#line 3798 "gram.y"
+#line 3799 "gram.y"
{ yyval.node = makeA_Expr(OP, "+", yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 679:
-#line 3800 "gram.y"
+#line 3801 "gram.y"
{ yyval.node = makeA_Expr(OP, "-", yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 680:
-#line 3802 "gram.y"
+#line 3803 "gram.y"
{ yyval.node = makeA_Expr(OP, "/", yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 681:
-#line 3804 "gram.y"
+#line 3805 "gram.y"
{ yyval.node = makeA_Expr(OP, "*", yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 682:
-#line 3806 "gram.y"
+#line 3807 "gram.y"
{ yyval.node = makeA_Expr(OP, ":", NULL, yyvsp[0].node); ;
break;}
case 683:
-#line 3808 "gram.y"
+#line 3809 "gram.y"
{ yyval.node = makeA_Expr(OP, ";", NULL, yyvsp[0].node); ;
break;}
case 684:
-#line 3810 "gram.y"
+#line 3811 "gram.y"
{ yyval.node = makeA_Expr(OP, "|", NULL, yyvsp[0].node); ;
break;}
case 685:
-#line 3812 "gram.y"
+#line 3813 "gram.y"
{
yyval.node = (Node *)yyvsp[-2].node;
/* AexprConst can be either A_Const or ParamNo */
@@ -8453,7 +8454,7 @@ case 685:
;
break;}
case 686:
-#line 3828 "gram.y"
+#line 3829 "gram.y"
{
yyval.node = (Node *)yyvsp[-3].node;
/* AexprConst can be either A_Const or ParamNo */
@@ -8471,23 +8472,23 @@ case 686:
;
break;}
case 687:
-#line 3844 "gram.y"
+#line 3845 "gram.y"
{ yyval.node = yyvsp[-1].node; ;
break;}
case 688:
-#line 3846 "gram.y"
+#line 3847 "gram.y"
{ yyval.node = makeIndexable(yyvsp[-1].str,yyvsp[-2].node,yyvsp[0].node); ;
break;}
case 689:
-#line 3848 "gram.y"
+#line 3849 "gram.y"
{ yyval.node = makeA_Expr(OP, yyvsp[-1].str, NULL, yyvsp[0].node); ;
break;}
case 690:
-#line 3850 "gram.y"
+#line 3851 "gram.y"
{ yyval.node = makeA_Expr(OP, yyvsp[0].str, yyvsp[-1].node, NULL); ;
break;}
case 691:
-#line 3852 "gram.y"
+#line 3853 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = yyvsp[-2].str;
@@ -8496,7 +8497,7 @@ case 691:
;
break;}
case 692:
-#line 3859 "gram.y"
+#line 3860 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = yyvsp[-3].str;
@@ -8505,7 +8506,7 @@ case 692:
;
break;}
case 693:
-#line 3866 "gram.y"
+#line 3867 "gram.y"
{
A_Const *n = makeNode(A_Const);
TypeName *t = makeNode(TypeName);
@@ -8522,7 +8523,7 @@ case 693:
;
break;}
case 694:
-#line 3881 "gram.y"
+#line 3882 "gram.y"
{
A_Const *n = makeNode(A_Const);
TypeName *t = makeNode(TypeName);
@@ -8539,7 +8540,7 @@ case 694:
;
break;}
case 695:
-#line 3896 "gram.y"
+#line 3897 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
A_Const *s = makeNode(A_Const);
@@ -8563,7 +8564,7 @@ case 695:
;
break;}
case 696:
-#line 3918 "gram.y"
+#line 3919 "gram.y"
{
A_Const *n = makeNode(A_Const);
TypeName *t = makeNode(TypeName);
@@ -8580,7 +8581,7 @@ case 696:
;
break;}
case 697:
-#line 3933 "gram.y"
+#line 3934 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
A_Const *s = makeNode(A_Const);
@@ -8604,7 +8605,7 @@ case 697:
;
break;}
case 698:
-#line 3955 "gram.y"
+#line 3956 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = "getpgusername";
@@ -8613,7 +8614,7 @@ case 698:
;
break;}
case 699:
-#line 3962 "gram.y"
+#line 3963 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = "getpgusername";
@@ -8622,7 +8623,7 @@ case 699:
;
break;}
case 700:
-#line 3969 "gram.y"
+#line 3970 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = "strpos";
@@ -8631,7 +8632,7 @@ case 700:
;
break;}
case 701:
-#line 3976 "gram.y"
+#line 3977 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = "substr";
@@ -8640,7 +8641,7 @@ case 701:
;
break;}
case 702:
-#line 3984 "gram.y"
+#line 3985 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = "btrim";
@@ -8649,7 +8650,7 @@ case 702:
;
break;}
case 703:
-#line 3991 "gram.y"
+#line 3992 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = "ltrim";
@@ -8658,7 +8659,7 @@ case 703:
;
break;}
case 704:
-#line 3998 "gram.y"
+#line 3999 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = "rtrim";
@@ -8667,7 +8668,7 @@ case 704:
;
break;}
case 705:
-#line 4005 "gram.y"
+#line 4006 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = "btrim";
@@ -8676,7 +8677,7 @@ case 705:
;
break;}
case 706:
-#line 4014 "gram.y"
+#line 4015 "gram.y"
{
A_Indices *ai = makeNode(A_Indices);
ai->lidx = NULL;
@@ -8685,7 +8686,7 @@ case 706:
;
break;}
case 707:
-#line 4021 "gram.y"
+#line 4022 "gram.y"
{
A_Indices *ai = makeNode(A_Indices);
ai->lidx = yyvsp[-4].node;
@@ -8694,23 +8695,23 @@ case 707:
;
break;}
case 708:
-#line 4028 "gram.y"
+#line 4029 "gram.y"
{ yyval.list = NIL; ;
break;}
case 709:
-#line 4032 "gram.y"
+#line 4033 "gram.y"
{ yyval.list = lcons(yyvsp[0].node, NIL); ;
break;}
case 710:
-#line 4034 "gram.y"
+#line 4035 "gram.y"
{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].node); ;
break;}
case 711:
-#line 4036 "gram.y"
+#line 4037 "gram.y"
{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].node); ;
break;}
case 712:
-#line 4040 "gram.y"
+#line 4041 "gram.y"
{
A_Const *n = makeNode(A_Const);
n->val.type = T_String;
@@ -8719,66 +8720,66 @@ case 712:
;
break;}
case 713:
-#line 4047 "gram.y"
+#line 4048 "gram.y"
{ yyval.list = NIL; ;
break;}
case 714:
-#line 4050 "gram.y"
+#line 4051 "gram.y"
{ yyval.str = yyvsp[0].str; ;
break;}
case 715:
-#line 4051 "gram.y"
+#line 4052 "gram.y"
{ yyval.str = "tz_hour"; ;
break;}
case 716:
-#line 4052 "gram.y"
+#line 4053 "gram.y"
{ yyval.str = "tz_minute"; ;
break;}
case 717:
-#line 4056 "gram.y"
+#line 4057 "gram.y"
{ yyval.list = makeList(yyvsp[0].node, yyvsp[-2].node, -1); ;
break;}
case 718:
-#line 4058 "gram.y"
+#line 4059 "gram.y"
{ yyval.list = NIL; ;
break;}
case 719:
-#line 4062 "gram.y"
+#line 4063 "gram.y"
{
yyvsp[-1].attr->indirection = yyvsp[0].list;
yyval.node = (Node *)yyvsp[-1].attr;
;
break;}
case 720:
-#line 4067 "gram.y"
+#line 4068 "gram.y"
{ yyval.node = yyvsp[0].node; ;
break;}
case 721:
-#line 4069 "gram.y"
+#line 4070 "gram.y"
{ yyval.node = makeA_Expr(OP, "-", NULL, yyvsp[0].node); ;
break;}
case 722:
-#line 4071 "gram.y"
+#line 4072 "gram.y"
{ yyval.node = makeA_Expr(OP, "+", yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 723:
-#line 4073 "gram.y"
+#line 4074 "gram.y"
{ yyval.node = makeA_Expr(OP, "-", yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 724:
-#line 4075 "gram.y"
+#line 4076 "gram.y"
{ yyval.node = makeA_Expr(OP, "/", yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 725:
-#line 4077 "gram.y"
+#line 4078 "gram.y"
{ yyval.node = makeA_Expr(OP, "*", yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 726:
-#line 4079 "gram.y"
+#line 4080 "gram.y"
{ yyval.node = makeA_Expr(OP, "|", NULL, yyvsp[0].node); ;
break;}
case 727:
-#line 4081 "gram.y"
+#line 4082 "gram.y"
{
yyval.node = (Node *)yyvsp[-2].node;
/* AexprConst can be either A_Const or ParamNo */
@@ -8796,7 +8797,7 @@ case 727:
;
break;}
case 728:
-#line 4097 "gram.y"
+#line 4098 "gram.y"
{
yyval.node = (Node *)yyvsp[-3].node;
/* AexprConst can be either A_Const or ParamNo */
@@ -8814,23 +8815,23 @@ case 728:
;
break;}
case 729:
-#line 4113 "gram.y"
+#line 4114 "gram.y"
{ yyval.node = yyvsp[-1].node; ;
break;}
case 730:
-#line 4115 "gram.y"
+#line 4116 "gram.y"
{ yyval.node = makeA_Expr(OP, yyvsp[-1].str, yyvsp[-2].node, yyvsp[0].node); ;
break;}
case 731:
-#line 4117 "gram.y"
+#line 4118 "gram.y"
{ yyval.node = makeA_Expr(OP, yyvsp[-1].str, NULL, yyvsp[0].node); ;
break;}
case 732:
-#line 4119 "gram.y"
+#line 4120 "gram.y"
{ yyval.node = makeA_Expr(OP, yyvsp[0].str, yyvsp[-1].node, NULL); ;
break;}
case 733:
-#line 4121 "gram.y"
+#line 4122 "gram.y"
{
/* could be a column name or a relation_name */
Ident *n = makeNode(Ident);
@@ -8840,7 +8841,7 @@ case 733:
;
break;}
case 734:
-#line 4129 "gram.y"
+#line 4130 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = yyvsp[-2].str;
@@ -8849,7 +8850,7 @@ case 734:
;
break;}
case 735:
-#line 4136 "gram.y"
+#line 4137 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = yyvsp[-3].str;
@@ -8858,7 +8859,7 @@ case 735:
;
break;}
case 736:
-#line 4143 "gram.y"
+#line 4144 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = "strpos";
@@ -8867,7 +8868,7 @@ case 736:
;
break;}
case 737:
-#line 4150 "gram.y"
+#line 4151 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = "substr";
@@ -8876,7 +8877,7 @@ case 737:
;
break;}
case 738:
-#line 4158 "gram.y"
+#line 4159 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = "btrim";
@@ -8885,7 +8886,7 @@ case 738:
;
break;}
case 739:
-#line 4165 "gram.y"
+#line 4166 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = "ltrim";
@@ -8894,7 +8895,7 @@ case 739:
;
break;}
case 740:
-#line 4172 "gram.y"
+#line 4173 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = "rtrim";
@@ -8903,7 +8904,7 @@ case 740:
;
break;}
case 741:
-#line 4179 "gram.y"
+#line 4180 "gram.y"
{
FuncCall *n = makeNode(FuncCall);
n->funcname = "btrim";
@@ -8912,21 +8913,21 @@ case 741:
;
break;}
case 742:
-#line 4188 "gram.y"
+#line 4189 "gram.y"
{
yyval.list = nconc(nconc(yyvsp[-2].list,yyvsp[-1].list),yyvsp[0].list);
;
break;}
case 743:
-#line 4192 "gram.y"
+#line 4193 "gram.y"
{ yyval.list = NIL; ;
break;}
case 744:
-#line 4196 "gram.y"
+#line 4197 "gram.y"
{ yyval.list = yyvsp[0].list; ;
break;}
case 745:
-#line 4198 "gram.y"
+#line 4199 "gram.y"
{
A_Const *n = makeNode(A_Const);
n->val.type = T_Integer;
@@ -8935,27 +8936,27 @@ case 745:
;
break;}
case 746:
-#line 4207 "gram.y"
+#line 4208 "gram.y"
{ yyval.list = yyvsp[0].list; ;
break;}
case 747:
-#line 4209 "gram.y"
+#line 4210 "gram.y"
{ yyval.list = NIL; ;
break;}
case 748:
-#line 4213 "gram.y"
+#line 4214 "gram.y"
{ yyval.list = lappend(yyvsp[0].list, yyvsp[-2].node); ;
break;}
case 749:
-#line 4215 "gram.y"
+#line 4216 "gram.y"
{ yyval.list = yyvsp[0].list; ;
break;}
case 750:
-#line 4217 "gram.y"
+#line 4218 "gram.y"
{ yyval.list = yyvsp[0].list; ;
break;}
case 751:
-#line 4221 "gram.y"
+#line 4222 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->subselect = yyvsp[0].node;
@@ -8963,21 +8964,21 @@ case 751:
;
break;}
case 752:
-#line 4227 "gram.y"
+#line 4228 "gram.y"
{ yyval.node = yyvsp[0].node; ;
break;}
case 753:
-#line 4231 "gram.y"
+#line 4232 "gram.y"
{ yyval.node = makeA_Expr(OP, "=", lfirst(saved_In_Expr), yyvsp[0].node); ;
break;}
case 754:
-#line 4233 "gram.y"
+#line 4234 "gram.y"
{ yyval.node = makeA_Expr(OR, NULL, yyvsp[-2].node,
makeA_Expr(OP, "=", lfirst(saved_In_Expr), yyvsp[0].node));
;
break;}
case 755:
-#line 4239 "gram.y"
+#line 4240 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->subselect = yyvsp[0].node;
@@ -8985,21 +8986,21 @@ case 755:
;
break;}
case 756:
-#line 4245 "gram.y"
+#line 4246 "gram.y"
{ yyval.node = yyvsp[0].node; ;
break;}
case 757:
-#line 4249 "gram.y"
+#line 4250 "gram.y"
{ yyval.node = makeA_Expr(OP, "<>", lfirst(saved_In_Expr), yyvsp[0].node); ;
break;}
case 758:
-#line 4251 "gram.y"
+#line 4252 "gram.y"
{ yyval.node = makeA_Expr(AND, NULL, yyvsp[-2].node,
makeA_Expr(OP, "<>", lfirst(saved_In_Expr), yyvsp[0].node));
;
break;}
case 759:
-#line 4257 "gram.y"
+#line 4258 "gram.y"
{
yyval.attr = makeNode(Attr);
yyval.attr->relname = yyvsp[-2].str;
@@ -9009,7 +9010,7 @@ case 759:
;
break;}
case 760:
-#line 4265 "gram.y"
+#line 4266 "gram.y"
{
yyval.attr = makeNode(Attr);
yyval.attr->relname = NULL;
@@ -9019,27 +9020,27 @@ case 760:
;
break;}
case 761:
-#line 4275 "gram.y"
+#line 4276 "gram.y"
{ yyval.list = lcons(makeString(yyvsp[0].str), NIL); ;
break;}
case 762:
-#line 4277 "gram.y"
+#line 4278 "gram.y"
{ yyval.list = lappend(yyvsp[-2].list, makeString(yyvsp[0].str)); ;
break;}
case 763:
-#line 4279 "gram.y"
+#line 4280 "gram.y"
{ yyval.list = lappend(yyvsp[-2].list, makeString("*")); ;
break;}
case 764:
-#line 4290 "gram.y"
+#line 4291 "gram.y"
{ yyval.list = lappend(yyvsp[-2].list,yyvsp[0].target); ;
break;}
case 765:
-#line 4292 "gram.y"
+#line 4293 "gram.y"
{ yyval.list = lcons(yyvsp[0].target, NIL); ;
break;}
case 766:
-#line 4294 "gram.y"
+#line 4295 "gram.y"
{
ResTarget *rt = makeNode(ResTarget);
Attr *att = makeNode(Attr);
@@ -9054,7 +9055,7 @@ case 766:
;
break;}
case 767:
-#line 4309 "gram.y"
+#line 4310 "gram.y"
{
yyval.target = makeNode(ResTarget);
yyval.target->name = yyvsp[-3].str;
@@ -9063,7 +9064,7 @@ case 767:
;
break;}
case 768:
-#line 4316 "gram.y"
+#line 4317 "gram.y"
{
yyval.target = makeNode(ResTarget);
yyval.target->name = NULL;
@@ -9072,7 +9073,7 @@ case 768:
;
break;}
case 769:
-#line 4323 "gram.y"
+#line 4324 "gram.y"
{
Attr *att = makeNode(Attr);
att->relname = yyvsp[-2].str;
@@ -9086,15 +9087,15 @@ case 769:
;
break;}
case 770:
-#line 4342 "gram.y"
+#line 4343 "gram.y"
{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].target); ;
break;}
case 771:
-#line 4344 "gram.y"
+#line 4345 "gram.y"
{ yyval.list = lcons(yyvsp[0].target, NIL); ;
break;}
case 772:
-#line 4349 "gram.y"
+#line 4350 "gram.y"
{
yyval.target = makeNode(ResTarget);
yyval.target->name = yyvsp[0].str;
@@ -9103,7 +9104,7 @@ case 772:
;
break;}
case 773:
-#line 4356 "gram.y"
+#line 4357 "gram.y"
{
yyval.target = makeNode(ResTarget);
yyval.target->name = NULL;
@@ -9112,7 +9113,7 @@ case 773:
;
break;}
case 774:
-#line 4363 "gram.y"
+#line 4364 "gram.y"
{
Attr *att = makeNode(Attr);
att->relname = yyvsp[-2].str;
@@ -9126,7 +9127,7 @@ case 774:
;
break;}
case 775:
-#line 4375 "gram.y"
+#line 4376 "gram.y"
{
Attr *att = makeNode(Attr);
att->relname = "*";
@@ -9140,22 +9141,22 @@ case 775:
;
break;}
case 776:
-#line 4388 "gram.y"
+#line 4389 "gram.y"
{ yyval.str = yyvsp[0].str; ;
break;}
case 777:
-#line 4389 "gram.y"
+#line 4390 "gram.y"
{ yyval.str = NULL; ;
break;}
case 778:
-#line 4393 "gram.y"
+#line 4394 "gram.y"
{
yyval.str = yyvsp[0].str;
StrNCpy(saved_relname, yyvsp[0].str, NAMEDATALEN);
;
break;}
case 779:
-#line 4398 "gram.y"
+#line 4399 "gram.y"
{
/* disallow refs to variable system tables */
if (strcmp(LogRelationName, yyvsp[0].str) == 0
@@ -9167,43 +9168,43 @@ case 779:
;
break;}
case 780:
-#line 4409 "gram.y"
+#line 4410 "gram.y"
{ yyval.str = yyvsp[0].str; ;
break;}
case 781:
-#line 4410 "gram.y"
+#line 4411 "gram.y"
{ yyval.str = yyvsp[0].str; ;
break;}
case 782:
-#line 4411 "gram.y"
+#line 4412 "gram.y"
{ yyval.str = yyvsp[0].str; ;
break;}
case 783:
-#line 4412 "gram.y"
+#line 4413 "gram.y"
{ yyval.str = yyvsp[0].str; ;
break;}
case 784:
-#line 4413 "gram.y"
+#line 4414 "gram.y"
{ yyval.str = yyvsp[0].str; ;
break;}
case 785:
-#line 4419 "gram.y"
+#line 4420 "gram.y"
{ yyval.str = yyvsp[0].str; ;
break;}
case 786:
-#line 4420 "gram.y"
+#line 4421 "gram.y"
{ yyval.str = xlateSqlFunc(yyvsp[0].str); ;
break;}
case 787:
-#line 4422 "gram.y"
+#line 4423 "gram.y"
{ yyval.str = yyvsp[0].str; ;
break;}
case 788:
-#line 4423 "gram.y"
+#line 4424 "gram.y"
{ yyval.str = yyvsp[0].str; ;
break;}
case 789:
-#line 4429 "gram.y"
+#line 4430 "gram.y"
{
A_Const *n = makeNode(A_Const);
n->val.type = T_Integer;
@@ -9212,7 +9213,7 @@ case 789:
;
break;}
case 790:
-#line 4436 "gram.y"
+#line 4437 "gram.y"
{
A_Const *n = makeNode(A_Const);
n->val.type = T_Float;
@@ -9221,7 +9222,7 @@ case 790:
;
break;}
case 791:
-#line 4443 "gram.y"
+#line 4444 "gram.y"
{
A_Const *n = makeNode(A_Const);
n->val.type = T_String;
@@ -9230,7 +9231,7 @@ case 791:
;
break;}
case 792:
-#line 4450 "gram.y"
+#line 4451 "gram.y"
{
A_Const *n = makeNode(A_Const);
n->typename = yyvsp[-1].typnam;
@@ -9240,11 +9241,11 @@ case 792:
;
break;}
case 793:
-#line 4458 "gram.y"
+#line 4459 "gram.y"
{ yyval.node = (Node *)yyvsp[0].paramno; ;
break;}
case 794:
-#line 4460 "gram.y"
+#line 4461 "gram.y"
{
A_Const *n = makeNode(A_Const);
n->val.type = T_String;
@@ -9256,7 +9257,7 @@ case 794:
;
break;}
case 795:
-#line 4470 "gram.y"
+#line 4471 "gram.y"
{
A_Const *n = makeNode(A_Const);
n->val.type = T_String;
@@ -9268,238 +9269,238 @@ case 795:
;
break;}
case 796:
-#line 4482 "gram.y"
+#line 4483 "gram.y"
{
yyval.paramno = makeNode(ParamNo);
yyval.paramno->number = yyvsp[0].ival;
;
break;}
case 797:
-#line 4488 "gram.y"
+#line 4489 "gram.y"
{ yyval.ival = yyvsp[0].ival; ;
break;}
case 798:
-#line 4489 "gram.y"
+#line 4490 "gram.y"
{ yyval.str = yyvsp[0].str; ;
break;}
case 799:
-#line 4490 "gram.y"
+#line 4491 "gram.y"
{ yyval.str = yyvsp[0].str; ;
break;}
case 800:
-#line 4498 "gram.y"
+#line 4499 "gram.y"
{ yyval.str = xlateSqlType(yyvsp[0].str); ;
break;}
case 801:
-#line 4500 "gram.y"
+#line 4501 "gram.y"
{ yyval.str = xlateSqlType(yyvsp[0].str); ;
break;}
case 802:
-#line 4502 "gram.y"
+#line 4503 "gram.y"
{ yyval.str = xlateSqlType(yyvsp[0].str); ;
break;}
case 803:
-#line 4512 "gram.y"
+#line 4513 "gram.y"
{ yyval.str = yyvsp[0].str; ;
break;}
case 804:
-#line 4513 "gram.y"
+#line 4514 "gram.y"
{ yyval.str = yyvsp[0].str; ;
break;}
case 805:
-#line 4514 "gram.y"
+#line 4515 "gram.y"
{ yyval.str = "action"; ;
break;}
case 806:
-#line 4515 "gram.y"
+#line 4516 "gram.y"
{ yyval.str = "cache"; ;
break;}
case 807:
-#line 4516 "gram.y"
+#line 4517 "gram.y"
{ yyval.str = "cycle"; ;
break;}
case 808:
-#line 4517 "gram.y"
+#line 4518 "gram.y"
{ yyval.str = "database"; ;
break;}
case 809:
-#line 4518 "gram.y"
+#line 4519 "gram.y"
{ yyval.str = "delimiters"; ;
break;}
case 810:
-#line 4519 "gram.y"
+#line 4520 "gram.y"
{ yyval.str = "double"; ;
break;}
case 811:
-#line 4520 "gram.y"
+#line 4521 "gram.y"
{ yyval.str = "each"; ;
break;}
case 812:
-#line 4521 "gram.y"
+#line 4522 "gram.y"
{ yyval.str = "encoding"; ;
break;}
case 813:
-#line 4522 "gram.y"
+#line 4523 "gram.y"
{ yyval.str = "function"; ;
break;}
case 814:
-#line 4523 "gram.y"
+#line 4524 "gram.y"
{ yyval.str = "increment"; ;
break;}
case 815:
-#line 4524 "gram.y"
+#line 4525 "gram.y"
{ yyval.str = "index"; ;
break;}
case 816:
-#line 4525 "gram.y"
+#line 4526 "gram.y"
{ yyval.str = "key"; ;
break;}
case 817:
-#line 4526 "gram.y"
+#line 4527 "gram.y"
{ yyval.str = "language"; ;
break;}
case 818:
-#line 4527 "gram.y"
+#line 4528 "gram.y"
{ yyval.str = "location"; ;
break;}
case 819:
-#line 4528 "gram.y"
+#line 4529 "gram.y"
{ yyval.str = "match"; ;
break;}
case 820:
-#line 4529 "gram.y"
+#line 4530 "gram.y"
{ yyval.str = "maxvalue"; ;
break;}
case 821:
-#line 4530 "gram.y"
+#line 4531 "gram.y"
{ yyval.str = "minvalue"; ;
break;}
case 822:
-#line 4531 "gram.y"
+#line 4532 "gram.y"
{ yyval.str = "operator"; ;
break;}
case 823:
-#line 4532 "gram.y"
+#line 4533 "gram.y"
{ yyval.str = "option"; ;
break;}
case 824:
-#line 4533 "gram.y"
+#line 4534 "gram.y"
{ yyval.str = "password"; ;
break;}
case 825:
-#line 4534 "gram.y"
+#line 4535 "gram.y"
{ yyval.str = "privileges"; ;
break;}
case 826:
-#line 4535 "gram.y"
+#line 4536 "gram.y"
{ yyval.str = "recipe"; ;
break;}
case 827:
-#line 4536 "gram.y"
+#line 4537 "gram.y"
{ yyval.str = "row"; ;
break;}
case 828:
-#line 4537 "gram.y"
+#line 4538 "gram.y"
{ yyval.str = "start"; ;
break;}
case 829:
-#line 4538 "gram.y"
+#line 4539 "gram.y"
{ yyval.str = "statement"; ;
break;}
case 830:
-#line 4539 "gram.y"
+#line 4540 "gram.y"
{ yyval.str = "time"; ;
break;}
case 831:
-#line 4540 "gram.y"
+#line 4541 "gram.y"
{ yyval.str = "timezone_hour"; ;
break;}
case 832:
-#line 4541 "gram.y"
+#line 4542 "gram.y"
{ yyval.str = "timezone_minute"; ;
break;}
case 833:
-#line 4542 "gram.y"
+#line 4543 "gram.y"
{ yyval.str = "trigger"; ;
break;}
case 834:
-#line 4543 "gram.y"
+#line 4544 "gram.y"
{ yyval.str = "type"; ;
break;}
case 835:
-#line 4544 "gram.y"
+#line 4545 "gram.y"
{ yyval.str = "valid"; ;
break;}
case 836:
-#line 4545 "gram.y"
+#line 4546 "gram.y"
{ yyval.str = "version"; ;
break;}
case 837:
-#line 4546 "gram.y"
+#line 4547 "gram.y"
{ yyval.str = "zone"; ;
break;}
case 838:
-#line 4559 "gram.y"
+#line 4560 "gram.y"
{ yyval.str = yyvsp[0].str; ;
break;}
case 839:
-#line 4560 "gram.y"
+#line 4561 "gram.y"
{ yyval.str = "archive"; ;
break;}
case 840:
-#line 4561 "gram.y"
+#line 4562 "gram.y"
{ yyval.str = "cluster"; ;
break;}
case 841:
-#line 4562 "gram.y"
+#line 4563 "gram.y"
{ yyval.str = "constraint"; ;
break;}
case 842:
-#line 4563 "gram.y"
+#line 4564 "gram.y"
{ yyval.str = "cross"; ;
break;}
case 843:
-#line 4564 "gram.y"
+#line 4565 "gram.y"
{ yyval.str = "foreign"; ;
break;}
case 844:
-#line 4565 "gram.y"
+#line 4566 "gram.y"
{ yyval.str = "group"; ;
break;}
case 845:
-#line 4566 "gram.y"
+#line 4567 "gram.y"
{ yyval.str = "load"; ;
break;}
case 846:
-#line 4567 "gram.y"
+#line 4568 "gram.y"
{ yyval.str = "order"; ;
break;}
case 847:
-#line 4568 "gram.y"
+#line 4569 "gram.y"
{ yyval.str = "position"; ;
break;}
case 848:
-#line 4569 "gram.y"
+#line 4570 "gram.y"
{ yyval.str = "precision"; ;
break;}
case 849:
-#line 4570 "gram.y"
+#line 4571 "gram.y"
{ yyval.str = "table"; ;
break;}
case 850:
-#line 4571 "gram.y"
+#line 4572 "gram.y"
{ yyval.str = "transaction"; ;
break;}
case 851:
-#line 4572 "gram.y"
+#line 4573 "gram.y"
{ yyval.str = "true"; ;
break;}
case 852:
-#line 4573 "gram.y"
+#line 4574 "gram.y"
{ yyval.str = "false"; ;
break;}
case 853:
-#line 4577 "gram.y"
+#line 4578 "gram.y"
{
if (QueryIsRule)
yyval.str = "*CURRENT*";
@@ -9508,7 +9509,7 @@ case 853:
;
break;}
case 854:
-#line 4584 "gram.y"
+#line 4585 "gram.y"
{
if (QueryIsRule)
yyval.str = "*NEW*";
@@ -9714,7 +9715,7 @@ yyerrhandle:
yystate = yyn;
goto yynewstate;
}
-#line 4592 "gram.y"
+#line 4593 "gram.y"
static Node *