Class MathExpression

    • Constructor Detail

      • MathExpression

        public MathExpression​(int id)
    • Method Detail

      • getExpandContent

        public Expression getExpandContent()
      • isDefinedFor

        public boolean isDefinedFor​(Result currentRecord)
      • isDefinedFor

        public boolean isDefinedFor​(Record currentRecord)
      • setChildExpressions

        public void setChildExpressions​(List<MathExpression> childExpressions)
      • isIndexedFunctionCall

        public boolean isIndexedFunctionCall​(CommandContext context)
      • canExecuteIndexedFunctionWithoutIndex

        public boolean canExecuteIndexedFunctionWithoutIndex​(FromClause target,
                                                             CommandContext context,
                                                             BinaryCompareOperator 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
        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​(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
        Returns:
        true if current expression is 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()
      • isEarlyCalculated

        public boolean isEarlyCalculated​(CommandContext context)
      • isAggregate

        public boolean isAggregate​(CommandContext context)
      • isCount

        public boolean isCount()
      • getMatchPatternInvolvedAliases

        public List<String> getMatchPatternInvolvedAliases()