hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ashish Thusoo (JIRA)" <>
Subject [jira] Commented: (HIVE-578) Refactor partition pruning code as an optimizer transformation
Date Thu, 06 Aug 2009 09:03:14 GMT


Ashish Thusoo commented on HIVE-578:

1. I have added a bunch of tests with the new patch.
2/3/5. Fixed the typos and wrong comments and javadocs
4. I don't think I have to check for exprNodeNullDesc. The unknown value of an operand is
denoted by a null value in exprNodeConstantDesc. exprNodeNullDesc is used to denote the liternal
NULL which should be treated as is for predicate pruning expression. e.g. if(ISNULL(NULL),
1, 0) should evaluate to 1 instead of unknown. So I think it is correct to not check the exprNodeNullDesc
for the function processors. Thoughts?

3. I have used the ppd parameter because I cannot do partition pruning without ppd. So even
if I have a separate parameter it would still have to be checked along with ppd. At that point,
it seems having a separate parameter for ppd does not add much value. Thoughts?
7. Removed
6. I have changed the name ot ASTPartitionPruner
5. This fixes a bug in DefaultGraphWalker. Due to this bug the operation stack would always
get popped when you exited this call. As a result the stack would actually just contain the
last node and not all the nodes on the path leading to the last node.
4. Which particular code file are you talking about here?
2. Not sure how that is different from what we were doing before?
1. Made the change

> Refactor partition pruning code as an optimizer transformation
> --------------------------------------------------------------
>                 Key: HIVE-578
>                 URL:
>             Project: Hadoop Hive
>          Issue Type: Bug
>          Components: Query Processor
>    Affects Versions: 0.3.0
>            Reporter: Ashish Thusoo
>            Assignee: Ashish Thusoo
>         Attachments: patch-578.txt, patch-578_1.txt
> Some bugs with partition pruning have been reported and the correct fix for many of them
is to rewrite the partition pruning code as an optimizer transformation which gets kicked
in after the predicate pushdown code. This refactor also uses the graph walker framework so
that the partition pruning code gets consolidated well with the frameworks and does not work
on the query block but rather works on the operator tree.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message