Package com.arcadedb.query.sql.parser
Class BaseIdentifier
- java.lang.Object
-
- com.arcadedb.query.sql.parser.SimpleNode
-
- com.arcadedb.query.sql.parser.BaseIdentifier
-
- All Implemented Interfaces:
Node
public class BaseIdentifier extends SimpleNode
-
-
Field Summary
Fields Modifier and Type Field Description protected LevelZeroIdentifier
levelZero
protected SuffixIdentifier
suffix
-
Fields inherited from class com.arcadedb.query.sql.parser.SimpleNode
children, firstToken, id, lastToken, parent, parser, value
-
-
Constructor Summary
Constructors Constructor Description BaseIdentifier(int id)
BaseIdentifier(Identifier identifier)
BaseIdentifier(RecordAttribute attr)
BaseIdentifier(SqlParser p, int id)
-
Method Summary
-
Methods inherited from class com.arcadedb.query.sql.parser.SimpleNode
childrenAccept, dump, getValue, jjtAccept, jjtAddChild, jjtClose, jjtGetChild, jjtGetFirstToken, jjtGetLastToken, jjtGetNumChildren, jjtGetParent, jjtGetValue, jjtOpen, jjtSetFirstToken, jjtSetLastToken, jjtSetParent, jjtSetValue, toString, toString
-
-
-
-
Field Detail
-
levelZero
protected LevelZeroIdentifier levelZero
-
suffix
protected SuffixIdentifier suffix
-
-
Constructor Detail
-
BaseIdentifier
public BaseIdentifier(int id)
-
BaseIdentifier
public BaseIdentifier(SqlParser p, int id)
-
BaseIdentifier
public BaseIdentifier(Identifier identifier)
-
BaseIdentifier
public BaseIdentifier(RecordAttribute attr)
-
-
Method Detail
-
toString
public void toString(Map<String,Object> params, StringBuilder builder)
- Overrides:
toString
in classSimpleNode
-
execute
public Object execute(Record iCurrentRecord, CommandContext ctx)
-
execute
public Object execute(Result iCurrentRecord, CommandContext ctx)
-
isIndexedFunctionCall
public boolean isIndexedFunctionCall()
-
estimateIndexedFunction
public long estimateIndexedFunction(FromClause target, CommandContext context, BinaryCompareOperator operator, Object right)
-
executeIndexedFunction
public Iterable<Record> executeIndexedFunction(FromClause target, CommandContext context, BinaryCompareOperator operator, Object right)
-
canExecuteIndexedFunctionWithoutIndex
public boolean canExecuteIndexedFunctionWithoutIndex(FromClause target, CommandContext context, BinaryCompareOperator operator, Object right)
tests if current expression is an indexed funciton AND that function can also be executed without using the index- Parameters:
target
- the query targetcontext
- the execution contextoperator
-right
-- Returns:
- true if current expression is an indexed funciton AND that function can also be executed without using the index, false otherwise
-
allowsIndexedFunctionExecutionOnTarget
public boolean allowsIndexedFunctionExecutionOnTarget(FromClause target, CommandContext context, BinaryCompareOperator operator, Object right)
tests if current expression 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 expression involves an indexed function AND that function can be used on this target, false otherwise
-
executeIndexedFunctionAfterIndexSearch
public boolean executeIndexedFunctionAfterIndexSearch(FromClause target, CommandContext context, BinaryCompareOperator 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.
-
isBaseIdentifier
public boolean isBaseIdentifier()
-
isExpand
public boolean isExpand()
-
getExpandContent
public Expression getExpandContent()
-
isAggregate
public boolean isAggregate()
-
isCount
public boolean isCount()
-
isEarlyCalculated
public boolean isEarlyCalculated()
-
splitForAggregation
public SimpleNode splitForAggregation(AggregateProjectionSplit aggregateProj)
-
getAggregationContext
public AggregationContext getAggregationContext(CommandContext ctx)
-
setLevelZero
public void setLevelZero(LevelZeroIdentifier levelZero)
-
copy
public BaseIdentifier copy()
- Overrides:
copy
in classSimpleNode
-
refersToParent
public boolean refersToParent()
-
getSuffix
public SuffixIdentifier getSuffix()
-
getLevelZero
public LevelZeroIdentifier getLevelZero()
-
applyRemove
public void applyRemove(ResultInternal result, CommandContext ctx)
-
serialize
public Result serialize()
-
deserialize
public void deserialize(Result fromResult)
-
isDefinedFor
public boolean isDefinedFor(Result currentRecord)
-
isDefinedFor
public boolean isDefinedFor(Record currentRecord)
-
extractSubQueries
public void extractSubQueries(Identifier letAlias, SubQueryCollector collector)
-
extractSubQueries
public void extractSubQueries(SubQueryCollector collector)
-
isCacheable
public boolean isCacheable()
-
-