gitlab-zoql 0.1.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/gitlab-zoql/parser/parser.racc.rb +231 -298
- data/lib/gitlab-zoql/parser/parser.rex.rb +13 -25
- data/lib/gitlab-zoql/version.rb +1 -1
- data/lib/gitlab-zoql/visitor.rb +0 -8
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 192588dd18190685a4996fe85d28fdc4baf3b5d7f63506800c2aa9e6dff8712d
|
4
|
+
data.tar.gz: 59e7fe4b691b6fb392cb5b6db40dec6804c5b166a3a71e903c73453b6ef2ff24
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 33dd78a002bbbfb414221e1b4c40fd65371797da8708a83443561b50ed2a47f6642d80a98fc5defa3b44e4923367fe7cd8db88849d0ba782c1785b3e20f0801c
|
7
|
+
data.tar.gz: 3acb7050eff754bc0577433711f7b39195729562efa2888a2a1117fe9cf8fb43c7aa5a473a1dedf132ff17a3e62aa693670d9c98cd3b55a8af4d2ef88dbdeb2f
|
@@ -13,7 +13,7 @@ require File.dirname(__FILE__) + '/parser.rex.rb'
|
|
13
13
|
module GitlabZOQL
|
14
14
|
class Parser < Racc::Parser
|
15
15
|
|
16
|
-
module_eval(<<'...end parser.racc/module_eval...', 'parser.racc',
|
16
|
+
module_eval(<<'...end parser.racc/module_eval...', 'parser.racc', 140)
|
17
17
|
|
18
18
|
def self.parse(zoql)
|
19
19
|
new.scan_str(zoql)
|
@@ -22,198 +22,162 @@ end
|
|
22
22
|
##### State transition tables begin ###
|
23
23
|
|
24
24
|
racc_action_table = [
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
30, 20, nil, nil, nil, nil, nil, 42, nil, nil,
|
42
|
-
71, nil, nil, nil, 17, 22, nil, 25, 75, 27,
|
43
|
-
nil, 29, 30, 17, 22, nil, 25, nil, 27, 42,
|
44
|
-
29, 30, 20, nil, nil, nil, nil, nil, 42, nil,
|
45
|
-
75, 20, nil, nil, nil, 17, 22, nil, 25, 75,
|
46
|
-
27, nil, 29, 30, 17, 22, nil, 25, nil, 27,
|
47
|
-
42, 29, 30, 20, nil, nil, nil, nil, nil, 42,
|
48
|
-
nil, 75, 20, nil, nil, nil, 17, 22, nil, 25,
|
49
|
-
75, 27, nil, 29, 30, 17, 22, nil, 25, nil,
|
50
|
-
27, 42, 29, 30, 20, nil, nil, nil, nil, nil,
|
51
|
-
42, nil, 75, 20, nil, nil, nil, 17, 22, nil,
|
52
|
-
25, 75, 27, nil, 29, 30, 17, 22, 78, 25,
|
53
|
-
nil, 27, nil, 29, 30, nil, 79, 80, 81, 82,
|
54
|
-
83, 84 ]
|
25
|
+
23, 35, 36, -10, -49, -28, -10, -49, 6, 41,
|
26
|
+
52, -28, -28, 63, 17, 21, 7, 24, 41, 26,
|
27
|
+
30, 28, 29, 17, 21, -49, 24, 41, 26, 33,
|
28
|
+
28, 29, 17, 21, -51, 24, 41, 26, 34, 28,
|
29
|
+
29, 17, 21, 44, 24, 41, 26, 45, 28, 29,
|
30
|
+
17, 21, 46, 24, 48, 26, 51, 28, 29, 17,
|
31
|
+
21, 41, 24, 52, 26, 79, 28, 29, 52, 52,
|
32
|
+
41, 63, 63, 58, 81, 17, 21, 59, 24, 41,
|
33
|
+
26, 68, 28, 29, 17, 21, 69, 24, 41, 26,
|
34
|
+
52, 28, 29, 17, 21, 69, 24, 41, 26, nil,
|
35
|
+
28, 29, 17, 21, nil, 24, 41, 26, nil, 28,
|
36
|
+
29, 17, 21, nil, 24, nil, 26, nil, 28, 29,
|
37
|
+
17, 21, nil, 24, -27, 26, -29, 28, 29, -30,
|
38
|
+
-27, -27, -29, -29, -31, -30, -30, -32, 37, 38,
|
39
|
+
-31, -31, nil, -32, -32, 71, nil, 72, 73, 74,
|
40
|
+
75, 76, 43, 42, 35, 36, 35, 36 ]
|
55
41
|
|
56
42
|
racc_action_check = [
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
38, 39, nil, nil, nil, nil, nil, 67, nil, nil,
|
74
|
-
67, nil, nil, nil, 39, 39, nil, 39, 67, 39,
|
75
|
-
nil, 39, 39, 67, 67, nil, 67, nil, 67, 79,
|
76
|
-
67, 67, 79, nil, nil, nil, nil, nil, 80, nil,
|
77
|
-
79, 80, nil, nil, nil, 79, 79, nil, 79, 80,
|
78
|
-
79, nil, 79, 79, 80, 80, nil, 80, nil, 80,
|
79
|
-
81, 80, 80, 81, nil, nil, nil, nil, nil, 82,
|
80
|
-
nil, 81, 82, nil, nil, nil, 81, 81, nil, 81,
|
81
|
-
82, 81, nil, 81, 81, 82, 82, nil, 82, nil,
|
82
|
-
82, 83, 82, 82, 83, nil, nil, nil, nil, nil,
|
83
|
-
84, nil, 83, 84, nil, nil, nil, 83, 83, nil,
|
84
|
-
83, 84, 83, nil, 83, 83, 84, 84, 64, 84,
|
85
|
-
nil, 84, nil, 84, 84, nil, 64, 64, 64, 64,
|
86
|
-
64, 64 ]
|
43
|
+
6, 15, 15, 12, 23, 80, 12, 23, 0, 17,
|
44
|
+
48, 80, 80, 48, 6, 6, 1, 6, 35, 6,
|
45
|
+
7, 6, 6, 17, 17, 23, 17, 36, 17, 8,
|
46
|
+
17, 17, 35, 35, 10, 35, 37, 35, 11, 35,
|
47
|
+
35, 36, 36, 26, 36, 38, 36, 28, 36, 36,
|
48
|
+
37, 37, 29, 37, 32, 37, 33, 37, 37, 38,
|
49
|
+
38, 71, 38, 34, 38, 71, 38, 38, 68, 69,
|
50
|
+
72, 68, 69, 42, 72, 71, 71, 45, 71, 73,
|
51
|
+
71, 60, 71, 71, 72, 72, 61, 72, 74, 72,
|
52
|
+
63, 72, 72, 73, 73, 77, 73, 75, 73, nil,
|
53
|
+
73, 73, 74, 74, nil, 74, 76, 74, nil, 74,
|
54
|
+
74, 75, 75, nil, 75, nil, 75, nil, 75, 75,
|
55
|
+
76, 76, nil, 76, 82, 76, 83, 76, 76, 84,
|
56
|
+
82, 82, 83, 83, 85, 84, 84, 86, 16, 16,
|
57
|
+
85, 85, nil, 86, 86, 65, nil, 65, 65, 65,
|
58
|
+
65, 65, 24, 24, 56, 56, 57, 57 ]
|
87
59
|
|
88
60
|
racc_action_pointer = [
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
nil, nil, nil,
|
94
|
-
|
95
|
-
|
96
|
-
nil,
|
97
|
-
|
98
|
-
73, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
99
|
-
nil ]
|
61
|
+
6, 16, nil, nil, nil, nil, -5, 20, 26, nil,
|
62
|
+
13, 17, 3, nil, nil, -14, 121, 4, nil, nil,
|
63
|
+
nil, nil, nil, 4, 130, nil, 18, nil, 20, 26,
|
64
|
+
nil, nil, 50, 51, 58, 13, 22, 31, 40, nil,
|
65
|
+
nil, nil, 51, nil, nil, 51, nil, nil, 5, nil,
|
66
|
+
nil, nil, nil, nil, nil, nil, 139, 141, nil, nil,
|
67
|
+
75, 79, nil, 85, nil, 137, nil, nil, 63, 64,
|
68
|
+
nil, 56, 65, 74, 83, 92, 101, 88, nil, nil,
|
69
|
+
5, nil, 124, 126, 129, 134, 137 ]
|
100
70
|
|
101
71
|
racc_action_default = [
|
102
|
-
-
|
103
|
-
-8, -9, -
|
104
|
-
-
|
105
|
-
|
106
|
-
-
|
107
|
-
-
|
108
|
-
-
|
109
|
-
-
|
110
|
-
-
|
111
|
-
-68, -17, -30, -31, -32, -33, -34, -35, -22, -27,
|
112
|
-
-16 ]
|
72
|
+
-62, -62, -1, -2, -3, -4, -62, -62, -6, -7,
|
73
|
+
-8, -9, -44, -33, -34, -37, -40, -62, -42, -43,
|
74
|
+
-45, -46, -47, -52, -62, -55, -62, -57, -61, -62,
|
75
|
+
87, -5, -14, -62, -62, -62, -62, -62, -62, -41,
|
76
|
+
-44, -52, -62, -54, -56, -59, -60, -11, -62, -12,
|
77
|
+
-13, -16, -49, -50, -33, -33, -37, -37, -53, -58,
|
78
|
+
-15, -17, -19, -62, -22, -62, -25, -26, -62, -62,
|
79
|
+
-21, -62, -62, -62, -62, -62, -62, -18, -20, -23,
|
80
|
+
-44, -24, -44, -44, -44, -44, -44 ]
|
113
81
|
|
114
82
|
racc_goto_table = [
|
115
|
-
12, 10,
|
116
|
-
|
117
|
-
|
118
|
-
55, 49, 51, 52, 89, 98, 86, 40, nil, nil,
|
83
|
+
12, 10, 61, 54, 55, 56, 57, 1, 2, 3,
|
84
|
+
4, 5, 8, 31, 9, 11, 32, 47, 49, 50,
|
85
|
+
60, 78, 77, 70, 39, nil, nil, nil, nil, 53,
|
119
86
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
120
87
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
121
|
-
nil, nil, nil, nil, nil,
|
88
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
89
|
+
nil, nil, nil, nil, nil, 80, 82, 83, 84, 85,
|
90
|
+
86 ]
|
122
91
|
|
123
92
|
racc_goto_check = [
|
124
|
-
11, 9,
|
125
|
-
|
126
|
-
|
127
|
-
|
93
|
+
11, 9, 17, 22, 22, 24, 24, 1, 2, 3,
|
94
|
+
4, 5, 6, 7, 8, 10, 12, 13, 14, 15,
|
95
|
+
16, 18, 17, 19, 26, nil, nil, nil, nil, 9,
|
96
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
128
97
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
129
98
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
130
|
-
nil, nil, nil, nil, nil, 11
|
99
|
+
nil, nil, nil, nil, nil, 11, 11, 11, 11, 11,
|
100
|
+
11 ]
|
131
101
|
|
132
102
|
racc_goto_pointer = [
|
133
|
-
nil,
|
134
|
-
|
135
|
-
|
136
|
-
|
103
|
+
nil, 7, 8, 9, 10, 11, 6, 5, 8, -5,
|
104
|
+
9, -6, 8, -15, -15, -14, -28, -46, -48, -40,
|
105
|
+
nil, nil, -32, nil, -32, nil, 7, nil, nil, nil,
|
106
|
+
nil, nil ]
|
137
107
|
|
138
108
|
racc_goto_default = [
|
139
|
-
nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
140
|
-
nil,
|
141
|
-
|
142
|
-
|
109
|
+
nil, nil, nil, nil, nil, nil, nil, nil, nil, 65,
|
110
|
+
nil, 40, nil, nil, nil, nil, nil, nil, 62, 64,
|
111
|
+
67, 66, 13, 14, 15, 16, 18, 19, 20, 22,
|
112
|
+
25, 27 ]
|
143
113
|
|
144
114
|
racc_reduce_table = [
|
145
115
|
0, 0, :racc_error,
|
146
|
-
1,
|
147
|
-
1,
|
148
|
-
1,
|
149
|
-
1,
|
150
|
-
3,
|
151
|
-
2,
|
152
|
-
1,
|
153
|
-
1,
|
154
|
-
1,
|
155
|
-
1,
|
156
|
-
2,
|
157
|
-
2,
|
116
|
+
1, 29, :_reduce_none,
|
117
|
+
1, 30, :_reduce_none,
|
118
|
+
1, 31, :_reduce_3,
|
119
|
+
1, 32, :_reduce_none,
|
120
|
+
3, 33, :_reduce_5,
|
121
|
+
2, 33, :_reduce_6,
|
122
|
+
1, 34, :_reduce_7,
|
123
|
+
1, 36, :_reduce_none,
|
124
|
+
1, 36, :_reduce_none,
|
125
|
+
1, 36, :_reduce_none,
|
126
|
+
2, 35, :_reduce_11,
|
127
|
+
2, 40, :_reduce_12,
|
128
|
+
1, 42, :_reduce_none,
|
129
|
+
0, 41, :_reduce_none,
|
130
|
+
2, 41, :_reduce_15,
|
131
|
+
1, 43, :_reduce_16,
|
132
|
+
1, 44, :_reduce_none,
|
133
|
+
3, 44, :_reduce_18,
|
134
|
+
1, 45, :_reduce_none,
|
135
|
+
3, 45, :_reduce_20,
|
136
|
+
2, 46, :_reduce_21,
|
137
|
+
1, 46, :_reduce_none,
|
138
|
+
3, 48, :_reduce_23,
|
139
|
+
3, 48, :_reduce_24,
|
140
|
+
1, 47, :_reduce_none,
|
158
141
|
1, 47, :_reduce_none,
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
3,
|
163
|
-
|
164
|
-
|
165
|
-
|
142
|
+
3, 49, :_reduce_27,
|
143
|
+
3, 49, :_reduce_28,
|
144
|
+
3, 49, :_reduce_29,
|
145
|
+
3, 49, :_reduce_30,
|
146
|
+
3, 49, :_reduce_31,
|
147
|
+
3, 49, :_reduce_32,
|
148
|
+
1, 39, :_reduce_none,
|
149
|
+
1, 39, :_reduce_none,
|
150
|
+
3, 50, :_reduce_35,
|
151
|
+
3, 50, :_reduce_36,
|
152
|
+
1, 50, :_reduce_none,
|
153
|
+
3, 52, :_reduce_38,
|
154
|
+
3, 52, :_reduce_39,
|
166
155
|
1, 52, :_reduce_none,
|
167
|
-
|
168
|
-
2, 53, :_reduce_23,
|
156
|
+
2, 53, :_reduce_41,
|
169
157
|
1, 53, :_reduce_none,
|
170
158
|
1, 54, :_reduce_none,
|
159
|
+
1, 54, :_reduce_44,
|
160
|
+
1, 55, :_reduce_none,
|
171
161
|
1, 55, :_reduce_none,
|
172
|
-
3, 55, :_reduce_27,
|
173
162
|
1, 56, :_reduce_none,
|
174
163
|
1, 56, :_reduce_none,
|
175
|
-
|
176
|
-
3,
|
177
|
-
|
178
|
-
|
179
|
-
3,
|
180
|
-
|
164
|
+
1, 37, :_reduce_49,
|
165
|
+
3, 38, :_reduce_50,
|
166
|
+
1, 38, :_reduce_none,
|
167
|
+
1, 51, :_reduce_52,
|
168
|
+
3, 51, :_reduce_53,
|
169
|
+
2, 51, :_reduce_54,
|
181
170
|
1, 51, :_reduce_none,
|
182
|
-
|
183
|
-
1,
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
2, 62, :_reduce_47,
|
193
|
-
1, 62, :_reduce_none,
|
194
|
-
1, 63, :_reduce_none,
|
195
|
-
3, 63, :_reduce_50,
|
196
|
-
1, 64, :_reduce_none,
|
197
|
-
1, 64, :_reduce_none,
|
198
|
-
1, 65, :_reduce_none,
|
199
|
-
1, 65, :_reduce_none,
|
200
|
-
1, 42, :_reduce_55,
|
201
|
-
3, 43, :_reduce_56,
|
202
|
-
1, 43, :_reduce_none,
|
203
|
-
1, 60, :_reduce_58,
|
204
|
-
3, 60, :_reduce_59,
|
205
|
-
2, 60, :_reduce_60,
|
206
|
-
1, 60, :_reduce_none,
|
207
|
-
2, 67, :_reduce_62,
|
208
|
-
1, 66, :_reduce_none,
|
209
|
-
3, 68, :_reduce_64,
|
210
|
-
2, 68, :_reduce_65,
|
211
|
-
2, 68, :_reduce_66,
|
212
|
-
1, 68, :_reduce_67 ]
|
213
|
-
|
214
|
-
racc_reduce_n = 68
|
215
|
-
|
216
|
-
racc_shift_n = 101
|
171
|
+
2, 58, :_reduce_56,
|
172
|
+
1, 57, :_reduce_none,
|
173
|
+
3, 59, :_reduce_58,
|
174
|
+
2, 59, :_reduce_59,
|
175
|
+
2, 59, :_reduce_60,
|
176
|
+
1, 59, :_reduce_61 ]
|
177
|
+
|
178
|
+
racc_reduce_n = 62
|
179
|
+
|
180
|
+
racc_shift_n = 87
|
217
181
|
|
218
182
|
racc_token_table = {
|
219
183
|
false => 0,
|
@@ -221,36 +185,31 @@ racc_token_table = {
|
|
221
185
|
:SELECT => 2,
|
222
186
|
:FROM => 3,
|
223
187
|
:WHERE => 4,
|
224
|
-
:
|
225
|
-
:
|
226
|
-
:
|
227
|
-
:
|
228
|
-
:
|
229
|
-
:
|
230
|
-
:
|
231
|
-
:
|
232
|
-
:
|
233
|
-
:
|
234
|
-
:
|
235
|
-
:
|
236
|
-
:
|
237
|
-
:
|
238
|
-
:
|
239
|
-
:
|
240
|
-
:
|
241
|
-
:
|
242
|
-
:
|
243
|
-
:
|
244
|
-
:
|
245
|
-
:
|
246
|
-
:
|
247
|
-
|
248
|
-
|
249
|
-
:datetime_string => 30,
|
250
|
-
:unsigned_integer => 31,
|
251
|
-
:period => 32 }
|
252
|
-
|
253
|
-
racc_nt_base = 33
|
188
|
+
:identifier => 5,
|
189
|
+
:OR => 6,
|
190
|
+
:AND => 7,
|
191
|
+
:not_equals_operator => 8,
|
192
|
+
:NULL => 9,
|
193
|
+
:equals_operator => 10,
|
194
|
+
:less_than_operator => 11,
|
195
|
+
:greater_than_operator => 12,
|
196
|
+
:less_than_or_equals_operator => 13,
|
197
|
+
:greater_than_or_equals_operator => 14,
|
198
|
+
:plus_sign => 15,
|
199
|
+
:minus_sign => 16,
|
200
|
+
:asterisk => 17,
|
201
|
+
:solidus => 18,
|
202
|
+
:sign => 19,
|
203
|
+
:general_value_specification => 20,
|
204
|
+
:comma => 21,
|
205
|
+
:quote => 22,
|
206
|
+
:character_string_literal => 23,
|
207
|
+
:DATETIME => 24,
|
208
|
+
:datetime_string => 25,
|
209
|
+
:unsigned_integer => 26,
|
210
|
+
:period => 27 }
|
211
|
+
|
212
|
+
racc_nt_base = 28
|
254
213
|
|
255
214
|
racc_use_result_var = true
|
256
215
|
|
@@ -277,21 +236,16 @@ Racc_token_to_s_table = [
|
|
277
236
|
"SELECT",
|
278
237
|
"FROM",
|
279
238
|
"WHERE",
|
280
|
-
"IS",
|
281
|
-
"NOT",
|
282
|
-
"NULL",
|
283
239
|
"identifier",
|
284
240
|
"OR",
|
285
241
|
"AND",
|
286
|
-
"left_paren",
|
287
|
-
"right_paren",
|
288
|
-
"equals_operator",
|
289
242
|
"not_equals_operator",
|
243
|
+
"NULL",
|
244
|
+
"equals_operator",
|
290
245
|
"less_than_operator",
|
291
246
|
"greater_than_operator",
|
292
247
|
"less_than_or_equals_operator",
|
293
248
|
"greater_than_or_equals_operator",
|
294
|
-
"row_subquery",
|
295
249
|
"plus_sign",
|
296
250
|
"minus_sign",
|
297
251
|
"asterisk",
|
@@ -322,15 +276,11 @@ Racc_token_to_s_table = [
|
|
322
276
|
"table_reference",
|
323
277
|
"table_name",
|
324
278
|
"search_condition",
|
325
|
-
"null_predicate",
|
326
|
-
"row_value_constructor",
|
327
279
|
"boolean_term",
|
328
280
|
"boolean_factor",
|
329
|
-
"boolean_test",
|
330
|
-
"boolean_primary",
|
331
281
|
"predicate",
|
282
|
+
"null_predicate",
|
332
283
|
"comparison_predicate",
|
333
|
-
"row_value_constructor_element",
|
334
284
|
"numeric_value_expression",
|
335
285
|
"general_literal",
|
336
286
|
"term",
|
@@ -416,248 +366,231 @@ module_eval(<<'.,.,', 'parser.racc', 41)
|
|
416
366
|
|
417
367
|
module_eval(<<'.,.,', 'parser.racc', 45)
|
418
368
|
def _reduce_16(val, _values, result)
|
419
|
-
result = GitlabZOQL::Parser::Statement::
|
369
|
+
result = GitlabZOQL::Parser::Statement::Table.new(val[0])
|
420
370
|
result
|
421
371
|
end
|
422
372
|
.,.,
|
423
373
|
|
424
|
-
|
425
|
-
def _reduce_17(val, _values, result)
|
426
|
-
result = GitlabZOQL::Parser::Statement::Is.new(val[0], GitlabZOQL::Parser::Statement::Null.new)
|
427
|
-
result
|
428
|
-
end
|
429
|
-
.,.,
|
374
|
+
# reduce 17 omitted
|
430
375
|
|
431
376
|
module_eval(<<'.,.,', 'parser.racc', 50)
|
432
377
|
def _reduce_18(val, _values, result)
|
433
|
-
result = GitlabZOQL::Parser::Statement::
|
378
|
+
result = GitlabZOQL::Parser::Statement::Or.new(val[0], val[2])
|
434
379
|
result
|
435
380
|
end
|
436
381
|
.,.,
|
437
382
|
|
438
383
|
# reduce 19 omitted
|
439
384
|
|
440
|
-
module_eval(<<'.,.,', 'parser.racc',
|
385
|
+
module_eval(<<'.,.,', 'parser.racc', 54)
|
441
386
|
def _reduce_20(val, _values, result)
|
442
|
-
result = GitlabZOQL::Parser::Statement::
|
387
|
+
result = GitlabZOQL::Parser::Statement::And.new(val[0], val[2])
|
443
388
|
result
|
444
389
|
end
|
445
390
|
.,.,
|
446
391
|
|
447
|
-
|
448
|
-
|
449
|
-
|
450
|
-
def _reduce_22(val, _values, result)
|
451
|
-
result = GitlabZOQL::Parser::Statement::And.new(val[0], val[2])
|
392
|
+
module_eval(<<'.,.,', 'parser.racc', 57)
|
393
|
+
def _reduce_21(val, _values, result)
|
394
|
+
result = GitlabZOQL::Parser::Statement::Not.new(val[1])
|
452
395
|
result
|
453
396
|
end
|
454
397
|
.,.,
|
455
398
|
|
456
|
-
|
399
|
+
# reduce 22 omitted
|
400
|
+
|
401
|
+
module_eval(<<'.,.,', 'parser.racc', 61)
|
457
402
|
def _reduce_23(val, _values, result)
|
458
|
-
result = GitlabZOQL::Parser::Statement::Not.new(val[
|
403
|
+
result = GitlabZOQL::Parser::Statement::Not.new(GitlabZOQL::Parser::Statement::Equals.new(val[0], GitlabZOQL::Parser::Statement::Null.new))
|
459
404
|
result
|
460
405
|
end
|
461
406
|
.,.,
|
462
407
|
|
463
|
-
|
464
|
-
|
465
|
-
|
466
|
-
|
467
|
-
# reduce 26 omitted
|
468
|
-
|
469
|
-
module_eval(<<'.,.,', 'parser.racc', 70)
|
470
|
-
def _reduce_27(val, _values, result)
|
471
|
-
result = val[1]
|
408
|
+
module_eval(<<'.,.,', 'parser.racc', 62)
|
409
|
+
def _reduce_24(val, _values, result)
|
410
|
+
result = GitlabZOQL::Parser::Statement::Equals.new(val[0], GitlabZOQL::Parser::Statement::Null.new)
|
472
411
|
result
|
473
412
|
end
|
474
413
|
.,.,
|
475
414
|
|
476
|
-
# reduce
|
415
|
+
# reduce 25 omitted
|
477
416
|
|
478
|
-
# reduce
|
417
|
+
# reduce 26 omitted
|
479
418
|
|
480
|
-
module_eval(<<'.,.,', 'parser.racc',
|
481
|
-
def
|
419
|
+
module_eval(<<'.,.,', 'parser.racc', 69)
|
420
|
+
def _reduce_27(val, _values, result)
|
482
421
|
result = GitlabZOQL::Parser::Statement::Equals.new(val[0], val[2])
|
483
422
|
result
|
484
423
|
end
|
485
424
|
.,.,
|
486
425
|
|
487
|
-
module_eval(<<'.,.,', 'parser.racc',
|
488
|
-
def
|
426
|
+
module_eval(<<'.,.,', 'parser.racc', 70)
|
427
|
+
def _reduce_28(val, _values, result)
|
489
428
|
result = GitlabZOQL::Parser::Statement::Not.new(GitlabZOQL::Parser::Statement::Equals.new(val[0], val[2]))
|
490
429
|
result
|
491
430
|
end
|
492
431
|
.,.,
|
493
432
|
|
494
|
-
module_eval(<<'.,.,', 'parser.racc',
|
495
|
-
def
|
433
|
+
module_eval(<<'.,.,', 'parser.racc', 71)
|
434
|
+
def _reduce_29(val, _values, result)
|
496
435
|
result = GitlabZOQL::Parser::Statement::Less.new(val[0], val[2])
|
497
436
|
result
|
498
437
|
end
|
499
438
|
.,.,
|
500
439
|
|
501
|
-
module_eval(<<'.,.,', 'parser.racc',
|
502
|
-
def
|
440
|
+
module_eval(<<'.,.,', 'parser.racc', 72)
|
441
|
+
def _reduce_30(val, _values, result)
|
503
442
|
result = GitlabZOQL::Parser::Statement::Greater.new(val[0], val[2])
|
504
443
|
result
|
505
444
|
end
|
506
445
|
.,.,
|
507
446
|
|
508
|
-
module_eval(<<'.,.,', 'parser.racc',
|
509
|
-
def
|
447
|
+
module_eval(<<'.,.,', 'parser.racc', 73)
|
448
|
+
def _reduce_31(val, _values, result)
|
510
449
|
result = GitlabZOQL::Parser::Statement::LessOrEquals.new(val[0], val[2])
|
511
450
|
result
|
512
451
|
end
|
513
452
|
.,.,
|
514
453
|
|
515
|
-
module_eval(<<'.,.,', 'parser.racc',
|
516
|
-
def
|
454
|
+
module_eval(<<'.,.,', 'parser.racc', 74)
|
455
|
+
def _reduce_32(val, _values, result)
|
517
456
|
result = GitlabZOQL::Parser::Statement::GreaterOrEquals.new(val[0], val[2])
|
518
457
|
result
|
519
458
|
end
|
520
459
|
.,.,
|
521
460
|
|
522
|
-
# reduce
|
461
|
+
# reduce 33 omitted
|
523
462
|
|
524
|
-
# reduce
|
525
|
-
|
526
|
-
# reduce 38 omitted
|
527
|
-
|
528
|
-
# reduce 39 omitted
|
463
|
+
# reduce 34 omitted
|
529
464
|
|
530
|
-
|
531
|
-
|
532
|
-
module_eval(<<'.,.,', 'parser.racc', 96)
|
533
|
-
def _reduce_41(val, _values, result)
|
465
|
+
module_eval(<<'.,.,', 'parser.racc', 81)
|
466
|
+
def _reduce_35(val, _values, result)
|
534
467
|
result = GitlabZOQL::Parser::Statement::Add.new(val[0], val[2])
|
535
468
|
result
|
536
469
|
end
|
537
470
|
.,.,
|
538
471
|
|
539
|
-
module_eval(<<'.,.,', 'parser.racc',
|
540
|
-
def
|
472
|
+
module_eval(<<'.,.,', 'parser.racc', 82)
|
473
|
+
def _reduce_36(val, _values, result)
|
541
474
|
result = GitlabZOQL::Parser::Statement::Subtract.new(val[0], val[2])
|
542
475
|
result
|
543
476
|
end
|
544
477
|
.,.,
|
545
478
|
|
546
|
-
# reduce
|
479
|
+
# reduce 37 omitted
|
547
480
|
|
548
|
-
module_eval(<<'.,.,', 'parser.racc',
|
549
|
-
def
|
481
|
+
module_eval(<<'.,.,', 'parser.racc', 86)
|
482
|
+
def _reduce_38(val, _values, result)
|
550
483
|
result = GitlabZOQL::Parser::Statement::Multiply.new(val[0], val[2])
|
551
484
|
result
|
552
485
|
end
|
553
486
|
.,.,
|
554
487
|
|
555
|
-
module_eval(<<'.,.,', 'parser.racc',
|
556
|
-
def
|
488
|
+
module_eval(<<'.,.,', 'parser.racc', 87)
|
489
|
+
def _reduce_39(val, _values, result)
|
557
490
|
result = GitlabZOQL::Parser::Statement::Divide.new(val[0], val[2])
|
558
491
|
result
|
559
492
|
end
|
560
493
|
.,.,
|
561
494
|
|
562
|
-
# reduce
|
495
|
+
# reduce 40 omitted
|
563
496
|
|
564
|
-
module_eval(<<'.,.,', 'parser.racc',
|
565
|
-
def
|
497
|
+
module_eval(<<'.,.,', 'parser.racc', 91)
|
498
|
+
def _reduce_41(val, _values, result)
|
566
499
|
result = val[0].new(val[1])
|
567
500
|
result
|
568
501
|
end
|
569
502
|
.,.,
|
570
503
|
|
571
|
-
# reduce
|
504
|
+
# reduce 42 omitted
|
572
505
|
|
573
|
-
# reduce
|
506
|
+
# reduce 43 omitted
|
574
507
|
|
575
|
-
module_eval(<<'.,.,', 'parser.racc',
|
576
|
-
def
|
577
|
-
result = val[
|
508
|
+
module_eval(<<'.,.,', 'parser.racc', 96)
|
509
|
+
def _reduce_44(val, _values, result)
|
510
|
+
result = val[0]
|
578
511
|
result
|
579
512
|
end
|
580
513
|
.,.,
|
581
514
|
|
582
|
-
# reduce
|
515
|
+
# reduce 45 omitted
|
583
516
|
|
584
|
-
# reduce
|
517
|
+
# reduce 46 omitted
|
585
518
|
|
586
|
-
# reduce
|
519
|
+
# reduce 47 omitted
|
587
520
|
|
588
|
-
# reduce
|
521
|
+
# reduce 48 omitted
|
589
522
|
|
590
|
-
module_eval(<<'.,.,', 'parser.racc',
|
591
|
-
def
|
523
|
+
module_eval(<<'.,.,', 'parser.racc', 108)
|
524
|
+
def _reduce_49(val, _values, result)
|
592
525
|
result = GitlabZOQL::Parser::Statement::Column.new(val[0])
|
593
526
|
result
|
594
527
|
end
|
595
528
|
.,.,
|
596
529
|
|
597
|
-
module_eval(<<'.,.,', 'parser.racc',
|
598
|
-
def
|
530
|
+
module_eval(<<'.,.,', 'parser.racc', 111)
|
531
|
+
def _reduce_50(val, _values, result)
|
599
532
|
result = Array(val[0]) + Array(val[2])
|
600
533
|
result
|
601
534
|
end
|
602
535
|
.,.,
|
603
536
|
|
604
|
-
# reduce
|
537
|
+
# reduce 51 omitted
|
605
538
|
|
606
|
-
module_eval(<<'.,.,', 'parser.racc',
|
607
|
-
def
|
539
|
+
module_eval(<<'.,.,', 'parser.racc', 116)
|
540
|
+
def _reduce_52(val, _values, result)
|
608
541
|
result = GitlabZOQL::Parser::Statement::Identifier.new(val[0])
|
609
542
|
result
|
610
543
|
end
|
611
544
|
.,.,
|
612
545
|
|
613
|
-
module_eval(<<'.,.,', 'parser.racc',
|
614
|
-
def
|
546
|
+
module_eval(<<'.,.,', 'parser.racc', 117)
|
547
|
+
def _reduce_53(val, _values, result)
|
615
548
|
result = GitlabZOQL::Parser::Statement::Literal.new(val[1])
|
616
549
|
result
|
617
550
|
end
|
618
551
|
.,.,
|
619
552
|
|
620
|
-
module_eval(<<'.,.,', 'parser.racc',
|
621
|
-
def
|
553
|
+
module_eval(<<'.,.,', 'parser.racc', 118)
|
554
|
+
def _reduce_54(val, _values, result)
|
622
555
|
result = GitlabZOQL::Parser::Statement::String.new('')
|
623
556
|
result
|
624
557
|
end
|
625
558
|
.,.,
|
626
559
|
|
627
|
-
# reduce
|
560
|
+
# reduce 55 omitted
|
628
561
|
|
629
|
-
module_eval(<<'.,.,', 'parser.racc',
|
630
|
-
def
|
562
|
+
module_eval(<<'.,.,', 'parser.racc', 122)
|
563
|
+
def _reduce_56(val, _values, result)
|
631
564
|
result = GitlabZOQL::Parser::Statement::DateTime.new(val[1])
|
632
565
|
result
|
633
566
|
end
|
634
567
|
.,.,
|
635
568
|
|
636
|
-
# reduce
|
569
|
+
# reduce 57 omitted
|
637
570
|
|
638
|
-
module_eval(<<'.,.,', 'parser.racc',
|
639
|
-
def
|
571
|
+
module_eval(<<'.,.,', 'parser.racc', 128)
|
572
|
+
def _reduce_58(val, _values, result)
|
640
573
|
result = GitlabZOQL::Parser::Statement::Float.new("#{val[0]}.#{val[2]}".to_f)
|
641
574
|
result
|
642
575
|
end
|
643
576
|
.,.,
|
644
577
|
|
645
|
-
module_eval(<<'.,.,', 'parser.racc',
|
646
|
-
def
|
578
|
+
module_eval(<<'.,.,', 'parser.racc', 129)
|
579
|
+
def _reduce_59(val, _values, result)
|
647
580
|
result = GitlabZOQL::Parser::Statement::Float.new(val[0])
|
648
581
|
result
|
649
582
|
end
|
650
583
|
.,.,
|
651
584
|
|
652
|
-
module_eval(<<'.,.,', 'parser.racc',
|
653
|
-
def
|
585
|
+
module_eval(<<'.,.,', 'parser.racc', 130)
|
586
|
+
def _reduce_60(val, _values, result)
|
654
587
|
result = GitlabZOQL::Parser::Statement::Float.new("0.#{val[1]}".to_f)
|
655
588
|
result
|
656
589
|
end
|
657
590
|
.,.,
|
658
591
|
|
659
|
-
module_eval(<<'.,.,', 'parser.racc',
|
660
|
-
def
|
592
|
+
module_eval(<<'.,.,', 'parser.racc', 131)
|
593
|
+
def _reduce_61(val, _values, result)
|
661
594
|
result = GitlabZOQL::Parser::Statement::Integer.new(val[0])
|
662
595
|
result
|
663
596
|
end
|
@@ -68,34 +68,28 @@ class GitlabZOQL::Parser < Racc::Parser
|
|
68
68
|
when (text = @ss.scan(/\s+/i))
|
69
69
|
;
|
70
70
|
|
71
|
-
when (text = @ss.scan(/AND/i))
|
71
|
+
when (text = @ss.scan(/AND\b/i))
|
72
72
|
action { [:AND, text] }
|
73
73
|
|
74
|
-
when (text = @ss.scan(/
|
75
|
-
action { [:BY, text] }
|
76
|
-
|
77
|
-
when (text = @ss.scan(/COUNT/i))
|
74
|
+
when (text = @ss.scan(/COUNT\b/i))
|
78
75
|
action { [:COUNT, text] }
|
79
76
|
|
80
|
-
when (text = @ss.scan(/ELSE/i))
|
77
|
+
when (text = @ss.scan(/ELSE\b/i))
|
81
78
|
action { [:ELSE, text] }
|
82
79
|
|
83
|
-
when (text = @ss.scan(/
|
84
|
-
action { [:END, text] }
|
85
|
-
|
86
|
-
when (text = @ss.scan(/FROM/i))
|
80
|
+
when (text = @ss.scan(/FROM\b/i))
|
87
81
|
action { [:FROM, text] }
|
88
82
|
|
89
|
-
when (text = @ss.scan(/NULL/i))
|
83
|
+
when (text = @ss.scan(/NULL\b/i))
|
90
84
|
action { [:NULL, text] }
|
91
85
|
|
92
|
-
when (text = @ss.scan(/OR/i))
|
86
|
+
when (text = @ss.scan(/OR\b/i))
|
93
87
|
action { [:OR, text] }
|
94
88
|
|
95
|
-
when (text = @ss.scan(/SELECT/i))
|
89
|
+
when (text = @ss.scan(/SELECT\b/i))
|
96
90
|
action { [:SELECT, text] }
|
97
91
|
|
98
|
-
when (text = @ss.scan(/WHERE/i))
|
92
|
+
when (text = @ss.scan(/WHERE\b/i))
|
99
93
|
action { [:WHERE, text] }
|
100
94
|
|
101
95
|
when (text = @ss.scan(/!=/i))
|
@@ -116,12 +110,6 @@ class GitlabZOQL::Parser < Racc::Parser
|
|
116
110
|
when (text = @ss.scan(/>/i))
|
117
111
|
action { [:greater_than_operator, text] }
|
118
112
|
|
119
|
-
when (text = @ss.scan(/\(/i))
|
120
|
-
action { [:left_paren, text] }
|
121
|
-
|
122
|
-
when (text = @ss.scan(/\)/i))
|
123
|
-
action { [:right_paren, text] }
|
124
|
-
|
125
113
|
when (text = @ss.scan(/,/i))
|
126
114
|
action { [:comma, text] }
|
127
115
|
|
@@ -142,14 +130,14 @@ class GitlabZOQL::Parser < Racc::Parser
|
|
142
130
|
|
143
131
|
when :STRS
|
144
132
|
case
|
145
|
-
when (text = @ss.scan(/\'/i))
|
146
|
-
action { @state = nil; [:quote, text] }
|
147
|
-
|
148
133
|
when (text = @ss.scan(/[0-9]+-[0-9]+-[0-9]+T[0-9]+:[0-9]+:[0-9]+\+[0-9]+:[0-9]+/i))
|
149
134
|
action { [:datetime_string, DateTime.parse(text)] }
|
150
135
|
|
151
|
-
when (text = @ss.scan(
|
152
|
-
action { [:character_string_literal, text
|
136
|
+
when (text = @ss.scan(/(?:[^\\']|\\.|'')+/i))
|
137
|
+
action { [:character_string_literal, text] }
|
138
|
+
|
139
|
+
when (text = @ss.scan(/\'/i))
|
140
|
+
action { @state = nil; [:quote, text] }
|
153
141
|
|
154
142
|
|
155
143
|
else
|
data/lib/gitlab-zoql/version.rb
CHANGED
data/lib/gitlab-zoql/visitor.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gitlab-zoql
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vitaly Slobodin
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-02-
|
11
|
+
date: 2024-02-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: minitest
|