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
>