[ 
https://issues.apache.org/jira/browse/HIVE-24666?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17277409#comment-17277409
 ] 

Gopal Vijayaraghavan commented on HIVE-24666:
---------------------------------------------

bq. This is caused by the vectored expressions of UDFToBoolean all in project 
mode, so an adapter will be here.

You are right about that, I thought the OrExpr would OR the booleans & then 
filter once, but it is a nested filter operator.

I'll take a closer look at this patch - I think the independent function for 
the boolean cast could be enhanced to do what your code does inside 
getVectorExpression(). 

Let me check that quickly and if not ,I'll approve this PR instead of holding 
it back.

> Vectorized UDFToBoolean may unable to filter rows if input is string
> --------------------------------------------------------------------
>
>                 Key: HIVE-24666
>                 URL: https://issues.apache.org/jira/browse/HIVE-24666
>             Project: Hive
>          Issue Type: Bug
>          Components: Vectorization
>            Reporter: Zhihua Deng
>            Assignee: Zhihua Deng
>            Priority: Minor
>              Labels: pull-request-available
>         Attachments: HIVE-24666.2.patch
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> If we use cast boolean in where conditions to filter rows,  in vectorization 
> execution the filter is unable to filter rows,  step to reproduce:
> {code:java}
> create table vtb (key string, value string);
> insert into table vtb values('0', 'val0'), ('false', 'valfalse'),('off', 
> 'valoff'),('no','valno'),('vk', 'valvk');
> select distinct value from vtb where cast(key as boolean); {code}
> It's seems we don't generate a SelectColumnIsTrue to filter the rows if the 
> casted type is string:
>  
> https://github.com/apache/hive/blob/ff6f3565e50148b7bcfbcf19b970379f2bd59290/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorizationContext.java#L2995-L2996



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to