In fixing https://issues.apache.org/jira/browse/CALCITE-1327 <https://issues.apache.org/jira/browse/CALCITE-1327> we just didn’t add those 2 parameters to SqlUserDefinedAggFunction’s constructor. Feel free to add them. Of course you’ll need to ensure backwards compatibility and to write some tests.
> On May 8, 2017, at 4:07 AM, jincheng sun <[email protected]> wrote: > > Hi Julian, > I have a question that need your help. The problem is described below: > org.apache.calcite.sql.validate.SqlUserDefinedAggFunction calls the > constructor of SqlAggFunction: > > Protected SqlAggFunction ( > String name, > SqlIdentifier sqlIdentifier, > SqlKind kind, > SqlReturnTypeInference returnTypeInference, > SqlOperandTypeInference operandTypeInference, > SqlOperandTypeChecker operandTypeChecker, > SqlFunctionCategory funcType, > Boolean requiresOrder, > Boolean requiresOver) > > The requiresOrder = false, requiresOver = false. as follow: > > Public SqlUserDefinedAggFunction (SqlIdentifier opName, > SqlReturnTypeInference returnTypeInference, > SqlOperandTypeInference operandTypeInference, > SqlOperandTypeChecker operandTypeChecker, AggregateFunction function) { > Super (Util.last (opName.names), opName, SqlKind.OTHER_FUNCTION, > ReturnTypeInference, operandTypeInference, operandTypeChecker, > SqlFunctionCategory.USER_DEFINED_FUNCTION, false, false); > This.function = function; > } > > I appreciated If you can tell me why the user can not set `requiresOrder` and > `requiresOver` in the `SqlUserDefinedAggFunction` ? > > Best, > SunJincheng
