[Groonga-commit] droonga/fluent-plugin-droonga at ef280fe [master] Don't set limit if there is no records output

Back to archive index

YUKI Hiroshi null+****@clear*****
Wed Nov 27 21:50:08 JST 2013


YUKI Hiroshi	2013-11-27 21:50:08 +0900 (Wed, 27 Nov 2013)

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

  Message:
    Don't set limit if there is no records output

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

  Modified: lib/droonga/plugin/distributor/search.rb (+9 -2)
===================================================================
--- lib/droonga/plugin/distributor/search.rb    2013-11-27 21:35:24 +0900 (be1d9d5)
+++ lib/droonga/plugin/distributor/search.rb    2013-11-27 21:50:08 +0900 (f9821b2)
@@ -94,6 +94,13 @@ module Droonga
     def calculate_offset_and_limit!(query)
       rich_sort = query["sortBy"].is_a?(Hash)
 
+      have_records = false
+      if query["output"] &&
+           query["output"]["elements"].is_a?(Array) &&
+           query["output"]["elements"].include?("records")
+        have_records = true
+      end
+
       # offset for workers must be zero.
       sort_offset = 0
       if rich_sort
@@ -102,7 +109,7 @@ module Droonga
       end
 
       output_offset = query["output"]["offset"] || 0
-      query["output"]["offset"] = 0
+      query["output"]["offset"] = 0 if have_records
 
       final_offset = sort_offset + output_offset
 
@@ -119,7 +126,7 @@ module Droonga
         sort_limit = query["sortBy"]["limit"] || UNLIMITED
       end
       output_limit = query["output"]["limit"] || 0
-      query["output"]["limit"] = UNLIMITED
+      query["output"]["limit"] = UNLIMITED if have_records
 
       final_limit = 0
       if sort_limit == UNLIMITED && output_limit == UNLIMITED
-------------- next part --------------
HTML����������������������������...
Download 



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