Class StDistance
- All Implemented Interfaces:
NamedWriteable,Writeable,Resolvable,EvaluatorMapper
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static classstatic classThis class is a CRS specific interface for generalizing distance calculations for the various possible ways that the geometries can be provided, from source, from evals, from literals and from doc values.protected static classNested classes/interfaces inherited from class org.elasticsearch.xpack.esql.expression.function.scalar.spatial.BinarySpatialFunction
BinarySpatialFunction.BinarySpatialComparator<T>, BinarySpatialFunction.SpatialCrsTypeNested classes/interfaces inherited from class org.elasticsearch.xpack.esql.core.expression.Expression
Expression.TypeResolutionNested classes/interfaces inherited from interface org.elasticsearch.xpack.esql.evaluator.mapper.EvaluatorMapper
EvaluatorMapper.ToEvaluatorNested classes/interfaces inherited from interface org.elasticsearch.common.io.stream.Writeable
Writeable.Reader<V>, Writeable.Writer<V> -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StDistance.DistanceCalculatorstatic final NamedWriteableRegistry.Entrystatic final StDistance.DistanceCalculatorFields inherited from class org.elasticsearch.xpack.esql.expression.function.scalar.spatial.BinarySpatialFunction
leftDocValues, rightDocValuesFields inherited from class org.elasticsearch.xpack.esql.core.expression.function.scalar.ScalarFunction
MAX_BYTES_REF_RESULT_SIZE -
Constructor Summary
ConstructorsModifierConstructorDescriptionStDistance(Source source, Expression left, Expression right) protectedStDistance(Source source, Expression left, Expression right, boolean leftDocValues, boolean rightDocValues) -
Method Summary
Modifier and TypeMethodDescriptiondataType()fold(FoldContext ctx) protected NodeInfo<? extends Expression> info()left()protected StDistancereplaceChildren(Expression newLeft, Expression newRight) right()source()toEvaluator(EvaluatorMapper.ToEvaluator toEvaluator) Convert this into anEvalOperator.ExpressionEvaluator.withDocValues(boolean foundLeft, boolean foundRight) Mark the function as expecting the specified fields to arrive as doc-values.Methods inherited from class org.elasticsearch.xpack.esql.expression.function.scalar.spatial.BinarySpatialFunction
crsType, equals, hashCode, leftDocValues, resolveType, rightDocValues, setCrsType, spatialCRSCompatible, translatable, writeToMethods inherited from class org.elasticsearch.xpack.esql.core.expression.function.scalar.BinaryScalarFunction
foldable, left, replaceChildren, rightMethods inherited from class org.elasticsearch.xpack.esql.core.expression.function.Function
arguments, functionName, nodeString, nullableMethods inherited from class org.elasticsearch.xpack.esql.core.expression.Expression
canonical, canonicalize, childrenResolved, propertiesToString, references, resolved, semanticEquals, semanticHash, toString, typeResolvedMethods inherited from class org.elasticsearch.xpack.esql.core.tree.Node
anyMatch, children, collect, collectFirstChildren, collectLeaves, doCollectFirst, forEachDown, forEachDown, forEachProperty, forEachPropertyDown, forEachPropertyOnly, forEachPropertyUp, forEachUp, forEachUp, nodeName, nodeProperties, replaceChildrenSameSize, source, sourceLocation, sourceText, transformChildren, transformDown, transformDown, transformDown, transformNodeProps, transformPropertiesDown, transformPropertiesOnly, transformPropertiesUp, transformUp, transformUp, transformUpMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.elasticsearch.xpack.esql.evaluator.mapper.EvaluatorMapper
fold
-
Field Details
-
ENTRY
-
GEO
-
CARTESIAN
-
-
Constructor Details
-
StDistance
-
StDistance
protected StDistance(Source source, Expression left, Expression right, boolean leftDocValues, boolean rightDocValues)
-
-
Method Details
-
withDocValues
Description copied from class:BinarySpatialFunctionMark the function as expecting the specified fields to arrive as doc-values.- Specified by:
withDocValuesin classBinarySpatialFunction
-
getWriteableName
- Specified by:
getWriteableNamein interfaceNamedWriteable
-
dataType
- Specified by:
dataTypein classExpression
-
replaceChildren
- Specified by:
replaceChildrenin classBinaryScalarFunction
-
info
- Specified by:
infoin classNode<Expression>
-
fold
- Overrides:
foldin classExpression
-
toEvaluator
public EvalOperator.ExpressionEvaluator.Factory toEvaluator(EvaluatorMapper.ToEvaluator toEvaluator) Description copied from interface:EvaluatorMapperConvert this into anEvalOperator.ExpressionEvaluator.Note for implementors: If you are implementing this function, you should call the passed-in lambda on your children, after doing any other manipulation (casting, etc.) necessary.
Note for Callers: If you are attempting to call this method, and you have an
Expressionand aLayout, you likely want to callEvalMapper.toEvaluator(org.elasticsearch.xpack.esql.core.expression.FoldContext, org.elasticsearch.xpack.esql.core.expression.Expression, org.elasticsearch.xpack.esql.planner.Layout)instead. On the other hand, if you already have something that looks like the parameter for this method, you should call this method with that function.Build an
EvalOperator.ExpressionEvaluator.Factoryfor the tree of expressions rooted at this node. This is only guaranteed to return a sensible evaluator if this node has a valid type. If this node is a subclass ofExpressionthen "valid type" means thatExpression.typeResolved()returns a non-error resolution. If Expression.typeResolved() returns an error then this method may throw. Or return an evaluator that produces garbage. Or return an evaluator that throws when run.- Specified by:
toEvaluatorin interfaceEvaluatorMapper
-
source
Source source() -
left
Expression left() -
right
Expression right()
-