[Groonga-commit] droonga/fluent-plugin-droonga at 8b46823 [master] Use instnace variable to share information for count mapper/reducer and records mapper/reducer

Back to archive index

YUKI Hiroshi null+****@clear*****
Thu Dec 5 14:00:40 JST 2013


YUKI Hiroshi	2013-12-05 14:00:40 +0900 (Thu, 05 Dec 2013)

  New Revision: 8b46823f6b5e6545c761f29ba13a3272de2aa6be
  https://github.com/droonga/fluent-plugin-droonga/commit/8b46823f6b5e6545c761f29ba13a3272de2aa6be

  Message:
    Use instnace variable to share information for count mapper/reducer and records mapper/reducer

  Modified files:
    lib/droonga/plugin/distributor/distributed_search_plan.rb

  Modified: lib/droonga/plugin/distributor/distributed_search_plan.rb (+10 -10)
===================================================================
--- lib/droonga/plugin/distributor/distributed_search_plan.rb    2013-12-05 13:58:14 +0900 (9ddb101)
+++ lib/droonga/plugin/distributor/distributed_search_plan.rb    2013-12-05 14:00:40 +0900 (f236f75)
@@ -118,6 +118,7 @@ module Droonga
         @query = query
         @reducers = {}
         @mappers = {}
+        @output_records = true
         transform!
       end
 
@@ -130,9 +131,7 @@ module Droonga
         final_format = output["format"] || "simple"
         output["format"] = "simple"
 
-        final_offset, final_limit = calculate_offset_and_limit!
-
-        no_output_records = false
+        calculate_offset_and_limit!
 
         if output["elements"].include?("count")
           @reducers["count"] = {
@@ -148,17 +147,17 @@ module Droonga
               "target" => "records",
             }
             unless output["elements"].include?("records")
-              final_limit = -1
+              @records_limit = -1
               output["elements"] << "records"
               output["attributes"] ||= ["_key"]
-              no_output_records = true
+              @output_records = false
             end
             @mappers["count"] = count_mapper
           end
         end
 
         # Skip reducing phase for a result with no record output.
-        if output["elements"].include?("records") && !final_limit.zero?
+        if output["elements"].include?("records") && !@records_limit.zero?
           # Append sort key attributes to the list of output attributes
           # temporarily, for the reducing phase. After all extra columns
           # are removed on the gathering phase.
@@ -182,12 +181,12 @@ module Droonga
 
           records_mapper = {
             "type" => "sort",
-            "offset" => final_offset,
-            "limit" => final_limit,
+            "offset" => @records_offset,
+            "limit" => @records_limit,
             "format" => final_format,
             "attributes" => final_attributes,
           }
-          records_mapper["no_output"] = true if no_output_records
+          records_mapper["no_output"] = true unless @output_records
           @mappers["records"] = records_mapper
         end
       end
@@ -245,7 +244,8 @@ module Droonga
           @query["output"]["limit"] = final_offset + final_limit
         end
 
-        [final_offset, final_limit]
+        @records_offset = final_offset
+        @records_limit = final_limit
       end
 
       def format_attributes_to_array_style(attributes)
-------------- next part --------------
HTML����������������������������...
下载 



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