rroonga 4.0.1 → 4.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 53910c50882ceba0c8c1fd10471076e0c9adb48e
4
- data.tar.gz: 97c9676d4436ce853b7d684e3c8a70fabb9bf023
3
+ metadata.gz: 85b9ba2dce694e671e8b73a57575709d2e18582a
4
+ data.tar.gz: 52ee5e4f1991033c694a211bc73fd58648c0f7a4
5
5
  SHA512:
6
- metadata.gz: 05cd87977c479c0c95d4fcab3bb0d6e41b2f9f798dda965f671066d55e3b495bcbf5e41677bccdb539f1041739528ed5f520bb8c738ac6f088973cc56ab900da
7
- data.tar.gz: 2b359a701d8d188b155e7dbc2a334930221df42d243811468b60f67e3acd89da3c2e7c1bb51d14233c6bab3d60dec58894405863bb53f949954065794717741b
6
+ metadata.gz: 0056eca940d31139c9326ee40c10da1be3a5a1d82f522cfd1d9b9c61585b520b750c79c7e5580170b2b735016892f3e24732b3a13c0de5c2288f203c721ddc9b
7
+ data.tar.gz: 2bcafdf27da662904945ffd41a339d1284920961db6e71e84e6e92cffe3c253ab4424709988a3770415c6690c681c5d2bf4bc1fcf003386c3ae7ac471ad880be
@@ -1,5 +1,30 @@
1
1
  h1. NEWS
2
2
 
3
+ h2(#4-0-2). 4.0.2: 2014-05-29
4
+
5
+ h3. Improvements
6
+
7
+ * Removed needless @--key_type@ option in dump.
8
+ [Reported by Genki Takiuchi]
9
+ * Added sources information to {Groonga::IndexColumn#inspect}.
10
+ * Enabled @with_section@ flag for multiple column index by default.
11
+ See {Groonga::Schema::TableDefinition#index}.
12
+ * Enabled @with_position@ flag for index of a table that has a default
13
+ tokenizer by default. You need to specify @:with_position => false@
14
+ explicitly to disable @with_position@ flag for @TokenDelimit@.
15
+ @TokenDelimit@ is a tokenizer that doesn't need @with_position@ flag.
16
+ See {Groonga::Schema.create_table}.
17
+
18
+ h3. Fixes
19
+
20
+ * [GitHub#16] Fixed a memory leak of {Groonga::Table#column}.
21
+ [Reported by rutice]
22
+
23
+ h3. Thanks
24
+
25
+ * rutice
26
+ * Genki Takiuchi
27
+
3
28
  h2(#4-0-1). 4.0.1: 2014-04-04
4
29
 
5
30
  h3. Improvements
@@ -102,6 +102,94 @@ rb_grn_index_column_deconstruct (RbGrnIndexColumn *rb_grn_index_column,
102
102
  *string_query = rb_grn_index_column->string_query;
103
103
  }
104
104
 
105
+ static VALUE
106
+ rb_grn_index_column_inspect_content (VALUE self, VALUE inspected)
107
+ {
108
+ grn_ctx *context = NULL;
109
+ grn_obj *index_column;
110
+ grn_obj source_ids;
111
+ unsigned int i, n_ids;
112
+
113
+ rb_grn_index_column_deconstruct(SELF(self), &index_column, &context,
114
+ NULL, NULL,
115
+ NULL, NULL, NULL,
116
+ NULL, NULL,
117
+ NULL, NULL);
118
+ if (!context)
119
+ return inspected;
120
+ if (!index_column)
121
+ return inspected;
122
+
123
+ GRN_UINT32_INIT(&source_ids, GRN_OBJ_VECTOR);
124
+
125
+ grn_obj_get_info(context, index_column, GRN_INFO_SOURCE, &source_ids);
126
+ n_ids = GRN_BULK_VSIZE(&source_ids) / sizeof(grn_id);
127
+
128
+ rb_str_cat2(inspected, ", ");
129
+ rb_str_cat2(inspected, "sources: ");
130
+
131
+ rb_str_cat2(inspected, "<");
132
+ for (i = 0; i < n_ids; i++) {
133
+ grn_id source_id;
134
+ grn_obj *source;
135
+
136
+ if (i > 0) {
137
+ rb_str_cat2(inspected, ",");
138
+ }
139
+
140
+ source_id = GRN_UINT32_VALUE_AT(&source_ids, i);
141
+ source = grn_ctx_at(context, source_id);
142
+ if (source) {
143
+ char source_name[GRN_TABLE_MAX_KEY_SIZE];
144
+ unsigned int source_name_size;
145
+
146
+ switch (source->header.type) {
147
+ case GRN_TABLE_HASH_KEY:
148
+ case GRN_TABLE_PAT_KEY:
149
+ case GRN_TABLE_DAT_KEY:
150
+ case GRN_TABLE_NO_KEY:
151
+ rb_str_cat2(inspected, GRN_COLUMN_NAME_KEY);
152
+ break;
153
+ default:
154
+ source_name_size =
155
+ grn_column_name(context, source,
156
+ source_name, GRN_TABLE_MAX_KEY_SIZE);
157
+ rb_str_cat(inspected, source_name, source_name_size);
158
+ break;
159
+ }
160
+
161
+ grn_obj_unlink(context, source);
162
+ } else {
163
+ rb_str_catf(inspected, "(nil:%u)", source_id);
164
+ }
165
+ }
166
+ rb_str_cat2(inspected, ">");
167
+
168
+ grn_obj_unlink(context, &source_ids);
169
+
170
+ return inspected;
171
+ }
172
+
173
+ /*
174
+ * Inspects the index column.
175
+ *
176
+ * @overload inspect
177
+ * @return [String] the inspected string.
178
+ */
179
+ static VALUE
180
+ rb_grn_index_column_inspect (VALUE self)
181
+ {
182
+ VALUE inspected;
183
+
184
+ inspected = rb_str_new2("");
185
+ rb_grn_object_inspect_header(self, inspected);
186
+ rb_grn_object_inspect_content(self, inspected);
187
+ rb_grn_index_column_inspect_content(self, inspected);
188
+ rb_grn_object_inspect_footer(self, inspected);
189
+
190
+ return inspected;
191
+ }
192
+
105
193
  /*
106
194
  * Adds a record that has @value@ content to inverted index for fast
107
195
  * fulltext serach. Normally, this method is not used
@@ -873,6 +961,9 @@ rb_grn_init_index_column (VALUE mGrn)
873
961
  rb_cGrnIndexColumn =
874
962
  rb_define_class_under(mGrn, "IndexColumn", rb_cGrnColumn);
875
963
 
964
+ rb_define_method(rb_cGrnIndexColumn, "inspect",
965
+ rb_grn_index_column_inspect, 0);
966
+
876
967
  rb_define_method(rb_cGrnIndexColumn, "add",
877
968
  rb_grn_index_column_add, -1);
878
969
  rb_define_method(rb_cGrnIndexColumn, "delete",
@@ -666,22 +666,16 @@ VALUE
666
666
  rb_grn_object_inspect_object_content_name (VALUE inspected,
667
667
  grn_ctx *context, grn_obj *object)
668
668
  {
669
+ char name[GRN_TABLE_MAX_KEY_SIZE];
669
670
  int name_size;
670
671
 
671
- name_size = grn_obj_name(context, object, NULL, 0);
672
+ name_size = grn_obj_name(context, object, name, GRN_TABLE_MAX_KEY_SIZE);
672
673
  if (name_size == 0) {
673
674
  rb_str_cat2(inspected, "(anonymous)");
674
675
  } else {
675
- grn_obj name;
676
-
677
- GRN_OBJ_INIT(&name, GRN_BULK, 0, GRN_ID_NIL);
678
- grn_bulk_space(context, &name, name_size);
679
- grn_obj_name(context, object, GRN_BULK_HEAD(&name), name_size);
680
- GRN_TEXT_PUTC(context, &name, '\0');
681
676
  rb_str_cat2(inspected, "<");
682
- rb_str_cat2(inspected, GRN_BULK_HEAD(&name));
677
+ rb_str_cat(inspected, name, name_size);
683
678
  rb_str_cat2(inspected, ">");
684
- grn_obj_unlink(context, &name);
685
679
  }
686
680
 
687
681
  return inspected;
@@ -1,6 +1,6 @@
1
1
  /* -*- coding: utf-8; mode: C; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2
2
  /*
3
- Copyright (C) 2009-2013 Kouhei Sutou <kou@clear-code.com>
3
+ Copyright (C) 2009-2014 Kouhei Sutou <kou@clear-code.com>
4
4
 
5
5
  This library is free software; you can redistribute it and/or
6
6
  modify it under the terms of the GNU Lesser General Public
@@ -77,7 +77,6 @@ rb_grn_table_bind (RbGrnTable *rb_grn_table,
77
77
  rb_grn_object = RB_GRN_OBJECT(rb_grn_table);
78
78
  rb_grn_table->value = grn_obj_open(context, GRN_BULK, 0,
79
79
  rb_grn_object->range_id);
80
- rb_grn_table->columns = Qnil;
81
80
  rb_grn_table->columns = rb_ary_new();
82
81
  }
83
82
 
@@ -336,27 +335,6 @@ rb_grn_table_define_column (int argc, VALUE *argv, VALUE self)
336
335
  return rb_column;
337
336
  }
338
337
 
339
- static grn_bool
340
- n_gram_tokenizer_p(grn_ctx *context, grn_obj *tokenizer)
341
- {
342
- char tokenizer_name[GRN_TABLE_MAX_KEY_SIZE];
343
- int name_size;
344
-
345
- name_size = grn_obj_name(context, tokenizer,
346
- tokenizer_name, sizeof(tokenizer_name) - 1);
347
- if (name_size == 0)
348
- return GRN_FALSE;
349
-
350
- tokenizer_name[name_size] = '\0';
351
-
352
- #define HAVE_PREFIX_P(prefix) \
353
- (strncmp(tokenizer_name, prefix, strlen(prefix)) == 0)
354
- return (HAVE_PREFIX_P("TokenUnigram") ||
355
- HAVE_PREFIX_P("TokenBigram") ||
356
- HAVE_PREFIX_P("TokenTrigram"));
357
- #undef HAVE_PREFIX_P
358
- }
359
-
360
338
  /*
361
339
  * テーブルに名前が _name_ で型が _value_type_ のインデックスカ
362
340
  * ラムを定義し、新しく定義されたカラムを返す。
@@ -455,7 +433,7 @@ rb_grn_table_define_index_column (int argc, VALUE *argv, VALUE self)
455
433
  tokenizer = grn_obj_get_info(context, table,
456
434
  GRN_INFO_DEFAULT_TOKENIZER,
457
435
  NULL);
458
- if (tokenizer && n_gram_tokenizer_p(context, tokenizer)) {
436
+ if (tokenizer) {
459
437
  rb_with_position = Qtrue;
460
438
  }
461
439
  }
@@ -639,6 +617,8 @@ rb_grn_table_get_columns (int argc, VALUE *argv, VALUE self)
639
617
  grn_id *column_id;
640
618
  grn_obj *column;
641
619
  VALUE rb_column;
620
+ grn_user_data *user_data;
621
+ grn_bool need_to_set_name = GRN_FALSE;
642
622
 
643
623
  grn_table_cursor_get_key(context, cursor, &key);
644
624
  column_id = key;
@@ -650,7 +630,21 @@ rb_grn_table_get_columns (int argc, VALUE *argv, VALUE self)
650
630
  rb_exc_raise(exception);
651
631
  }
652
632
 
633
+ user_data = grn_obj_user_data(context, column);
634
+ if (user_data && !user_data->ptr) {
635
+ need_to_set_name = GRN_TRUE;
636
+ }
653
637
  rb_column = GRNOBJECT2RVAL(Qnil, context, column, GRN_FALSE);
638
+ if (need_to_set_name) {
639
+ char name[GRN_TABLE_MAX_KEY_SIZE];
640
+ int name_size = 0;
641
+ RbGrnNamedObject *rb_grn_named_object;
642
+ name_size = grn_column_name(context, column,
643
+ name, GRN_TABLE_MAX_KEY_SIZE);
644
+ rb_grn_named_object = RB_GRN_NAMED_OBJECT(DATA_PTR(rb_column));
645
+ rb_grn_named_object_set_name(rb_grn_named_object, name, name_size);
646
+ }
647
+
654
648
  rb_ary_push(rb_columns, rb_column);
655
649
  }
656
650
  rc = grn_table_cursor_close(context, cursor);
data/ext/groonga/rb-grn.h CHANGED
@@ -84,7 +84,7 @@ RB_GRN_BEGIN_DECLS
84
84
 
85
85
  #define RB_GRN_MAJOR_VERSION 4
86
86
  #define RB_GRN_MINOR_VERSION 0
87
- #define RB_GRN_MICRO_VERSION 1
87
+ #define RB_GRN_MICRO_VERSION 2
88
88
 
89
89
  #define RB_GRN_QUERY_DEFAULT_MAX_EXPRESSIONS 32
90
90
 
@@ -565,7 +565,7 @@ module Groonga
565
565
  end
566
566
  parameters << "#{flags.join('|')}"
567
567
  if table.domain
568
- parameters << "--key_type #{table.domain.name}"
568
+ parameters << table.domain.name
569
569
  end
570
570
  if table.range
571
571
  parameters << "--value_type #{table.range.name}"
@@ -41,7 +41,10 @@ module Groonga
41
41
  # other_text_handler = Proc.new do |string|
42
42
  # h(string)
43
43
  # end
44
- # words.tag_keys(text) do |record, word|
44
+ # options = {
45
+ # :other_text_handler => other_text_handler,
46
+ # }
47
+ # words.tag_keys(text, options) do |record, word|
45
48
  # "<span class=\"keyword\">#{h(word)}(#{h(record.key)})</span>\n"
46
49
  # end
47
50
  # # =>
@@ -1,6 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  #
3
- # Copyright (C) 2009-2013 Kouhei Sutou <kou@clear-code.com>
3
+ # Copyright (C) 2009-2014 Kouhei Sutou <kou@clear-code.com>
4
4
  #
5
5
  # This library is free software; you can redistribute it and/or
6
6
  # modify it under the terms of the GNU Lesser General Public
@@ -962,8 +962,10 @@ module Groonga
962
962
  # - :with_position :=
963
963
  # +true+ を指定すると転置索引に出現位置情報を合わせて
964
964
  # 格納する。未指定または +nil+ を指定した場合、テーブル
965
- # がN-gram系のトークナイザーを利用している場合は
966
- # 自動的に有効になる。 =:
965
+ # がトークナイザー利用している場合は自動的に有効になる。
966
+ # +TokenDelimit+ など全文検索用ではないトークナイザーを
967
+ # 使う場合は明示的に +false+ を指定することで使用リソース
968
+ # を少なくできる。=:
967
969
  def index(target_table_or_target_column_full_name, *args)
968
970
  key, target_table, target_columns, options =
969
971
  parse_index_argument(target_table_or_target_column_full_name, *args)
@@ -1305,6 +1307,7 @@ module Groonga
1305
1307
  def parse_index_argument(target_table_or_target_column_full_name, *args)
1306
1308
  options = nil
1307
1309
  options = args.pop if args.last.is_a?(::Hash)
1310
+ options ||= {}
1308
1311
  if args.empty?
1309
1312
  target_column_full_name = target_table_or_target_column_full_name
1310
1313
  if target_column_full_name.is_a?(Groonga::Column)
@@ -1321,7 +1324,10 @@ module Groonga
1321
1324
  target_columns = args
1322
1325
  key = [target_table_name, target_columns]
1323
1326
  end
1324
- [key, target_table, target_columns, options || {}]
1327
+ if target_columns.size > 1 and options[:with_section].nil?
1328
+ options[:with_section] = true
1329
+ end
1330
+ [key, target_table, target_columns, options]
1325
1331
  end
1326
1332
 
1327
1333
  def same_table?(table, options)
data/rroonga-build.rb CHANGED
@@ -27,7 +27,7 @@ module RroongaBuild
27
27
  module LatestGroongaVersion
28
28
  MAJOR = 4
29
29
  MINOR = 0
30
- MICRO = 1
30
+ MICRO = 2
31
31
  VERSION = [MAJOR, MINOR, MICRO]
32
32
  end
33
33
 
data/test/test-context.rb CHANGED
@@ -132,7 +132,7 @@ class ContextTest < Test::Unit::TestCase
132
132
  class RestoreTest < self
133
133
  def test_simple
134
134
  commands = <<EOD
135
- table_create Items TABLE_HASH_KEY --key_type ShortText
135
+ table_create Items TABLE_HASH_KEY ShortText
136
136
  column_create Items title COLUMN_SCALAR Text
137
137
  EOD
138
138
  restore(commands)
@@ -143,44 +143,44 @@ EOD
143
143
  def test_continuation_lines
144
144
  dumped_commands = <<-EOD
145
145
  table_create Items TABLE_HASH_KEY\\
146
- --key_type ShortText
146
+ ShortText
147
147
  EOD
148
148
  restore(dumped_commands)
149
149
 
150
150
  assert_equal(<<-EOC, dump)
151
- table_create Items TABLE_HASH_KEY --key_type ShortText
151
+ table_create Items TABLE_HASH_KEY ShortText
152
152
  EOC
153
153
  end
154
154
 
155
155
  def test_empty_line
156
156
  restore(<<-EOC)
157
- table_create Items TABLE_HASH_KEY --key_type ShortText
157
+ table_create Items TABLE_HASH_KEY ShortText
158
158
 
159
159
  column_create Items title COLUMN_SCALAR Text
160
160
 
161
161
  EOC
162
162
 
163
163
  assert_equal(<<-EOC, dump)
164
- table_create Items TABLE_HASH_KEY --key_type ShortText
164
+ table_create Items TABLE_HASH_KEY ShortText
165
165
  column_create Items title COLUMN_SCALAR Text
166
166
  EOC
167
167
  end
168
168
 
169
169
  def test_comment
170
170
  restore(<<-EOC)
171
- table_create Items TABLE_HASH_KEY --key_type ShortText
171
+ table_create Items TABLE_HASH_KEY ShortText
172
172
  # column_create Items url COLUMN_SCALAR ShortText
173
173
  column_create Items title COLUMN_SCALAR Text
174
174
  EOC
175
175
 
176
176
  assert_equal(<<-EOC, dump)
177
- table_create Items TABLE_HASH_KEY --key_type ShortText
177
+ table_create Items TABLE_HASH_KEY ShortText
178
178
  column_create Items title COLUMN_SCALAR Text
179
179
  EOC
180
180
  end
181
181
 
182
182
  def test_block
183
- table_create = "table_create Items TABLE_HASH_KEY --key_type ShortText"
183
+ table_create = "table_create Items TABLE_HASH_KEY ShortText"
184
184
  column_create = "column_create Items title COLUMN_SCALAR Text"
185
185
  commands = <<-COMMANDS
186
186
  #{table_create}
@@ -50,7 +50,7 @@ class DatabaseDumperTest < Test::Unit::TestCase
50
50
  end
51
51
 
52
52
  schema.change_table("Tags") do |table|
53
- table.index("Posts.tag_text")
53
+ table.index("Posts.tag_text", :with_position => false)
54
54
  end
55
55
  end
56
56
  end
@@ -88,10 +88,10 @@ column_create Posts rank COLUMN_SCALAR Int32
88
88
  column_create Posts tag_text COLUMN_SCALAR ShortText
89
89
  column_create Posts title COLUMN_SCALAR Text
90
90
 
91
- table_create Tags TABLE_HASH_KEY --key_type ShortText --default_tokenizer TokenDelimit
91
+ table_create Tags TABLE_HASH_KEY ShortText --default_tokenizer TokenDelimit
92
92
  column_create Tags name COLUMN_SCALAR Text
93
93
 
94
- table_create Users TABLE_HASH_KEY --key_type ShortText
94
+ table_create Users TABLE_HASH_KEY ShortText
95
95
  column_create Users name COLUMN_SCALAR Text
96
96
  SCHEMA
97
97
  end
@@ -298,7 +298,7 @@ load --table Users
298
298
  :type => :hash,
299
299
  :key_type => :short_text,
300
300
  :default_tokenizer => :delimit) do |table|
301
- table.index("Posts.tag_text")
301
+ table.index("Posts.tag_text", :with_position => false)
302
302
  end
303
303
  end
304
304
  end
@@ -315,7 +315,7 @@ table_create Posts TABLE_NO_KEY
315
315
  column_create Posts tag_text COLUMN_SCALAR ShortText
316
316
  column_create Posts title COLUMN_SCALAR Text
317
317
 
318
- table_create Tags TABLE_HASH_KEY --key_type ShortText --default_tokenizer TokenDelimit
318
+ table_create Tags TABLE_HASH_KEY ShortText --default_tokenizer TokenDelimit
319
319
 
320
320
  load --table Posts
321
321
  [
@@ -346,7 +346,7 @@ COMMAND
346
346
 
347
347
  def test_have_records
348
348
  assert_equal(<<-DUMP, dump)
349
- table_create Users TABLE_PAT_KEY --key_type ShortText
349
+ table_create Users TABLE_PAT_KEY ShortText
350
350
 
351
351
  load --table Users
352
352
  [
@@ -287,20 +287,25 @@ class IndexColumnTest < Test::Unit::TestCase
287
287
  :key_type => "ShortText",
288
288
  :default_tokenizer => "TokenDelimit") do |table|
289
289
  table.index("Articles.tags",
290
- :name => "position",
290
+ :name => "true",
291
291
  :with_position => true)
292
292
  table.index("Articles.tags",
293
- :name => "no_position")
293
+ :name => "default")
294
+ table.index("Articles.tags",
295
+ :name => "false",
296
+ :with_position => false)
294
297
  end
295
298
  end
296
299
 
297
300
  assert_equal([
298
301
  true,
299
302
  false,
303
+ true,
300
304
  ],
301
305
  [
302
- context["Tags.position"].with_position?,
303
- context["Tags.no_position"].with_position?,
306
+ context["Tags.true"].with_position?,
307
+ context["Tags.false"].with_position?,
308
+ context["Tags.default"].with_position?,
304
309
  ])
305
310
  end
306
311
  end
@@ -275,9 +275,9 @@ column_create Posts title COLUMN_SCALAR ShortText
275
275
  def test_reference_table
276
276
  define_reference_table_schema
277
277
  assert_equal(<<-SCHEMA, dump)
278
- table_create Terms TABLE_HASH_KEY --key_type ShortText
278
+ table_create Terms TABLE_HASH_KEY ShortText
279
279
 
280
- table_create IndexTerms TABLE_HASH_KEY --key_type Terms
280
+ table_create IndexTerms TABLE_HASH_KEY Terms
281
281
  SCHEMA
282
282
  end
283
283
 
@@ -303,10 +303,10 @@ column_create Comments item COLUMN_SCALAR Items
303
303
  def test_index
304
304
  define_index_schema
305
305
  assert_equal(<<-SCHEMA, dump)
306
- table_create Items TABLE_HASH_KEY --key_type ShortText
306
+ table_create Items TABLE_HASH_KEY ShortText
307
307
  column_create Items title COLUMN_SCALAR ShortText
308
308
 
309
- table_create Terms TABLE_PAT_KEY --key_type ShortText --default_tokenizer TokenBigram --normalizer NormalizerAuto
309
+ table_create Terms TABLE_PAT_KEY ShortText --default_tokenizer TokenBigram --normalizer NormalizerAuto
310
310
 
311
311
  column_create Terms Items__key COLUMN_INDEX|WITH_POSITION Items _key
312
312
  column_create Terms Items_title COLUMN_INDEX|WITH_POSITION Items title
@@ -316,7 +316,7 @@ column_create Terms Items_title COLUMN_INDEX|WITH_POSITION Items title
316
316
  def test_weight_vector
317
317
  define_weight_vector_schema
318
318
  assert_equal(<<-SCHEMA, dump)
319
- table_create Memos TABLE_PAT_KEY --key_type ShortText
319
+ table_create Memos TABLE_PAT_KEY ShortText
320
320
  column_create Memos tags COLUMN_VECTOR|WITH_WEIGHT ShortText
321
321
  SCHEMA
322
322
  end
@@ -324,7 +324,7 @@ column_create Memos tags COLUMN_VECTOR|WITH_WEIGHT ShortText
324
324
  def test_double_array_trie
325
325
  define_double_array_trie_schema
326
326
  assert_equal(<<-SCHEMA, dump)
327
- table_create Accounts TABLE_DAT_KEY --key_type ShortText
327
+ table_create Accounts TABLE_DAT_KEY ShortText
328
328
  column_create Accounts name COLUMN_SCALAR ShortText
329
329
  SCHEMA
330
330
  end
data/test/test-schema.rb CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2009-2011 Kouhei Sutou <kou@clear-code.com>
1
+ # Copyright (C) 2009-2014 Kouhei Sutou <kou@clear-code.com>
2
2
  #
3
3
  # This library is free software; you can redistribute it and/or
4
4
  # modify it under the terms of the GNU Lesser General Public
@@ -610,7 +610,8 @@ class SchemaTest < Test::Unit::TestCase
610
610
  "path: <#{path}>, " +
611
611
  "domain: <Terms>, " +
612
612
  "range: <Posts>, " +
613
- "flags: <WITH_SECTION|WITH_WEIGHT|WITH_POSITION>>",
613
+ "flags: <WITH_SECTION|WITH_WEIGHT|WITH_POSITION>, " +
614
+ "sources: <content>>",
614
615
  index_column.inspect)
615
616
  end
616
617
 
@@ -662,7 +663,8 @@ class SchemaTest < Test::Unit::TestCase
662
663
  "path: <#{index_column.path}>, " +
663
664
  "domain: <Terms>, " +
664
665
  "range: <Posts>, " +
665
- "flags: <WITH_POSITION>>",
666
+ "flags: <WITH_POSITION>, " +
667
+ "sources: <_key>>",
666
668
  index_column.inspect)
667
669
  end
668
670
 
@@ -714,6 +716,33 @@ class SchemaTest < Test::Unit::TestCase
714
716
  assert_equal("Terms.posts_content_index", index.name)
715
717
  assert_equal([context["Posts.content"]], renamed_index.sources)
716
718
  end
719
+
720
+ class MultipleColumnTest < self
721
+ setup
722
+ def setup_index
723
+ Groonga::Schema.create_table("Posts") do |table|
724
+ table.short_text :title
725
+ table.long_text :content
726
+ end
727
+ Groonga::Schema.create_table("Terms") do |table|
728
+ table.index "Posts", "title", "content"
729
+ end
730
+
731
+ @index = context["Terms.Posts_title_content"]
732
+ end
733
+
734
+ def test_source
735
+ assert_equal([
736
+ "Posts.title",
737
+ "Posts.content",
738
+ ],
739
+ @index.sources.collect(&:name))
740
+ end
741
+
742
+ def test_with_section
743
+ assert_true(@index.with_section?)
744
+ end
745
+ end
717
746
  end
718
747
 
719
748
  def test_reference_guess
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rroonga
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.1
4
+ version: 4.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kouhei Sutou
@@ -12,174 +12,174 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2014-04-04 00:00:00.000000000 Z
15
+ date: 2014-05-30 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: pkg-config
19
19
  requirement: !ruby/object:Gem::Requirement
20
20
  requirements:
21
- - - '>='
21
+ - - ">="
22
22
  - !ruby/object:Gem::Version
23
23
  version: '0'
24
24
  type: :runtime
25
25
  prerelease: false
26
26
  version_requirements: !ruby/object:Gem::Requirement
27
27
  requirements:
28
- - - '>='
28
+ - - ">="
29
29
  - !ruby/object:Gem::Version
30
30
  version: '0'
31
31
  - !ruby/object:Gem::Dependency
32
32
  name: groonga-client
33
33
  requirement: !ruby/object:Gem::Requirement
34
34
  requirements:
35
- - - '>='
35
+ - - ">="
36
36
  - !ruby/object:Gem::Version
37
37
  version: 0.0.3
38
38
  type: :runtime
39
39
  prerelease: false
40
40
  version_requirements: !ruby/object:Gem::Requirement
41
41
  requirements:
42
- - - '>='
42
+ - - ">="
43
43
  - !ruby/object:Gem::Version
44
44
  version: 0.0.3
45
45
  - !ruby/object:Gem::Dependency
46
46
  name: json
47
47
  requirement: !ruby/object:Gem::Requirement
48
48
  requirements:
49
- - - '>='
49
+ - - ">="
50
50
  - !ruby/object:Gem::Version
51
51
  version: '0'
52
52
  type: :runtime
53
53
  prerelease: false
54
54
  version_requirements: !ruby/object:Gem::Requirement
55
55
  requirements:
56
- - - '>='
56
+ - - ">="
57
57
  - !ruby/object:Gem::Version
58
58
  version: '0'
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: archive-zip
61
61
  requirement: !ruby/object:Gem::Requirement
62
62
  requirements:
63
- - - '>='
63
+ - - ">="
64
64
  - !ruby/object:Gem::Version
65
65
  version: '0'
66
66
  type: :runtime
67
67
  prerelease: false
68
68
  version_requirements: !ruby/object:Gem::Requirement
69
69
  requirements:
70
- - - '>='
70
+ - - ">="
71
71
  - !ruby/object:Gem::Version
72
72
  version: '0'
73
73
  - !ruby/object:Gem::Dependency
74
74
  name: test-unit
75
75
  requirement: !ruby/object:Gem::Requirement
76
76
  requirements:
77
- - - '>='
77
+ - - ">="
78
78
  - !ruby/object:Gem::Version
79
79
  version: 2.4.6
80
80
  type: :development
81
81
  prerelease: false
82
82
  version_requirements: !ruby/object:Gem::Requirement
83
83
  requirements:
84
- - - '>='
84
+ - - ">="
85
85
  - !ruby/object:Gem::Version
86
86
  version: 2.4.6
87
87
  - !ruby/object:Gem::Dependency
88
88
  name: test-unit-notify
89
89
  requirement: !ruby/object:Gem::Requirement
90
90
  requirements:
91
- - - '>='
91
+ - - ">="
92
92
  - !ruby/object:Gem::Version
93
93
  version: '0'
94
94
  type: :development
95
95
  prerelease: false
96
96
  version_requirements: !ruby/object:Gem::Requirement
97
97
  requirements:
98
- - - '>='
98
+ - - ">="
99
99
  - !ruby/object:Gem::Version
100
100
  version: '0'
101
101
  - !ruby/object:Gem::Dependency
102
102
  name: rake
103
103
  requirement: !ruby/object:Gem::Requirement
104
104
  requirements:
105
- - - '>='
105
+ - - ">="
106
106
  - !ruby/object:Gem::Version
107
107
  version: '0'
108
108
  type: :development
109
109
  prerelease: false
110
110
  version_requirements: !ruby/object:Gem::Requirement
111
111
  requirements:
112
- - - '>='
112
+ - - ">="
113
113
  - !ruby/object:Gem::Version
114
114
  version: '0'
115
115
  - !ruby/object:Gem::Dependency
116
116
  name: rake-compiler
117
117
  requirement: !ruby/object:Gem::Requirement
118
118
  requirements:
119
- - - '>='
119
+ - - ">="
120
120
  - !ruby/object:Gem::Version
121
121
  version: '0'
122
122
  type: :development
123
123
  prerelease: false
124
124
  version_requirements: !ruby/object:Gem::Requirement
125
125
  requirements:
126
- - - '>='
126
+ - - ">="
127
127
  - !ruby/object:Gem::Version
128
128
  version: '0'
129
129
  - !ruby/object:Gem::Dependency
130
130
  name: bundler
131
131
  requirement: !ruby/object:Gem::Requirement
132
132
  requirements:
133
- - - '>='
133
+ - - ">="
134
134
  - !ruby/object:Gem::Version
135
135
  version: '0'
136
136
  type: :development
137
137
  prerelease: false
138
138
  version_requirements: !ruby/object:Gem::Requirement
139
139
  requirements:
140
- - - '>='
140
+ - - ">="
141
141
  - !ruby/object:Gem::Version
142
142
  version: '0'
143
143
  - !ruby/object:Gem::Dependency
144
144
  name: yard
145
145
  requirement: !ruby/object:Gem::Requirement
146
146
  requirements:
147
- - - '>='
147
+ - - ">="
148
148
  - !ruby/object:Gem::Version
149
149
  version: '0'
150
150
  type: :development
151
151
  prerelease: false
152
152
  version_requirements: !ruby/object:Gem::Requirement
153
153
  requirements:
154
- - - '>='
154
+ - - ">="
155
155
  - !ruby/object:Gem::Version
156
156
  version: '0'
157
157
  - !ruby/object:Gem::Dependency
158
158
  name: packnga
159
159
  requirement: !ruby/object:Gem::Requirement
160
160
  requirements:
161
- - - '>='
161
+ - - ">="
162
162
  - !ruby/object:Gem::Version
163
163
  version: 0.9.7
164
164
  type: :development
165
165
  prerelease: false
166
166
  version_requirements: !ruby/object:Gem::Requirement
167
167
  requirements:
168
- - - '>='
168
+ - - ">="
169
169
  - !ruby/object:Gem::Version
170
170
  version: 0.9.7
171
171
  - !ruby/object:Gem::Dependency
172
172
  name: RedCloth
173
173
  requirement: !ruby/object:Gem::Requirement
174
174
  requirements:
175
- - - '>='
175
+ - - ">="
176
176
  - !ruby/object:Gem::Version
177
177
  version: '0'
178
178
  type: :development
179
179
  prerelease: false
180
180
  version_requirements: !ruby/object:Gem::Requirement
181
181
  requirements:
182
- - - '>='
182
+ - - ">="
183
183
  - !ruby/object:Gem::Version
184
184
  version: '0'
185
185
  description: |-
@@ -194,158 +194,158 @@ email:
194
194
  - y.hayamizu@gmail.com
195
195
  - dara@shidara.net
196
196
  executables:
197
- - groonga-database-inspect
198
197
  - groonga-index-dump
199
- - grntest-log-analyze
200
198
  - grndump
199
+ - groonga-database-inspect
200
+ - grntest-log-analyze
201
201
  extensions:
202
202
  - ext/groonga/extconf.rb
203
203
  extra_rdoc_files:
204
204
  - README.textile
205
205
  files:
206
- - README.textile
206
+ - ".yardopts"
207
207
  - AUTHORS
208
- - Rakefile
209
208
  - Gemfile
210
- - .yardopts
211
- - doc/text/install.textile
212
- - doc/text/news.textile
213
- - doc/text/tutorial.textile
214
- - rroonga.gemspec
215
- - rroonga-build.rb
216
- - extconf.rb
217
- - lib/groonga/schema.rb
218
- - lib/groonga/database.rb
219
- - lib/groonga/geo-point.rb
220
- - lib/groonga/expression-builder-19.rb
221
- - lib/groonga/sub-records.rb
222
- - lib/groonga/pagination.rb
223
- - lib/groonga/index-column.rb
224
- - lib/groonga/patricia-trie.rb
225
- - lib/groonga/database-inspector.rb
226
- - lib/groonga/context/command-executor.rb
227
- - lib/groonga/statistic-measurer.rb
228
- - lib/groonga/grntest-log.rb
229
- - lib/groonga/dumper.rb
230
- - lib/groonga/posting.rb
231
- - lib/groonga/memory-pool.rb
232
- - lib/groonga/table.rb
233
- - lib/groonga/query-logger.rb
234
- - lib/groonga/context.rb
235
- - lib/groonga/column.rb
236
- - lib/groonga/record.rb
237
- - lib/groonga/expression-builder.rb
238
- - lib/groonga/logger.rb
239
- - lib/groonga.rb
209
+ - README.textile
210
+ - Rakefile
240
211
  - benchmark/common.rb
241
- - benchmark/repeat-load.rb
242
- - benchmark/read-write-many-small-items.rb
243
212
  - benchmark/create-wikipedia-database.rb
244
- - benchmark/write-many-small-items.rb
213
+ - benchmark/read-write-many-small-items.rb
214
+ - benchmark/repeat-load.rb
245
215
  - benchmark/select.rb
246
- - misc/grnop2ruby.rb
247
- - example/index-html.rb
216
+ - benchmark/write-many-small-items.rb
217
+ - bin/grndump
218
+ - bin/grntest-log-analyze
219
+ - bin/groonga-database-inspect
220
+ - bin/groonga-index-dump
221
+ - doc/text/install.textile
222
+ - doc/text/news.textile
223
+ - doc/text/tutorial.textile
248
224
  - example/bookmark.rb
249
- - ext/groonga/rb-grn-procedure.c
250
- - ext/groonga/rb-grn-column.c
251
- - ext/groonga/rb-grn-index-column.c
252
- - ext/groonga/rb-grn-encoding-support.c
253
- - ext/groonga/rb-grn-variable.c
254
- - ext/groonga/rb-grn-table.c
255
- - ext/groonga/rb-grn-hash-cursor.c
256
- - ext/groonga/rb-grn-table-cursor-key-support.c
257
- - ext/groonga/rb-grn-object.c
258
- - ext/groonga/rb-grn-double-array-trie.c
259
- - ext/groonga/rb-grn-table-key-support.c
225
+ - example/index-html.rb
226
+ - ext/groonga/extconf.rb
227
+ - ext/groonga/groonga.def
228
+ - ext/groonga/rb-grn-accessor.c
229
+ - ext/groonga/rb-grn-array-cursor.c
260
230
  - ext/groonga/rb-grn-array.c
261
- - ext/groonga/rb-grn-patricia-trie.c
231
+ - ext/groonga/rb-grn-column.c
232
+ - ext/groonga/rb-grn-context.c
233
+ - ext/groonga/rb-grn-database.c
262
234
  - ext/groonga/rb-grn-double-array-trie-cursor.c
263
- - ext/groonga/rb-grn-utils.c
264
- - ext/groonga/rb-grn-record.c
265
- - ext/groonga/rb-grn-normalizer.c
266
- - ext/groonga/rb-groonga.c
267
- - ext/groonga/rb-grn-exception.c
268
- - ext/groonga/rb-grn-variable-size-column.c
235
+ - ext/groonga/rb-grn-double-array-trie.c
236
+ - ext/groonga/rb-grn-encoding-support.c
269
237
  - ext/groonga/rb-grn-encoding.c
270
- - ext/groonga/rb-grn-geo-point.c
238
+ - ext/groonga/rb-grn-exception.c
271
239
  - ext/groonga/rb-grn-expression-builder.c
272
- - ext/groonga/rb-grn-operator.c
273
- - ext/groonga/rb-grn-snippet.c
274
- - ext/groonga/rb-grn-array-cursor.c
275
- - ext/groonga/rb-grn-type.c
276
- - ext/groonga/rb-grn-table-cursor.c
240
+ - ext/groonga/rb-grn-expression.c
277
241
  - ext/groonga/rb-grn-fix-size-column.c
242
+ - ext/groonga/rb-grn-geo-point.c
243
+ - ext/groonga/rb-grn-hash-cursor.c
244
+ - ext/groonga/rb-grn-hash.c
245
+ - ext/groonga/rb-grn-index-column.c
246
+ - ext/groonga/rb-grn-index-cursor.c
278
247
  - ext/groonga/rb-grn-logger.c
279
- - ext/groonga/rb-grn-plugin.c
280
- - ext/groonga/rb-grn-database.c
248
+ - ext/groonga/rb-grn-normalizer.c
249
+ - ext/groonga/rb-grn-object.c
250
+ - ext/groonga/rb-grn-operator.c
281
251
  - ext/groonga/rb-grn-patricia-trie-cursor.c
282
- - ext/groonga/rb-grn-index-cursor.c
283
- - ext/groonga/rb-grn-accessor.c
284
- - ext/groonga/rb-grn-context.c
285
- - ext/groonga/rb-grn-query-logger.c
252
+ - ext/groonga/rb-grn-patricia-trie.c
253
+ - ext/groonga/rb-grn-plugin.c
286
254
  - ext/groonga/rb-grn-posting.c
287
- - ext/groonga/rb-grn-expression.c
288
- - ext/groonga/rb-grn-hash.c
255
+ - ext/groonga/rb-grn-procedure.c
256
+ - ext/groonga/rb-grn-query-logger.c
257
+ - ext/groonga/rb-grn-record.c
258
+ - ext/groonga/rb-grn-snippet.c
259
+ - ext/groonga/rb-grn-table-cursor-key-support.c
260
+ - ext/groonga/rb-grn-table-cursor.c
261
+ - ext/groonga/rb-grn-table-key-support.c
262
+ - ext/groonga/rb-grn-table.c
263
+ - ext/groonga/rb-grn-type.c
264
+ - ext/groonga/rb-grn-utils.c
265
+ - ext/groonga/rb-grn-variable-size-column.c
266
+ - ext/groonga/rb-grn-variable.c
289
267
  - ext/groonga/rb-grn.h
290
- - ext/groonga/extconf.rb
291
- - ext/groonga/groonga.def
292
- - test/test-normalizer.rb
293
- - test/test-schema.rb
294
- - test/test-vector-column.rb
295
- - test/test-schema-dumper.rb
268
+ - ext/groonga/rb-groonga.c
269
+ - extconf.rb
270
+ - lib/groonga.rb
271
+ - lib/groonga/column.rb
272
+ - lib/groonga/context.rb
273
+ - lib/groonga/context/command-executor.rb
274
+ - lib/groonga/database-inspector.rb
275
+ - lib/groonga/database.rb
276
+ - lib/groonga/dumper.rb
277
+ - lib/groonga/expression-builder-19.rb
278
+ - lib/groonga/expression-builder.rb
279
+ - lib/groonga/geo-point.rb
280
+ - lib/groonga/grntest-log.rb
281
+ - lib/groonga/index-column.rb
282
+ - lib/groonga/logger.rb
283
+ - lib/groonga/memory-pool.rb
284
+ - lib/groonga/pagination.rb
285
+ - lib/groonga/patricia-trie.rb
286
+ - lib/groonga/posting.rb
287
+ - lib/groonga/query-logger.rb
288
+ - lib/groonga/record.rb
289
+ - lib/groonga/schema.rb
290
+ - lib/groonga/statistic-measurer.rb
291
+ - lib/groonga/sub-records.rb
292
+ - lib/groonga/table.rb
293
+ - misc/grnop2ruby.rb
294
+ - rroonga-build.rb
295
+ - rroonga.gemspec
296
+ - test/groonga-test-utils.rb
296
297
  - test/run-test.rb
298
+ - test/test-accessor.rb
299
+ - test/test-array.rb
300
+ - test/test-column.rb
301
+ - test/test-command-select.rb
302
+ - test/test-context.rb
303
+ - test/test-convert.rb
304
+ - test/test-database-dumper.rb
297
305
  - test/test-database-inspector.rb
298
- - test/test-procedure.rb
299
- - test/test-hash.rb
300
- - test/test-expression.rb
301
- - test/test-version.rb
302
- - test/test-remote.rb
303
- - test/test-table-offset-and-limit.rb
304
- - test/test-expression-builder.rb
305
- - test/test-sub-records.rb
306
+ - test/test-database.rb
307
+ - test/test-double-array-trie.rb
306
308
  - test/test-encoding.rb
307
- - test/test-snippet.rb
308
- - test/test-statistic-measurer.rb
309
- - test/test-index-cursor.rb
310
- - test/test-type.rb
311
- - test/test-table-dumper.rb
312
- - test/test-table-traverse.rb
313
- - test/test-convert.rb
314
- - test/test-table.rb
315
- - test/test-pagination.rb
316
- - test/groonga-test-utils.rb
317
- - test/test-logger.rb
318
- - test/test-context.rb
319
- - test/test-memory-pool.rb
320
- - test/test-table-select-weight.rb
321
309
  - test/test-exception.rb
322
- - test/test-table-select-normalize.rb
323
- - test/test-command-select.rb
310
+ - test/test-expression-builder.rb
311
+ - test/test-expression.rb
312
+ - test/test-fix-size-column.rb
313
+ - test/test-geo-point.rb
324
314
  - test/test-gqtp.rb
325
- - test/test-database-dumper.rb
315
+ - test/test-hash.rb
326
316
  - test/test-index-column.rb
327
- - test/test-geo-point.rb
317
+ - test/test-index-cursor.rb
318
+ - test/test-lock-timeout.rb
319
+ - test/test-logger.rb
320
+ - test/test-memory-pool.rb
321
+ - test/test-normalizer.rb
322
+ - test/test-pagination.rb
323
+ - test/test-patricia-trie.rb
328
324
  - test/test-plugin.rb
329
- - test/test-variable-size-column.rb
325
+ - test/test-procedure.rb
326
+ - test/test-record.rb
327
+ - test/test-remote.rb
330
328
  - test/test-schema-create-table.rb
331
- - test/test-array.rb
332
- - test/test-fix-size-column.rb
333
- - test/test-table-key-support.rb
329
+ - test/test-schema-dumper.rb
334
330
  - test/test-schema-type.rb
331
+ - test/test-schema.rb
332
+ - test/test-snippet.rb
333
+ - test/test-statistic-measurer.rb
334
+ - test/test-sub-records.rb
335
+ - test/test-table-dumper.rb
336
+ - test/test-table-key-support.rb
337
+ - test/test-table-offset-and-limit.rb
338
+ - test/test-table-select-mecab.rb
339
+ - test/test-table-select-normalize.rb
340
+ - test/test-table-select-weight.rb
335
341
  - test/test-table-select.rb
342
+ - test/test-table-traverse.rb
343
+ - test/test-table.rb
344
+ - test/test-type.rb
345
+ - test/test-variable-size-column.rb
336
346
  - test/test-variable.rb
337
- - test/test-column.rb
338
- - test/test-patricia-trie.rb
339
- - test/test-table-select-mecab.rb
340
- - test/test-accessor.rb
341
- - test/test-database.rb
342
- - test/test-lock-timeout.rb
343
- - test/test-double-array-trie.rb
344
- - test/test-record.rb
345
- - bin/groonga-database-inspect
346
- - bin/groonga-index-dump
347
- - bin/grntest-log-analyze
348
- - bin/grndump
347
+ - test/test-vector-column.rb
348
+ - test/test-version.rb
349
349
  homepage: http://groonga.rubyforge.org/#about-rroonga
350
350
  licenses:
351
351
  - LGPLv2
@@ -357,73 +357,73 @@ require_paths:
357
357
  - ext/groonga
358
358
  required_ruby_version: !ruby/object:Gem::Requirement
359
359
  requirements:
360
- - - '>='
360
+ - - ">="
361
361
  - !ruby/object:Gem::Version
362
362
  version: 1.9.3
363
363
  required_rubygems_version: !ruby/object:Gem::Requirement
364
364
  requirements:
365
- - - '>='
365
+ - - ">="
366
366
  - !ruby/object:Gem::Version
367
367
  version: '0'
368
368
  requirements: []
369
369
  rubyforge_project: groonga
370
- rubygems_version: 2.0.14
370
+ rubygems_version: 2.2.2
371
371
  signing_key:
372
372
  specification_version: 4
373
373
  summary: Ruby bindings for Groonga that provide full text search and column store
374
374
  features.
375
375
  test_files:
376
- - test/test-normalizer.rb
377
376
  - test/test-schema.rb
378
- - test/test-vector-column.rb
379
- - test/test-schema-dumper.rb
380
- - test/run-test.rb
381
- - test/test-database-inspector.rb
382
- - test/test-procedure.rb
383
- - test/test-hash.rb
377
+ - test/test-snippet.rb
378
+ - test/test-variable.rb
379
+ - test/test-geo-point.rb
380
+ - test/test-plugin.rb
381
+ - test/test-accessor.rb
382
+ - test/test-double-array-trie.rb
383
+ - test/test-pagination.rb
384
+ - test/test-memory-pool.rb
385
+ - test/test-column.rb
386
+ - test/test-table-traverse.rb
384
387
  - test/test-expression.rb
385
- - test/test-version.rb
386
- - test/test-remote.rb
388
+ - test/test-table-select.rb
389
+ - test/test-encoding.rb
390
+ - test/test-logger.rb
391
+ - test/test-schema-create-table.rb
392
+ - test/test-hash.rb
393
+ - test/test-type.rb
387
394
  - test/test-table-offset-and-limit.rb
388
- - test/test-expression-builder.rb
395
+ - test/test-version.rb
396
+ - test/test-lock-timeout.rb
397
+ - test/test-index-column.rb
398
+ - test/test-table-key-support.rb
399
+ - test/test-vector-column.rb
400
+ - test/test-normalizer.rb
401
+ - test/test-table-select-weight.rb
402
+ - test/test-schema-type.rb
389
403
  - test/test-sub-records.rb
390
- - test/test-encoding.rb
391
- - test/test-snippet.rb
404
+ - test/test-procedure.rb
405
+ - test/test-context.rb
406
+ - test/test-gqtp.rb
407
+ - test/test-remote.rb
408
+ - test/test-database-dumper.rb
409
+ - test/test-database-inspector.rb
410
+ - test/test-patricia-trie.rb
411
+ - test/run-test.rb
412
+ - test/test-fix-size-column.rb
392
413
  - test/test-statistic-measurer.rb
393
- - test/test-index-cursor.rb
394
- - test/test-type.rb
395
- - test/test-table-dumper.rb
396
- - test/test-table-traverse.rb
397
- - test/test-convert.rb
414
+ - test/test-array.rb
398
415
  - test/test-table.rb
399
- - test/test-pagination.rb
400
416
  - test/groonga-test-utils.rb
401
- - test/test-logger.rb
402
- - test/test-context.rb
403
- - test/test-memory-pool.rb
404
- - test/test-table-select-weight.rb
417
+ - test/test-record.rb
405
418
  - test/test-exception.rb
406
419
  - test/test-table-select-normalize.rb
407
- - test/test-command-select.rb
408
- - test/test-gqtp.rb
409
- - test/test-database-dumper.rb
410
- - test/test-index-column.rb
411
- - test/test-geo-point.rb
412
- - test/test-plugin.rb
420
+ - test/test-schema-dumper.rb
421
+ - test/test-table-dumper.rb
422
+ - test/test-database.rb
413
423
  - test/test-variable-size-column.rb
414
- - test/test-schema-create-table.rb
415
- - test/test-array.rb
416
- - test/test-fix-size-column.rb
417
- - test/test-table-key-support.rb
418
- - test/test-schema-type.rb
419
- - test/test-table-select.rb
420
- - test/test-variable.rb
421
- - test/test-column.rb
422
- - test/test-patricia-trie.rb
423
424
  - test/test-table-select-mecab.rb
424
- - test/test-accessor.rb
425
- - test/test-database.rb
426
- - test/test-lock-timeout.rb
427
- - test/test-double-array-trie.rb
428
- - test/test-record.rb
425
+ - test/test-expression-builder.rb
426
+ - test/test-convert.rb
427
+ - test/test-index-cursor.rb
428
+ - test/test-command-select.rb
429
429
  has_rdoc: