duckdb 0.3.3-dev375.0 → 0.3.3-dev379.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/src/duckdb.cpp CHANGED
@@ -89203,14 +89203,18 @@ parse_bracket : {
89203
89203
  }
89204
89204
  }
89205
89205
 
89206
+ static char GetEscapeChar(string_t escape) {
89207
+ // Only one escape character should be allowed
89208
+ if (escape.GetSize() > 1) {
89209
+ throw SyntaxException("Invalid escape string. Escape string must be empty or one character.");
89210
+ }
89211
+ return escape.GetSize() == 0 ? '\0' : *escape.GetDataUnsafe();
89212
+ }
89213
+
89206
89214
  struct LikeEscapeOperator {
89207
89215
  template <class TA, class TB, class TC>
89208
89216
  static inline bool Operation(TA str, TB pattern, TC escape) {
89209
- // Only one escape character should be allowed
89210
- if (escape.GetSize() > 1) {
89211
- throw SyntaxException("Invalid escape string. Escape string must be empty or one character.");
89212
- }
89213
- char escape_char = escape.GetSize() == 0 ? '\0' : *escape.GetDataUnsafe();
89217
+ char escape_char = GetEscapeChar(escape);
89214
89218
  return LikeOperatorFunction(str.GetDataUnsafe(), str.GetSize(), pattern.GetDataUnsafe(), pattern.GetSize(),
89215
89219
  escape_char);
89216
89220
  }
@@ -89230,24 +89234,44 @@ struct LikeOperator {
89230
89234
  }
89231
89235
  };
89232
89236
 
89237
+ bool ILikeOperatorFunction(string_t &str, string_t &pattern, char escape = '\0') {
89238
+ auto str_data = str.GetDataUnsafe();
89239
+ auto str_size = str.GetSize();
89240
+ auto pat_data = pattern.GetDataUnsafe();
89241
+ auto pat_size = pattern.GetSize();
89242
+
89243
+ // lowercase both the str and the pattern
89244
+ idx_t str_llength = LowerFun::LowerLength(str_data, str_size);
89245
+ auto str_ldata = unique_ptr<char[]>(new char[str_llength]);
89246
+ LowerFun::LowerCase(str_data, str_size, str_ldata.get());
89247
+
89248
+ idx_t pat_llength = LowerFun::LowerLength(pat_data, pat_size);
89249
+ auto pat_ldata = unique_ptr<char[]>(new char[pat_llength]);
89250
+ LowerFun::LowerCase(pat_data, pat_size, pat_ldata.get());
89251
+ string_t str_lcase(str_ldata.get(), str_llength);
89252
+ string_t pat_lcase(pat_ldata.get(), pat_llength);
89253
+ return LikeOperatorFunction(str_lcase, pat_lcase, escape);
89254
+ }
89255
+
89256
+ struct ILikeEscapeOperator {
89257
+ template <class TA, class TB, class TC>
89258
+ static inline bool Operation(TA str, TB pattern, TC escape) {
89259
+ char escape_char = GetEscapeChar(escape);
89260
+ return ILikeOperatorFunction(str, pattern, escape_char);
89261
+ }
89262
+ };
89263
+
89264
+ struct NotILikeEscapeOperator {
89265
+ template <class TA, class TB, class TC>
89266
+ static inline bool Operation(TA str, TB pattern, TC escape) {
89267
+ return !ILikeEscapeOperator::Operation(str, pattern, escape);
89268
+ }
89269
+ };
89270
+
89233
89271
  struct ILikeOperator {
89234
89272
  template <class TA, class TB, class TR>
89235
89273
  static inline TR Operation(TA str, TB pattern) {
89236
- auto str_data = str.GetDataUnsafe();
89237
- auto str_size = str.GetSize();
89238
- auto pat_data = pattern.GetDataUnsafe();
89239
- auto pat_size = pattern.GetSize();
89240
- // lowercase both the str and the pattern
89241
- idx_t str_llength = LowerFun::LowerLength(str_data, str_size);
89242
- auto str_ldata = unique_ptr<char[]>(new char[str_llength]);
89243
- LowerFun::LowerCase(str_data, str_size, str_ldata.get());
89244
-
89245
- idx_t pat_llength = LowerFun::LowerLength(pat_data, pat_size);
89246
- auto pat_ldata = unique_ptr<char[]>(new char[pat_llength]);
89247
- LowerFun::LowerCase(pat_data, pat_size, pat_ldata.get());
89248
- string_t str_lcase(str_ldata.get(), str_llength);
89249
- string_t pat_lcase(pat_ldata.get(), pat_llength);
89250
- return LikeOperatorFunction(str_lcase, pat_lcase);
89274
+ return ILikeOperatorFunction(str, pattern);
89251
89275
  }
89252
89276
  };
89253
89277
 
@@ -89355,6 +89379,12 @@ void LikeEscapeFun::RegisterFunction(BuiltinFunctions &set) {
89355
89379
  set.AddFunction({"not_like_escape"},
89356
89380
  ScalarFunction({LogicalType::VARCHAR, LogicalType::VARCHAR, LogicalType::VARCHAR},
89357
89381
  LogicalType::BOOLEAN, LikeEscapeFunction<NotLikeEscapeOperator>));
89382
+
89383
+ set.AddFunction({"ilike_escape"}, ScalarFunction({LogicalType::VARCHAR, LogicalType::VARCHAR, LogicalType::VARCHAR},
89384
+ LogicalType::BOOLEAN, LikeEscapeFunction<ILikeEscapeOperator>));
89385
+ set.AddFunction({"not_ilike_escape"},
89386
+ ScalarFunction({LogicalType::VARCHAR, LogicalType::VARCHAR, LogicalType::VARCHAR},
89387
+ LogicalType::BOOLEAN, LikeEscapeFunction<NotILikeEscapeOperator>));
89358
89388
  }
89359
89389
  } // namespace duckdb
89360
89390
 
@@ -232143,38 +232173,38 @@ static const yytype_uint16 yyrline[] =
232143
232173
  1706, 1714, 1729, 1731, 1733, 1735, 1737, 1739, 1741, 1743,
232144
232174
  1745, 1747, 1749, 1751, 1753, 1755, 1758, 1760, 1762, 1765,
232145
232175
  1767, 1769, 1771, 1774, 1779, 1784, 1791, 1796, 1803, 1808,
232146
- 1816, 1821, 1830, 1838, 1846, 1854, 1872, 1880, 1888, 1896,
232147
- 1904, 1912, 1916, 1920, 1924, 1932, 1940, 1956, 1964, 1972,
232148
- 1980, 1988, 1996, 2004, 2008, 2012, 2016, 2020, 2028, 2036,
232149
- 2044, 2052, 2072, 2094, 2105, 2112, 2126, 2142, 2144, 2146,
232150
- 2148, 2150, 2152, 2154, 2156, 2158, 2160, 2162, 2164, 2166,
232151
- 2168, 2170, 2172, 2174, 2176, 2178, 2180, 2184, 2188, 2192,
232152
- 2206, 2207, 2208, 2215, 2227, 2242, 2254, 2256, 2268, 2279,
232153
- 2303, 2314, 2323, 2327, 2334, 2342, 2350, 2361, 2369, 2397,
232154
- 2433, 2444, 2445, 2452, 2458, 2462, 2466, 2470, 2474, 2478,
232155
- 2482, 2486, 2490, 2494, 2498, 2502, 2506, 2510, 2514, 2518,
232156
- 2520, 2522, 2526, 2535, 2540, 2547, 2562, 2569, 2573, 2577,
232157
- 2581, 2585, 2599, 2600, 2604, 2605, 2609, 2610, 2617, 2618,
232158
- 2622, 2623, 2628, 2636, 2638, 2652, 2655, 2682, 2683, 2686,
232159
- 2687, 2698, 2704, 2711, 2720, 2737, 2782, 2790, 2798, 2806,
232160
- 2814, 2835, 2836, 2839, 2840, 2844, 2854, 2855, 2857, 2858,
232161
- 2859, 2862, 2863, 2866, 2867, 2868, 2869, 2870, 2871, 2872,
232162
- 2873, 2874, 2875, 2876, 2877, 2880, 2882, 2887, 2889, 2894,
232163
- 2896, 2898, 2900, 2902, 2904, 2906, 2908, 2922, 2924, 2928,
232164
- 2932, 2939, 2944, 2951, 2955, 2961, 2965, 2974, 2985, 2986,
232165
- 2990, 2994, 3001, 3002, 3003, 3004, 3005, 3006, 3007, 3008,
232166
- 3009, 3010, 3020, 3024, 3031, 3038, 3039, 3055, 3059, 3064,
232167
- 3068, 3083, 3088, 3092, 3095, 3098, 3099, 3100, 3103, 3110,
232168
- 3120, 3134, 3135, 3139, 3150, 3151, 3154, 3155, 3158, 3162,
232169
- 3169, 3173, 3181, 3192, 3193, 3197, 3198, 3202, 3203, 3206,
232170
- 3207, 3217, 3218, 3222, 3223, 3226, 3242, 3250, 3258, 3273,
232171
- 3291, 3292, 3295, 3296, 3299, 3303, 3304, 3307, 3308, 3309,
232172
- 3319, 3320, 3331, 3335, 3362, 3364, 3369, 3371, 3381, 3384,
232173
- 3395, 3399, 3403, 3415, 3419, 3428, 3435, 3473, 3477, 3481,
232174
- 3485, 3489, 3493, 3497, 3503, 3504, 3520, 3521, 3522, 3525,
232175
- 3526, 3532, 3533, 3534, 3537, 3538, 3539, 3542, 3543, 3544,
232176
- 3547, 3548, 3551, 3553, 3558, 3559, 3562, 3570, 3571, 3572,
232177
- 3573, 3576, 3577, 7, 18, 19, 23, 24, 25, 26,
232176
+ 1815, 1820, 1828, 1836, 1844, 1852, 1870, 1878, 1886, 1894,
232177
+ 1902, 1910, 1914, 1918, 1922, 1930, 1938, 1954, 1962, 1970,
232178
+ 1978, 1986, 1994, 2002, 2006, 2010, 2014, 2018, 2026, 2034,
232179
+ 2042, 2050, 2070, 2092, 2103, 2110, 2124, 2140, 2142, 2144,
232180
+ 2146, 2148, 2150, 2152, 2154, 2156, 2158, 2160, 2162, 2164,
232181
+ 2166, 2168, 2170, 2172, 2174, 2176, 2178, 2182, 2186, 2190,
232182
+ 2204, 2205, 2206, 2213, 2225, 2240, 2252, 2254, 2266, 2277,
232183
+ 2301, 2312, 2321, 2325, 2332, 2340, 2348, 2359, 2367, 2395,
232184
+ 2431, 2442, 2443, 2450, 2456, 2460, 2464, 2468, 2472, 2476,
232185
+ 2480, 2484, 2488, 2492, 2496, 2500, 2504, 2508, 2512, 2516,
232186
+ 2518, 2520, 2524, 2533, 2538, 2545, 2560, 2567, 2571, 2575,
232187
+ 2579, 2583, 2597, 2598, 2602, 2603, 2607, 2608, 2615, 2616,
232188
+ 2620, 2621, 2626, 2634, 2636, 2650, 2653, 2680, 2681, 2684,
232189
+ 2685, 2696, 2702, 2709, 2718, 2735, 2780, 2788, 2796, 2804,
232190
+ 2812, 2833, 2834, 2837, 2838, 2842, 2852, 2853, 2855, 2856,
232191
+ 2857, 2860, 2861, 2864, 2865, 2866, 2867, 2868, 2869, 2870,
232192
+ 2871, 2872, 2873, 2874, 2875, 2878, 2880, 2885, 2887, 2892,
232193
+ 2894, 2896, 2898, 2900, 2902, 2904, 2906, 2920, 2922, 2926,
232194
+ 2930, 2937, 2942, 2949, 2953, 2959, 2963, 2972, 2983, 2984,
232195
+ 2988, 2992, 2999, 3000, 3001, 3002, 3003, 3004, 3005, 3006,
232196
+ 3007, 3008, 3018, 3022, 3029, 3036, 3037, 3053, 3057, 3062,
232197
+ 3066, 3081, 3086, 3090, 3093, 3096, 3097, 3098, 3101, 3108,
232198
+ 3118, 3132, 3133, 3137, 3148, 3149, 3152, 3153, 3156, 3160,
232199
+ 3167, 3171, 3179, 3190, 3191, 3195, 3196, 3200, 3201, 3204,
232200
+ 3205, 3215, 3216, 3220, 3221, 3224, 3240, 3248, 3256, 3271,
232201
+ 3289, 3290, 3293, 3294, 3297, 3301, 3302, 3305, 3306, 3307,
232202
+ 3317, 3318, 3329, 3333, 3360, 3362, 3367, 3369, 3379, 3382,
232203
+ 3393, 3397, 3401, 3413, 3417, 3426, 3433, 3471, 3475, 3479,
232204
+ 3483, 3487, 3491, 3495, 3501, 3502, 3518, 3519, 3520, 3523,
232205
+ 3524, 3530, 3531, 3532, 3535, 3536, 3537, 3540, 3541, 3542,
232206
+ 3545, 3546, 3549, 3551, 3556, 3557, 3560, 3568, 3569, 3570,
232207
+ 3571, 3574, 3575, 7, 18, 19, 23, 24, 25, 26,
232178
232208
  7, 16, 34, 41, 46, 47, 48, 49, 8, 33,
232179
232209
  62, 66, 67, 72, 73, 78, 79, 83, 84, 89,
232180
232210
  90, 7, 16, 25, 34, 43, 52, 5, 11, 7,
@@ -250993,16 +251023,15 @@ yyreduce:
250993
251023
  case 779:
250994
251024
  #line 1809 "third_party/libpg_query/grammar/statements/select.y"
250995
251025
  {
250996
- PGFuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
250997
- list_make2((yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node)),
251026
+ PGFuncCall *n = makeFuncCall(SystemFuncName("ilike_escape"),
251027
+ list_make3((yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node)),
250998
251028
  (yylsp[(2) - (5)]));
250999
- (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_ILIKE, "~~*",
251000
- (yyvsp[(1) - (5)].node), (PGNode *) n, (yylsp[(2) - (5)]));
251029
+ (yyval.node) = (PGNode *) n;
251001
251030
  ;}
251002
251031
  break;
251003
251032
 
251004
251033
  case 780:
251005
- #line 1817 "third_party/libpg_query/grammar/statements/select.y"
251034
+ #line 1816 "third_party/libpg_query/grammar/statements/select.y"
251006
251035
  {
251007
251036
  (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_ILIKE, "!~~*",
251008
251037
  (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node), (yylsp[(2) - (4)]));
@@ -251010,18 +251039,17 @@ yyreduce:
251010
251039
  break;
251011
251040
 
251012
251041
  case 781:
251013
- #line 1822 "third_party/libpg_query/grammar/statements/select.y"
251042
+ #line 1821 "third_party/libpg_query/grammar/statements/select.y"
251014
251043
  {
251015
- PGFuncCall *n = makeFuncCall(SystemFuncName("not_like_escape"),
251016
- list_make2((yyvsp[(4) - (6)].node), (yyvsp[(6) - (6)].node)),
251044
+ PGFuncCall *n = makeFuncCall(SystemFuncName("not_ilike_escape"),
251045
+ list_make3((yyvsp[(1) - (6)].node), (yyvsp[(4) - (6)].node), (yyvsp[(6) - (6)].node)),
251017
251046
  (yylsp[(2) - (6)]));
251018
- (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_ILIKE, "!~~*",
251019
- (yyvsp[(1) - (6)].node), (PGNode *) n, (yylsp[(2) - (6)]));
251047
+ (yyval.node) = (PGNode *) n;
251020
251048
  ;}
251021
251049
  break;
251022
251050
 
251023
251051
  case 782:
251024
- #line 1831 "third_party/libpg_query/grammar/statements/select.y"
251052
+ #line 1829 "third_party/libpg_query/grammar/statements/select.y"
251025
251053
  {
251026
251054
  PGFuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
251027
251055
  list_make2((yyvsp[(4) - (4)].node), makeNullAConst(-1)),
@@ -251032,7 +251060,7 @@ yyreduce:
251032
251060
  break;
251033
251061
 
251034
251062
  case 783:
251035
- #line 1839 "third_party/libpg_query/grammar/statements/select.y"
251063
+ #line 1837 "third_party/libpg_query/grammar/statements/select.y"
251036
251064
  {
251037
251065
  PGFuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
251038
251066
  list_make2((yyvsp[(4) - (6)].node), (yyvsp[(6) - (6)].node)),
@@ -251043,7 +251071,7 @@ yyreduce:
251043
251071
  break;
251044
251072
 
251045
251073
  case 784:
251046
- #line 1847 "third_party/libpg_query/grammar/statements/select.y"
251074
+ #line 1845 "third_party/libpg_query/grammar/statements/select.y"
251047
251075
  {
251048
251076
  PGFuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
251049
251077
  list_make2((yyvsp[(5) - (5)].node), makeNullAConst(-1)),
@@ -251054,7 +251082,7 @@ yyreduce:
251054
251082
  break;
251055
251083
 
251056
251084
  case 785:
251057
- #line 1855 "third_party/libpg_query/grammar/statements/select.y"
251085
+ #line 1853 "third_party/libpg_query/grammar/statements/select.y"
251058
251086
  {
251059
251087
  PGFuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
251060
251088
  list_make2((yyvsp[(5) - (7)].node), (yyvsp[(7) - (7)].node)),
@@ -251065,7 +251093,7 @@ yyreduce:
251065
251093
  break;
251066
251094
 
251067
251095
  case 786:
251068
- #line 1873 "third_party/libpg_query/grammar/statements/select.y"
251096
+ #line 1871 "third_party/libpg_query/grammar/statements/select.y"
251069
251097
  {
251070
251098
  PGNullTest *n = makeNode(PGNullTest);
251071
251099
  n->arg = (PGExpr *) (yyvsp[(1) - (3)].node);
@@ -251076,7 +251104,7 @@ yyreduce:
251076
251104
  break;
251077
251105
 
251078
251106
  case 787:
251079
- #line 1881 "third_party/libpg_query/grammar/statements/select.y"
251107
+ #line 1879 "third_party/libpg_query/grammar/statements/select.y"
251080
251108
  {
251081
251109
  PGNullTest *n = makeNode(PGNullTest);
251082
251110
  n->arg = (PGExpr *) (yyvsp[(1) - (2)].node);
@@ -251087,7 +251115,7 @@ yyreduce:
251087
251115
  break;
251088
251116
 
251089
251117
  case 788:
251090
- #line 1889 "third_party/libpg_query/grammar/statements/select.y"
251118
+ #line 1887 "third_party/libpg_query/grammar/statements/select.y"
251091
251119
  {
251092
251120
  PGNullTest *n = makeNode(PGNullTest);
251093
251121
  n->arg = (PGExpr *) (yyvsp[(1) - (4)].node);
@@ -251098,7 +251126,7 @@ yyreduce:
251098
251126
  break;
251099
251127
 
251100
251128
  case 789:
251101
- #line 1897 "third_party/libpg_query/grammar/statements/select.y"
251129
+ #line 1895 "third_party/libpg_query/grammar/statements/select.y"
251102
251130
  {
251103
251131
  PGNullTest *n = makeNode(PGNullTest);
251104
251132
  n->arg = (PGExpr *) (yyvsp[(1) - (3)].node);
@@ -251109,7 +251137,7 @@ yyreduce:
251109
251137
  break;
251110
251138
 
251111
251139
  case 790:
251112
- #line 1905 "third_party/libpg_query/grammar/statements/select.y"
251140
+ #line 1903 "third_party/libpg_query/grammar/statements/select.y"
251113
251141
  {
251114
251142
  PGNullTest *n = makeNode(PGNullTest);
251115
251143
  n->arg = (PGExpr *) (yyvsp[(1) - (2)].node);
@@ -251120,7 +251148,7 @@ yyreduce:
251120
251148
  break;
251121
251149
 
251122
251150
  case 791:
251123
- #line 1912 "third_party/libpg_query/grammar/statements/select.y"
251151
+ #line 1910 "third_party/libpg_query/grammar/statements/select.y"
251124
251152
  {
251125
251153
  PGFuncCall *n = makeFuncCall(SystemFuncName("row"), (yyvsp[(1) - (1)].list), (yylsp[(1) - (1)]));
251126
251154
  (yyval.node) = (PGNode *) n;
@@ -251128,7 +251156,7 @@ yyreduce:
251128
251156
  break;
251129
251157
 
251130
251158
  case 792:
251131
- #line 1916 "third_party/libpg_query/grammar/statements/select.y"
251159
+ #line 1914 "third_party/libpg_query/grammar/statements/select.y"
251132
251160
  {
251133
251161
  PGFuncCall *n = makeFuncCall(SystemFuncName("struct_pack"), (yyvsp[(2) - (3)].list), (yylsp[(2) - (3)]));
251134
251162
  (yyval.node) = (PGNode *) n;
@@ -251136,7 +251164,7 @@ yyreduce:
251136
251164
  break;
251137
251165
 
251138
251166
  case 793:
251139
- #line 1920 "third_party/libpg_query/grammar/statements/select.y"
251167
+ #line 1918 "third_party/libpg_query/grammar/statements/select.y"
251140
251168
  {
251141
251169
  PGFuncCall *n = makeFuncCall(SystemFuncName("list_value"), (yyvsp[(2) - (3)].list), (yylsp[(2) - (3)]));
251142
251170
  (yyval.node) = (PGNode *) n;
@@ -251144,7 +251172,7 @@ yyreduce:
251144
251172
  break;
251145
251173
 
251146
251174
  case 794:
251147
- #line 1925 "third_party/libpg_query/grammar/statements/select.y"
251175
+ #line 1923 "third_party/libpg_query/grammar/statements/select.y"
251148
251176
  {
251149
251177
  PGLambdaFunction *n = makeNode(PGLambdaFunction);
251150
251178
  n->parameters = (yyvsp[(1) - (3)].list);
@@ -251155,7 +251183,7 @@ yyreduce:
251155
251183
  break;
251156
251184
 
251157
251185
  case 795:
251158
- #line 1933 "third_party/libpg_query/grammar/statements/select.y"
251186
+ #line 1931 "third_party/libpg_query/grammar/statements/select.y"
251159
251187
  {
251160
251188
  PGLambdaFunction *n = makeNode(PGLambdaFunction);
251161
251189
  n->parameters = list_make1((yyvsp[(1) - (3)].node));
@@ -251166,7 +251194,7 @@ yyreduce:
251166
251194
  break;
251167
251195
 
251168
251196
  case 796:
251169
- #line 1941 "third_party/libpg_query/grammar/statements/select.y"
251197
+ #line 1939 "third_party/libpg_query/grammar/statements/select.y"
251170
251198
  {
251171
251199
  if (list_length((yyvsp[(1) - (3)].list)) != 2)
251172
251200
  ereport(ERROR,
@@ -251185,7 +251213,7 @@ yyreduce:
251185
251213
  break;
251186
251214
 
251187
251215
  case 797:
251188
- #line 1957 "third_party/libpg_query/grammar/statements/select.y"
251216
+ #line 1955 "third_party/libpg_query/grammar/statements/select.y"
251189
251217
  {
251190
251218
  PGBooleanTest *b = makeNode(PGBooleanTest);
251191
251219
  b->arg = (PGExpr *) (yyvsp[(1) - (3)].node);
@@ -251196,7 +251224,7 @@ yyreduce:
251196
251224
  break;
251197
251225
 
251198
251226
  case 798:
251199
- #line 1965 "third_party/libpg_query/grammar/statements/select.y"
251227
+ #line 1963 "third_party/libpg_query/grammar/statements/select.y"
251200
251228
  {
251201
251229
  PGBooleanTest *b = makeNode(PGBooleanTest);
251202
251230
  b->arg = (PGExpr *) (yyvsp[(1) - (4)].node);
@@ -251207,7 +251235,7 @@ yyreduce:
251207
251235
  break;
251208
251236
 
251209
251237
  case 799:
251210
- #line 1973 "third_party/libpg_query/grammar/statements/select.y"
251238
+ #line 1971 "third_party/libpg_query/grammar/statements/select.y"
251211
251239
  {
251212
251240
  PGBooleanTest *b = makeNode(PGBooleanTest);
251213
251241
  b->arg = (PGExpr *) (yyvsp[(1) - (3)].node);
@@ -251218,7 +251246,7 @@ yyreduce:
251218
251246
  break;
251219
251247
 
251220
251248
  case 800:
251221
- #line 1981 "third_party/libpg_query/grammar/statements/select.y"
251249
+ #line 1979 "third_party/libpg_query/grammar/statements/select.y"
251222
251250
  {
251223
251251
  PGBooleanTest *b = makeNode(PGBooleanTest);
251224
251252
  b->arg = (PGExpr *) (yyvsp[(1) - (4)].node);
@@ -251229,7 +251257,7 @@ yyreduce:
251229
251257
  break;
251230
251258
 
251231
251259
  case 801:
251232
- #line 1989 "third_party/libpg_query/grammar/statements/select.y"
251260
+ #line 1987 "third_party/libpg_query/grammar/statements/select.y"
251233
251261
  {
251234
251262
  PGBooleanTest *b = makeNode(PGBooleanTest);
251235
251263
  b->arg = (PGExpr *) (yyvsp[(1) - (3)].node);
@@ -251240,7 +251268,7 @@ yyreduce:
251240
251268
  break;
251241
251269
 
251242
251270
  case 802:
251243
- #line 1997 "third_party/libpg_query/grammar/statements/select.y"
251271
+ #line 1995 "third_party/libpg_query/grammar/statements/select.y"
251244
251272
  {
251245
251273
  PGBooleanTest *b = makeNode(PGBooleanTest);
251246
251274
  b->arg = (PGExpr *) (yyvsp[(1) - (4)].node);
@@ -251251,35 +251279,35 @@ yyreduce:
251251
251279
  break;
251252
251280
 
251253
251281
  case 803:
251254
- #line 2005 "third_party/libpg_query/grammar/statements/select.y"
251282
+ #line 2003 "third_party/libpg_query/grammar/statements/select.y"
251255
251283
  {
251256
251284
  (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_DISTINCT, "=", (yyvsp[(1) - (5)].node), (yyvsp[(5) - (5)].node), (yylsp[(2) - (5)]));
251257
251285
  ;}
251258
251286
  break;
251259
251287
 
251260
251288
  case 804:
251261
- #line 2009 "third_party/libpg_query/grammar/statements/select.y"
251289
+ #line 2007 "third_party/libpg_query/grammar/statements/select.y"
251262
251290
  {
251263
251291
  (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_NOT_DISTINCT, "=", (yyvsp[(1) - (6)].node), (yyvsp[(6) - (6)].node), (yylsp[(2) - (6)]));
251264
251292
  ;}
251265
251293
  break;
251266
251294
 
251267
251295
  case 805:
251268
- #line 2013 "third_party/libpg_query/grammar/statements/select.y"
251296
+ #line 2011 "third_party/libpg_query/grammar/statements/select.y"
251269
251297
  {
251270
251298
  (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OF, "=", (yyvsp[(1) - (6)].node), (PGNode *) (yyvsp[(5) - (6)].list), (yylsp[(2) - (6)]));
251271
251299
  ;}
251272
251300
  break;
251273
251301
 
251274
251302
  case 806:
251275
- #line 2017 "third_party/libpg_query/grammar/statements/select.y"
251303
+ #line 2015 "third_party/libpg_query/grammar/statements/select.y"
251276
251304
  {
251277
251305
  (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OF, "<>", (yyvsp[(1) - (7)].node), (PGNode *) (yyvsp[(6) - (7)].list), (yylsp[(2) - (7)]));
251278
251306
  ;}
251279
251307
  break;
251280
251308
 
251281
251309
  case 807:
251282
- #line 2021 "third_party/libpg_query/grammar/statements/select.y"
251310
+ #line 2019 "third_party/libpg_query/grammar/statements/select.y"
251283
251311
  {
251284
251312
  (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_BETWEEN,
251285
251313
  "BETWEEN",
@@ -251290,7 +251318,7 @@ yyreduce:
251290
251318
  break;
251291
251319
 
251292
251320
  case 808:
251293
- #line 2029 "third_party/libpg_query/grammar/statements/select.y"
251321
+ #line 2027 "third_party/libpg_query/grammar/statements/select.y"
251294
251322
  {
251295
251323
  (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_NOT_BETWEEN,
251296
251324
  "NOT BETWEEN",
@@ -251301,7 +251329,7 @@ yyreduce:
251301
251329
  break;
251302
251330
 
251303
251331
  case 809:
251304
- #line 2037 "third_party/libpg_query/grammar/statements/select.y"
251332
+ #line 2035 "third_party/libpg_query/grammar/statements/select.y"
251305
251333
  {
251306
251334
  (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_BETWEEN_SYM,
251307
251335
  "BETWEEN SYMMETRIC",
@@ -251312,7 +251340,7 @@ yyreduce:
251312
251340
  break;
251313
251341
 
251314
251342
  case 810:
251315
- #line 2045 "third_party/libpg_query/grammar/statements/select.y"
251343
+ #line 2043 "third_party/libpg_query/grammar/statements/select.y"
251316
251344
  {
251317
251345
  (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_NOT_BETWEEN_SYM,
251318
251346
  "NOT BETWEEN SYMMETRIC",
@@ -251323,7 +251351,7 @@ yyreduce:
251323
251351
  break;
251324
251352
 
251325
251353
  case 811:
251326
- #line 2053 "third_party/libpg_query/grammar/statements/select.y"
251354
+ #line 2051 "third_party/libpg_query/grammar/statements/select.y"
251327
251355
  {
251328
251356
  /* in_expr returns a PGSubLink or a list of a_exprs */
251329
251357
  if (IsA((yyvsp[(3) - (3)].node), PGSubLink))
@@ -251346,7 +251374,7 @@ yyreduce:
251346
251374
  break;
251347
251375
 
251348
251376
  case 812:
251349
- #line 2073 "third_party/libpg_query/grammar/statements/select.y"
251377
+ #line 2071 "third_party/libpg_query/grammar/statements/select.y"
251350
251378
  {
251351
251379
  /* in_expr returns a PGSubLink or a list of a_exprs */
251352
251380
  if (IsA((yyvsp[(4) - (4)].node), PGSubLink))
@@ -251371,7 +251399,7 @@ yyreduce:
251371
251399
  break;
251372
251400
 
251373
251401
  case 813:
251374
- #line 2095 "third_party/libpg_query/grammar/statements/select.y"
251402
+ #line 2093 "third_party/libpg_query/grammar/statements/select.y"
251375
251403
  {
251376
251404
  PGSubLink *n = makeNode(PGSubLink);
251377
251405
  n->subLinkType = (yyvsp[(3) - (4)].subquerytype);
@@ -251385,7 +251413,7 @@ yyreduce:
251385
251413
  break;
251386
251414
 
251387
251415
  case 814:
251388
- #line 2106 "third_party/libpg_query/grammar/statements/select.y"
251416
+ #line 2104 "third_party/libpg_query/grammar/statements/select.y"
251389
251417
  {
251390
251418
  if ((yyvsp[(3) - (6)].subquerytype) == PG_ANY_SUBLINK)
251391
251419
  (yyval.node) = (PGNode *) makeAExpr(PG_AEXPR_OP_ANY, (yyvsp[(2) - (6)].list), (yyvsp[(1) - (6)].node), (yyvsp[(5) - (6)].node), (yylsp[(2) - (6)]));
@@ -251395,7 +251423,7 @@ yyreduce:
251395
251423
  break;
251396
251424
 
251397
251425
  case 815:
251398
- #line 2113 "third_party/libpg_query/grammar/statements/select.y"
251426
+ #line 2111 "third_party/libpg_query/grammar/statements/select.y"
251399
251427
  {
251400
251428
  /*
251401
251429
  * The SQL spec only allows DEFAULT in "contextually typed
@@ -251412,7 +251440,7 @@ yyreduce:
251412
251440
  break;
251413
251441
 
251414
251442
  case 816:
251415
- #line 2126 "third_party/libpg_query/grammar/statements/select.y"
251443
+ #line 2124 "third_party/libpg_query/grammar/statements/select.y"
251416
251444
  {
251417
251445
  PGList *func_name = list_make1(makeString("construct_array"));
251418
251446
  PGFuncCall *n = makeFuncCall(func_name, (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)]));
@@ -251421,140 +251449,140 @@ yyreduce:
251421
251449
  break;
251422
251450
 
251423
251451
  case 817:
251424
- #line 2143 "third_party/libpg_query/grammar/statements/select.y"
251452
+ #line 2141 "third_party/libpg_query/grammar/statements/select.y"
251425
251453
  { (yyval.node) = (yyvsp[(1) - (1)].node); ;}
251426
251454
  break;
251427
251455
 
251428
251456
  case 818:
251429
- #line 2145 "third_party/libpg_query/grammar/statements/select.y"
251457
+ #line 2143 "third_party/libpg_query/grammar/statements/select.y"
251430
251458
  { (yyval.node) = makeTypeCast((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].typnam), 0, (yylsp[(2) - (3)])); ;}
251431
251459
  break;
251432
251460
 
251433
251461
  case 819:
251434
- #line 2147 "third_party/libpg_query/grammar/statements/select.y"
251462
+ #line 2145 "third_party/libpg_query/grammar/statements/select.y"
251435
251463
  { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, "+", NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
251436
251464
  break;
251437
251465
 
251438
251466
  case 820:
251439
- #line 2149 "third_party/libpg_query/grammar/statements/select.y"
251467
+ #line 2147 "third_party/libpg_query/grammar/statements/select.y"
251440
251468
  { (yyval.node) = doNegate((yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
251441
251469
  break;
251442
251470
 
251443
251471
  case 821:
251444
- #line 2151 "third_party/libpg_query/grammar/statements/select.y"
251472
+ #line 2149 "third_party/libpg_query/grammar/statements/select.y"
251445
251473
  { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, "+", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
251446
251474
  break;
251447
251475
 
251448
251476
  case 822:
251449
- #line 2153 "third_party/libpg_query/grammar/statements/select.y"
251477
+ #line 2151 "third_party/libpg_query/grammar/statements/select.y"
251450
251478
  { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, "-", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
251451
251479
  break;
251452
251480
 
251453
251481
  case 823:
251454
- #line 2155 "third_party/libpg_query/grammar/statements/select.y"
251482
+ #line 2153 "third_party/libpg_query/grammar/statements/select.y"
251455
251483
  { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, "*", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
251456
251484
  break;
251457
251485
 
251458
251486
  case 824:
251459
- #line 2157 "third_party/libpg_query/grammar/statements/select.y"
251487
+ #line 2155 "third_party/libpg_query/grammar/statements/select.y"
251460
251488
  { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, "/", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
251461
251489
  break;
251462
251490
 
251463
251491
  case 825:
251464
- #line 2159 "third_party/libpg_query/grammar/statements/select.y"
251492
+ #line 2157 "third_party/libpg_query/grammar/statements/select.y"
251465
251493
  { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, "%", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
251466
251494
  break;
251467
251495
 
251468
251496
  case 826:
251469
- #line 2161 "third_party/libpg_query/grammar/statements/select.y"
251497
+ #line 2159 "third_party/libpg_query/grammar/statements/select.y"
251470
251498
  { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, "^", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
251471
251499
  break;
251472
251500
 
251473
251501
  case 827:
251474
- #line 2163 "third_party/libpg_query/grammar/statements/select.y"
251502
+ #line 2161 "third_party/libpg_query/grammar/statements/select.y"
251475
251503
  { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, "<", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
251476
251504
  break;
251477
251505
 
251478
251506
  case 828:
251479
- #line 2165 "third_party/libpg_query/grammar/statements/select.y"
251507
+ #line 2163 "third_party/libpg_query/grammar/statements/select.y"
251480
251508
  { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, ">", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
251481
251509
  break;
251482
251510
 
251483
251511
  case 829:
251484
- #line 2167 "third_party/libpg_query/grammar/statements/select.y"
251512
+ #line 2165 "third_party/libpg_query/grammar/statements/select.y"
251485
251513
  { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, "=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
251486
251514
  break;
251487
251515
 
251488
251516
  case 830:
251489
- #line 2169 "third_party/libpg_query/grammar/statements/select.y"
251517
+ #line 2167 "third_party/libpg_query/grammar/statements/select.y"
251490
251518
  { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, "<=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
251491
251519
  break;
251492
251520
 
251493
251521
  case 831:
251494
- #line 2171 "third_party/libpg_query/grammar/statements/select.y"
251522
+ #line 2169 "third_party/libpg_query/grammar/statements/select.y"
251495
251523
  { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, ">=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
251496
251524
  break;
251497
251525
 
251498
251526
  case 832:
251499
- #line 2173 "third_party/libpg_query/grammar/statements/select.y"
251527
+ #line 2171 "third_party/libpg_query/grammar/statements/select.y"
251500
251528
  { (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OP, "<>", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
251501
251529
  break;
251502
251530
 
251503
251531
  case 833:
251504
- #line 2175 "third_party/libpg_query/grammar/statements/select.y"
251532
+ #line 2173 "third_party/libpg_query/grammar/statements/select.y"
251505
251533
  { (yyval.node) = (PGNode *) makeAExpr(PG_AEXPR_OP, (yyvsp[(2) - (3)].list), (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
251506
251534
  break;
251507
251535
 
251508
251536
  case 834:
251509
- #line 2177 "third_party/libpg_query/grammar/statements/select.y"
251537
+ #line 2175 "third_party/libpg_query/grammar/statements/select.y"
251510
251538
  { (yyval.node) = (PGNode *) makeAExpr(PG_AEXPR_OP, (yyvsp[(1) - (2)].list), NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
251511
251539
  break;
251512
251540
 
251513
251541
  case 835:
251514
- #line 2179 "third_party/libpg_query/grammar/statements/select.y"
251542
+ #line 2177 "third_party/libpg_query/grammar/statements/select.y"
251515
251543
  { (yyval.node) = (PGNode *) makeAExpr(PG_AEXPR_OP, (yyvsp[(2) - (2)].list), (yyvsp[(1) - (2)].node), NULL, (yylsp[(2) - (2)])); ;}
251516
251544
  break;
251517
251545
 
251518
251546
  case 836:
251519
- #line 2181 "third_party/libpg_query/grammar/statements/select.y"
251547
+ #line 2179 "third_party/libpg_query/grammar/statements/select.y"
251520
251548
  {
251521
251549
  (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_DISTINCT, "=", (yyvsp[(1) - (5)].node), (yyvsp[(5) - (5)].node), (yylsp[(2) - (5)]));
251522
251550
  ;}
251523
251551
  break;
251524
251552
 
251525
251553
  case 837:
251526
- #line 2185 "third_party/libpg_query/grammar/statements/select.y"
251554
+ #line 2183 "third_party/libpg_query/grammar/statements/select.y"
251527
251555
  {
251528
251556
  (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_NOT_DISTINCT, "=", (yyvsp[(1) - (6)].node), (yyvsp[(6) - (6)].node), (yylsp[(2) - (6)]));
251529
251557
  ;}
251530
251558
  break;
251531
251559
 
251532
251560
  case 838:
251533
- #line 2189 "third_party/libpg_query/grammar/statements/select.y"
251561
+ #line 2187 "third_party/libpg_query/grammar/statements/select.y"
251534
251562
  {
251535
251563
  (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OF, "=", (yyvsp[(1) - (6)].node), (PGNode *) (yyvsp[(5) - (6)].list), (yylsp[(2) - (6)]));
251536
251564
  ;}
251537
251565
  break;
251538
251566
 
251539
251567
  case 839:
251540
- #line 2193 "third_party/libpg_query/grammar/statements/select.y"
251568
+ #line 2191 "third_party/libpg_query/grammar/statements/select.y"
251541
251569
  {
251542
251570
  (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_OF, "<>", (yyvsp[(1) - (7)].node), (PGNode *) (yyvsp[(6) - (7)].list), (yylsp[(2) - (7)]));
251543
251571
  ;}
251544
251572
  break;
251545
251573
 
251546
251574
  case 840:
251547
- #line 2206 "third_party/libpg_query/grammar/statements/select.y"
251575
+ #line 2204 "third_party/libpg_query/grammar/statements/select.y"
251548
251576
  { (yyval.node) = (yyvsp[(1) - (1)].node); ;}
251549
251577
  break;
251550
251578
 
251551
251579
  case 841:
251552
- #line 2207 "third_party/libpg_query/grammar/statements/select.y"
251580
+ #line 2205 "third_party/libpg_query/grammar/statements/select.y"
251553
251581
  { (yyval.node) = (yyvsp[(1) - (1)].node); ;}
251554
251582
  break;
251555
251583
 
251556
251584
  case 842:
251557
- #line 2209 "third_party/libpg_query/grammar/statements/select.y"
251585
+ #line 2207 "third_party/libpg_query/grammar/statements/select.y"
251558
251586
  {
251559
251587
  PGPositionalReference *n = makeNode(PGPositionalReference);
251560
251588
  n->position = (yyvsp[(2) - (2)].ival);
@@ -251564,7 +251592,7 @@ yyreduce:
251564
251592
  break;
251565
251593
 
251566
251594
  case 843:
251567
- #line 2216 "third_party/libpg_query/grammar/statements/select.y"
251595
+ #line 2214 "third_party/libpg_query/grammar/statements/select.y"
251568
251596
  {
251569
251597
  if ((yyvsp[(2) - (2)].list))
251570
251598
  {
@@ -251579,7 +251607,7 @@ yyreduce:
251579
251607
  break;
251580
251608
 
251581
251609
  case 844:
251582
- #line 2228 "third_party/libpg_query/grammar/statements/select.y"
251610
+ #line 2226 "third_party/libpg_query/grammar/statements/select.y"
251583
251611
  {
251584
251612
  PGParamRef *p = makeNode(PGParamRef);
251585
251613
  p->number = (yyvsp[(1) - (2)].ival);
@@ -251597,7 +251625,7 @@ yyreduce:
251597
251625
  break;
251598
251626
 
251599
251627
  case 845:
251600
- #line 2243 "third_party/libpg_query/grammar/statements/select.y"
251628
+ #line 2241 "third_party/libpg_query/grammar/statements/select.y"
251601
251629
  {
251602
251630
  if ((yyvsp[(4) - (4)].list))
251603
251631
  {
@@ -251612,12 +251640,12 @@ yyreduce:
251612
251640
  break;
251613
251641
 
251614
251642
  case 846:
251615
- #line 2255 "third_party/libpg_query/grammar/statements/select.y"
251643
+ #line 2253 "third_party/libpg_query/grammar/statements/select.y"
251616
251644
  { (yyval.node) = (yyvsp[(1) - (1)].node); ;}
251617
251645
  break;
251618
251646
 
251619
251647
  case 847:
251620
- #line 2257 "third_party/libpg_query/grammar/statements/select.y"
251648
+ #line 2255 "third_party/libpg_query/grammar/statements/select.y"
251621
251649
  {
251622
251650
  if ((yyvsp[(2) - (2)].list)) {
251623
251651
  PGAIndirection *n = makeNode(PGAIndirection);
@@ -251632,7 +251660,7 @@ yyreduce:
251632
251660
  break;
251633
251661
 
251634
251662
  case 848:
251635
- #line 2269 "third_party/libpg_query/grammar/statements/select.y"
251663
+ #line 2267 "third_party/libpg_query/grammar/statements/select.y"
251636
251664
  {
251637
251665
  PGSubLink *n = makeNode(PGSubLink);
251638
251666
  n->subLinkType = PG_EXPR_SUBLINK;
@@ -251646,7 +251674,7 @@ yyreduce:
251646
251674
  break;
251647
251675
 
251648
251676
  case 849:
251649
- #line 2280 "third_party/libpg_query/grammar/statements/select.y"
251677
+ #line 2278 "third_party/libpg_query/grammar/statements/select.y"
251650
251678
  {
251651
251679
  /*
251652
251680
  * Because the select_with_parens nonterminal is designed
@@ -251673,7 +251701,7 @@ yyreduce:
251673
251701
  break;
251674
251702
 
251675
251703
  case 850:
251676
- #line 2304 "third_party/libpg_query/grammar/statements/select.y"
251704
+ #line 2302 "third_party/libpg_query/grammar/statements/select.y"
251677
251705
  {
251678
251706
  PGSubLink *n = makeNode(PGSubLink);
251679
251707
  n->subLinkType = PG_EXISTS_SUBLINK;
@@ -251687,7 +251715,7 @@ yyreduce:
251687
251715
  break;
251688
251716
 
251689
251717
  case 851:
251690
- #line 2315 "third_party/libpg_query/grammar/statements/select.y"
251718
+ #line 2313 "third_party/libpg_query/grammar/statements/select.y"
251691
251719
  {
251692
251720
  PGGroupingFunc *g = makeNode(PGGroupingFunc);
251693
251721
  g->args = (yyvsp[(3) - (4)].list);
@@ -251697,14 +251725,14 @@ yyreduce:
251697
251725
  break;
251698
251726
 
251699
251727
  case 852:
251700
- #line 2324 "third_party/libpg_query/grammar/statements/select.y"
251728
+ #line 2322 "third_party/libpg_query/grammar/statements/select.y"
251701
251729
  {
251702
251730
  (yyval.node) = (PGNode *) makeFuncCall((yyvsp[(1) - (3)].list), NIL, (yylsp[(1) - (3)]));
251703
251731
  ;}
251704
251732
  break;
251705
251733
 
251706
251734
  case 853:
251707
- #line 2328 "third_party/libpg_query/grammar/statements/select.y"
251735
+ #line 2326 "third_party/libpg_query/grammar/statements/select.y"
251708
251736
  {
251709
251737
  PGFuncCall *n = makeFuncCall((yyvsp[(1) - (6)].list), (yyvsp[(3) - (6)].list), (yylsp[(1) - (6)]));
251710
251738
  n->agg_order = (yyvsp[(4) - (6)].list);
@@ -251714,7 +251742,7 @@ yyreduce:
251714
251742
  break;
251715
251743
 
251716
251744
  case 854:
251717
- #line 2335 "third_party/libpg_query/grammar/statements/select.y"
251745
+ #line 2333 "third_party/libpg_query/grammar/statements/select.y"
251718
251746
  {
251719
251747
  PGFuncCall *n = makeFuncCall((yyvsp[(1) - (7)].list), list_make1((yyvsp[(4) - (7)].node)), (yylsp[(1) - (7)]));
251720
251748
  n->func_variadic = true;
@@ -251725,7 +251753,7 @@ yyreduce:
251725
251753
  break;
251726
251754
 
251727
251755
  case 855:
251728
- #line 2343 "third_party/libpg_query/grammar/statements/select.y"
251756
+ #line 2341 "third_party/libpg_query/grammar/statements/select.y"
251729
251757
  {
251730
251758
  PGFuncCall *n = makeFuncCall((yyvsp[(1) - (9)].list), lappend((yyvsp[(3) - (9)].list), (yyvsp[(6) - (9)].node)), (yylsp[(1) - (9)]));
251731
251759
  n->func_variadic = true;
@@ -251736,7 +251764,7 @@ yyreduce:
251736
251764
  break;
251737
251765
 
251738
251766
  case 856:
251739
- #line 2351 "third_party/libpg_query/grammar/statements/select.y"
251767
+ #line 2349 "third_party/libpg_query/grammar/statements/select.y"
251740
251768
  {
251741
251769
  PGFuncCall *n = makeFuncCall((yyvsp[(1) - (7)].list), (yyvsp[(4) - (7)].list), (yylsp[(1) - (7)]));
251742
251770
  n->agg_order = (yyvsp[(5) - (7)].list);
@@ -251750,7 +251778,7 @@ yyreduce:
251750
251778
  break;
251751
251779
 
251752
251780
  case 857:
251753
- #line 2362 "third_party/libpg_query/grammar/statements/select.y"
251781
+ #line 2360 "third_party/libpg_query/grammar/statements/select.y"
251754
251782
  {
251755
251783
  PGFuncCall *n = makeFuncCall((yyvsp[(1) - (7)].list), (yyvsp[(4) - (7)].list), (yylsp[(1) - (7)]));
251756
251784
  n->agg_order = (yyvsp[(5) - (7)].list);
@@ -251761,7 +251789,7 @@ yyreduce:
251761
251789
  break;
251762
251790
 
251763
251791
  case 858:
251764
- #line 2370 "third_party/libpg_query/grammar/statements/select.y"
251792
+ #line 2368 "third_party/libpg_query/grammar/statements/select.y"
251765
251793
  {
251766
251794
  /*
251767
251795
  * We consider AGGREGATE(*) to invoke a parameterless
@@ -251780,7 +251808,7 @@ yyreduce:
251780
251808
  break;
251781
251809
 
251782
251810
  case 859:
251783
- #line 2398 "third_party/libpg_query/grammar/statements/select.y"
251811
+ #line 2396 "third_party/libpg_query/grammar/statements/select.y"
251784
251812
  {
251785
251813
  PGFuncCall *n = (PGFuncCall *) (yyvsp[(1) - (5)].node);
251786
251814
  /*
@@ -251819,22 +251847,22 @@ yyreduce:
251819
251847
  break;
251820
251848
 
251821
251849
  case 860:
251822
- #line 2434 "third_party/libpg_query/grammar/statements/select.y"
251850
+ #line 2432 "third_party/libpg_query/grammar/statements/select.y"
251823
251851
  { (yyval.node) = (yyvsp[(1) - (1)].node); ;}
251824
251852
  break;
251825
251853
 
251826
251854
  case 861:
251827
- #line 2444 "third_party/libpg_query/grammar/statements/select.y"
251855
+ #line 2442 "third_party/libpg_query/grammar/statements/select.y"
251828
251856
  { (yyval.node) = (yyvsp[(1) - (1)].node); ;}
251829
251857
  break;
251830
251858
 
251831
251859
  case 862:
251832
- #line 2445 "third_party/libpg_query/grammar/statements/select.y"
251860
+ #line 2443 "third_party/libpg_query/grammar/statements/select.y"
251833
251861
  { (yyval.node) = (yyvsp[(1) - (1)].node); ;}
251834
251862
  break;
251835
251863
 
251836
251864
  case 863:
251837
- #line 2453 "third_party/libpg_query/grammar/statements/select.y"
251865
+ #line 2451 "third_party/libpg_query/grammar/statements/select.y"
251838
251866
  {
251839
251867
  (yyval.node) = (PGNode *) makeFuncCall(SystemFuncName("pg_collation_for"),
251840
251868
  list_make1((yyvsp[(4) - (5)].node)),
@@ -251843,129 +251871,129 @@ yyreduce:
251843
251871
  break;
251844
251872
 
251845
251873
  case 864:
251846
- #line 2459 "third_party/libpg_query/grammar/statements/select.y"
251874
+ #line 2457 "third_party/libpg_query/grammar/statements/select.y"
251847
251875
  {
251848
251876
  (yyval.node) = makeSQLValueFunction(PG_SVFOP_CURRENT_DATE, -1, (yylsp[(1) - (1)]));
251849
251877
  ;}
251850
251878
  break;
251851
251879
 
251852
251880
  case 865:
251853
- #line 2463 "third_party/libpg_query/grammar/statements/select.y"
251881
+ #line 2461 "third_party/libpg_query/grammar/statements/select.y"
251854
251882
  {
251855
251883
  (yyval.node) = makeSQLValueFunction(PG_SVFOP_CURRENT_TIME, -1, (yylsp[(1) - (1)]));
251856
251884
  ;}
251857
251885
  break;
251858
251886
 
251859
251887
  case 866:
251860
- #line 2467 "third_party/libpg_query/grammar/statements/select.y"
251888
+ #line 2465 "third_party/libpg_query/grammar/statements/select.y"
251861
251889
  {
251862
251890
  (yyval.node) = makeSQLValueFunction(PG_SVFOP_CURRENT_TIME_N, (yyvsp[(3) - (4)].ival), (yylsp[(1) - (4)]));
251863
251891
  ;}
251864
251892
  break;
251865
251893
 
251866
251894
  case 867:
251867
- #line 2471 "third_party/libpg_query/grammar/statements/select.y"
251895
+ #line 2469 "third_party/libpg_query/grammar/statements/select.y"
251868
251896
  {
251869
251897
  (yyval.node) = makeSQLValueFunction(PG_SVFOP_CURRENT_TIMESTAMP, -1, (yylsp[(1) - (1)]));
251870
251898
  ;}
251871
251899
  break;
251872
251900
 
251873
251901
  case 868:
251874
- #line 2475 "third_party/libpg_query/grammar/statements/select.y"
251902
+ #line 2473 "third_party/libpg_query/grammar/statements/select.y"
251875
251903
  {
251876
251904
  (yyval.node) = makeSQLValueFunction(PG_SVFOP_CURRENT_TIMESTAMP_N, (yyvsp[(3) - (4)].ival), (yylsp[(1) - (4)]));
251877
251905
  ;}
251878
251906
  break;
251879
251907
 
251880
251908
  case 869:
251881
- #line 2479 "third_party/libpg_query/grammar/statements/select.y"
251909
+ #line 2477 "third_party/libpg_query/grammar/statements/select.y"
251882
251910
  {
251883
251911
  (yyval.node) = makeSQLValueFunction(PG_SVFOP_LOCALTIME, -1, (yylsp[(1) - (1)]));
251884
251912
  ;}
251885
251913
  break;
251886
251914
 
251887
251915
  case 870:
251888
- #line 2483 "third_party/libpg_query/grammar/statements/select.y"
251916
+ #line 2481 "third_party/libpg_query/grammar/statements/select.y"
251889
251917
  {
251890
251918
  (yyval.node) = makeSQLValueFunction(PG_SVFOP_LOCALTIME_N, (yyvsp[(3) - (4)].ival), (yylsp[(1) - (4)]));
251891
251919
  ;}
251892
251920
  break;
251893
251921
 
251894
251922
  case 871:
251895
- #line 2487 "third_party/libpg_query/grammar/statements/select.y"
251923
+ #line 2485 "third_party/libpg_query/grammar/statements/select.y"
251896
251924
  {
251897
251925
  (yyval.node) = makeSQLValueFunction(PG_SVFOP_LOCALTIMESTAMP, -1, (yylsp[(1) - (1)]));
251898
251926
  ;}
251899
251927
  break;
251900
251928
 
251901
251929
  case 872:
251902
- #line 2491 "third_party/libpg_query/grammar/statements/select.y"
251930
+ #line 2489 "third_party/libpg_query/grammar/statements/select.y"
251903
251931
  {
251904
251932
  (yyval.node) = makeSQLValueFunction(PG_SVFOP_LOCALTIMESTAMP_N, (yyvsp[(3) - (4)].ival), (yylsp[(1) - (4)]));
251905
251933
  ;}
251906
251934
  break;
251907
251935
 
251908
251936
  case 873:
251909
- #line 2495 "third_party/libpg_query/grammar/statements/select.y"
251937
+ #line 2493 "third_party/libpg_query/grammar/statements/select.y"
251910
251938
  {
251911
251939
  (yyval.node) = makeSQLValueFunction(PG_SVFOP_CURRENT_ROLE, -1, (yylsp[(1) - (1)]));
251912
251940
  ;}
251913
251941
  break;
251914
251942
 
251915
251943
  case 874:
251916
- #line 2499 "third_party/libpg_query/grammar/statements/select.y"
251944
+ #line 2497 "third_party/libpg_query/grammar/statements/select.y"
251917
251945
  {
251918
251946
  (yyval.node) = makeSQLValueFunction(PG_SVFOP_CURRENT_USER, -1, (yylsp[(1) - (1)]));
251919
251947
  ;}
251920
251948
  break;
251921
251949
 
251922
251950
  case 875:
251923
- #line 2503 "third_party/libpg_query/grammar/statements/select.y"
251951
+ #line 2501 "third_party/libpg_query/grammar/statements/select.y"
251924
251952
  {
251925
251953
  (yyval.node) = makeSQLValueFunction(PG_SVFOP_SESSION_USER, -1, (yylsp[(1) - (1)]));
251926
251954
  ;}
251927
251955
  break;
251928
251956
 
251929
251957
  case 876:
251930
- #line 2507 "third_party/libpg_query/grammar/statements/select.y"
251958
+ #line 2505 "third_party/libpg_query/grammar/statements/select.y"
251931
251959
  {
251932
251960
  (yyval.node) = makeSQLValueFunction(PG_SVFOP_USER, -1, (yylsp[(1) - (1)]));
251933
251961
  ;}
251934
251962
  break;
251935
251963
 
251936
251964
  case 877:
251937
- #line 2511 "third_party/libpg_query/grammar/statements/select.y"
251965
+ #line 2509 "third_party/libpg_query/grammar/statements/select.y"
251938
251966
  {
251939
251967
  (yyval.node) = makeSQLValueFunction(PG_SVFOP_CURRENT_CATALOG, -1, (yylsp[(1) - (1)]));
251940
251968
  ;}
251941
251969
  break;
251942
251970
 
251943
251971
  case 878:
251944
- #line 2515 "third_party/libpg_query/grammar/statements/select.y"
251972
+ #line 2513 "third_party/libpg_query/grammar/statements/select.y"
251945
251973
  {
251946
251974
  (yyval.node) = makeSQLValueFunction(PG_SVFOP_CURRENT_SCHEMA, -1, (yylsp[(1) - (1)]));
251947
251975
  ;}
251948
251976
  break;
251949
251977
 
251950
251978
  case 879:
251951
- #line 2519 "third_party/libpg_query/grammar/statements/select.y"
251979
+ #line 2517 "third_party/libpg_query/grammar/statements/select.y"
251952
251980
  { (yyval.node) = makeTypeCast((yyvsp[(3) - (6)].node), (yyvsp[(5) - (6)].typnam), 0, (yylsp[(1) - (6)])); ;}
251953
251981
  break;
251954
251982
 
251955
251983
  case 880:
251956
- #line 2521 "third_party/libpg_query/grammar/statements/select.y"
251984
+ #line 2519 "third_party/libpg_query/grammar/statements/select.y"
251957
251985
  { (yyval.node) = makeTypeCast((yyvsp[(3) - (6)].node), (yyvsp[(5) - (6)].typnam), 1, (yylsp[(1) - (6)])); ;}
251958
251986
  break;
251959
251987
 
251960
251988
  case 881:
251961
- #line 2523 "third_party/libpg_query/grammar/statements/select.y"
251989
+ #line 2521 "third_party/libpg_query/grammar/statements/select.y"
251962
251990
  {
251963
251991
  (yyval.node) = (PGNode *) makeFuncCall(SystemFuncName("date_part"), (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)]));
251964
251992
  ;}
251965
251993
  break;
251966
251994
 
251967
251995
  case 882:
251968
- #line 2527 "third_party/libpg_query/grammar/statements/select.y"
251996
+ #line 2525 "third_party/libpg_query/grammar/statements/select.y"
251969
251997
  {
251970
251998
  /* overlay(A PLACING B FROM C FOR D) is converted to
251971
251999
  * overlay(A, B, C, D)
@@ -251977,7 +252005,7 @@ yyreduce:
251977
252005
  break;
251978
252006
 
251979
252007
  case 883:
251980
- #line 2536 "third_party/libpg_query/grammar/statements/select.y"
252008
+ #line 2534 "third_party/libpg_query/grammar/statements/select.y"
251981
252009
  {
251982
252010
  /* position(A in B) is converted to position(B, A) */
251983
252011
  (yyval.node) = (PGNode *) makeFuncCall(SystemFuncName("position"), (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)]));
@@ -251985,7 +252013,7 @@ yyreduce:
251985
252013
  break;
251986
252014
 
251987
252015
  case 884:
251988
- #line 2541 "third_party/libpg_query/grammar/statements/select.y"
252016
+ #line 2539 "third_party/libpg_query/grammar/statements/select.y"
251989
252017
  {
251990
252018
  /* substring(A from B for C) is converted to
251991
252019
  * substring(A, B, C) - thomas 2000-11-28
@@ -251995,7 +252023,7 @@ yyreduce:
251995
252023
  break;
251996
252024
 
251997
252025
  case 885:
251998
- #line 2548 "third_party/libpg_query/grammar/statements/select.y"
252026
+ #line 2546 "third_party/libpg_query/grammar/statements/select.y"
251999
252027
  {
252000
252028
  /* TREAT(expr AS target) converts expr of a particular type to target,
252001
252029
  * which is defined to be a subtype of the original expression.
@@ -252013,7 +252041,7 @@ yyreduce:
252013
252041
  break;
252014
252042
 
252015
252043
  case 886:
252016
- #line 2563 "third_party/libpg_query/grammar/statements/select.y"
252044
+ #line 2561 "third_party/libpg_query/grammar/statements/select.y"
252017
252045
  {
252018
252046
  /* various trim expressions are defined in SQL
252019
252047
  * - thomas 1997-07-19
@@ -252023,35 +252051,35 @@ yyreduce:
252023
252051
  break;
252024
252052
 
252025
252053
  case 887:
252026
- #line 2570 "third_party/libpg_query/grammar/statements/select.y"
252054
+ #line 2568 "third_party/libpg_query/grammar/statements/select.y"
252027
252055
  {
252028
252056
  (yyval.node) = (PGNode *) makeFuncCall(SystemFuncName("ltrim"), (yyvsp[(4) - (5)].list), (yylsp[(1) - (5)]));
252029
252057
  ;}
252030
252058
  break;
252031
252059
 
252032
252060
  case 888:
252033
- #line 2574 "third_party/libpg_query/grammar/statements/select.y"
252061
+ #line 2572 "third_party/libpg_query/grammar/statements/select.y"
252034
252062
  {
252035
252063
  (yyval.node) = (PGNode *) makeFuncCall(SystemFuncName("rtrim"), (yyvsp[(4) - (5)].list), (yylsp[(1) - (5)]));
252036
252064
  ;}
252037
252065
  break;
252038
252066
 
252039
252067
  case 889:
252040
- #line 2578 "third_party/libpg_query/grammar/statements/select.y"
252068
+ #line 2576 "third_party/libpg_query/grammar/statements/select.y"
252041
252069
  {
252042
252070
  (yyval.node) = (PGNode *) makeFuncCall(SystemFuncName("trim"), (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)]));
252043
252071
  ;}
252044
252072
  break;
252045
252073
 
252046
252074
  case 890:
252047
- #line 2582 "third_party/libpg_query/grammar/statements/select.y"
252075
+ #line 2580 "third_party/libpg_query/grammar/statements/select.y"
252048
252076
  {
252049
252077
  (yyval.node) = (PGNode *) makeSimpleAExpr(PG_AEXPR_NULLIF, "=", (yyvsp[(3) - (6)].node), (yyvsp[(5) - (6)].node), (yylsp[(1) - (6)]));
252050
252078
  ;}
252051
252079
  break;
252052
252080
 
252053
252081
  case 891:
252054
- #line 2586 "third_party/libpg_query/grammar/statements/select.y"
252082
+ #line 2584 "third_party/libpg_query/grammar/statements/select.y"
252055
252083
  {
252056
252084
  PGCoalesceExpr *c = makeNode(PGCoalesceExpr);
252057
252085
  c->args = (yyvsp[(3) - (4)].list);
@@ -252061,57 +252089,57 @@ yyreduce:
252061
252089
  break;
252062
252090
 
252063
252091
  case 892:
252064
- #line 2599 "third_party/libpg_query/grammar/statements/select.y"
252092
+ #line 2597 "third_party/libpg_query/grammar/statements/select.y"
252065
252093
  { (yyval.list) = (yyvsp[(4) - (5)].list); ;}
252066
252094
  break;
252067
252095
 
252068
252096
  case 893:
252069
- #line 2600 "third_party/libpg_query/grammar/statements/select.y"
252097
+ #line 2598 "third_party/libpg_query/grammar/statements/select.y"
252070
252098
  { (yyval.list) = NIL; ;}
252071
252099
  break;
252072
252100
 
252073
252101
  case 894:
252074
- #line 2604 "third_party/libpg_query/grammar/statements/select.y"
252102
+ #line 2602 "third_party/libpg_query/grammar/statements/select.y"
252075
252103
  { (yyval.node) = (yyvsp[(4) - (5)].node); ;}
252076
252104
  break;
252077
252105
 
252078
252106
  case 895:
252079
- #line 2605 "third_party/libpg_query/grammar/statements/select.y"
252107
+ #line 2603 "third_party/libpg_query/grammar/statements/select.y"
252080
252108
  { (yyval.node) = NULL; ;}
252081
252109
  break;
252082
252110
 
252083
252111
  case 896:
252084
- #line 2609 "third_party/libpg_query/grammar/statements/select.y"
252112
+ #line 2607 "third_party/libpg_query/grammar/statements/select.y"
252085
252113
  { (yyval.boolean) = true; ;}
252086
252114
  break;
252087
252115
 
252088
252116
  case 897:
252089
- #line 2610 "third_party/libpg_query/grammar/statements/select.y"
252117
+ #line 2608 "third_party/libpg_query/grammar/statements/select.y"
252090
252118
  { (yyval.boolean) = false; ;}
252091
252119
  break;
252092
252120
 
252093
252121
  case 898:
252094
- #line 2617 "third_party/libpg_query/grammar/statements/select.y"
252122
+ #line 2615 "third_party/libpg_query/grammar/statements/select.y"
252095
252123
  { (yyval.list) = (yyvsp[(2) - (2)].list); ;}
252096
252124
  break;
252097
252125
 
252098
252126
  case 899:
252099
- #line 2618 "third_party/libpg_query/grammar/statements/select.y"
252127
+ #line 2616 "third_party/libpg_query/grammar/statements/select.y"
252100
252128
  { (yyval.list) = NIL; ;}
252101
252129
  break;
252102
252130
 
252103
252131
  case 900:
252104
- #line 2622 "third_party/libpg_query/grammar/statements/select.y"
252132
+ #line 2620 "third_party/libpg_query/grammar/statements/select.y"
252105
252133
  { (yyval.list) = list_make1((yyvsp[(1) - (1)].windef)); ;}
252106
252134
  break;
252107
252135
 
252108
252136
  case 901:
252109
- #line 2624 "third_party/libpg_query/grammar/statements/select.y"
252137
+ #line 2622 "third_party/libpg_query/grammar/statements/select.y"
252110
252138
  { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].windef)); ;}
252111
252139
  break;
252112
252140
 
252113
252141
  case 902:
252114
- #line 2629 "third_party/libpg_query/grammar/statements/select.y"
252142
+ #line 2627 "third_party/libpg_query/grammar/statements/select.y"
252115
252143
  {
252116
252144
  PGWindowDef *n = (yyvsp[(3) - (3)].windef);
252117
252145
  n->name = (yyvsp[(1) - (3)].str);
@@ -252120,12 +252148,12 @@ yyreduce:
252120
252148
  break;
252121
252149
 
252122
252150
  case 903:
252123
- #line 2637 "third_party/libpg_query/grammar/statements/select.y"
252151
+ #line 2635 "third_party/libpg_query/grammar/statements/select.y"
252124
252152
  { (yyval.windef) = (yyvsp[(2) - (2)].windef); ;}
252125
252153
  break;
252126
252154
 
252127
252155
  case 904:
252128
- #line 2639 "third_party/libpg_query/grammar/statements/select.y"
252156
+ #line 2637 "third_party/libpg_query/grammar/statements/select.y"
252129
252157
  {
252130
252158
  PGWindowDef *n = makeNode(PGWindowDef);
252131
252159
  n->name = (yyvsp[(2) - (2)].str);
@@ -252141,12 +252169,12 @@ yyreduce:
252141
252169
  break;
252142
252170
 
252143
252171
  case 905:
252144
- #line 2652 "third_party/libpg_query/grammar/statements/select.y"
252172
+ #line 2650 "third_party/libpg_query/grammar/statements/select.y"
252145
252173
  { (yyval.windef) = NULL; ;}
252146
252174
  break;
252147
252175
 
252148
252176
  case 906:
252149
- #line 2657 "third_party/libpg_query/grammar/statements/select.y"
252177
+ #line 2655 "third_party/libpg_query/grammar/statements/select.y"
252150
252178
  {
252151
252179
  PGWindowDef *n = makeNode(PGWindowDef);
252152
252180
  n->name = NULL;
@@ -252163,27 +252191,27 @@ yyreduce:
252163
252191
  break;
252164
252192
 
252165
252193
  case 907:
252166
- #line 2682 "third_party/libpg_query/grammar/statements/select.y"
252194
+ #line 2680 "third_party/libpg_query/grammar/statements/select.y"
252167
252195
  { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
252168
252196
  break;
252169
252197
 
252170
252198
  case 908:
252171
- #line 2683 "third_party/libpg_query/grammar/statements/select.y"
252199
+ #line 2681 "third_party/libpg_query/grammar/statements/select.y"
252172
252200
  { (yyval.str) = NULL; ;}
252173
252201
  break;
252174
252202
 
252175
252203
  case 909:
252176
- #line 2686 "third_party/libpg_query/grammar/statements/select.y"
252204
+ #line 2684 "third_party/libpg_query/grammar/statements/select.y"
252177
252205
  { (yyval.list) = (yyvsp[(3) - (3)].list); ;}
252178
252206
  break;
252179
252207
 
252180
252208
  case 910:
252181
- #line 2687 "third_party/libpg_query/grammar/statements/select.y"
252209
+ #line 2685 "third_party/libpg_query/grammar/statements/select.y"
252182
252210
  { (yyval.list) = NIL; ;}
252183
252211
  break;
252184
252212
 
252185
252213
  case 911:
252186
- #line 2699 "third_party/libpg_query/grammar/statements/select.y"
252214
+ #line 2697 "third_party/libpg_query/grammar/statements/select.y"
252187
252215
  {
252188
252216
  PGWindowDef *n = (yyvsp[(2) - (2)].windef);
252189
252217
  n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_RANGE;
@@ -252192,7 +252220,7 @@ yyreduce:
252192
252220
  break;
252193
252221
 
252194
252222
  case 912:
252195
- #line 2705 "third_party/libpg_query/grammar/statements/select.y"
252223
+ #line 2703 "third_party/libpg_query/grammar/statements/select.y"
252196
252224
  {
252197
252225
  PGWindowDef *n = (yyvsp[(2) - (2)].windef);
252198
252226
  n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_ROWS;
@@ -252201,7 +252229,7 @@ yyreduce:
252201
252229
  break;
252202
252230
 
252203
252231
  case 913:
252204
- #line 2711 "third_party/libpg_query/grammar/statements/select.y"
252232
+ #line 2709 "third_party/libpg_query/grammar/statements/select.y"
252205
252233
  {
252206
252234
  PGWindowDef *n = makeNode(PGWindowDef);
252207
252235
  n->frameOptions = FRAMEOPTION_DEFAULTS;
@@ -252212,7 +252240,7 @@ yyreduce:
252212
252240
  break;
252213
252241
 
252214
252242
  case 914:
252215
- #line 2721 "third_party/libpg_query/grammar/statements/select.y"
252243
+ #line 2719 "third_party/libpg_query/grammar/statements/select.y"
252216
252244
  {
252217
252245
  PGWindowDef *n = (yyvsp[(1) - (1)].windef);
252218
252246
  /* reject invalid cases */
@@ -252232,7 +252260,7 @@ yyreduce:
252232
252260
  break;
252233
252261
 
252234
252262
  case 915:
252235
- #line 2738 "third_party/libpg_query/grammar/statements/select.y"
252263
+ #line 2736 "third_party/libpg_query/grammar/statements/select.y"
252236
252264
  {
252237
252265
  PGWindowDef *n1 = (yyvsp[(2) - (4)].windef);
252238
252266
  PGWindowDef *n2 = (yyvsp[(4) - (4)].windef);
@@ -252272,7 +252300,7 @@ yyreduce:
252272
252300
  break;
252273
252301
 
252274
252302
  case 916:
252275
- #line 2783 "third_party/libpg_query/grammar/statements/select.y"
252303
+ #line 2781 "third_party/libpg_query/grammar/statements/select.y"
252276
252304
  {
252277
252305
  PGWindowDef *n = makeNode(PGWindowDef);
252278
252306
  n->frameOptions = FRAMEOPTION_START_UNBOUNDED_PRECEDING;
@@ -252283,7 +252311,7 @@ yyreduce:
252283
252311
  break;
252284
252312
 
252285
252313
  case 917:
252286
- #line 2791 "third_party/libpg_query/grammar/statements/select.y"
252314
+ #line 2789 "third_party/libpg_query/grammar/statements/select.y"
252287
252315
  {
252288
252316
  PGWindowDef *n = makeNode(PGWindowDef);
252289
252317
  n->frameOptions = FRAMEOPTION_START_UNBOUNDED_FOLLOWING;
@@ -252294,7 +252322,7 @@ yyreduce:
252294
252322
  break;
252295
252323
 
252296
252324
  case 918:
252297
- #line 2799 "third_party/libpg_query/grammar/statements/select.y"
252325
+ #line 2797 "third_party/libpg_query/grammar/statements/select.y"
252298
252326
  {
252299
252327
  PGWindowDef *n = makeNode(PGWindowDef);
252300
252328
  n->frameOptions = FRAMEOPTION_START_CURRENT_ROW;
@@ -252305,7 +252333,7 @@ yyreduce:
252305
252333
  break;
252306
252334
 
252307
252335
  case 919:
252308
- #line 2807 "third_party/libpg_query/grammar/statements/select.y"
252336
+ #line 2805 "third_party/libpg_query/grammar/statements/select.y"
252309
252337
  {
252310
252338
  PGWindowDef *n = makeNode(PGWindowDef);
252311
252339
  n->frameOptions = FRAMEOPTION_START_VALUE_PRECEDING;
@@ -252316,7 +252344,7 @@ yyreduce:
252316
252344
  break;
252317
252345
 
252318
252346
  case 920:
252319
- #line 2815 "third_party/libpg_query/grammar/statements/select.y"
252347
+ #line 2813 "third_party/libpg_query/grammar/statements/select.y"
252320
252348
  {
252321
252349
  PGWindowDef *n = makeNode(PGWindowDef);
252322
252350
  n->frameOptions = FRAMEOPTION_START_VALUE_FOLLOWING;
@@ -252327,27 +252355,27 @@ yyreduce:
252327
252355
  break;
252328
252356
 
252329
252357
  case 921:
252330
- #line 2835 "third_party/libpg_query/grammar/statements/select.y"
252358
+ #line 2833 "third_party/libpg_query/grammar/statements/select.y"
252331
252359
  { (yyval.list) = (yyvsp[(3) - (4)].list); ;}
252332
252360
  break;
252333
252361
 
252334
252362
  case 922:
252335
- #line 2836 "third_party/libpg_query/grammar/statements/select.y"
252363
+ #line 2834 "third_party/libpg_query/grammar/statements/select.y"
252336
252364
  { (yyval.list) = NIL; ;}
252337
252365
  break;
252338
252366
 
252339
252367
  case 923:
252340
- #line 2839 "third_party/libpg_query/grammar/statements/select.y"
252368
+ #line 2837 "third_party/libpg_query/grammar/statements/select.y"
252341
252369
  { (yyval.list) = (yyvsp[(1) - (1)].list);;}
252342
252370
  break;
252343
252371
 
252344
252372
  case 924:
252345
- #line 2840 "third_party/libpg_query/grammar/statements/select.y"
252373
+ #line 2838 "third_party/libpg_query/grammar/statements/select.y"
252346
252374
  { (yyval.list) = lappend((yyvsp[(2) - (5)].list), (yyvsp[(4) - (5)].node)); ;}
252347
252375
  break;
252348
252376
 
252349
252377
  case 925:
252350
- #line 2844 "third_party/libpg_query/grammar/statements/select.y"
252378
+ #line 2842 "third_party/libpg_query/grammar/statements/select.y"
252351
252379
  {
252352
252380
  PGNamedArgExpr *na = makeNode(PGNamedArgExpr);
252353
252381
  na->name = (yyvsp[(1) - (3)].str);
@@ -252359,221 +252387,221 @@ yyreduce:
252359
252387
  break;
252360
252388
 
252361
252389
  case 926:
252362
- #line 2854 "third_party/libpg_query/grammar/statements/select.y"
252390
+ #line 2852 "third_party/libpg_query/grammar/statements/select.y"
252363
252391
  { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
252364
252392
  break;
252365
252393
 
252366
252394
  case 927:
252367
- #line 2855 "third_party/libpg_query/grammar/statements/select.y"
252395
+ #line 2853 "third_party/libpg_query/grammar/statements/select.y"
252368
252396
  { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
252369
252397
  break;
252370
252398
 
252371
252399
  case 928:
252372
- #line 2857 "third_party/libpg_query/grammar/statements/select.y"
252400
+ #line 2855 "third_party/libpg_query/grammar/statements/select.y"
252373
252401
  { (yyval.subquerytype) = PG_ANY_SUBLINK; ;}
252374
252402
  break;
252375
252403
 
252376
252404
  case 929:
252377
- #line 2858 "third_party/libpg_query/grammar/statements/select.y"
252405
+ #line 2856 "third_party/libpg_query/grammar/statements/select.y"
252378
252406
  { (yyval.subquerytype) = PG_ANY_SUBLINK; ;}
252379
252407
  break;
252380
252408
 
252381
252409
  case 930:
252382
- #line 2859 "third_party/libpg_query/grammar/statements/select.y"
252410
+ #line 2857 "third_party/libpg_query/grammar/statements/select.y"
252383
252411
  { (yyval.subquerytype) = PG_ALL_SUBLINK; ;}
252384
252412
  break;
252385
252413
 
252386
252414
  case 931:
252387
- #line 2862 "third_party/libpg_query/grammar/statements/select.y"
252415
+ #line 2860 "third_party/libpg_query/grammar/statements/select.y"
252388
252416
  { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
252389
252417
  break;
252390
252418
 
252391
252419
  case 932:
252392
- #line 2863 "third_party/libpg_query/grammar/statements/select.y"
252420
+ #line 2861 "third_party/libpg_query/grammar/statements/select.y"
252393
252421
  { (yyval.str) = (char*) (yyvsp[(1) - (1)].conststr); ;}
252394
252422
  break;
252395
252423
 
252396
252424
  case 933:
252397
- #line 2866 "third_party/libpg_query/grammar/statements/select.y"
252425
+ #line 2864 "third_party/libpg_query/grammar/statements/select.y"
252398
252426
  { (yyval.conststr) = "+"; ;}
252399
252427
  break;
252400
252428
 
252401
252429
  case 934:
252402
- #line 2867 "third_party/libpg_query/grammar/statements/select.y"
252430
+ #line 2865 "third_party/libpg_query/grammar/statements/select.y"
252403
252431
  { (yyval.conststr) = "-"; ;}
252404
252432
  break;
252405
252433
 
252406
252434
  case 935:
252407
- #line 2868 "third_party/libpg_query/grammar/statements/select.y"
252435
+ #line 2866 "third_party/libpg_query/grammar/statements/select.y"
252408
252436
  { (yyval.conststr) = "*"; ;}
252409
252437
  break;
252410
252438
 
252411
252439
  case 936:
252412
- #line 2869 "third_party/libpg_query/grammar/statements/select.y"
252440
+ #line 2867 "third_party/libpg_query/grammar/statements/select.y"
252413
252441
  { (yyval.conststr) = "/"; ;}
252414
252442
  break;
252415
252443
 
252416
252444
  case 937:
252417
- #line 2870 "third_party/libpg_query/grammar/statements/select.y"
252445
+ #line 2868 "third_party/libpg_query/grammar/statements/select.y"
252418
252446
  { (yyval.conststr) = "%"; ;}
252419
252447
  break;
252420
252448
 
252421
252449
  case 938:
252422
- #line 2871 "third_party/libpg_query/grammar/statements/select.y"
252450
+ #line 2869 "third_party/libpg_query/grammar/statements/select.y"
252423
252451
  { (yyval.conststr) = "^"; ;}
252424
252452
  break;
252425
252453
 
252426
252454
  case 939:
252427
- #line 2872 "third_party/libpg_query/grammar/statements/select.y"
252455
+ #line 2870 "third_party/libpg_query/grammar/statements/select.y"
252428
252456
  { (yyval.conststr) = "<"; ;}
252429
252457
  break;
252430
252458
 
252431
252459
  case 940:
252432
- #line 2873 "third_party/libpg_query/grammar/statements/select.y"
252460
+ #line 2871 "third_party/libpg_query/grammar/statements/select.y"
252433
252461
  { (yyval.conststr) = ">"; ;}
252434
252462
  break;
252435
252463
 
252436
252464
  case 941:
252437
- #line 2874 "third_party/libpg_query/grammar/statements/select.y"
252465
+ #line 2872 "third_party/libpg_query/grammar/statements/select.y"
252438
252466
  { (yyval.conststr) = "="; ;}
252439
252467
  break;
252440
252468
 
252441
252469
  case 942:
252442
- #line 2875 "third_party/libpg_query/grammar/statements/select.y"
252470
+ #line 2873 "third_party/libpg_query/grammar/statements/select.y"
252443
252471
  { (yyval.conststr) = "<="; ;}
252444
252472
  break;
252445
252473
 
252446
252474
  case 943:
252447
- #line 2876 "third_party/libpg_query/grammar/statements/select.y"
252475
+ #line 2874 "third_party/libpg_query/grammar/statements/select.y"
252448
252476
  { (yyval.conststr) = ">="; ;}
252449
252477
  break;
252450
252478
 
252451
252479
  case 944:
252452
- #line 2877 "third_party/libpg_query/grammar/statements/select.y"
252480
+ #line 2875 "third_party/libpg_query/grammar/statements/select.y"
252453
252481
  { (yyval.conststr) = "<>"; ;}
252454
252482
  break;
252455
252483
 
252456
252484
  case 945:
252457
- #line 2881 "third_party/libpg_query/grammar/statements/select.y"
252485
+ #line 2879 "third_party/libpg_query/grammar/statements/select.y"
252458
252486
  { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
252459
252487
  break;
252460
252488
 
252461
252489
  case 946:
252462
- #line 2883 "third_party/libpg_query/grammar/statements/select.y"
252490
+ #line 2881 "third_party/libpg_query/grammar/statements/select.y"
252463
252491
  { (yyval.list) = (yyvsp[(3) - (4)].list); ;}
252464
252492
  break;
252465
252493
 
252466
252494
  case 947:
252467
- #line 2888 "third_party/libpg_query/grammar/statements/select.y"
252495
+ #line 2886 "third_party/libpg_query/grammar/statements/select.y"
252468
252496
  { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
252469
252497
  break;
252470
252498
 
252471
252499
  case 948:
252472
- #line 2890 "third_party/libpg_query/grammar/statements/select.y"
252500
+ #line 2888 "third_party/libpg_query/grammar/statements/select.y"
252473
252501
  { (yyval.list) = (yyvsp[(3) - (4)].list); ;}
252474
252502
  break;
252475
252503
 
252476
252504
  case 949:
252477
- #line 2895 "third_party/libpg_query/grammar/statements/select.y"
252505
+ #line 2893 "third_party/libpg_query/grammar/statements/select.y"
252478
252506
  { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
252479
252507
  break;
252480
252508
 
252481
252509
  case 950:
252482
- #line 2897 "third_party/libpg_query/grammar/statements/select.y"
252510
+ #line 2895 "third_party/libpg_query/grammar/statements/select.y"
252483
252511
  { (yyval.list) = (yyvsp[(3) - (4)].list); ;}
252484
252512
  break;
252485
252513
 
252486
252514
  case 951:
252487
- #line 2899 "third_party/libpg_query/grammar/statements/select.y"
252515
+ #line 2897 "third_party/libpg_query/grammar/statements/select.y"
252488
252516
  { (yyval.list) = list_make1(makeString("~~")); ;}
252489
252517
  break;
252490
252518
 
252491
252519
  case 952:
252492
- #line 2901 "third_party/libpg_query/grammar/statements/select.y"
252520
+ #line 2899 "third_party/libpg_query/grammar/statements/select.y"
252493
252521
  { (yyval.list) = list_make1(makeString("!~~")); ;}
252494
252522
  break;
252495
252523
 
252496
252524
  case 953:
252497
- #line 2903 "third_party/libpg_query/grammar/statements/select.y"
252525
+ #line 2901 "third_party/libpg_query/grammar/statements/select.y"
252498
252526
  { (yyval.list) = list_make1(makeString("~~~")); ;}
252499
252527
  break;
252500
252528
 
252501
252529
  case 954:
252502
- #line 2905 "third_party/libpg_query/grammar/statements/select.y"
252530
+ #line 2903 "third_party/libpg_query/grammar/statements/select.y"
252503
252531
  { (yyval.list) = list_make1(makeString("!~~~")); ;}
252504
252532
  break;
252505
252533
 
252506
252534
  case 955:
252507
- #line 2907 "third_party/libpg_query/grammar/statements/select.y"
252535
+ #line 2905 "third_party/libpg_query/grammar/statements/select.y"
252508
252536
  { (yyval.list) = list_make1(makeString("~~*")); ;}
252509
252537
  break;
252510
252538
 
252511
252539
  case 956:
252512
- #line 2909 "third_party/libpg_query/grammar/statements/select.y"
252540
+ #line 2907 "third_party/libpg_query/grammar/statements/select.y"
252513
252541
  { (yyval.list) = list_make1(makeString("!~~*")); ;}
252514
252542
  break;
252515
252543
 
252516
252544
  case 957:
252517
- #line 2923 "third_party/libpg_query/grammar/statements/select.y"
252545
+ #line 2921 "third_party/libpg_query/grammar/statements/select.y"
252518
252546
  { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
252519
252547
  break;
252520
252548
 
252521
252549
  case 958:
252522
- #line 2925 "third_party/libpg_query/grammar/statements/select.y"
252550
+ #line 2923 "third_party/libpg_query/grammar/statements/select.y"
252523
252551
  { (yyval.list) = lcons(makeString((yyvsp[(1) - (3)].str)), (yyvsp[(3) - (3)].list)); ;}
252524
252552
  break;
252525
252553
 
252526
252554
  case 959:
252527
- #line 2929 "third_party/libpg_query/grammar/statements/select.y"
252555
+ #line 2927 "third_party/libpg_query/grammar/statements/select.y"
252528
252556
  {
252529
252557
  (yyval.list) = list_make1((yyvsp[(1) - (1)].node));
252530
252558
  ;}
252531
252559
  break;
252532
252560
 
252533
252561
  case 960:
252534
- #line 2933 "third_party/libpg_query/grammar/statements/select.y"
252562
+ #line 2931 "third_party/libpg_query/grammar/statements/select.y"
252535
252563
  {
252536
252564
  (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
252537
252565
  ;}
252538
252566
  break;
252539
252567
 
252540
252568
  case 961:
252541
- #line 2940 "third_party/libpg_query/grammar/statements/select.y"
252569
+ #line 2938 "third_party/libpg_query/grammar/statements/select.y"
252542
252570
  {
252543
252571
  (yyval.list) = (yyvsp[(1) - (1)].list);
252544
252572
  ;}
252545
252573
  break;
252546
252574
 
252547
252575
  case 962:
252548
- #line 2944 "third_party/libpg_query/grammar/statements/select.y"
252576
+ #line 2942 "third_party/libpg_query/grammar/statements/select.y"
252549
252577
  {
252550
252578
  (yyval.list) = NULL;
252551
252579
  ;}
252552
252580
  break;
252553
252581
 
252554
252582
  case 963:
252555
- #line 2952 "third_party/libpg_query/grammar/statements/select.y"
252583
+ #line 2950 "third_party/libpg_query/grammar/statements/select.y"
252556
252584
  {
252557
252585
  (yyval.list) = list_make1((yyvsp[(1) - (1)].node));
252558
252586
  ;}
252559
252587
  break;
252560
252588
 
252561
252589
  case 964:
252562
- #line 2956 "third_party/libpg_query/grammar/statements/select.y"
252590
+ #line 2954 "third_party/libpg_query/grammar/statements/select.y"
252563
252591
  {
252564
252592
  (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
252565
252593
  ;}
252566
252594
  break;
252567
252595
 
252568
252596
  case 965:
252569
- #line 2962 "third_party/libpg_query/grammar/statements/select.y"
252597
+ #line 2960 "third_party/libpg_query/grammar/statements/select.y"
252570
252598
  {
252571
252599
  (yyval.node) = (yyvsp[(1) - (1)].node);
252572
252600
  ;}
252573
252601
  break;
252574
252602
 
252575
252603
  case 966:
252576
- #line 2966 "third_party/libpg_query/grammar/statements/select.y"
252604
+ #line 2964 "third_party/libpg_query/grammar/statements/select.y"
252577
252605
  {
252578
252606
  PGNamedArgExpr *na = makeNode(PGNamedArgExpr);
252579
252607
  na->name = (yyvsp[(1) - (3)].str);
@@ -252585,7 +252613,7 @@ yyreduce:
252585
252613
  break;
252586
252614
 
252587
252615
  case 967:
252588
- #line 2975 "third_party/libpg_query/grammar/statements/select.y"
252616
+ #line 2973 "third_party/libpg_query/grammar/statements/select.y"
252589
252617
  {
252590
252618
  PGNamedArgExpr *na = makeNode(PGNamedArgExpr);
252591
252619
  na->name = (yyvsp[(1) - (3)].str);
@@ -252597,115 +252625,115 @@ yyreduce:
252597
252625
  break;
252598
252626
 
252599
252627
  case 968:
252600
- #line 2985 "third_party/libpg_query/grammar/statements/select.y"
252628
+ #line 2983 "third_party/libpg_query/grammar/statements/select.y"
252601
252629
  { (yyval.list) = list_make1((yyvsp[(1) - (1)].typnam)); ;}
252602
252630
  break;
252603
252631
 
252604
252632
  case 969:
252605
- #line 2986 "third_party/libpg_query/grammar/statements/select.y"
252633
+ #line 2984 "third_party/libpg_query/grammar/statements/select.y"
252606
252634
  { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typnam)); ;}
252607
252635
  break;
252608
252636
 
252609
252637
  case 970:
252610
- #line 2991 "third_party/libpg_query/grammar/statements/select.y"
252638
+ #line 2989 "third_party/libpg_query/grammar/statements/select.y"
252611
252639
  {
252612
252640
  (yyval.list) = list_make2(makeStringConst((yyvsp[(1) - (3)].str), (yylsp[(1) - (3)])), (yyvsp[(3) - (3)].node));
252613
252641
  ;}
252614
252642
  break;
252615
252643
 
252616
252644
  case 971:
252617
- #line 2994 "third_party/libpg_query/grammar/statements/select.y"
252645
+ #line 2992 "third_party/libpg_query/grammar/statements/select.y"
252618
252646
  { (yyval.list) = NIL; ;}
252619
252647
  break;
252620
252648
 
252621
252649
  case 972:
252622
- #line 3001 "third_party/libpg_query/grammar/statements/select.y"
252650
+ #line 2999 "third_party/libpg_query/grammar/statements/select.y"
252623
252651
  { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
252624
252652
  break;
252625
252653
 
252626
252654
  case 973:
252627
- #line 3002 "third_party/libpg_query/grammar/statements/select.y"
252655
+ #line 3000 "third_party/libpg_query/grammar/statements/select.y"
252628
252656
  { (yyval.str) = (char*) "year"; ;}
252629
252657
  break;
252630
252658
 
252631
252659
  case 974:
252632
- #line 3003 "third_party/libpg_query/grammar/statements/select.y"
252660
+ #line 3001 "third_party/libpg_query/grammar/statements/select.y"
252633
252661
  { (yyval.str) = (char*) "month"; ;}
252634
252662
  break;
252635
252663
 
252636
252664
  case 975:
252637
- #line 3004 "third_party/libpg_query/grammar/statements/select.y"
252665
+ #line 3002 "third_party/libpg_query/grammar/statements/select.y"
252638
252666
  { (yyval.str) = (char*) "day"; ;}
252639
252667
  break;
252640
252668
 
252641
252669
  case 976:
252642
- #line 3005 "third_party/libpg_query/grammar/statements/select.y"
252670
+ #line 3003 "third_party/libpg_query/grammar/statements/select.y"
252643
252671
  { (yyval.str) = (char*) "hour"; ;}
252644
252672
  break;
252645
252673
 
252646
252674
  case 977:
252647
- #line 3006 "third_party/libpg_query/grammar/statements/select.y"
252675
+ #line 3004 "third_party/libpg_query/grammar/statements/select.y"
252648
252676
  { (yyval.str) = (char*) "minute"; ;}
252649
252677
  break;
252650
252678
 
252651
252679
  case 978:
252652
- #line 3007 "third_party/libpg_query/grammar/statements/select.y"
252680
+ #line 3005 "third_party/libpg_query/grammar/statements/select.y"
252653
252681
  { (yyval.str) = (char*) "second"; ;}
252654
252682
  break;
252655
252683
 
252656
252684
  case 979:
252657
- #line 3008 "third_party/libpg_query/grammar/statements/select.y"
252685
+ #line 3006 "third_party/libpg_query/grammar/statements/select.y"
252658
252686
  { (yyval.str) = (char*) "millisecond"; ;}
252659
252687
  break;
252660
252688
 
252661
252689
  case 980:
252662
- #line 3009 "third_party/libpg_query/grammar/statements/select.y"
252690
+ #line 3007 "third_party/libpg_query/grammar/statements/select.y"
252663
252691
  { (yyval.str) = (char*) "microsecond"; ;}
252664
252692
  break;
252665
252693
 
252666
252694
  case 981:
252667
- #line 3010 "third_party/libpg_query/grammar/statements/select.y"
252695
+ #line 3008 "third_party/libpg_query/grammar/statements/select.y"
252668
252696
  { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
252669
252697
  break;
252670
252698
 
252671
252699
  case 982:
252672
- #line 3021 "third_party/libpg_query/grammar/statements/select.y"
252700
+ #line 3019 "third_party/libpg_query/grammar/statements/select.y"
252673
252701
  {
252674
252702
  (yyval.list) = list_make4((yyvsp[(1) - (4)].node), (yyvsp[(2) - (4)].node), (yyvsp[(3) - (4)].node), (yyvsp[(4) - (4)].node));
252675
252703
  ;}
252676
252704
  break;
252677
252705
 
252678
252706
  case 983:
252679
- #line 3025 "third_party/libpg_query/grammar/statements/select.y"
252707
+ #line 3023 "third_party/libpg_query/grammar/statements/select.y"
252680
252708
  {
252681
252709
  (yyval.list) = list_make3((yyvsp[(1) - (3)].node), (yyvsp[(2) - (3)].node), (yyvsp[(3) - (3)].node));
252682
252710
  ;}
252683
252711
  break;
252684
252712
 
252685
252713
  case 984:
252686
- #line 3032 "third_party/libpg_query/grammar/statements/select.y"
252714
+ #line 3030 "third_party/libpg_query/grammar/statements/select.y"
252687
252715
  { (yyval.node) = (yyvsp[(2) - (2)].node); ;}
252688
252716
  break;
252689
252717
 
252690
252718
  case 985:
252691
- #line 3038 "third_party/libpg_query/grammar/statements/select.y"
252719
+ #line 3036 "third_party/libpg_query/grammar/statements/select.y"
252692
252720
  { (yyval.list) = list_make2((yyvsp[(3) - (3)].node), (yyvsp[(1) - (3)].node)); ;}
252693
252721
  break;
252694
252722
 
252695
252723
  case 986:
252696
- #line 3039 "third_party/libpg_query/grammar/statements/select.y"
252724
+ #line 3037 "third_party/libpg_query/grammar/statements/select.y"
252697
252725
  { (yyval.list) = NIL; ;}
252698
252726
  break;
252699
252727
 
252700
252728
  case 987:
252701
- #line 3056 "third_party/libpg_query/grammar/statements/select.y"
252729
+ #line 3054 "third_party/libpg_query/grammar/statements/select.y"
252702
252730
  {
252703
252731
  (yyval.list) = list_make3((yyvsp[(1) - (3)].node), (yyvsp[(2) - (3)].node), (yyvsp[(3) - (3)].node));
252704
252732
  ;}
252705
252733
  break;
252706
252734
 
252707
252735
  case 988:
252708
- #line 3060 "third_party/libpg_query/grammar/statements/select.y"
252736
+ #line 3058 "third_party/libpg_query/grammar/statements/select.y"
252709
252737
  {
252710
252738
  /* not legal per SQL99, but might as well allow it */
252711
252739
  (yyval.list) = list_make3((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yyvsp[(2) - (3)].node));
@@ -252713,14 +252741,14 @@ yyreduce:
252713
252741
  break;
252714
252742
 
252715
252743
  case 989:
252716
- #line 3065 "third_party/libpg_query/grammar/statements/select.y"
252744
+ #line 3063 "third_party/libpg_query/grammar/statements/select.y"
252717
252745
  {
252718
252746
  (yyval.list) = list_make2((yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node));
252719
252747
  ;}
252720
252748
  break;
252721
252749
 
252722
252750
  case 990:
252723
- #line 3069 "third_party/libpg_query/grammar/statements/select.y"
252751
+ #line 3067 "third_party/libpg_query/grammar/statements/select.y"
252724
252752
  {
252725
252753
  /*
252726
252754
  * Since there are no cases where this syntax allows
@@ -252738,44 +252766,44 @@ yyreduce:
252738
252766
  break;
252739
252767
 
252740
252768
  case 991:
252741
- #line 3084 "third_party/libpg_query/grammar/statements/select.y"
252769
+ #line 3082 "third_party/libpg_query/grammar/statements/select.y"
252742
252770
  {
252743
252771
  (yyval.list) = (yyvsp[(1) - (1)].list);
252744
252772
  ;}
252745
252773
  break;
252746
252774
 
252747
252775
  case 992:
252748
- #line 3088 "third_party/libpg_query/grammar/statements/select.y"
252776
+ #line 3086 "third_party/libpg_query/grammar/statements/select.y"
252749
252777
  { (yyval.list) = NIL; ;}
252750
252778
  break;
252751
252779
 
252752
252780
  case 993:
252753
- #line 3092 "third_party/libpg_query/grammar/statements/select.y"
252781
+ #line 3090 "third_party/libpg_query/grammar/statements/select.y"
252754
252782
  { (yyval.node) = (yyvsp[(2) - (2)].node); ;}
252755
252783
  break;
252756
252784
 
252757
252785
  case 994:
252758
- #line 3095 "third_party/libpg_query/grammar/statements/select.y"
252786
+ #line 3093 "third_party/libpg_query/grammar/statements/select.y"
252759
252787
  { (yyval.node) = (yyvsp[(2) - (2)].node); ;}
252760
252788
  break;
252761
252789
 
252762
252790
  case 995:
252763
- #line 3098 "third_party/libpg_query/grammar/statements/select.y"
252791
+ #line 3096 "third_party/libpg_query/grammar/statements/select.y"
252764
252792
  { (yyval.list) = lappend((yyvsp[(3) - (3)].list), (yyvsp[(1) - (3)].node)); ;}
252765
252793
  break;
252766
252794
 
252767
252795
  case 996:
252768
- #line 3099 "third_party/libpg_query/grammar/statements/select.y"
252796
+ #line 3097 "third_party/libpg_query/grammar/statements/select.y"
252769
252797
  { (yyval.list) = (yyvsp[(2) - (2)].list); ;}
252770
252798
  break;
252771
252799
 
252772
252800
  case 997:
252773
- #line 3100 "third_party/libpg_query/grammar/statements/select.y"
252801
+ #line 3098 "third_party/libpg_query/grammar/statements/select.y"
252774
252802
  { (yyval.list) = (yyvsp[(1) - (1)].list); ;}
252775
252803
  break;
252776
252804
 
252777
252805
  case 998:
252778
- #line 3104 "third_party/libpg_query/grammar/statements/select.y"
252806
+ #line 3102 "third_party/libpg_query/grammar/statements/select.y"
252779
252807
  {
252780
252808
  PGSubLink *n = makeNode(PGSubLink);
252781
252809
  n->subselect = (yyvsp[(1) - (1)].node);
@@ -252785,12 +252813,12 @@ yyreduce:
252785
252813
  break;
252786
252814
 
252787
252815
  case 999:
252788
- #line 3110 "third_party/libpg_query/grammar/statements/select.y"
252816
+ #line 3108 "third_party/libpg_query/grammar/statements/select.y"
252789
252817
  { (yyval.node) = (PGNode *)(yyvsp[(2) - (3)].list); ;}
252790
252818
  break;
252791
252819
 
252792
252820
  case 1000:
252793
- #line 3121 "third_party/libpg_query/grammar/statements/select.y"
252821
+ #line 3119 "third_party/libpg_query/grammar/statements/select.y"
252794
252822
  {
252795
252823
  PGCaseExpr *c = makeNode(PGCaseExpr);
252796
252824
  c->casetype = InvalidOid; /* not analyzed yet */
@@ -252803,17 +252831,17 @@ yyreduce:
252803
252831
  break;
252804
252832
 
252805
252833
  case 1001:
252806
- #line 3134 "third_party/libpg_query/grammar/statements/select.y"
252834
+ #line 3132 "third_party/libpg_query/grammar/statements/select.y"
252807
252835
  { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
252808
252836
  break;
252809
252837
 
252810
252838
  case 1002:
252811
- #line 3135 "third_party/libpg_query/grammar/statements/select.y"
252839
+ #line 3133 "third_party/libpg_query/grammar/statements/select.y"
252812
252840
  { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); ;}
252813
252841
  break;
252814
252842
 
252815
252843
  case 1003:
252816
- #line 3140 "third_party/libpg_query/grammar/statements/select.y"
252844
+ #line 3138 "third_party/libpg_query/grammar/statements/select.y"
252817
252845
  {
252818
252846
  PGCaseWhen *w = makeNode(PGCaseWhen);
252819
252847
  w->expr = (PGExpr *) (yyvsp[(2) - (4)].node);
@@ -252824,48 +252852,48 @@ yyreduce:
252824
252852
  break;
252825
252853
 
252826
252854
  case 1004:
252827
- #line 3150 "third_party/libpg_query/grammar/statements/select.y"
252855
+ #line 3148 "third_party/libpg_query/grammar/statements/select.y"
252828
252856
  { (yyval.node) = (yyvsp[(2) - (2)].node); ;}
252829
252857
  break;
252830
252858
 
252831
252859
  case 1005:
252832
- #line 3151 "third_party/libpg_query/grammar/statements/select.y"
252860
+ #line 3149 "third_party/libpg_query/grammar/statements/select.y"
252833
252861
  { (yyval.node) = NULL; ;}
252834
252862
  break;
252835
252863
 
252836
252864
  case 1006:
252837
- #line 3154 "third_party/libpg_query/grammar/statements/select.y"
252865
+ #line 3152 "third_party/libpg_query/grammar/statements/select.y"
252838
252866
  { (yyval.node) = (yyvsp[(1) - (1)].node); ;}
252839
252867
  break;
252840
252868
 
252841
252869
  case 1007:
252842
- #line 3155 "third_party/libpg_query/grammar/statements/select.y"
252870
+ #line 3153 "third_party/libpg_query/grammar/statements/select.y"
252843
252871
  { (yyval.node) = NULL; ;}
252844
252872
  break;
252845
252873
 
252846
252874
  case 1008:
252847
- #line 3159 "third_party/libpg_query/grammar/statements/select.y"
252875
+ #line 3157 "third_party/libpg_query/grammar/statements/select.y"
252848
252876
  {
252849
252877
  (yyval.node) = makeColumnRef((yyvsp[(1) - (1)].str), NIL, (yylsp[(1) - (1)]), yyscanner);
252850
252878
  ;}
252851
252879
  break;
252852
252880
 
252853
252881
  case 1009:
252854
- #line 3163 "third_party/libpg_query/grammar/statements/select.y"
252882
+ #line 3161 "third_party/libpg_query/grammar/statements/select.y"
252855
252883
  {
252856
252884
  (yyval.node) = makeColumnRef((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].list), (yylsp[(1) - (2)]), yyscanner);
252857
252885
  ;}
252858
252886
  break;
252859
252887
 
252860
252888
  case 1010:
252861
- #line 3170 "third_party/libpg_query/grammar/statements/select.y"
252889
+ #line 3168 "third_party/libpg_query/grammar/statements/select.y"
252862
252890
  {
252863
252891
  (yyval.node) = (PGNode *) makeString((yyvsp[(2) - (2)].str));
252864
252892
  ;}
252865
252893
  break;
252866
252894
 
252867
252895
  case 1011:
252868
- #line 3174 "third_party/libpg_query/grammar/statements/select.y"
252896
+ #line 3172 "third_party/libpg_query/grammar/statements/select.y"
252869
252897
  {
252870
252898
  PGAIndices *ai = makeNode(PGAIndices);
252871
252899
  ai->is_slice = false;
@@ -252876,7 +252904,7 @@ yyreduce:
252876
252904
  break;
252877
252905
 
252878
252906
  case 1012:
252879
- #line 3182 "third_party/libpg_query/grammar/statements/select.y"
252907
+ #line 3180 "third_party/libpg_query/grammar/statements/select.y"
252880
252908
  {
252881
252909
  PGAIndices *ai = makeNode(PGAIndices);
252882
252910
  ai->is_slice = true;
@@ -252887,57 +252915,57 @@ yyreduce:
252887
252915
  break;
252888
252916
 
252889
252917
  case 1013:
252890
- #line 3192 "third_party/libpg_query/grammar/statements/select.y"
252918
+ #line 3190 "third_party/libpg_query/grammar/statements/select.y"
252891
252919
  { (yyval.node) = (yyvsp[(1) - (1)].node); ;}
252892
252920
  break;
252893
252921
 
252894
252922
  case 1014:
252895
- #line 3193 "third_party/libpg_query/grammar/statements/select.y"
252923
+ #line 3191 "third_party/libpg_query/grammar/statements/select.y"
252896
252924
  { (yyval.node) = NULL; ;}
252897
252925
  break;
252898
252926
 
252899
252927
  case 1015:
252900
- #line 3197 "third_party/libpg_query/grammar/statements/select.y"
252928
+ #line 3195 "third_party/libpg_query/grammar/statements/select.y"
252901
252929
  { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
252902
252930
  break;
252903
252931
 
252904
252932
  case 1016:
252905
- #line 3198 "third_party/libpg_query/grammar/statements/select.y"
252933
+ #line 3196 "third_party/libpg_query/grammar/statements/select.y"
252906
252934
  { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); ;}
252907
252935
  break;
252908
252936
 
252909
252937
  case 1017:
252910
- #line 3202 "third_party/libpg_query/grammar/statements/select.y"
252938
+ #line 3200 "third_party/libpg_query/grammar/statements/select.y"
252911
252939
  { (yyval.list) = NIL; ;}
252912
252940
  break;
252913
252941
 
252914
252942
  case 1018:
252915
- #line 3203 "third_party/libpg_query/grammar/statements/select.y"
252943
+ #line 3201 "third_party/libpg_query/grammar/statements/select.y"
252916
252944
  { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); ;}
252917
252945
  break;
252918
252946
 
252919
252947
  case 1021:
252920
- #line 3217 "third_party/libpg_query/grammar/statements/select.y"
252948
+ #line 3215 "third_party/libpg_query/grammar/statements/select.y"
252921
252949
  { (yyval.list) = (yyvsp[(1) - (1)].list); ;}
252922
252950
  break;
252923
252951
 
252924
252952
  case 1022:
252925
- #line 3218 "third_party/libpg_query/grammar/statements/select.y"
252953
+ #line 3216 "third_party/libpg_query/grammar/statements/select.y"
252926
252954
  { (yyval.list) = NIL; ;}
252927
252955
  break;
252928
252956
 
252929
252957
  case 1023:
252930
- #line 3222 "third_party/libpg_query/grammar/statements/select.y"
252958
+ #line 3220 "third_party/libpg_query/grammar/statements/select.y"
252931
252959
  { (yyval.list) = list_make1((yyvsp[(1) - (1)].target)); ;}
252932
252960
  break;
252933
252961
 
252934
252962
  case 1024:
252935
- #line 3223 "third_party/libpg_query/grammar/statements/select.y"
252963
+ #line 3221 "third_party/libpg_query/grammar/statements/select.y"
252936
252964
  { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].target)); ;}
252937
252965
  break;
252938
252966
 
252939
252967
  case 1025:
252940
- #line 3227 "third_party/libpg_query/grammar/statements/select.y"
252968
+ #line 3225 "third_party/libpg_query/grammar/statements/select.y"
252941
252969
  {
252942
252970
  (yyval.target) = makeNode(PGResTarget);
252943
252971
  (yyval.target)->name = (yyvsp[(3) - (3)].str);
@@ -252948,7 +252976,7 @@ yyreduce:
252948
252976
  break;
252949
252977
 
252950
252978
  case 1026:
252951
- #line 3243 "third_party/libpg_query/grammar/statements/select.y"
252979
+ #line 3241 "third_party/libpg_query/grammar/statements/select.y"
252952
252980
  {
252953
252981
  (yyval.target) = makeNode(PGResTarget);
252954
252982
  (yyval.target)->name = (yyvsp[(2) - (2)].str);
@@ -252959,7 +252987,7 @@ yyreduce:
252959
252987
  break;
252960
252988
 
252961
252989
  case 1027:
252962
- #line 3251 "third_party/libpg_query/grammar/statements/select.y"
252990
+ #line 3249 "third_party/libpg_query/grammar/statements/select.y"
252963
252991
  {
252964
252992
  (yyval.target) = makeNode(PGResTarget);
252965
252993
  (yyval.target)->name = NULL;
@@ -252970,7 +252998,7 @@ yyreduce:
252970
252998
  break;
252971
252999
 
252972
253000
  case 1028:
252973
- #line 3259 "third_party/libpg_query/grammar/statements/select.y"
253001
+ #line 3257 "third_party/libpg_query/grammar/statements/select.y"
252974
253002
  {
252975
253003
  PGColumnRef *n = makeNode(PGColumnRef);
252976
253004
  PGAStar *star = makeNode(PGAStar);
@@ -252988,7 +253016,7 @@ yyreduce:
252988
253016
  break;
252989
253017
 
252990
253018
  case 1029:
252991
- #line 3274 "third_party/libpg_query/grammar/statements/select.y"
253019
+ #line 3272 "third_party/libpg_query/grammar/statements/select.y"
252992
253020
  {
252993
253021
  PGColumnRef *n = makeNode(PGColumnRef);
252994
253022
  PGAStar *star = makeNode(PGAStar);
@@ -253007,74 +253035,74 @@ yyreduce:
253007
253035
  break;
253008
253036
 
253009
253037
  case 1030:
253010
- #line 3291 "third_party/libpg_query/grammar/statements/select.y"
253038
+ #line 3289 "third_party/libpg_query/grammar/statements/select.y"
253011
253039
  { (yyval.list) = (yyvsp[(3) - (4)].list); ;}
253012
253040
  break;
253013
253041
 
253014
253042
  case 1031:
253015
- #line 3292 "third_party/libpg_query/grammar/statements/select.y"
253043
+ #line 3290 "third_party/libpg_query/grammar/statements/select.y"
253016
253044
  { (yyval.list) = list_make1(makeString((yyvsp[(2) - (2)].str))); ;}
253017
253045
  break;
253018
253046
 
253019
253047
  case 1032:
253020
- #line 3295 "third_party/libpg_query/grammar/statements/select.y"
253048
+ #line 3293 "third_party/libpg_query/grammar/statements/select.y"
253021
253049
  { (yyval.list) = (yyvsp[(1) - (1)].list); ;}
253022
253050
  break;
253023
253051
 
253024
253052
  case 1033:
253025
- #line 3296 "third_party/libpg_query/grammar/statements/select.y"
253053
+ #line 3294 "third_party/libpg_query/grammar/statements/select.y"
253026
253054
  { (yyval.list) = NULL; ;}
253027
253055
  break;
253028
253056
 
253029
253057
  case 1034:
253030
- #line 3299 "third_party/libpg_query/grammar/statements/select.y"
253058
+ #line 3297 "third_party/libpg_query/grammar/statements/select.y"
253031
253059
  { (yyval.list) = list_make2((yyvsp[(1) - (3)].node), makeString((yyvsp[(3) - (3)].str))); ;}
253032
253060
  break;
253033
253061
 
253034
253062
  case 1035:
253035
- #line 3303 "third_party/libpg_query/grammar/statements/select.y"
253063
+ #line 3301 "third_party/libpg_query/grammar/statements/select.y"
253036
253064
  { (yyval.list) = list_make1((yyvsp[(1) - (1)].list)); ;}
253037
253065
  break;
253038
253066
 
253039
253067
  case 1036:
253040
- #line 3304 "third_party/libpg_query/grammar/statements/select.y"
253068
+ #line 3302 "third_party/libpg_query/grammar/statements/select.y"
253041
253069
  { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].list)); ;}
253042
253070
  break;
253043
253071
 
253044
253072
  case 1037:
253045
- #line 3307 "third_party/libpg_query/grammar/statements/select.y"
253073
+ #line 3305 "third_party/libpg_query/grammar/statements/select.y"
253046
253074
  { (yyval.list) = (yyvsp[(3) - (4)].list); ;}
253047
253075
  break;
253048
253076
 
253049
253077
  case 1038:
253050
- #line 3308 "third_party/libpg_query/grammar/statements/select.y"
253078
+ #line 3306 "third_party/libpg_query/grammar/statements/select.y"
253051
253079
  { (yyval.list) = list_make1((yyvsp[(2) - (2)].list)); ;}
253052
253080
  break;
253053
253081
 
253054
253082
  case 1039:
253055
- #line 3309 "third_party/libpg_query/grammar/statements/select.y"
253083
+ #line 3307 "third_party/libpg_query/grammar/statements/select.y"
253056
253084
  { (yyval.list) = NULL; ;}
253057
253085
  break;
253058
253086
 
253059
253087
  case 1040:
253060
- #line 3319 "third_party/libpg_query/grammar/statements/select.y"
253088
+ #line 3317 "third_party/libpg_query/grammar/statements/select.y"
253061
253089
  { (yyval.list) = list_make1((yyvsp[(1) - (1)].range)); ;}
253062
253090
  break;
253063
253091
 
253064
253092
  case 1041:
253065
- #line 3320 "third_party/libpg_query/grammar/statements/select.y"
253093
+ #line 3318 "third_party/libpg_query/grammar/statements/select.y"
253066
253094
  { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].range)); ;}
253067
253095
  break;
253068
253096
 
253069
253097
  case 1042:
253070
- #line 3332 "third_party/libpg_query/grammar/statements/select.y"
253098
+ #line 3330 "third_party/libpg_query/grammar/statements/select.y"
253071
253099
  {
253072
253100
  (yyval.range) = makeRangeVar(NULL, (yyvsp[(1) - (1)].str), (yylsp[(1) - (1)]));
253073
253101
  ;}
253074
253102
  break;
253075
253103
 
253076
253104
  case 1043:
253077
- #line 3336 "third_party/libpg_query/grammar/statements/select.y"
253105
+ #line 3334 "third_party/libpg_query/grammar/statements/select.y"
253078
253106
  {
253079
253107
  check_qualified_name((yyvsp[(2) - (2)].list), yyscanner);
253080
253108
  (yyval.range) = makeRangeVar(NULL, NULL, (yylsp[(1) - (2)]));
@@ -253102,32 +253130,32 @@ yyreduce:
253102
253130
  break;
253103
253131
 
253104
253132
  case 1044:
253105
- #line 3363 "third_party/libpg_query/grammar/statements/select.y"
253133
+ #line 3361 "third_party/libpg_query/grammar/statements/select.y"
253106
253134
  { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
253107
253135
  break;
253108
253136
 
253109
253137
  case 1045:
253110
- #line 3365 "third_party/libpg_query/grammar/statements/select.y"
253138
+ #line 3363 "third_party/libpg_query/grammar/statements/select.y"
253111
253139
  { (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeString((yyvsp[(3) - (3)].str))); ;}
253112
253140
  break;
253113
253141
 
253114
253142
  case 1046:
253115
- #line 3369 "third_party/libpg_query/grammar/statements/select.y"
253143
+ #line 3367 "third_party/libpg_query/grammar/statements/select.y"
253116
253144
  { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
253117
253145
  break;
253118
253146
 
253119
253147
  case 1047:
253120
- #line 3371 "third_party/libpg_query/grammar/statements/select.y"
253148
+ #line 3369 "third_party/libpg_query/grammar/statements/select.y"
253121
253149
  { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
253122
253150
  break;
253123
253151
 
253124
253152
  case 1048:
253125
- #line 3382 "third_party/libpg_query/grammar/statements/select.y"
253153
+ #line 3380 "third_party/libpg_query/grammar/statements/select.y"
253126
253154
  { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
253127
253155
  break;
253128
253156
 
253129
253157
  case 1049:
253130
- #line 3385 "third_party/libpg_query/grammar/statements/select.y"
253158
+ #line 3383 "third_party/libpg_query/grammar/statements/select.y"
253131
253159
  {
253132
253160
  (yyval.list) = check_func_name(lcons(makeString((yyvsp[(1) - (2)].str)), (yyvsp[(2) - (2)].list)),
253133
253161
  yyscanner);
@@ -253135,21 +253163,21 @@ yyreduce:
253135
253163
  break;
253136
253164
 
253137
253165
  case 1050:
253138
- #line 3396 "third_party/libpg_query/grammar/statements/select.y"
253166
+ #line 3394 "third_party/libpg_query/grammar/statements/select.y"
253139
253167
  {
253140
253168
  (yyval.node) = makeIntConst((yyvsp[(1) - (1)].ival), (yylsp[(1) - (1)]));
253141
253169
  ;}
253142
253170
  break;
253143
253171
 
253144
253172
  case 1051:
253145
- #line 3400 "third_party/libpg_query/grammar/statements/select.y"
253173
+ #line 3398 "third_party/libpg_query/grammar/statements/select.y"
253146
253174
  {
253147
253175
  (yyval.node) = makeFloatConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)]));
253148
253176
  ;}
253149
253177
  break;
253150
253178
 
253151
253179
  case 1052:
253152
- #line 3404 "third_party/libpg_query/grammar/statements/select.y"
253180
+ #line 3402 "third_party/libpg_query/grammar/statements/select.y"
253153
253181
  {
253154
253182
  if ((yyvsp[(2) - (2)].list))
253155
253183
  {
@@ -253164,14 +253192,14 @@ yyreduce:
253164
253192
  break;
253165
253193
 
253166
253194
  case 1053:
253167
- #line 3416 "third_party/libpg_query/grammar/statements/select.y"
253195
+ #line 3414 "third_party/libpg_query/grammar/statements/select.y"
253168
253196
  {
253169
253197
  (yyval.node) = makeBitStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)]));
253170
253198
  ;}
253171
253199
  break;
253172
253200
 
253173
253201
  case 1054:
253174
- #line 3420 "third_party/libpg_query/grammar/statements/select.y"
253202
+ #line 3418 "third_party/libpg_query/grammar/statements/select.y"
253175
253203
  {
253176
253204
  /* This is a bit constant per SQL99:
253177
253205
  * Without Feature F511, "BIT data type",
@@ -253183,7 +253211,7 @@ yyreduce:
253183
253211
  break;
253184
253212
 
253185
253213
  case 1055:
253186
- #line 3429 "third_party/libpg_query/grammar/statements/select.y"
253214
+ #line 3427 "third_party/libpg_query/grammar/statements/select.y"
253187
253215
  {
253188
253216
  /* generic type 'literal' syntax */
253189
253217
  PGTypeName *t = makeTypeNameFromNameList((yyvsp[(1) - (2)].list));
@@ -253193,7 +253221,7 @@ yyreduce:
253193
253221
  break;
253194
253222
 
253195
253223
  case 1056:
253196
- #line 3436 "third_party/libpg_query/grammar/statements/select.y"
253224
+ #line 3434 "third_party/libpg_query/grammar/statements/select.y"
253197
253225
  {
253198
253226
  /* generic syntax with a type modifier */
253199
253227
  PGTypeName *t = makeTypeNameFromNameList((yyvsp[(1) - (7)].list));
@@ -253234,191 +253262,191 @@ yyreduce:
253234
253262
  break;
253235
253263
 
253236
253264
  case 1057:
253237
- #line 3474 "third_party/libpg_query/grammar/statements/select.y"
253265
+ #line 3472 "third_party/libpg_query/grammar/statements/select.y"
253238
253266
  {
253239
253267
  (yyval.node) = makeStringConstCast((yyvsp[(2) - (2)].str), (yylsp[(2) - (2)]), (yyvsp[(1) - (2)].typnam));
253240
253268
  ;}
253241
253269
  break;
253242
253270
 
253243
253271
  case 1058:
253244
- #line 3478 "third_party/libpg_query/grammar/statements/select.y"
253272
+ #line 3476 "third_party/libpg_query/grammar/statements/select.y"
253245
253273
  {
253246
253274
  (yyval.node) = makeIntervalNode((yyvsp[(3) - (5)].node), (yylsp[(3) - (5)]), (yyvsp[(5) - (5)].list));
253247
253275
  ;}
253248
253276
  break;
253249
253277
 
253250
253278
  case 1059:
253251
- #line 3482 "third_party/libpg_query/grammar/statements/select.y"
253279
+ #line 3480 "third_party/libpg_query/grammar/statements/select.y"
253252
253280
  {
253253
253281
  (yyval.node) = makeIntervalNode((yyvsp[(2) - (3)].ival), (yylsp[(2) - (3)]), (yyvsp[(3) - (3)].list));
253254
253282
  ;}
253255
253283
  break;
253256
253284
 
253257
253285
  case 1060:
253258
- #line 3486 "third_party/libpg_query/grammar/statements/select.y"
253286
+ #line 3484 "third_party/libpg_query/grammar/statements/select.y"
253259
253287
  {
253260
253288
  (yyval.node) = makeIntervalNode((yyvsp[(2) - (3)].str), (yylsp[(2) - (3)]), (yyvsp[(3) - (3)].list));
253261
253289
  ;}
253262
253290
  break;
253263
253291
 
253264
253292
  case 1061:
253265
- #line 3490 "third_party/libpg_query/grammar/statements/select.y"
253293
+ #line 3488 "third_party/libpg_query/grammar/statements/select.y"
253266
253294
  {
253267
253295
  (yyval.node) = makeBoolAConst(true, (yylsp[(1) - (1)]));
253268
253296
  ;}
253269
253297
  break;
253270
253298
 
253271
253299
  case 1062:
253272
- #line 3494 "third_party/libpg_query/grammar/statements/select.y"
253300
+ #line 3492 "third_party/libpg_query/grammar/statements/select.y"
253273
253301
  {
253274
253302
  (yyval.node) = makeBoolAConst(false, (yylsp[(1) - (1)]));
253275
253303
  ;}
253276
253304
  break;
253277
253305
 
253278
253306
  case 1063:
253279
- #line 3498 "third_party/libpg_query/grammar/statements/select.y"
253307
+ #line 3496 "third_party/libpg_query/grammar/statements/select.y"
253280
253308
  {
253281
253309
  (yyval.node) = makeNullAConst((yylsp[(1) - (1)]));
253282
253310
  ;}
253283
253311
  break;
253284
253312
 
253285
253313
  case 1064:
253286
- #line 3503 "third_party/libpg_query/grammar/statements/select.y"
253314
+ #line 3501 "third_party/libpg_query/grammar/statements/select.y"
253287
253315
  { (yyval.ival) = (yyvsp[(1) - (1)].ival); ;}
253288
253316
  break;
253289
253317
 
253290
253318
  case 1065:
253291
- #line 3504 "third_party/libpg_query/grammar/statements/select.y"
253319
+ #line 3502 "third_party/libpg_query/grammar/statements/select.y"
253292
253320
  { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
253293
253321
  break;
253294
253322
 
253295
253323
  case 1066:
253296
- #line 3520 "third_party/libpg_query/grammar/statements/select.y"
253324
+ #line 3518 "third_party/libpg_query/grammar/statements/select.y"
253297
253325
  { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
253298
253326
  break;
253299
253327
 
253300
253328
  case 1067:
253301
- #line 3521 "third_party/libpg_query/grammar/statements/select.y"
253329
+ #line 3519 "third_party/libpg_query/grammar/statements/select.y"
253302
253330
  { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
253303
253331
  break;
253304
253332
 
253305
253333
  case 1068:
253306
- #line 3522 "third_party/libpg_query/grammar/statements/select.y"
253334
+ #line 3520 "third_party/libpg_query/grammar/statements/select.y"
253307
253335
  { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
253308
253336
  break;
253309
253337
 
253310
253338
  case 1069:
253311
- #line 3525 "third_party/libpg_query/grammar/statements/select.y"
253339
+ #line 3523 "third_party/libpg_query/grammar/statements/select.y"
253312
253340
  { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
253313
253341
  break;
253314
253342
 
253315
253343
  case 1070:
253316
- #line 3526 "third_party/libpg_query/grammar/statements/select.y"
253344
+ #line 3524 "third_party/libpg_query/grammar/statements/select.y"
253317
253345
  { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
253318
253346
  break;
253319
253347
 
253320
253348
  case 1071:
253321
- #line 3532 "third_party/libpg_query/grammar/statements/select.y"
253349
+ #line 3530 "third_party/libpg_query/grammar/statements/select.y"
253322
253350
  { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
253323
253351
  break;
253324
253352
 
253325
253353
  case 1072:
253326
- #line 3533 "third_party/libpg_query/grammar/statements/select.y"
253354
+ #line 3531 "third_party/libpg_query/grammar/statements/select.y"
253327
253355
  { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
253328
253356
  break;
253329
253357
 
253330
253358
  case 1073:
253331
- #line 3534 "third_party/libpg_query/grammar/statements/select.y"
253359
+ #line 3532 "third_party/libpg_query/grammar/statements/select.y"
253332
253360
  { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
253333
253361
  break;
253334
253362
 
253335
253363
  case 1074:
253336
- #line 3537 "third_party/libpg_query/grammar/statements/select.y"
253364
+ #line 3535 "third_party/libpg_query/grammar/statements/select.y"
253337
253365
  { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
253338
253366
  break;
253339
253367
 
253340
253368
  case 1075:
253341
- #line 3538 "third_party/libpg_query/grammar/statements/select.y"
253369
+ #line 3536 "third_party/libpg_query/grammar/statements/select.y"
253342
253370
  { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
253343
253371
  break;
253344
253372
 
253345
253373
  case 1076:
253346
- #line 3539 "third_party/libpg_query/grammar/statements/select.y"
253374
+ #line 3537 "third_party/libpg_query/grammar/statements/select.y"
253347
253375
  { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
253348
253376
  break;
253349
253377
 
253350
253378
  case 1077:
253351
- #line 3542 "third_party/libpg_query/grammar/statements/select.y"
253379
+ #line 3540 "third_party/libpg_query/grammar/statements/select.y"
253352
253380
  { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
253353
253381
  break;
253354
253382
 
253355
253383
  case 1078:
253356
- #line 3543 "third_party/libpg_query/grammar/statements/select.y"
253384
+ #line 3541 "third_party/libpg_query/grammar/statements/select.y"
253357
253385
  { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
253358
253386
  break;
253359
253387
 
253360
253388
  case 1079:
253361
- #line 3544 "third_party/libpg_query/grammar/statements/select.y"
253389
+ #line 3542 "third_party/libpg_query/grammar/statements/select.y"
253362
253390
  { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
253363
253391
  break;
253364
253392
 
253365
253393
  case 1080:
253366
- #line 3547 "third_party/libpg_query/grammar/statements/select.y"
253394
+ #line 3545 "third_party/libpg_query/grammar/statements/select.y"
253367
253395
  { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
253368
253396
  break;
253369
253397
 
253370
253398
  case 1081:
253371
- #line 3548 "third_party/libpg_query/grammar/statements/select.y"
253399
+ #line 3546 "third_party/libpg_query/grammar/statements/select.y"
253372
253400
  { (yyval.list) = lcons(makeString((yyvsp[(1) - (2)].str)), (yyvsp[(2) - (2)].list)); ;}
253373
253401
  break;
253374
253402
 
253375
253403
  case 1082:
253376
- #line 3552 "third_party/libpg_query/grammar/statements/select.y"
253404
+ #line 3550 "third_party/libpg_query/grammar/statements/select.y"
253377
253405
  { (yyval.list) = list_make1(makeString((yyvsp[(2) - (2)].str))); ;}
253378
253406
  break;
253379
253407
 
253380
253408
  case 1083:
253381
- #line 3554 "third_party/libpg_query/grammar/statements/select.y"
253409
+ #line 3552 "third_party/libpg_query/grammar/statements/select.y"
253382
253410
  { (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeString((yyvsp[(3) - (3)].str))); ;}
253383
253411
  break;
253384
253412
 
253385
253413
  case 1084:
253386
- #line 3558 "third_party/libpg_query/grammar/statements/select.y"
253414
+ #line 3556 "third_party/libpg_query/grammar/statements/select.y"
253387
253415
  { (yyval.list) = (yyvsp[(2) - (3)].list); ;}
253388
253416
  break;
253389
253417
 
253390
253418
  case 1085:
253391
- #line 3559 "third_party/libpg_query/grammar/statements/select.y"
253419
+ #line 3557 "third_party/libpg_query/grammar/statements/select.y"
253392
253420
  { (yyval.list) = NIL; ;}
253393
253421
  break;
253394
253422
 
253395
253423
  case 1087:
253396
- #line 3570 "third_party/libpg_query/grammar/statements/select.y"
253424
+ #line 3568 "third_party/libpg_query/grammar/statements/select.y"
253397
253425
  { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
253398
253426
  break;
253399
253427
 
253400
253428
  case 1088:
253401
- #line 3571 "third_party/libpg_query/grammar/statements/select.y"
253429
+ #line 3569 "third_party/libpg_query/grammar/statements/select.y"
253402
253430
  { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
253403
253431
  break;
253404
253432
 
253405
253433
  case 1089:
253406
- #line 3572 "third_party/libpg_query/grammar/statements/select.y"
253434
+ #line 3570 "third_party/libpg_query/grammar/statements/select.y"
253407
253435
  { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
253408
253436
  break;
253409
253437
 
253410
253438
  case 1090:
253411
- #line 3573 "third_party/libpg_query/grammar/statements/select.y"
253439
+ #line 3571 "third_party/libpg_query/grammar/statements/select.y"
253412
253440
  { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
253413
253441
  break;
253414
253442
 
253415
253443
  case 1091:
253416
- #line 3576 "third_party/libpg_query/grammar/statements/select.y"
253444
+ #line 3574 "third_party/libpg_query/grammar/statements/select.y"
253417
253445
  { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
253418
253446
  break;
253419
253447
 
253420
253448
  case 1092:
253421
- #line 3577 "third_party/libpg_query/grammar/statements/select.y"
253449
+ #line 3575 "third_party/libpg_query/grammar/statements/select.y"
253422
253450
  { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
253423
253451
  break;
253424
253452
 
@@ -254608,7 +254636,7 @@ yyreduce:
254608
254636
 
254609
254637
 
254610
254638
  /* Line 1267 of yacc.c. */
254611
- #line 24892 "third_party/libpg_query/grammar/grammar_out.cpp"
254639
+ #line 24890 "third_party/libpg_query/grammar/grammar_out.cpp"
254612
254640
  default: break;
254613
254641
  }
254614
254642
  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);