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