Skip to content

Commit 81c9285

Browse files
authored
Decouple function repository and DSL from IoC container for use anywhere (#1085)
* Make function repository singleton Signed-off-by: Chen Dai <daichen@amazon.com> * Make all DSL function static Signed-off-by: Chen Dai <daichen@amazon.com> * Clean up unused imports Signed-off-by: Chen Dai <daichen@amazon.com> * Update javadoc with more context Signed-off-by: Chen Dai <daichen@amazon.com> * Remove expression config Signed-off-by: Chen Dai <daichen@amazon.com> * Add TODO comment Signed-off-by: Chen Dai <daichen@amazon.com> * Fixed build failure Signed-off-by: Chen Dai <daichen@amazon.com> * Address PR comments Signed-off-by: Chen Dai <daichen@amazon.com> Signed-off-by: Chen Dai <daichen@amazon.com>
1 parent cdb30ee commit 81c9285

84 files changed

Lines changed: 2207 additions & 2391 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/analysis/ExpressionAnalyzer.java

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
import org.opensearch.sql.ast.expression.AggregateFunction;
2323
import org.opensearch.sql.ast.expression.AllFields;
2424
import org.opensearch.sql.ast.expression.And;
25-
import org.opensearch.sql.ast.expression.Argument;
2625
import org.opensearch.sql.ast.expression.Case;
2726
import org.opensearch.sql.ast.expression.Cast;
2827
import org.opensearch.sql.ast.expression.Compare;
@@ -74,7 +73,6 @@
7473
public class ExpressionAnalyzer extends AbstractNodeVisitor<Expression, AnalysisContext> {
7574
@Getter
7675
private final BuiltinFunctionRepository repository;
77-
private final DSL dsl;
7876

7977
@Override
8078
public Expression visitCast(Cast node, AnalysisContext context) {
@@ -86,7 +84,6 @@ public Expression visitCast(Cast node, AnalysisContext context) {
8684
public ExpressionAnalyzer(
8785
BuiltinFunctionRepository repository) {
8886
this.repository = repository;
89-
this.dsl = new DSL(repository);
9087
}
9188

9289
public Expression analyze(UnresolvedExpression unresolved, AnalysisContext context) {
@@ -103,7 +100,7 @@ public Expression visitEqualTo(EqualTo node, AnalysisContext context) {
103100
Expression left = node.getLeft().accept(this, context);
104101
Expression right = node.getRight().accept(this, context);
105102

106-
return dsl.equal(left, right);
103+
return DSL.equal(left, right);
107104
}
108105

109106
@Override
@@ -116,36 +113,36 @@ public Expression visitLiteral(Literal node, AnalysisContext context) {
116113
public Expression visitInterval(Interval node, AnalysisContext context) {
117114
Expression value = node.getValue().accept(this, context);
118115
Expression unit = DSL.literal(node.getUnit().name());
119-
return dsl.interval(value, unit);
116+
return DSL.interval(value, unit);
120117
}
121118

122119
@Override
123120
public Expression visitAnd(And node, AnalysisContext context) {
124121
Expression left = node.getLeft().accept(this, context);
125122
Expression right = node.getRight().accept(this, context);
126123

127-
return dsl.and(left, right);
124+
return DSL.and(left, right);
128125
}
129126

130127
@Override
131128
public Expression visitOr(Or node, AnalysisContext context) {
132129
Expression left = node.getLeft().accept(this, context);
133130
Expression right = node.getRight().accept(this, context);
134131

135-
return dsl.or(left, right);
132+
return DSL.or(left, right);
136133
}
137134

138135
@Override
139136
public Expression visitXor(Xor node, AnalysisContext context) {
140137
Expression left = node.getLeft().accept(this, context);
141138
Expression right = node.getRight().accept(this, context);
142139

143-
return dsl.xor(left, right);
140+
return DSL.xor(left, right);
144141
}
145142

146143
@Override
147144
public Expression visitNot(Not node, AnalysisContext context) {
148-
return dsl.not(node.getExpression().accept(this, context));
145+
return DSL.not(node.getExpression().accept(this, context));
149146
}
150147

151148
@Override
@@ -226,7 +223,7 @@ private Expression visitIn(
226223
if (valueList.size() == 1) {
227224
return visitCompare(new Compare("=", field, valueList.get(0)), context);
228225
} else if (valueList.size() > 1) {
229-
return dsl.or(
226+
return DSL.or(
230227
visitCompare(new Compare("=", field, valueList.get(0)), context),
231228
visitIn(field, valueList.subList(1, valueList.size()), context));
232229
} else {

0 commit comments

Comments
 (0)