[Groonga-commit] droonga/droonga-engine at b753105 [master] Add "all_nodes" method to collect all defined nodes in a catalog

Back to archive index

YUKI Hiroshi null+****@clear*****
Fri May 9 11:14:31 JST 2014


YUKI Hiroshi	2014-05-09 11:14:31 +0900 (Fri, 09 May 2014)

  New Revision: b7531057f8c9595b7c76b306ffbff61b32539aec
  https://github.com/droonga/droonga-engine/commit/b7531057f8c9595b7c76b306ffbff61b32539aec

  Message:
    Add "all_nodes" method to collect all defined nodes in a catalog

  Modified files:
    lib/droonga/catalog/collection_volume.rb
    lib/droonga/catalog/dataset.rb
    lib/droonga/catalog/single_volume.rb
    lib/droonga/catalog/slice.rb
    lib/droonga/catalog/version1.rb
    lib/droonga/catalog/version2.rb
    lib/droonga/catalog/volume_collection.rb

  Modified: lib/droonga/catalog/collection_volume.rb (+8 -0)
===================================================================
--- lib/droonga/catalog/collection_volume.rb    2014-05-08 20:01:21 +0900 (b531b30)
+++ lib/droonga/catalog/collection_volume.rb    2014-05-09 11:14:31 +0900 (ef8cc1a)
@@ -69,6 +69,14 @@ module Droonga
         slicer == "hash"
       end
 
+      def all_nodes
+        nodes = []
+        slices.each do |slice|
+          nodes += slice.all_nodes
+        end
+        nodes.uniq.sort
+      end
+
       private
       def compute_continuum
         total_weight = compute_total_weight

  Modified: lib/droonga/catalog/dataset.rb (+4 -0)
===================================================================
--- lib/droonga/catalog/dataset.rb    2014-05-08 20:01:21 +0900 (b010492)
+++ lib/droonga/catalog/dataset.rb    2014-05-09 11:14:31 +0900 (62b79af)
@@ -58,6 +58,10 @@ module Droonga
         @replicas ||= VolumeCollection.new(create_volumes(@data["replicas"]))
       end
 
+      def all_nodes
+        replicas.all_nodes
+      end
+
       private
       def create_volumes(raw_volumes)
         raw_volumes.collect do |raw_volume|

  Modified: lib/droonga/catalog/single_volume.rb (+4 -0)
===================================================================
--- lib/droonga/catalog/single_volume.rb    2014-05-08 20:01:21 +0900 (f9357ec)
+++ lib/droonga/catalog/single_volume.rb    2014-05-09 11:14:31 +0900 (c851266)
@@ -23,6 +23,10 @@ module Droonga
       def address
         @data["address"]
       end
+
+      def all_nodes
+        [address.split("/").first]
+      end
     end
   end
 end

  Modified: lib/droonga/catalog/slice.rb (+4 -0)
===================================================================
--- lib/droonga/catalog/slice.rb    2014-05-08 20:01:21 +0900 (1e61645)
+++ lib/droonga/catalog/slice.rb    2014-05-09 11:14:31 +0900 (94e9b3a)
@@ -36,6 +36,10 @@ module Droonga
       def volume
         @volume ||= Volume.create(@dataset, @data["volume"])
       end
+
+      def all_nodes
+        volume.all_nodes
+      end
     end
   end
 end

  Modified: lib/droonga/catalog/version1.rb (+8 -0)
===================================================================
--- lib/droonga/catalog/version1.rb    2014-05-08 20:01:21 +0900 (3f51a4f)
+++ lib/droonga/catalog/version1.rb    2014-05-09 11:14:31 +0900 (712bbd4)
@@ -115,6 +115,14 @@ module Droonga
         end
       end
 
+      def all_nodes
+        nodes = []
+        @datasets.each do |dataset|
+          nodes += dataset.all_nodes
+        end
+        nodes.sort.uniq
+      end
+
       private
       def prepare_data
         @datasets = {}

  Modified: lib/droonga/catalog/version2.rb (+8 -0)
===================================================================
--- lib/droonga/catalog/version2.rb    2014-05-08 20:01:21 +0900 (df9f8a6)
+++ lib/droonga/catalog/version2.rb    2014-05-09 11:14:31 +0900 (84cb1a8)
@@ -79,6 +79,14 @@ module Droonga
         routes
       end
 
+      def all_nodes
+        nodes = []
+        @datasets.each do |dataset|
+          nodes += dataset.all_nodes
+        end
+        nodes.sort.uniq
+      end
+
       private
       def validate
         validator = Version2Validator.new(@data, @path)

  Modified: lib/droonga/catalog/volume_collection.rb (+8 -0)
===================================================================
--- lib/droonga/catalog/volume_collection.rb    2014-05-08 20:01:21 +0900 (478e782)
+++ lib/droonga/catalog/volume_collection.rb    2014-05-09 11:14:31 +0900 (0eb9194)
@@ -51,6 +51,14 @@ module Droonga
           super
         end
       end
+
+      def all_nodes
+        nodes = []
+        @volumes.each do |volume|
+          nodes += volume.all_nodes
+        end
+        nodes.sort.uniq
+      end
     end
   end
 end
-------------- next part --------------
HTML����������������������������...
下載 



More information about the Groonga-commit mailing list
Back to archive index