Skip to content

Commit ae9ba5a

Browse files
committed
Merge origin/main into cidrmatch-udf
Signed-off-by: Yuanchun Shen <yuanchu@amazon.com>
2 parents 5aecc9c + eadeca2 commit ae9ba5a

105 files changed

Lines changed: 3586 additions & 4468 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

core/src/main/java/org/opensearch/sql/calcite/CalciteRexNodeVisitor.java

Lines changed: 4 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,11 @@
99
import static org.apache.calcite.sql.SqlKind.AS;
1010
import static org.opensearch.sql.ast.expression.SpanUnit.NONE;
1111
import static org.opensearch.sql.ast.expression.SpanUnit.UNKNOWN;
12-
import static org.opensearch.sql.calcite.utils.BuiltinFunctionUtils.VARCHAR_FORCE_NULLABLE;
13-
import static org.opensearch.sql.calcite.utils.UserDefinedFunctionUtils.TransferUserDefinedFunction;
1412

1513
import java.math.BigDecimal;
1614
import java.util.ArrayList;
1715
import java.util.Collections;
1816
import java.util.List;
19-
import java.util.stream.Collectors;
2017
import lombok.RequiredArgsConstructor;
2118
import org.apache.calcite.rel.RelNode;
2219
import org.apache.calcite.rel.type.RelDataType;
@@ -25,7 +22,6 @@
2522
import org.apache.calcite.rex.RexCall;
2623
import org.apache.calcite.rex.RexNode;
2724
import org.apache.calcite.sql.SqlIntervalQualifier;
28-
import org.apache.calcite.sql.SqlOperator;
2925
import org.apache.calcite.sql.fun.SqlStdOperatorTable;
3026
import org.apache.calcite.sql.type.SqlTypeName;
3127
import org.apache.calcite.util.DateString;
@@ -60,15 +56,14 @@
6056
import org.opensearch.sql.ast.expression.subquery.ScalarSubquery;
6157
import org.opensearch.sql.ast.tree.UnresolvedPlan;
6258
import org.opensearch.sql.calcite.type.ExprSqlType;
63-
import org.opensearch.sql.calcite.udf.datetimeUDF.PostprocessDateToStringFunction;
64-
import org.opensearch.sql.calcite.utils.BuiltinFunctionUtils;
6559
import org.opensearch.sql.calcite.utils.OpenSearchTypeFactory;
6660
import org.opensearch.sql.calcite.utils.PlanUtils;
6761
import org.opensearch.sql.common.utils.StringUtils;
6862
import org.opensearch.sql.data.type.ExprType;
6963
import org.opensearch.sql.exception.CalciteUnsupportedException;
7064
import org.opensearch.sql.exception.SemanticCheckException;
7165
import org.opensearch.sql.expression.function.BuiltinFunctionName;
66+
import org.opensearch.sql.expression.function.PPLBuiltinOperators;
7267
import org.opensearch.sql.expression.function.PPLFuncImpTable;
7368

7469
@RequiredArgsConstructor
@@ -220,18 +215,8 @@ public RexNode visitCompare(Compare node, CalcitePlanContext context) {
220215
private RexNode transferCompareForDateRelated(
221216
RexNode candidate, CalcitePlanContext context, boolean whetherCompareByTime) {
222217
if (whetherCompareByTime) {
223-
SqlOperator postToStringNode =
224-
TransferUserDefinedFunction(
225-
PostprocessDateToStringFunction.class,
226-
"PostprocessDateToString",
227-
VARCHAR_FORCE_NULLABLE);
228218
RexNode transferredStringNode =
229-
context.rexBuilder.makeCall(
230-
postToStringNode,
231-
List.of(
232-
candidate,
233-
context.rexBuilder.makeLiteral(
234-
context.functionProperties.getQueryStartClock().instant().toString())));
219+
context.rexBuilder.makeCall(PPLBuiltinOperators.TIMESTAMP, candidate);
235220
return transferredStringNode;
236221
} else {
237222
return candidate;
@@ -351,26 +336,14 @@ public RexNode visitLet(Let node, CalcitePlanContext context) {
351336
@Override
352337
public RexNode visitFunction(Function node, CalcitePlanContext context) {
353338
List<RexNode> arguments =
354-
node.getFuncArgs().stream().map(arg -> analyze(arg, context)).collect(Collectors.toList());
339+
node.getFuncArgs().stream().map(arg -> analyze(arg, context)).toList();
355340
RexNode resolvedNode =
356341
PPLFuncImpTable.INSTANCE.resolveSafe(
357342
context.rexBuilder, node.getFuncName(), arguments.toArray(new RexNode[0]));
358343
if (resolvedNode != null) {
359344
return resolvedNode;
360345
}
361-
// TODO: Remove below code after migrating all functions to PPLFuncImpTable,
362-
// https://github.com/opensearch-project/sql/issues/3524
363-
SqlOperator operator = BuiltinFunctionUtils.translate(node.getFuncName());
364-
List<RexNode> translatedArguments =
365-
BuiltinFunctionUtils.translateArgument(
366-
node.getFuncName(),
367-
arguments,
368-
context,
369-
context.functionProperties.getQueryStartClock().instant().toString());
370-
RelDataType returnType =
371-
BuiltinFunctionUtils.deriveReturnType(
372-
node.getFuncName(), context.rexBuilder, operator, translatedArguments);
373-
return context.rexBuilder.makeCall(returnType, operator, translatedArguments);
346+
throw new IllegalArgumentException("Unsupported operator: " + node.getFuncName());
374347
}
375348

376349
@Override

core/src/main/java/org/opensearch/sql/calcite/udf/conditionUDF/IfFunction.java

Lines changed: 0 additions & 25 deletions
This file was deleted.

core/src/main/java/org/opensearch/sql/calcite/udf/conditionUDF/IfNullFunction.java

Lines changed: 0 additions & 24 deletions
This file was deleted.

core/src/main/java/org/opensearch/sql/calcite/udf/conditionUDF/NullIfFunction.java

Lines changed: 0 additions & 28 deletions
This file was deleted.

core/src/main/java/org/opensearch/sql/calcite/udf/datetimeUDF/ConvertTZFunction.java

Lines changed: 0 additions & 33 deletions
This file was deleted.

core/src/main/java/org/opensearch/sql/calcite/udf/datetimeUDF/DateAddSubFunction.java

Lines changed: 0 additions & 61 deletions
This file was deleted.

core/src/main/java/org/opensearch/sql/calcite/udf/datetimeUDF/DateDiffFunction.java

Lines changed: 0 additions & 41 deletions
This file was deleted.

core/src/main/java/org/opensearch/sql/calcite/udf/datetimeUDF/DateFormatFunction.java

Lines changed: 0 additions & 41 deletions
This file was deleted.

core/src/main/java/org/opensearch/sql/calcite/udf/datetimeUDF/DateFunction.java

Lines changed: 0 additions & 34 deletions
This file was deleted.

0 commit comments

Comments
 (0)