gitlab-zoql 0.1.0 → 0.2.2
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/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 +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 35d3f52312452c88a407fef61cf488e71649651be490f12d9d4d2caf3ab79d03
|
4
|
+
data.tar.gz: 6dd5d3662d2113c34245a9b6b4b23aef8c93d44c530e4c2ec8a0f20ea2d97f66
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f79543c5d3c14c2199de6165e7c9b7a05b6e32dfafeae8cddbd405aceee3a924b9f48f1e1ddaa9a257b0dfda794d0e55379d74a157ace34534d9ed4d5a0b242e
|
7
|
+
data.tar.gz: 8b4314342b85d0f229727d197c3eaa2eac71ff628105245cf141c2d6506f0736dbf41aca8cbd95026ef2a4b3c0f0bec82d095aded31c908c539e0f41aaa5ed37
|
@@ -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.
|
4
|
+
version: 0.2.2
|
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-
|
11
|
+
date: 2024-06-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: minitest
|
@@ -113,7 +113,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
113
113
|
- !ruby/object:Gem::Version
|
114
114
|
version: '0'
|
115
115
|
requirements: []
|
116
|
-
rubygems_version: 3.5.
|
116
|
+
rubygems_version: 3.5.11
|
117
117
|
signing_key:
|
118
118
|
specification_version: 4
|
119
119
|
summary: A toolkit for working with ZOQL language
|