Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@
import org.apache.doris.catalog.Column;
import org.apache.doris.catalog.Database;
import org.apache.doris.catalog.Env;
import org.apache.doris.catalog.FunctionSet;
import org.apache.doris.catalog.OlapTable;
import org.apache.doris.catalog.info.PartitionNamesInfo;
import org.apache.doris.common.AnalysisException;
Expand Down Expand Up @@ -92,7 +91,7 @@ public class DataDescription {
"md5sum",
"replace_value",
"now",
FunctionSet.HLL_HASH,
"hll_hash",
"substitute");

private static final String DEFAULT_READ_JSON_BY_LINE = "true";
Expand Down
10 changes: 0 additions & 10 deletions fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java
Original file line number Diff line number Diff line change
Expand Up @@ -462,7 +462,6 @@ public class Env {
private ColocateTableIndex colocateTableIndex;

private CatalogRecycleBin recycleBin;
private FunctionSet functionSet;

// for nereids
private FunctionRegistry functionRegistry;
Expand Down Expand Up @@ -761,7 +760,6 @@ public Env(boolean isCheckpointCatalog) {
this.tabletInvertedIndex = EnvFactory.getInstance().createTabletInvertedIndex();
this.colocateTableIndex = new ColocateTableIndex();
this.recycleBin = new CatalogRecycleBin();
this.functionSet = new FunctionSet();

this.functionRegistry = new FunctionRegistry();

Expand Down Expand Up @@ -6510,14 +6508,6 @@ public FunctionRegistry getFunctionRegistry() {
return functionRegistry;
}

public boolean isNondeterministicFunction(String funcName) {
return functionSet.isNondeterministicFunction(funcName);
}

public boolean isNullResultWithOneNullParamFunction(String funcName) {
return functionSet.isNullResultWithOneNullParamFunctions(funcName);
}

@Deprecated
public long loadCluster(DataInputStream dis, long checksum) throws IOException, DdlException {
return getInternalCatalog().loadCluster(dis, checksum);
Expand Down
122 changes: 0 additions & 122 deletions fe/fe-core/src/main/java/org/apache/doris/catalog/FunctionSet.java

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@
import org.apache.doris.catalog.Column;
import org.apache.doris.catalog.Database;
import org.apache.doris.catalog.Env;
import org.apache.doris.catalog.FunctionSet;
import org.apache.doris.catalog.KeysType;
import org.apache.doris.catalog.OlapTable;
import org.apache.doris.catalog.info.PartitionNamesInfo;
Expand Down Expand Up @@ -104,7 +103,7 @@ public class NereidsDataDescription {
"md5sum",
"replace_value",
"now",
FunctionSet.HLL_HASH,
"hll_hash",
"substitute");

private static final String DEFAULT_READ_JSON_BY_LINE = "true";
Expand Down Expand Up @@ -497,7 +496,7 @@ public static void validateMappingFunction(String functionName, List<String> arg
validateMd5sum(args, columnNameMap);
} else if (functionName.equalsIgnoreCase("replace_value")) {
validateReplaceValue(args, mappingColumn);
} else if (functionName.equalsIgnoreCase(FunctionSet.HLL_HASH)) {
} else if (functionName.equalsIgnoreCase("hll_hash")) {
validateHllHash(args, columnNameMap);
} else if (functionName.equalsIgnoreCase("now")) {
validateNowFunction(mappingColumn);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@

import org.apache.doris.catalog.AggregateType;
import org.apache.doris.catalog.Column;
import org.apache.doris.catalog.FunctionSet;
import org.apache.doris.catalog.OlapTable;
import org.apache.doris.catalog.PrimitiveType;
import org.apache.doris.catalog.Table;
Expand Down Expand Up @@ -72,6 +71,8 @@
*/
public class NereidsLoadScanProvider {
private static final Logger LOG = LogManager.getLogger(NereidsLoadScanProvider.class);
private static final String HLL_HASH = "hll_hash";
private static final String HLL_FROM_BASE64 = "hll_from_base64";
private NereidsFileGroupInfo fileGroupInfo;
private Set<String> partialUpdateInputColumns;

Expand Down Expand Up @@ -314,17 +315,17 @@ private void fillContextExprMap(List<NereidsImportColumnDesc> columnDescList, Ne
// check hll_hash
if (column.getDataType() == PrimitiveType.HLL) {
if (!(expression instanceof UnboundFunction)) {
throw new AnalysisException("HLL column must use " + FunctionSet.HLL_HASH + " function, like "
+ columnName + "=" + FunctionSet.HLL_HASH + "(xxx)");
throw new AnalysisException("HLL column must use " + HLL_HASH + " function, like "
+ columnName + "=" + HLL_HASH + "(xxx)");
}
UnboundFunction function = (UnboundFunction) expression;
String functionName = function.getName();
if (!functionName.equalsIgnoreCase(FunctionSet.HLL_HASH)
if (!functionName.equalsIgnoreCase(HLL_HASH)
&& !functionName.equalsIgnoreCase("hll_empty")
&& !functionName.equalsIgnoreCase(FunctionSet.HLL_FROM_BASE64)) {
throw new AnalysisException("HLL column must use " + FunctionSet.HLL_HASH + " function, like "
+ columnName + "=" + FunctionSet.HLL_HASH + "(xxx) or "
+ columnName + "=" + FunctionSet.HLL_FROM_BASE64 + "(xxx) or "
&& !functionName.equalsIgnoreCase(HLL_FROM_BASE64)) {
throw new AnalysisException("HLL column must use " + HLL_HASH + " function, like "
+ columnName + "=" + HLL_HASH + "(xxx) or "
+ columnName + "=" + HLL_FROM_BASE64 + "(xxx) or "
+ columnName + "=hll_empty()");
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@

package org.apache.doris.nereids.trees.expressions.functions.agg;

import org.apache.doris.catalog.FunctionSet;
import org.apache.doris.catalog.FunctionSignature;
import org.apache.doris.nereids.trees.expressions.Expression;
import org.apache.doris.nereids.trees.expressions.functions.ExplicitlyCastableSignature;
Expand Down Expand Up @@ -46,23 +45,19 @@ public class LinearHistogram extends NotNullableAggregateFunction implements Exp
);

public LinearHistogram(Expression arg0, Expression arg1) {
super(FunctionSet.LINEAR_HISTOGRAM, arg0, arg1);
super("linear_histogram", arg0, arg1);
}

public LinearHistogram(Expression arg0, Expression arg1, Expression arg2) {
super(FunctionSet.LINEAR_HISTOGRAM, arg0, arg1, arg2);
}

private LinearHistogram(boolean distinct, List<Expression> args) {
super(FunctionSet.LINEAR_HISTOGRAM, distinct, args);
super("linear_histogram", arg0, arg1, arg2);
}

public LinearHistogram(boolean distinct, Expression arg0, Expression arg1) {
super(FunctionSet.LINEAR_HISTOGRAM, distinct, arg0, arg1);
super("linear_histogram", distinct, arg0, arg1);
}

public LinearHistogram(boolean distinct, Expression arg0, Expression arg1, Expression arg2) {
super(FunctionSet.LINEAR_HISTOGRAM, distinct, arg0, arg1, arg2);
super("linear_histogram", distinct, arg0, arg1, arg2);
}

/** constructor for withChildren and reuse signature */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,15 @@
import org.apache.doris.analysis.FunctionCallExpr;
import org.apache.doris.analysis.LambdaFunctionCallExpr;
import org.apache.doris.analysis.SlotRef;
import org.apache.doris.catalog.FunctionSet;
import org.apache.doris.thrift.TExpr;
import org.apache.doris.thrift.TExprNode;
import org.apache.doris.thrift.TExprNodeType;
import org.apache.doris.thrift.TSlotRef;

import com.google.common.collect.ImmutableSet;

import java.util.Set;

/**
* Visitor that produces a normalized {@link TExprNode} for query cache support.
* Normalization maps slot IDs and tuple IDs through the {@link Normalizer} so that
Expand Down Expand Up @@ -78,9 +81,8 @@ public Void visitSlotRef(SlotRef expr, TExprNode msg) {
@Override
public Void visitFunctionCallExpr(FunctionCallExpr expr, TExprNode msg) {
String functionName = expr.getFnName().getFunction().toUpperCase();
if (FunctionSet.nonDeterministicFunctions.contains(functionName)
|| "NOW".equals(functionName)
|| (FunctionSet.nonDeterministicTimeFunctions.contains(functionName)
if (nonDeterministicFunctions.contains(functionName)
|| (nonDeterministicTimeFunctions.contains(functionName)
&& expr.getChildren().isEmpty())) {
throw new IllegalStateException("Can not normalize non deterministic functions");
}
Expand All @@ -96,4 +98,30 @@ public Void visitLambdaFunctionCallExpr(LambdaFunctionCallExpr expr, TExprNode m

// All other visitXxx methods inherit from ExprVisitor and call visit(),
// which delegates to ExprToThriftVisitor.INSTANCE.

private static final Set<String> nonDeterministicFunctions =
ImmutableSet.<String>builder()
.add("RAND")
.add("RANDOM")
.add("RANDOM_BYTES")
.add("CONNECTION_ID")
.add("DATABASE")
.add("USER")
.add("UUID")
.add("CURRENT_USER")
.add("UUID_NUMERIC")
.build();

private static final Set<String> nonDeterministicTimeFunctions =
ImmutableSet.<String>builder()
.add("NOW")
.add("CURDATE")
.add("CURRENT_DATE")
.add("UTC_TIMESTAMP")
.add("CURTIME")
.add("CURRENT_TIMESTAMP")
.add("CURRENT_TIME")
.add("UNIX_TIMESTAMP")
.add()
.build();
}
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@
import org.apache.doris.catalog.Column;
import org.apache.doris.catalog.Database;
import org.apache.doris.catalog.Env;
import org.apache.doris.catalog.FunctionSet;
import org.apache.doris.catalog.KeysType;
import org.apache.doris.catalog.MaterializedIndex;
import org.apache.doris.catalog.MaterializedIndex.IndexState;
Expand Down Expand Up @@ -149,9 +148,6 @@ Env getCurrentEnv() {
}
};

FunctionSet fs = new FunctionSet();
Deencapsulation.setField(env, "functionSet", fs);

channel.reset();

new Expectations(channel) {
Expand Down
Loading