rroonga 1.2.7 → 1.2.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. data/ext/groonga/Makefile +27 -27
  2. data/ext/groonga/groonga.so +0 -0
  3. data/ext/groonga/rb-grn-accessor.o +0 -0
  4. data/ext/groonga/rb-grn-array-cursor.o +0 -0
  5. data/ext/groonga/rb-grn-array.o +0 -0
  6. data/ext/groonga/rb-grn-column.o +0 -0
  7. data/ext/groonga/rb-grn-context.c +22 -1
  8. data/ext/groonga/rb-grn-context.o +0 -0
  9. data/ext/groonga/rb-grn-database.c +3 -1
  10. data/ext/groonga/rb-grn-database.o +0 -0
  11. data/ext/groonga/rb-grn-encoding-support.o +0 -0
  12. data/ext/groonga/rb-grn-encoding.o +0 -0
  13. data/ext/groonga/rb-grn-exception.o +0 -0
  14. data/ext/groonga/rb-grn-expression-builder.o +0 -0
  15. data/ext/groonga/rb-grn-expression.o +0 -0
  16. data/ext/groonga/rb-grn-fix-size-column.o +0 -0
  17. data/ext/groonga/rb-grn-hash-cursor.o +0 -0
  18. data/ext/groonga/rb-grn-hash.o +0 -0
  19. data/ext/groonga/rb-grn-index-column.o +0 -0
  20. data/ext/groonga/rb-grn-index-cursor.o +0 -0
  21. data/ext/groonga/rb-grn-logger.o +0 -0
  22. data/ext/groonga/rb-grn-object.c +29 -13
  23. data/ext/groonga/rb-grn-object.o +0 -0
  24. data/ext/groonga/rb-grn-operator.o +0 -0
  25. data/ext/groonga/rb-grn-patricia-trie-cursor.o +0 -0
  26. data/ext/groonga/rb-grn-patricia-trie.o +0 -0
  27. data/ext/groonga/rb-grn-plugin.o +0 -0
  28. data/ext/groonga/rb-grn-posting.o +0 -0
  29. data/ext/groonga/rb-grn-procedure.o +0 -0
  30. data/ext/groonga/rb-grn-query.o +0 -0
  31. data/ext/groonga/rb-grn-record.o +0 -0
  32. data/ext/groonga/rb-grn-snippet.o +0 -0
  33. data/ext/groonga/rb-grn-table-cursor-key-support.o +0 -0
  34. data/ext/groonga/rb-grn-table-cursor.o +0 -0
  35. data/ext/groonga/rb-grn-table-key-support.o +0 -0
  36. data/ext/groonga/rb-grn-table.c +16 -0
  37. data/ext/groonga/rb-grn-table.o +0 -0
  38. data/ext/groonga/rb-grn-type.o +0 -0
  39. data/ext/groonga/rb-grn-utils.c +77 -8
  40. data/ext/groonga/rb-grn-utils.o +0 -0
  41. data/ext/groonga/rb-grn-variable-size-column.o +0 -0
  42. data/ext/groonga/rb-grn-variable.o +0 -0
  43. data/ext/groonga/rb-grn-view-accessor.o +0 -0
  44. data/ext/groonga/rb-grn-view-cursor.o +0 -0
  45. data/ext/groonga/rb-grn-view-record.o +0 -0
  46. data/ext/groonga/rb-grn-view.o +0 -0
  47. data/ext/groonga/rb-grn.h +5 -1
  48. data/ext/groonga/rb-groonga.o +0 -0
  49. data/lib/groonga/dumper.rb +35 -6
  50. data/lib/groonga/expression-builder-19.rb +40 -0
  51. data/lib/groonga/expression-builder.rb +4 -0
  52. data/test/groonga-test-utils.rb +8 -0
  53. data/test/test-schema-dumper.rb +6 -0
  54. data/test/test-table-select.rb +9 -0
  55. metadata +140 -96
data/ext/groonga/Makefile CHANGED
@@ -3,7 +3,7 @@ SHELL = /bin/sh
3
3
 
4
4
  #### Start of system configuration section. ####
5
5
 
6
- srcdir = /home/kou/work/ruby/rroonga/ext/groonga
6
+ srcdir = /home/yue/work/rroonga/ext/groonga
7
7
  topdir = /usr/include/ruby-1.9.1
8
8
  hdrdir = /usr/include/ruby-1.9.1
9
9
  arch_hdrdir = /usr/include/ruby-1.9.1/$(arch)
@@ -54,13 +54,13 @@ COUTFLAG = -o
54
54
 
55
55
  RUBY_EXTCONF_H =
56
56
  cflags = $(optflags) $(debugflags) $(warnflags)
57
- optflags = -O3
58
- debugflags = -ggdb
57
+ optflags = -O0
58
+ debugflags = -ggdb3
59
59
  warnflags = -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wno-long-long
60
- CFLAGS = -fPIC -fno-strict-aliasing -g -g -O2 -fPIC -Wall -I/tmp/local/include/groonga
60
+ CFLAGS = -fPIC -fno-strict-aliasing -ggdb3 -O0 -fPIC -Wall -I/tmp/local/include/groonga
61
61
  INCFLAGS = -I. -I$(arch_hdrdir) -I$(hdrdir)/ruby/backward -I$(hdrdir) -I$(srcdir)
62
62
  DEFS =
63
- CPPFLAGS = -DRB_GRN_COMPILATION -DGRN_MAJOR_VERSION=1 -DGRN_MINOR_VERSION=2 -DGRN_MICRO_VERSION=5 -DHAVE_RB_ERRINFO -DHAVE_TYPE_ENUM_RUBY_VALUE_TYPE $(DEFS) $(cppflags)
63
+ CPPFLAGS = -DRB_GRN_COMPILATION -DGRN_MAJOR_VERSION=1 -DGRN_MINOR_VERSION=2 -DGRN_MICRO_VERSION=1 -DHAVE_RB_ERRINFO -DHAVE_TYPE_ENUM_RUBY_VALUE_TYPE $(DEFS) $(cppflags)
64
64
  CXXFLAGS = $(CFLAGS) -fno-strict-aliasing -g
65
65
  ldflags = -L. -rdynamic -Wl,-export-dynamic -L/tmp/local/lib
66
66
  dldflags =
@@ -105,8 +105,8 @@ extout_prefix =
105
105
  target_prefix =
106
106
  LOCAL_LIBS =
107
107
  LIBS = $(LIBRUBYARG_SHARED) -lgroonga -lpthread -lrt -ldl -lcrypt -lm -lc
108
- SRCS = rb-grn-exception.c rb-grn-view-accessor.c rb-grn-hash-cursor.c rb-grn-query.c rb-grn-record.c rb-grn-variable.c rb-grn-view.c rb-grn-table-cursor-key-support.c rb-grn-fix-size-column.c rb-grn-context.c rb-grn-plugin.c rb-grn-hash.c rb-grn-variable-size-column.c rb-grn-index-column.c rb-grn-operator.c rb-grn-table-key-support.c rb-grn-patricia-trie.c rb-grn-table-cursor.c rb-grn-object.c rb-grn-table.c rb-grn-procedure.c rb-grn-snippet.c rb-grn-encoding-support.c rb-grn-view-record.c rb-grn-patricia-trie-cursor.c rb-grn-array.c rb-grn-database.c rb-grn-view-cursor.c rb-grn-column.c rb-grn-index-cursor.c rb-grn-type.c rb-grn-accessor.c rb-grn-posting.c rb-groonga.c rb-grn-array-cursor.c rb-grn-utils.c rb-grn-logger.c rb-grn-expression.c rb-grn-encoding.c rb-grn-expression-builder.c
109
- OBJS = rb-grn-exception.o rb-grn-view-accessor.o rb-grn-hash-cursor.o rb-grn-query.o rb-grn-record.o rb-grn-variable.o rb-grn-view.o rb-grn-table-cursor-key-support.o rb-grn-fix-size-column.o rb-grn-context.o rb-grn-plugin.o rb-grn-hash.o rb-grn-variable-size-column.o rb-grn-index-column.o rb-grn-operator.o rb-grn-table-key-support.o rb-grn-patricia-trie.o rb-grn-table-cursor.o rb-grn-object.o rb-grn-table.o rb-grn-procedure.o rb-grn-snippet.o rb-grn-encoding-support.o rb-grn-view-record.o rb-grn-patricia-trie-cursor.o rb-grn-array.o rb-grn-database.o rb-grn-view-cursor.o rb-grn-column.o rb-grn-index-cursor.o rb-grn-type.o rb-grn-accessor.o rb-grn-posting.o rb-groonga.o rb-grn-array-cursor.o rb-grn-utils.o rb-grn-logger.o rb-grn-expression.o rb-grn-encoding.o rb-grn-expression-builder.o
108
+ SRCS = rb-grn-snippet.c rb-grn-view.c rb-grn-query.c rb-grn-encoding-support.c rb-grn-record.c rb-grn-utils.c rb-grn-index-column.c rb-grn-index-cursor.c rb-grn-view-accessor.c rb-grn-object.c rb-grn-patricia-trie.c rb-grn-expression-builder.c rb-grn-variable.c rb-grn-hash-cursor.c rb-grn-fix-size-column.c rb-grn-variable-size-column.c rb-grn-table-key-support.c rb-grn-table.c rb-groonga.c rb-grn-table-cursor.c rb-grn-hash.c rb-grn-exception.c rb-grn-logger.c rb-grn-plugin.c rb-grn-encoding.c rb-grn-view-record.c rb-grn-view-cursor.c rb-grn-column.c rb-grn-procedure.c rb-grn-posting.c rb-grn-accessor.c rb-grn-operator.c rb-grn-type.c rb-grn-array.c rb-grn-patricia-trie-cursor.c rb-grn-context.c rb-grn-database.c rb-grn-array-cursor.c rb-grn-expression.c rb-grn-table-cursor-key-support.c
109
+ OBJS = rb-grn-snippet.o rb-grn-view.o rb-grn-query.o rb-grn-encoding-support.o rb-grn-record.o rb-grn-utils.o rb-grn-index-column.o rb-grn-index-cursor.o rb-grn-view-accessor.o rb-grn-object.o rb-grn-patricia-trie.o rb-grn-expression-builder.o rb-grn-variable.o rb-grn-hash-cursor.o rb-grn-fix-size-column.o rb-grn-variable-size-column.o rb-grn-table-key-support.o rb-grn-table.o rb-groonga.o rb-grn-table-cursor.o rb-grn-hash.o rb-grn-exception.o rb-grn-logger.o rb-grn-plugin.o rb-grn-encoding.o rb-grn-view-record.o rb-grn-view-cursor.o rb-grn-column.o rb-grn-procedure.o rb-grn-posting.o rb-grn-accessor.o rb-grn-operator.o rb-grn-type.o rb-grn-array.o rb-grn-patricia-trie-cursor.o rb-grn-context.o rb-grn-database.o rb-grn-array-cursor.o rb-grn-expression.o rb-grn-table-cursor-key-support.o
110
110
  TARGET = groonga
111
111
  DLLIB = $(TARGET).so
112
112
  EXTSTATIC =
@@ -160,18 +160,10 @@ $(RUBYLIBDIR)/groonga.rb: $(srcdir)/../../lib/groonga.rb
160
160
  @-$(MAKEDIRS) $(@D)
161
161
  $(INSTALL_DATA) $(srcdir)/../../lib/groonga.rb $(@D)
162
162
  pre-install-rb: $(RUBYLIBDIR)/groonga
163
- install-rb: $(RUBYLIBDIR)/groonga/record.rb
164
- $(RUBYLIBDIR)/groonga/record.rb: $(srcdir)/../../lib/groonga/record.rb
165
- @-$(MAKEDIRS) $(@D)
166
- $(INSTALL_DATA) $(srcdir)/../../lib/groonga/record.rb $(@D)
167
- install-rb: $(RUBYLIBDIR)/groonga/view-record.rb
168
- $(RUBYLIBDIR)/groonga/view-record.rb: $(srcdir)/../../lib/groonga/view-record.rb
169
- @-$(MAKEDIRS) $(@D)
170
- $(INSTALL_DATA) $(srcdir)/../../lib/groonga/view-record.rb $(@D)
171
- install-rb: $(RUBYLIBDIR)/groonga/context.rb
172
- $(RUBYLIBDIR)/groonga/context.rb: $(srcdir)/../../lib/groonga/context.rb
163
+ install-rb: $(RUBYLIBDIR)/groonga/dumper.rb
164
+ $(RUBYLIBDIR)/groonga/dumper.rb: $(srcdir)/../../lib/groonga/dumper.rb
173
165
  @-$(MAKEDIRS) $(@D)
174
- $(INSTALL_DATA) $(srcdir)/../../lib/groonga/context.rb $(@D)
166
+ $(INSTALL_DATA) $(srcdir)/../../lib/groonga/dumper.rb $(@D)
175
167
  install-rb: $(RUBYLIBDIR)/groonga/pagination.rb
176
168
  $(RUBYLIBDIR)/groonga/pagination.rb: $(srcdir)/../../lib/groonga/pagination.rb
177
169
  @-$(MAKEDIRS) $(@D)
@@ -180,22 +172,30 @@ install-rb: $(RUBYLIBDIR)/groonga/schema.rb
180
172
  $(RUBYLIBDIR)/groonga/schema.rb: $(srcdir)/../../lib/groonga/schema.rb
181
173
  @-$(MAKEDIRS) $(@D)
182
174
  $(INSTALL_DATA) $(srcdir)/../../lib/groonga/schema.rb $(@D)
183
- install-rb: $(RUBYLIBDIR)/groonga/posting.rb
184
- $(RUBYLIBDIR)/groonga/posting.rb: $(srcdir)/../../lib/groonga/posting.rb
175
+ install-rb: $(RUBYLIBDIR)/groonga/expression-builder.rb
176
+ $(RUBYLIBDIR)/groonga/expression-builder.rb: $(srcdir)/../../lib/groonga/expression-builder.rb
185
177
  @-$(MAKEDIRS) $(@D)
186
- $(INSTALL_DATA) $(srcdir)/../../lib/groonga/posting.rb $(@D)
178
+ $(INSTALL_DATA) $(srcdir)/../../lib/groonga/expression-builder.rb $(@D)
187
179
  install-rb: $(RUBYLIBDIR)/groonga/patricia-trie.rb
188
180
  $(RUBYLIBDIR)/groonga/patricia-trie.rb: $(srcdir)/../../lib/groonga/patricia-trie.rb
189
181
  @-$(MAKEDIRS) $(@D)
190
182
  $(INSTALL_DATA) $(srcdir)/../../lib/groonga/patricia-trie.rb $(@D)
191
- install-rb: $(RUBYLIBDIR)/groonga/expression-builder.rb
192
- $(RUBYLIBDIR)/groonga/expression-builder.rb: $(srcdir)/../../lib/groonga/expression-builder.rb
183
+ install-rb: $(RUBYLIBDIR)/groonga/view-record.rb
184
+ $(RUBYLIBDIR)/groonga/view-record.rb: $(srcdir)/../../lib/groonga/view-record.rb
193
185
  @-$(MAKEDIRS) $(@D)
194
- $(INSTALL_DATA) $(srcdir)/../../lib/groonga/expression-builder.rb $(@D)
195
- install-rb: $(RUBYLIBDIR)/groonga/dumper.rb
196
- $(RUBYLIBDIR)/groonga/dumper.rb: $(srcdir)/../../lib/groonga/dumper.rb
186
+ $(INSTALL_DATA) $(srcdir)/../../lib/groonga/view-record.rb $(@D)
187
+ install-rb: $(RUBYLIBDIR)/groonga/context.rb
188
+ $(RUBYLIBDIR)/groonga/context.rb: $(srcdir)/../../lib/groonga/context.rb
197
189
  @-$(MAKEDIRS) $(@D)
198
- $(INSTALL_DATA) $(srcdir)/../../lib/groonga/dumper.rb $(@D)
190
+ $(INSTALL_DATA) $(srcdir)/../../lib/groonga/context.rb $(@D)
191
+ install-rb: $(RUBYLIBDIR)/groonga/record.rb
192
+ $(RUBYLIBDIR)/groonga/record.rb: $(srcdir)/../../lib/groonga/record.rb
193
+ @-$(MAKEDIRS) $(@D)
194
+ $(INSTALL_DATA) $(srcdir)/../../lib/groonga/record.rb $(@D)
195
+ install-rb: $(RUBYLIBDIR)/groonga/posting.rb
196
+ $(RUBYLIBDIR)/groonga/posting.rb: $(srcdir)/../../lib/groonga/posting.rb
197
+ @-$(MAKEDIRS) $(@D)
198
+ $(INSTALL_DATA) $(srcdir)/../../lib/groonga/posting.rb $(@D)
199
199
  $(RUBYARCHDIR):
200
200
  $(MAKEDIRS) $@
201
201
  $(RUBYLIBDIR):
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -59,12 +59,29 @@ rb_grn_context_from_ruby_object (VALUE object)
59
59
  return rb_grn_context->context;
60
60
  }
61
61
 
62
+ static void
63
+ rb_grn_context_unlink_database (grn_ctx *context)
64
+ {
65
+ grn_obj *database;
66
+
67
+ database = grn_ctx_db(context);
68
+ debug("context:database: %p:%p\n", context, database);
69
+ if (database && database->header.type == GRN_DB) {
70
+ debug("context:database: %p:%p: unlink\n", context, database);
71
+ grn_obj_unlink(context, database);
72
+ }
73
+ debug("context:database: %p:%p: done\n", context, database);
74
+ }
75
+
62
76
  void
63
77
  rb_grn_context_fin (grn_ctx *context)
64
78
  {
65
79
  if (context->stat == GRN_CTX_FIN)
66
80
  return;
67
81
 
82
+ if (!(context->flags & GRN_CTX_PER_DB)) {
83
+ rb_grn_context_unlink_database(context);
84
+ }
68
85
  grn_ctx_fin(context);
69
86
  }
70
87
 
@@ -99,6 +116,10 @@ rb_grn_context_finalizer (grn_ctx *context, int n_args, grn_obj **grn_objects,
99
116
 
100
117
  rb_grn_context = user_data->ptr;
101
118
 
119
+ if (!(context->flags & GRN_CTX_PER_DB)) {
120
+ rb_grn_context_unlink_database(context);
121
+ }
122
+
102
123
  GRN_CTX_USER_DATA(context)->ptr = NULL;
103
124
  grn_ctx_set_finalizer(context, NULL);
104
125
 
@@ -298,7 +319,7 @@ rb_grn_context_initialize (int argc, VALUE *argv, VALUE self)
298
319
  {
299
320
  RbGrnContext *rb_grn_context;
300
321
  grn_ctx *context;
301
- int flags = GRN_CTX_PER_DB;
322
+ int flags = 0; /* TODO: GRN_CTX_PER_DB */
302
323
  VALUE options, default_options;
303
324
  VALUE rb_encoding;
304
325
 
Binary file
@@ -174,6 +174,7 @@ rb_grn_database_s_create (int argc, VALUE *argv, VALUE klass)
174
174
  const char *path = NULL;
175
175
  VALUE rb_database;
176
176
  VALUE rb_path, options, rb_context, builtin_type_names;
177
+ grn_bool owner;
177
178
 
178
179
  rb_scan_args(argc, argv, "01", &options);
179
180
 
@@ -195,7 +196,8 @@ rb_grn_database_s_create (int argc, VALUE *argv, VALUE klass)
195
196
  grn_obj_unlink(context, old_database);
196
197
  database = grn_db_create(context, path, &create_args);
197
198
  rb_grn_context_check(context, rb_ary_new4(argc, argv));
198
- rb_database = GRNOBJECT2RVAL(klass, context, database, GRN_FALSE);
199
+ owner = (context->flags & GRN_CTX_PER_DB) ? GRN_FALSE : GRN_TRUE;
200
+ rb_database = GRNOBJECT2RVAL(klass, context, database, owner);
199
201
  rb_iv_set(rb_database, "@context", rb_context);
200
202
  if (!NIL_P(rb_context))
201
203
  rb_iv_set(rb_context, "database", rb_database);
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -88,9 +88,10 @@ rb_grn_object_run_finalizer (grn_ctx *context, grn_obj *grn_object,
88
88
 
89
89
  grn_obj_set_finalizer(context, grn_object, NULL);
90
90
 
91
- debug("finalize: %p:%p:%p:%p:%p 0x%x\n",
91
+ debug("finalize: %p:%p:%p:%p:%p %s(%#x)\n",
92
92
  context, grn_object, rb_grn_object,
93
93
  rb_grn_object->context, rb_grn_object->object,
94
+ rb_grn_inspect_type(grn_object->header.type),
94
95
  grn_object->header.type);
95
96
 
96
97
  rb_grn_object->context = NULL;
@@ -99,6 +100,10 @@ rb_grn_object_run_finalizer (grn_ctx *context, grn_obj *grn_object,
99
100
 
100
101
  switch (grn_object->header.type) {
101
102
  case GRN_DB:
103
+ if (!(context->flags & GRN_CTX_PER_DB)) {
104
+ grn_ctx_use(context, NULL);
105
+ }
106
+ break;
102
107
  case GRN_TYPE:
103
108
  case GRN_PROC:
104
109
  case GRN_CURSOR_TABLE_HASH_KEY:
@@ -137,7 +142,8 @@ rb_grn_object_run_finalizer (grn_ctx *context, grn_obj *grn_object,
137
142
  break;
138
143
  default:
139
144
  rb_raise(rb_eTypeError,
140
- "unsupported groonga object type for finalizer: 0x%x",
145
+ "unsupported groonga object type for finalizer: %s(%#x)",
146
+ rb_grn_inspect_type(grn_object->header.type),
141
147
  grn_object->header.type);
142
148
  break;
143
149
  }
@@ -178,7 +184,8 @@ rb_grn_object_free (RbGrnObject *rb_grn_object)
178
184
  if (rb_grn_object->have_finalizer) {
179
185
  user_data = grn_obj_user_data(context, grn_object);
180
186
  }
181
- debug("type: %#x; need_close: %d; user_data: %p; ptr: %p\n",
187
+ debug("type: %s(%#x); need_close: %d; user_data: %p; ptr: %p\n",
188
+ rb_grn_inspect_type(grn_object->header.type),
182
189
  grn_object->header.type,
183
190
  rb_grn_object->need_close,
184
191
  user_data,
@@ -313,23 +320,27 @@ rb_grn_object_bind_common (VALUE klass, VALUE self, VALUE rb_context,
313
320
 
314
321
  user_data = grn_obj_user_data(context, object);
315
322
  if (user_data) {
316
- debug("set-finalizer: %p:%p:%p %#x\n",
323
+ debug("set-finalizer: %p:%p:%p %s(%#x)\n",
317
324
  context, object, rb_grn_object,
325
+ rb_grn_inspect_type(object->header.type),
318
326
  object->header.type);
319
327
  user_data->ptr = rb_grn_object;
320
328
  grn_obj_set_finalizer(context, object, rb_grn_object_finalizer);
321
329
  rb_grn_object->have_finalizer = GRN_TRUE;
322
330
  } else if (object->header.type == GRN_ACCESSOR) {
323
- debug("set-finalizer(implicit): %p:%p:%p %#x\n",
331
+ debug("set-finalizer(implicit): %p:%p:%p %s(%#x)\n",
324
332
  context, object, rb_grn_object,
333
+ rb_grn_inspect_type(object->header.type),
325
334
  object->header.type);
326
- rb_grn_object->have_finalizer = GRN_TRUE;
335
+ /* TODO: We want to call finalizer for GRN_ACCESSOR. */
336
+ rb_grn_object->have_finalizer = GRN_FALSE;
327
337
  }
328
338
 
329
339
  switch (object->header.type) {
330
340
  case GRN_DB:
331
341
  case GRN_PROC:
332
342
  case GRN_TYPE:
343
+ case GRN_ACCESSOR: /* TODO: We want to close GRN_ACCESSOR. */
333
344
  rb_grn_object->need_close = GRN_FALSE;
334
345
  break;
335
346
  default:
@@ -422,14 +433,16 @@ rb_grn_object_assign (VALUE klass, VALUE self, VALUE rb_context,
422
433
  context, object);
423
434
  } else {
424
435
  rb_raise(rb_eTypeError,
425
- "unsupported groonga object type for assignment: 0x%x",
436
+ "unsupported groonga object type for assignment: %s(%#x)",
437
+ rb_grn_inspect_type(object->header.type),
426
438
  object->header.type);
427
439
  }
428
440
 
429
441
  rb_iv_set(self, "@context", rb_context);
430
442
 
431
- debug("assign: %p:%p:%p 0x%x\n", context, object, rb_grn_object,
432
- object->header.type);
443
+ debug("assign: %p:%p:%p %s(%#x)\n",
444
+ context, object, rb_grn_object,
445
+ rb_grn_inspect_type(object->header.type), object->header.type);
433
446
  }
434
447
 
435
448
  void
@@ -459,14 +472,17 @@ rb_grn_named_object_set_name (RbGrnNamedObject *rb_grn_named_object,
459
472
  rb_grn_named_object->name = NULL;
460
473
  }
461
474
  if (name_size > 0) {
475
+ RbGrnObject *rb_grn_object;
462
476
  rb_grn_named_object->name = ALLOC_N(char, name_size + 1);
463
477
  memcpy(rb_grn_named_object->name, name, name_size);
464
478
  rb_grn_named_object->name[name_size] = '\0';
465
- debug("set-name: %p:%p:%p 0x%x: <%.*s>\n",
466
- RB_GRN_OBJECT(rb_grn_named_object)->context,
467
- RB_GRN_OBJECT(rb_grn_named_object)->object,
479
+ rb_grn_object = RB_GRN_OBJECT(rb_grn_named_object);
480
+ debug("set-name: %p:%p:%p %s(%#x): <%.*s>\n",
481
+ rb_grn_object->context,
482
+ rb_grn_object->object,
468
483
  rb_grn_named_object,
469
- RB_GRN_OBJECT(rb_grn_named_object)->object->header.type,
484
+ rb_grn_inspect_type(rb_grn_object->object->header.type),
485
+ rb_grn_object->object->header.type,
470
486
  name_size, name);
471
487
  }
472
488
  rb_grn_named_object->name_size = name_size;
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -1741,6 +1741,22 @@ rb_grn_table_is_locked (int argc, VALUE *argv, VALUE self)
1741
1741
  * ブロックで条件を指定する場合は
1742
1742
  * Groonga::RecordExpressionBuilderを参照。
1743
1743
  *
1744
+ * Ruby1.9以降では、ブロックで条件を指定する際に
1745
+ * Groonga::ColumnExpressionBuilderの他に"!="も使用可能。
1746
+ * 例:
1747
+ * comments = Groonga::Array.create(:name => "Comments")
1748
+ * comments.define_column("content", "Text")
1749
+ *
1750
+ * comments.add(:content => "Hello Good-bye!")
1751
+ * comments.add(:content => "Hello World")
1752
+ * comments.add(:content => "test")
1753
+ *
1754
+ * result = comments.select do |record|
1755
+ * record.content != "test"
1756
+ * end
1757
+ * p result.collect {|record| record.content}
1758
+ * # => ["Hello Good-bye!", "Hello World"]
1759
+ *
1744
1760
  * _options_に指定可能な値は以下の通り。
1745
1761
  *
1746
1762
  * [+:default_column+]
Binary file
Binary file
@@ -1,7 +1,7 @@
1
1
  /* -*- c-file-style: "ruby" -*- */
2
2
  /* vim: set sts=4 sw=4 ts=8 noet: */
3
3
  /*
4
- Copyright (C) 2009-2010 Kouhei Sutou <kou@clear-code.com>
4
+ Copyright (C) 2009-2011 Kouhei Sutou <kou@clear-code.com>
5
5
 
6
6
  This library is free software; you can redistribute it and/or
7
7
  modify it under the terms of the GNU Lesser General Public
@@ -30,20 +30,86 @@ rb_grn_inspect (VALUE object)
30
30
  return StringValueCStr(inspected);
31
31
  }
32
32
 
33
+ const char *
34
+ rb_grn_inspect_type (unsigned char type)
35
+ {
36
+ switch (type) {
37
+ case GRN_VOID:
38
+ return "void";
39
+ case GRN_BULK:
40
+ return "bulk";
41
+ case GRN_PTR:
42
+ return "ptr";
43
+ case GRN_UVECTOR:
44
+ return "uvector";
45
+ case GRN_PVECTOR:
46
+ return "pvector";
47
+ case GRN_MSG:
48
+ return "msg";
49
+ case GRN_QUERY:
50
+ return "query";
51
+ case GRN_ACCESSOR:
52
+ return "accessor";
53
+ case GRN_SNIP:
54
+ return "snip";
55
+ case GRN_PATSNIP:
56
+ return "patsnip";
57
+ case GRN_CURSOR_TABLE_HASH_KEY:
58
+ return "cursor-table-hash-key";
59
+ case GRN_CURSOR_TABLE_PAT_KEY:
60
+ return "cursor-table-pat-key";
61
+ case GRN_CURSOR_TABLE_DAT_KEY:
62
+ return "cursor-table-dat-key";
63
+ case GRN_CURSOR_TABLE_NO_KEY:
64
+ return "cursor-table-no-key";
65
+ case GRN_CURSOR_TABLE_VIEW:
66
+ return "cursor-table-view";
67
+ case GRN_CURSOR_COLUMN_INDEX:
68
+ return "cursor-column-index";
69
+ case GRN_TYPE:
70
+ return "type";
71
+ case GRN_PROC:
72
+ return "proc";
73
+ case GRN_EXPR:
74
+ return "expr";
75
+ case GRN_TABLE_HASH_KEY:
76
+ return "table-hash-key";
77
+ case GRN_TABLE_PAT_KEY:
78
+ return "table-pat-key";
79
+ case GRN_TABLE_DAT_KEY:
80
+ return "table-dat-key";
81
+ case GRN_TABLE_NO_KEY:
82
+ return "table-no-key";
83
+ case GRN_TABLE_VIEW:
84
+ return "table-view";
85
+ case GRN_DB:
86
+ return "db";
87
+ case GRN_COLUMN_FIX_SIZE:
88
+ return "column-fix-size";
89
+ case GRN_COLUMN_VAR_SIZE:
90
+ return "column-var-size";
91
+ case GRN_COLUMN_INDEX:
92
+ return "column-index";
93
+ default:
94
+ return "unknown";
95
+ }
96
+ }
97
+
33
98
  void
34
99
  rb_grn_scan_options (VALUE options, ...)
35
100
  {
101
+ VALUE original_options = options;
36
102
  VALUE available_keys;
37
103
  const char *key;
38
104
  VALUE *value;
39
105
  va_list args;
40
106
 
41
- if (NIL_P(options))
107
+ options = rb_check_convert_type(options, T_HASH, "Hash", "to_hash");
108
+ if (NIL_P(options)) {
42
109
  options = rb_hash_new();
43
- else
110
+ } else if (options == original_options) {
44
111
  options = rb_funcall(options, rb_intern("dup"), 0);
45
-
46
- Check_Type(options, T_HASH);
112
+ }
47
113
 
48
114
  available_keys = rb_ary_new();
49
115
  va_start(args, options);
@@ -622,8 +688,10 @@ rb_grn_value_to_ruby_object (grn_ctx *context,
622
688
  break;
623
689
  default:
624
690
  rb_raise(rb_eGrnError,
625
- "unsupported value type: 0x%0x: %s",
626
- value->header.type, rb_grn_inspect(related_object));
691
+ "unsupported value type: %s(%#x): %s",
692
+ rb_grn_inspect_type(value->header.type),
693
+ value->header.type,
694
+ rb_grn_inspect(related_object));
627
695
  break;
628
696
  }
629
697
 
@@ -775,7 +843,8 @@ rb_grn_obj_to_ruby_object (VALUE klass, grn_ctx *context,
775
843
  /* case GRN_COLUMN_INDEX: */
776
844
  default:
777
845
  rb_raise(rb_eTypeError,
778
- "unsupported groonga object: 0x%x: <%s>",
846
+ "unsupported groonga object: %s(%#x): <%s>",
847
+ rb_grn_inspect_type(obj->header.type),
779
848
  obj->header.type,
780
849
  rb_grn_inspect(related_object));
781
850
  break;
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
data/ext/groonga/rb-grn.h CHANGED
@@ -24,6 +24,9 @@
24
24
  #ifdef HAVE_RUBY_ENCODING_H
25
25
  # include <ruby/encoding.h>
26
26
  #endif
27
+ #ifdef HAVE_RUBY_INTERN_H
28
+ # include <ruby/intern.h>
29
+ #endif
27
30
 
28
31
  #include <groonga.h>
29
32
 
@@ -69,7 +72,7 @@ RB_GRN_BEGIN_DECLS
69
72
 
70
73
  #define RB_GRN_MAJOR_VERSION 1
71
74
  #define RB_GRN_MINOR_VERSION 2
72
- #define RB_GRN_MICRO_VERSION 7
75
+ #define RB_GRN_MICRO_VERSION 8
73
76
 
74
77
  #define RB_GRN_QUERY_DEFAULT_MAX_EXPRESSIONS 32
75
78
 
@@ -290,6 +293,7 @@ grn_obj *rb_grn_context_get_backward_compatibility
290
293
  unsigned int name_size);
291
294
 
292
295
  const char *rb_grn_inspect (VALUE object);
296
+ const char *rb_grn_inspect_type (unsigned char type);
293
297
  void rb_grn_scan_options (VALUE options, ...)
294
298
  RB_GRN_GNUC_NULL_TERMINATED;
295
299
  grn_bool rb_grn_equal_option (VALUE option,
Binary file
@@ -266,13 +266,19 @@ module Groonga
266
266
  def define_column(table, column)
267
267
  type = column_method(column)
268
268
  name = column.local_name
269
- write(" table.#{type}(#{name.inspect})\n")
269
+ options = column_options(column)
270
+ arguments = [dump_object(name), options].compact.join(", ")
271
+ write(" table.#{type}(#{arguments})\n")
270
272
  end
271
273
 
272
274
  def define_reference_column(table, column)
273
275
  name = column.local_name
274
276
  reference = column.range
275
- write(" table.reference(#{name.dump}, #{reference.name.dump})\n")
277
+ options = column_options(column)
278
+ arguments = [dump_object(name),
279
+ dump_object(reference.name),
280
+ options].compact.join(", ")
281
+ write(" table.reference(#{arguments})\n")
276
282
  end
277
283
 
278
284
  def define_index_column(table, column)
@@ -280,14 +286,15 @@ module Groonga
280
286
  sources = column.sources
281
287
  source_names = sources.collect do |source|
282
288
  if source.is_a?(Groonga::Table)
283
- "_key".dump
289
+ name = "_key"
284
290
  else
285
- source.local_name.dump
291
+ name = source.local_name
286
292
  end
293
+ dump_object(name)
287
294
  end.join(", ")
288
- arguments = [target_table_name.dump,
295
+ arguments = [dump_object(target_table_name),
289
296
  sources.size == 1 ? source_names : "[#{source_names}]",
290
- ":name => #{column.local_name.dump}"]
297
+ ":name => #{dump_object(column.local_name)}"]
291
298
  write(" table.index(#{arguments.join(', ')})\n")
292
299
  end
293
300
 
@@ -316,6 +323,28 @@ module Groonga
316
323
  raise ArgumentError, "unsupported column: #{column.inspect}"
317
324
  end
318
325
  end
326
+
327
+ def column_options(column)
328
+ options = {}
329
+ options[:type] = :vector if column.vector?
330
+ return nil if options.empty?
331
+
332
+ dumped_options = ""
333
+ options.each do |key, value|
334
+ dumped_key = dump_object(key)
335
+ dumped_value = dump_object(value)
336
+ dumped_options << "#{dumped_key} => #{dumped_value}"
337
+ end
338
+ dumped_options
339
+ end
340
+
341
+ def dump_object(object)
342
+ if object.respond_to?(:dump)
343
+ object.dump
344
+ else
345
+ object.inspect
346
+ end
347
+ end
319
348
  end
320
349
 
321
350
  class CommandSyntax < BaseSyntax # :nodoc:
@@ -0,0 +1,40 @@
1
+ # -*- coding: utf-8 -*-
2
+ #
3
+ # Copyright (C) 2011 Kouhei Sutou <kou@clear-code.com>
4
+ #
5
+ # This library is free software; you can redistribute it and/or
6
+ # modify it under the terms of the GNU Lesser General Public
7
+ # License version 2.1 as published by the Free Software Foundation.
8
+ #
9
+ # This library is distributed in the hope that it will be useful,
10
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
+ # Lesser General Public License for more details.
13
+ #
14
+ # You should have received a copy of the GNU Lesser General Public
15
+ # License along with this library; if not, write to the Free Software
16
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17
+
18
+ module Groonga
19
+ module ExpressionBuildable
20
+ class ColumnValueExpressionBuilder
21
+ def !=(other)
22
+ NotEqualExpressionBuilder.new(self, normalize(other))
23
+ end
24
+ end
25
+
26
+ # @private
27
+ class NotEqualExpressionBuilder < BinaryExpressionBuilder
28
+ def initialize(column_value_builder, value)
29
+ super(Groonga::Operation::NOT_EQUAL, column_value_builder, value)
30
+ end
31
+ end
32
+ end
33
+
34
+ # @private
35
+ class ColumnExpressionBuilder
36
+ def !=(other)
37
+ column_value_builder != other
38
+ end
39
+ end
40
+ end
@@ -564,3 +564,7 @@ module Groonga
564
564
  end
565
565
  end
566
566
  end
567
+
568
+ if RUBY_VERSION >= "1.9"
569
+ require "groonga/expression-builder-19"
570
+ end
@@ -128,4 +128,12 @@ module GroongaTestUtils
128
128
  actual.collect(&normalizer),
129
129
  actual.expression.inspect)
130
130
  end
131
+
132
+ def ruby19?
133
+ RUBY_VERSION >= "1.9"
134
+ end
135
+
136
+ def only_ruby19
137
+ omit("Ruby 1.9 is needed.") unless ruby19?
138
+ end
131
139
  end
@@ -23,6 +23,7 @@ class SchemaDumperTest < Test::Unit::TestCase
23
23
  Groonga::Schema.define do |schema|
24
24
  schema.create_table("Posts") do |table|
25
25
  table.short_text :title
26
+ table.short_text :comments, :type => :vector
26
27
  end
27
28
  end
28
29
  end
@@ -40,6 +41,7 @@ class SchemaDumperTest < Test::Unit::TestCase
40
41
  schema.create_table("Comments") do |table|
41
42
  table.reference("item", "Items")
42
43
  table.reference("author", "Users")
44
+ table.reference("children", "Items", :type => :vector)
43
45
  table.text("content")
44
46
  table.time("issued")
45
47
  end
@@ -71,6 +73,7 @@ class SchemaDumperTest < Test::Unit::TestCase
71
73
  assert_equal(<<-EOS, dump)
72
74
  create_table("Posts",
73
75
  :force => true) do |table|
76
+ table.short_text("comments", :type => :vector)
74
77
  table.short_text("title")
75
78
  end
76
79
  EOS
@@ -97,6 +100,7 @@ end
97
100
 
98
101
  change_table("Comments") do |table|
99
102
  table.reference("author", "Users")
103
+ table.reference("children", "Items", :type => :vector)
100
104
  table.reference("item", "Items")
101
105
  end
102
106
  EOS
@@ -138,6 +142,7 @@ EOS
138
142
  define_simple_schema
139
143
  assert_equal(<<-EOS, dump)
140
144
  table_create Posts TABLE_NO_KEY
145
+ column_create Posts comments COLUMN_VECTOR ShortText
141
146
  column_create Posts title COLUMN_SCALAR ShortText
142
147
  EOS
143
148
  end
@@ -156,6 +161,7 @@ table_create Users TABLE_NO_KEY
156
161
  column_create Users name COLUMN_SCALAR ShortText
157
162
 
158
163
  column_create Comments author COLUMN_SCALAR Users
164
+ column_create Comments children COLUMN_VECTOR Items
159
165
  column_create Comments item COLUMN_SCALAR Items
160
166
  EOS
161
167
  end
@@ -146,6 +146,15 @@ class TableSelectTest < Test::Unit::TestCase
146
146
  result)
147
147
  end
148
148
 
149
+ def test_not_equal_block
150
+ only_ruby19
151
+ result = @comments.select do |record|
152
+ record.user != "darashi"
153
+ end
154
+ assert_equal_select_result([@comment1, @comment2, @comment3],
155
+ result)
156
+ end
157
+
149
158
  def test_equal_reference_column_by_nonexistent_key
150
159
  result = @comments.select do |record|
151
160
  record["user"] == "nonexistent"
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rroonga
3
3
  version: !ruby/object:Gem::Version
4
- hash: 17
5
- prerelease:
4
+ hash: 15
5
+ prerelease: false
6
6
  segments:
7
7
  - 1
8
8
  - 2
9
- - 7
10
- version: 1.2.7
9
+ - 8
10
+ version: 1.2.8
11
11
  platform: ruby
12
12
  authors:
13
13
  - Kouhei Sutou
@@ -19,9 +19,13 @@ autorequire:
19
19
  bindir: bin
20
20
  cert_chain: []
21
21
 
22
- date: 2011-08-28 00:00:00 Z
22
+ date: 2011-09-16 00:00:00 +09:00
23
+ default_executable: grndump
23
24
  dependencies:
24
25
  - !ruby/object:Gem::Dependency
26
+ type: :runtime
27
+ prerelease: false
28
+ name: pkg-config
25
29
  version_requirements: &id001 !ruby/object:Gem::Requirement
26
30
  none: false
27
31
  requirements:
@@ -31,11 +35,11 @@ dependencies:
31
35
  segments:
32
36
  - 0
33
37
  version: "0"
34
- name: pkg-config
35
- prerelease: false
36
- type: :runtime
37
38
  requirement: *id001
38
39
  - !ruby/object:Gem::Dependency
40
+ type: :development
41
+ prerelease: false
42
+ name: test-unit
39
43
  version_requirements: &id002 !ruby/object:Gem::Requirement
40
44
  none: false
41
45
  requirements:
@@ -45,11 +49,11 @@ dependencies:
45
49
  segments:
46
50
  - 0
47
51
  version: "0"
48
- name: test-unit
49
- prerelease: false
50
- type: :development
51
52
  requirement: *id002
52
53
  - !ruby/object:Gem::Dependency
54
+ type: :development
55
+ prerelease: false
56
+ name: test-unit-notify
53
57
  version_requirements: &id003 !ruby/object:Gem::Requirement
54
58
  none: false
55
59
  requirements:
@@ -59,11 +63,11 @@ dependencies:
59
63
  segments:
60
64
  - 0
61
65
  version: "0"
62
- name: test-unit-notify
63
- prerelease: false
64
- type: :development
65
66
  requirement: *id003
66
67
  - !ruby/object:Gem::Dependency
68
+ type: :development
69
+ prerelease: false
70
+ name: rake
67
71
  version_requirements: &id004 !ruby/object:Gem::Requirement
68
72
  none: false
69
73
  requirements:
@@ -73,11 +77,11 @@ dependencies:
73
77
  segments:
74
78
  - 0
75
79
  version: "0"
76
- name: rake
77
- prerelease: false
78
- type: :development
79
80
  requirement: *id004
80
81
  - !ruby/object:Gem::Dependency
82
+ type: :development
83
+ prerelease: false
84
+ name: rake-compiler
81
85
  version_requirements: &id005 !ruby/object:Gem::Requirement
82
86
  none: false
83
87
  requirements:
@@ -87,11 +91,11 @@ dependencies:
87
91
  segments:
88
92
  - 0
89
93
  version: "0"
90
- name: rake-compiler
91
- prerelease: false
92
- type: :development
93
94
  requirement: *id005
94
95
  - !ruby/object:Gem::Dependency
96
+ type: :development
97
+ prerelease: false
98
+ name: jeweler
95
99
  version_requirements: &id006 !ruby/object:Gem::Requirement
96
100
  none: false
97
101
  requirements:
@@ -101,11 +105,11 @@ dependencies:
101
105
  segments:
102
106
  - 0
103
107
  version: "0"
104
- name: jeweler
105
- prerelease: false
106
- type: :development
107
108
  requirement: *id006
108
109
  - !ruby/object:Gem::Dependency
110
+ type: :development
111
+ prerelease: false
112
+ name: yard
109
113
  version_requirements: &id007 !ruby/object:Gem::Requirement
110
114
  none: false
111
115
  requirements:
@@ -115,11 +119,11 @@ dependencies:
115
119
  segments:
116
120
  - 0
117
121
  version: "0"
118
- name: yard
119
- prerelease: false
120
- type: :development
121
122
  requirement: *id007
122
123
  - !ruby/object:Gem::Dependency
124
+ type: :development
125
+ prerelease: false
126
+ name: packnga
123
127
  version_requirements: &id008 !ruby/object:Gem::Requirement
124
128
  none: false
125
129
  requirements:
@@ -129,9 +133,6 @@ dependencies:
129
133
  segments:
130
134
  - 0
131
135
  version: "0"
132
- name: packnga
133
- prerelease: false
134
- type: :development
135
136
  requirement: *id008
136
137
  description: |-
137
138
  rroonga is an extension library to use groonga's DB-API
@@ -163,51 +164,93 @@ files:
163
164
  - ext/groonga/Makefile
164
165
  - ext/groonga/extconf.rb
165
166
  - ext/groonga/groonga.def
167
+ - ext/groonga/groonga.so
166
168
  - ext/groonga/rb-grn-accessor.c
169
+ - ext/groonga/rb-grn-accessor.o
167
170
  - ext/groonga/rb-grn-array-cursor.c
171
+ - ext/groonga/rb-grn-array-cursor.o
168
172
  - ext/groonga/rb-grn-array.c
173
+ - ext/groonga/rb-grn-array.o
169
174
  - ext/groonga/rb-grn-column.c
175
+ - ext/groonga/rb-grn-column.o
170
176
  - ext/groonga/rb-grn-context.c
177
+ - ext/groonga/rb-grn-context.o
171
178
  - ext/groonga/rb-grn-database.c
179
+ - ext/groonga/rb-grn-database.o
172
180
  - ext/groonga/rb-grn-encoding-support.c
181
+ - ext/groonga/rb-grn-encoding-support.o
173
182
  - ext/groonga/rb-grn-encoding.c
183
+ - ext/groonga/rb-grn-encoding.o
174
184
  - ext/groonga/rb-grn-exception.c
185
+ - ext/groonga/rb-grn-exception.o
175
186
  - ext/groonga/rb-grn-expression-builder.c
187
+ - ext/groonga/rb-grn-expression-builder.o
176
188
  - ext/groonga/rb-grn-expression.c
189
+ - ext/groonga/rb-grn-expression.o
177
190
  - ext/groonga/rb-grn-fix-size-column.c
191
+ - ext/groonga/rb-grn-fix-size-column.o
178
192
  - ext/groonga/rb-grn-hash-cursor.c
193
+ - ext/groonga/rb-grn-hash-cursor.o
179
194
  - ext/groonga/rb-grn-hash.c
195
+ - ext/groonga/rb-grn-hash.o
180
196
  - ext/groonga/rb-grn-index-column.c
197
+ - ext/groonga/rb-grn-index-column.o
181
198
  - ext/groonga/rb-grn-index-cursor.c
199
+ - ext/groonga/rb-grn-index-cursor.o
182
200
  - ext/groonga/rb-grn-logger.c
201
+ - ext/groonga/rb-grn-logger.o
183
202
  - ext/groonga/rb-grn-object.c
203
+ - ext/groonga/rb-grn-object.o
184
204
  - ext/groonga/rb-grn-operator.c
205
+ - ext/groonga/rb-grn-operator.o
185
206
  - ext/groonga/rb-grn-patricia-trie-cursor.c
207
+ - ext/groonga/rb-grn-patricia-trie-cursor.o
186
208
  - ext/groonga/rb-grn-patricia-trie.c
209
+ - ext/groonga/rb-grn-patricia-trie.o
187
210
  - ext/groonga/rb-grn-plugin.c
211
+ - ext/groonga/rb-grn-plugin.o
188
212
  - ext/groonga/rb-grn-posting.c
213
+ - ext/groonga/rb-grn-posting.o
189
214
  - ext/groonga/rb-grn-procedure.c
215
+ - ext/groonga/rb-grn-procedure.o
190
216
  - ext/groonga/rb-grn-query.c
217
+ - ext/groonga/rb-grn-query.o
191
218
  - ext/groonga/rb-grn-record.c
219
+ - ext/groonga/rb-grn-record.o
192
220
  - ext/groonga/rb-grn-snippet.c
221
+ - ext/groonga/rb-grn-snippet.o
193
222
  - ext/groonga/rb-grn-table-cursor-key-support.c
223
+ - ext/groonga/rb-grn-table-cursor-key-support.o
194
224
  - ext/groonga/rb-grn-table-cursor.c
225
+ - ext/groonga/rb-grn-table-cursor.o
195
226
  - ext/groonga/rb-grn-table-key-support.c
227
+ - ext/groonga/rb-grn-table-key-support.o
196
228
  - ext/groonga/rb-grn-table.c
229
+ - ext/groonga/rb-grn-table.o
197
230
  - ext/groonga/rb-grn-type.c
231
+ - ext/groonga/rb-grn-type.o
198
232
  - ext/groonga/rb-grn-utils.c
233
+ - ext/groonga/rb-grn-utils.o
199
234
  - ext/groonga/rb-grn-variable-size-column.c
235
+ - ext/groonga/rb-grn-variable-size-column.o
200
236
  - ext/groonga/rb-grn-variable.c
237
+ - ext/groonga/rb-grn-variable.o
201
238
  - ext/groonga/rb-grn-view-accessor.c
239
+ - ext/groonga/rb-grn-view-accessor.o
202
240
  - ext/groonga/rb-grn-view-cursor.c
241
+ - ext/groonga/rb-grn-view-cursor.o
203
242
  - ext/groonga/rb-grn-view-record.c
243
+ - ext/groonga/rb-grn-view-record.o
204
244
  - ext/groonga/rb-grn-view.c
245
+ - ext/groonga/rb-grn-view.o
205
246
  - ext/groonga/rb-grn.h
206
247
  - ext/groonga/rb-groonga.c
248
+ - ext/groonga/rb-groonga.o
207
249
  - extconf.rb
208
250
  - lib/groonga.rb
209
251
  - lib/groonga/context.rb
210
252
  - lib/groonga/dumper.rb
253
+ - lib/groonga/expression-builder-19.rb
211
254
  - lib/groonga/expression-builder.rb
212
255
  - lib/groonga/pagination.rb
213
256
  - lib/groonga/patricia-trie.rb
@@ -219,52 +262,53 @@ files:
219
262
  - rroonga-build.rb
220
263
  - README.textile
221
264
  - TODO
265
+ - test/test-database.rb
266
+ - test/test-array.rb
267
+ - test/test-table-offset-and-limit.rb
268
+ - test/run-test.rb
269
+ - test/test-schema-type.rb
222
270
  - test/test-remote.rb
223
271
  - test/test-table-cursor.rb
224
- - test/test-accessor.rb
225
- - test/test-database-dumper.rb
226
- - test/test-index-column.rb
227
- - test/test-context-select.rb
228
- - test/groonga-test-utils.rb
229
- - test/test-pagination.rb
230
- - test/test-table.rb
231
- - test/test-variable-size-column.rb
232
- - test/test-plugin.rb
233
- - test/test-hash.rb
272
+ - test/test-table-select.rb
234
273
  - test/test-encoding.rb
235
- - test/test-schema-create-table.rb
236
274
  - test/test-type.rb
237
- - test/test-database.rb
238
- - test/test-variable.rb
239
- - test/test-table-select.rb
240
- - test/test-patricia-trie.rb
275
+ - test/test-table.rb
276
+ - test/test-query.rb
277
+ - test/test-table-select-weight.rb
241
278
  - test/test-expression-builder.rb
242
- - test/test-logger.rb
243
- - test/test-array.rb
244
- - test/test-record.rb
245
- - test/test-column.rb
246
- - test/test-fix-size-column.rb
247
- - test/run-test.rb
279
+ - test/test-exception.rb
280
+ - test/test-plugin.rb
281
+ - test/test-schema-view.rb
248
282
  - test/test-procedure.rb
283
+ - test/test-snippet.rb
284
+ - test/groonga-test-utils.rb
285
+ - test/test-variable-size-column.rb
286
+ - test/test-database-dumper.rb
287
+ - test/test-pagination.rb
288
+ - test/test-variable.rb
289
+ - test/test-version.rb
249
290
  - test/test-table-dumper.rb
250
- - test/test-schema.rb
291
+ - test/test-vector-column.rb
292
+ - test/test-schema-dumper.rb
293
+ - test/test-hash.rb
294
+ - test/test-logger.rb
251
295
  - test/test-view.rb
296
+ - test/test-schema.rb
297
+ - test/test-accessor.rb
252
298
  - test/test-table-select-mecab.rb
253
299
  - test/test-table-select-normalize.rb
254
- - test/test-expression.rb
255
- - test/test-vector-column.rb
256
- - test/test-version.rb
257
- - test/test-schema-view.rb
258
300
  - test/test-index-cursor.rb
259
- - test/test-exception.rb
260
- - test/test-schema-dumper.rb
261
- - test/test-query.rb
262
- - test/test-schema-type.rb
263
- - test/test-table-select-weight.rb
301
+ - test/test-fix-size-column.rb
302
+ - test/test-schema-create-table.rb
303
+ - test/test-context-select.rb
304
+ - test/test-expression.rb
264
305
  - test/test-gqtp.rb
265
306
  - test/test-context.rb
266
- - test/test-snippet.rb
267
- - test/test-table-offset-and-limit.rb
307
+ - test/test-record.rb
308
+ - test/test-column.rb
309
+ - test/test-index-column.rb
310
+ - test/test-patricia-trie.rb
311
+ has_rdoc: true
268
312
  homepage: http://groonga.rubyforge.org/
269
313
  licenses:
270
314
  - LGPLv2
@@ -294,54 +338,54 @@ required_rubygems_version: !ruby/object:Gem::Requirement
294
338
  requirements: []
295
339
 
296
340
  rubyforge_project: groonga
297
- rubygems_version: 1.7.2
341
+ rubygems_version: 1.3.7
298
342
  signing_key:
299
343
  specification_version: 3
300
344
  summary: Ruby bindings for groonga that provide full text search and column store features.
301
345
  test_files:
346
+ - test/test-database.rb
347
+ - test/test-array.rb
348
+ - test/test-table-offset-and-limit.rb
349
+ - test/run-test.rb
350
+ - test/test-schema-type.rb
302
351
  - test/test-remote.rb
303
352
  - test/test-table-cursor.rb
304
- - test/test-accessor.rb
305
- - test/test-database-dumper.rb
306
- - test/test-index-column.rb
307
- - test/test-context-select.rb
308
- - test/groonga-test-utils.rb
309
- - test/test-pagination.rb
310
- - test/test-table.rb
311
- - test/test-variable-size-column.rb
312
- - test/test-plugin.rb
313
- - test/test-hash.rb
353
+ - test/test-table-select.rb
314
354
  - test/test-encoding.rb
315
- - test/test-schema-create-table.rb
316
355
  - test/test-type.rb
317
- - test/test-database.rb
318
- - test/test-variable.rb
319
- - test/test-table-select.rb
320
- - test/test-patricia-trie.rb
356
+ - test/test-table.rb
357
+ - test/test-query.rb
358
+ - test/test-table-select-weight.rb
321
359
  - test/test-expression-builder.rb
322
- - test/test-logger.rb
323
- - test/test-array.rb
324
- - test/test-record.rb
325
- - test/test-column.rb
326
- - test/test-fix-size-column.rb
327
- - test/run-test.rb
360
+ - test/test-exception.rb
361
+ - test/test-plugin.rb
362
+ - test/test-schema-view.rb
328
363
  - test/test-procedure.rb
364
+ - test/test-snippet.rb
365
+ - test/groonga-test-utils.rb
366
+ - test/test-variable-size-column.rb
367
+ - test/test-database-dumper.rb
368
+ - test/test-pagination.rb
369
+ - test/test-variable.rb
370
+ - test/test-version.rb
329
371
  - test/test-table-dumper.rb
330
- - test/test-schema.rb
372
+ - test/test-vector-column.rb
373
+ - test/test-schema-dumper.rb
374
+ - test/test-hash.rb
375
+ - test/test-logger.rb
331
376
  - test/test-view.rb
377
+ - test/test-schema.rb
378
+ - test/test-accessor.rb
332
379
  - test/test-table-select-mecab.rb
333
380
  - test/test-table-select-normalize.rb
334
- - test/test-expression.rb
335
- - test/test-vector-column.rb
336
- - test/test-version.rb
337
- - test/test-schema-view.rb
338
381
  - test/test-index-cursor.rb
339
- - test/test-exception.rb
340
- - test/test-schema-dumper.rb
341
- - test/test-query.rb
342
- - test/test-schema-type.rb
343
- - test/test-table-select-weight.rb
382
+ - test/test-fix-size-column.rb
383
+ - test/test-schema-create-table.rb
384
+ - test/test-context-select.rb
385
+ - test/test-expression.rb
344
386
  - test/test-gqtp.rb
345
387
  - test/test-context.rb
346
- - test/test-snippet.rb
347
- - test/test-table-offset-and-limit.rb
388
+ - test/test-record.rb
389
+ - test/test-column.rb
390
+ - test/test-index-column.rb
391
+ - test/test-patricia-trie.rb