You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by zs...@apache.org on 2010/01/22 05:55:57 UTC

svn commit: r901995 - in /hadoop/hive/trunk: CHANGES.txt ql/src/java/org/apache/hadoop/hive/ql/parse/BaseSemanticAnalyzer.java

Author: zshao
Date: Fri Jan 22 04:55:57 2010
New Revision: 901995

URL: http://svn.apache.org/viewvc?rev=901995&view=rev
Log:
HIVE-1072. Keep CreateTime when a partition is overwritten. (Paul Yang via zshao)

Modified:
    hadoop/hive/trunk/CHANGES.txt
    hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/BaseSemanticAnalyzer.java

Modified: hadoop/hive/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/CHANGES.txt?rev=901995&r1=901994&r2=901995&view=diff
==============================================================================
--- hadoop/hive/trunk/CHANGES.txt (original)
+++ hadoop/hive/trunk/CHANGES.txt Fri Jan 22 04:55:57 2010
@@ -52,7 +52,6 @@
 
     HIVE-1075. Make it possible for users to recover data when moveTask fails
     (Zheng Shao via Ning Zhang)
-    
 
 Release 0.5.0 -  Unreleased
 
@@ -493,6 +492,9 @@
     HIVE-1049. Fix ant targets "eclipse-files" and "javadoc".
     (Carl Steinbach via zshao)
 
+    HIVE-1072. Keep CreateTime when a partition is overwritten.
+    (Paul Yang via zshao)
+
 Release 0.4.0 -  Unreleased
 
   INCOMPATIBLE CHANGES

Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/BaseSemanticAnalyzer.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/BaseSemanticAnalyzer.java?rev=901995&r1=901994&r2=901995&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/BaseSemanticAnalyzer.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/BaseSemanticAnalyzer.java Fri Jan 22 04:55:57 2010
@@ -432,8 +432,13 @@
               .toLowerCase()), val);
         }
         try {
-          // this doesn't create partition. partition is created in MoveTask
-          partHandle = new Partition(tableHandle, partSpec, null);
+          // In case the partition already exists, we need to get the partition
+          // data from the metastore
+          partHandle = db.getPartition(tableHandle, partSpec, false);
+          if(partHandle == null) {
+            // this doesn't create partition. partition is created in MoveTask
+            partHandle = new Partition(tableHandle, partSpec, null);
+          }
         } catch (HiveException e) {
           throw new SemanticException(ErrorMsg.INVALID_PARTITION.getMsg(ast
               .getChild(childIndex)));