diff options
author | Jon Bratseth <bratseth@gmail.com> | 2021-09-19 22:08:56 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@gmail.com> | 2021-09-19 22:08:56 +0200 |
commit | a0a5dd29181cfd527f3e722bee3536ce3d09fc3b (patch) | |
tree | 0f47f952ddee7140697f87295cf3d4ff5d1b74eb /indexinglanguage | |
parent | 03cca9c42b32d8d4ba24b348f8466de42bb05cd7 (diff) |
Remove outputType (not needed after all)
Diffstat (limited to 'indexinglanguage')
2 files changed, 8 insertions, 25 deletions
diff --git a/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/ExecutionContext.java b/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/ExecutionContext.java index 1aec13bff50..e2820dd5578 100644 --- a/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/ExecutionContext.java +++ b/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/ExecutionContext.java @@ -20,7 +20,6 @@ public class ExecutionContext implements FieldTypeAdapter, FieldValueAdapter, Cl private final FieldValueAdapter adapter; private FieldValue value; private Language language; - private DataType outputType = null; public ExecutionContext() { this(null); @@ -64,14 +63,6 @@ public class ExecutionContext implements FieldTypeAdapter, FieldValueAdapter, Cl adapter.tryOutputType(exp, fieldName, valueType); } - /** Sets the output type created by this execution */ - public void setOutputType(DataType type) { - this.outputType = type; - } - - /** Returns the output type created by this execution, or null if none */ - public DataType getOutputType() { return outputType; } - @Override public ExecutionContext setOutputValue(Expression exp, String fieldName, FieldValue fieldValue) { if (adapter == null) { diff --git a/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/StatementExpression.java b/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/StatementExpression.java index f5354938c67..145133e210d 100644 --- a/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/StatementExpression.java +++ b/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/StatementExpression.java @@ -25,9 +25,6 @@ public final class StatementExpression extends ExpressionList<Expression> { /** The name of the (last) output field tthis statement will write to, or null if none */ private String outputField; - /** The type of the output created by this statement, or null if no output */ - private DataType outputType; - public StatementExpression(Expression... lst) { this(Arrays.asList(lst)); } @@ -38,12 +35,10 @@ public final class StatementExpression extends ExpressionList<Expression> { private StatementExpression(Iterable<Expression> list, Object unused) { super(list, resolveInputType(list)); - outputType = resolveOutputType(list); } @Override protected void doExecute(ExecutionContext context) { - context.setOutputType(outputType); for (Expression exp : this) { context.execute(exp); } @@ -58,7 +53,6 @@ public final class StatementExpression extends ExpressionList<Expression> { context.setOutputField(outputField); for (Expression expression : this) context.execute(expression); - outputType = context.getValueType(); } private static DataType resolveInputType(Iterable<Expression> lst) { @@ -76,20 +70,18 @@ public final class StatementExpression extends ExpressionList<Expression> { return null; } - private static DataType resolveOutputType(Iterable<Expression> expressions) { - DataType lastOutput = null; - for (var expression : expressions) { - DataType output = expression.createdOutputType(); - if (output != null) - lastOutput = output; + @Override + public DataType createdOutputType() { + for (int i = size(); --i >= 0; ) { + DataType type = get(i).createdOutputType(); + if (type != null) { + return type; + } } - return lastOutput; + return null; } @Override - public DataType createdOutputType() { return outputType; } - - @Override public String toString() { StringBuilder ret = new StringBuilder(); for (Iterator<Expression> it = iterator(); it.hasNext();) { |