Skip to content

Commit

Permalink
address comment'
Browse files Browse the repository at this point in the history
Signed-off-by: Lantao Jin <ltjin@amazon.com>
  • Loading branch information
LantaoJin committed Oct 31, 2024
1 parent 119ace7 commit c52bfd9
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 21 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@
import org.apache.spark.sql.catalyst.expressions.InSubquery$;
import org.apache.spark.sql.catalyst.expressions.LessThanOrEqual;
import org.apache.spark.sql.catalyst.expressions.ListQuery$;
import org.apache.spark.sql.catalyst.expressions.Literal$;
import org.apache.spark.sql.catalyst.expressions.MakeInterval$;
import org.apache.spark.sql.catalyst.expressions.NamedExpression;
import org.apache.spark.sql.catalyst.expressions.Predicate;
Expand All @@ -29,7 +28,6 @@
import org.apache.spark.sql.catalyst.expressions.SortDirection;
import org.apache.spark.sql.catalyst.expressions.SortOrder;
import org.apache.spark.sql.catalyst.plans.logical.*;
import org.apache.spark.sql.catalyst.util.DataTypeJsonUtils$;
import org.apache.spark.sql.execution.ExplainMode;
import org.apache.spark.sql.execution.command.DescribeTableCommand;
import org.apache.spark.sql.execution.command.ExplainCommand;
Expand All @@ -49,7 +47,6 @@
import org.opensearch.sql.ast.expression.FieldsMapping;
import org.opensearch.sql.ast.expression.Function;
import org.opensearch.sql.ast.expression.In;
import org.opensearch.sql.ast.expression.IntervalUnit;
import org.opensearch.sql.ast.expression.subquery.ExistsSubquery;
import org.opensearch.sql.ast.expression.subquery.InSubquery;
import org.opensearch.sql.ast.expression.Interval;
Expand Down Expand Up @@ -107,7 +104,6 @@
import scala.collection.Seq;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
Expand All @@ -119,6 +115,7 @@
import static java.util.List.of;
import static org.opensearch.sql.expression.function.BuiltinFunctionName.EQUAL;
import static org.opensearch.sql.ppl.CatalystPlanContext.findRelation;
import static org.opensearch.sql.ppl.utils.BuiltinFunctionTranslator.createIntervalArgs;
import static org.opensearch.sql.ppl.utils.DataTypeTransformer.seq;
import static org.opensearch.sql.ppl.utils.DataTypeTransformer.translate;
import static org.opensearch.sql.ppl.utils.DedupeTransformer.retainMultipleDuplicateEvents;
Expand Down Expand Up @@ -779,23 +776,6 @@ public Expression visitInterval(Interval node, CatalystPlanContext context) {
return context.getNamedParseExpressions().push(interval);
}

private Expression[] createIntervalArgs(IntervalUnit unit, Expression value) {
Expression[] args = new Expression[7];
Arrays.fill(args, Literal$.MODULE$.apply(0));
switch (unit) {
case YEAR: args[0] = value; break;
case MONTH: args[1] = value; break;
case WEEK: args[2] = value; break;
case DAY: args[3] = value; break;
case HOUR: args[4] = value; break;
case MINUTE: args[5] = value; break;
case SECOND: args[6] = value; break;
default:
throw new IllegalArgumentException("Unsupported Interval unit: " + unit);
}
return args;
}

@Override
public Expression visitDedupe(Dedupe node, CatalystPlanContext context) {
throw new IllegalStateException("Not Supported operation : Dedupe");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,11 @@
import org.apache.spark.sql.catalyst.expressions.TimestampDiff$;
import org.apache.spark.sql.catalyst.expressions.ToUTCTimestamp$;
import org.apache.spark.sql.catalyst.expressions.UnaryMinus$;
import org.opensearch.sql.ast.expression.IntervalUnit;
import org.opensearch.sql.expression.function.BuiltinFunctionName;
import scala.Option;

import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
Expand Down Expand Up @@ -199,4 +201,21 @@ static Expression builtinFunction(org.opensearch.sql.ast.expression.Function fun
return new UnresolvedFunction(seq(name), seq(args), false, empty(),false);
}
}

static Expression[] createIntervalArgs(IntervalUnit unit, Expression value) {
Expression[] args = new Expression[7];
Arrays.fill(args, Literal$.MODULE$.apply(0));
switch (unit) {
case YEAR: args[0] = value; break;
case MONTH: args[1] = value; break;
case WEEK: args[2] = value; break;
case DAY: args[3] = value; break;
case HOUR: args[4] = value; break;
case MINUTE: args[5] = value; break;
case SECOND: args[6] = value; break;
default:
throw new IllegalArgumentException("Unsupported Interval unit: " + unit);
}
return args;
}
}

0 comments on commit c52bfd9

Please sign in to comment.