YUKI Hiroshi
null+****@clear*****
Wed Dec 4 16:04:18 JST 2013
YUKI Hiroshi 2013-12-04 16:04:18 +0900 (Wed, 04 Dec 2013) New Revision: bd52e03652054feea241f02eff62a00c000c3221 https://github.com/droonga/fluent-plugin-droonga/commit/bd52e03652054feea241f02eff62a00c000c3221 Message: Detect unifibility for chained queries correctly Modified files: lib/droonga/plugin/distributor/search.rb Modified: lib/droonga/plugin/distributor/search.rb (+10 -2) =================================================================== --- lib/droonga/plugin/distributor/search.rb 2013-12-04 15:59:02 +0900 (c309e63) +++ lib/droonga/plugin/distributor/search.rb 2013-12-04 16:04:18 +0900 (05c7e42) @@ -31,8 +31,8 @@ module Droonga request = envelope["body"] queries = request["queries"] - queries.each do |input_name, query| - if query["groupBy"] && query["output"] + queries.each do |name, query| + if can_be_unified?(name, queries) && query["output"] query["output"]["canUnify"] = true end end @@ -130,6 +130,14 @@ module Droonga private UNLIMITED = -1 + def can_be_unified?(name, queries) + query = queries[name] + return true if query["groupBy"] + name = query["source"] + return false unless queries.keys.include?(name) + can_be_unified?(name, queries) + end + def calculate_offset_and_limit!(query) rich_sort = query["sortBy"].is_a?(Hash) -------------- next part -------------- HTML����������������������������...下載