This is an automated email from the ASF dual-hosted git repository. morrysnow pushed a commit to branch branch-2.0 in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-2.0 by this push: new 7d09754c827 [fix](Nereids) fix fe fold constant failed when using like function (#37616) (#37863) 7d09754c827 is described below commit 7d09754c82763e40fdd28598b6b636ff3c97bd15 Author: LiBinfeng <46676950+libinfeng...@users.noreply.github.com> AuthorDate: Tue Jul 16 14:26:37 2024 +0800 [fix](Nereids) fix fe fold constant failed when using like function (#37616) (#37863) cherry-pick from master --- .../nereids/rules/expression/rules/FoldConstantRuleOnFE.java | 6 ------ .../expression/fold_constant/fold_constant_by_fe.groovy | 11 ++++++++++- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/FoldConstantRuleOnFE.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/FoldConstantRuleOnFE.java index b0a285958a3..71377c021b2 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/FoldConstantRuleOnFE.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/FoldConstantRuleOnFE.java @@ -35,7 +35,6 @@ import org.apache.doris.nereids.trees.expressions.InPredicate; import org.apache.doris.nereids.trees.expressions.IsNull; import org.apache.doris.nereids.trees.expressions.LessThan; import org.apache.doris.nereids.trees.expressions.LessThanEqual; -import org.apache.doris.nereids.trees.expressions.Like; import org.apache.doris.nereids.trees.expressions.Not; import org.apache.doris.nereids.trees.expressions.NullSafeEqual; import org.apache.doris.nereids.trees.expressions.Or; @@ -300,11 +299,6 @@ public class FoldConstantRuleOnFE extends AbstractExpressionRewriteRule { } } - @Override - public Expression visitLike(Like like, ExpressionRewriteContext context) { - return like; - } - @Override public Expression visitCast(Cast cast, ExpressionRewriteContext context) { cast = rewriteChildren(cast, context); diff --git a/regression-test/suites/nereids_p0/expression/fold_constant/fold_constant_by_fe.groovy b/regression-test/suites/nereids_p0/expression/fold_constant/fold_constant_by_fe.groovy index 6d02446c995..5792ce67cf9 100644 --- a/regression-test/suites/nereids_p0/expression/fold_constant/fold_constant_by_fe.groovy +++ b/regression-test/suites/nereids_p0/expression/fold_constant/fold_constant_by_fe.groovy @@ -19,6 +19,7 @@ suite("test_fold_constant_by_fe") { sql 'set enable_nereids_planner=true' sql 'set enable_fallback_to_original_planner=false' sql 'set enable_fold_nondeterministic_fn=true' + sql 'set enable_fold_constant_by_be=false' def results = sql 'select uuid(), uuid()' assertFalse(Objects.equals(results[0][0], results[0][1])) @@ -152,4 +153,12 @@ suite("test_fold_constant_by_fe") { res = res.split('VUNION')[1] assertFalse(res.contains("unix")) } -} \ No newline at end of file + + // test null like string cause of fe need to fold constant like that to enable not null derive + res = sql """explain select null like '%123%'""" + assertFalse(res.contains("like")) + // now fe fold constant still can not deal with this case + res = sql """explain select "12" like '%123%'""" + assertTrue(res.contains("like")) + +} --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org