This is an automated email from the ASF dual-hosted git repository.
yiguolei pushed a commit to branch branch-2.1
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-2.1 by this push:
new 52e13c9e6c1 [branch-2.1](nereids) remove interface Nondeterministic
and fix random/random_bytes foldable properties (#39944) (#40650)
52e13c9e6c1 is described below
commit 52e13c9e6c1e02106a3d3a114e0855024aa54e23
Author: zclllhhjj <[email protected]>
AuthorDate: Wed Sep 11 17:27:52 2024 +0800
[branch-2.1](nereids) remove interface Nondeterministic and fix
random/random_bytes foldable properties (#39944) (#40650)
pick https://github.com/apache/doris/pull/39944
---
.../expressions/functions/Nondeterministic.java | 34 ----------------------
.../trees/expressions/functions/scalar/Random.java | 5 ++++
.../expressions/functions/scalar/RandomBytes.java | 13 +++++++--
3 files changed, 16 insertions(+), 36 deletions(-)
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/Nondeterministic.java
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/Nondeterministic.java
deleted file mode 100644
index 2d4e2df2fd6..00000000000
---
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/Nondeterministic.java
+++ /dev/null
@@ -1,34 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements. See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership. The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License. You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied. See the License for the
-// specific language governing permissions and limitations
-// under the License.
-
-package org.apache.doris.nereids.trees.expressions.functions;
-
-/**
- * Nondeterministic functions.
- * <p>
- * e.g. 'rand()', 'random()'.
- */
-public interface Nondeterministic extends ExpressionTrait {
-
- /**
- * Identify the function is deterministic or not, such as UnixTimestamp,
when it's children is not empty
- * it's deterministic
- */
- default boolean isDeterministic() {
- return false;
- }
-}
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Random.java
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Random.java
index d86eacec934..82cd56118f8 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Random.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Random.java
@@ -118,4 +118,9 @@ public class Random extends ScalarFunction
public boolean isDeterministic() {
return false;
}
+
+ @Override
+ public boolean foldable() {
+ return false;
+ }
}
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/RandomBytes.java
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/RandomBytes.java
index 36b56bca752..000b83bbc34 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/RandomBytes.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/RandomBytes.java
@@ -20,7 +20,6 @@ package
org.apache.doris.nereids.trees.expressions.functions.scalar;
import org.apache.doris.catalog.FunctionSignature;
import org.apache.doris.nereids.trees.expressions.Expression;
import
org.apache.doris.nereids.trees.expressions.functions.ExplicitlyCastableSignature;
-import org.apache.doris.nereids.trees.expressions.functions.Nondeterministic;
import org.apache.doris.nereids.trees.expressions.functions.PropagateNullable;
import org.apache.doris.nereids.trees.expressions.visitor.ExpressionVisitor;
import org.apache.doris.nereids.types.IntegerType;
@@ -36,7 +35,7 @@ import java.util.List;
* ScalarFunction 'random_bytes'. This class is generated by GenerateFunction.
*/
public class RandomBytes extends ScalarFunction
- implements ExplicitlyCastableSignature, PropagateNullable,
Nondeterministic {
+ implements ExplicitlyCastableSignature, PropagateNullable {
public static final List<FunctionSignature> SIGNATURES = ImmutableList.of(
FunctionSignature.ret(StringType.INSTANCE).args(IntegerType.INSTANCE),
@@ -60,6 +59,16 @@ public class RandomBytes extends ScalarFunction
return new RandomBytes(children.get(0));
}
+ @Override
+ public boolean isDeterministic() {
+ return false;
+ }
+
+ @Override
+ public boolean foldable() {
+ return false;
+ }
+
@Override
public List<FunctionSignature> getSignatures() {
return SIGNATURES;
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]