[Groonga-commit] groonga/groonga at 839cf1b [master] expr optimize: add unsupported expression check

Back to archive index
Kouhei Sutou null+****@clear*****
Mon Mar 4 18:29:12 JST 2019


Kouhei Sutou	2019-03-04 18:29:12 +0900 (Mon, 04 Mar 2019)

  Revision: 839cf1b7141a665096293b8ad4dadf1f336a464a
  https://github.com/groonga/groonga/commit/839cf1b7141a665096293b8ad4dadf1f336a464a

  Message:
    expr optimize: add unsupported expression check

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

  Modified: lib/mrb/scripts/expression_rewriters/optimizer.rb (+1 -0)
===================================================================
--- lib/mrb/scripts/expression_rewriters/optimizer.rb    2019-03-04 18:09:15 +0900 (9435b01ee)
+++ lib/mrb/scripts/expression_rewriters/optimizer.rb    2019-03-04 18:29:12 +0900 (cbf1770f5)
@@ -6,6 +6,7 @@ module Groonga
       def rewrite
         builder = ExpressionTreeBuilder.new(@expression)
         root_node = builder.build
+        return @expression if root_node.nil?
 
         variable = @expression[0]
         table = context[variable.domain]

  Modified: lib/mrb/scripts/expression_tree_builder.rb (+6 -1)
===================================================================
--- lib/mrb/scripts/expression_tree_builder.rb    2019-03-04 18:09:15 +0900 (75af9395f)
+++ lib/mrb/scripts/expression_tree_builder.rb    2019-03-04 18:29:12 +0900 (59695581f)
@@ -160,7 +160,12 @@ module Groonga
           raise "unknown operator: #{code.inspect}"
         end
       end
-      stack.pop
+      if stack.size == 1
+        stack.pop
+      else
+        # Unsupported expression
+        nil
+      end
     end
 
     private
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.osdn.me/mailman/archives/groonga-commit/attachments/20190304/81fec35f/attachment.html>


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