groonga 0.0.1 → 0.0.2
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/NEWS.ja.rdoc +11 -0
- data/NEWS.rdoc +11 -0
- data/README.ja.rdoc +4 -3
- data/README.rdoc +4 -3
- data/Rakefile +1 -1
- data/TUTORIAL.ja.rdoc +168 -44
- data/benchmark/common.rb +49 -0
- data/benchmark/read-write-small-many-items.rb +156 -0
- data/benchmark/write-small-many-items.rb +145 -0
- data/example/bookmark.rb +68 -20
- data/ext/rb-grn-array-cursor.c +8 -0
- data/ext/rb-grn-array.c +40 -11
- data/ext/rb-grn-column.c +38 -209
- data/ext/rb-grn-context.c +203 -56
- data/ext/rb-grn-database.c +119 -5
- data/ext/rb-grn-encoding-support.c +64 -0
- data/ext/rb-grn-encoding.c +58 -1
- data/ext/rb-grn-fix-size-column.c +220 -0
- data/ext/rb-grn-hash-cursor.c +8 -0
- data/ext/rb-grn-hash.c +244 -2
- data/ext/rb-grn-index-column.c +474 -0
- data/ext/rb-grn-object.c +143 -265
- data/ext/rb-grn-patricia-trie.c +148 -2
- data/ext/rb-grn-query.c +5 -3
- data/ext/rb-grn-record.c +3 -2
- data/ext/rb-grn-snippet.c +5 -3
- data/ext/rb-grn-table-cursor-key-support.c +3 -3
- data/ext/rb-grn-table-cursor.c +106 -112
- data/ext/rb-grn-table-key-support.c +220 -118
- data/ext/rb-grn-table.c +336 -80
- data/ext/rb-grn-type.c +5 -4
- data/ext/rb-grn-utils.c +62 -63
- data/ext/rb-grn.h +215 -14
- data/ext/rb-groonga.c +7 -16
- data/extconf.rb +3 -1
- data/html/favicon.ico +0 -0
- data/html/favicon.xcf +0 -0
- data/html/index.html +1 -7
- data/lib/groonga/record.rb +6 -1
- data/test/groonga-test-utils.rb +1 -0
- data/test/test-array.rb +81 -0
- data/test/test-column.rb +22 -12
- data/test/test-context.rb +1 -29
- data/test/test-database.rb +30 -0
- data/test/test-hash.rb +194 -0
- data/test/test-index-column.rb +57 -0
- data/test/test-patricia-trie.rb +82 -0
- data/test/test-record.rb +10 -10
- data/test/test-table.rb +37 -130
- data/test/test-type.rb +4 -3
- metadata +15 -4
- data/benchmark/small-many-items.rb +0 -175
@@ -18,95 +18,188 @@
|
|
18
18
|
|
19
19
|
#include "rb-grn.h"
|
20
20
|
|
21
|
-
#define SELF(object
|
21
|
+
#define SELF(object) ((RbGrnTableKeySupport *)DATA_PTR(object))
|
22
22
|
|
23
23
|
VALUE rb_mGrnTableKeySupport;
|
24
24
|
|
25
|
-
|
26
|
-
|
27
|
-
|
25
|
+
void
|
26
|
+
rb_grn_table_key_support_deconstruct (RbGrnTableKeySupport *rb_grn_table_key_support,
|
27
|
+
grn_obj **table_key_support,
|
28
|
+
grn_ctx **context,
|
29
|
+
grn_obj **key,
|
30
|
+
grn_id *domain_id,
|
31
|
+
grn_obj **domain,
|
32
|
+
grn_obj **value,
|
33
|
+
grn_id *range_id,
|
34
|
+
grn_obj **range)
|
35
|
+
{
|
36
|
+
RbGrnTable *rb_grn_table;
|
28
37
|
|
29
|
-
|
30
|
-
|
31
|
-
|
38
|
+
rb_grn_table = RB_GRN_TABLE(rb_grn_table_key_support);
|
39
|
+
|
40
|
+
rb_grn_table_deconstruct(rb_grn_table, table_key_support, context,
|
41
|
+
domain_id, domain,
|
42
|
+
value, range_id, range);
|
43
|
+
|
44
|
+
if (key)
|
45
|
+
*key = rb_grn_table_key_support->key;
|
46
|
+
}
|
47
|
+
|
48
|
+
static void
|
49
|
+
rb_grn_table_key_support_free (void *object)
|
32
50
|
{
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
RVAL2GRNKEY(rb_key, context, &key, table->header.domain, self);
|
39
|
-
flags = GRN_SEARCH_EXACT | GRN_TABLE_ADD;
|
40
|
-
id = grn_table_lookup(context, table,
|
41
|
-
GRN_BULK_HEAD(&key), GRN_BULK_VSIZE(&key),
|
42
|
-
&flags);
|
43
|
-
exception = rb_grn_context_to_exception(context, self);
|
44
|
-
grn_obj_close(context, &key);
|
45
|
-
if (!NIL_P(exception))
|
46
|
-
rb_exc_raise(exception);
|
51
|
+
RbGrnObject *rb_grn_object = object;
|
52
|
+
RbGrnTable *rb_grn_table = object;
|
53
|
+
RbGrnTableKeySupport *rb_grn_table_key_support = object;
|
54
|
+
grn_ctx *context;
|
47
55
|
|
48
|
-
|
56
|
+
context = rb_grn_object->context;
|
57
|
+
if (context)
|
58
|
+
grn_obj_close(context, rb_grn_table_key_support->key);
|
59
|
+
|
60
|
+
rb_grn_table_unbind(rb_grn_table);
|
61
|
+
|
62
|
+
xfree(rb_grn_table_key_support);
|
63
|
+
}
|
64
|
+
|
65
|
+
VALUE
|
66
|
+
rb_grn_table_key_support_alloc (VALUE klass)
|
67
|
+
{
|
68
|
+
return Data_Wrap_Struct(klass, NULL, rb_grn_table_key_support_free, NULL);
|
69
|
+
}
|
70
|
+
|
71
|
+
void
|
72
|
+
rb_grn_table_key_support_bind (RbGrnTableKeySupport *rb_grn_table_key_support,
|
73
|
+
grn_ctx *context,
|
74
|
+
grn_obj *table_key_support,
|
75
|
+
rb_grn_boolean owner)
|
76
|
+
{
|
77
|
+
RbGrnObject *rb_grn_object;
|
78
|
+
RbGrnTable *rb_grn_table;
|
79
|
+
|
80
|
+
rb_grn_object = RB_GRN_OBJECT(rb_grn_table_key_support);
|
81
|
+
|
82
|
+
rb_grn_table = RB_GRN_TABLE(rb_grn_table_key_support);
|
83
|
+
rb_grn_table_bind(rb_grn_table, context, table_key_support, owner);
|
84
|
+
|
85
|
+
rb_grn_table_key_support->key =
|
86
|
+
grn_obj_open(context, GRN_BULK, 0, rb_grn_object->domain_id);
|
87
|
+
}
|
88
|
+
|
89
|
+
void
|
90
|
+
rb_grn_table_key_support_assign (VALUE self, VALUE rb_context,
|
91
|
+
grn_ctx *context,
|
92
|
+
grn_obj *table_key_support,
|
93
|
+
rb_grn_boolean owner)
|
94
|
+
{
|
95
|
+
RbGrnTableKeySupport *rb_grn_table_key_support;
|
96
|
+
|
97
|
+
rb_grn_table_key_support = ALLOC(RbGrnTableKeySupport);
|
98
|
+
DATA_PTR(self) = rb_grn_table_key_support;
|
99
|
+
|
100
|
+
rb_grn_table_key_support_bind(rb_grn_table_key_support,
|
101
|
+
context, table_key_support, owner);
|
102
|
+
|
103
|
+
rb_iv_set(self, "context", rb_context);
|
49
104
|
}
|
50
105
|
|
51
106
|
static VALUE
|
52
|
-
|
107
|
+
rb_grn_table_key_support_initialize (int argc, VALUE *argv, VALUE self)
|
53
108
|
{
|
54
109
|
grn_ctx *context = NULL;
|
55
110
|
grn_obj *table;
|
56
|
-
|
111
|
+
VALUE rb_context;
|
112
|
+
|
113
|
+
table = rb_grn_table_open_raw(argc, argv, &context, &rb_context);
|
114
|
+
rb_grn_context_check(context, self);
|
115
|
+
rb_grn_table_key_support_assign(self, rb_context, context,
|
116
|
+
table, RB_GRN_TRUE);
|
117
|
+
|
118
|
+
return Qnil;
|
119
|
+
}
|
120
|
+
|
121
|
+
static grn_id
|
122
|
+
rb_grn_table_key_support_add_raw (VALUE self, VALUE rb_key)
|
123
|
+
{
|
124
|
+
grn_ctx *context;
|
125
|
+
grn_obj *table;
|
126
|
+
grn_id id, domain_id;
|
127
|
+
grn_obj *key, *domain;
|
57
128
|
|
58
|
-
|
129
|
+
rb_grn_table_key_support_deconstruct(SELF(self), &table, &context,
|
130
|
+
&key, &domain_id, &domain,
|
131
|
+
NULL, NULL, NULL);
|
59
132
|
|
60
|
-
|
133
|
+
GRN_BULK_REWIND(key);
|
134
|
+
RVAL2GRNKEY(rb_key, context, key, domain_id, domain, self);
|
135
|
+
id = grn_table_add(context, table,
|
136
|
+
GRN_BULK_HEAD(key), GRN_BULK_VSIZE(key), NULL);
|
137
|
+
rb_grn_context_check(context, self);
|
138
|
+
|
139
|
+
return id;
|
140
|
+
}
|
141
|
+
|
142
|
+
static VALUE
|
143
|
+
rb_grn_table_key_support_add (int argc, VALUE *argv, VALUE self)
|
144
|
+
{
|
145
|
+
grn_id id;
|
146
|
+
VALUE key, values;
|
147
|
+
|
148
|
+
rb_scan_args(argc, argv, "11", &key, &values);
|
149
|
+
id = rb_grn_table_key_support_add_raw(self, key);
|
61
150
|
if (GRN_ID_NIL == id)
|
62
151
|
return Qnil;
|
63
152
|
else
|
64
|
-
return rb_grn_record_new(self, id);
|
153
|
+
return rb_grn_record_new(self, id, values);
|
65
154
|
}
|
66
155
|
|
67
156
|
static VALUE
|
68
157
|
rb_grn_table_key_support_get_key (VALUE self, VALUE rb_id)
|
69
158
|
{
|
70
|
-
grn_ctx *context
|
159
|
+
grn_ctx *context;
|
160
|
+
grn_obj *table, *key;
|
71
161
|
grn_id id;
|
72
|
-
|
73
|
-
int key_size = 0;
|
162
|
+
int key_size;
|
74
163
|
VALUE rb_key;
|
75
164
|
|
76
|
-
|
165
|
+
rb_grn_table_key_support_deconstruct(SELF(self), &table, &context,
|
166
|
+
&key, NULL, NULL,
|
167
|
+
NULL, NULL, NULL);
|
77
168
|
|
78
169
|
id = NUM2UINT(rb_id);
|
79
|
-
|
170
|
+
GRN_BULK_REWIND(key);
|
171
|
+
key_size = grn_table_get_key(context, table, id,
|
172
|
+
GRN_BULK_HEAD(key), GRN_BULK_VSIZE(key));
|
80
173
|
if (key_size == 0)
|
81
174
|
return Qnil;
|
82
175
|
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
grn_obj_close(context, &key);
|
176
|
+
if (GRN_BULK_VSIZE(key) < key_size) {
|
177
|
+
grn_bulk_reserve(context, key, key_size);
|
178
|
+
grn_table_get_key(context, table, id, GRN_BULK_HEAD(key), key_size);
|
179
|
+
}
|
88
180
|
|
181
|
+
rb_key = GRNKEY2RVAL(context, GRN_BULK_HEAD(key), key_size, table, self);
|
89
182
|
return rb_key;
|
90
183
|
}
|
91
184
|
|
92
185
|
static VALUE
|
93
186
|
rb_grn_table_key_support_delete_by_key (VALUE self, VALUE rb_key)
|
94
187
|
{
|
95
|
-
|
96
|
-
grn_ctx *context = NULL;
|
188
|
+
grn_ctx *context;
|
97
189
|
grn_obj *table;
|
98
|
-
|
190
|
+
grn_id domain_id;
|
191
|
+
grn_obj *key, *domain;
|
99
192
|
grn_rc rc;
|
100
193
|
|
101
|
-
|
194
|
+
rb_grn_table_key_support_deconstruct(SELF(self), &table, &context,
|
195
|
+
&key, &domain_id, &domain,
|
196
|
+
NULL, NULL, NULL);
|
102
197
|
|
103
|
-
|
198
|
+
GRN_BULK_REWIND(key);
|
199
|
+
RVAL2GRNKEY(rb_key, context, key, domain_id, domain, self);
|
104
200
|
rc = grn_table_delete(context, table,
|
105
|
-
GRN_BULK_HEAD(
|
106
|
-
|
107
|
-
grn_obj_close(context, &key);
|
108
|
-
if (!NIL_P(exception))
|
109
|
-
rb_exc_raise(exception);
|
201
|
+
GRN_BULK_HEAD(key), GRN_BULK_VSIZE(key));
|
202
|
+
rb_grn_context_check(context, self);
|
110
203
|
rb_grn_rc_check(rc, self);
|
111
204
|
|
112
205
|
return Qnil;
|
@@ -116,88 +209,110 @@ static VALUE
|
|
116
209
|
rb_grn_table_key_support_delete (VALUE self, VALUE rb_id_or_key)
|
117
210
|
{
|
118
211
|
if (FIXNUM_P(rb_id_or_key)) {
|
119
|
-
|
120
|
-
VALUE argv[1];
|
121
|
-
argv[0] = rb_id_or_key;
|
122
|
-
return rb_call_super(argc, argv);
|
212
|
+
return rb_grn_table_delete(self, rb_id_or_key);
|
123
213
|
} else {
|
124
214
|
return rb_grn_table_key_support_delete_by_key(self, rb_id_or_key);
|
125
215
|
}
|
126
216
|
}
|
127
217
|
|
218
|
+
grn_id
|
219
|
+
rb_grn_table_key_support_get (VALUE self, VALUE rb_key)
|
220
|
+
{
|
221
|
+
grn_ctx *context;
|
222
|
+
grn_obj *table, *key, *domain;
|
223
|
+
grn_id id, domain_id;
|
224
|
+
|
225
|
+
rb_grn_table_key_support_deconstruct(SELF(self), &table, &context,
|
226
|
+
&key, &domain_id, &domain,
|
227
|
+
NULL, NULL, NULL);
|
228
|
+
|
229
|
+
GRN_BULK_REWIND(key);
|
230
|
+
RVAL2GRNKEY(rb_key, context, key, domain_id, domain, self);
|
231
|
+
id = grn_table_get(context, table,
|
232
|
+
GRN_BULK_HEAD(key), GRN_BULK_VSIZE(key));
|
233
|
+
rb_grn_context_check(context, self);
|
234
|
+
|
235
|
+
return id;
|
236
|
+
}
|
237
|
+
|
128
238
|
static VALUE
|
129
|
-
|
239
|
+
rb_grn_table_key_support_find (VALUE self, VALUE rb_key)
|
130
240
|
{
|
131
|
-
VALUE exception;
|
132
|
-
grn_ctx *context = NULL;
|
133
|
-
grn_obj *table;
|
134
|
-
grn_obj key;
|
135
241
|
grn_id id;
|
136
|
-
grn_search_flags flags = 0;
|
137
242
|
|
138
|
-
|
243
|
+
id = rb_grn_table_key_support_get(self, rb_key);
|
139
244
|
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
245
|
+
if (id == GRN_ID_NIL)
|
246
|
+
return Qnil;
|
247
|
+
else
|
248
|
+
return rb_grn_record_new(self, id, Qnil);
|
249
|
+
}
|
250
|
+
|
251
|
+
static VALUE
|
252
|
+
rb_grn_table_key_support_array_reference_by_key (VALUE self, VALUE rb_key)
|
253
|
+
{
|
254
|
+
grn_ctx *context;
|
255
|
+
grn_obj *table, *value, *range;
|
256
|
+
grn_id id;
|
257
|
+
|
258
|
+
id = rb_grn_table_key_support_get(self, rb_key);
|
149
259
|
|
150
260
|
if (id == GRN_ID_NIL)
|
151
261
|
return Qnil;
|
262
|
+
|
263
|
+
rb_grn_table_key_support_deconstruct(SELF(self), &table, &context,
|
264
|
+
NULL, NULL, NULL,
|
265
|
+
&value, NULL, &range);
|
266
|
+
GRN_BULK_REWIND(value);
|
267
|
+
grn_obj_get_value(context, table, id, value);
|
268
|
+
rb_grn_context_check(context, self);
|
269
|
+
|
270
|
+
if (GRN_BULK_EMPTYP(value))
|
271
|
+
return Qnil;
|
152
272
|
else
|
153
|
-
return
|
273
|
+
return rb_str_new(GRN_BULK_HEAD(value), GRN_BULK_VSIZE(value));
|
154
274
|
}
|
155
275
|
|
156
276
|
static VALUE
|
157
277
|
rb_grn_table_key_support_array_reference (VALUE self, VALUE rb_id_or_key)
|
158
278
|
{
|
159
279
|
if (FIXNUM_P(rb_id_or_key)) {
|
160
|
-
|
161
|
-
VALUE argv[1];
|
162
|
-
argv[0] = rb_id_or_key;
|
163
|
-
return rb_call_super(argc, argv);
|
280
|
+
return rb_grn_table_array_reference(self, rb_id_or_key);
|
164
281
|
} else {
|
165
282
|
return rb_grn_table_key_support_array_reference_by_key(self,
|
166
283
|
rb_id_or_key);
|
167
284
|
}
|
168
285
|
}
|
169
286
|
|
170
|
-
|
171
287
|
static VALUE
|
172
288
|
rb_grn_table_key_support_array_set_by_key (VALUE self,
|
173
289
|
VALUE rb_key, VALUE rb_value)
|
174
290
|
{
|
175
|
-
|
176
|
-
grn_ctx *context = NULL;
|
291
|
+
grn_ctx *context;
|
177
292
|
grn_obj *table;
|
178
293
|
grn_id id;
|
179
|
-
grn_obj value;
|
294
|
+
grn_obj *value;
|
180
295
|
grn_rc rc;
|
181
296
|
|
182
|
-
table = SELF(self, &context);
|
183
|
-
|
184
297
|
if (NIL_P(rb_key))
|
185
298
|
rb_raise(rb_eArgError, "key should not be nil: <%s>",
|
186
299
|
rb_grn_inspect(self));
|
187
300
|
|
188
|
-
|
301
|
+
rb_grn_table_key_support_deconstruct(SELF(self), &table, &context,
|
302
|
+
NULL, NULL, NULL,
|
303
|
+
&value, NULL, NULL);
|
304
|
+
|
305
|
+
id = rb_grn_table_key_support_add_raw(self, rb_key);
|
189
306
|
if (GRN_ID_NIL == id)
|
190
307
|
rb_raise(rb_eGrnError,
|
191
308
|
"failed to add new record with key: <%s>: <%s>",
|
192
309
|
rb_grn_inspect(rb_key),
|
193
310
|
rb_grn_inspect(self));
|
194
311
|
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
if (!NIL_P(exception))
|
200
|
-
rb_exc_raise(exception);
|
312
|
+
GRN_BULK_REWIND(value);
|
313
|
+
RVAL2GRNBULK(rb_value, context, value);
|
314
|
+
rc = grn_obj_set_value(context, table, id, value, GRN_OBJ_SET);
|
315
|
+
rb_grn_context_check(context, self);
|
201
316
|
rb_grn_rc_check(rc, self);
|
202
317
|
|
203
318
|
return rb_value;
|
@@ -208,11 +323,7 @@ rb_grn_table_key_support_array_set (VALUE self,
|
|
208
323
|
VALUE rb_id_or_key, VALUE rb_value)
|
209
324
|
{
|
210
325
|
if (FIXNUM_P(rb_id_or_key)) {
|
211
|
-
|
212
|
-
VALUE argv[2];
|
213
|
-
argv[0] = rb_id_or_key;
|
214
|
-
argv[1] = rb_value;
|
215
|
-
return rb_call_super(argc, argv);
|
326
|
+
return rb_grn_table_array_set(self, rb_id_or_key, rb_value);
|
216
327
|
} else {
|
217
328
|
return rb_grn_table_key_support_array_set_by_key(self,
|
218
329
|
rb_id_or_key,
|
@@ -220,34 +331,20 @@ rb_grn_table_key_support_array_set (VALUE self,
|
|
220
331
|
}
|
221
332
|
}
|
222
333
|
|
223
|
-
static VALUE
|
224
|
-
rb_grn_table_key_support_get_encoding (VALUE self)
|
225
|
-
{
|
226
|
-
grn_ctx *context = NULL;
|
227
|
-
grn_obj *table;
|
228
|
-
grn_encoding encoding;
|
229
|
-
grn_rc rc;
|
230
|
-
|
231
|
-
table = SELF(self, &context);
|
232
|
-
rc = grn_table_get_info(context, table, NULL, &encoding, NULL);
|
233
|
-
rb_grn_context_check(context, self);
|
234
|
-
rb_grn_rc_check(rc, self);
|
235
|
-
|
236
|
-
return GRNENCODING2RVAL(encoding);
|
237
|
-
}
|
238
|
-
|
239
334
|
static VALUE
|
240
335
|
rb_grn_table_key_support_get_default_tokenizer (VALUE self)
|
241
336
|
{
|
242
337
|
grn_ctx *context = NULL;
|
243
338
|
grn_obj *table;
|
244
|
-
grn_obj *tokenizer;
|
245
|
-
|
339
|
+
grn_obj *tokenizer = NULL;
|
340
|
+
|
341
|
+
rb_grn_table_key_support_deconstruct(SELF(self), &table, &context,
|
342
|
+
NULL, NULL, NULL,
|
343
|
+
NULL, NULL, NULL);
|
246
344
|
|
247
|
-
|
248
|
-
|
345
|
+
tokenizer = grn_obj_get_info(context, table, GRN_INFO_DEFAULT_TOKENIZER,
|
346
|
+
NULL);
|
249
347
|
rb_grn_context_check(context, self);
|
250
|
-
rb_grn_rc_check(rc, self);
|
251
348
|
|
252
349
|
return GRNOBJECT2RVAL(Qnil, context, tokenizer, RB_GRN_FALSE);
|
253
350
|
}
|
@@ -255,12 +352,15 @@ rb_grn_table_key_support_get_default_tokenizer (VALUE self)
|
|
255
352
|
static VALUE
|
256
353
|
rb_grn_table_key_support_set_default_tokenizer (VALUE self, VALUE rb_tokenizer)
|
257
354
|
{
|
258
|
-
grn_ctx *context
|
355
|
+
grn_ctx *context;
|
259
356
|
grn_obj *table;
|
260
357
|
grn_obj *tokenizer;
|
261
358
|
grn_rc rc;
|
262
359
|
|
263
|
-
|
360
|
+
rb_grn_table_key_support_deconstruct(SELF(self), &table, &context,
|
361
|
+
NULL, NULL, NULL,
|
362
|
+
NULL, NULL, NULL);
|
363
|
+
|
264
364
|
tokenizer = RVAL2GRNOBJECT(rb_tokenizer, &context);
|
265
365
|
rc = grn_obj_set_info(context, table,
|
266
366
|
GRN_INFO_DEFAULT_TOKENIZER, tokenizer);
|
@@ -274,26 +374,28 @@ void
|
|
274
374
|
rb_grn_init_table_key_support (VALUE mGrn)
|
275
375
|
{
|
276
376
|
rb_mGrnTableKeySupport = rb_define_module_under(rb_cGrnTable, "KeySupport");
|
377
|
+
rb_include_module(rb_mGrnTableKeySupport, rb_mGrnEncodingSupport);
|
378
|
+
|
379
|
+
rb_define_method(rb_mGrnTableKeySupport, "initialize",
|
380
|
+
rb_grn_table_key_support_initialize, -1);
|
277
381
|
|
278
382
|
rb_define_method(rb_mGrnTableKeySupport, "add",
|
279
|
-
rb_grn_table_key_support_add, 1);
|
383
|
+
rb_grn_table_key_support_add, -1);
|
280
384
|
rb_define_method(rb_mGrnTableKeySupport, "key",
|
281
385
|
rb_grn_table_key_support_get_key, 1);
|
282
386
|
|
283
387
|
rb_define_method(rb_mGrnTableKeySupport, "delete",
|
284
388
|
rb_grn_table_key_support_delete, 1);
|
285
389
|
|
390
|
+
rb_define_method(rb_mGrnTableKeySupport, "find",
|
391
|
+
rb_grn_table_key_support_find, 1);
|
286
392
|
rb_define_method(rb_mGrnTableKeySupport, "[]",
|
287
393
|
rb_grn_table_key_support_array_reference, 1);
|
288
394
|
rb_define_method(rb_mGrnTableKeySupport, "[]=",
|
289
395
|
rb_grn_table_key_support_array_set, 2);
|
290
396
|
|
291
|
-
rb_define_method(rb_mGrnTableKeySupport, "encoding",
|
292
|
-
rb_grn_table_key_support_get_encoding, 0);
|
293
|
-
|
294
397
|
rb_define_method(rb_mGrnTableKeySupport, "default_tokenizer",
|
295
398
|
rb_grn_table_key_support_get_default_tokenizer, 0);
|
296
|
-
|
297
399
|
rb_define_method(rb_mGrnTableKeySupport, "default_tokenizer=",
|
298
400
|
rb_grn_table_key_support_set_default_tokenizer, 1);
|
299
401
|
}
|