[ 
https://issues.apache.org/jira/browse/HIVE-11405?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Hari Sankar Sivarama Subramaniyan updated HIVE-11405:
-----------------------------------------------------
    Description: 
Thanks to [~gopalv] for uncovering this issue as part of HIVE-11330.  Quoting 
him,
"The recursion protection works well with an AND expr, but it doesn't work 
against
(OR a=1 (OR a=2 (OR a=3 (OR ...)
since the for the rows will never be reduced during recursion due to the nature 
of the OR.
We need to execute a short-circuit to satisfy the OR properly - no case which 
matches a=1 qualifies for the rest of the filters.
Recursion should pass in the numRows - branch1Rows for the branch-2."

  was:
Thanks for [~gopalv] for uncovering this as part of HIVE-11330.  Quoting him,
"The recursion protection works well with an AND expr, but it doesn't work 
against
(OR a=1 (OR a=2 (OR a=3 (OR ...)
since the for the rows will never be reduced during recursion due to the nature 
of the OR.
We need to execute a short-circuit to satisfy the OR properly - no case which 
matches a=1 qualifies for the rest of the filters.
Recursion should pass in the numRows - branch1Rows for the branch-2."


> Add early termination for recursion in 
> StatsRulesProcFactory$FilterStatsRule.evaluateExpression  for OR expression
> ------------------------------------------------------------------------------------------------------------------
>
>                 Key: HIVE-11405
>                 URL: https://issues.apache.org/jira/browse/HIVE-11405
>             Project: Hive
>          Issue Type: Bug
>            Reporter: Hari Sankar Sivarama Subramaniyan
>            Assignee: Prasanth Jayachandran
>
> Thanks to [~gopalv] for uncovering this issue as part of HIVE-11330.  Quoting 
> him,
> "The recursion protection works well with an AND expr, but it doesn't work 
> against
> (OR a=1 (OR a=2 (OR a=3 (OR ...)
> since the for the rows will never be reduced during recursion due to the 
> nature of the OR.
> We need to execute a short-circuit to satisfy the OR properly - no case which 
> matches a=1 qualifies for the rest of the filters.
> Recursion should pass in the numRows - branch1Rows for the branch-2."



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to