activetokyocabinet 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/active_record/connection_adapters/tokyocabinet_adapter.rb +32 -0
- data/lib/active_record/connection_adapters/tokyotyrant_adapter.rb +37 -1
- data/lib/active_tokyocabinet/sqlparser.tab.rb +232 -216
- data/lib/active_tokyocabinet/sqlparser.y +16 -9
- data/lib/active_tokyocabinet/tdb.rb +4 -0
- data/spec/spec_helper.rb +53 -20
- data/spec/tcspec2ttspec.sh +2 -0
- data/spec/tokyocabinet_spec.rb +481 -0
- data/spec/tokyotyrant_spec.rb +481 -0
- metadata +4 -2
- data/spec/activetokyocabinet_spec.rb +0 -260
@@ -60,6 +60,38 @@ module ActiveRecord
|
|
60
60
|
File.join(@config[:database], table_name + ".tct")
|
61
61
|
end
|
62
62
|
private :tdbpath
|
63
|
+
|
64
|
+
def setindex(table_name, name, type)
|
65
|
+
type = {
|
66
|
+
:lexical => TokyoCabinet::TDB::ITLEXICAL,
|
67
|
+
:decimal => TokyoCabinet::TDB::ITDECIMAL,
|
68
|
+
:token => TokyoCabinet::TDB::ITTOKEN,
|
69
|
+
:qgram => TokyoCabinet::TDB::ITQGRAM,
|
70
|
+
:void => TokyoCabinet::TDB::ITVOID,
|
71
|
+
:keep => TokyoCabinet::TDB::ITKEEP,
|
72
|
+
}.fetch(type)
|
73
|
+
|
74
|
+
name = name.to_s
|
75
|
+
path = tdbpath(table_name)
|
76
|
+
tdb = TokyoCabinet::TDB::new
|
77
|
+
|
78
|
+
unless tdb.open(path, TokyoCabinet::TDB::OWRITER | TokyoCabinet::TDB::OCREAT)
|
79
|
+
ecode = tdb.ecode
|
80
|
+
raise "%s: %s" % [tdb.errmsg(ecode), path]
|
81
|
+
end
|
82
|
+
|
83
|
+
begin
|
84
|
+
unless tdb.setindex(name, type)
|
85
|
+
ecode = tdb.ecode
|
86
|
+
raise "%s: %s" % [tdb.errmsg(ecode), path]
|
87
|
+
end
|
88
|
+
ensure
|
89
|
+
unless tdb.close
|
90
|
+
ecode = tdb.ecode
|
91
|
+
raise tdb.errmsg(ecode)
|
92
|
+
end
|
93
|
+
end
|
94
|
+
end
|
63
95
|
end
|
64
96
|
end
|
65
97
|
end
|
@@ -58,7 +58,7 @@ module ActiveRecord
|
|
58
58
|
|
59
59
|
unless tdb.open(host, port, timeout)
|
60
60
|
ecode = tdb.ecode
|
61
|
-
raise "%s: %s" % [tdb.errmsg(ecode),
|
61
|
+
raise "%s: %s:%s" % [tdb.errmsg(ecode), host, port]
|
62
62
|
end
|
63
63
|
end
|
64
64
|
|
@@ -66,6 +66,42 @@ module ActiveRecord
|
|
66
66
|
@connection[table_name] = tdb
|
67
67
|
end
|
68
68
|
private :tdbopen
|
69
|
+
|
70
|
+
def setindex(table_name, name, type)
|
71
|
+
type = {
|
72
|
+
:lexical => TokyoTyrant::RDBTBL::ITLEXICAL,
|
73
|
+
:decimal => TokyoTyrant::RDBTBL::ITDECIMAL,
|
74
|
+
:token => TokyoTyrant::RDBTBL::ITTOKEN,
|
75
|
+
:qgram => TokyoTyrant::RDBTBL::ITQGRAM,
|
76
|
+
:opt => TokyoTyrant::RDBTBL::ITOPT,
|
77
|
+
:void => TokyoTyrant::RDBTBL::ITVOID,
|
78
|
+
:keep => TokyoTyrant::RDBTBL::ITKEEP,
|
79
|
+
}.fetch(type)
|
80
|
+
|
81
|
+
name = name.to_s
|
82
|
+
|
83
|
+
unless (tdb = @connection[table_name])
|
84
|
+
host, port, timeout = @database.fetch(table_name).values_at(:host, :port, :timeout)
|
85
|
+
tdb = TokyoTyrant::RDBTBL::new
|
86
|
+
|
87
|
+
unless tdb.open(host, port, timeout)
|
88
|
+
ecode = tdb.ecode
|
89
|
+
raise "%s: %s:%s" % [tdb.errmsg(ecode), host, port]
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
begin
|
94
|
+
unless tdb.setindex(name, type)
|
95
|
+
ecode = tdb.ecode
|
96
|
+
raise "%s: %s:%s" % [tdb.errmsg(ecode), host, port]
|
97
|
+
end
|
98
|
+
ensure
|
99
|
+
unless tdb.close
|
100
|
+
ecode = tdb.ecode
|
101
|
+
raise tdb.errmsg(ecode)
|
102
|
+
end
|
103
|
+
end
|
104
|
+
end
|
69
105
|
end
|
70
106
|
end
|
71
107
|
end
|
@@ -13,7 +13,7 @@ module ActiveTokyoCabinet
|
|
13
13
|
|
14
14
|
class SQLParser < Racc::Parser
|
15
15
|
|
16
|
-
module_eval(<<'...end sqlparser.y/module_eval...', 'sqlparser.y',
|
16
|
+
module_eval(<<'...end sqlparser.y/module_eval...', 'sqlparser.y', 205)
|
17
17
|
|
18
18
|
def initialize(obj)
|
19
19
|
src = obj.is_a?(IO) ? obj.read : obj.to_s
|
@@ -26,7 +26,7 @@ def scan
|
|
26
26
|
until @ss.eos?
|
27
27
|
if (tok = @ss.scan /\s+/)
|
28
28
|
# nothing to do
|
29
|
-
elsif (tok = @ss.scan /(?:BW|EW|INCALL|INCANY|INC|IN|
|
29
|
+
elsif (tok = @ss.scan /(?:BW|EW|INCALL|INCANY|INC|IN|ANYONE|REGEXP|BT|BETWEEN|FTS|FTSAND|FTSOR|FTSEX)\b/i)
|
30
30
|
yield tok.upcase.to_sym, tok
|
31
31
|
elsif (tok = @ss.scan /(?:>=|<=|>|<|=)/)
|
32
32
|
yield tok, tok
|
@@ -75,7 +75,7 @@ def tccond(op, expr)
|
|
75
75
|
:QCSTRAND
|
76
76
|
when 'INCANY'
|
77
77
|
:QCSTROR
|
78
|
-
when 'IN', '
|
78
|
+
when 'IN', 'ANYONE'
|
79
79
|
expr.all? {|i| i.kind_of?(Numeric) } ? :QCNUMOREQ : :QCSTROREQ
|
80
80
|
when 'REGEXP'
|
81
81
|
:QCSTRRX
|
@@ -87,13 +87,13 @@ def tccond(op, expr)
|
|
87
87
|
:QCNUMLT
|
88
88
|
when '<='
|
89
89
|
:QCNUMLE
|
90
|
-
when 'BETWEEN'
|
90
|
+
when 'BT', 'BETWEEN'
|
91
91
|
:QCNUMBT
|
92
92
|
when 'FTS'
|
93
93
|
:QCFTSPH
|
94
|
-
when '
|
94
|
+
when 'FTSAND'
|
95
95
|
:QCFTSAND
|
96
|
-
when '
|
96
|
+
when 'FTSOR'
|
97
97
|
:QCFTSOR
|
98
98
|
when 'FTSEX'
|
99
99
|
:QCFTSEX
|
@@ -123,170 +123,174 @@ private :tcordertype
|
|
123
123
|
##### State transition tables begin ###
|
124
124
|
|
125
125
|
racc_action_table = [
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
126
|
+
74, 77, 96, 80, 63, 64, 26, 34, 34, 56,
|
127
|
+
10, 65, 10, 88, 65, 98, 83, 85, 87, 69,
|
128
|
+
71, 72, 75, 76, 78, 79, 81, 82, 84, 86,
|
129
|
+
68, 70, 60, 2, 10, 49, 65, 10, 8, 58,
|
130
|
+
59, 62, 119, 120, 47, 47, 125, 20, 38, 15,
|
131
|
+
10, 10, 10, 34, 1, 34, 88, 4, 10, 10,
|
132
|
+
90, 27, 118, 118, 10, 10, 118, 60, 42, 60,
|
133
|
+
90, 60, 92, 60, 58, 59, 58, 59, 58, 59,
|
134
|
+
58, 59, 60, 93, 60, 32, 60, 95, 60, 58,
|
135
|
+
59, 58, 59, 58, 59, 58, 59, 10, 28, 97,
|
136
|
+
27, 43, 25, 103, 104, 10, 10, 107, 23, 10,
|
137
|
+
111, 112, 114, 10, 112, 21, 14, 13, 12, 122,
|
138
|
+
124, 10, 103 ]
|
138
139
|
|
139
140
|
racc_action_check = [
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
44,
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
141
|
+
51, 51, 66, 51, 47, 47, 17, 35, 36, 39,
|
142
|
+
42, 88, 27, 66, 65, 73, 51, 51, 51, 51,
|
143
|
+
51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
|
144
|
+
51, 51, 73, 0, 88, 34, 49, 65, 0, 73,
|
145
|
+
73, 44, 109, 110, 34, 49, 117, 8, 28, 8,
|
146
|
+
26, 32, 25, 24, 0, 29, 52, 0, 34, 49,
|
147
|
+
54, 44, 109, 110, 28, 8, 117, 107, 29, 95,
|
148
|
+
55, 98, 56, 63, 107, 107, 95, 95, 98, 98,
|
149
|
+
63, 63, 43, 62, 111, 22, 80, 64, 118, 43,
|
150
|
+
43, 111, 111, 80, 80, 118, 118, 21, 20, 67,
|
151
|
+
19, 31, 16, 89, 90, 14, 92, 93, 13, 12,
|
152
|
+
100, 102, 103, 104, 105, 11, 4, 3, 2, 112,
|
153
|
+
115, 1, 91 ]
|
152
154
|
|
153
155
|
racc_action_pointer = [
|
154
|
-
31,
|
155
|
-
nil,
|
156
|
-
|
157
|
-
nil,
|
158
|
-
|
159
|
-
|
160
|
-
nil,
|
161
|
-
|
162
|
-
nil, nil, nil, nil, nil, nil,
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
nil, nil ]
|
156
|
+
31, 94, 115, 117, 108, nil, nil, nil, 38, nil,
|
157
|
+
nil, 91, 82, 108, 78, nil, 94, -2, nil, 75,
|
158
|
+
94, 70, 81, nil, 41, 25, 23, -15, 37, 43,
|
159
|
+
nil, 87, 24, nil, 31, -5, -4, nil, nil, 4,
|
160
|
+
nil, nil, -17, 61, 36, nil, nil, -10, nil, 32,
|
161
|
+
nil, -14, 40, nil, 42, 52, 62, nil, nil, nil,
|
162
|
+
nil, nil, 77, 52, 83, 10, -3, 94, nil, nil,
|
163
|
+
nil, nil, nil, 11, nil, nil, nil, nil, nil, nil,
|
164
|
+
65, nil, nil, nil, nil, nil, nil, nil, 7, 83,
|
165
|
+
85, 102, 79, 103, nil, 48, nil, nil, 50, nil,
|
166
|
+
94, nil, 89, 91, 86, 92, nil, 46, nil, 37,
|
167
|
+
38, 63, 98, nil, nil, 102, nil, 41, 67, nil,
|
168
|
+
nil, nil, nil, nil, nil, nil, nil ]
|
167
169
|
|
168
170
|
racc_action_default = [
|
169
|
-
-
|
170
|
-
-
|
171
|
-
-
|
172
|
-
-
|
173
|
-
-
|
174
|
-
-
|
175
|
-
-
|
176
|
-
-66, -
|
177
|
-
-
|
178
|
-
-
|
179
|
-
-
|
180
|
-
-
|
181
|
-
-5, -
|
171
|
+
-68, -68, -68, -68, -68, -1, -2, -3, -68, -4,
|
172
|
+
-42, -68, -68, -68, -68, -12, -68, -68, -43, -13,
|
173
|
+
-68, -68, -68, 127, -14, -68, -68, -68, -68, -14,
|
174
|
+
-38, -68, -68, -41, -68, -14, -14, -44, -10, -68,
|
175
|
+
-11, -37, -68, -68, -68, -21, -23, -68, -27, -68,
|
176
|
+
-15, -68, -16, -17, -29, -29, -8, -39, -45, -47,
|
177
|
+
-46, -40, -68, -68, -68, -68, -68, -68, -65, -53,
|
178
|
+
-66, -54, -56, -68, -67, -57, -58, -55, -59, -60,
|
179
|
+
-68, -61, -62, -50, -63, -51, -64, -52, -68, -33,
|
180
|
+
-68, -33, -68, -68, -19, -68, -24, -18, -68, -25,
|
181
|
+
-68, -22, -35, -68, -68, -35, -9, -68, -48, -68,
|
182
|
+
-68, -68, -68, -6, -34, -31, -7, -68, -68, -20,
|
183
|
+
-26, -28, -36, -30, -32, -5, -49 ]
|
182
184
|
|
183
185
|
racc_goto_table = [
|
184
|
-
11,
|
185
|
-
|
186
|
-
31,
|
187
|
-
|
188
|
-
|
186
|
+
11, 53, 61, 109, 19, 52, 110, 18, 30, 113,
|
187
|
+
9, 22, 116, 24, 7, 117, 67, 102, 17, 105,
|
188
|
+
31, 39, 94, 50, 35, 36, 37, 40, 44, 57,
|
189
|
+
16, 18, 99, 33, 89, 91, 6, 5, 41, 100,
|
190
|
+
101, 31, 73, 123, 54, 55, 29, 3, nil, nil,
|
189
191
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
190
192
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
191
|
-
|
192
|
-
nil, nil, nil, nil, nil, nil, nil, nil, 102, nil,
|
193
|
+
121, nil, nil, nil, nil, nil, nil, 126, nil, nil,
|
193
194
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
194
|
-
|
195
|
+
nil, 106, nil, nil, nil, nil, nil, nil, nil, nil,
|
196
|
+
nil, nil, nil, 115 ]
|
195
197
|
|
196
198
|
racc_goto_check = [
|
197
|
-
6,
|
198
|
-
|
199
|
-
6,
|
200
|
-
|
201
|
-
|
199
|
+
6, 18, 19, 8, 7, 17, 8, 6, 26, 13,
|
200
|
+
5, 6, 13, 6, 4, 8, 18, 12, 14, 12,
|
201
|
+
6, 15, 19, 16, 6, 6, 6, 6, 7, 26,
|
202
|
+
9, 6, 19, 10, 11, 11, 3, 2, 10, 19,
|
203
|
+
20, 6, 22, 24, 10, 10, 25, 1, nil, nil,
|
202
204
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
203
205
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
204
|
-
|
205
|
-
nil, nil, nil, nil, nil, nil, nil, nil, 6, nil,
|
206
|
+
19, nil, nil, nil, nil, nil, nil, 19, nil, nil,
|
206
207
|
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
|
207
|
-
6
|
208
|
+
nil, 6, nil, nil, nil, nil, nil, nil, nil, nil,
|
209
|
+
nil, nil, nil, 6 ]
|
208
210
|
|
209
211
|
racc_goto_pointer = [
|
210
|
-
nil,
|
211
|
-
|
212
|
-
-
|
212
|
+
nil, 47, 37, 36, 14, 10, -1, -4, -92, 22,
|
213
|
+
9, -20, -72, -93, 10, -7, -11, -29, -33, -41,
|
214
|
+
-48, nil, -9, nil, -72, 25, -13 ]
|
213
215
|
|
214
216
|
racc_goto_default = [
|
215
|
-
nil, nil, nil, nil, nil, nil,
|
216
|
-
nil, nil, nil, nil, nil, nil, nil,
|
217
|
-
|
217
|
+
nil, nil, nil, nil, nil, nil, 51, nil, nil, nil,
|
218
|
+
nil, nil, nil, nil, nil, nil, nil, 66, nil, 108,
|
219
|
+
45, 46, nil, 48, nil, nil, nil ]
|
218
220
|
|
219
221
|
racc_reduce_table = [
|
220
222
|
0, 0, :racc_error,
|
221
|
-
1,
|
222
|
-
1,
|
223
|
-
1,
|
224
|
-
1,
|
225
|
-
10,
|
226
|
-
8,
|
227
|
-
8,
|
228
|
-
4,
|
229
|
-
6,
|
230
|
-
1, 60, :_reduce_none,
|
231
|
-
1, 60, :_reduce_none,
|
232
|
-
1, 54, :_reduce_12,
|
233
|
-
1, 54, :_reduce_none,
|
234
|
-
0, 55, :_reduce_14,
|
235
|
-
2, 55, :_reduce_15,
|
236
|
-
2, 55, :_reduce_16,
|
223
|
+
1, 47, :_reduce_none,
|
224
|
+
1, 47, :_reduce_none,
|
225
|
+
1, 47, :_reduce_none,
|
226
|
+
1, 47, :_reduce_none,
|
227
|
+
10, 48, :_reduce_5,
|
228
|
+
8, 49, :_reduce_6,
|
229
|
+
8, 49, :_reduce_7,
|
230
|
+
4, 60, :_reduce_8,
|
231
|
+
6, 60, :_reduce_9,
|
237
232
|
1, 61, :_reduce_none,
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
3,
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
1,
|
251
|
-
|
252
|
-
|
233
|
+
1, 61, :_reduce_none,
|
234
|
+
1, 55, :_reduce_12,
|
235
|
+
1, 55, :_reduce_none,
|
236
|
+
0, 56, :_reduce_14,
|
237
|
+
2, 56, :_reduce_15,
|
238
|
+
2, 56, :_reduce_16,
|
239
|
+
1, 62, :_reduce_none,
|
240
|
+
3, 62, :_reduce_18,
|
241
|
+
3, 64, :_reduce_19,
|
242
|
+
5, 64, :_reduce_20,
|
243
|
+
1, 63, :_reduce_21,
|
244
|
+
3, 63, :_reduce_22,
|
245
|
+
1, 66, :_reduce_none,
|
246
|
+
3, 66, :_reduce_24,
|
247
|
+
3, 67, :_reduce_25,
|
248
|
+
5, 67, :_reduce_26,
|
249
|
+
1, 67, :_reduce_none,
|
250
|
+
5, 69, :_reduce_28,
|
251
|
+
0, 57, :_reduce_29,
|
252
|
+
4, 57, :_reduce_30,
|
253
|
+
0, 70, :_reduce_31,
|
254
|
+
1, 70, :_reduce_none,
|
253
255
|
0, 58, :_reduce_33,
|
254
256
|
2, 58, :_reduce_34,
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
1,
|
264
|
-
|
265
|
-
1,
|
266
|
-
1,
|
267
|
-
|
268
|
-
1,
|
269
|
-
|
270
|
-
1,
|
271
|
-
1,
|
272
|
-
1,
|
273
|
-
1,
|
274
|
-
1,
|
275
|
-
1,
|
276
|
-
1,
|
277
|
-
1,
|
278
|
-
1,
|
279
|
-
1,
|
280
|
-
1,
|
281
|
-
1,
|
282
|
-
1,
|
283
|
-
1,
|
284
|
-
1,
|
285
|
-
1,
|
257
|
+
0, 59, :_reduce_35,
|
258
|
+
2, 59, :_reduce_36,
|
259
|
+
5, 50, :_reduce_37,
|
260
|
+
1, 71, :_reduce_none,
|
261
|
+
3, 71, :_reduce_39,
|
262
|
+
3, 72, :_reduce_40,
|
263
|
+
4, 51, :_reduce_41,
|
264
|
+
1, 52, :_reduce_none,
|
265
|
+
1, 53, :_reduce_43,
|
266
|
+
3, 53, :_reduce_44,
|
267
|
+
1, 65, :_reduce_none,
|
268
|
+
1, 65, :_reduce_none,
|
269
|
+
1, 65, :_reduce_none,
|
270
|
+
1, 54, :_reduce_48,
|
271
|
+
3, 54, :_reduce_49,
|
272
|
+
1, 68, :_reduce_none,
|
273
|
+
1, 68, :_reduce_none,
|
274
|
+
1, 68, :_reduce_none,
|
275
|
+
1, 68, :_reduce_none,
|
276
|
+
1, 68, :_reduce_none,
|
277
|
+
1, 68, :_reduce_none,
|
278
|
+
1, 68, :_reduce_none,
|
279
|
+
1, 68, :_reduce_none,
|
280
|
+
1, 68, :_reduce_none,
|
281
|
+
1, 68, :_reduce_none,
|
282
|
+
1, 68, :_reduce_none,
|
283
|
+
1, 68, :_reduce_none,
|
284
|
+
1, 68, :_reduce_none,
|
285
|
+
1, 68, :_reduce_none,
|
286
|
+
1, 68, :_reduce_none,
|
287
|
+
1, 68, :_reduce_none,
|
288
|
+
1, 68, :_reduce_none,
|
289
|
+
1, 68, :_reduce_none ]
|
286
290
|
|
287
|
-
racc_reduce_n =
|
291
|
+
racc_reduce_n = 68
|
288
292
|
|
289
|
-
racc_shift_n =
|
293
|
+
racc_shift_n = 127
|
290
294
|
|
291
295
|
racc_token_table = {
|
292
296
|
false => 0,
|
@@ -306,36 +310,37 @@ racc_token_table = {
|
|
306
310
|
"=" => 14,
|
307
311
|
:IN => 15,
|
308
312
|
:AND => 16,
|
309
|
-
:
|
310
|
-
:
|
311
|
-
:
|
312
|
-
:
|
313
|
-
:
|
314
|
-
:
|
315
|
-
:
|
316
|
-
|
317
|
-
|
318
|
-
:
|
319
|
-
:
|
320
|
-
:
|
321
|
-
:
|
322
|
-
:
|
323
|
-
:
|
324
|
-
:
|
325
|
-
:
|
326
|
-
:
|
327
|
-
:
|
328
|
-
:
|
329
|
-
:
|
330
|
-
:
|
331
|
-
:
|
332
|
-
:
|
333
|
-
|
334
|
-
"
|
335
|
-
"
|
336
|
-
"
|
337
|
-
|
338
|
-
|
313
|
+
:BETWEEN => 17,
|
314
|
+
:ORDER => 18,
|
315
|
+
:BY => 19,
|
316
|
+
:LIMIT => 20,
|
317
|
+
:NUMBER => 21,
|
318
|
+
:OFFSET => 22,
|
319
|
+
:UPDATE => 23,
|
320
|
+
:SET => 24,
|
321
|
+
"," => 25,
|
322
|
+
:DELETE => 26,
|
323
|
+
:IDENTIFIER => 27,
|
324
|
+
:STRING => 28,
|
325
|
+
:NULL => 29,
|
326
|
+
:BW => 30,
|
327
|
+
:EW => 31,
|
328
|
+
:INCALL => 32,
|
329
|
+
:INCANY => 33,
|
330
|
+
:INC => 34,
|
331
|
+
:ANYONE => 35,
|
332
|
+
:REGEXP => 36,
|
333
|
+
:BT => 37,
|
334
|
+
:FTS => 38,
|
335
|
+
:FTSAND => 39,
|
336
|
+
:FTSOR => 40,
|
337
|
+
:FTSEX => 41,
|
338
|
+
">=" => 42,
|
339
|
+
"<=" => 43,
|
340
|
+
">" => 44,
|
341
|
+
"<" => 45 }
|
342
|
+
|
343
|
+
racc_nt_base = 46
|
339
344
|
|
340
345
|
racc_use_result_var = false
|
341
346
|
|
@@ -373,6 +378,7 @@ Racc_token_to_s_table = [
|
|
373
378
|
"\"=\"",
|
374
379
|
"IN",
|
375
380
|
"AND",
|
381
|
+
"BETWEEN",
|
376
382
|
"ORDER",
|
377
383
|
"BY",
|
378
384
|
"LIMIT",
|
@@ -390,12 +396,12 @@ Racc_token_to_s_table = [
|
|
390
396
|
"INCALL",
|
391
397
|
"INCANY",
|
392
398
|
"INC",
|
393
|
-
"
|
399
|
+
"ANYONE",
|
394
400
|
"REGEXP",
|
395
|
-
"
|
401
|
+
"BT",
|
396
402
|
"FTS",
|
397
|
-
"
|
398
|
-
"
|
403
|
+
"FTSAND",
|
404
|
+
"FTSOR",
|
399
405
|
"FTSEX",
|
400
406
|
"\">=\"",
|
401
407
|
"\"<=\"",
|
@@ -424,6 +430,7 @@ Racc_token_to_s_table = [
|
|
424
430
|
"boolean_primary",
|
425
431
|
"predicate",
|
426
432
|
"op",
|
433
|
+
"between_predicate",
|
427
434
|
"ordering_spec",
|
428
435
|
"set_clause_list",
|
429
436
|
"set_clause" ]
|
@@ -571,127 +578,132 @@ module_eval(<<'.,.,', 'sqlparser.y', 89)
|
|
571
578
|
end
|
572
579
|
.,.,
|
573
580
|
|
574
|
-
|
575
|
-
|
581
|
+
# reduce 27 omitted
|
582
|
+
|
583
|
+
module_eval(<<'.,.,', 'sqlparser.y', 95)
|
584
|
+
def _reduce_28(val, _values)
|
585
|
+
{:name => val[0], :op => tccond(val[1], nil), :expr => [val[2], val[4]]}
|
586
|
+
|
587
|
+
end
|
588
|
+
.,.,
|
589
|
+
|
590
|
+
module_eval(<<'.,.,', 'sqlparser.y', 100)
|
591
|
+
def _reduce_29(val, _values)
|
576
592
|
nil
|
577
593
|
|
578
594
|
end
|
579
595
|
.,.,
|
580
596
|
|
581
|
-
module_eval(<<'.,.,', 'sqlparser.y',
|
582
|
-
def
|
597
|
+
module_eval(<<'.,.,', 'sqlparser.y', 104)
|
598
|
+
def _reduce_30(val, _values)
|
583
599
|
{:name => val[2], :type => val[3]}
|
584
600
|
|
585
601
|
end
|
586
602
|
.,.,
|
587
603
|
|
588
|
-
module_eval(<<'.,.,', 'sqlparser.y',
|
589
|
-
def
|
604
|
+
module_eval(<<'.,.,', 'sqlparser.y', 109)
|
605
|
+
def _reduce_31(val, _values)
|
590
606
|
:QOSTRASC
|
591
607
|
|
592
608
|
end
|
593
609
|
.,.,
|
594
610
|
|
595
|
-
# reduce
|
611
|
+
# reduce 32 omitted
|
596
612
|
|
597
|
-
module_eval(<<'.,.,', 'sqlparser.y',
|
598
|
-
def
|
613
|
+
module_eval(<<'.,.,', 'sqlparser.y', 115)
|
614
|
+
def _reduce_33(val, _values)
|
599
615
|
nil
|
600
616
|
|
601
617
|
end
|
602
618
|
.,.,
|
603
619
|
|
604
|
-
module_eval(<<'.,.,', 'sqlparser.y',
|
605
|
-
def
|
620
|
+
module_eval(<<'.,.,', 'sqlparser.y', 119)
|
621
|
+
def _reduce_34(val, _values)
|
606
622
|
val[1]
|
607
623
|
|
608
624
|
end
|
609
625
|
.,.,
|
610
626
|
|
611
|
-
module_eval(<<'.,.,', 'sqlparser.y',
|
612
|
-
def
|
627
|
+
module_eval(<<'.,.,', 'sqlparser.y', 124)
|
628
|
+
def _reduce_35(val, _values)
|
613
629
|
nil
|
614
630
|
|
615
631
|
end
|
616
632
|
.,.,
|
617
633
|
|
618
|
-
module_eval(<<'.,.,', 'sqlparser.y',
|
619
|
-
def
|
634
|
+
module_eval(<<'.,.,', 'sqlparser.y', 128)
|
635
|
+
def _reduce_36(val, _values)
|
620
636
|
val[1]
|
621
637
|
|
622
638
|
end
|
623
639
|
.,.,
|
624
640
|
|
625
|
-
module_eval(<<'.,.,', 'sqlparser.y',
|
626
|
-
def
|
641
|
+
module_eval(<<'.,.,', 'sqlparser.y', 133)
|
642
|
+
def _reduce_37(val, _values)
|
627
643
|
{:command => :update, :table => val[1], :set_clause_list => val[3], :condition => val[4]}
|
628
644
|
|
629
645
|
end
|
630
646
|
.,.,
|
631
647
|
|
632
|
-
# reduce
|
648
|
+
# reduce 38 omitted
|
633
649
|
|
634
|
-
module_eval(<<'.,.,', 'sqlparser.y',
|
635
|
-
def
|
650
|
+
module_eval(<<'.,.,', 'sqlparser.y', 139)
|
651
|
+
def _reduce_39(val, _values)
|
636
652
|
val[0].merge val[2]
|
637
653
|
|
638
654
|
end
|
639
655
|
.,.,
|
640
656
|
|
641
|
-
module_eval(<<'.,.,', 'sqlparser.y',
|
642
|
-
def
|
657
|
+
module_eval(<<'.,.,', 'sqlparser.y', 144)
|
658
|
+
def _reduce_40(val, _values)
|
643
659
|
{val[0] => val[2]}
|
644
660
|
|
645
661
|
end
|
646
662
|
.,.,
|
647
663
|
|
648
|
-
module_eval(<<'.,.,', 'sqlparser.y',
|
649
|
-
def
|
664
|
+
module_eval(<<'.,.,', 'sqlparser.y', 149)
|
665
|
+
def _reduce_41(val, _values)
|
650
666
|
{:command => :delete, :table => val[2], :condition => val[3]}
|
651
667
|
|
652
668
|
end
|
653
669
|
.,.,
|
654
670
|
|
655
|
-
# reduce
|
671
|
+
# reduce 42 omitted
|
656
672
|
|
657
|
-
module_eval(<<'.,.,', 'sqlparser.y',
|
658
|
-
def
|
673
|
+
module_eval(<<'.,.,', 'sqlparser.y', 156)
|
674
|
+
def _reduce_43(val, _values)
|
659
675
|
[val[0]]
|
660
676
|
|
661
677
|
end
|
662
678
|
.,.,
|
663
679
|
|
664
|
-
module_eval(<<'.,.,', 'sqlparser.y',
|
665
|
-
def
|
680
|
+
module_eval(<<'.,.,', 'sqlparser.y', 160)
|
681
|
+
def _reduce_44(val, _values)
|
666
682
|
val[0] << val[2]
|
667
683
|
|
668
684
|
end
|
669
685
|
.,.,
|
670
686
|
|
671
|
-
# reduce
|
687
|
+
# reduce 45 omitted
|
672
688
|
|
673
|
-
# reduce
|
689
|
+
# reduce 46 omitted
|
674
690
|
|
675
|
-
# reduce
|
691
|
+
# reduce 47 omitted
|
676
692
|
|
677
|
-
module_eval(<<'.,.,', 'sqlparser.y',
|
678
|
-
def
|
693
|
+
module_eval(<<'.,.,', 'sqlparser.y', 169)
|
694
|
+
def _reduce_48(val, _values)
|
679
695
|
[val[0]]
|
680
696
|
|
681
697
|
end
|
682
698
|
.,.,
|
683
699
|
|
684
|
-
module_eval(<<'.,.,', 'sqlparser.y',
|
685
|
-
def
|
700
|
+
module_eval(<<'.,.,', 'sqlparser.y', 173)
|
701
|
+
def _reduce_49(val, _values)
|
686
702
|
val[0] << val[2]
|
687
703
|
|
688
704
|
end
|
689
705
|
.,.,
|
690
706
|
|
691
|
-
# reduce 48 omitted
|
692
|
-
|
693
|
-
# reduce 49 omitted
|
694
|
-
|
695
707
|
# reduce 50 omitted
|
696
708
|
|
697
709
|
# reduce 51 omitted
|
@@ -724,6 +736,10 @@ module_eval(<<'.,.,', 'sqlparser.y', 166)
|
|
724
736
|
|
725
737
|
# reduce 65 omitted
|
726
738
|
|
739
|
+
# reduce 66 omitted
|
740
|
+
|
741
|
+
# reduce 67 omitted
|
742
|
+
|
727
743
|
def _reduce_none(val, _values)
|
728
744
|
val[0]
|
729
745
|
end
|