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;
  }
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
@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