embulk-filter-row 0.3.2 → 0.3.3
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +7 -0
- data/README.md +10 -6
- data/build.gradle +1 -1
- data/src/main/java/org/embulk/filter/row/where/Parser.java +144 -90
- data/src/main/java/org/embulk/filter/row/where/ParserExp.java +112 -8
- data/src/main/java/org/embulk/filter/row/where/ParserLiteral.java +46 -22
- data/src/main/java/org/embulk/filter/row/where/Yylex.java +115 -111
- data/src/main/java/org/embulk/filter/row/where/_lexer.l +3 -2
- data/src/main/java/org/embulk/filter/row/where/_parser.y +47 -38
- data/src/test/java/org/embulk/filter/row/where/TestParser.java +107 -5
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d1a5e3ca3f112b41b011aeedc0ac215ba78c70fd
|
4
|
+
data.tar.gz: 8ca385ba7785b9ed44d077dc274727e621a2c380
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7cfb6083eacafa6e1c235b49663569b1b9f23524dc455b947fb7da10d22039823d4f4a114dfc84e0e9432b76e9a9c27bb19b070e4b595e2b7a2dbe13d1e09cb8
|
7
|
+
data.tar.gz: b9f9da54d28074537d2bd655ba1d23acb67bb62bb88b7968ad7f2a384a648cb800f1fafb0aee920e725e7d35169ae751b89d56ca406516630cd784aa0098f358
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -6,7 +6,7 @@ A filter plugin for Embulk to filter out rows
|
|
6
6
|
|
7
7
|
## Configuration
|
8
8
|
|
9
|
-
* **where**:
|
9
|
+
* **where**: Select only rows which matches with conditions written in SQL-like syntax. See [SQL-like Syntax](#sql-like-syntax)
|
10
10
|
|
11
11
|
Following options are **deprecated**, and will be removed someday.
|
12
12
|
|
@@ -124,7 +124,8 @@ where: |-
|
|
124
124
|
OR
|
125
125
|
(
|
126
126
|
time = TIMESTAMP '2016-01-01 +0900' AND
|
127
|
-
"true" = true
|
127
|
+
"true" = true AND
|
128
|
+
string REGEXP '^reg'
|
128
129
|
)
|
129
130
|
```
|
130
131
|
|
@@ -159,6 +160,8 @@ String is a timestamp string which matches with one of following format:
|
|
159
160
|
|
160
161
|
The time zone for formats without `%z` is UTC, and the time resolution is micro second (caused by limitation of Embulk TimestampParser).
|
161
162
|
|
163
|
+
It is possible to omit `TIMESTAMP` keyword on comparing with `timestamp` identifier from version >= 0.3.3.
|
164
|
+
|
162
165
|
### Json Literal
|
163
166
|
|
164
167
|
Not supported yet
|
@@ -171,12 +174,12 @@ Characters matching with a regular expression `[a-zA-Z_][a-zA-z0-9_]*` such as `
|
|
171
174
|
|
172
175
|
### Boolean Operator
|
173
176
|
|
174
|
-
*
|
177
|
+
* =
|
175
178
|
* !=
|
176
179
|
|
177
180
|
### Number Operator (Long and Double)
|
178
181
|
|
179
|
-
*
|
182
|
+
* =
|
180
183
|
* !=
|
181
184
|
* >
|
182
185
|
* >=
|
@@ -185,15 +188,16 @@ Characters matching with a regular expression `[a-zA-Z_][a-zA-z0-9_]*` such as `
|
|
185
188
|
|
186
189
|
### String Operator
|
187
190
|
|
188
|
-
*
|
191
|
+
* =
|
189
192
|
* !=
|
190
193
|
* START_WITH
|
191
194
|
* END_WITH
|
192
195
|
* INCLUDE
|
196
|
+
* REGEXP
|
193
197
|
|
194
198
|
### Timestamp Operator
|
195
199
|
|
196
|
-
*
|
200
|
+
* =
|
197
201
|
* !=
|
198
202
|
* >
|
199
203
|
* >=
|
data/build.gradle
CHANGED
@@ -178,48 +178,55 @@ public final static short STRING=272;
|
|
178
178
|
public final static short NUMBER=273;
|
179
179
|
public final static short IDENTIFIER=274;
|
180
180
|
public final static short TIMESTAMP=275;
|
181
|
+
public final static short REGEXP=276;
|
181
182
|
public final static short YYERRCODE=256;
|
182
183
|
final static short yylhs[] = { -1,
|
183
184
|
0, 0, 2, 2, 1, 1, 1, 1, 1, 1,
|
184
185
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
185
186
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
186
187
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
187
|
-
1, 1, 1, 1, 1, 1, 1, 1,
|
188
|
+
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
189
|
+
1, 1, 1, 1, 1, 1, 1,
|
188
190
|
};
|
189
191
|
final static short yylen[] = { 2,
|
190
192
|
0, 1, 2, 2, 3, 3, 3, 3, 3, 3,
|
191
193
|
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
192
194
|
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
193
195
|
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
194
|
-
3, 3, 3,
|
196
|
+
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
|
197
|
+
3, 3, 4, 3, 3, 2, 3,
|
195
198
|
};
|
196
199
|
final static short yydefred[] = { 0,
|
197
200
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
198
|
-
|
201
|
+
56, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
199
202
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
200
|
-
0, 0, 0, 0,
|
201
|
-
0, 0, 0, 0, 0,
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
203
|
+
0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
|
204
|
+
4, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
205
|
+
7, 8, 30, 31, 32, 33, 34, 35, 36, 37,
|
206
|
+
38, 15, 16, 17, 18, 19, 20, 5, 21, 9,
|
207
|
+
39, 6, 22, 10, 40, 23, 11, 41, 24, 12,
|
208
|
+
42, 25, 13, 43, 26, 14, 44, 27, 28, 29,
|
209
|
+
0, 52, 51, 57, 55, 0, 45, 46, 47, 48,
|
210
|
+
49, 50, 53,
|
206
211
|
};
|
207
212
|
final static short yydgoto[] = { 8,
|
208
213
|
9, 10,
|
209
214
|
};
|
210
215
|
final static short yysindex[] = { -40,
|
211
|
-
-40, -
|
212
|
-
0, -
|
213
|
-
-
|
214
|
-
-
|
215
|
-
-
|
216
|
+
-40, -181, -237, -227, -247, -229, -40, 0, -190, -221,
|
217
|
+
0, -200, -194, -193, -192, -191, -189, -188, -187, -186,
|
218
|
+
-185, -184, -183, -182, -180, -179, -178, -177, -267, -218,
|
219
|
+
-214, -210, -206, -202, -265, -216, -212, -195, -208, 0,
|
220
|
+
0, -39, -40, -40, -176, -175, -174, -173, -172, -171,
|
221
|
+
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
222
|
+
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
216
223
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
217
224
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
218
|
-
|
219
|
-
0,
|
225
|
+
-166, 0, 0, 0, 0, -163, 0, 0, 0, 0,
|
226
|
+
0, 0, 0,
|
220
227
|
};
|
221
|
-
final static short yyrindex[] = {
|
222
|
-
0, 0, 0, 0, 0, 0, 0, 0,
|
228
|
+
final static short yyrindex[] = { 68,
|
229
|
+
0, 0, 0, 0, 0, 0, 0, 0, 84, 0,
|
223
230
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
224
231
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
225
232
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
@@ -227,27 +234,29 @@ final static short yyrindex[] = { 72,
|
|
227
234
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
228
235
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
229
236
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
230
|
-
0,
|
237
|
+
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
238
|
+
0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
|
239
|
+
0, 0, 0,
|
231
240
|
};
|
232
241
|
final static short yygindex[] = { 0,
|
233
|
-
2,
|
242
|
+
2, 18,
|
234
243
|
};
|
235
244
|
final static int YYTABLESIZE=270;
|
236
245
|
static short yytable[];
|
237
246
|
static { yytable();}
|
238
247
|
static void yytable(){
|
239
248
|
yytable = new short[]{ 7,
|
240
|
-
|
241
|
-
|
242
|
-
15,
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
249
|
+
54, 94, 11, 68, 69, 70, 88, 6, 42, 29,
|
250
|
+
30, 31, 32, 33, 34, 35, 36, 37, 38, 14,
|
251
|
+
15, 16, 17, 18, 19, 20, 21, 22, 39, 23,
|
252
|
+
24, 25, 26, 27, 28, 45, 46, 47, 48, 49,
|
253
|
+
50, 54, 40, 41, 95, 96, 71, 75, 78, 81,
|
254
|
+
84, 87, 72, 73, 74, 89, 6, 76, 77, 90,
|
255
|
+
6, 79, 80, 93, 6, 82, 83, 1, 6, 85,
|
256
|
+
86, 91, 6, 51, 92, 12, 13, 43, 44, 52,
|
257
|
+
53, 54, 55, 2, 56, 57, 58, 59, 60, 61,
|
258
|
+
62, 63, 0, 64, 65, 66, 67, 97, 98, 99,
|
259
|
+
100, 101, 102, 103, 43, 0, 0, 0, 0, 0,
|
251
260
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
252
261
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
253
262
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
@@ -259,11 +268,11 @@ yytable = new short[]{ 7,
|
|
259
268
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
260
269
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
261
270
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
262
|
-
0, 0, 0, 0, 0, 0, 1, 0,
|
271
|
+
0, 0, 0, 0, 0, 0, 1, 0, 43, 44,
|
263
272
|
2, 3, 4, 5, 6, 0, 0, 0, 0, 0,
|
264
273
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
265
274
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
266
|
-
0, 0, 0, 0, 0, 0, 0, 0, 0,
|
275
|
+
0, 0, 0, 0, 0, 0, 0, 0, 0, 54,
|
267
276
|
};
|
268
277
|
}
|
269
278
|
static short yycheck[];
|
@@ -272,15 +281,15 @@ static void yycheck() {
|
|
272
281
|
yycheck = new short[] { 40,
|
273
282
|
0, 41, 1, 271, 272, 273, 272, 275, 7, 257,
|
274
283
|
258, 259, 260, 261, 262, 263, 264, 265, 266, 257,
|
275
|
-
258,
|
276
|
-
259, 260, 261, 262,
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
+
258, 259, 260, 261, 262, 263, 264, 265, 276, 257,
|
285
|
+
258, 259, 260, 261, 262, 257, 258, 259, 260, 261,
|
286
|
+
262, 41, 272, 273, 43, 44, 29, 30, 31, 32,
|
287
|
+
33, 34, 271, 272, 273, 272, 275, 272, 273, 272,
|
288
|
+
275, 272, 273, 272, 275, 272, 273, 0, 275, 272,
|
289
|
+
273, 267, 275, 274, 270, 257, 258, 268, 269, 274,
|
290
|
+
274, 274, 274, 0, 274, 274, 274, 274, 274, 274,
|
291
|
+
274, 274, -1, 274, 274, 274, 274, 274, 274, 274,
|
292
|
+
274, 274, 274, 270, 268, -1, -1, -1, -1, -1,
|
284
293
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
285
294
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
286
295
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
@@ -300,7 +309,7 @@ yycheck = new short[] { 40,
|
|
300
309
|
};
|
301
310
|
}
|
302
311
|
final static short YYFINAL=8;
|
303
|
-
final static short YYMAXTOKEN=
|
312
|
+
final static short YYMAXTOKEN=276;
|
304
313
|
final static String yyname[] = {
|
305
314
|
"end-of-file",null,null,null,null,null,null,null,null,null,null,null,null,null,
|
306
315
|
null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,
|
@@ -320,7 +329,7 @@ null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,
|
|
320
329
|
null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,
|
321
330
|
null,null,null,null,"EQ","NEQ","GT","GE","LT","LE","START_WITH","END_WITH",
|
322
331
|
"INCLUDE","IS","NOT","AND","OR","NULL","BOOLEAN","STRING","NUMBER","IDENTIFIER",
|
323
|
-
"TIMESTAMP",
|
332
|
+
"TIMESTAMP","REGEXP",
|
324
333
|
};
|
325
334
|
final static String yyrule[] = {
|
326
335
|
"$accept : input",
|
@@ -346,11 +355,19 @@ final static String yyrule[] = {
|
|
346
355
|
"exp : NUMBER LE IDENTIFIER",
|
347
356
|
"exp : IDENTIFIER EQ STRING",
|
348
357
|
"exp : IDENTIFIER NEQ STRING",
|
358
|
+
"exp : IDENTIFIER GT STRING",
|
359
|
+
"exp : IDENTIFIER GE STRING",
|
360
|
+
"exp : IDENTIFIER LT STRING",
|
361
|
+
"exp : IDENTIFIER LE STRING",
|
349
362
|
"exp : IDENTIFIER START_WITH STRING",
|
350
363
|
"exp : IDENTIFIER END_WITH STRING",
|
351
364
|
"exp : IDENTIFIER INCLUDE STRING",
|
352
365
|
"exp : STRING EQ IDENTIFIER",
|
353
366
|
"exp : STRING NEQ IDENTIFIER",
|
367
|
+
"exp : STRING GT IDENTIFIER",
|
368
|
+
"exp : STRING GE IDENTIFIER",
|
369
|
+
"exp : STRING LT IDENTIFIER",
|
370
|
+
"exp : STRING LE IDENTIFIER",
|
354
371
|
"exp : STRING START_WITH IDENTIFIER",
|
355
372
|
"exp : STRING END_WITH IDENTIFIER",
|
356
373
|
"exp : STRING INCLUDE IDENTIFIER",
|
@@ -366,6 +383,7 @@ final static String yyrule[] = {
|
|
366
383
|
"exp : timestamp GE IDENTIFIER",
|
367
384
|
"exp : timestamp LT IDENTIFIER",
|
368
385
|
"exp : timestamp LE IDENTIFIER",
|
386
|
+
"exp : IDENTIFIER REGEXP STRING",
|
369
387
|
"exp : IDENTIFIER IS NULL",
|
370
388
|
"exp : IDENTIFIER IS NOT NULL",
|
371
389
|
"exp : exp OR exp",
|
@@ -374,7 +392,7 @@ final static String yyrule[] = {
|
|
374
392
|
"exp : '(' exp ')'",
|
375
393
|
};
|
376
394
|
|
377
|
-
//#line
|
395
|
+
//#line 101 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
378
396
|
|
379
397
|
protected Schema schema;
|
380
398
|
protected Yylex lexer;
|
@@ -413,7 +431,7 @@ void yyerror(String s)
|
|
413
431
|
{
|
414
432
|
throw new ConfigException("yyerror: " + s);
|
415
433
|
}
|
416
|
-
//#line
|
434
|
+
//#line 362 "Parser.java"
|
417
435
|
//###############################################################
|
418
436
|
// method: yylexdebug : check lexer state
|
419
437
|
//###############################################################
|
@@ -581,181 +599,217 @@ case 4:
|
|
581
599
|
break;
|
582
600
|
case 5:
|
583
601
|
//#line 46 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
584
|
-
{ yyval = new ParserVal(
|
602
|
+
{ yyval = new ParserVal(BinaryOpExp.create(val_peek(2), val_peek(0), EQ)); }
|
585
603
|
break;
|
586
604
|
case 6:
|
587
605
|
//#line 47 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
588
|
-
{ yyval = new ParserVal(
|
606
|
+
{ yyval = new ParserVal(BinaryOpExp.create(val_peek(2), val_peek(0), NEQ)); }
|
589
607
|
break;
|
590
608
|
case 7:
|
591
609
|
//#line 48 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
592
|
-
{ yyval = new ParserVal(
|
610
|
+
{ yyval = new ParserVal(BinaryOpExp.create(val_peek(2), val_peek(0), EQ)); }
|
593
611
|
break;
|
594
612
|
case 8:
|
595
613
|
//#line 49 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
596
|
-
{ yyval = new ParserVal(
|
614
|
+
{ yyval = new ParserVal(BinaryOpExp.create(val_peek(2), val_peek(0), NEQ)); }
|
597
615
|
break;
|
598
616
|
case 9:
|
599
617
|
//#line 50 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
600
|
-
{ yyval = new ParserVal(
|
618
|
+
{ yyval = new ParserVal(BinaryOpExp.create(val_peek(2), val_peek(0), EQ)); }
|
601
619
|
break;
|
602
620
|
case 10:
|
603
621
|
//#line 51 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
604
|
-
{ yyval = new ParserVal(
|
622
|
+
{ yyval = new ParserVal(BinaryOpExp.create(val_peek(2), val_peek(0), NEQ)); }
|
605
623
|
break;
|
606
624
|
case 11:
|
607
625
|
//#line 52 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
608
|
-
{ yyval = new ParserVal(
|
626
|
+
{ yyval = new ParserVal(BinaryOpExp.create(val_peek(2), val_peek(0), GT)); }
|
609
627
|
break;
|
610
628
|
case 12:
|
611
629
|
//#line 53 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
612
|
-
{ yyval = new ParserVal(
|
630
|
+
{ yyval = new ParserVal(BinaryOpExp.create(val_peek(2), val_peek(0), GE)); }
|
613
631
|
break;
|
614
632
|
case 13:
|
615
633
|
//#line 54 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
616
|
-
{ yyval = new ParserVal(
|
634
|
+
{ yyval = new ParserVal(BinaryOpExp.create(val_peek(2), val_peek(0), LT)); }
|
617
635
|
break;
|
618
636
|
case 14:
|
619
637
|
//#line 55 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
620
|
-
{ yyval = new ParserVal(
|
638
|
+
{ yyval = new ParserVal(BinaryOpExp.create(val_peek(2), val_peek(0), LE)); }
|
621
639
|
break;
|
622
640
|
case 15:
|
623
641
|
//#line 56 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
624
|
-
{ yyval = new ParserVal(
|
642
|
+
{ yyval = new ParserVal(BinaryOpExp.create(val_peek(2), val_peek(0), EQ)); }
|
625
643
|
break;
|
626
644
|
case 16:
|
627
645
|
//#line 57 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
628
|
-
{ yyval = new ParserVal(
|
646
|
+
{ yyval = new ParserVal(BinaryOpExp.create(val_peek(2), val_peek(0), NEQ)); }
|
629
647
|
break;
|
630
648
|
case 17:
|
631
649
|
//#line 58 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
632
|
-
{ yyval = new ParserVal(
|
650
|
+
{ yyval = new ParserVal(BinaryOpExp.create(val_peek(2), val_peek(0), GT)); }
|
633
651
|
break;
|
634
652
|
case 18:
|
635
653
|
//#line 59 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
636
|
-
{ yyval = new ParserVal(
|
654
|
+
{ yyval = new ParserVal(BinaryOpExp.create(val_peek(2), val_peek(0), GE)); }
|
637
655
|
break;
|
638
656
|
case 19:
|
639
657
|
//#line 60 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
640
|
-
{ yyval = new ParserVal(
|
658
|
+
{ yyval = new ParserVal(BinaryOpExp.create(val_peek(2), val_peek(0), LT)); }
|
641
659
|
break;
|
642
660
|
case 20:
|
643
661
|
//#line 61 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
644
|
-
{ yyval = new ParserVal(
|
662
|
+
{ yyval = new ParserVal(BinaryOpExp.create(val_peek(2), val_peek(0), LE)); }
|
645
663
|
break;
|
646
664
|
case 21:
|
647
665
|
//#line 62 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
648
|
-
{ yyval = new ParserVal(
|
666
|
+
{ yyval = new ParserVal(BinaryOpExp.create(val_peek(2), val_peek(0), EQ)); }
|
649
667
|
break;
|
650
668
|
case 22:
|
651
669
|
//#line 63 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
652
|
-
{ yyval = new ParserVal(
|
670
|
+
{ yyval = new ParserVal(BinaryOpExp.create(val_peek(2), val_peek(0), NEQ)); }
|
653
671
|
break;
|
654
672
|
case 23:
|
655
673
|
//#line 64 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
656
|
-
{ yyval = new ParserVal(
|
674
|
+
{ yyval = new ParserVal(BinaryOpExp.create(val_peek(2), val_peek(0), GT)); }
|
657
675
|
break;
|
658
676
|
case 24:
|
659
677
|
//#line 65 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
660
|
-
{ yyval = new ParserVal(
|
678
|
+
{ yyval = new ParserVal(BinaryOpExp.create(val_peek(2), val_peek(0), GE)); }
|
661
679
|
break;
|
662
680
|
case 25:
|
663
681
|
//#line 66 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
664
|
-
{ yyval = new ParserVal(
|
682
|
+
{ yyval = new ParserVal(BinaryOpExp.create(val_peek(2), val_peek(0), LT)); }
|
665
683
|
break;
|
666
684
|
case 26:
|
667
685
|
//#line 67 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
668
|
-
{ yyval = new ParserVal(
|
686
|
+
{ yyval = new ParserVal(BinaryOpExp.create(val_peek(2), val_peek(0), LE)); }
|
669
687
|
break;
|
670
688
|
case 27:
|
671
689
|
//#line 68 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
672
|
-
{ yyval = new ParserVal(
|
690
|
+
{ yyval = new ParserVal(BinaryOpExp.create(val_peek(2), val_peek(0), START_WITH)); }
|
673
691
|
break;
|
674
692
|
case 28:
|
675
693
|
//#line 69 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
676
|
-
{ yyval = new ParserVal(
|
694
|
+
{ yyval = new ParserVal(BinaryOpExp.create(val_peek(2), val_peek(0), END_WITH)); }
|
677
695
|
break;
|
678
696
|
case 29:
|
679
697
|
//#line 70 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
680
|
-
{ yyval = new ParserVal(
|
698
|
+
{ yyval = new ParserVal(BinaryOpExp.create(val_peek(2), val_peek(0), INCLUDE)); }
|
681
699
|
break;
|
682
700
|
case 30:
|
683
701
|
//#line 71 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
684
|
-
{ yyval = new ParserVal(
|
702
|
+
{ yyval = new ParserVal(BinaryOpExp.create(val_peek(2), val_peek(0), EQ)); }
|
685
703
|
break;
|
686
704
|
case 31:
|
687
705
|
//#line 72 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
688
|
-
{ yyval = new ParserVal(
|
706
|
+
{ yyval = new ParserVal(BinaryOpExp.create(val_peek(2), val_peek(0), NEQ)); }
|
689
707
|
break;
|
690
708
|
case 32:
|
691
709
|
//#line 73 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
692
|
-
{ yyval = new ParserVal(
|
710
|
+
{ yyval = new ParserVal(BinaryOpExp.create(val_peek(2), val_peek(0), GT)); }
|
693
711
|
break;
|
694
712
|
case 33:
|
695
713
|
//#line 74 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
696
|
-
{ yyval = new ParserVal(
|
714
|
+
{ yyval = new ParserVal(BinaryOpExp.create(val_peek(2), val_peek(0), GE)); }
|
697
715
|
break;
|
698
716
|
case 34:
|
699
717
|
//#line 75 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
700
|
-
{ yyval = new ParserVal(
|
718
|
+
{ yyval = new ParserVal(BinaryOpExp.create(val_peek(2), val_peek(0), LT)); }
|
701
719
|
break;
|
702
720
|
case 35:
|
703
721
|
//#line 76 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
704
|
-
{ yyval = new ParserVal(
|
722
|
+
{ yyval = new ParserVal(BinaryOpExp.create(val_peek(2), val_peek(0), LE)); }
|
705
723
|
break;
|
706
724
|
case 36:
|
707
725
|
//#line 77 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
708
|
-
{ yyval = new ParserVal(
|
726
|
+
{ yyval = new ParserVal(BinaryOpExp.create(val_peek(2), val_peek(0), START_WITH)); }
|
709
727
|
break;
|
710
728
|
case 37:
|
711
729
|
//#line 78 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
712
|
-
{ yyval = new ParserVal(
|
730
|
+
{ yyval = new ParserVal(BinaryOpExp.create(val_peek(2), val_peek(0), END_WITH)); }
|
713
731
|
break;
|
714
732
|
case 38:
|
715
733
|
//#line 79 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
716
|
-
{ yyval = new ParserVal(
|
734
|
+
{ yyval = new ParserVal(BinaryOpExp.create(val_peek(2), val_peek(0), INCLUDE)); }
|
717
735
|
break;
|
718
736
|
case 39:
|
719
737
|
//#line 80 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
720
|
-
{ yyval = new ParserVal(
|
738
|
+
{ yyval = new ParserVal(BinaryOpExp.create(val_peek(2), val_peek(0), EQ)); }
|
721
739
|
break;
|
722
740
|
case 40:
|
723
741
|
//#line 81 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
724
|
-
{ yyval = new ParserVal(
|
742
|
+
{ yyval = new ParserVal(BinaryOpExp.create(val_peek(2), val_peek(0), NEQ)); }
|
725
743
|
break;
|
726
744
|
case 41:
|
727
745
|
//#line 82 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
728
|
-
{ yyval = new ParserVal(
|
746
|
+
{ yyval = new ParserVal(BinaryOpExp.create(val_peek(2), val_peek(0), GT)); }
|
729
747
|
break;
|
730
748
|
case 42:
|
731
749
|
//#line 83 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
732
|
-
{ yyval = new ParserVal(
|
750
|
+
{ yyval = new ParserVal(BinaryOpExp.create(val_peek(2), val_peek(0), GE)); }
|
733
751
|
break;
|
734
752
|
case 43:
|
735
753
|
//#line 84 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
736
|
-
{ yyval = new ParserVal(
|
754
|
+
{ yyval = new ParserVal(BinaryOpExp.create(val_peek(2), val_peek(0), LT)); }
|
737
755
|
break;
|
738
756
|
case 44:
|
739
757
|
//#line 85 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
740
|
-
{ yyval = new ParserVal(
|
758
|
+
{ yyval = new ParserVal(BinaryOpExp.create(val_peek(2), val_peek(0), LE)); }
|
741
759
|
break;
|
742
760
|
case 45:
|
743
761
|
//#line 86 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
744
|
-
{ yyval = new ParserVal(
|
762
|
+
{ yyval = new ParserVal(BinaryOpExp.create(val_peek(2), val_peek(0), EQ)); }
|
745
763
|
break;
|
746
764
|
case 46:
|
747
765
|
//#line 87 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
748
|
-
{ yyval = new ParserVal(
|
766
|
+
{ yyval = new ParserVal(BinaryOpExp.create(val_peek(2), val_peek(0), NEQ)); }
|
749
767
|
break;
|
750
768
|
case 47:
|
751
769
|
//#line 88 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
752
|
-
{ yyval = new ParserVal(
|
770
|
+
{ yyval = new ParserVal(BinaryOpExp.create(val_peek(2), val_peek(0), GT)); }
|
753
771
|
break;
|
754
772
|
case 48:
|
755
773
|
//#line 89 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
774
|
+
{ yyval = new ParserVal(BinaryOpExp.create(val_peek(2), val_peek(0), GE)); }
|
775
|
+
break;
|
776
|
+
case 49:
|
777
|
+
//#line 90 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
778
|
+
{ yyval = new ParserVal(BinaryOpExp.create(val_peek(2), val_peek(0), LT)); }
|
779
|
+
break;
|
780
|
+
case 50:
|
781
|
+
//#line 91 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
782
|
+
{ yyval = new ParserVal(BinaryOpExp.create(val_peek(2), val_peek(0), LE)); }
|
783
|
+
break;
|
784
|
+
case 51:
|
785
|
+
//#line 92 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
786
|
+
{ yyval = new ParserVal(new RegexpOpExp(val_peek(2), val_peek(0), REGEXP)); }
|
787
|
+
break;
|
788
|
+
case 52:
|
789
|
+
//#line 93 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
790
|
+
{ yyval = new ParserVal(new NullOpExp(val_peek(2), EQ)); }
|
791
|
+
break;
|
792
|
+
case 53:
|
793
|
+
//#line 94 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
794
|
+
{ yyval = new ParserVal(new NullOpExp(val_peek(3), NEQ)); }
|
795
|
+
break;
|
796
|
+
case 54:
|
797
|
+
//#line 95 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
798
|
+
{ yyval = new ParserVal(new LogicalOpExp(val_peek(2), val_peek(0), OR)); }
|
799
|
+
break;
|
800
|
+
case 55:
|
801
|
+
//#line 96 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
802
|
+
{ yyval = new ParserVal(new LogicalOpExp(val_peek(2), val_peek(0), AND)); }
|
803
|
+
break;
|
804
|
+
case 56:
|
805
|
+
//#line 97 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
806
|
+
{ yyval = new ParserVal(new NegateOpExp(val_peek(0))); }
|
807
|
+
break;
|
808
|
+
case 57:
|
809
|
+
//#line 98 "src/main/java/org/embulk/filter/row/where/_parser.y"
|
756
810
|
{ yyval = val_peek(1); }
|
757
811
|
break;
|
758
|
-
//#line
|
812
|
+
//#line 735 "Parser.java"
|
759
813
|
//########## END OF USER-SUPPLIED ACTIONS ##########
|
760
814
|
}//switch
|
761
815
|
//#### Now let's reduce... ####
|