core/src/main/java/com/orientechnologies/orient/core/sql/parser/OFunctionCall.java
public long estimateIndexedFunction(OFromClause target, OCommandContext ctx, OBinaryCompareOperator operator, Object rightValue) {
    OSQLFunction function = OSQLEngine.getInstance().getFunction(name.getStringValue());
    if (function instanceof OIndexableSQLFunction) {
      return ((OIndexableSQLFunction) function)
          .estimate(target, operator, rightValue, ctx, this.getParams().toArray(new OExpression[] {}));
    }
    return -1;
  }
public long estimateIndexedFunction(OFromClause target, OCommandContext ctx, OBinaryCompareOperator operator, Object rightValue) {
    OSQLFunction function = OSQLEngine.getInstance().getFunction(name.getStringValue());
    if (function instanceof OIndexableSQLFunction) {
      return ((OIndexableSQLFunction) function)
          .estimate(target, operator, rightValue, ctx, this.getParams().toArray(new OExpression[] {}));
    }
    return -1;
  }
@param target     query target
@param ctx        execution context
@param operator   operator at the right of the function
@param rightValue value to compare to funciton result

@return the approximate number of items returned by the condition execution, -1 if the extimation cannot be executed