Class BaseIdentifier

  • All Implemented Interfaces:
    Node

    public class BaseIdentifier
    extends SimpleNode
    • Constructor Detail

      • BaseIdentifier

        public BaseIdentifier​(int id)
      • BaseIdentifier

        public BaseIdentifier​(SqlParser p,
                              int id)
      • BaseIdentifier

        public BaseIdentifier​(Identifier identifier)
    • Method Detail

      • isIndexedFunctionCall

        public boolean isIndexedFunctionCall()
      • 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 target
        context - the execution context
        operator -
        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 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​(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 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 Expression getExpandContent()
      • needsAliases

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

        public boolean isAggregate()
      • isCount

        public boolean isCount()
      • isEarlyCalculated

        public boolean isEarlyCalculated()
      • hashCode

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

        public boolean refersToParent()
      • serialize

        public Result serialize()
      • deserialize

        public void deserialize​(Result fromResult)
      • isDefinedFor

        public boolean isDefinedFor​(Result currentRecord)
      • isDefinedFor

        public boolean isDefinedFor​(Record currentRecord)
      • isCacheable

        public boolean isCacheable()