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>