You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@arrow.apache.org by Nate Clark <na...@neworld.us> on 2022/01/21 13:21:15 UTC

[C++][Gandiva] InExpression with date/time types

Hi,

I have been working on building gandiva expression trees with the
InExpression. I was able to get it working with all types except the
date/time types. It seems that if the input node into
`MakeInExpressionTimeStamp` has a return type of Timestamp then validation
throws an error because Timestamp is not an int64. There doesn't appear to
be a way to extract the raw int64 millies from a timestamp node. castBIGINT
doesn't seem to exist for the timestamp type.

I tried looking for examples in the gandiva tests but there do not seem to
be any tests which exercise the date/time InExpressions.

If I am not missing something and this is actually a bug I don't mind
filing it and working on it myself with maybe a little direction for the
best way to fix it.

Thanks,
-nate

Re: [C++][Gandiva] InExpression with date/time types

Posted by Projjal Chanda <ia...@pchanda.com>.
Hi Nate,
This looks like a bug in the validation code. Thanks for pointing it out.

> If I am not missing something and this is actually a bug I don't mind
> filing it and working on it myself with maybe a little direction for the
> best way to fix it

Sure, go ahead. The issue is here <https://github.com/apache/arrow/blob/master/cpp/src/gandiva/expr_validator.cc#L150-L157> where it should also test against arrow date and timestamp types.

Regards,
Projjal


> On 23-Jan-2022, at 10:45 AM, Micah Kornfield <em...@gmail.com> wrote:
> 
> Hi Nate,
> +dev@ to reach more people familiar with Gandiva.
> 
> I'd recommend filing a JIRA if no-one chimes in (more people might monitor
> JIRAs then user@) here I'd assume it is an oversight.
> 
> Thanks,
> Micah
> 
> On Fri, Jan 21, 2022 at 5:21 AM Nate Clark <na...@neworld.us> wrote:
> 
>> Hi,
>> 
>> I have been working on building gandiva expression trees with the
>> InExpression. I was able to get it working with all types except the
>> date/time types. It seems that if the input node into
>> `MakeInExpressionTimeStamp` has a return type of Timestamp then validation
>> throws an error because Timestamp is not an int64. There doesn't appear to
>> be a way to extract the raw int64 millies from a timestamp node. castBIGINT
>> doesn't seem to exist for the timestamp type.
>> 
>> I tried looking for examples in the gandiva tests but there do not seem to
>> be any tests which exercise the date/time InExpressions.
>> 
>> If I am not missing something and this is actually a bug I don't mind
>> filing it and working on it myself with maybe a little direction for the
>> best way to fix it.
>> 
>> Thanks,
>> -nate
>> 


Re: [C++][Gandiva] InExpression with date/time types

Posted by Micah Kornfield <em...@gmail.com>.
Hi Nate,
+dev@ to reach more people familiar with Gandiva.

I'd recommend filing a JIRA if no-one chimes in (more people might monitor
JIRAs then user@) here I'd assume it is an oversight.

Thanks,
Micah

On Fri, Jan 21, 2022 at 5:21 AM Nate Clark <na...@neworld.us> wrote:

> Hi,
>
> I have been working on building gandiva expression trees with the
> InExpression. I was able to get it working with all types except the
> date/time types. It seems that if the input node into
> `MakeInExpressionTimeStamp` has a return type of Timestamp then validation
> throws an error because Timestamp is not an int64. There doesn't appear to
> be a way to extract the raw int64 millies from a timestamp node. castBIGINT
> doesn't seem to exist for the timestamp type.
>
> I tried looking for examples in the gandiva tests but there do not seem to
> be any tests which exercise the date/time InExpressions.
>
> If I am not missing something and this is actually a bug I don't mind
> filing it and working on it myself with maybe a little direction for the
> best way to fix it.
>
> Thanks,
> -nate
>

Re: [C++][Gandiva] InExpression with date/time types

Posted by Micah Kornfield <em...@gmail.com>.
Hi Nate,
+dev@ to reach more people familiar with Gandiva.

I'd recommend filing a JIRA if no-one chimes in (more people might monitor
JIRAs then user@) here I'd assume it is an oversight.

Thanks,
Micah

On Fri, Jan 21, 2022 at 5:21 AM Nate Clark <na...@neworld.us> wrote:

> Hi,
>
> I have been working on building gandiva expression trees with the
> InExpression. I was able to get it working with all types except the
> date/time types. It seems that if the input node into
> `MakeInExpressionTimeStamp` has a return type of Timestamp then validation
> throws an error because Timestamp is not an int64. There doesn't appear to
> be a way to extract the raw int64 millies from a timestamp node. castBIGINT
> doesn't seem to exist for the timestamp type.
>
> I tried looking for examples in the gandiva tests but there do not seem to
> be any tests which exercise the date/time InExpressions.
>
> If I am not missing something and this is actually a bug I don't mind
> filing it and working on it myself with maybe a little direction for the
> best way to fix it.
>
> Thanks,
> -nate
>