activetokyocabinet 0.1.3 → 0.1.4
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.
- 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
|