Matthew Jacobs has posted comments on this change.

Change subject: IMPALA-4213: Planner not pushing some Kudu predicates
......................................................................


Patch Set 2:

(3 comments)

http://gerrit.cloudera.org:8080/#/c/4613/2/fe/src/main/java/org/apache/impala/analysis/BinaryPredicate.java
File fe/src/main/java/org/apache/impala/analysis/BinaryPredicate.java:

Line 124:     try {
> Do we still need these changes? I kind of liked the previous flow better. I
So now there are basically 2 things we have to do:
a) fold the children (which now removes the unnecessary casts)
b) re-order the predicate so it matches: slot op literal


The advantage of doing (a) first is that we can directly check if one of the 
children is a SlotRef, otherwise we have to assume there could be a cast in 
there and use unwrapSlotRef(). That's not a big deal but it's just 1 less thing 
to think about.

How would we be able to remove the analyze call which happens after the 
foldConstantChildren()? That calls reset(). Or were you thinking that 
foldConstantChildren() should also re-analyze? I'm not sure how that impacts 
the other caller in HdfsPartitionPruner.canEvalUsingPartitionMd()


http://gerrit.cloudera.org:8080/#/c/4613/2/fe/src/main/java/org/apache/impala/analysis/Expr.java
File fe/src/main/java/org/apache/impala/analysis/Expr.java:

Line 1195:    * resulting LiteralExpr. Modifies 'this' in place and resets it. 
Hence, it is not safe
> Seems cleaner to reset() and then analyze() in here. That way callers don't
Works for me, though there is another caller: 
HdfsPartitionPruner.canEvalUsingPartitionMd(). I'm not really sure what's going 
on with that code, i.e. why it expects an unanalyzed expr and I don't see it 
re-analyzing the expr after calling this. Does that look suspicious to you?


Line 1213:     reset();
> Let's only do this if there was actually folding.
Done


-- 
To view, visit http://gerrit.cloudera.org:8080/4613
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I3bab22d90ee00a054c847de6c734b4f24a3f5a85
Gerrit-PatchSet: 2
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-Owner: Matthew Jacobs <m...@cloudera.com>
Gerrit-Reviewer: Alex Behm <alex.b...@cloudera.com>
Gerrit-Reviewer: Matthew Jacobs <m...@cloudera.com>
Gerrit-HasComments: Yes

Reply via email to