If you're running an older version of Impala you could be hitting
https://issues.apache.org/jira/browse/IMPALA-2379

On Mon, Aug 14, 2017 at 1:49 PM, Tim Armstrong <[email protected]>
wrote:

> Hi Santanu,
>   Thanks for your interest. I can probably help you out given a bit more
> info. Whether the arguments are constant or not is determined based on
> analysis of the input expression to your function. In your case 1 and 100
> are definitely constant.
>
> What version of Impala are you running? Could you also show us the actual
> code for your UDAF (or an simplified reproduction of the problem), the SQL
> commands you ran and the output?
>
> - Tim
>
> On Mon, Aug 14, 2017 at 1:39 PM, Santanu Chatterjee <
> [email protected]> wrote:
>
>> I am trying to develop a UDAF which takes three parameters. SQL syntax
>> would look like this :
>>
>> select myudaf(col1, 1, 100) from mytab;
>>
>> Here col1 is from table mytab and of type numeric (double/int etc.). The
>> other two parameters are constants. The third parameter determines memory
>> allocation for intermediate results. Therefore, I need to access it from
>> Init() function. Here is how I developed my update and init functions :
>>
>> void myUDAFInit(FunctionContext *ctx, StringVal *dst);
>> void myUDAFUpdate(FunctionContext *ctx, const DoubleVal& d, const IntVal&,
>> const IntVal&, StringVal* result);
>>
>> Also, I am defining my UDAF like this :
>>
>> create aggregate function myUDAF(double, int, int) returns... ;
>>
>> However, when I try to access function arguments in my Init() function, it
>> says the arguments are non-constant. Is there a different way to define
>> constant arguments?
>>
>> Thanks in Advance.
>>
>
>

Reply via email to