rroonga 1.2.7 → 1.2.8

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