activetokyocabinet 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -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), path]
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', 198)
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|EQANY|REGEXP|BETWEEN|FTS|FTSALL|FTSANY|FTSEX)\b/i)
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', 'EQANY'
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 'FTSALL'
94
+ when 'FTSAND'
95
95
  :QCFTSAND
96
- when 'FTSANY'
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
- 72, 75, 34, 62, 63, 26, 10, 10, 34, 54,
127
- 64, 34, 64, 10, 42, 79, 81, 83, 85, 68,
128
- 69, 71, 73, 74, 76, 77, 78, 80, 82, 84,
129
- 67, 96, 10, 2, 10, 47, 64, 37, 9, 94,
130
- 61, 120, 116, 115, 46, 46, 19, 59, 15, 10,
131
- 86, 34, 10, 1, 57, 58, 4, 10, 10, 26,
132
- 114, 114, 114, 10, 59, 10, 59, 32, 59, 10,
133
- 59, 57, 58, 57, 58, 57, 58, 57, 58, 59,
134
- 86, 59, 88, 89, 88, 91, 57, 58, 57, 58,
135
- 28, 93, 27, 43, 95, 25, 10, 100, 101, 23,
136
- 100, 104, 10, 21, 109, 110, 10, 109, 14, 13,
137
- 12, 117, 119, 10, 10 ]
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
- 49, 49, 29, 46, 46, 18, 32, 26, 35, 38,
141
- 64, 40, 86, 42, 29, 49, 49, 49, 49, 49,
142
- 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
143
- 49, 70, 64, 0, 86, 34, 47, 27, 0, 65,
144
- 44, 113, 107, 106, 34, 47, 9, 70, 9, 25,
145
- 65, 24, 27, 0, 70, 70, 0, 34, 47, 44,
146
- 113, 107, 106, 9, 96, 28, 93, 22, 43, 21,
147
- 104, 96, 96, 93, 93, 43, 43, 104, 104, 62,
148
- 50, 114, 53, 54, 55, 61, 62, 62, 114, 114,
149
- 20, 63, 19, 31, 66, 16, 14, 87, 88, 13,
150
- 90, 91, 12, 11, 99, 100, 101, 103, 4, 3,
151
- 2, 109, 111, 1, 89 ]
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, 87, 107, 109, 100, nil, nil, nil, nil, 37,
155
- nil, 80, 76, 99, 70, nil, 87, nil, -19, 88,
156
- 82, 43, 63, nil, 39, 23, -19, 26, 39, -10,
157
- nil, 79, -20, nil, 31, -4, nil, nil, 4, nil,
158
- -1, nil, -13, 48, 35, nil, -11, 32, nil, -14,
159
- 64, nil, nil, 65, 73, 67, nil, nil, nil, nil,
160
- nil, 79, 59, 87, 6, 34, 89, nil, nil, nil,
161
- 27, nil, nil, nil, nil, nil, nil, nil, nil, nil,
162
- nil, nil, nil, nil, nil, nil, 8, 78, 80, 88,
163
- 81, 97, nil, 46, nil, nil, 44, nil, nil, 83,
164
- 85, 80, nil, 86, 50, nil, 38, 37, nil, 91,
165
- nil, 95, nil, 36, 61, nil, nil, nil, nil, nil,
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
- -66, -66, -66, -66, -66, -1, -2, -3, -4, -66,
170
- -40, -66, -66, -66, -66, -12, -66, -41, -13, -66,
171
- -66, -66, -66, 122, -14, -66, -66, -66, -66, -14,
172
- -36, -66, -66, -39, -66, -14, -42, -10, -66, -11,
173
- -14, -35, -66, -66, -66, -23, -66, -66, -15, -66,
174
- -16, -17, -21, -27, -8, -27, -37, -43, -45, -44,
175
- -38, -66, -66, -66, -66, -66, -66, -64, -52, -54,
176
- -66, -55, -65, -56, -57, -53, -58, -59, -60, -48,
177
- -61, -49, -62, -50, -63, -51, -66, -31, -66, -66,
178
- -31, -66, -19, -66, -24, -18, -66, -25, -22, -33,
179
- -66, -66, -9, -33, -66, -46, -66, -66, -7, -66,
180
- -32, -29, -6, -66, -66, -20, -26, -34, -28, -30,
181
- -5, -47 ]
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, 30, 60, 51, 50, 18, 106, 33, 17, 107,
185
- 108, 22, 41, 24, 112, 8, 66, 113, 53, 7,
186
- 31, 92, 56, 55, 35, 36, 39, 40, 44, 97,
187
- 99, 17, 87, 103, 90, 16, 38, 48, 20, 6,
188
- 5, 31, 98, 70, 118, 29, 3, nil, nil, nil,
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
- nil, nil, nil, 121, nil, nil, nil, nil, nil, nil,
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
- 111 ]
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, 25, 19, 18, 17, 7, 8, 10, 6, 8,
198
- 13, 6, 10, 6, 13, 5, 18, 8, 10, 4,
199
- 6, 19, 25, 10, 6, 6, 6, 6, 7, 19,
200
- 12, 6, 11, 12, 11, 14, 15, 16, 9, 3,
201
- 2, 6, 20, 22, 23, 24, 1, nil, nil, nil,
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
- nil, nil, nil, 19, nil, nil, nil, nil, nil, nil,
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, 46, 40, 39, 19, 15, -1, -4, -87, 29,
211
- -17, -21, -57, -89, 26, 9, 3, -30, -31, -41,
212
- -44, nil, -6, -67, 24, -20 ]
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, 49, nil, nil, nil,
216
- nil, nil, nil, nil, nil, nil, nil, 65, nil, 105,
217
- 52, 45, nil, nil, nil, nil ]
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, 46, :_reduce_none,
222
- 1, 46, :_reduce_none,
223
- 1, 46, :_reduce_none,
224
- 1, 46, :_reduce_none,
225
- 10, 47, :_reduce_5,
226
- 8, 48, :_reduce_6,
227
- 8, 48, :_reduce_7,
228
- 4, 59, :_reduce_8,
229
- 6, 59, :_reduce_9,
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
- 3, 61, :_reduce_18,
239
- 3, 63, :_reduce_19,
240
- 5, 63, :_reduce_20,
241
- 1, 62, :_reduce_21,
242
- 3, 62, :_reduce_22,
243
- 1, 65, :_reduce_none,
244
- 3, 65, :_reduce_24,
245
- 3, 66, :_reduce_25,
246
- 5, 66, :_reduce_26,
247
- 0, 56, :_reduce_27,
248
- 4, 56, :_reduce_28,
249
- 0, 68, :_reduce_29,
250
- 1, 68, :_reduce_none,
251
- 0, 57, :_reduce_31,
252
- 2, 57, :_reduce_32,
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
- 5, 49, :_reduce_35,
256
- 1, 69, :_reduce_none,
257
- 3, 69, :_reduce_37,
258
- 3, 70, :_reduce_38,
259
- 4, 50, :_reduce_39,
260
- 1, 51, :_reduce_none,
261
- 1, 52, :_reduce_41,
262
- 3, 52, :_reduce_42,
263
- 1, 64, :_reduce_none,
264
- 1, 64, :_reduce_none,
265
- 1, 64, :_reduce_none,
266
- 1, 53, :_reduce_46,
267
- 3, 53, :_reduce_47,
268
- 1, 67, :_reduce_none,
269
- 1, 67, :_reduce_none,
270
- 1, 67, :_reduce_none,
271
- 1, 67, :_reduce_none,
272
- 1, 67, :_reduce_none,
273
- 1, 67, :_reduce_none,
274
- 1, 67, :_reduce_none,
275
- 1, 67, :_reduce_none,
276
- 1, 67, :_reduce_none,
277
- 1, 67, :_reduce_none,
278
- 1, 67, :_reduce_none,
279
- 1, 67, :_reduce_none,
280
- 1, 67, :_reduce_none,
281
- 1, 67, :_reduce_none,
282
- 1, 67, :_reduce_none,
283
- 1, 67, :_reduce_none,
284
- 1, 67, :_reduce_none,
285
- 1, 67, :_reduce_none ]
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 = 66
291
+ racc_reduce_n = 68
288
292
 
289
- racc_shift_n = 122
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
- :ORDER => 17,
310
- :BY => 18,
311
- :LIMIT => 19,
312
- :NUMBER => 20,
313
- :OFFSET => 21,
314
- :UPDATE => 22,
315
- :SET => 23,
316
- "," => 24,
317
- :DELETE => 25,
318
- :IDENTIFIER => 26,
319
- :STRING => 27,
320
- :NULL => 28,
321
- :BW => 29,
322
- :EW => 30,
323
- :INCALL => 31,
324
- :INCANY => 32,
325
- :INC => 33,
326
- :EQANY => 34,
327
- :REGEXP => 35,
328
- :BETWEEN => 36,
329
- :FTS => 37,
330
- :FTSALL => 38,
331
- :FTSANY => 39,
332
- :FTSEX => 40,
333
- ">=" => 41,
334
- "<=" => 42,
335
- ">" => 43,
336
- "<" => 44 }
337
-
338
- racc_nt_base = 45
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
- "EQANY",
399
+ "ANYONE",
394
400
  "REGEXP",
395
- "BETWEEN",
401
+ "BT",
396
402
  "FTS",
397
- "FTSALL",
398
- "FTSANY",
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
- module_eval(<<'.,.,', 'sqlparser.y', 93)
575
- def _reduce_27(val, _values)
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', 97)
582
- def _reduce_28(val, _values)
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', 102)
589
- def _reduce_29(val, _values)
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 30 omitted
611
+ # reduce 32 omitted
596
612
 
597
- module_eval(<<'.,.,', 'sqlparser.y', 108)
598
- def _reduce_31(val, _values)
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', 112)
605
- def _reduce_32(val, _values)
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', 117)
612
- def _reduce_33(val, _values)
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', 121)
619
- def _reduce_34(val, _values)
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', 126)
626
- def _reduce_35(val, _values)
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 36 omitted
648
+ # reduce 38 omitted
633
649
 
634
- module_eval(<<'.,.,', 'sqlparser.y', 132)
635
- def _reduce_37(val, _values)
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', 137)
642
- def _reduce_38(val, _values)
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', 142)
649
- def _reduce_39(val, _values)
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 40 omitted
671
+ # reduce 42 omitted
656
672
 
657
- module_eval(<<'.,.,', 'sqlparser.y', 149)
658
- def _reduce_41(val, _values)
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', 153)
665
- def _reduce_42(val, _values)
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 43 omitted
687
+ # reduce 45 omitted
672
688
 
673
- # reduce 44 omitted
689
+ # reduce 46 omitted
674
690
 
675
- # reduce 45 omitted
691
+ # reduce 47 omitted
676
692
 
677
- module_eval(<<'.,.,', 'sqlparser.y', 162)
678
- def _reduce_46(val, _values)
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', 166)
685
- def _reduce_47(val, _values)
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