fluent-plugin-droonga 0.9.0 → 0.9.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +3 -0
- data/Gemfile +8 -1
- data/fluent-plugin-droonga.gemspec +2 -2
- data/lib/droonga/adapter.rb +39 -0
- data/lib/droonga/adapter_runner.rb +99 -0
- data/lib/droonga/catalog/base.rb +11 -11
- data/lib/droonga/catalog/dataset.rb +54 -0
- data/lib/droonga/catalog/version1.rb +1 -1
- data/lib/droonga/collector.rb +5 -7
- data/lib/droonga/collector_plugin.rb +7 -7
- data/lib/droonga/command.rb +36 -0
- data/lib/droonga/{plugin/input_adapter/crud.rb → command_repository.rb} +14 -8
- data/lib/droonga/dispatcher.rb +86 -54
- data/lib/droonga/distributed_command_planner.rb +183 -0
- data/lib/droonga/distributor.rb +43 -17
- data/lib/droonga/handler.rb +13 -72
- data/lib/droonga/handler_message.rb +5 -5
- data/lib/droonga/handler_messenger.rb +4 -1
- data/lib/droonga/handler_plugin.rb +2 -2
- data/lib/droonga/handler_runner.rb +104 -0
- data/lib/droonga/input_message.rb +4 -4
- data/lib/droonga/legacy_pluggable.rb +66 -0
- data/lib/droonga/{input_adapter.rb → legacy_plugin.rb} +27 -22
- data/lib/droonga/{plugin_repository.rb → legacy_plugin_repository.rb} +2 -4
- data/lib/droonga/message_matcher.rb +101 -0
- data/lib/droonga/{input_adapter_plugin.rb → planner.rb} +14 -10
- data/lib/droonga/planner_plugin.rb +54 -0
- data/lib/droonga/pluggable.rb +9 -45
- data/lib/droonga/plugin.rb +9 -33
- data/lib/droonga/plugin/collector/basic.rb +2 -0
- data/lib/droonga/plugin/collector/search.rb +31 -37
- data/lib/droonga/plugin/{handler/groonga/table_remove.rb → metadata/adapter_message.rb} +23 -18
- data/lib/droonga/plugin/{handler/search.rb → metadata/handler_action.rb} +19 -15
- data/lib/droonga/plugin/metadata/input_message.rb +39 -0
- data/lib/droonga/plugin/planner/crud.rb +49 -0
- data/lib/droonga/plugin/{distributor → planner}/distributed_search_planner.rb +62 -70
- data/lib/droonga/plugin/{distributor → planner}/groonga.rb +11 -32
- data/lib/droonga/plugin/{distributor → planner}/search.rb +5 -5
- data/lib/droonga/plugin/{distributor → planner}/watch.rb +15 -6
- data/lib/droonga/plugin_loader.rb +10 -0
- data/lib/droonga/plugin_registerable.rb +34 -10
- data/lib/droonga/plugin_registry.rb +58 -0
- data/lib/droonga/plugins/crud.rb +124 -0
- data/lib/droonga/plugins/error.rb +50 -0
- data/lib/droonga/{output_adapter_plugin.rb → plugins/groonga.rb} +9 -13
- data/lib/droonga/plugins/groonga/column_create.rb +123 -0
- data/lib/droonga/plugins/groonga/generic_command.rb +65 -0
- data/lib/droonga/{plugin/output_adapter/groonga.rb → plugins/groonga/generic_response.rb} +16 -15
- data/lib/droonga/plugins/groonga/select.rb +124 -0
- data/lib/droonga/plugins/groonga/table_create.rb +106 -0
- data/lib/droonga/plugins/groonga/table_remove.rb +57 -0
- data/lib/droonga/plugins/search.rb +40 -0
- data/lib/droonga/plugins/watch.rb +156 -0
- data/lib/droonga/processor.rb +8 -10
- data/lib/droonga/searcher.rb +14 -4
- data/lib/droonga/searcher/mecab_filter.rb +67 -0
- data/lib/droonga/session.rb +5 -5
- data/lib/droonga/test.rb +1 -1
- data/lib/droonga/test/stub_handler_message.rb +1 -1
- data/lib/droonga/test/{stub_distributor.rb → stub_planner.rb} +1 -1
- data/lib/droonga/worker.rb +7 -8
- data/lib/fluent/plugin/out_droonga.rb +0 -1
- data/sample/cluster/catalog.json +2 -4
- data/sample/mecab_filter/data.grn +7 -0
- data/sample/mecab_filter/ddl.grn +7 -0
- data/sample/mecab_filter/search_with_mecab_filter.json +21 -0
- data/sample/mecab_filter/search_without_mecab_filter.json +21 -0
- data/test/command/config/default/catalog.json +2 -5
- data/test/command/suite/search/error/no-query.expected +13 -0
- data/test/command/suite/search/error/no-query.test +7 -0
- data/test/command/suite/search/error/unknown-source.expected +26 -0
- data/test/command/suite/watch/subscribe.expected +3 -3
- data/test/command/suite/watch/unsubscribe.expected +3 -3
- data/test/unit/catalog/test_dataset.rb +385 -0
- data/test/unit/catalog/test_version1.rb +111 -45
- data/test/unit/fixtures/catalog/version1.json +0 -3
- data/test/unit/helper.rb +2 -1
- data/test/unit/helper/distributed_search_planner_helper.rb +83 -0
- data/test/unit/plugin/collector/test_basic.rb +233 -376
- data/test/unit/plugin/collector/test_search.rb +8 -17
- data/test/unit/plugin/planner/search_planner/test_basic.rb +120 -0
- data/test/unit/plugin/planner/search_planner/test_group_by.rb +573 -0
- data/test/unit/plugin/planner/search_planner/test_output.rb +388 -0
- data/test/unit/plugin/planner/search_planner/test_sort_by.rb +938 -0
- data/test/unit/plugin/{distributor → planner}/test_search.rb +20 -75
- data/test/unit/{plugin/handler → plugins/crud}/test_add.rb +11 -11
- data/test/unit/plugins/groonga/select/test_adapter_input.rb +213 -0
- data/test/unit/{plugin/output_adapter/groonga/test_select.rb → plugins/groonga/select/test_adapter_output.rb} +12 -13
- data/test/unit/{plugin/handler → plugins}/groonga/test_column_create.rb +20 -5
- data/test/unit/{plugin/handler → plugins}/groonga/test_table_create.rb +5 -0
- data/test/unit/{plugin/handler → plugins}/groonga/test_table_remove.rb +8 -1
- data/test/unit/{plugin/handler → plugins}/test_groonga.rb +5 -5
- data/test/unit/{plugin/handler → plugins}/test_search.rb +21 -5
- data/test/unit/{plugin/handler → plugins}/test_watch.rb +29 -10
- data/{lib/droonga/command_mapper.rb → test/unit/test_command_repository.rb} +16 -22
- data/test/unit/{test_plugin.rb → test_legacy_plugin.rb} +3 -3
- data/test/unit/{test_plugin_repository.rb → test_legacy_plugin_repository.rb} +3 -3
- data/test/unit/test_message_matcher.rb +137 -0
- metadata +86 -66
- data/bin/grn2jsons +0 -82
- data/lib/droonga/distribution_planner.rb +0 -76
- data/lib/droonga/distributor_plugin.rb +0 -95
- data/lib/droonga/output_adapter.rb +0 -53
- data/lib/droonga/plugin/collector/groonga.rb +0 -83
- data/lib/droonga/plugin/distributor/crud.rb +0 -84
- data/lib/droonga/plugin/handler/add.rb +0 -109
- data/lib/droonga/plugin/handler/forward.rb +0 -75
- data/lib/droonga/plugin/handler/groonga.rb +0 -99
- data/lib/droonga/plugin/handler/groonga/column_create.rb +0 -106
- data/lib/droonga/plugin/handler/groonga/table_create.rb +0 -91
- data/lib/droonga/plugin/handler/watch.rb +0 -108
- data/lib/droonga/plugin/input_adapter/groonga.rb +0 -49
- data/lib/droonga/plugin/input_adapter/groonga/select.rb +0 -63
- data/lib/droonga/plugin/output_adapter/crud.rb +0 -51
- data/lib/droonga/plugin/output_adapter/groonga/select.rb +0 -54
- data/lib/groonga_command_converter.rb +0 -143
- data/sample/fluentd.conf +0 -8
- data/test/unit/plugin/distributor/test_search_planner.rb +0 -1102
- data/test/unit/plugin/input_adapter/groonga/test_select.rb +0 -248
- data/test/unit/test_command_mapper.rb +0 -44
- data/test/unit/test_groonga_command_converter.rb +0 -242
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-droonga
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.9
|
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-
|
11
|
+
date: 2014-02-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fluentd
|
@@ -181,8 +181,7 @@ dependencies:
|
|
181
181
|
description: Droonga(distributed Groonga) plugin for Fluent event collector
|
182
182
|
email:
|
183
183
|
- droonga@groonga.org
|
184
|
-
executables:
|
185
|
-
- grn2jsons
|
184
|
+
executables: []
|
186
185
|
extensions: []
|
187
186
|
extra_rdoc_files: []
|
188
187
|
files:
|
@@ -199,21 +198,23 @@ files:
|
|
199
198
|
- benchmark/watch/benchmark-notify.sh
|
200
199
|
- benchmark/watch/benchmark-publish.rb
|
201
200
|
- benchmark/watch/benchmark-scan.rb
|
202
|
-
- bin/grn2jsons
|
203
201
|
- doc/text/news.md
|
204
202
|
- fluent-plugin-droonga.gemspec
|
203
|
+
- lib/droonga/adapter.rb
|
204
|
+
- lib/droonga/adapter_runner.rb
|
205
205
|
- lib/droonga/catalog.rb
|
206
206
|
- lib/droonga/catalog/base.rb
|
207
|
+
- lib/droonga/catalog/dataset.rb
|
207
208
|
- lib/droonga/catalog/version1.rb
|
208
209
|
- lib/droonga/catalog_loader.rb
|
209
210
|
- lib/droonga/catalog_observer.rb
|
210
211
|
- lib/droonga/collector.rb
|
211
212
|
- lib/droonga/collector_plugin.rb
|
212
|
-
- lib/droonga/
|
213
|
+
- lib/droonga/command.rb
|
214
|
+
- lib/droonga/command_repository.rb
|
213
215
|
- lib/droonga/dispatcher.rb
|
214
|
-
- lib/droonga/
|
216
|
+
- lib/droonga/distributed_command_planner.rb
|
215
217
|
- lib/droonga/distributor.rb
|
216
|
-
- lib/droonga/distributor_plugin.rb
|
217
218
|
- lib/droonga/engine.rb
|
218
219
|
- lib/droonga/event_loop.rb
|
219
220
|
- lib/droonga/farm.rb
|
@@ -223,65 +224,70 @@ files:
|
|
223
224
|
- lib/droonga/handler_message.rb
|
224
225
|
- lib/droonga/handler_messenger.rb
|
225
226
|
- lib/droonga/handler_plugin.rb
|
226
|
-
- lib/droonga/
|
227
|
-
- lib/droonga/input_adapter_plugin.rb
|
227
|
+
- lib/droonga/handler_runner.rb
|
228
228
|
- lib/droonga/input_message.rb
|
229
|
+
- lib/droonga/legacy_pluggable.rb
|
230
|
+
- lib/droonga/legacy_plugin.rb
|
231
|
+
- lib/droonga/legacy_plugin_repository.rb
|
229
232
|
- lib/droonga/logger.rb
|
233
|
+
- lib/droonga/message_matcher.rb
|
230
234
|
- lib/droonga/message_pack_packer.rb
|
231
235
|
- lib/droonga/message_processing_error.rb
|
232
236
|
- lib/droonga/message_pusher.rb
|
233
237
|
- lib/droonga/message_receiver.rb
|
234
|
-
- lib/droonga/output_adapter.rb
|
235
|
-
- lib/droonga/output_adapter_plugin.rb
|
236
238
|
- lib/droonga/output_message.rb
|
237
239
|
- lib/droonga/partition.rb
|
240
|
+
- lib/droonga/planner.rb
|
241
|
+
- lib/droonga/planner_plugin.rb
|
238
242
|
- lib/droonga/pluggable.rb
|
239
243
|
- lib/droonga/plugin.rb
|
240
244
|
- lib/droonga/plugin/collector/basic.rb
|
241
|
-
- lib/droonga/plugin/collector/groonga.rb
|
242
245
|
- lib/droonga/plugin/collector/search.rb
|
243
|
-
- lib/droonga/plugin/
|
244
|
-
- lib/droonga/plugin/
|
245
|
-
- lib/droonga/plugin/
|
246
|
-
- lib/droonga/plugin/
|
247
|
-
- lib/droonga/plugin/
|
248
|
-
- lib/droonga/plugin/
|
249
|
-
- lib/droonga/plugin/
|
250
|
-
- lib/droonga/plugin/
|
251
|
-
- lib/droonga/plugin/handler/groonga/column_create.rb
|
252
|
-
- lib/droonga/plugin/handler/groonga/table_create.rb
|
253
|
-
- lib/droonga/plugin/handler/groonga/table_remove.rb
|
254
|
-
- lib/droonga/plugin/handler/search.rb
|
255
|
-
- lib/droonga/plugin/handler/watch.rb
|
256
|
-
- lib/droonga/plugin/input_adapter/crud.rb
|
257
|
-
- lib/droonga/plugin/input_adapter/groonga.rb
|
258
|
-
- lib/droonga/plugin/input_adapter/groonga/select.rb
|
259
|
-
- lib/droonga/plugin/output_adapter/crud.rb
|
260
|
-
- lib/droonga/plugin/output_adapter/groonga.rb
|
261
|
-
- lib/droonga/plugin/output_adapter/groonga/select.rb
|
246
|
+
- lib/droonga/plugin/metadata/adapter_message.rb
|
247
|
+
- lib/droonga/plugin/metadata/handler_action.rb
|
248
|
+
- lib/droonga/plugin/metadata/input_message.rb
|
249
|
+
- lib/droonga/plugin/planner/crud.rb
|
250
|
+
- lib/droonga/plugin/planner/distributed_search_planner.rb
|
251
|
+
- lib/droonga/plugin/planner/groonga.rb
|
252
|
+
- lib/droonga/plugin/planner/search.rb
|
253
|
+
- lib/droonga/plugin/planner/watch.rb
|
262
254
|
- lib/droonga/plugin_loader.rb
|
263
255
|
- lib/droonga/plugin_registerable.rb
|
264
|
-
- lib/droonga/
|
256
|
+
- lib/droonga/plugin_registry.rb
|
257
|
+
- lib/droonga/plugins/crud.rb
|
258
|
+
- lib/droonga/plugins/error.rb
|
259
|
+
- lib/droonga/plugins/groonga.rb
|
260
|
+
- lib/droonga/plugins/groonga/column_create.rb
|
261
|
+
- lib/droonga/plugins/groonga/generic_command.rb
|
262
|
+
- lib/droonga/plugins/groonga/generic_response.rb
|
263
|
+
- lib/droonga/plugins/groonga/select.rb
|
264
|
+
- lib/droonga/plugins/groonga/table_create.rb
|
265
|
+
- lib/droonga/plugins/groonga/table_remove.rb
|
266
|
+
- lib/droonga/plugins/search.rb
|
267
|
+
- lib/droonga/plugins/watch.rb
|
265
268
|
- lib/droonga/processor.rb
|
266
269
|
- lib/droonga/replier.rb
|
267
270
|
- lib/droonga/searcher.rb
|
271
|
+
- lib/droonga/searcher/mecab_filter.rb
|
268
272
|
- lib/droonga/server.rb
|
269
273
|
- lib/droonga/session.rb
|
270
274
|
- lib/droonga/sweeper.rb
|
271
275
|
- lib/droonga/test.rb
|
272
|
-
- lib/droonga/test/stub_distributor.rb
|
273
276
|
- lib/droonga/test/stub_handler.rb
|
274
277
|
- lib/droonga/test/stub_handler_message.rb
|
275
278
|
- lib/droonga/test/stub_handler_messenger.rb
|
279
|
+
- lib/droonga/test/stub_planner.rb
|
276
280
|
- lib/droonga/time_formatter.rb
|
277
281
|
- lib/droonga/watch_schema.rb
|
278
282
|
- lib/droonga/watcher.rb
|
279
283
|
- lib/droonga/worker.rb
|
280
284
|
- lib/fluent/plugin/out_droonga.rb
|
281
|
-
- lib/groonga_command_converter.rb
|
282
285
|
- sample/cluster/catalog.json
|
283
286
|
- sample/cluster/fluentd.conf
|
284
|
-
- sample/
|
287
|
+
- sample/mecab_filter/data.grn
|
288
|
+
- sample/mecab_filter/ddl.grn
|
289
|
+
- sample/mecab_filter/search_with_mecab_filter.json
|
290
|
+
- sample/mecab_filter/search_without_mecab_filter.json
|
285
291
|
- test/command/config/default/catalog.json
|
286
292
|
- test/command/config/default/fluentd.conf
|
287
293
|
- test/command/fixture/documents.jsons
|
@@ -347,6 +353,8 @@ files:
|
|
347
353
|
- test/command/suite/search/error/deeply-cyclic-source.test
|
348
354
|
- test/command/suite/search/error/missing-source-parameter.expected
|
349
355
|
- test/command/suite/search/error/missing-source-parameter.test
|
356
|
+
- test/command/suite/search/error/no-query.expected
|
357
|
+
- test/command/suite/search/error/no-query.test
|
350
358
|
- test/command/suite/search/error/unknown-source.expected
|
351
359
|
- test/command/suite/search/error/unknown-source.test
|
352
360
|
- test/command/suite/search/group/count.expected
|
@@ -386,6 +394,7 @@ files:
|
|
386
394
|
- test/performance/watch/feed.json
|
387
395
|
- test/performance/watch/fluentd.conf
|
388
396
|
- test/performance/watch/subscribe.json
|
397
|
+
- test/unit/catalog/test_dataset.rb
|
389
398
|
- test/unit/catalog/test_version1.rb
|
390
399
|
- test/unit/fixtures/array.grn
|
391
400
|
- test/unit/fixtures/catalog/version1.json
|
@@ -393,6 +402,7 @@ files:
|
|
393
402
|
- test/unit/fixtures/reference/array.grn
|
394
403
|
- test/unit/fixtures/reference/hash.grn
|
395
404
|
- test/unit/helper.rb
|
405
|
+
- test/unit/helper/distributed_search_planner_helper.rb
|
396
406
|
- test/unit/helper/fixture.rb
|
397
407
|
- test/unit/helper/plugin_helper.rb
|
398
408
|
- test/unit/helper/sandbox.rb
|
@@ -400,24 +410,27 @@ files:
|
|
400
410
|
- test/unit/helper/watch_helper.rb
|
401
411
|
- test/unit/plugin/collector/test_basic.rb
|
402
412
|
- test/unit/plugin/collector/test_search.rb
|
403
|
-
- test/unit/plugin/
|
404
|
-
- test/unit/plugin/
|
405
|
-
- test/unit/plugin/
|
406
|
-
- test/unit/plugin/
|
407
|
-
- test/unit/plugin/
|
408
|
-
- test/unit/
|
409
|
-
- test/unit/
|
410
|
-
- test/unit/
|
411
|
-
- test/unit/
|
412
|
-
- test/unit/
|
413
|
-
- test/unit/
|
413
|
+
- test/unit/plugin/planner/search_planner/test_basic.rb
|
414
|
+
- test/unit/plugin/planner/search_planner/test_group_by.rb
|
415
|
+
- test/unit/plugin/planner/search_planner/test_output.rb
|
416
|
+
- test/unit/plugin/planner/search_planner/test_sort_by.rb
|
417
|
+
- test/unit/plugin/planner/test_search.rb
|
418
|
+
- test/unit/plugins/crud/test_add.rb
|
419
|
+
- test/unit/plugins/groonga/select/test_adapter_input.rb
|
420
|
+
- test/unit/plugins/groonga/select/test_adapter_output.rb
|
421
|
+
- test/unit/plugins/groonga/test_column_create.rb
|
422
|
+
- test/unit/plugins/groonga/test_table_create.rb
|
423
|
+
- test/unit/plugins/groonga/test_table_remove.rb
|
424
|
+
- test/unit/plugins/test_groonga.rb
|
425
|
+
- test/unit/plugins/test_search.rb
|
426
|
+
- test/unit/plugins/test_watch.rb
|
414
427
|
- test/unit/run-test.rb
|
415
|
-
- test/unit/
|
416
|
-
- test/unit/
|
428
|
+
- test/unit/test_command_repository.rb
|
429
|
+
- test/unit/test_legacy_plugin.rb
|
430
|
+
- test/unit/test_legacy_plugin_repository.rb
|
431
|
+
- test/unit/test_message_matcher.rb
|
417
432
|
- test/unit/test_message_pack_packer.rb
|
418
433
|
- test/unit/test_output.rb
|
419
|
-
- test/unit/test_plugin.rb
|
420
|
-
- test/unit/test_plugin_repository.rb
|
421
434
|
- test/unit/test_sweeper.rb
|
422
435
|
- test/unit/test_time_formatter.rb
|
423
436
|
- test/unit/test_watch_schema.rb
|
@@ -511,6 +524,8 @@ test_files:
|
|
511
524
|
- test/command/suite/search/error/deeply-cyclic-source.test
|
512
525
|
- test/command/suite/search/error/missing-source-parameter.expected
|
513
526
|
- test/command/suite/search/error/missing-source-parameter.test
|
527
|
+
- test/command/suite/search/error/no-query.expected
|
528
|
+
- test/command/suite/search/error/no-query.test
|
514
529
|
- test/command/suite/search/error/unknown-source.expected
|
515
530
|
- test/command/suite/search/error/unknown-source.test
|
516
531
|
- test/command/suite/search/group/count.expected
|
@@ -550,6 +565,7 @@ test_files:
|
|
550
565
|
- test/performance/watch/feed.json
|
551
566
|
- test/performance/watch/fluentd.conf
|
552
567
|
- test/performance/watch/subscribe.json
|
568
|
+
- test/unit/catalog/test_dataset.rb
|
553
569
|
- test/unit/catalog/test_version1.rb
|
554
570
|
- test/unit/fixtures/array.grn
|
555
571
|
- test/unit/fixtures/catalog/version1.json
|
@@ -557,6 +573,7 @@ test_files:
|
|
557
573
|
- test/unit/fixtures/reference/array.grn
|
558
574
|
- test/unit/fixtures/reference/hash.grn
|
559
575
|
- test/unit/helper.rb
|
576
|
+
- test/unit/helper/distributed_search_planner_helper.rb
|
560
577
|
- test/unit/helper/fixture.rb
|
561
578
|
- test/unit/helper/plugin_helper.rb
|
562
579
|
- test/unit/helper/sandbox.rb
|
@@ -564,24 +581,27 @@ test_files:
|
|
564
581
|
- test/unit/helper/watch_helper.rb
|
565
582
|
- test/unit/plugin/collector/test_basic.rb
|
566
583
|
- test/unit/plugin/collector/test_search.rb
|
567
|
-
- test/unit/plugin/
|
568
|
-
- test/unit/plugin/
|
569
|
-
- test/unit/plugin/
|
570
|
-
- test/unit/plugin/
|
571
|
-
- test/unit/plugin/
|
572
|
-
- test/unit/
|
573
|
-
- test/unit/
|
574
|
-
- test/unit/
|
575
|
-
- test/unit/
|
576
|
-
- test/unit/
|
577
|
-
- test/unit/
|
584
|
+
- test/unit/plugin/planner/search_planner/test_basic.rb
|
585
|
+
- test/unit/plugin/planner/search_planner/test_group_by.rb
|
586
|
+
- test/unit/plugin/planner/search_planner/test_output.rb
|
587
|
+
- test/unit/plugin/planner/search_planner/test_sort_by.rb
|
588
|
+
- test/unit/plugin/planner/test_search.rb
|
589
|
+
- test/unit/plugins/crud/test_add.rb
|
590
|
+
- test/unit/plugins/groonga/select/test_adapter_input.rb
|
591
|
+
- test/unit/plugins/groonga/select/test_adapter_output.rb
|
592
|
+
- test/unit/plugins/groonga/test_column_create.rb
|
593
|
+
- test/unit/plugins/groonga/test_table_create.rb
|
594
|
+
- test/unit/plugins/groonga/test_table_remove.rb
|
595
|
+
- test/unit/plugins/test_groonga.rb
|
596
|
+
- test/unit/plugins/test_search.rb
|
597
|
+
- test/unit/plugins/test_watch.rb
|
578
598
|
- test/unit/run-test.rb
|
579
|
-
- test/unit/
|
580
|
-
- test/unit/
|
599
|
+
- test/unit/test_command_repository.rb
|
600
|
+
- test/unit/test_legacy_plugin.rb
|
601
|
+
- test/unit/test_legacy_plugin_repository.rb
|
602
|
+
- test/unit/test_message_matcher.rb
|
581
603
|
- test/unit/test_message_pack_packer.rb
|
582
604
|
- test/unit/test_output.rb
|
583
|
-
- test/unit/test_plugin.rb
|
584
|
-
- test/unit/test_plugin_repository.rb
|
585
605
|
- test/unit/test_sweeper.rb
|
586
606
|
- test/unit/test_time_formatter.rb
|
587
607
|
- test/unit/test_watch_schema.rb
|
data/bin/grn2jsons
DELETED
@@ -1,82 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
# -*- coding: utf-8 -*-
|
3
|
-
#
|
4
|
-
# Copyright (C) 2013 Droonga Project
|
5
|
-
#
|
6
|
-
# This library is free software; you can redistribute it and/or
|
7
|
-
# modify it under the terms of the GNU Lesser General Public
|
8
|
-
# License version 2.1 as published by the Free Software Foundation.
|
9
|
-
#
|
10
|
-
# This library is distributed in the hope that it will be useful,
|
11
|
-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
12
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
13
|
-
# Lesser General Public License for more details.
|
14
|
-
#
|
15
|
-
# You should have received a copy of the GNU Lesser General Public
|
16
|
-
# License along with this library; if not, write to the Free Software
|
17
|
-
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
18
|
-
|
19
|
-
require "groonga_command_converter"
|
20
|
-
require "json"
|
21
|
-
require "ostruct"
|
22
|
-
require "optparse"
|
23
|
-
|
24
|
-
options = OpenStruct.new
|
25
|
-
option_parser = OptionParser.new do |parser|
|
26
|
-
parser.on("-i=ID", "--id=ID",
|
27
|
-
"base id. (optional)") do |id|
|
28
|
-
options.id = id
|
29
|
-
end
|
30
|
-
|
31
|
-
parser.on("-d=DATE", "--date=DATE",
|
32
|
-
"date. (optional)") do |date|
|
33
|
-
options.date = date
|
34
|
-
end
|
35
|
-
|
36
|
-
parser.on("-r=REPLYTO", "--reply-to=REPLYTO",
|
37
|
-
"value of replyTo field.") do |reply_to|
|
38
|
-
options.reply_to = reply_to
|
39
|
-
end
|
40
|
-
|
41
|
-
parser.on("-s=DATASET", "--dataset=DATASET",
|
42
|
-
"dataset.") do |dataset|
|
43
|
-
options.dataset = dataset
|
44
|
-
end
|
45
|
-
end
|
46
|
-
args = option_parser.parse!(ARGV)
|
47
|
-
|
48
|
-
if options.dataset.nil?
|
49
|
-
raise "You must specify the name of the dataset by --dataset option."
|
50
|
-
end
|
51
|
-
|
52
|
-
convert_options = {
|
53
|
-
:id => options.id,
|
54
|
-
:date => options.date,
|
55
|
-
:reply_to => options.reply_to,
|
56
|
-
:dataset => options.dataset,
|
57
|
-
}
|
58
|
-
converter = Droonga::GroongaCommandConverter.new(convert_options)
|
59
|
-
|
60
|
-
source_file = args[0]
|
61
|
-
result_file = args[1]
|
62
|
-
|
63
|
-
input = nil
|
64
|
-
if source_file.nil?
|
65
|
-
input = STDIN.read
|
66
|
-
else
|
67
|
-
input = File.read(source_file)
|
68
|
-
end
|
69
|
-
|
70
|
-
result_file = args[1]
|
71
|
-
|
72
|
-
if result_file.nil?
|
73
|
-
converter.convert(input) do |command|
|
74
|
-
puts(JSON.generate(command))
|
75
|
-
end
|
76
|
-
else
|
77
|
-
File.open("w", result_file) do |file|
|
78
|
-
converter.convert(input) do |command|
|
79
|
-
file.puts(JSON.generate(command))
|
80
|
-
end
|
81
|
-
end
|
82
|
-
end
|
@@ -1,76 +0,0 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
|
-
#
|
3
|
-
# Copyright (C) 2013 Droonga Project
|
4
|
-
#
|
5
|
-
# This library is free software; you can redistribute it and/or
|
6
|
-
# modify it under the terms of the GNU Lesser General Public
|
7
|
-
# License version 2.1 as published by the Free Software Foundation.
|
8
|
-
#
|
9
|
-
# This library is distributed in the hope that it will be useful,
|
10
|
-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
12
|
-
# Lesser General Public License for more details.
|
13
|
-
#
|
14
|
-
# You should have received a copy of the GNU Lesser General Public
|
15
|
-
# License along with this library; if not, write to the Free Software
|
16
|
-
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
17
|
-
|
18
|
-
require "tsort"
|
19
|
-
|
20
|
-
module Droonga
|
21
|
-
class DistributionPlanner
|
22
|
-
class UndefinedInputError < StandardError
|
23
|
-
attr_reader :input
|
24
|
-
def initialize(input)
|
25
|
-
@input = input
|
26
|
-
super("undefined input assigned: <#{input}>")
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
class CyclicComponentsError < StandardError
|
31
|
-
attr_reader :components
|
32
|
-
def initialize(components)
|
33
|
-
@components = components
|
34
|
-
super("cyclic components found: <#{components}>")
|
35
|
-
end
|
36
|
-
end
|
37
|
-
|
38
|
-
include TSort
|
39
|
-
|
40
|
-
def initialize(dispatcher, components)
|
41
|
-
@dispatcher = dispatcher
|
42
|
-
@components = components
|
43
|
-
end
|
44
|
-
|
45
|
-
def plan
|
46
|
-
@dependency = {}
|
47
|
-
@components.each do |component|
|
48
|
-
@dependency[component] = component["inputs"]
|
49
|
-
next unless component["outputs"]
|
50
|
-
component["outputs"].each do |output|
|
51
|
-
@dependency[output] = [component]
|
52
|
-
end
|
53
|
-
end
|
54
|
-
components = []
|
55
|
-
each_strongly_connected_component do |cs|
|
56
|
-
raise CyclicComponentsError.new(cs) if cs.size > 1
|
57
|
-
components.concat(cs) unless cs.first.is_a? String
|
58
|
-
end
|
59
|
-
components
|
60
|
-
end
|
61
|
-
|
62
|
-
private
|
63
|
-
def tsort_each_node(&block)
|
64
|
-
@dependency.each_key(&block)
|
65
|
-
end
|
66
|
-
|
67
|
-
def tsort_each_child(node, &block)
|
68
|
-
if node.is_a? String and @dependency[node].nil?
|
69
|
-
raise UndefinedInputError.new(node)
|
70
|
-
end
|
71
|
-
if @dependency[node]
|
72
|
-
@dependency[node].each(&block)
|
73
|
-
end
|
74
|
-
end
|
75
|
-
end
|
76
|
-
end
|
@@ -1,95 +0,0 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
|
-
#
|
3
|
-
# Copyright (C) 2013 Droonga Project
|
4
|
-
#
|
5
|
-
# This library is free software; you can redistribute it and/or
|
6
|
-
# modify it under the terms of the GNU Lesser General Public
|
7
|
-
# License version 2.1 as published by the Free Software Foundation.
|
8
|
-
#
|
9
|
-
# This library is distributed in the hope that it will be useful,
|
10
|
-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
12
|
-
# Lesser General Public License for more details.
|
13
|
-
#
|
14
|
-
# You should have received a copy of the GNU Lesser General Public
|
15
|
-
# License along with this library; if not, write to the Free Software
|
16
|
-
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
17
|
-
|
18
|
-
require "droonga/plugin"
|
19
|
-
|
20
|
-
module Droonga
|
21
|
-
class DistributorPlugin < Plugin
|
22
|
-
extend PluginRegisterable
|
23
|
-
|
24
|
-
def initialize(distributor)
|
25
|
-
super()
|
26
|
-
@distributor = distributor
|
27
|
-
end
|
28
|
-
|
29
|
-
def distribute(message)
|
30
|
-
@distributor.distribute(message)
|
31
|
-
end
|
32
|
-
|
33
|
-
def scatter_all(message, key)
|
34
|
-
messages = [reducer(message), gatherer(message), scatterer(message, key)]
|
35
|
-
distribute(messages)
|
36
|
-
end
|
37
|
-
|
38
|
-
def broadcast_all(message)
|
39
|
-
messages = [reducer(message), gatherer(message), broadcaster(message)]
|
40
|
-
distribute(messages)
|
41
|
-
end
|
42
|
-
|
43
|
-
private
|
44
|
-
def process_error(command, error, arguments)
|
45
|
-
if error.is_a?(MessageProcessingError)
|
46
|
-
raise error
|
47
|
-
else
|
48
|
-
super
|
49
|
-
end
|
50
|
-
end
|
51
|
-
|
52
|
-
def scatterer(message, key)
|
53
|
-
{
|
54
|
-
"command" => message["type"],
|
55
|
-
"dataset" => message["dataset"],
|
56
|
-
"body" => message["body"],
|
57
|
-
"key" => key,
|
58
|
-
"type" => "scatter",
|
59
|
-
"outputs" => [],
|
60
|
-
"replica" => "all",
|
61
|
-
"post" => true
|
62
|
-
}
|
63
|
-
end
|
64
|
-
|
65
|
-
def broadcaster(message)
|
66
|
-
{
|
67
|
-
"command" => message["type"],
|
68
|
-
"dataset" => message["dataset"],
|
69
|
-
"body" => message["body"],
|
70
|
-
"type" => "broadcast",
|
71
|
-
"outputs" => [],
|
72
|
-
"replica" => "all",
|
73
|
-
"post" => true
|
74
|
-
}
|
75
|
-
end
|
76
|
-
|
77
|
-
def reducer(message)
|
78
|
-
{
|
79
|
-
"type" => "reduce",
|
80
|
-
"body" => {},
|
81
|
-
"inputs" => [],
|
82
|
-
"outputs" => [],
|
83
|
-
}
|
84
|
-
end
|
85
|
-
|
86
|
-
def gatherer(message)
|
87
|
-
{
|
88
|
-
"type" => "gather",
|
89
|
-
"body" => {},
|
90
|
-
"inputs" => [],
|
91
|
-
"post" => true,
|
92
|
-
}
|
93
|
-
end
|
94
|
-
end
|
95
|
-
end
|