You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@calcite.apache.org by jincheng sun <su...@gmail.com> on 2017/05/08 11:07:52 UTC

Why the user can not set `requiresOrder` and `requiresOver` in the `SqlUserDefinedAggFunction`

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

Re: Why the user can not set `requiresOrder` and `requiresOver` in the `SqlUserDefinedAggFunction`

Posted by jincheng sun <su...@gmail.com>.
Thanks @Julian. I have opened the PR.
https://github.com/apache/calcite/pull/446

Best,
SunJincheng

2017-05-10 5:46 GMT+08:00 Julian Hyde <jh...@apache.org>:

> Thanks. I’ve assigned it to you.
>
> > On May 9, 2017, at 1:43 AM, jincheng sun <su...@gmail.com>
> wrote:
> >
> > Hi Julian,
> >     Thanks for your reply. I had created a JIRA.
> > https://issues.apache.org/jira/browse/CALCITE-1780  I appreciated If you
> > can assign it to me. Or or give me the permission.
> >
> > Thanks,
> > SunJincheng
> >
> > 2017-05-09 5:17 GMT+08:00 Julian Hyde <jh...@apache.org>:
> >
> >> 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 <su...@gmail.com>
> >> 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
> >>
> >>
>
>

Re: Why the user can not set `requiresOrder` and `requiresOver` in the `SqlUserDefinedAggFunction`

Posted by Julian Hyde <jh...@apache.org>.
Thanks. I’ve assigned it to you.

> On May 9, 2017, at 1:43 AM, jincheng sun <su...@gmail.com> wrote:
> 
> Hi Julian,
>     Thanks for your reply. I had created a JIRA.
> https://issues.apache.org/jira/browse/CALCITE-1780  I appreciated If you
> can assign it to me. Or or give me the permission.
> 
> Thanks,
> SunJincheng
> 
> 2017-05-09 5:17 GMT+08:00 Julian Hyde <jh...@apache.org>:
> 
>> 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 <su...@gmail.com>
>> 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
>> 
>> 


Re: Why the user can not set `requiresOrder` and `requiresOver` in the `SqlUserDefinedAggFunction`

Posted by jincheng sun <su...@gmail.com>.
Hi Julian,
     Thanks for your reply. I had created a JIRA.
https://issues.apache.org/jira/browse/CALCITE-1780  I appreciated If you
can assign it to me. Or or give me the permission.

Thanks,
SunJincheng

2017-05-09 5:17 GMT+08:00 Julian Hyde <jh...@apache.org>:

> 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 <su...@gmail.com>
> 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
>
>

Re: Why the user can not set `requiresOrder` and `requiresOver` in the `SqlUserDefinedAggFunction`

Posted by Julian Hyde <jh...@apache.org>.
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 <su...@gmail.com> 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