Class MvContains.MvContainsDoubleEvaluator
java.lang.Object
org.elasticsearch.xpack.esql.expression.function.scalar.multivalue.MvContains.MvContainsDoubleEvaluator
- All Implemented Interfaces:
Closeable,AutoCloseable,EvalOperator.ExpressionEvaluator,org.elasticsearch.core.Releasable
- Enclosing class:
MvContains
public static class MvContains.MvContainsDoubleEvaluator
extends Object
implements EvalOperator.ExpressionEvaluator
Currently
EvaluatorImplementer generates:
if (allBlocksAreNulls) {
result.appendNull();
continue position;
}
when all params are null, this violates our contract of always returning a boolean.
It should probably also generate the warnings method conditionally - omitted here.
TODO extend code generation to handle this case-
Nested Class Summary
Nested Classes -
Constructor Summary
ConstructorsConstructorDescriptionMvContainsDoubleEvaluator(EvalOperator.ExpressionEvaluator field1, EvalOperator.ExpressionEvaluator field2, DriverContext driverContext) -
Method Summary
Modifier and TypeMethodDescriptionlongvoidclose()eval(int positionCount, DoubleBlock field1Block, DoubleBlock field2Block) toString()
-
Constructor Details
-
MvContainsDoubleEvaluator
public MvContainsDoubleEvaluator(EvalOperator.ExpressionEvaluator field1, EvalOperator.ExpressionEvaluator field2, DriverContext driverContext)
-
-
Method Details
-
eval
- Specified by:
evalin interfaceEvalOperator.ExpressionEvaluator
-
eval
-
toString
-
close
public void close()- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Specified by:
closein interfaceorg.elasticsearch.core.Releasable
-
baseRamBytesUsed
public long baseRamBytesUsed()- Specified by:
baseRamBytesUsedin interfaceEvalOperator.ExpressionEvaluator
-