droonga-engine 1.0.2 → 1.0.3

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 (203) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +1 -0
  3. data/.travis.yml +3 -0
  4. data/Gemfile +7 -0
  5. data/Rakefile +6 -2
  6. data/bin/droonga-engine +2 -2
  7. data/bin/{droonga-catalog-generate → droonga-engine-catalog-generate} +15 -3
  8. data/bin/droonga-engine-serf-event-handler +20 -0
  9. data/bin/droonga-engine-service +2 -2
  10. data/doc/text/news.md +21 -1
  11. data/droonga-engine.gemspec +5 -2
  12. data/lib/droonga/catalog/collection_volume.rb +12 -0
  13. data/lib/droonga/catalog/dataset.rb +25 -0
  14. data/lib/droonga/catalog/single_volume.rb +10 -0
  15. data/lib/droonga/catalog/slice.rb +4 -0
  16. data/lib/droonga/catalog/version1.rb +59 -48
  17. data/lib/droonga/catalog/version2.rb +10 -20
  18. data/lib/droonga/catalog/volume_collection.rb +27 -4
  19. data/lib/droonga/catalog_generator.rb +12 -5
  20. data/lib/droonga/catalog_observer.rb +17 -35
  21. data/lib/droonga/command/droonga_engine.rb +436 -0
  22. data/lib/droonga/command/droonga_engine_service.rb +273 -0
  23. data/lib/droonga/command/serf_event_handler.rb +85 -0
  24. data/lib/droonga/dispatcher.rb +8 -8
  25. data/lib/droonga/engine.rb +90 -26
  26. data/lib/droonga/engine/version.rb +1 -1
  27. data/lib/droonga/engine_state.rb +29 -3
  28. data/lib/droonga/internal_fluent_message_receiver.rb +100 -0
  29. data/lib/droonga/live_nodes_list_loader.rb +48 -0
  30. data/lib/droonga/live_nodes_list_observer.rb +72 -0
  31. data/lib/droonga/path.rb +47 -0
  32. data/lib/droonga/plugins/dump.rb +279 -38
  33. data/lib/droonga/plugins/groonga/select.rb +26 -14
  34. data/lib/droonga/plugins/search.rb +30 -2
  35. data/lib/droonga/plugins/search/distributed_search_planner.rb +28 -11
  36. data/lib/droonga/processor.rb +4 -0
  37. data/lib/droonga/searcher.rb +26 -0
  38. data/lib/droonga/serf.rb +119 -0
  39. data/lib/droonga/serf_downloader.rb +90 -0
  40. data/lib/droonga/server.rb +2 -2
  41. data/lib/droonga/service_control_protocol.rb +26 -0
  42. data/sample/cluster/catalog.json +1 -1
  43. data/test/command/config/default/catalog.json +2 -2
  44. data/test/command/config/version1/catalog.json +1 -1
  45. data/test/command/fixture/documents.jsons +18 -18
  46. data/test/command/fixture/event.jsons +4 -4
  47. data/test/command/fixture/user-table-array.jsons +4 -4
  48. data/test/command/fixture/user-table.jsons +5 -5
  49. data/test/command/suite/add/dimension/column.catalog.json +1 -1
  50. data/test/command/suite/add/dimension/column.test +4 -4
  51. data/test/command/suite/add/dimension/integer.catalog.json +1 -1
  52. data/test/command/suite/add/dimension/integer.test +4 -4
  53. data/test/command/suite/add/error/invalid-integer.test +1 -1
  54. data/test/command/suite/add/error/invalid-time.test +1 -1
  55. data/test/command/suite/add/error/missing-key.test +1 -1
  56. data/test/command/suite/add/error/missing-table.test +1 -1
  57. data/test/command/suite/add/error/unknown-column.test +1 -1
  58. data/test/command/suite/add/error/unknown-table.test +1 -1
  59. data/test/command/suite/add/minimum.test +1 -1
  60. data/test/command/suite/add/vector/short_text.catalog.json +26 -0
  61. data/test/command/suite/add/vector/short_text.expected +42 -0
  62. data/test/command/suite/add/vector/short_text.test +35 -0
  63. data/test/command/suite/add/with-values.test +1 -1
  64. data/test/command/suite/add/without-key.test +1 -1
  65. data/test/command/suite/dump/column/index.catalog.json +40 -0
  66. data/test/command/suite/dump/column/index.expected +195 -0
  67. data/test/command/suite/dump/column/index.test +5 -0
  68. data/test/command/suite/dump/column/scalar.catalog.json +19 -0
  69. data/test/command/suite/dump/column/scalar.expected +99 -0
  70. data/test/command/suite/dump/column/scalar.test +5 -0
  71. data/test/command/suite/dump/column/vector.catalog.json +22 -0
  72. data/test/command/suite/dump/column/vector.expected +108 -0
  73. data/test/command/suite/dump/column/vector.test +5 -0
  74. data/test/command/suite/dump/record/vector/reference.catalog.json +27 -0
  75. data/test/command/suite/dump/record/vector/reference.expected +213 -0
  76. data/test/command/suite/dump/record/vector/reference.test +21 -0
  77. data/test/command/suite/dump/table/array.catalog.json +13 -0
  78. data/test/command/suite/dump/table/array.expected +63 -0
  79. data/test/command/suite/dump/table/array.test +5 -0
  80. data/test/command/suite/dump/table/double_array_trie.catalog.json +14 -0
  81. data/test/command/suite/dump/table/double_array_trie.expected +66 -0
  82. data/test/command/suite/dump/table/double_array_trie.test +5 -0
  83. data/test/command/suite/dump/table/hash.catalog.json +14 -0
  84. data/test/command/suite/dump/table/hash.expected +66 -0
  85. data/test/command/suite/dump/table/hash.test +5 -0
  86. data/test/command/suite/dump/table/patricia_trie.catalog.json +14 -0
  87. data/test/command/suite/dump/table/patricia_trie.expected +66 -0
  88. data/test/command/suite/dump/table/patricia_trie.test +5 -0
  89. data/test/command/suite/groonga/column_create/scalar.test +2 -2
  90. data/test/command/suite/groonga/column_create/unknown-table.test +1 -1
  91. data/test/command/suite/groonga/column_create/vector.test +2 -2
  92. data/test/command/suite/groonga/column_list/success.test +3 -3
  93. data/test/command/suite/groonga/column_list/unknown-table.test +1 -1
  94. data/test/command/suite/groonga/column_remove/success.test +3 -3
  95. data/test/command/suite/groonga/column_remove/unknown-column.test +2 -2
  96. data/test/command/suite/groonga/column_remove/unknown-table.test +1 -1
  97. data/test/command/suite/groonga/column_rename/success.test +3 -3
  98. data/test/command/suite/groonga/column_rename/unknown-column.test +2 -2
  99. data/test/command/suite/groonga/column_rename/unknown-table.test +1 -1
  100. data/test/command/suite/groonga/delete/duplicated-identifiers.test +2 -2
  101. data/test/command/suite/groonga/delete/filter.test +2 -2
  102. data/test/command/suite/groonga/delete/invalid-filter.test +1 -1
  103. data/test/command/suite/groonga/delete/no-identifier.test +2 -2
  104. data/test/command/suite/groonga/delete/success.test +2 -2
  105. data/test/command/suite/groonga/delete/unknown-table.test +1 -1
  106. data/test/command/suite/groonga/select/minimum.expected +24 -1
  107. data/test/command/suite/groonga/select/minimum.test +1 -1
  108. data/test/command/suite/groonga/select/type/time.catalog.json +19 -0
  109. data/test/command/suite/groonga/select/type/time.expected +37 -0
  110. data/test/command/suite/groonga/select/type/time.test +35 -0
  111. data/test/command/suite/groonga/table_create/array.test +1 -1
  112. data/test/command/suite/groonga/table_create/hash.test +1 -1
  113. data/test/command/suite/groonga/table_list/success.test +2 -2
  114. data/test/command/suite/groonga/table_remove/success.test +1 -1
  115. data/test/command/suite/groonga/table_remove/unknown-table.test +1 -1
  116. data/test/command/suite/message/error/unknown-type.expected +1 -1
  117. data/test/command/suite/message/error/unknown-type.test +1 -1
  118. data/test/command/suite/search/adjusters/multiple.catalog.json +1 -1
  119. data/test/command/suite/search/adjusters/multiple.test +3 -3
  120. data/test/command/suite/search/adjusters/one.catalog.json +1 -1
  121. data/test/command/suite/search/adjusters/one.test +3 -3
  122. data/test/command/suite/search/attributes/array.expected +7 -0
  123. data/test/command/suite/search/attributes/array.test +1 -1
  124. data/test/command/suite/search/attributes/hash.expected +18 -0
  125. data/test/command/suite/search/attributes/hash.test +1 -1
  126. data/test/command/suite/search/complex.expected +12 -0
  127. data/test/command/suite/search/complex.test +1 -1
  128. data/test/command/suite/search/condition/nested.catalog.json +37 -0
  129. data/test/command/suite/search/condition/nested.expected +7 -0
  130. data/test/command/suite/search/condition/nested.test +103 -2
  131. data/test/command/suite/search/condition/query.catalog.json +37 -0
  132. data/test/command/suite/search/condition/query.expected +7 -0
  133. data/test/command/suite/search/condition/query.test +103 -2
  134. data/test/command/suite/search/condition/query/nonexistent_column.catalog.json +1 -1
  135. data/test/command/suite/search/condition/query/nonexistent_column.test +2 -2
  136. data/test/command/suite/search/condition/query/syntax_error.catalog.json +1 -1
  137. data/test/command/suite/search/condition/query/syntax_error.test +2 -2
  138. data/test/command/suite/search/condition/script.catalog.json +37 -0
  139. data/test/command/suite/search/condition/script.expected +7 -0
  140. data/test/command/suite/search/condition/script.test +103 -2
  141. data/test/command/suite/search/error/cyclic-source.test +1 -1
  142. data/test/command/suite/search/error/deeply-cyclic-source.test +1 -1
  143. data/test/command/suite/search/error/missing-source-parameter.test +1 -1
  144. data/test/command/suite/search/error/no-query.test +1 -1
  145. data/test/command/suite/search/error/unknown-source.test +1 -1
  146. data/test/command/suite/search/group/count.test +1 -1
  147. data/test/command/suite/search/group/limit.test +1 -1
  148. data/test/command/suite/search/group/string.catalog.json +41 -0
  149. data/test/command/suite/search/group/string.expected +18 -18
  150. data/test/command/suite/search/group/string.test +67 -22
  151. data/test/command/suite/search/group/subrecord/with-sort.catalog.json +1 -1
  152. data/test/command/suite/search/group/subrecord/with-sort.test +5 -5
  153. data/test/command/suite/search/multiple/chained.catalog.json +37 -0
  154. data/test/command/suite/search/multiple/chained.expected +14 -0
  155. data/test/command/suite/search/multiple/chained.test +103 -2
  156. data/test/command/suite/search/multiple/parallel.expected +14 -0
  157. data/test/command/suite/search/multiple/parallel.test +1 -1
  158. data/test/command/suite/search/output/attributes/invalid.catalog.json +1 -1
  159. data/test/command/suite/search/output/attributes/invalid.test +2 -2
  160. data/test/command/suite/search/output/attributes/star.catalog.json +23 -0
  161. data/test/command/suite/search/output/attributes/star.expected +27 -0
  162. data/test/command/suite/search/output/attributes/star.test +32 -0
  163. data/test/command/suite/search/range/only-output.expected +7 -0
  164. data/test/command/suite/search/range/only-output.test +1 -1
  165. data/test/command/suite/search/range/only-sort.expected +7 -0
  166. data/test/command/suite/search/range/only-sort.test +1 -1
  167. data/test/command/suite/search/range/sort-and-output.expected +7 -0
  168. data/test/command/suite/search/range/sort-and-output.test +1 -1
  169. data/test/command/suite/search/range/too-large-output-offset.expected +8 -0
  170. data/test/command/suite/search/range/too-large-output-offset.test +1 -1
  171. data/test/command/suite/search/range/too-large-sort-offset.expected +8 -0
  172. data/test/command/suite/search/range/too-large-sort-offset.test +1 -1
  173. data/test/command/suite/search/response/elapsed_time.catalog.json +1 -1
  174. data/test/command/suite/search/response/elapsed_time.test +2 -2
  175. data/test/command/suite/search/response/records/value/time.expected +12 -0
  176. data/test/command/suite/search/response/records/value/time.test +1 -1
  177. data/test/command/suite/search/simple.expected +12 -0
  178. data/test/command/suite/search/simple.test +1 -1
  179. data/test/command/suite/search/sort/default-offset-limit.expected +7 -0
  180. data/test/command/suite/search/sort/default-offset-limit.test +1 -1
  181. data/test/command/suite/search/sort/invisible-column.expected +7 -0
  182. data/test/command/suite/search/sort/invisible-column.test +1 -1
  183. data/test/unit/catalog/test_collection_volume.rb +16 -0
  184. data/test/unit/catalog/test_dataset.rb +36 -0
  185. data/test/unit/catalog/test_single_volume.rb +9 -0
  186. data/test/unit/catalog/test_slice.rb +11 -0
  187. data/test/unit/catalog/test_version1.rb +7 -12
  188. data/test/unit/catalog/test_version2.rb +7 -0
  189. data/test/unit/catalog/test_volume_collection.rb +28 -0
  190. data/test/unit/fixtures/catalog/version1.json +10 -3
  191. data/test/unit/fixtures/catalog/version2.json +2 -2
  192. data/test/unit/plugins/groonga/select/test_adapter_output.rb +8 -14
  193. data/test/unit/plugins/groonga/test_column_create.rb +5 -5
  194. data/test/unit/plugins/groonga/test_column_remove.rb +2 -2
  195. data/test/unit/plugins/groonga/test_column_rename.rb +2 -2
  196. data/test/unit/plugins/groonga/test_delete.rb +2 -2
  197. data/test/unit/plugins/groonga/test_table_create.rb +9 -9
  198. data/test/unit/plugins/groonga/test_table_remove.rb +1 -1
  199. data/test/unit/test_catalog_generator.rb +1 -1
  200. data/test/unit/test_schema_applier.rb +2 -2
  201. data/test/unit/test_watch_schema.rb +4 -4
  202. metadata +241 -72
  203. data/lib/droonga/engine/command/droonga_engine.rb +0 -441
@@ -80,7 +80,7 @@ class ColumnRenameTest < GroongaHandlerTest
80
80
  process(:column_rename,
81
81
  {"table" => "Books", "name" => "title", "new_name" => "label"})
82
82
  assert_equal(<<-SCHEMA, dump)
83
- table_create Books TABLE_HASH_KEY --key_type ShortText
83
+ table_create Books TABLE_HASH_KEY ShortText
84
84
  column_create Books label COLUMN_SCALAR ShortText
85
85
  SCHEMA
86
86
  end
@@ -96,7 +96,7 @@ column_create Books label COLUMN_SCALAR ShortText
96
96
  process(:column_rename,
97
97
  {"table" => "Books", "name" => "title", "new_name" => "label"})
98
98
  assert_equal(<<-SCHEMA, dump)
99
- table_create Books TABLE_HASH_KEY --key_type ShortText
99
+ table_create Books TABLE_HASH_KEY ShortText
100
100
  column_create Books label COLUMN_SCALAR ShortText
101
101
 
102
102
  column_create Books entry_title COLUMN_INDEX Books label
@@ -88,7 +88,7 @@ class DeleteTest < GroongaHandlerTest
88
88
  process(:delete,
89
89
  {"table" => "Books", "key" => "sample"})
90
90
  assert_equal(<<-DUMP, dump)
91
- table_create Books TABLE_HASH_KEY --key_type ShortText
91
+ table_create Books TABLE_HASH_KEY ShortText
92
92
  DUMP
93
93
  end
94
94
 
@@ -114,7 +114,7 @@ table_create Ages TABLE_NO_KEY
114
114
  process(:delete,
115
115
  {"table" => "Books", "filter" => '_key @^ "D"'})
116
116
  assert_equal(<<-DUMP, dump)
117
- table_create Books TABLE_HASH_KEY --key_type ShortText
117
+ table_create Books TABLE_HASH_KEY ShortText
118
118
 
119
119
  load --table Books
120
120
  [
@@ -40,7 +40,7 @@ class TableCreateTest < GroongaHandlerTest
40
40
  def test_name
41
41
  process(:table_create, {"name" => "Books"})
42
42
  assert_equal(<<-SCHEMA, dump)
43
- table_create Books TABLE_HASH_KEY --key_type ShortText
43
+ table_create Books TABLE_HASH_KEY ShortText
44
44
  SCHEMA
45
45
  end
46
46
 
@@ -55,25 +55,25 @@ table_create Books TABLE_NO_KEY
55
55
  "TABLE_HASH_KEY" => {
56
56
  :flags => "TABLE_HASH_KEY",
57
57
  :schema => <<-SCHEMA,
58
- table_create Books TABLE_HASH_KEY --key_type ShortText
58
+ table_create Books TABLE_HASH_KEY ShortText
59
59
  SCHEMA
60
60
  },
61
61
  "TABLE_PAT_KEY" => {
62
62
  :flags => "TABLE_PAT_KEY",
63
63
  :schema => <<-SCHEMA,
64
- table_create Books TABLE_PAT_KEY --key_type ShortText
64
+ table_create Books TABLE_PAT_KEY ShortText
65
65
  SCHEMA
66
66
  },
67
67
  "TABLE_DAT_KEY" => {
68
68
  :flags => "TABLE_DAT_KEY",
69
69
  :schema => <<-SCHEMA,
70
- table_create Books TABLE_DAT_KEY --key_type ShortText
70
+ table_create Books TABLE_DAT_KEY ShortText
71
71
  SCHEMA
72
72
  },
73
73
  "KEY_WITH_SIS with TABLE_PAT_KEY" => {
74
74
  :flags => "KEY_WITH_SIS|TABLE_PAT_KEY",
75
75
  :schema => <<-SCHEMA,
76
- table_create Books TABLE_PAT_KEY|KEY_WITH_SIS --key_type ShortText
76
+ table_create Books TABLE_PAT_KEY|KEY_WITH_SIS ShortText
77
77
  SCHEMA
78
78
  },
79
79
  "KEY_WITH_SIS without TABLE_PAT_KEY" => {
@@ -101,7 +101,7 @@ table_create Books TABLE_NO_KEY
101
101
  }
102
102
  process(:table_create, request)
103
103
  assert_equal(<<-SCHEMA, dump)
104
- table_create Books TABLE_HASH_KEY --key_type Int32
104
+ table_create Books TABLE_HASH_KEY Int32
105
105
  SCHEMA
106
106
  end
107
107
  end
@@ -114,7 +114,7 @@ table_create Books TABLE_HASH_KEY --key_type Int32
114
114
  }
115
115
  process(:table_create, request)
116
116
  assert_equal(<<-SCHEMA, dump)
117
- table_create Books TABLE_HASH_KEY --key_type ShortText --value_type Int32
117
+ table_create Books TABLE_HASH_KEY ShortText --value_type Int32
118
118
  SCHEMA
119
119
  end
120
120
  end
@@ -127,7 +127,7 @@ table_create Books TABLE_HASH_KEY --key_type ShortText --value_type Int32
127
127
  }
128
128
  process(:table_create, request)
129
129
  assert_equal(<<-SCHEMA, dump)
130
- table_create Books TABLE_HASH_KEY --key_type ShortText --default_tokenizer TokenBigram
130
+ table_create Books TABLE_HASH_KEY ShortText --default_tokenizer TokenBigram
131
131
  SCHEMA
132
132
  end
133
133
  end
@@ -140,7 +140,7 @@ table_create Books TABLE_HASH_KEY --key_type ShortText --default_tokenizer Token
140
140
  }
141
141
  process(:table_create, request)
142
142
  assert_equal(<<-SCHEMA, dump)
143
- table_create Books TABLE_HASH_KEY --key_type ShortText --normalizer NormalizerAuto
143
+ table_create Books TABLE_HASH_KEY ShortText --normalizer NormalizerAuto
144
144
  SCHEMA
145
145
  end
146
146
  end
@@ -55,7 +55,7 @@ class TableRemoveTest < GroongaHandlerTest
55
55
  def test_unknown_table
56
56
  process(:table_remove, {"name" => "Unknown"})
57
57
  assert_equal(<<-SCHEMA, dump)
58
- table_create Books TABLE_HASH_KEY --key_type ShortText
58
+ table_create Books TABLE_HASH_KEY ShortText
59
59
  SCHEMA
60
60
  end
61
61
  end
@@ -55,7 +55,7 @@ class CatalogGeneratorTest < Test::Unit::TestCase
55
55
  @generator.add_dataset("Droonga", {})
56
56
  dataset = {
57
57
  "nWorkers" => 4,
58
- "plugins" => ["groonga", "search", "crud"],
58
+ "plugins" => ["groonga", "search", "crud", "dump"],
59
59
  "schema" => {},
60
60
  "replicas" => [
61
61
  {
@@ -51,9 +51,9 @@ class SchemaCreatorTest < Test::Unit::TestCase
51
51
  }
52
52
  apply(schema_data)
53
53
  assert_equal(<<-DUMP, dump)
54
- table_create Names TABLE_HASH_KEY --key_type ShortText
54
+ table_create Names TABLE_HASH_KEY ShortText
55
55
 
56
- table_create Users TABLE_HASH_KEY --key_type Names
56
+ table_create Users TABLE_HASH_KEY Names
57
57
  DUMP
58
58
  end
59
59
  end
@@ -35,13 +35,13 @@ class WatchSchemaTest < Test::Unit::TestCase
35
35
  :database => database)
36
36
  end
37
37
  assert_equal(<<-SCHEMA, dumped_commands)
38
- table_create Keyword TABLE_PAT_KEY --key_type ShortText --normalizer NormalizerAuto
38
+ table_create Keyword TABLE_PAT_KEY ShortText --normalizer NormalizerAuto
39
39
 
40
- table_create Query TABLE_HASH_KEY --key_type ShortText
40
+ table_create Query TABLE_HASH_KEY ShortText
41
41
 
42
- table_create Route TABLE_HASH_KEY --key_type ShortText
42
+ table_create Route TABLE_HASH_KEY ShortText
43
43
 
44
- table_create Subscriber TABLE_HASH_KEY --key_type ShortText
44
+ table_create Subscriber TABLE_HASH_KEY ShortText
45
45
  column_create Subscriber last_modified COLUMN_SCALAR Time
46
46
 
47
47
  column_create Query keywords COLUMN_VECTOR Keyword
metadata CHANGED
@@ -1,177 +1,261 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: droonga-engine
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
5
- prerelease:
4
+ version: 1.0.3
6
5
  platform: ruby
7
6
  authors:
8
7
  - Droonga Project
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2014-04-28 00:00:00.000000000 Z
11
+ date: 2014-05-29 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: rroonga
16
- requirement: &81609640 !ruby/object:Gem::Requirement
17
- none: false
15
+ requirement: !ruby/object:Gem::Requirement
18
16
  requirements:
19
- - - ! '>='
17
+ - - '>='
20
18
  - !ruby/object:Gem::Version
21
19
  version: 3.1.0
22
20
  type: :runtime
23
21
  prerelease: false
24
- version_requirements: *81609640
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: 3.1.0
25
27
  - !ruby/object:Gem::Dependency
26
28
  name: groonga-command-parser
27
- requirement: &81609430 !ruby/object:Gem::Requirement
28
- none: false
29
+ requirement: !ruby/object:Gem::Requirement
29
30
  requirements:
30
- - - ! '>='
31
+ - - '>='
31
32
  - !ruby/object:Gem::Version
32
33
  version: '0'
33
34
  type: :runtime
34
35
  prerelease: false
35
- version_requirements: *81609430
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
36
41
  - !ruby/object:Gem::Dependency
37
42
  name: json
38
- requirement: &81609200 !ruby/object:Gem::Requirement
39
- none: false
43
+ requirement: !ruby/object:Gem::Requirement
40
44
  requirements:
41
- - - ! '>='
45
+ - - '>='
42
46
  - !ruby/object:Gem::Version
43
47
  version: '0'
44
48
  type: :runtime
45
49
  prerelease: false
46
- version_requirements: *81609200
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
47
55
  - !ruby/object:Gem::Dependency
48
56
  name: cool.io
49
- requirement: &81608990 !ruby/object:Gem::Requirement
50
- none: false
57
+ requirement: !ruby/object:Gem::Requirement
51
58
  requirements:
52
- - - ! '>='
59
+ - - '>='
53
60
  - !ruby/object:Gem::Version
54
61
  version: '0'
55
62
  type: :runtime
56
63
  prerelease: false
57
- version_requirements: *81608990
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
58
69
  - !ruby/object:Gem::Dependency
59
70
  name: serverengine
60
- requirement: &81608780 !ruby/object:Gem::Requirement
61
- none: false
71
+ requirement: !ruby/object:Gem::Requirement
62
72
  requirements:
63
- - - ! '>='
73
+ - - '>='
64
74
  - !ruby/object:Gem::Version
65
75
  version: '0'
66
76
  type: :runtime
67
77
  prerelease: false
68
- version_requirements: *81608780
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '>='
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: droonga-message-pack-packer
71
- requirement: &81608570 !ruby/object:Gem::Requirement
72
- none: false
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - '>='
88
+ - !ruby/object:Gem::Version
89
+ version: 1.0.1
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '>='
95
+ - !ruby/object:Gem::Version
96
+ version: 1.0.1
97
+ - !ruby/object:Gem::Dependency
98
+ name: listen
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ~>
102
+ - !ruby/object:Gem::Version
103
+ version: '2.7'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ~>
109
+ - !ruby/object:Gem::Version
110
+ version: '2.7'
111
+ - !ruby/object:Gem::Dependency
112
+ name: faraday
113
+ requirement: !ruby/object:Gem::Requirement
73
114
  requirements:
74
- - - ! '>='
115
+ - - '>='
75
116
  - !ruby/object:Gem::Version
76
117
  version: '0'
77
118
  type: :runtime
78
119
  prerelease: false
79
- version_requirements: *81608570
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - '>='
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
80
125
  - !ruby/object:Gem::Dependency
81
- name: rake
82
- requirement: &81608360 !ruby/object:Gem::Requirement
83
- none: false
126
+ name: faraday_middleware
127
+ requirement: !ruby/object:Gem::Requirement
84
128
  requirements:
85
- - - ! '>='
129
+ - - '>='
86
130
  - !ruby/object:Gem::Version
87
131
  version: '0'
88
- type: :development
132
+ type: :runtime
89
133
  prerelease: false
90
- version_requirements: *81608360
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - '>='
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
91
139
  - !ruby/object:Gem::Dependency
92
- name: bundler
93
- requirement: &81608150 !ruby/object:Gem::Requirement
94
- none: false
140
+ name: archive-zip
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - '>='
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :runtime
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - '>='
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: rake
155
+ requirement: !ruby/object:Gem::Requirement
95
156
  requirements:
96
- - - ! '>='
157
+ - - '>='
97
158
  - !ruby/object:Gem::Version
98
159
  version: '0'
99
160
  type: :development
100
161
  prerelease: false
101
- version_requirements: *81608150
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - '>='
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
102
167
  - !ruby/object:Gem::Dependency
103
- name: droonga-client
104
- requirement: &81607940 !ruby/object:Gem::Requirement
105
- none: false
168
+ name: bundler
169
+ requirement: !ruby/object:Gem::Requirement
106
170
  requirements:
107
- - - ! '>='
171
+ - - '>='
108
172
  - !ruby/object:Gem::Version
109
173
  version: '0'
110
174
  type: :development
111
175
  prerelease: false
112
- version_requirements: *81607940
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - '>='
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
113
181
  - !ruby/object:Gem::Dependency
114
182
  name: test-unit
115
- requirement: &81607730 !ruby/object:Gem::Requirement
116
- none: false
183
+ requirement: !ruby/object:Gem::Requirement
117
184
  requirements:
118
- - - ! '>='
185
+ - - '>='
119
186
  - !ruby/object:Gem::Version
120
187
  version: '0'
121
188
  type: :development
122
189
  prerelease: false
123
- version_requirements: *81607730
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - '>='
193
+ - !ruby/object:Gem::Version
194
+ version: '0'
124
195
  - !ruby/object:Gem::Dependency
125
196
  name: test-unit-notify
126
- requirement: &81607520 !ruby/object:Gem::Requirement
127
- none: false
197
+ requirement: !ruby/object:Gem::Requirement
128
198
  requirements:
129
- - - ! '>='
199
+ - - '>='
130
200
  - !ruby/object:Gem::Version
131
201
  version: '0'
132
202
  type: :development
133
203
  prerelease: false
134
- version_requirements: *81607520
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - '>='
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
135
209
  - !ruby/object:Gem::Dependency
136
210
  name: test-unit-rr
137
- requirement: &81607310 !ruby/object:Gem::Requirement
138
- none: false
211
+ requirement: !ruby/object:Gem::Requirement
139
212
  requirements:
140
- - - ! '>='
213
+ - - '>='
141
214
  - !ruby/object:Gem::Version
142
215
  version: '0'
143
216
  type: :development
144
217
  prerelease: false
145
- version_requirements: *81607310
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - '>='
221
+ - !ruby/object:Gem::Version
222
+ version: '0'
146
223
  - !ruby/object:Gem::Dependency
147
224
  name: packnga
148
- requirement: &81607100 !ruby/object:Gem::Requirement
149
- none: false
225
+ requirement: !ruby/object:Gem::Requirement
150
226
  requirements:
151
- - - ! '>='
227
+ - - '>='
152
228
  - !ruby/object:Gem::Version
153
229
  version: '0'
154
230
  type: :development
155
231
  prerelease: false
156
- version_requirements: *81607100
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - '>='
235
+ - !ruby/object:Gem::Version
236
+ version: '0'
157
237
  - !ruby/object:Gem::Dependency
158
238
  name: kramdown
159
- requirement: &81606890 !ruby/object:Gem::Requirement
160
- none: false
239
+ requirement: !ruby/object:Gem::Requirement
161
240
  requirements:
162
- - - ! '>='
241
+ - - '>='
163
242
  - !ruby/object:Gem::Version
164
243
  version: '0'
165
244
  type: :development
166
245
  prerelease: false
167
- version_requirements: *81606890
246
+ version_requirements: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - '>='
249
+ - !ruby/object:Gem::Version
250
+ version: '0'
168
251
  description: Droonga engine is a core component in Droonga system. Droonga is a scalable
169
252
  data processing engine based on Groonga. Droonga means Distributed Groonga.
170
253
  email:
171
254
  - droonga@groonga.org
172
255
  executables:
173
- - droonga-catalog-generate
174
256
  - droonga-engine
257
+ - droonga-engine-catalog-generate
258
+ - droonga-engine-serf-event-handler
175
259
  - droonga-engine-service
176
260
  extensions: []
177
261
  extra_rdoc_files: []
@@ -190,8 +274,9 @@ files:
190
274
  - benchmark/watch/benchmark-notify.sh
191
275
  - benchmark/watch/benchmark-publish.rb
192
276
  - benchmark/watch/benchmark-scan.rb
193
- - bin/droonga-catalog-generate
194
277
  - bin/droonga-engine
278
+ - bin/droonga-engine-catalog-generate
279
+ - bin/droonga-engine-serf-event-handler
195
280
  - bin/droonga-engine-service
196
281
  - doc/text/news.md
197
282
  - droonga-engine.gemspec
@@ -219,11 +304,13 @@ files:
219
304
  - lib/droonga/collectors/and.rb
220
305
  - lib/droonga/collectors/or.rb
221
306
  - lib/droonga/collectors/sum.rb
307
+ - lib/droonga/command/droonga_engine.rb
308
+ - lib/droonga/command/droonga_engine_service.rb
309
+ - lib/droonga/command/serf_event_handler.rb
222
310
  - lib/droonga/dispatcher.rb
223
311
  - lib/droonga/distributed_command_planner.rb
224
312
  - lib/droonga/distributor.rb
225
313
  - lib/droonga/engine.rb
226
- - lib/droonga/engine/command/droonga_engine.rb
227
314
  - lib/droonga/engine/version.rb
228
315
  - lib/droonga/engine_state.rb
229
316
  - lib/droonga/error.rb
@@ -238,13 +325,17 @@ files:
238
325
  - lib/droonga/handler_messenger.rb
239
326
  - lib/droonga/handler_runner.rb
240
327
  - lib/droonga/input_message.rb
328
+ - lib/droonga/internal_fluent_message_receiver.rb
241
329
  - lib/droonga/job_protocol.rb
242
330
  - lib/droonga/job_pusher.rb
243
331
  - lib/droonga/job_receiver.rb
332
+ - lib/droonga/live_nodes_list_loader.rb
333
+ - lib/droonga/live_nodes_list_observer.rb
244
334
  - lib/droonga/loggable.rb
245
335
  - lib/droonga/logger.rb
246
336
  - lib/droonga/message_matcher.rb
247
337
  - lib/droonga/output_message.rb
338
+ - lib/droonga/path.rb
248
339
  - lib/droonga/planner.rb
249
340
  - lib/droonga/pluggable.rb
250
341
  - lib/droonga/plugin.rb
@@ -280,7 +371,10 @@ files:
280
371
  - lib/droonga/schema_applier.rb
281
372
  - lib/droonga/searcher.rb
282
373
  - lib/droonga/searcher/mecab_filter.rb
374
+ - lib/droonga/serf.rb
375
+ - lib/droonga/serf_downloader.rb
283
376
  - lib/droonga/server.rb
377
+ - lib/droonga/service_control_protocol.rb
284
378
  - lib/droonga/session.rb
285
379
  - lib/droonga/single_step.rb
286
380
  - lib/droonga/single_step_definition.rb
@@ -330,10 +424,37 @@ files:
330
424
  - test/command/suite/add/error/unknown-table.test
331
425
  - test/command/suite/add/minimum.expected
332
426
  - test/command/suite/add/minimum.test
427
+ - test/command/suite/add/vector/short_text.catalog.json
428
+ - test/command/suite/add/vector/short_text.expected
429
+ - test/command/suite/add/vector/short_text.test
333
430
  - test/command/suite/add/with-values.expected
334
431
  - test/command/suite/add/with-values.test
335
432
  - test/command/suite/add/without-key.expected
336
433
  - test/command/suite/add/without-key.test
434
+ - test/command/suite/dump/column/index.catalog.json
435
+ - test/command/suite/dump/column/index.expected
436
+ - test/command/suite/dump/column/index.test
437
+ - test/command/suite/dump/column/scalar.catalog.json
438
+ - test/command/suite/dump/column/scalar.expected
439
+ - test/command/suite/dump/column/scalar.test
440
+ - test/command/suite/dump/column/vector.catalog.json
441
+ - test/command/suite/dump/column/vector.expected
442
+ - test/command/suite/dump/column/vector.test
443
+ - test/command/suite/dump/record/vector/reference.catalog.json
444
+ - test/command/suite/dump/record/vector/reference.expected
445
+ - test/command/suite/dump/record/vector/reference.test
446
+ - test/command/suite/dump/table/array.catalog.json
447
+ - test/command/suite/dump/table/array.expected
448
+ - test/command/suite/dump/table/array.test
449
+ - test/command/suite/dump/table/double_array_trie.catalog.json
450
+ - test/command/suite/dump/table/double_array_trie.expected
451
+ - test/command/suite/dump/table/double_array_trie.test
452
+ - test/command/suite/dump/table/hash.catalog.json
453
+ - test/command/suite/dump/table/hash.expected
454
+ - test/command/suite/dump/table/hash.test
455
+ - test/command/suite/dump/table/patricia_trie.catalog.json
456
+ - test/command/suite/dump/table/patricia_trie.expected
457
+ - test/command/suite/dump/table/patricia_trie.test
337
458
  - test/command/suite/groonga/column_create/scalar.expected
338
459
  - test/command/suite/groonga/column_create/scalar.test
339
460
  - test/command/suite/groonga/column_create/unknown-table.expected
@@ -370,6 +491,9 @@ files:
370
491
  - test/command/suite/groonga/delete/unknown-table.test
371
492
  - test/command/suite/groonga/select/minimum.expected
372
493
  - test/command/suite/groonga/select/minimum.test
494
+ - test/command/suite/groonga/select/type/time.catalog.json
495
+ - test/command/suite/groonga/select/type/time.expected
496
+ - test/command/suite/groonga/select/type/time.test
373
497
  - test/command/suite/groonga/table_create/array.expected
374
498
  - test/command/suite/groonga/table_create/array.test
375
499
  - test/command/suite/groonga/table_create/hash.expected
@@ -398,8 +522,10 @@ files:
398
522
  - test/command/suite/search/attributes/hash.test
399
523
  - test/command/suite/search/complex.expected
400
524
  - test/command/suite/search/complex.test
525
+ - test/command/suite/search/condition/nested.catalog.json
401
526
  - test/command/suite/search/condition/nested.expected
402
527
  - test/command/suite/search/condition/nested.test
528
+ - test/command/suite/search/condition/query.catalog.json
403
529
  - test/command/suite/search/condition/query.expected
404
530
  - test/command/suite/search/condition/query.test
405
531
  - test/command/suite/search/condition/query/nonexistent_column.catalog.json
@@ -408,6 +534,7 @@ files:
408
534
  - test/command/suite/search/condition/query/syntax_error.catalog.json
409
535
  - test/command/suite/search/condition/query/syntax_error.expected
410
536
  - test/command/suite/search/condition/query/syntax_error.test
537
+ - test/command/suite/search/condition/script.catalog.json
411
538
  - test/command/suite/search/condition/script.expected
412
539
  - test/command/suite/search/condition/script.test
413
540
  - test/command/suite/search/error/cyclic-source.expected
@@ -424,11 +551,13 @@ files:
424
551
  - test/command/suite/search/group/count.test
425
552
  - test/command/suite/search/group/limit.expected
426
553
  - test/command/suite/search/group/limit.test
554
+ - test/command/suite/search/group/string.catalog.json
427
555
  - test/command/suite/search/group/string.expected
428
556
  - test/command/suite/search/group/string.test
429
557
  - test/command/suite/search/group/subrecord/with-sort.catalog.json
430
558
  - test/command/suite/search/group/subrecord/with-sort.expected
431
559
  - test/command/suite/search/group/subrecord/with-sort.test
560
+ - test/command/suite/search/multiple/chained.catalog.json
432
561
  - test/command/suite/search/multiple/chained.expected
433
562
  - test/command/suite/search/multiple/chained.test
434
563
  - test/command/suite/search/multiple/parallel.expected
@@ -436,6 +565,9 @@ files:
436
565
  - test/command/suite/search/output/attributes/invalid.catalog.json
437
566
  - test/command/suite/search/output/attributes/invalid.expected
438
567
  - test/command/suite/search/output/attributes/invalid.test
568
+ - test/command/suite/search/output/attributes/star.catalog.json
569
+ - test/command/suite/search/output/attributes/star.expected
570
+ - test/command/suite/search/output/attributes/star.test
439
571
  - test/command/suite/search/range/only-output.expected
440
572
  - test/command/suite/search/range/only-output.test
441
573
  - test/command/suite/search/range/only-sort.expected
@@ -518,27 +650,26 @@ files:
518
650
  - test/unit/test_watcher.rb
519
651
  homepage: https://github.com/droonga/droonga-engine
520
652
  licenses: []
653
+ metadata: {}
521
654
  post_install_message:
522
655
  rdoc_options: []
523
656
  require_paths:
524
657
  - lib
525
658
  required_ruby_version: !ruby/object:Gem::Requirement
526
- none: false
527
659
  requirements:
528
- - - ! '>='
660
+ - - '>='
529
661
  - !ruby/object:Gem::Version
530
662
  version: '0'
531
663
  required_rubygems_version: !ruby/object:Gem::Requirement
532
- none: false
533
664
  requirements:
534
- - - ! '>='
665
+ - - '>='
535
666
  - !ruby/object:Gem::Version
536
667
  version: '0'
537
668
  requirements: []
538
669
  rubyforge_project:
539
- rubygems_version: 1.8.11
670
+ rubygems_version: 2.0.14
540
671
  signing_key:
541
- specification_version: 3
672
+ specification_version: 4
542
673
  summary: Droonga engine
543
674
  test_files:
544
675
  - test/command/config/default/catalog.json
@@ -570,10 +701,37 @@ test_files:
570
701
  - test/command/suite/add/error/unknown-table.test
571
702
  - test/command/suite/add/minimum.expected
572
703
  - test/command/suite/add/minimum.test
704
+ - test/command/suite/add/vector/short_text.catalog.json
705
+ - test/command/suite/add/vector/short_text.expected
706
+ - test/command/suite/add/vector/short_text.test
573
707
  - test/command/suite/add/with-values.expected
574
708
  - test/command/suite/add/with-values.test
575
709
  - test/command/suite/add/without-key.expected
576
710
  - test/command/suite/add/without-key.test
711
+ - test/command/suite/dump/column/index.catalog.json
712
+ - test/command/suite/dump/column/index.expected
713
+ - test/command/suite/dump/column/index.test
714
+ - test/command/suite/dump/column/scalar.catalog.json
715
+ - test/command/suite/dump/column/scalar.expected
716
+ - test/command/suite/dump/column/scalar.test
717
+ - test/command/suite/dump/column/vector.catalog.json
718
+ - test/command/suite/dump/column/vector.expected
719
+ - test/command/suite/dump/column/vector.test
720
+ - test/command/suite/dump/record/vector/reference.catalog.json
721
+ - test/command/suite/dump/record/vector/reference.expected
722
+ - test/command/suite/dump/record/vector/reference.test
723
+ - test/command/suite/dump/table/array.catalog.json
724
+ - test/command/suite/dump/table/array.expected
725
+ - test/command/suite/dump/table/array.test
726
+ - test/command/suite/dump/table/double_array_trie.catalog.json
727
+ - test/command/suite/dump/table/double_array_trie.expected
728
+ - test/command/suite/dump/table/double_array_trie.test
729
+ - test/command/suite/dump/table/hash.catalog.json
730
+ - test/command/suite/dump/table/hash.expected
731
+ - test/command/suite/dump/table/hash.test
732
+ - test/command/suite/dump/table/patricia_trie.catalog.json
733
+ - test/command/suite/dump/table/patricia_trie.expected
734
+ - test/command/suite/dump/table/patricia_trie.test
577
735
  - test/command/suite/groonga/column_create/scalar.expected
578
736
  - test/command/suite/groonga/column_create/scalar.test
579
737
  - test/command/suite/groonga/column_create/unknown-table.expected
@@ -610,6 +768,9 @@ test_files:
610
768
  - test/command/suite/groonga/delete/unknown-table.test
611
769
  - test/command/suite/groonga/select/minimum.expected
612
770
  - test/command/suite/groonga/select/minimum.test
771
+ - test/command/suite/groonga/select/type/time.catalog.json
772
+ - test/command/suite/groonga/select/type/time.expected
773
+ - test/command/suite/groonga/select/type/time.test
613
774
  - test/command/suite/groonga/table_create/array.expected
614
775
  - test/command/suite/groonga/table_create/array.test
615
776
  - test/command/suite/groonga/table_create/hash.expected
@@ -638,8 +799,10 @@ test_files:
638
799
  - test/command/suite/search/attributes/hash.test
639
800
  - test/command/suite/search/complex.expected
640
801
  - test/command/suite/search/complex.test
802
+ - test/command/suite/search/condition/nested.catalog.json
641
803
  - test/command/suite/search/condition/nested.expected
642
804
  - test/command/suite/search/condition/nested.test
805
+ - test/command/suite/search/condition/query.catalog.json
643
806
  - test/command/suite/search/condition/query.expected
644
807
  - test/command/suite/search/condition/query.test
645
808
  - test/command/suite/search/condition/query/nonexistent_column.catalog.json
@@ -648,6 +811,7 @@ test_files:
648
811
  - test/command/suite/search/condition/query/syntax_error.catalog.json
649
812
  - test/command/suite/search/condition/query/syntax_error.expected
650
813
  - test/command/suite/search/condition/query/syntax_error.test
814
+ - test/command/suite/search/condition/script.catalog.json
651
815
  - test/command/suite/search/condition/script.expected
652
816
  - test/command/suite/search/condition/script.test
653
817
  - test/command/suite/search/error/cyclic-source.expected
@@ -664,11 +828,13 @@ test_files:
664
828
  - test/command/suite/search/group/count.test
665
829
  - test/command/suite/search/group/limit.expected
666
830
  - test/command/suite/search/group/limit.test
831
+ - test/command/suite/search/group/string.catalog.json
667
832
  - test/command/suite/search/group/string.expected
668
833
  - test/command/suite/search/group/string.test
669
834
  - test/command/suite/search/group/subrecord/with-sort.catalog.json
670
835
  - test/command/suite/search/group/subrecord/with-sort.expected
671
836
  - test/command/suite/search/group/subrecord/with-sort.test
837
+ - test/command/suite/search/multiple/chained.catalog.json
672
838
  - test/command/suite/search/multiple/chained.expected
673
839
  - test/command/suite/search/multiple/chained.test
674
840
  - test/command/suite/search/multiple/parallel.expected
@@ -676,6 +842,9 @@ test_files:
676
842
  - test/command/suite/search/output/attributes/invalid.catalog.json
677
843
  - test/command/suite/search/output/attributes/invalid.expected
678
844
  - test/command/suite/search/output/attributes/invalid.test
845
+ - test/command/suite/search/output/attributes/star.catalog.json
846
+ - test/command/suite/search/output/attributes/star.expected
847
+ - test/command/suite/search/output/attributes/star.test
679
848
  - test/command/suite/search/range/only-output.expected
680
849
  - test/command/suite/search/range/only-output.test
681
850
  - test/command/suite/search/range/only-sort.expected