You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Illya Yalovyy (JIRA)" <ji...@apache.org> on 2015/09/16 17:51:45 UTC

[jira] [Commented] (HIVE-11398) Parse wide OR and wide AND trees to flat OR/AND trees

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

Illya Yalovyy commented on HIVE-11398:
--------------------------------------

[~gopalv], I have added unit tests for one is affected method. Could you please review results after this change. Some of them look suspicious. More details: HIVE-11791.

> Parse wide OR and wide AND trees to flat OR/AND trees
> -----------------------------------------------------
>
>                 Key: HIVE-11398
>                 URL: https://issues.apache.org/jira/browse/HIVE-11398
>             Project: Hive
>          Issue Type: New Feature
>          Components: Logical Optimizer, UDF
>    Affects Versions: 1.3.0, 2.0.0
>            Reporter: Gopal V
>            Assignee: Jesus Camacho Rodriguez
>         Attachments: HIVE-11398.2.patch, HIVE-11398.3.patch, HIVE-11398.4.patch, HIVE-11398.5.patch, HIVE-11398.patch
>
>
> Deep trees of AND/OR are hard to traverse particularly when they are merely the same structure in nested form as a version of the operator that takes an arbitrary number of args.
> One potential way to convert the DFS searches into a simpler BFS search is to introduce a new Operator pair named ALL and ANY.
> ALL(A, B, C, D, E) represents AND(AND(AND(AND(E, D), C), B), A)
> ANY(A, B, C, D, E) represents OR(OR(OR(OR(E, D), C),B),A)
> The SemanticAnalyser would be responsible for generating these operators and this would mean that the depth and complexity of traversals for the simplest case of wide AND/OR trees would be trivial.



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