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.
@@ -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