rroonga 4.0.1 → 4.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: