Class OFunctionCall
java.lang.Object
com.orientechnologies.orient.core.sql.parser.SimpleNode
com.orientechnologies.orient.core.sql.parser.OFunctionCall
- All Implemented Interfaces:
Node
-
Field Summary
FieldsFields inherited from class com.orientechnologies.orient.core.sql.parser.SimpleNode
children, firstToken, id, lastToken, PARAMETER_PLACEHOLDER, parent, parser, value -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddParam(OExpression param) booleanallowsIndexedFunctionExecutionOnTarget(OFromClause target, OCommandContext context, OBinaryCompareOperator operator, Object right) tests if current function is an indexed function AND that function can be used on this targetbooleancanExecuteIndexedFunctionWithoutIndex(OFromClause target, OCommandContext context, OBinaryCompareOperator operator, Object right) tests if current function is an indexed function AND that function can also be executed without using the indexcopy()voiddeserialize(OResult fromResult) booleanlongestimateIndexedFunction(OFromClause target, OCommandContext ctx, OBinaryCompareOperator operator, Object rightValue) execute(OResult targetObjects, OCommandContext ctx) executeIndexedFunction(OFromClause target, OCommandContext ctx, OBinaryCompareOperator operator, Object rightValue) see OIndexableSQLFunction.searchFromTarget()booleanexecuteIndexedFunctionAfterIndexSearch(OFromClause target, OCommandContext context, OBinaryCompareOperator operator, Object right) tests if current expression is an indexed function AND the function has also to be executed after the index search.voidextractSubQueries(OIdentifier letAlias, SubQueryCollector collector) voidextractSubQueries(SubQueryCollector collector) getName()inthashCode()booleanbooleanbooleanbooleanisExpand()booleanbooleanisStar()booleanneedsAliases(Set<String> aliases) booleanvoidsetParams(List<OExpression> params) splitForAggregation(AggregateProjectionSplit aggregateProj, OCommandContext ctx) voidtoGenericStatement(StringBuilder builder) toMethod()voidtoString(Map<Object, Object> params, StringBuilder builder) Methods inherited from class com.orientechnologies.orient.core.sql.parser.SimpleNode
dump, getValue, jjtAddChild, jjtClose, jjtGetChild, jjtGetFirstToken, jjtGetLastToken, jjtGetNumChildren, jjtGetParent, jjtGetValue, jjtOpen, jjtSetFirstToken, jjtSetLastToken, jjtSetParent, jjtSetValue, toGenericStatement, toString, toString
-
Field Details
-
name
-
params
-
-
Constructor Details
-
OFunctionCall
public OFunctionCall(int id) -
OFunctionCall
-
-
Method Details
-
isStar
public boolean isStar() -
getParams
-
setParams
-
addParam
-
toString
- Specified by:
toStringin classSimpleNode
-
toGenericStatement
- Specified by:
toGenericStatementin classSimpleNode
-
execute
-
getIndexKey
-
isIndexedFunctionCall
public boolean isIndexedFunctionCall() -
executeIndexedFunction
public Iterable<OIdentifiable> executeIndexedFunction(OFromClause target, OCommandContext ctx, OBinaryCompareOperator operator, Object rightValue) see OIndexableSQLFunction.searchFromTarget()- Parameters:
target-ctx-operator-rightValue-- Returns:
-
estimateIndexedFunction
public long estimateIndexedFunction(OFromClause target, OCommandContext ctx, OBinaryCompareOperator operator, Object rightValue) - Parameters:
target- query targetctx- execution contextoperator- operator at the right of the functionrightValue- value to compare to function result- Returns:
- the approximate number of items returned by the condition execution, -1 if the extimation cannot be executed
-
canExecuteIndexedFunctionWithoutIndex
public boolean canExecuteIndexedFunctionWithoutIndex(OFromClause target, OCommandContext context, OBinaryCompareOperator operator, Object right) tests if current function is an indexed function AND that function can also be executed without using the index- Parameters:
target- the query targetcontext- the execution contextoperator-right-- Returns:
- true if current function is an indexed function AND that function can also be executed without using the index, false otherwise
-
allowsIndexedFunctionExecutionOnTarget
public boolean allowsIndexedFunctionExecutionOnTarget(OFromClause target, OCommandContext context, OBinaryCompareOperator operator, Object right) tests if current function is an indexed function AND that function can be used on this target- Parameters:
target- the query targetcontext- the execution contextoperator-right-- Returns:
- true if current function is an indexed function AND that function can be used on this target, false otherwise
-
executeIndexedFunctionAfterIndexSearch
public boolean executeIndexedFunctionAfterIndexSearch(OFromClause target, OCommandContext context, OBinaryCompareOperator operator, Object right) tests if current expression is an indexed function AND the function has also to be executed after the index search. In some cases, the index search is accurate, so this condition can be excluded from further evaluation. In other cases the result from the index is a superset of the expected result, so the function has to be executed anyway for further filtering- Parameters:
target- the query targetcontext- the execution context- Returns:
- true if current expression is an indexed function AND the function has also to be executed after the index search.
-
isExpand
public boolean isExpand() -
needsAliases
-
isAggregate
public boolean isAggregate() -
splitForAggregation
-
isEarlyCalculated
-
getAggregationContext
-
copy
- Overrides:
copyin classSimpleNode
-
equals
-
hashCode
public int hashCode() -
refersToParent
public boolean refersToParent() -
getName
-
toMethod
-
serialize
-
deserialize
-
extractSubQueries
-
extractSubQueries
-
isCacheable
public boolean isCacheable()
-