rufus-tokyo 1.0.2 → 1.0.3
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/CHANGELOG.txt +5 -0
- data/CREDITS.txt +1 -0
- data/lib/rufus/tokyo.rb +1 -1
- data/lib/rufus/tokyo/cabinet/abstract.rb +8 -10
- data/lib/rufus/tokyo/cabinet/lib.rb +37 -37
- data/lib/rufus/tokyo/cabinet/table.rb +4 -4
- data/lib/rufus/tokyo/cabinet/util.rb +1 -1
- data/lib/rufus/tokyo/dystopia/core.rb +4 -9
- data/lib/rufus/tokyo/dystopia/lib.rb +16 -16
- data/lib/rufus/tokyo/dystopia/words.rb +1 -1
- data/lib/rufus/tokyo/tyrant/abstract.rb +2 -2
- data/lib/rufus/tokyo/tyrant/lib.rb +19 -17
- data/lib/rufus/tokyo/tyrant/table.rb +1 -2
- metadata +2 -2
data/CHANGELOG.txt
CHANGED
@@ -2,6 +2,11 @@
|
|
2
2
|
= rufus-tokyo CHANGELOG.txt
|
3
3
|
|
4
4
|
|
5
|
+
== rufus-tokyo - 1.0.3 released 2009/11/16
|
6
|
+
|
7
|
+
- bug : newer versions of FFI have [undocumented] bool type. Adapted.
|
8
|
+
|
9
|
+
|
5
10
|
== rufus-tokyo - 1.0.2 released 2009/11/01
|
6
11
|
|
7
12
|
- bug : HashMethods#to_a not working right with Ruby 1.9.1. Fixed.
|
data/CREDITS.txt
CHANGED
data/lib/rufus/tokyo.rb
CHANGED
@@ -217,7 +217,7 @@ module Rufus::Tokyo
|
|
217
217
|
|
218
218
|
name = name + params.collect { |k, v| "##{k}=#{v}" }.join('')
|
219
219
|
|
220
|
-
|
220
|
+
lib.tcadbopen(@db, name) || raise(
|
221
221
|
TokyoError.new("failed to open/create db '#{name}' #{params.inspect}"))
|
222
222
|
|
223
223
|
#
|
@@ -273,8 +273,7 @@ module Rufus::Tokyo
|
|
273
273
|
|
274
274
|
k = k.to_s; v = v.to_s
|
275
275
|
|
276
|
-
|
277
|
-
@db, k, Rufus::Tokyo.blen(k), v, Rufus::Tokyo.blen(v)) == 1)
|
276
|
+
lib.abs_putkeep(@db, k, Rufus::Tokyo.blen(k), v, Rufus::Tokyo.blen(v))
|
278
277
|
end
|
279
278
|
|
280
279
|
# Appends the given string at the end of the current string value for key k.
|
@@ -286,8 +285,7 @@ module Rufus::Tokyo
|
|
286
285
|
|
287
286
|
k = k.to_s; v = v.to_s
|
288
287
|
|
289
|
-
|
290
|
-
@db, k, Rufus::Tokyo.blen(k), v, Rufus::Tokyo.blen(v)) == 1)
|
288
|
+
lib.abs_putcat(@db, k, Rufus::Tokyo.blen(k), v, Rufus::Tokyo.blen(v))
|
291
289
|
end
|
292
290
|
|
293
291
|
# (The actual #[] method is provided by HashMethods
|
@@ -309,7 +307,7 @@ module Rufus::Tokyo
|
|
309
307
|
|
310
308
|
v = self[k]
|
311
309
|
|
312
|
-
|
310
|
+
lib.abs_out(@db, k, Rufus::Tokyo.blen(k)) ? v : nil
|
313
311
|
end
|
314
312
|
|
315
313
|
# Returns the number of records in the 'cabinet'
|
@@ -345,7 +343,7 @@ module Rufus::Tokyo
|
|
345
343
|
result = lib.abs_close(@db)
|
346
344
|
lib.abs_del(@db)
|
347
345
|
|
348
|
-
|
346
|
+
result
|
349
347
|
end
|
350
348
|
|
351
349
|
# Copies the current cabinet to a new file.
|
@@ -354,7 +352,7 @@ module Rufus::Tokyo
|
|
354
352
|
#
|
355
353
|
def copy (target_path)
|
356
354
|
|
357
|
-
|
355
|
+
lib.abs_copy(@db, target_path)
|
358
356
|
end
|
359
357
|
|
360
358
|
# Copies the current cabinet to a new file.
|
@@ -374,7 +372,7 @@ module Rufus::Tokyo
|
|
374
372
|
#
|
375
373
|
def sync
|
376
374
|
|
377
|
-
|
375
|
+
lib.abs_sync(@db)
|
378
376
|
end
|
379
377
|
|
380
378
|
# Returns an array with all the keys in the databse
|
@@ -641,7 +639,7 @@ module Rufus::Tokyo
|
|
641
639
|
def libcall (lib_method, *args)
|
642
640
|
|
643
641
|
raise TokyoError.new("call to #{lib_method} failed") \
|
644
|
-
unless lib.send(lib_method, @db, *args)
|
642
|
+
unless lib.send(lib_method, @db, *args)
|
645
643
|
end
|
646
644
|
|
647
645
|
end
|
@@ -69,34 +69,34 @@ module Rufus::Tokyo
|
|
69
69
|
#
|
70
70
|
# tcadb functions
|
71
71
|
#
|
72
|
-
# http://
|
72
|
+
# http://1978th.net/tokyocabinet/spex-en.html#tcadbapi
|
73
73
|
|
74
74
|
attfunc :tcadbnew, [], :pointer
|
75
75
|
|
76
|
-
attfunc :tcadbopen, [ :pointer, :string ], :
|
77
|
-
attfunc :abs_close, :tcadbclose, [ :pointer ], :
|
76
|
+
attfunc :tcadbopen, [ :pointer, :string ], :bool
|
77
|
+
attfunc :abs_close, :tcadbclose, [ :pointer ], :bool
|
78
78
|
|
79
79
|
attfunc :abs_del, :tcadbdel, [ :pointer ], :void
|
80
80
|
|
81
81
|
attfunc :abs_rnum, :tcadbrnum, [ :pointer ], :uint64
|
82
82
|
attfunc :abs_size, :tcadbsize, [ :pointer ], :uint64
|
83
83
|
|
84
|
-
attfunc :abs_put, :tcadbput, [ :pointer, :pointer, :int, :pointer, :int ], :
|
84
|
+
attfunc :abs_put, :tcadbput, [ :pointer, :pointer, :int, :pointer, :int ], :bool
|
85
85
|
|
86
86
|
attfunc :abs_get, :tcadbget, [ :pointer, :pointer, :int, :pointer ], :pointer
|
87
87
|
|
88
|
-
attfunc :abs_out, :tcadbout, [ :pointer, :pointer, :int ], :
|
88
|
+
attfunc :abs_out, :tcadbout, [ :pointer, :pointer, :int ], :bool
|
89
89
|
|
90
|
-
attfunc :abs_putkeep, :tcadbputkeep, [ :pointer, :pointer, :int, :pointer, :int ], :
|
91
|
-
attfunc :abs_putcat, :tcadbputcat, [ :pointer, :pointer, :int, :pointer, :int ], :
|
90
|
+
attfunc :abs_putkeep, :tcadbputkeep, [ :pointer, :pointer, :int, :pointer, :int ], :bool
|
91
|
+
attfunc :abs_putcat, :tcadbputcat, [ :pointer, :pointer, :int, :pointer, :int ], :bool
|
92
92
|
|
93
|
-
attfunc :abs_iterinit, :tcadbiterinit, [ :pointer ], :
|
93
|
+
attfunc :abs_iterinit, :tcadbiterinit, [ :pointer ], :bool
|
94
94
|
attfunc :abs_iternext, :tcadbiternext, [ :pointer, :pointer ], :pointer
|
95
95
|
|
96
|
-
attfunc :abs_vanish, :tcadbvanish, [ :pointer ], :
|
96
|
+
attfunc :abs_vanish, :tcadbvanish, [ :pointer ], :bool
|
97
97
|
|
98
|
-
attfunc :abs_sync, :tcadbsync, [ :pointer ], :
|
99
|
-
attfunc :abs_copy, :tcadbcopy, [ :pointer, :string ], :
|
98
|
+
attfunc :abs_sync, :tcadbsync, [ :pointer ], :bool
|
99
|
+
attfunc :abs_copy, :tcadbcopy, [ :pointer, :string ], :bool
|
100
100
|
|
101
101
|
attfunc :abs_fwmkeys, :tcadbfwmkeys, [ :pointer, :pointer, :int, :int ], :pointer
|
102
102
|
|
@@ -108,41 +108,41 @@ module Rufus::Tokyo
|
|
108
108
|
attfunc :tcadbreveal, [ :pointer ], :pointer
|
109
109
|
|
110
110
|
# since TC 1.4.13
|
111
|
-
attfunc :tcadbtranbegin, [ :pointer ], :
|
112
|
-
attfunc :tcadbtrancommit, [ :pointer ], :
|
113
|
-
attfunc :tcadbtranabort, [ :pointer ], :
|
111
|
+
attfunc :tcadbtranbegin, [ :pointer ], :bool
|
112
|
+
attfunc :tcadbtrancommit, [ :pointer ], :bool
|
113
|
+
attfunc :tcadbtranabort, [ :pointer ], :bool
|
114
114
|
|
115
115
|
#
|
116
116
|
# tctdb functions
|
117
117
|
#
|
118
|
-
# http://
|
118
|
+
# http://1978th.net/tokyocabinet/spex-en.html#tctdbapi
|
119
119
|
|
120
120
|
attfunc :tctdbnew, [], :pointer
|
121
|
-
attfunc :tctdbsetmutex, [ :pointer ], :
|
122
|
-
attfunc :tctdbtune, [ :pointer, :uint64, :uint8, :uint8, :uint8 ], :
|
123
|
-
attfunc :tctdbsetcache, [ :pointer, :uint32, :uint32, :uint32 ], :
|
124
|
-
attfunc :tctdbsetxmsiz, [ :pointer, :uint64 ], :
|
121
|
+
attfunc :tctdbsetmutex, [ :pointer ], :bool
|
122
|
+
attfunc :tctdbtune, [ :pointer, :uint64, :uint8, :uint8, :uint8 ], :bool
|
123
|
+
attfunc :tctdbsetcache, [ :pointer, :uint32, :uint32, :uint32 ], :bool
|
124
|
+
attfunc :tctdbsetxmsiz, [ :pointer, :uint64 ], :bool
|
125
125
|
|
126
126
|
# since TC 1.4.21
|
127
|
-
attfunc :tctdbsetdfunit, [ :pointer, :uint32 ], :
|
127
|
+
attfunc :tctdbsetdfunit, [ :pointer, :uint32 ], :bool
|
128
128
|
|
129
|
-
attfunc :tctdbopen, [ :pointer, :string, :int ], :
|
129
|
+
attfunc :tctdbopen, [ :pointer, :string, :int ], :bool
|
130
130
|
|
131
|
-
attfunc :tab_close, :tctdbclose, [ :pointer ], :
|
131
|
+
attfunc :tab_close, :tctdbclose, [ :pointer ], :bool
|
132
132
|
|
133
133
|
attfunc :tab_genuid, :tctdbgenuid, [ :pointer ], :int64
|
134
134
|
|
135
135
|
attfunc :tab_get, :tctdbget, [ :pointer, :pointer, :int ], :pointer
|
136
136
|
|
137
|
-
attfunc :tab_iterinit, :tctdbiterinit, [ :pointer ], :
|
137
|
+
attfunc :tab_iterinit, :tctdbiterinit, [ :pointer ], :bool
|
138
138
|
attfunc :tab_iternext, :tctdbiternext, [ :pointer, :pointer ], :pointer
|
139
139
|
|
140
|
-
attfunc :tab_put, :tctdbput, [ :pointer, :pointer, :int, :pointer ], :
|
140
|
+
attfunc :tab_put, :tctdbput, [ :pointer, :pointer, :int, :pointer ], :bool
|
141
141
|
|
142
142
|
#attfunc :tctdbput3, [ :pointer, :string, :string ], :int
|
143
143
|
# not using it anymore, Ruby can turn an array into a hash so easily
|
144
144
|
|
145
|
-
attfunc :tab_out, :tctdbout, [ :pointer, :string, :int ], :
|
145
|
+
attfunc :tab_out, :tctdbout, [ :pointer, :string, :int ], :bool
|
146
146
|
|
147
147
|
attfunc :tab_ecode, :tctdbecode, [ :pointer ], :int
|
148
148
|
attfunc :tab_errmsg, :tctdberrmsg, [ :int ], :string
|
@@ -151,13 +151,13 @@ module Rufus::Tokyo
|
|
151
151
|
|
152
152
|
attfunc :tab_rnum, :tctdbrnum, [ :pointer ], :uint64
|
153
153
|
|
154
|
-
attfunc :tab_vanish, :tctdbvanish, [ :pointer ], :
|
154
|
+
attfunc :tab_vanish, :tctdbvanish, [ :pointer ], :bool
|
155
155
|
|
156
|
-
attfunc :tab_setindex, :tctdbsetindex, [ :pointer, :string, :int ], :
|
156
|
+
attfunc :tab_setindex, :tctdbsetindex, [ :pointer, :string, :int ], :bool
|
157
157
|
|
158
|
-
attfunc :tctdbtranbegin, [ :pointer ], :
|
159
|
-
attfunc :tctdbtrancommit, [ :pointer ], :
|
160
|
-
attfunc :tctdbtranabort, [ :pointer ], :
|
158
|
+
attfunc :tctdbtranbegin, [ :pointer ], :bool
|
159
|
+
attfunc :tctdbtrancommit, [ :pointer ], :bool
|
160
|
+
attfunc :tctdbtranabort, [ :pointer ], :bool
|
161
161
|
|
162
162
|
attfunc :tab_fwmkeys, :tctdbfwmkeys, [ :pointer, :pointer, :int, :int ], :pointer
|
163
163
|
|
@@ -166,7 +166,7 @@ module Rufus::Tokyo
|
|
166
166
|
#
|
167
167
|
# tctdbqry functions
|
168
168
|
#
|
169
|
-
# http://
|
169
|
+
# http://1978th.net/tokyocabinet/spex-en.html#tctdbapi
|
170
170
|
|
171
171
|
attfunc :qry_new, :tctdbqrynew, [ :pointer ], :pointer
|
172
172
|
attfunc :qry_del, :tctdbqrydel, [ :pointer ], :void
|
@@ -175,7 +175,7 @@ module Rufus::Tokyo
|
|
175
175
|
attfunc :qry_setorder, :tctdbqrysetorder, [ :pointer, :string, :int ], :void
|
176
176
|
|
177
177
|
callback :TDBQRYPROC, [:pointer, :int, :pointer, :pointer], :int
|
178
|
-
attfunc :qry_proc, :tctdbqryproc, [ :pointer, :TDBQRYPROC, :pointer], :
|
178
|
+
attfunc :qry_proc, :tctdbqryproc, [ :pointer, :TDBQRYPROC, :pointer], :bool
|
179
179
|
|
180
180
|
|
181
181
|
begin # since TC 1.4.10
|
@@ -185,7 +185,7 @@ module Rufus::Tokyo
|
|
185
185
|
end
|
186
186
|
|
187
187
|
attfunc :qry_search, :tctdbqrysearch, [ :pointer ], :pointer
|
188
|
-
attfunc :qry_searchout, :tctdbqrysearchout, [ :pointer ], :
|
188
|
+
attfunc :qry_searchout, :tctdbqrysearchout, [ :pointer ], :bool
|
189
189
|
|
190
190
|
# since TC 1.4.12
|
191
191
|
attfunc :qry_count, :tctdbqrycount, [ :pointer ], :int
|
@@ -193,9 +193,9 @@ module Rufus::Tokyo
|
|
193
193
|
#
|
194
194
|
# tcbdb functions
|
195
195
|
#
|
196
|
-
# http://
|
196
|
+
# http://1978th.net/tokyocabinet/spex-en.html#tcbdbapi
|
197
197
|
|
198
|
-
attfunc :tcbdbputdup, [ :pointer, :pointer, :int, :pointer, :int ], :
|
198
|
+
attfunc :tcbdbputdup, [ :pointer, :pointer, :int, :pointer, :int ], :bool
|
199
199
|
attfunc :tcbdbget4, [ :pointer, :pointer, :int ], :pointer
|
200
200
|
|
201
201
|
#
|
@@ -212,7 +212,7 @@ module Rufus::Tokyo
|
|
212
212
|
|
213
213
|
attfunc :tcmapnew, [], :pointer
|
214
214
|
attfunc :tcmapput, [ :pointer, :pointer, :int, :pointer, :int ], :void
|
215
|
-
attfunc :tcmapout, [ :pointer, :pointer, :int ], :
|
215
|
+
attfunc :tcmapout, [ :pointer, :pointer, :int ], :bool
|
216
216
|
attfunc :tcmapclear, [ :pointer ], :void
|
217
217
|
attfunc :tcmapdel, [ :pointer ], :void
|
218
218
|
attfunc :tcmapget, [ :pointer, :pointer, :int, :pointer ], :pointer
|
@@ -223,7 +223,7 @@ module Rufus::Tokyo
|
|
223
223
|
#
|
224
224
|
# tclist functions
|
225
225
|
#
|
226
|
-
# http://
|
226
|
+
# http://1978th.net/tokyocabinet/spex-en.html#tcutilapi
|
227
227
|
|
228
228
|
attfunc :tclistnew, [], :pointer
|
229
229
|
attfunc :tclistnum, [ :pointer ], :int
|
@@ -182,7 +182,7 @@ module Rufus::Tokyo
|
|
182
182
|
result = lib.tab_close(@db)
|
183
183
|
lib.tab_del(@db)
|
184
184
|
|
185
|
-
|
185
|
+
result
|
186
186
|
end
|
187
187
|
|
188
188
|
# Generates a unique id (in the context of this Table instance)
|
@@ -230,7 +230,7 @@ module Rufus::Tokyo
|
|
230
230
|
|
231
231
|
ii = types.inject(0) { |i, t| i = i | INDEX_TYPES[t]; i }
|
232
232
|
|
233
|
-
|
233
|
+
lib.tab_setindex(@db, column_name, ii)
|
234
234
|
end
|
235
235
|
|
236
236
|
# Inserts a record in the table db
|
@@ -255,7 +255,7 @@ module Rufus::Tokyo
|
|
255
255
|
|
256
256
|
m.free
|
257
257
|
|
258
|
-
|
258
|
+
r || raise_error # raising potential error after freeing map
|
259
259
|
|
260
260
|
h_or_a
|
261
261
|
end
|
@@ -575,7 +575,7 @@ module Rufus::Tokyo
|
|
575
575
|
|
576
576
|
def libcall (lib_method, *args)
|
577
577
|
|
578
|
-
|
578
|
+
lib.send(lib_method, @db, *args) || raise_error
|
579
579
|
# stack level too deep with JRuby 1.1.6 :(
|
580
580
|
|
581
581
|
#(eval(%{ lib.#{lib_method}(@db, *args) }) == 1) or raise_error
|
@@ -89,19 +89,16 @@ module Rufus::Tokyo::Dystopia
|
|
89
89
|
|
90
90
|
@db = lib.tcidbnew()
|
91
91
|
|
92
|
-
|
93
|
-
raise_error unless rc == 1
|
92
|
+
lib.tcidbopen( @db, path, mode_bits | lock_bits ) || raise_error
|
94
93
|
end
|
95
94
|
|
96
95
|
#
|
97
96
|
# Close and detach from the database. This instance can not be used anymore
|
98
97
|
#
|
99
98
|
def close
|
100
|
-
|
101
|
-
raise_error unless rc == 1
|
99
|
+
lib.tcidbclose( @db ) || raise_error
|
102
100
|
|
103
101
|
lib.tcidbdel( @db )
|
104
|
-
raise_error unless rc == 1
|
105
102
|
|
106
103
|
@db = nil
|
107
104
|
end
|
@@ -110,16 +107,14 @@ module Rufus::Tokyo::Dystopia
|
|
110
107
|
# Add a new document to the database
|
111
108
|
#
|
112
109
|
def store( id, text )
|
113
|
-
|
114
|
-
raise_error unless rc == 1
|
110
|
+
lib.tcidbput( @db, id, text ) || raise_error
|
115
111
|
end
|
116
112
|
|
117
113
|
#
|
118
114
|
# Remove the given document from the index
|
119
115
|
#
|
120
116
|
def delete( id )
|
121
|
-
|
122
|
-
raise_error unless rc == 1
|
117
|
+
lib.tcidbout( @db, id ) || raise_error
|
123
118
|
end
|
124
119
|
|
125
120
|
#
|
@@ -46,7 +46,7 @@ module Rufus::Tokyo
|
|
46
46
|
#
|
47
47
|
# tcidb functions - The Core API
|
48
48
|
#
|
49
|
-
# http://
|
49
|
+
# http://1978th.net/tokyodystopia/spex.html#dystopiaapi
|
50
50
|
|
51
51
|
# tuning options <dystopia.h>
|
52
52
|
LARGE = 1 << 0
|
@@ -76,41 +76,41 @@ module Rufus::Tokyo
|
|
76
76
|
attach_function :tcidbecode, [ :pointer ], :int
|
77
77
|
|
78
78
|
attach_function :tcidbnew, [], :pointer
|
79
|
-
attach_function :tcidbopen, [ :pointer, :pointer, :int ], :
|
80
|
-
attach_function :tcidbclose, [ :pointer ], :
|
79
|
+
attach_function :tcidbopen, [ :pointer, :pointer, :int ], :bool
|
80
|
+
attach_function :tcidbclose, [ :pointer ], :bool
|
81
81
|
attach_function :tcidbdel, [ :pointer ], :void
|
82
|
-
attach_function :tcidbvanish, [ :pointer ], :
|
82
|
+
attach_function :tcidbvanish, [ :pointer ], :bool
|
83
83
|
|
84
84
|
# TODO
|
85
|
-
#attach_function :tcidbtune, [ :pointer, :int64, :int64, :int64, :int8 ], :
|
86
|
-
#attach_function :tcidbsetcache, [ :pointer, :int64, :int32 ], :
|
87
|
-
#attach_function :tcidbsetfwmmax, [ :pointer, :uint32 ], :
|
88
|
-
#attach_function :tcidbsync, [ :pointer ], :
|
89
|
-
#attach_function :tcidboptimize, [ :pointer ], :
|
90
|
-
#attach_function :tcidbcopy, [ :pointer, :pointer ], :
|
85
|
+
#attach_function :tcidbtune, [ :pointer, :int64, :int64, :int64, :int8 ], :bool
|
86
|
+
#attach_function :tcidbsetcache, [ :pointer, :int64, :int32 ], :bool
|
87
|
+
#attach_function :tcidbsetfwmmax, [ :pointer, :uint32 ], :bool
|
88
|
+
#attach_function :tcidbsync, [ :pointer ], :bool
|
89
|
+
#attach_function :tcidboptimize, [ :pointer ], :bool
|
90
|
+
#attach_function :tcidbcopy, [ :pointer, :pointer ], :bool
|
91
91
|
|
92
92
|
attach_function :tcidbpath, [ :pointer ], :string
|
93
93
|
attach_function :tcidbrnum, [ :pointer ], :uint64
|
94
94
|
attach_function :tcidbfsiz, [ :pointer ], :uint64
|
95
95
|
|
96
|
-
attach_function :tcidbput, [ :pointer, :int64, :string ], :
|
97
|
-
attach_function :tcidbout, [ :pointer, :int64 ], :
|
96
|
+
attach_function :tcidbput, [ :pointer, :int64, :string ], :bool
|
97
|
+
attach_function :tcidbout, [ :pointer, :int64 ], :bool
|
98
98
|
attach_function :tcidbget, [ :pointer, :int64 ], :string
|
99
99
|
#attach_function :tcidbsearch, [ :pointer, :pointer, :int, :pointer ], :pointer
|
100
100
|
attach_function :tcidbsearch2, [ :pointer, :string, :pointer], :pointer
|
101
|
-
#attach_function :tcidbiterinit, [ :pointer ], :
|
101
|
+
#attach_function :tcidbiterinit, [ :pointer ], :bool
|
102
102
|
#attach_function :tcidbiternext, [ :pointer ], :uint64
|
103
103
|
|
104
104
|
|
105
105
|
#
|
106
106
|
# tcwdb functions - The Word Database API
|
107
107
|
#
|
108
|
-
# http://
|
108
|
+
# http://1978th.net/tokyodystopia/spex.html#tcwdbapi
|
109
109
|
|
110
110
|
attach_function :tcwdbnew, [], :pointer
|
111
111
|
|
112
|
-
attach_function :tcwdbopen, [ :pointer, :string, :int ], :
|
113
|
-
attach_function :tcwdbclose, [ :pointer ], :
|
112
|
+
attach_function :tcwdbopen, [ :pointer, :string, :int ], :bool
|
113
|
+
attach_function :tcwdbclose, [ :pointer ], :bool
|
114
114
|
|
115
115
|
attach_function :tcwdbecode, [ :pointer ], :int
|
116
116
|
|
@@ -97,7 +97,7 @@ module Rufus::Tokyo
|
|
97
97
|
@host = host
|
98
98
|
@port = port
|
99
99
|
|
100
|
-
|
100
|
+
lib.tcrdbopen(@db, host, port) || raise(
|
101
101
|
TokyoError.new("couldn't connect to tyrant at #{host}:#{port}"))
|
102
102
|
|
103
103
|
if self.stat['type'] == 'table'
|
@@ -134,7 +134,7 @@ module Rufus::Tokyo
|
|
134
134
|
#
|
135
135
|
def copy (target_path)
|
136
136
|
|
137
|
-
|
137
|
+
lib.abs_copy(@db, target_path) || raise_error
|
138
138
|
end
|
139
139
|
|
140
140
|
# Tyrant databases DO NOT support the 'defrag' call. Calling this method
|
@@ -54,6 +54,8 @@ module Rufus::Tokyo
|
|
54
54
|
alias :attfunc :attach_function
|
55
55
|
end
|
56
56
|
|
57
|
+
# http://1978th.net/tokyotyrant/spex.html#tcrdbapi
|
58
|
+
|
57
59
|
#
|
58
60
|
# tcrdb functions
|
59
61
|
|
@@ -61,8 +63,8 @@ module Rufus::Tokyo
|
|
61
63
|
|
62
64
|
attfunc :tcrdbstat, [ :pointer ], :string
|
63
65
|
|
64
|
-
attfunc :tcrdbopen, [ :pointer, :string, :int ], :
|
65
|
-
attfunc :abs_close, :tcrdbclose, [ :pointer ], :
|
66
|
+
attfunc :tcrdbopen, [ :pointer, :string, :int ], :bool
|
67
|
+
attfunc :abs_close, :tcrdbclose, [ :pointer ], :bool
|
66
68
|
|
67
69
|
attfunc :abs_ecode, :tcrdbecode, [ :pointer ], :int
|
68
70
|
attfunc :abs_errmsg, :tcrdberrmsg, [ :pointer, :int ], :string
|
@@ -73,20 +75,20 @@ module Rufus::Tokyo
|
|
73
75
|
attfunc :abs_size, :tcrdbsize, [ :pointer ], :uint64
|
74
76
|
|
75
77
|
attfunc :abs_get, :tcrdbget, [ :pointer, :pointer, :int, :pointer ], :pointer
|
76
|
-
attfunc :abs_put, :tcrdbput, [ :pointer, :pointer, :int, :pointer, :int ], :
|
78
|
+
attfunc :abs_put, :tcrdbput, [ :pointer, :pointer, :int, :pointer, :int ], :bool
|
77
79
|
|
78
|
-
attfunc :abs_out, :tcrdbout, [ :pointer, :pointer, :int ], :
|
80
|
+
attfunc :abs_out, :tcrdbout, [ :pointer, :pointer, :int ], :bool
|
79
81
|
|
80
|
-
attfunc :abs_putkeep, :tcrdbputkeep, [ :pointer, :pointer, :int, :pointer, :int ], :
|
81
|
-
attfunc :abs_putcat, :tcrdbputcat, [ :pointer, :pointer, :int, :pointer, :int ], :
|
82
|
+
attfunc :abs_putkeep, :tcrdbputkeep, [ :pointer, :pointer, :int, :pointer, :int ], :bool
|
83
|
+
attfunc :abs_putcat, :tcrdbputcat, [ :pointer, :pointer, :int, :pointer, :int ], :bool
|
82
84
|
|
83
|
-
attfunc :abs_iterinit, :tcrdbiterinit, [ :pointer ], :
|
85
|
+
attfunc :abs_iterinit, :tcrdbiterinit, [ :pointer ], :bool
|
84
86
|
attfunc :abs_iternext, :tcrdbiternext, [ :pointer, :pointer ], :pointer
|
85
87
|
|
86
|
-
attfunc :abs_vanish, :tcrdbvanish, [ :pointer ], :
|
88
|
+
attfunc :abs_vanish, :tcrdbvanish, [ :pointer ], :bool
|
87
89
|
|
88
|
-
attfunc :abs_sync, :tcrdbsync, [ :pointer ], :
|
89
|
-
attfunc :abs_copy, :tcrdbcopy, [ :pointer, :string ], :
|
90
|
+
attfunc :abs_sync, :tcrdbsync, [ :pointer ], :bool
|
91
|
+
attfunc :abs_copy, :tcrdbcopy, [ :pointer, :string ], :bool
|
90
92
|
|
91
93
|
attfunc :abs_fwmkeys, :tcrdbfwmkeys, [ :pointer, :pointer, :int, :int ], :pointer
|
92
94
|
attfunc :tcrdbmisc, [ :pointer, :string, :int, :pointer ], :pointer
|
@@ -99,18 +101,18 @@ module Rufus::Tokyo
|
|
99
101
|
#
|
100
102
|
# table functions
|
101
103
|
|
102
|
-
attfunc :tab_close, :tcrdbclose, [ :pointer ], :
|
104
|
+
attfunc :tab_close, :tcrdbclose, [ :pointer ], :bool
|
103
105
|
|
104
106
|
attfunc :tab_genuid, :tcrdbtblgenuid, [ :pointer ], :int64
|
105
107
|
|
106
108
|
attfunc :tab_get, :tcrdbtblget, [ :pointer, :pointer, :int ], :pointer
|
107
109
|
|
108
|
-
attfunc :tab_iterinit, :tcrdbiterinit, [ :pointer ], :
|
110
|
+
attfunc :tab_iterinit, :tcrdbiterinit, [ :pointer ], :bool
|
109
111
|
attfunc :tab_iternext, :tcrdbiternext, [ :pointer, :pointer ], :pointer
|
110
112
|
|
111
|
-
attfunc :tab_put, :tcrdbtblput, [ :pointer, :pointer, :int, :pointer ], :
|
113
|
+
attfunc :tab_put, :tcrdbtblput, [ :pointer, :pointer, :int, :pointer ], :bool
|
112
114
|
|
113
|
-
attfunc :tab_out, :tcrdbtblout, [ :pointer, :string, :int ], :
|
115
|
+
attfunc :tab_out, :tcrdbtblout, [ :pointer, :string, :int ], :bool
|
114
116
|
|
115
117
|
attfunc :tab_ecode, :tcrdbecode, [ :pointer ], :int
|
116
118
|
attfunc :tab_errmsg, :tcrdberrmsg, [ :pointer, :int ], :string
|
@@ -119,9 +121,9 @@ module Rufus::Tokyo
|
|
119
121
|
|
120
122
|
attfunc :tab_rnum, :tcrdbrnum, [ :pointer ], :uint64
|
121
123
|
|
122
|
-
attfunc :tab_vanish, :tcrdbvanish, [ :pointer ], :
|
124
|
+
attfunc :tab_vanish, :tcrdbvanish, [ :pointer ], :bool
|
123
125
|
|
124
|
-
attfunc :tab_setindex, :tcrdbtblsetindex, [ :pointer, :string, :int ], :
|
126
|
+
attfunc :tab_setindex, :tcrdbtblsetindex, [ :pointer, :string, :int ], :bool
|
125
127
|
|
126
128
|
attfunc :tab_fwmkeys, :tcrdbfwmkeys, [ :pointer, :pointer, :int, :int ], :pointer
|
127
129
|
|
@@ -143,7 +145,7 @@ module Rufus::Tokyo
|
|
143
145
|
end
|
144
146
|
|
145
147
|
attfunc :qry_search, :tcrdbqrysearch, [ :pointer ], :pointer
|
146
|
-
attfunc :qry_searchout, :tcrdbqrysearchout, [ :pointer ], :
|
148
|
+
attfunc :qry_searchout, :tcrdbqrysearchout, [ :pointer ], :bool
|
147
149
|
|
148
150
|
# since TC 1.4.21
|
149
151
|
attfunc :qry_count, :tcrdbqrysearchcount, [ :pointer ], :int
|
@@ -22,7 +22,6 @@
|
|
22
22
|
# Made in Japan.
|
23
23
|
#++
|
24
24
|
|
25
|
-
|
26
25
|
require 'rufus/tokyo/ttcommons'
|
27
26
|
|
28
27
|
|
@@ -83,7 +82,7 @@ module Rufus::Tokyo
|
|
83
82
|
@host = host
|
84
83
|
@port = port
|
85
84
|
|
86
|
-
|
85
|
+
lib.tcrdbopen(@db, host, port) ||
|
87
86
|
raise(TokyoError.new("couldn't connect to tyrant at #{host}:#{port}"))
|
88
87
|
|
89
88
|
if self.stat['type'] != 'table'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rufus-tokyo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Mettraux
|
@@ -12,7 +12,7 @@ autorequire:
|
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
14
|
|
15
|
-
date: 2009-11-
|
15
|
+
date: 2009-11-16 00:00:00 +09:00
|
16
16
|
default_executable:
|
17
17
|
dependencies: []
|
18
18
|
|