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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ca281035447bc28813574e9680f05af39465972ab945f5ef1e5e4ac1eb20c31c
4
- data.tar.gz: 864e281a1289c3862b368c9258219f1ef8c73a15cd36d2de1e03cd9b273b8818
3
+ metadata.gz: 192588dd18190685a4996fe85d28fdc4baf3b5d7f63506800c2aa9e6dff8712d
4
+ data.tar.gz: 59e7fe4b691b6fb392cb5b6db40dec6804c5b166a3a71e903c73453b6ef2ff24
5
5
  SHA512:
6
- metadata.gz: ae376415208f17886d3d9fb37468a91a524b6235a6d1ca62feeacd5395e72f98099e99c6510c65fc1a2583d6e70fecbd4d5a5ed9e597624dd5c0f1cda7af895e
7
- data.tar.gz: 4488d937464b5cadcbd8db633b9204b407a0fd935662f1eb948ae0aafd944a665e010ea527c0811719f3e3f38e379824bacc596d8c5cf5a8f7fd94f6e6c9cdec
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', 155)
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
- -55, 6, 67, -55, 42, 77, 7, 71, 99, 36,
26
- 37, 67, 31, 42, 34, 75, 71, 38, 39, -57,
27
- 17, 22, 35, 25, 75, 27, -55, 29, 30, 17,
28
- 22, 46, 25, 67, 27, 42, 29, 30, 71, 45,
29
- 44, 47, 67, 48, 42, 50, 75, 71, 90, 91,
30
- 53, 17, 22, 54, 25, 75, 27, 60, 29, 30,
31
- 17, 22, 61, 25, 62, 27, 24, 29, 30, 20,
32
- -54, -54, -54, -54, 42, 77, 85, 20, 60, 85,
33
- 100, nil, 17, 22, nil, 25, nil, 27, nil, 29,
34
- 30, 22, nil, 25, nil, 27, 42, 29, 30, 20,
35
- nil, nil, nil, nil, nil, 42, nil, nil, 20, nil,
36
- nil, nil, 17, 22, nil, 25, nil, 27, nil, 29,
37
- 30, 17, 22, nil, 25, nil, 27, 42, 29, 30,
38
- 20, nil, nil, nil, nil, nil, 42, nil, nil, 20,
39
- nil, nil, nil, 17, 22, nil, 25, nil, 27, nil,
40
- 29, 30, 17, 22, nil, 25, nil, 27, 42, 29,
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
- 24, 0, 50, 24, 50, 87, 1, 50, 87, 15,
58
- 15, 71, 7, 71, 8, 50, 71, 16, 16, 10,
59
- 50, 50, 11, 50, 71, 50, 24, 50, 50, 71,
60
- 71, 27, 71, 77, 71, 77, 71, 71, 77, 25,
61
- 25, 29, 85, 30, 85, 33, 77, 85, 78, 78,
62
- 34, 77, 77, 35, 77, 85, 77, 43, 77, 77,
63
- 85, 85, 44, 85, 47, 85, 6, 85, 85, 6,
64
- 14, 14, 14, 14, 17, 63, 65, 17, 88, 89,
65
- 90, nil, 6, 6, nil, 6, nil, 6, nil, 6,
66
- 6, 17, nil, 17, nil, 17, 20, 17, 17, 20,
67
- nil, nil, nil, nil, nil, 36, nil, nil, 36, nil,
68
- nil, nil, 20, 20, nil, 20, nil, 20, nil, 20,
69
- 20, 36, 36, nil, 36, nil, 36, 37, 36, 36,
70
- 37, nil, nil, nil, nil, nil, 38, nil, nil, 38,
71
- nil, nil, nil, 37, 37, nil, 37, nil, 37, nil,
72
- 37, 37, 38, 38, nil, 38, nil, 38, 39, 38,
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
- -1, 6, nil, nil, nil, nil, 58, 12, 11, nil,
90
- -7, -4, nil, nil, 50, -11, -5, 66, nil, nil,
91
- 88, nil, nil, nil, 0, 12, nil, 1, nil, 9,
92
- 12, nil, nil, 41, 42, 45, 97, 119, 128, 150,
93
- nil, nil, nil, 45, 35, nil, nil, 33, nil, nil,
94
- -4, nil, nil, nil, nil, nil, nil, nil, nil, nil,
95
- nil, nil, nil, 66, 273, 66, nil, 159, nil, nil,
96
- nil, 5, nil, nil, nil, nil, nil, 27, 42, 181,
97
- 190, 212, 221, 243, 252, 36, nil, -4, 66, 69,
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
- -68, -68, -1, -2, -3, -4, -68, -68, -6, -7,
103
- -8, -9, -10, -39, -40, -43, -46, -68, -48, -49,
104
- -68, -51, -52, -53, -58, -68, -61, -68, -63, -67,
105
- -68, 101, -5, -14, -68, -68, -68, -68, -68, -68,
106
- -47, -54, -58, -68, -68, -60, -62, -65, -66, -11,
107
- -68, -12, -13, -18, -55, -56, -41, -42, -44, -45,
108
- -50, -59, -64, -15, -68, -19, -21, -68, -24, -25,
109
- -26, -68, -28, -29, -36, -37, -38, -68, -68, -68,
110
- -68, -68, -68, -68, -68, -68, -23, -68, -38, -20,
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, 41, 1, 63, 92, 93, 94, 95, 96,
116
- 97, 56, 57, 2, 43, 58, 59, 3, 4, 5,
117
- 8, 41, 41, 41, 41, 87, 32, 9, 11, 33,
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 ]
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, 27, 1, 16, 18, 18, 18, 18, 18,
125
- 18, 26, 26, 2, 11, 28, 28, 3, 4, 5,
126
- 6, 27, 27, 27, 27, 16, 7, 8, 10, 12,
127
- 9, 13, 14, 15, 19, 20, 21, 30, nil, nil,
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, 3, 13, 17, 18, 19, 14, 18, 21, -5,
134
- 22, -6, 21, -2, -2, -1, -46, nil, -74, -43,
135
- -50, -31, nil, nil, nil, nil, -25, -15, -23, nil,
136
- 20, nil, nil, nil, nil, nil ]
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, nil,
140
- nil, 76, nil, nil, nil, nil, nil, 73, 64, 65,
141
- 66, 68, 69, 70, 72, 74, 13, 14, 15, 16,
142
- 18, 19, 21, 23, 26, 28 ]
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, 34, :_reduce_none,
147
- 1, 35, :_reduce_none,
148
- 1, 36, :_reduce_3,
149
- 1, 37, :_reduce_none,
150
- 3, 38, :_reduce_5,
151
- 2, 38, :_reduce_6,
152
- 1, 39, :_reduce_7,
153
- 1, 41, :_reduce_none,
154
- 1, 41, :_reduce_none,
155
- 1, 41, :_reduce_none,
156
- 2, 40, :_reduce_11,
157
- 2, 45, :_reduce_12,
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
- 0, 46, :_reduce_none,
160
- 2, 46, :_reduce_15,
161
- 4, 50, :_reduce_16,
162
- 3, 50, :_reduce_17,
163
- 1, 48, :_reduce_18,
164
- 1, 49, :_reduce_none,
165
- 3, 49, :_reduce_20,
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
- 3, 52, :_reduce_22,
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
- 3, 57, :_reduce_30,
176
- 3, 57, :_reduce_31,
177
- 3, 57, :_reduce_32,
178
- 3, 57, :_reduce_33,
179
- 3, 57, :_reduce_34,
180
- 3, 57, :_reduce_35,
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
- 1, 51, :_reduce_none,
183
- 1, 58, :_reduce_none,
184
- 1, 44, :_reduce_none,
185
- 1, 44, :_reduce_none,
186
- 3, 59, :_reduce_41,
187
- 3, 59, :_reduce_42,
188
- 1, 59, :_reduce_none,
189
- 3, 61, :_reduce_44,
190
- 3, 61, :_reduce_45,
191
- 1, 61, :_reduce_none,
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
- :IS => 5,
225
- :NOT => 6,
226
- :NULL => 7,
227
- :identifier => 8,
228
- :OR => 9,
229
- :AND => 10,
230
- :left_paren => 11,
231
- :right_paren => 12,
232
- :equals_operator => 13,
233
- :not_equals_operator => 14,
234
- :less_than_operator => 15,
235
- :greater_than_operator => 16,
236
- :less_than_or_equals_operator => 17,
237
- :greater_than_or_equals_operator => 18,
238
- :row_subquery => 19,
239
- :plus_sign => 20,
240
- :minus_sign => 21,
241
- :asterisk => 22,
242
- :solidus => 23,
243
- :sign => 24,
244
- :general_value_specification => 25,
245
- :comma => 26,
246
- :quote => 27,
247
- :character_string_literal => 28,
248
- :DATETIME => 29,
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::Not.new(GitlabZOQL::Parser::Statement::Is.new(val[0], GitlabZOQL::Parser::Statement::Null.new))
369
+ result = GitlabZOQL::Parser::Statement::Table.new(val[0])
420
370
  result
421
371
  end
422
372
  .,.,
423
373
 
424
- module_eval(<<'.,.,', 'parser.racc', 46)
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::Table.new(val[0])
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', 55)
385
+ module_eval(<<'.,.,', 'parser.racc', 54)
441
386
  def _reduce_20(val, _values, result)
442
- result = GitlabZOQL::Parser::Statement::Or.new(val[0], val[2])
387
+ result = GitlabZOQL::Parser::Statement::And.new(val[0], val[2])
443
388
  result
444
389
  end
445
390
  .,.,
446
391
 
447
- # reduce 21 omitted
448
-
449
- module_eval(<<'.,.,', 'parser.racc', 59)
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
- module_eval(<<'.,.,', 'parser.racc', 62)
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[1])
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
- # reduce 24 omitted
464
-
465
- # reduce 25 omitted
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 28 omitted
415
+ # reduce 25 omitted
477
416
 
478
- # reduce 29 omitted
417
+ # reduce 26 omitted
479
418
 
480
- module_eval(<<'.,.,', 'parser.racc', 77)
481
- def _reduce_30(val, _values, result)
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', 78)
488
- def _reduce_31(val, _values, result)
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', 79)
495
- def _reduce_32(val, _values, result)
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', 80)
502
- def _reduce_33(val, _values, result)
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', 81)
509
- def _reduce_34(val, _values, result)
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', 82)
516
- def _reduce_35(val, _values, result)
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 36 omitted
461
+ # reduce 33 omitted
523
462
 
524
- # reduce 37 omitted
525
-
526
- # reduce 38 omitted
527
-
528
- # reduce 39 omitted
463
+ # reduce 34 omitted
529
464
 
530
- # reduce 40 omitted
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', 97)
540
- def _reduce_42(val, _values, result)
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 43 omitted
479
+ # reduce 37 omitted
547
480
 
548
- module_eval(<<'.,.,', 'parser.racc', 101)
549
- def _reduce_44(val, _values, result)
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', 102)
556
- def _reduce_45(val, _values, result)
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 46 omitted
495
+ # reduce 40 omitted
563
496
 
564
- module_eval(<<'.,.,', 'parser.racc', 106)
565
- def _reduce_47(val, _values, result)
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 48 omitted
504
+ # reduce 42 omitted
572
505
 
573
- # reduce 49 omitted
506
+ # reduce 43 omitted
574
507
 
575
- module_eval(<<'.,.,', 'parser.racc', 111)
576
- def _reduce_50(val, _values, result)
577
- result = val[1]
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 51 omitted
515
+ # reduce 45 omitted
583
516
 
584
- # reduce 52 omitted
517
+ # reduce 46 omitted
585
518
 
586
- # reduce 53 omitted
519
+ # reduce 47 omitted
587
520
 
588
- # reduce 54 omitted
521
+ # reduce 48 omitted
589
522
 
590
- module_eval(<<'.,.,', 'parser.racc', 123)
591
- def _reduce_55(val, _values, result)
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', 126)
598
- def _reduce_56(val, _values, result)
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 57 omitted
537
+ # reduce 51 omitted
605
538
 
606
- module_eval(<<'.,.,', 'parser.racc', 131)
607
- def _reduce_58(val, _values, result)
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', 132)
614
- def _reduce_59(val, _values, result)
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', 133)
621
- def _reduce_60(val, _values, result)
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 61 omitted
560
+ # reduce 55 omitted
628
561
 
629
- module_eval(<<'.,.,', 'parser.racc', 137)
630
- def _reduce_62(val, _values, result)
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 63 omitted
569
+ # reduce 57 omitted
637
570
 
638
- module_eval(<<'.,.,', 'parser.racc', 143)
639
- def _reduce_64(val, _values, result)
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', 144)
646
- def _reduce_65(val, _values, result)
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', 145)
653
- def _reduce_66(val, _values, result)
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', 146)
660
- def _reduce_67(val, _values, result)
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(/BY/i))
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(/END/i))
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(/.*(?=\')/i))
152
- action { [:character_string_literal, text.gsub("''", "'")] }
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module GitlabZOQL
4
- VERSION = '0.1.0'
4
+ VERSION = '0.2.1'
5
5
  end
@@ -47,14 +47,6 @@ module GitlabZOQL
47
47
  search_condition('AND', o)
48
48
  end
49
49
 
50
- def visit_Is(o)
51
- if @negated
52
- comparison('IS NOT', o)
53
- else
54
- comparison('IS', o)
55
- end
56
- end
57
-
58
50
  def visit_GreaterOrEquals(o)
59
51
  comparison('>=', o)
60
52
  end
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.0
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-19 00:00:00.000000000 Z
11
+ date: 2024-02-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest