You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by na...@apache.org on 2009/06/03 07:10:57 UTC
svn commit: r781262 - in /hadoop/hive/trunk: ./
ql/src/java/org/apache/hadoop/hive/ql/exec/
ql/src/java/org/apache/hadoop/hive/ql/ppd/
ql/src/test/queries/clientpositive/
Author: namit
Date: Wed Jun 3 05:10:57 2009
New Revision: 781262
URL: http://svn.apache.org/viewvc?rev=781262&view=rev
Log:
HIVE-532. Predicates not pushed above limit
(Prasad Chakka via namit)
Modified:
hadoop/hive/trunk/CHANGES.txt
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/LimitOperator.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/ppd/OpProcFactory.java
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/ppd/PredicatePushDown.java
hadoop/hive/trunk/ql/src/test/queries/clientpositive/order2.q
Modified: hadoop/hive/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/CHANGES.txt?rev=781262&r1=781261&r2=781262&view=diff
==============================================================================
--- hadoop/hive/trunk/CHANGES.txt (original)
+++ hadoop/hive/trunk/CHANGES.txt Wed Jun 3 05:10:57 2009
@@ -203,6 +203,9 @@
HIVE-495. Fix join of a table of ThriftSerDe with complex columns
(Zheng Shao via namit)
+ HIVE-532. Predicates not pushed above limit
+ (Prasad Chakka via namit)
+
Release 0.3.1 - Unreleased
INCOMPATIBLE CHANGES
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/LimitOperator.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/LimitOperator.java?rev=781262&r1=781261&r2=781262&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/LimitOperator.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/LimitOperator.java Wed Jun 3 05:10:57 2009
@@ -54,4 +54,8 @@
setDone(true);
}
+ public String getName() {
+ return "LIM";
+ }
+
}
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/ppd/OpProcFactory.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/ppd/OpProcFactory.java?rev=781262&r1=781261&r2=781262&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/ppd/OpProcFactory.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/ppd/OpProcFactory.java Wed Jun 3 05:10:57 2009
@@ -77,6 +77,7 @@
LOG.info("Processing for " + nd.getName() + "(" + ((Operator)nd).getIdentifier() + ")");
// script operator is a black-box to hive so no optimization here
// assuming that nothing can be pushed above the script op
+ // same with LIMIT op
return null;
}
@@ -352,4 +353,8 @@
return new ScriptPPD();
}
+ public static NodeProcessor getLIMProc() {
+ return new ScriptPPD();
+ }
+
}
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/ppd/PredicatePushDown.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/ppd/PredicatePushDown.java?rev=781262&r1=781261&r2=781262&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/ppd/PredicatePushDown.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/ppd/PredicatePushDown.java Wed Jun 3 05:10:57 2009
@@ -90,6 +90,7 @@
opRules.put(new RuleRegExp("R4", "RS%"), OpProcFactory.getRSProc());
opRules.put(new RuleRegExp("R5", "TS%"), OpProcFactory.getTSProc());
opRules.put(new RuleRegExp("R6", "SCR%"), OpProcFactory.getSCRProc());
+ opRules.put(new RuleRegExp("R6", "LIM%"), OpProcFactory.getLIMProc());
// The dispatcher fires the processor corresponding to the closest matching rule and passes the context along
Dispatcher disp = new DefaultRuleDispatcher(OpProcFactory.getDefaultProc(), opRules, opWalkerInfo);
Modified: hadoop/hive/trunk/ql/src/test/queries/clientpositive/order2.q
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/test/queries/clientpositive/order2.q?rev=781262&r1=781261&r2=781262&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/test/queries/clientpositive/order2.q (original)
+++ hadoop/hive/trunk/ql/src/test/queries/clientpositive/order2.q Wed Jun 3 05:10:57 2009
@@ -1,3 +1,5 @@
+set hive.optimize.ppd=true;
+
EXPLAIN
SELECT subq.key, subq.value FROM
(SELECT x.* FROM SRC x ORDER BY key limit 10) subq