droonga-engine 1.0.7 → 1.0.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 (83) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +2 -2
  3. data/bin/droonga-engine-absorb-data +200 -86
  4. data/bin/droonga-engine-configure +14 -11
  5. data/bin/droonga-engine-join +178 -59
  6. data/droonga-engine.gemspec +1 -1
  7. data/install.sh +1 -0
  8. data/lib/droonga/buffered_tcp_socket.rb +2 -2
  9. data/lib/droonga/catalog/base.rb +18 -0
  10. data/lib/droonga/catalog/dataset.rb +8 -0
  11. data/lib/droonga/catalog/version1.rb +3 -12
  12. data/lib/droonga/catalog/version2.rb +5 -12
  13. data/lib/droonga/command/droonga_engine.rb +6 -61
  14. data/lib/droonga/command/droonga_engine_service.rb +1 -0
  15. data/lib/droonga/command/droonga_engine_worker.rb +1 -0
  16. data/lib/droonga/command/remote.rb +18 -1
  17. data/lib/droonga/command/serf_event_handler.rb +3 -0
  18. data/lib/droonga/data_absorber.rb +234 -44
  19. data/lib/droonga/distributed_command_planner.rb +5 -5
  20. data/lib/droonga/engine.rb +27 -15
  21. data/lib/droonga/engine/version.rb +1 -1
  22. data/lib/droonga/handler_runner.rb +4 -0
  23. data/lib/droonga/node_status.rb +6 -2
  24. data/lib/droonga/path.rb +8 -14
  25. data/lib/droonga/planner.rb +4 -3
  26. data/lib/droonga/plugin/metadata/handler_action.rb +8 -0
  27. data/lib/droonga/plugins/groonga/column_create.rb +1 -1
  28. data/lib/droonga/plugins/groonga/column_list.rb +23 -1
  29. data/lib/droonga/plugins/groonga/column_remove.rb +1 -1
  30. data/lib/droonga/plugins/groonga/column_rename.rb +1 -1
  31. data/lib/droonga/plugins/groonga/delete.rb +1 -1
  32. data/lib/droonga/plugins/groonga/select.rb +17 -2
  33. data/lib/droonga/plugins/groonga/table_create.rb +26 -1
  34. data/lib/droonga/plugins/groonga/table_remove.rb +1 -1
  35. data/lib/droonga/plugins/search.rb +1 -1
  36. data/lib/droonga/plugins/search/distributed_search_planner.rb +15 -7
  37. data/lib/droonga/processor.rb +3 -2
  38. data/lib/droonga/searcher.rb +31 -15
  39. data/lib/droonga/serf.rb +1 -0
  40. data/lib/droonga/service_installation.rb +2 -2
  41. data/lib/droonga/single_step.rb +2 -2
  42. data/test/command/fixture/event.jsons +3 -2
  43. data/test/command/fixture/user-table.jsons +3 -2
  44. data/test/command/fixture/users.jsons +25 -0
  45. data/test/command/run-test.rb +13 -1
  46. data/test/command/suite/groonga/column_create/scalar.test +3 -2
  47. data/test/command/suite/groonga/column_create/vector.test +3 -2
  48. data/test/command/suite/groonga/column_list/{success.expected → no-key.expected} +0 -0
  49. data/test/command/suite/groonga/column_list/{success.test → no-key.test} +1 -1
  50. data/test/command/suite/groonga/column_list/with-key.expected +96 -0
  51. data/test/command/suite/groonga/column_list/with-key.test +25 -0
  52. data/test/command/suite/groonga/column_remove/success.test +3 -2
  53. data/test/command/suite/groonga/column_remove/unknown-column.test +3 -2
  54. data/test/command/suite/groonga/column_rename/success.test +3 -2
  55. data/test/command/suite/groonga/column_rename/unknown-column.test +3 -2
  56. data/test/command/suite/groonga/delete/duplicated-identifiers.test +3 -2
  57. data/test/command/suite/groonga/delete/no-identifier.test +3 -2
  58. data/test/command/suite/groonga/select/output_columns/default/array.expected +33 -0
  59. data/test/command/suite/groonga/select/output_columns/default/array.test +38 -0
  60. data/test/command/suite/groonga/select/output_columns/nonexistent.expected +28 -0
  61. data/test/command/suite/groonga/select/output_columns/nonexistent.test +26 -0
  62. data/test/command/suite/groonga/table_create/dat-without-key-type.expected +14 -0
  63. data/test/command/suite/groonga/table_create/dat-without-key-type.test +8 -0
  64. data/test/command/suite/groonga/table_create/dat.expected +13 -0
  65. data/test/command/suite/groonga/table_create/dat.test +9 -0
  66. data/test/command/suite/groonga/table_create/hash-without-key-type.expected +14 -0
  67. data/test/command/suite/groonga/table_create/hash-without-key-type.test +8 -0
  68. data/test/command/suite/groonga/table_create/hash.test +3 -2
  69. data/test/command/suite/groonga/table_create/pat-without-key-type.expected +14 -0
  70. data/test/command/suite/groonga/table_create/pat-without-key-type.test +8 -0
  71. data/test/command/suite/groonga/table_create/pat.expected +13 -0
  72. data/test/command/suite/groonga/table_create/pat.test +9 -0
  73. data/test/command/suite/groonga/table_list/success.test +3 -2
  74. data/test/unit/catalog/test_version1.rb +2 -2
  75. data/test/unit/catalog/test_version2.rb +3 -3
  76. data/test/unit/helper.rb +2 -2
  77. data/test/unit/helper/distributed_search_planner_helper.rb +9 -1
  78. data/test/unit/plugins/groonga/select/test_adapter_input.rb +15 -2
  79. data/test/unit/plugins/groonga/test_column_list.rb +119 -4
  80. data/test/unit/plugins/groonga/test_table_create.rb +29 -0
  81. data/test/unit/plugins/search/planner/test_basic.rb +2 -2
  82. data/test/unit/plugins/search/test_planner.rb +10 -2
  83. metadata +43 -8
@@ -17,7 +17,15 @@ require "droonga/plugins/search/distributed_search_planner"
17
17
 
18
18
  module DistributedSearchPlannerHelper
19
19
  def plan(search_request)
20
- planner = Droonga::Plugins::Search::DistributedSearchPlanner.new(search_request)
20
+ # TODO: Use real dataset
21
+ stub_dataset = Object.new
22
+ stub(stub_dataset).name do
23
+ Droonga::Catalog::Dataset::DEFAULT_NAME
24
+ end
25
+ stub(stub_dataset).single_slice? do
26
+ false
27
+ end
28
+ planner = Droonga::Plugins::Search::DistributedSearchPlanner.new(stub_dataset, search_request)
21
29
  planner.plan
22
30
  end
23
31
 
@@ -57,11 +57,24 @@ class GroongaSelectAdapterInputTest < Test::Unit::TestCase
57
57
 
58
58
  class FunctionTest < self
59
59
  def test_single_argument
60
- assert_attributes(["snippet_html(content)"], "snippet_html(content)")
60
+ assert_attributes(["snippet_html(content)"],
61
+ "snippet_html(content)")
61
62
  end
62
63
 
63
64
  def test_with_columns
64
- assert_attributes(["_id","_key","snippet_html(content)"], "_id,_key,snippet_html(content)")
65
+ assert_attributes(["_id","_key","snippet_html(content)"],
66
+ "_id,_key,snippet_html(content)")
67
+ end
68
+ end
69
+
70
+ class WhiteSpaceSeparatedTest < self
71
+ def test_command_version_1
72
+ assert_attributes(["_id","_key"], "_id _key")
73
+ end
74
+
75
+ def test_whitespace_in_function_args
76
+ assert_attributes(["_id","_key","snippet_html( content )"],
77
+ "_id,_key,snippet_html( content )")
65
78
  end
66
79
  end
67
80
  end
@@ -32,6 +32,19 @@ class ColumnListTest < GroongaHandlerTest
32
32
  @loop)
33
33
  end
34
34
 
35
+ def virtual_key_column(id, table_name)
36
+ [
37
+ id,
38
+ "_key",
39
+ "",
40
+ "",
41
+ "COLUMN_SCALAR",
42
+ table_name,
43
+ "ShortText",
44
+ [],
45
+ ]
46
+ end
47
+
35
48
  class HeaderTest < self
36
49
  def test_success
37
50
  Groonga::Schema.define do |schema|
@@ -68,7 +81,7 @@ class ColumnListTest < GroongaHandlerTest
68
81
  class BodyTest < self
69
82
  def test_fix
70
83
  Groonga::Schema.define do |schema|
71
- schema.create_table("Books", :type => :hash)
84
+ schema.create_table("Books", :type => :array)
72
85
  schema.change_table("Books") do |table|
73
86
  table.column("age", "UInt32", :type => :scalar)
74
87
  end
@@ -91,7 +104,7 @@ class ColumnListTest < GroongaHandlerTest
91
104
 
92
105
  def test_var
93
106
  Groonga::Schema.define do |schema|
94
- schema.create_table("Books", :type => :hash)
107
+ schema.create_table("Books", :type => :array)
95
108
  schema.change_table("Books") do |table|
96
109
  table.column("title", "ShortText", :type => :scalar)
97
110
  end
@@ -114,7 +127,7 @@ class ColumnListTest < GroongaHandlerTest
114
127
 
115
128
  def test_vector
116
129
  Groonga::Schema.define do |schema|
117
- schema.create_table("Books", :type => :hash)
130
+ schema.create_table("Books", :type => :array)
118
131
  schema.change_table("Books") do |table|
119
132
  table.column("authors", "ShortText", :type => :vector)
120
133
  end
@@ -137,7 +150,7 @@ class ColumnListTest < GroongaHandlerTest
137
150
 
138
151
  def test_index
139
152
  Groonga::Schema.define do |schema|
140
- schema.create_table("Books", :type => :hash)
153
+ schema.create_table("Books", :type => :array)
141
154
  schema.change_table("Books") do |table|
142
155
  table.column("title", "ShortText", :type => :scalar)
143
156
  table.index("Books", "title", :name => "entry_title")
@@ -166,5 +179,107 @@ class ColumnListTest < GroongaHandlerTest
166
179
  ]
167
180
  assert_equal(expected, response.last)
168
181
  end
182
+
183
+ def test_index_source_key
184
+ Groonga::Schema.define do |schema|
185
+ schema.create_table("Memos", :type => :patricia_trie)
186
+ schema.create_table("Terms", :type => :patricia_trie)
187
+ schema.change_table("Terms") do |table|
188
+ table.index("Memos", "_key", :name => "index")
189
+ end
190
+ end
191
+ response = process(:column_list,
192
+ {"table" => "Terms"})
193
+ expected = [
194
+ COLUMNS_HEADER,
195
+ virtual_key_column(257, "Terms"),
196
+ [258,
197
+ "index",
198
+ @database_path.to_s + ".0000102",
199
+ "index",
200
+ "COLUMN_INDEX",
201
+ "Terms",
202
+ "Memos",
203
+ ["Memos"]],
204
+ ]
205
+ assert_equal(expected, response.last)
206
+ end
207
+ end
208
+
209
+ class VirtualColumnsTest < self
210
+ def test_array
211
+ Groonga::Schema.define do |schema|
212
+ schema.create_table("Books", :type => :array)
213
+ end
214
+ response = process(:column_list,
215
+ {"table" => "Books"})
216
+ expected = [
217
+ COLUMNS_HEADER,
218
+ ]
219
+ assert_equal(expected, response.last)
220
+ end
221
+
222
+ def test_hash
223
+ Groonga::Schema.define do |schema|
224
+ schema.create_table("Books", :type => :hash)
225
+ end
226
+ response = process(:column_list,
227
+ {"table" => "Books"})
228
+ expected = [
229
+ COLUMNS_HEADER,
230
+ virtual_key_column(256, "Books"),
231
+ ]
232
+ assert_equal(expected, response.last)
233
+ end
234
+
235
+ def test_patricia_trie
236
+ Groonga::Schema.define do |schema|
237
+ schema.create_table("Books", :type => :patricia_trie)
238
+ end
239
+ response = process(:column_list,
240
+ {"table" => "Books"})
241
+ expected = [
242
+ COLUMNS_HEADER,
243
+ virtual_key_column(256, "Books"),
244
+ ]
245
+ assert_equal(expected, response.last)
246
+ end
247
+
248
+ def test_double_array_trie
249
+ Groonga::Schema.define do |schema|
250
+ schema.create_table("Books", :type => :double_array_trie)
251
+ end
252
+ response = process(:column_list,
253
+ {"table" => "Books"})
254
+ expected = [
255
+ COLUMNS_HEADER,
256
+ virtual_key_column(256, "Books"),
257
+ ]
258
+ assert_equal(expected, response.last)
259
+ end
260
+
261
+ def test_both_virtual_and_real
262
+ Groonga::Schema.define do |schema|
263
+ schema.create_table("Books", :type => :hash)
264
+ schema.change_table("Books") do |table|
265
+ table.column("age", "UInt32", :type => :scalar)
266
+ end
267
+ end
268
+ response = process(:column_list,
269
+ {"table" => "Books"})
270
+ expected = [
271
+ COLUMNS_HEADER,
272
+ virtual_key_column(256, "Books"),
273
+ [257,
274
+ "age",
275
+ @database_path.to_s + ".0000101",
276
+ "fix",
277
+ "COLUMN_SCALAR",
278
+ "Books",
279
+ "UInt32",
280
+ []],
281
+ ]
282
+ assert_equal(expected, response.last)
283
+ end
169
284
  end
170
285
  end
@@ -54,30 +54,35 @@ table_create Books TABLE_NO_KEY
54
54
  },
55
55
  "TABLE_HASH_KEY" => {
56
56
  :flags => "TABLE_HASH_KEY",
57
+ :key_type => "ShortText",
57
58
  :schema => <<-SCHEMA,
58
59
  table_create Books TABLE_HASH_KEY ShortText
59
60
  SCHEMA
60
61
  },
61
62
  "TABLE_PAT_KEY" => {
62
63
  :flags => "TABLE_PAT_KEY",
64
+ :key_type => "ShortText",
63
65
  :schema => <<-SCHEMA,
64
66
  table_create Books TABLE_PAT_KEY ShortText
65
67
  SCHEMA
66
68
  },
67
69
  "TABLE_DAT_KEY" => {
68
70
  :flags => "TABLE_DAT_KEY",
71
+ :key_type => "ShortText",
69
72
  :schema => <<-SCHEMA,
70
73
  table_create Books TABLE_DAT_KEY ShortText
71
74
  SCHEMA
72
75
  },
73
76
  "KEY_WITH_SIS with TABLE_PAT_KEY" => {
74
77
  :flags => "KEY_WITH_SIS|TABLE_PAT_KEY",
78
+ :key_type => "ShortText",
75
79
  :schema => <<-SCHEMA,
76
80
  table_create Books TABLE_PAT_KEY|KEY_WITH_SIS ShortText
77
81
  SCHEMA
78
82
  },
79
83
  "KEY_WITH_SIS without TABLE_PAT_KEY" => {
80
84
  :flags => "TABLE_NO_KEY|KEY_WITH_SIS",
85
+ :key_type => "ShortText",
81
86
  :schema => <<-SCHEMA,
82
87
  table_create Books TABLE_NO_KEY
83
88
  SCHEMA
@@ -88,9 +93,33 @@ table_create Books TABLE_NO_KEY
88
93
  "name" => "Books",
89
94
  "flags" => data[:flags],
90
95
  }
96
+ request["key_type"] = data[:key_type] if data[:key_type]
91
97
  process(:table_create, request)
92
98
  assert_equal(data[:schema], dump)
93
99
  end
100
+
101
+ data({
102
+ "TABLE_HASH_KEY missing key_type" => {
103
+ :flags => "TABLE_HASH_KEY",
104
+ },
105
+ "TABLE_PAT_KEY missing key_type" => {
106
+ :flags => "TABLE_PAT_KEY",
107
+ },
108
+ "TABLE_DAT_KEY missing key_type" => {
109
+ :flags => "TABLE_DAT_KEY",
110
+ },
111
+ })
112
+ def test_missing_required_parameter(data)
113
+ request = {
114
+ "name" => "Books",
115
+ "flags" => data[:flags],
116
+ }
117
+ response = process(:table_create, request)
118
+ assert_equal(
119
+ [NORMALIZED_HEADER_INVALID_ARGUMENT, false],
120
+ [normalize_header(response.first), response.last]
121
+ )
122
+ end
94
123
  end
95
124
 
96
125
  class KeyTypeTest < self
@@ -21,7 +21,7 @@ class DistributedSearchPlannerBasicTest < Test::Unit::TestCase
21
21
  def setup
22
22
  @request = {
23
23
  "type" => "search",
24
- "dataset" => "Droonga",
24
+ "dataset" => "Default",
25
25
  "body" => {
26
26
  "queries" => {
27
27
  "query1" => {
@@ -63,7 +63,7 @@ class DistributedSearchPlannerBasicTest < Test::Unit::TestCase
63
63
  def setup
64
64
  @request = {
65
65
  "type" => "search",
66
- "dataset" => "Droonga",
66
+ "dataset" => "Default",
67
67
  "body" => {
68
68
  "queries" => {
69
69
  "no_output" => {
@@ -19,7 +19,15 @@ class SearchPlannerTest < Test::Unit::TestCase
19
19
  def setup
20
20
  setup_database
21
21
  @planner = Droonga::Test::StubPlanner.new
22
- @plugin = Droonga::Plugins::Search::Planner.new
22
+ # TODO: Use real dataset
23
+ stub_dataset = Object.new
24
+ stub(stub_dataset).name do
25
+ Droonga::Catalog::Dataset::DEFAULT_NAME
26
+ end
27
+ stub(stub_dataset).single_slice? do
28
+ false
29
+ end
30
+ @plugin = Droonga::Plugins::Search::Planner.new(stub_dataset)
23
31
  end
24
32
 
25
33
  def teardown
@@ -135,7 +143,7 @@ class SearchPlannerTest < Test::Unit::TestCase
135
143
  searcher = {
136
144
  "type" => "broadcast",
137
145
  "command" => "search",
138
- "dataset" => "Droonga",
146
+ "dataset" => "Default",
139
147
  "body" => {
140
148
  "queries" => {
141
149
  "query1" => {
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: droonga-engine
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.7
4
+ version: 1.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Droonga Project
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-07 00:00:00.000000000 Z
11
+ date: 2014-11-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: archive-zip
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - '>='
60
60
  - !ruby/object:Gem::Version
61
- version: 0.1.9
61
+ version: 0.2.0
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - '>='
67
67
  - !ruby/object:Gem::Version
68
- version: 0.1.9
68
+ version: 0.2.0
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: droonga-message-pack-packer
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -475,6 +475,7 @@ files:
475
475
  - test/command/fixture/event.jsons
476
476
  - test/command/fixture/user-table-array.jsons
477
477
  - test/command/fixture/user-table.jsons
478
+ - test/command/fixture/users.jsons
478
479
  - test/command/run-test.rb
479
480
  - test/command/suite/add/dimension/column.catalog.json
480
481
  - test/command/suite/add/dimension/column.expected
@@ -535,10 +536,12 @@ files:
535
536
  - test/command/suite/groonga/column_create/unknown-table.test
536
537
  - test/command/suite/groonga/column_create/vector.expected
537
538
  - test/command/suite/groonga/column_create/vector.test
538
- - test/command/suite/groonga/column_list/success.expected
539
- - test/command/suite/groonga/column_list/success.test
539
+ - test/command/suite/groonga/column_list/no-key.expected
540
+ - test/command/suite/groonga/column_list/no-key.test
540
541
  - test/command/suite/groonga/column_list/unknown-table.expected
541
542
  - test/command/suite/groonga/column_list/unknown-table.test
543
+ - test/command/suite/groonga/column_list/with-key.expected
544
+ - test/command/suite/groonga/column_list/with-key.test
542
545
  - test/command/suite/groonga/column_remove/success.expected
543
546
  - test/command/suite/groonga/column_remove/success.test
544
547
  - test/command/suite/groonga/column_remove/unknown-column.expected
@@ -565,13 +568,27 @@ files:
565
568
  - test/command/suite/groonga/delete/unknown-table.test
566
569
  - test/command/suite/groonga/select/minimum.expected
567
570
  - test/command/suite/groonga/select/minimum.test
571
+ - test/command/suite/groonga/select/output_columns/default/array.expected
572
+ - test/command/suite/groonga/select/output_columns/default/array.test
573
+ - test/command/suite/groonga/select/output_columns/nonexistent.expected
574
+ - test/command/suite/groonga/select/output_columns/nonexistent.test
568
575
  - test/command/suite/groonga/select/type/time.catalog.json
569
576
  - test/command/suite/groonga/select/type/time.expected
570
577
  - test/command/suite/groonga/select/type/time.test
571
578
  - test/command/suite/groonga/table_create/array.expected
572
579
  - test/command/suite/groonga/table_create/array.test
580
+ - test/command/suite/groonga/table_create/dat-without-key-type.expected
581
+ - test/command/suite/groonga/table_create/dat-without-key-type.test
582
+ - test/command/suite/groonga/table_create/dat.expected
583
+ - test/command/suite/groonga/table_create/dat.test
584
+ - test/command/suite/groonga/table_create/hash-without-key-type.expected
585
+ - test/command/suite/groonga/table_create/hash-without-key-type.test
573
586
  - test/command/suite/groonga/table_create/hash.expected
574
587
  - test/command/suite/groonga/table_create/hash.test
588
+ - test/command/suite/groonga/table_create/pat-without-key-type.expected
589
+ - test/command/suite/groonga/table_create/pat-without-key-type.test
590
+ - test/command/suite/groonga/table_create/pat.expected
591
+ - test/command/suite/groonga/table_create/pat.test
575
592
  - test/command/suite/groonga/table_list/success.expected
576
593
  - test/command/suite/groonga/table_list/success.test
577
594
  - test/command/suite/groonga/table_remove/success.expected
@@ -764,6 +781,7 @@ test_files:
764
781
  - test/command/fixture/event.jsons
765
782
  - test/command/fixture/user-table-array.jsons
766
783
  - test/command/fixture/user-table.jsons
784
+ - test/command/fixture/users.jsons
767
785
  - test/command/run-test.rb
768
786
  - test/command/suite/add/dimension/column.catalog.json
769
787
  - test/command/suite/add/dimension/column.expected
@@ -824,10 +842,12 @@ test_files:
824
842
  - test/command/suite/groonga/column_create/unknown-table.test
825
843
  - test/command/suite/groonga/column_create/vector.expected
826
844
  - test/command/suite/groonga/column_create/vector.test
827
- - test/command/suite/groonga/column_list/success.expected
828
- - test/command/suite/groonga/column_list/success.test
845
+ - test/command/suite/groonga/column_list/no-key.expected
846
+ - test/command/suite/groonga/column_list/no-key.test
829
847
  - test/command/suite/groonga/column_list/unknown-table.expected
830
848
  - test/command/suite/groonga/column_list/unknown-table.test
849
+ - test/command/suite/groonga/column_list/with-key.expected
850
+ - test/command/suite/groonga/column_list/with-key.test
831
851
  - test/command/suite/groonga/column_remove/success.expected
832
852
  - test/command/suite/groonga/column_remove/success.test
833
853
  - test/command/suite/groonga/column_remove/unknown-column.expected
@@ -854,13 +874,27 @@ test_files:
854
874
  - test/command/suite/groonga/delete/unknown-table.test
855
875
  - test/command/suite/groonga/select/minimum.expected
856
876
  - test/command/suite/groonga/select/minimum.test
877
+ - test/command/suite/groonga/select/output_columns/default/array.expected
878
+ - test/command/suite/groonga/select/output_columns/default/array.test
879
+ - test/command/suite/groonga/select/output_columns/nonexistent.expected
880
+ - test/command/suite/groonga/select/output_columns/nonexistent.test
857
881
  - test/command/suite/groonga/select/type/time.catalog.json
858
882
  - test/command/suite/groonga/select/type/time.expected
859
883
  - test/command/suite/groonga/select/type/time.test
860
884
  - test/command/suite/groonga/table_create/array.expected
861
885
  - test/command/suite/groonga/table_create/array.test
886
+ - test/command/suite/groonga/table_create/dat-without-key-type.expected
887
+ - test/command/suite/groonga/table_create/dat-without-key-type.test
888
+ - test/command/suite/groonga/table_create/dat.expected
889
+ - test/command/suite/groonga/table_create/dat.test
890
+ - test/command/suite/groonga/table_create/hash-without-key-type.expected
891
+ - test/command/suite/groonga/table_create/hash-without-key-type.test
862
892
  - test/command/suite/groonga/table_create/hash.expected
863
893
  - test/command/suite/groonga/table_create/hash.test
894
+ - test/command/suite/groonga/table_create/pat-without-key-type.expected
895
+ - test/command/suite/groonga/table_create/pat-without-key-type.test
896
+ - test/command/suite/groonga/table_create/pat.expected
897
+ - test/command/suite/groonga/table_create/pat.test
864
898
  - test/command/suite/groonga/table_list/success.expected
865
899
  - test/command/suite/groonga/table_list/success.test
866
900
  - test/command/suite/groonga/table_remove/success.expected
@@ -1022,3 +1056,4 @@ test_files:
1022
1056
  - test/unit/test_sweeper.rb
1023
1057
  - test/unit/test_watch_schema.rb
1024
1058
  - test/unit/test_watcher.rb
1059
+ has_rdoc: