[Groonga-commit] groonga/groonga at 484b61f [master] optimize: remove needless logical operation node

Back to archive index
Kouhei Sutou null+****@clear*****
Fri Apr 26 10:31:21 JST 2019


Kouhei Sutou	2019-04-26 10:31:21 +0900 (Fri, 26 Apr 2019)

  Revision: 484b61f44f68c928a0345d4de36fa2e6cbe10b04
  https://github.com/groonga/groonga/commit/484b61f44f68c928a0345d4de36fa2e6cbe10b04

  Message:
    optimize: remove needless logical operation node

  Modified files:
    lib/mrb/scripts/expression_rewriters/optimizer.rb

  Modified: lib/mrb/scripts/expression_rewriters/optimizer.rb (+6 -2)
===================================================================
--- lib/mrb/scripts/expression_rewriters/optimizer.rb    2019-04-26 10:30:45 +0900 (cbf1770f5)
+++ lib/mrb/scripts/expression_rewriters/optimizer.rb    2019-04-26 10:31:21 +0900 (d3c4225c7)
@@ -33,8 +33,12 @@ module Groonga
               optimized_sub_nodes =
                 optimize_or_sub_nodes(table, optimized_sub_nodes)
             end
-            ExpressionTree::LogicalOperation.new(optimized_node.operator,
-                                                 optimized_sub_nodes)
+            if optimized_sub_nodes.size == 1
+              optimized_sub_nodes[0]
+            else
+              ExpressionTree::LogicalOperation.new(optimized_node.operator,
+                                                   optimized_sub_nodes)
+            end
           end
         when ExpressionTree::BinaryOperation
           optimize_binary_operation_node(table, node)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.osdn.me/mailman/archives/groonga-commit/attachments/20190426/7c681820/attachment.html>


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