Class OBaseIdentifier

java.lang.Object
com.orientechnologies.orient.core.sql.parser.SimpleNode
com.orientechnologies.orient.core.sql.parser.OBaseIdentifier
All Implemented Interfaces:
Node

public class OBaseIdentifier extends SimpleNode
  • Field Details

  • Constructor Details

    • OBaseIdentifier

      public OBaseIdentifier(int id)
    • OBaseIdentifier

      public OBaseIdentifier(OrientSql p, int id)
    • OBaseIdentifier

      public OBaseIdentifier(OIdentifier identifier)
    • OBaseIdentifier

      public OBaseIdentifier(ORecordAttribute attr)
  • Method Details

    • toString

      public void toString(Map<Object,Object> params, StringBuilder builder)
      Specified by:
      toString in class SimpleNode
    • toGenericStatement

      public void toGenericStatement(StringBuilder builder)
      Specified by:
      toGenericStatement in class SimpleNode
    • execute

      public Object execute(OResult iCurrentRecord, OCommandContext ctx)
    • getIndexKey

      public Collection<Object> getIndexKey(OCommandContext ctx)
    • isFunctionAny

      public boolean isFunctionAny()
    • isFunctionAll

      public boolean isFunctionAll()
    • isIndexedFunctionCall

      public boolean isIndexedFunctionCall()
    • estimateIndexedFunction

      public long estimateIndexedFunction(OFromClause target, OCommandContext context, OBinaryCompareOperator operator, Object right)
    • executeIndexedFunction

      public Iterable<OIdentifiable> executeIndexedFunction(OFromClause target, OCommandContext context, OBinaryCompareOperator operator, Object right)
    • canExecuteIndexedFunctionWithoutIndex

      public boolean canExecuteIndexedFunctionWithoutIndex(OFromClause target, OCommandContext context, OBinaryCompareOperator operator, Object right)
      tests if current expression is an indexed function AND that function can also be executed without using the index
      Parameters:
      target - the query target
      context - the execution context
      operator -
      right -
      Returns:
      true if current expression 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 expression is an indexed function AND that function can be used on this target
      Parameters:
      target - the query target
      context - the execution context
      operator -
      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(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 target
      context - 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 OExpression getExpandContent()
    • needsAliases

      public boolean needsAliases(Set<String> aliases)
    • isAggregate

      public boolean isAggregate()
    • isCount

      public boolean isCount()
    • isEarlyCalculated

      public boolean isEarlyCalculated(OCommandContext ctx)
    • splitForAggregation

      public SimpleNode splitForAggregation(AggregateProjectionSplit aggregateProj, OCommandContext ctx)
    • getAggregationContext

      public AggregationContext getAggregationContext(OCommandContext ctx)
    • setLevelZero

      public void setLevelZero(OLevelZeroIdentifier levelZero)
    • copy

      public OBaseIdentifier copy()
      Overrides:
      copy in class SimpleNode
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • refersToParent

      public boolean refersToParent()
    • getSuffix

      public OSuffixIdentifier getSuffix()
    • getLevelZero

      public OLevelZeroIdentifier getLevelZero()
    • applyRemove

      public void applyRemove(OResultInternal result, OCommandContext ctx)
    • serialize

      public OResult serialize()
    • deserialize

      public void deserialize(OResult fromResult)
    • isDefinedFor

      public boolean isDefinedFor(OResult currentRecord)
    • isDefinedFor

      public boolean isDefinedFor(OElement currentRecord)
    • extractSubQueries

      public void extractSubQueries(OIdentifier letAlias, SubQueryCollector collector)
    • extractSubQueries

      public void extractSubQueries(SubQueryCollector collector)
    • getCollate

      public OCollate getCollate(OResult currentRecord, OCommandContext ctx)
    • isCacheable

      public boolean isCacheable()
    • isIndexChain

      public boolean isIndexChain(OCommandContext ctx, OClass clazz)
    • isSelf

      public boolean isSelf()