[Groonga-commit] ranguba/groonga-client at 80aaae1 [master] scorer can't be merged

Back to archive index

Kouhei Sutou null+****@clear*****
Wed May 31 15:28:30 JST 2017


Kouhei Sutou	2017-05-31 15:28:30 +0900 (Wed, 31 May 2017)

  New Revision: 80aaae133bfa2946288324f03ee8ca1d2ab52e87
  https://github.com/ranguba/groonga-client/commit/80aaae133bfa2946288324f03ee8ca1d2ab52e87

  Message:
    scorer can't be merged
    
    "(_score = XXX) && (_score = YYY)" is invalid.

  Modified files:
    lib/groonga/client/request/select.rb
    test/request/select/test-scorer.rb

  Modified: lib/groonga/client/request/select.rb (+1 -18)
===================================================================
--- lib/groonga/client/request/select.rb    2017-05-31 15:25:22 +0900 (2a3792a)
+++ lib/groonga/client/request/select.rb    2017-05-31 15:28:30 +0900 (a428508)
@@ -164,7 +164,7 @@ module Groonga
             expression = expression_or_column_name
             values = values_or_value
           end
-          add_parameter(ScorerMerger,
+          add_parameter(OverwriteMerger,
                         ScorerExpressionParameter.new(expression, values))
         end
 
@@ -658,23 +658,6 @@ module Groonga
         end
 
         # @private
-        class ScorerMerger < ParameterMerger
-          def to_parameters
-            params1 =****@param*****_parameters
-            params2 =****@param*****_parameters
-            params = params1.merge(params2)
-            scorer1 = params1[:scorer]
-            scorer2 = params2[:scorer]
-            if scorer1 and scorer2
-              params[:scorer] = "(#{scorer1}) && (#{scorer2})"
-            elsif scorer1 or scorer2
-              params[:scorer] = (scorer1 || scorer2)
-            end
-            params
-          end
-        end
-
-        # @private
         module ScriptSyntaxValueEscapable
           private
           def escape_script_syntax_value(value)

  Modified: test/request/select/test-scorer.rb (+11 -0)
===================================================================
--- test/request/select/test-scorer.rb    2017-05-31 15:25:22 +0900 (4732245)
+++ test/request/select/test-scorer.rb    2017-05-31 15:28:30 +0900 (372d1e2)
@@ -98,4 +98,15 @@ class TestRequestSelectScorer < Test::Unit::TestCase
                           :value => 29))
     end
   end
+
+  def test_multiple
+      assert_equal({
+                     :table => "posts",
+                     :scorer => "_score = age",
+                   },
+                   @request.
+                     scorer("_score = %{value}", :value => 29).
+                     scorer(:age).
+                     to_parameters)
+  end
 end
-------------- next part --------------
HTML����������������������������...
Download 



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