You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by jv...@apache.org on 2011/07/18 21:00:48 UTC

svn commit: r1148005 - in /hive/trunk/ql/src: java/org/apache/hadoop/hive/ql/exec/ java/org/apache/hadoop/hive/ql/parse/ java/org/apache/hadoop/hive/ql/plan/ test/queries/clientpositive/ test/results/clientpositive/

Author: jvs
Date: Mon Jul 18 19:00:46 2011
New Revision: 1148005

URL: http://svn.apache.org/viewvc?rev=1148005&view=rev
Log:
HIVE-1218. CREATE TABLE t LIKE some_view should create a new empty base table,
but instead creates a copy of view
(Charles Chen via jvs)


Added:
    hive/trunk/ql/src/test/queries/clientpositive/create_like_view.q
    hive/trunk/ql/src/test/results/clientpositive/create_like_view.q.out
Modified:
    hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java
    hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
    hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/CreateTableLikeDesc.java
    hive/trunk/ql/src/test/queries/clientpositive/create_like.q
    hive/trunk/ql/src/test/results/clientpositive/create_like.q.out

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java?rev=1148005&r1=1148004&r2=1148005&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java Mon Jul 18 19:00:46 2011
@@ -3223,30 +3223,80 @@ public class DDLTask extends Task<DDLWor
    */
   private int createTableLike(Hive db, CreateTableLikeDesc crtTbl) throws HiveException {
     // Get the existing table
-    Table tbl = db.getTable(crtTbl.getLikeTableName());
-
-    // find out database name and table name of target table
-    String targetTableName = crtTbl.getTableName();
-    Table newTable = db.newTable(targetTableName);
-
-    tbl.setDbName(newTable.getDbName());
-    tbl.setTableName(newTable.getTableName());
-
-    if (crtTbl.isExternal()) {
-      tbl.setProperty("EXTERNAL", "TRUE");
+    Table oldtbl = db.getTable(crtTbl.getLikeTableName());
+    Table tbl;
+    if (oldtbl.getTableType() == TableType.VIRTUAL_VIEW) {
+      String targetTableName = crtTbl.getTableName();
+      tbl=db.newTable(targetTableName);
+
+      tbl.setTableType(TableType.MANAGED_TABLE);
+
+      if (crtTbl.isExternal()) {
+        tbl.setProperty("EXTERNAL", "TRUE");
+        tbl.setTableType(TableType.EXTERNAL_TABLE);
+      }
+
+      tbl.setFields(oldtbl.getCols());
+      tbl.setPartCols(oldtbl.getPartCols());
+
+      if (crtTbl.getDefaultSerName() == null) {
+        LOG.info("Default to LazySimpleSerDe for table " + crtTbl.getTableName());
+        tbl.setSerializationLib(org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe.class.getName());
+      } else {
+        // let's validate that the serde exists
+        validateSerDe(crtTbl.getDefaultSerName());
+        tbl.setSerializationLib(crtTbl.getDefaultSerName());
+      }
+
+      if (crtTbl.getDefaultSerdeProps() != null) {
+        Iterator<Entry<String, String>> iter = crtTbl.getDefaultSerdeProps().entrySet()
+          .iterator();
+        while (iter.hasNext()) {
+          Entry<String, String> m = iter.next();
+          tbl.setSerdeParam(m.getKey(), m.getValue());
+        }
+      }
+
+      tbl.setInputFormatClass(crtTbl.getDefaultInputFormat());
+      tbl.setOutputFormatClass(crtTbl.getDefaultOutputFormat());
+
+      tbl.getTTable().getSd().setInputFormat(
+          tbl.getInputFormatClass().getName());
+      tbl.getTTable().getSd().setOutputFormat(
+          tbl.getOutputFormatClass().getName());
     } else {
-      tbl.setProperty("EXTERNAL", "FALSE");
-    }
+      tbl=oldtbl;
 
-    if (crtTbl.getLocation() != null) {
-      tbl.setDataLocation(new Path(crtTbl.getLocation()).toUri());
-    } else {
-      tbl.unsetDataLocation();
+      // find out database name and table name of target table
+      String targetTableName = crtTbl.getTableName();
+      Table newTable = db.newTable(targetTableName);
+
+      tbl.setDbName(newTable.getDbName());
+      tbl.setTableName(newTable.getTableName());
+
+      if (crtTbl.getLocation() != null) {
+        tbl.setDataLocation(new Path(crtTbl.getLocation()).toUri());
+      } else {
+        tbl.unsetDataLocation();
+      }
+
+      // we should reset table specific parameters including (stats, lastDDLTime etc.)
+      Map<String, String> params = tbl.getParameters();
+      params.clear();
+
+      if (crtTbl.isExternal()) {
+        tbl.setProperty("EXTERNAL", "TRUE");
+        tbl.setTableType(TableType.EXTERNAL_TABLE);
+      } else {
+        tbl.getParameters().remove("EXTERNAL");
+      }
     }
 
-    // we should reset table specific parameters including (stats, lastDDLTime etc.)
-    Map<String, String> params = tbl.getParameters();
-    params.clear();
+    // reset owner and creation time
+    int rc = setGenericTableAttributes(tbl);
+    if (rc != 0) {
+      return rc;
+    }
 
     // create the table
     db.createTable(tbl, crtTbl.getIfNotExists());

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java?rev=1148005&r1=1148004&r2=1148005&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java Mon Jul 18 19:00:46 2011
@@ -7735,8 +7735,9 @@ public class SemanticAnalyzer extends Ba
       break;
 
     case CTLT: // create table like <tbl_name>
-      CreateTableLikeDesc crtTblLikeDesc = new CreateTableLikeDesc(tableName,
-          isExt, location, ifNotExists, likeTableName);
+      CreateTableLikeDesc crtTblLikeDesc = new CreateTableLikeDesc(tableName, isExt,
+          storageFormat.inputFormat, storageFormat.outputFormat, location,
+          shared.serde, shared.serdeProps, ifNotExists, likeTableName);
       SessionState.get().setCommandType(HiveOperation.CREATETABLE);
       rootTasks.add(TaskFactory.get(new DDLWork(getInputs(), getOutputs(),
           crtTblLikeDesc), conf));

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/CreateTableLikeDesc.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/CreateTableLikeDesc.java?rev=1148005&r1=1148004&r2=1148005&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/CreateTableLikeDesc.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/CreateTableLikeDesc.java Mon Jul 18 19:00:46 2011
@@ -19,6 +19,7 @@
 package org.apache.hadoop.hive.ql.plan;
 
 import java.io.Serializable;
+import java.util.Map;
 
 /**
  * CreateTableLikeDesc.
@@ -29,6 +30,10 @@ public class CreateTableLikeDesc extends
   private static final long serialVersionUID = 1L;
   String tableName;
   boolean isExternal;
+  String defaultInputFormat;
+  String defaultOutputFormat;
+  String defaultSerName;
+  Map<String, String> defaultSerdeProps;
   String location;
   boolean ifNotExists;
   String likeTableName;
@@ -37,9 +42,15 @@ public class CreateTableLikeDesc extends
   }
 
   public CreateTableLikeDesc(String tableName, boolean isExternal,
-      String location, boolean ifNotExists, String likeTableName) {
+      String defaultInputFormat, String defaultOutputFormat, String location,
+      String defaultSerName, Map<String, String> defaultSerdeProps, boolean ifNotExists,
+      String likeTableName) {
     this.tableName = tableName;
     this.isExternal = isExternal;
+    this.defaultInputFormat=defaultInputFormat;
+    this.defaultOutputFormat=defaultOutputFormat;
+    this.defaultSerName=defaultSerName;
+    this.defaultSerdeProps=defaultSerdeProps;
     this.location = location;
     this.ifNotExists = ifNotExists;
     this.likeTableName = likeTableName;
@@ -63,6 +74,24 @@ public class CreateTableLikeDesc extends
     this.tableName = tableName;
   }
 
+  @Explain(displayName = "default input format")
+  public String getDefaultInputFormat() {
+    return defaultInputFormat;
+  }
+
+  public void setInputFormat(String inputFormat) {
+    this.defaultInputFormat = inputFormat;
+  }
+
+  @Explain(displayName = "default output format")
+  public String getDefaultOutputFormat() {
+    return defaultOutputFormat;
+  }
+
+  public void setOutputFormat(String outputFormat) {
+    this.defaultOutputFormat = outputFormat;
+  }
+
   @Explain(displayName = "location")
   public String getLocation() {
     return location;
@@ -81,6 +110,38 @@ public class CreateTableLikeDesc extends
     this.isExternal = isExternal;
   }
 
+  /**
+   * @return the default serDeName
+   */
+  @Explain(displayName = "default serde name")
+  public String getDefaultSerName() {
+    return defaultSerName;
+  }
+
+  /**
+   * @param serName
+   *          the serName to set
+   */
+  public void setDefaultSerName(String serName) {
+    this.defaultSerName = serName;
+  }
+
+  /**
+   * @return the default serDe properties
+   */
+  @Explain(displayName = "serde properties")
+  public Map<String, String> getDefaultSerdeProps() {
+    return defaultSerdeProps;
+  }
+
+  /**
+   * @param serdeProps
+   *          the default serde properties to set
+   */
+  public void setDefaultSerdeProps(Map<String, String> serdeProps) {
+    this.defaultSerdeProps = serdeProps;
+  }
+
   @Explain(displayName = "like")
   public String getLikeTableName() {
     return likeTableName;

Modified: hive/trunk/ql/src/test/queries/clientpositive/create_like.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/create_like.q?rev=1148005&r1=1148004&r2=1148005&view=diff
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/create_like.q (original)
+++ hive/trunk/ql/src/test/queries/clientpositive/create_like.q Mon Jul 18 19:00:46 2011
@@ -3,20 +3,17 @@
 
 
 CREATE TABLE table1 (a STRING, b STRING) STORED AS TEXTFILE;
-DESCRIBE table1;
-DESCRIBE EXTENDED table1;
+DESCRIBE FORMATTED table1;
 
 CREATE TABLE table2 LIKE table1;
-DESCRIBE table2;
-DESCRIBE EXTENDED table2;
+DESCRIBE FORMATTED table2;
 
 CREATE TABLE IF NOT EXISTS table2 LIKE table1;
 
 CREATE EXTERNAL TABLE IF NOT EXISTS table2 LIKE table1;
 
 CREATE EXTERNAL TABLE IF NOT EXISTS table3 LIKE table1;
-DESCRIBE table3;
-DESCRIBE EXTENDED table3;
+DESCRIBE FORMATTED table3;
 
 INSERT OVERWRITE TABLE table1 SELECT key, value FROM src WHERE key = 86;
 INSERT OVERWRITE TABLE table2 SELECT key, value FROM src WHERE key = 100;
@@ -24,6 +21,3 @@ INSERT OVERWRITE TABLE table2 SELECT key
 SELECT * FROM table1;
 SELECT * FROM table2;
 
-
-
-

Added: hive/trunk/ql/src/test/queries/clientpositive/create_like_view.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/create_like_view.q?rev=1148005&view=auto
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/create_like_view.q (added)
+++ hive/trunk/ql/src/test/queries/clientpositive/create_like_view.q Mon Jul 18 19:00:46 2011
@@ -0,0 +1,39 @@
+DROP TABLE IF EXISTS table1;
+DROP TABLE IF EXISTS table2;
+DROP TABLE IF EXISTS table3;
+DROP VIEW IF EXISTS view1;
+
+CREATE TABLE table1 (a STRING, b STRING) STORED AS TEXTFILE;
+DESCRIBE table1;
+DESCRIBE FORMATTED table1;
+
+CREATE VIEW view1 AS SELECT * FROM table1;
+
+CREATE TABLE table2 LIKE view1;
+DESCRIBE table2;
+DESCRIBE FORMATTED table2;
+
+CREATE TABLE IF NOT EXISTS table2 LIKE view1;
+
+CREATE EXTERNAL TABLE IF NOT EXISTS table2 LIKE view1;
+
+CREATE EXTERNAL TABLE IF NOT EXISTS table3 LIKE view1;
+DESCRIBE table3;
+DESCRIBE FORMATTED table3;
+
+INSERT OVERWRITE TABLE table1 SELECT key, value FROM src WHERE key = 86;
+INSERT OVERWRITE TABLE table2 SELECT key, value FROM src WHERE key = 100;
+
+SELECT * FROM table1 order by a, b;
+SELECT * FROM table2 order by a, b;
+
+DROP TABLE table1;
+DROP TABLE table2;
+DROP VIEW view1;
+
+-- check partitions
+create view view1 partitioned on (ds, hr) as select * from srcpart;
+create table table1 like view1;
+describe formatted table1;
+DROP TABLE table1;
+DROP VIEW view1;
\ No newline at end of file

Modified: hive/trunk/ql/src/test/results/clientpositive/create_like.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/create_like.q.out?rev=1148005&r1=1148004&r2=1148005&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/create_like.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/create_like.q.out Mon Jul 18 19:00:46 2011
@@ -3,39 +3,73 @@ PREHOOK: type: CREATETABLE
 POSTHOOK: query: CREATE TABLE table1 (a STRING, b STRING) STORED AS TEXTFILE
 POSTHOOK: type: CREATETABLE
 POSTHOOK: Output: default@table1
-PREHOOK: query: DESCRIBE table1
+PREHOOK: query: DESCRIBE FORMATTED table1
 PREHOOK: type: DESCTABLE
-POSTHOOK: query: DESCRIBE table1
+POSTHOOK: query: DESCRIBE FORMATTED table1
 POSTHOOK: type: DESCTABLE
-a	string	
-b	string	
-PREHOOK: query: DESCRIBE EXTENDED table1
-PREHOOK: type: DESCTABLE
-POSTHOOK: query: DESCRIBE EXTENDED table1
-POSTHOOK: type: DESCTABLE
-a	string	
-b	string	
+# col_name            	data_type           	comment             
+	 	 
+a                   	string              	None                
+b                   	string              	None                
 	 	 
-Detailed Table Information	Table(tableName:table1, dbName:default, owner:thiruvel, createTime:1286798759, lastAccessTime:0, retention:0, sd:StorageDescriptor(cols:[FieldSchema(name:a, type:string, comment:null), FieldSchema(name:b, type:string, comment:null)], location:pfile:/home/thiruvel/projects/hive/hive.unsecure/build/ql/test/data/warehouse/table1, inputFormat:org.apache.hadoop.mapred.TextInputFormat, outputFormat:org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat, compressed:false, numBuckets:-1, serdeInfo:SerDeInfo(name:null, serializationLib:org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe, parameters:{serialization.format=1}), bucketCols:[], sortCols:[], parameters:{}), partitionKeys:[], parameters:{transient_lastDdlTime=1286798759}, viewOriginalText:null, viewExpandedText:null, tableType:MANAGED_TABLE)	
+# Detailed Table Information	 	 
+Database:           	default             	 
+Owner:              	charleschen         	 
+CreateTime:         	Sat Jul 16 15:44:24 PDT 2011	 
+LastAccessTime:     	UNKNOWN             	 
+Protect Mode:       	None                	 
+Retention:          	0                   	 
+Location:           	pfile:/Users/charleschen/hive-trunk2/build/ql/test/data/warehouse/table1	 
+Table Type:         	MANAGED_TABLE       	 
+Table Parameters:	 	 
+	transient_lastDdlTime	1310856264          
+	 	 
+# Storage Information	 	 
+SerDe Library:      	org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe	 
+InputFormat:        	org.apache.hadoop.mapred.TextInputFormat	 
+OutputFormat:       	org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat	 
+Compressed:         	No                  	 
+Num Buckets:        	-1                  	 
+Bucket Columns:     	[]                  	 
+Sort Columns:       	[]                  	 
+Storage Desc Params:	 	 
+	serialization.format	1                   
 PREHOOK: query: CREATE TABLE table2 LIKE table1
 PREHOOK: type: CREATETABLE
 POSTHOOK: query: CREATE TABLE table2 LIKE table1
 POSTHOOK: type: CREATETABLE
 POSTHOOK: Output: default@table2
-PREHOOK: query: DESCRIBE table2
-PREHOOK: type: DESCTABLE
-POSTHOOK: query: DESCRIBE table2
-POSTHOOK: type: DESCTABLE
-a	string	
-b	string	
-PREHOOK: query: DESCRIBE EXTENDED table2
+PREHOOK: query: DESCRIBE FORMATTED table2
 PREHOOK: type: DESCTABLE
-POSTHOOK: query: DESCRIBE EXTENDED table2
+POSTHOOK: query: DESCRIBE FORMATTED table2
 POSTHOOK: type: DESCTABLE
-a	string	
-b	string	
+# col_name            	data_type           	comment             
 	 	 
-Detailed Table Information	Table(tableName:table2, dbName:default, owner:thiruvel, createTime:1286798760, lastAccessTime:0, retention:0, sd:StorageDescriptor(cols:[FieldSchema(name:a, type:string, comment:null), FieldSchema(name:b, type:string, comment:null)], location:pfile:/home/thiruvel/projects/hive/hive.unsecure/build/ql/test/data/warehouse/table2, inputFormat:org.apache.hadoop.mapred.TextInputFormat, outputFormat:org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat, compressed:false, numBuckets:-1, serdeInfo:SerDeInfo(name:null, serializationLib:org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe, parameters:{serialization.format=1}), bucketCols:[], sortCols:[], parameters:{}), partitionKeys:[], parameters:{EXTERNAL=FALSE, transient_lastDdlTime=1286798760}, viewOriginalText:null, viewExpandedText:null, tableType:MANAGED_TABLE)	
+a                   	string              	None                
+b                   	string              	None                
+	 	 
+# Detailed Table Information	 	 
+Database:           	default             	 
+Owner:              	charleschen         	 
+CreateTime:         	Sat Jul 16 15:44:24 PDT 2011	 
+LastAccessTime:     	UNKNOWN             	 
+Protect Mode:       	None                	 
+Retention:          	0                   	 
+Location:           	pfile:/Users/charleschen/hive-trunk2/build/ql/test/data/warehouse/table2	 
+Table Type:         	MANAGED_TABLE       	 
+Table Parameters:	 	 
+	transient_lastDdlTime	1310856264          
+	 	 
+# Storage Information	 	 
+SerDe Library:      	org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe	 
+InputFormat:        	org.apache.hadoop.mapred.TextInputFormat	 
+OutputFormat:       	org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat	 
+Compressed:         	No                  	 
+Num Buckets:        	-1                  	 
+Bucket Columns:     	[]                  	 
+Sort Columns:       	[]                  	 
+Storage Desc Params:	 	 
+	serialization.format	1                   
 PREHOOK: query: CREATE TABLE IF NOT EXISTS table2 LIKE table1
 PREHOOK: type: CREATETABLE
 POSTHOOK: query: CREATE TABLE IF NOT EXISTS table2 LIKE table1
@@ -49,20 +83,38 @@ PREHOOK: type: CREATETABLE
 POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS table3 LIKE table1
 POSTHOOK: type: CREATETABLE
 POSTHOOK: Output: default@table3
-PREHOOK: query: DESCRIBE table3
-PREHOOK: type: DESCTABLE
-POSTHOOK: query: DESCRIBE table3
-POSTHOOK: type: DESCTABLE
-a	string	
-b	string	
-PREHOOK: query: DESCRIBE EXTENDED table3
+PREHOOK: query: DESCRIBE FORMATTED table3
 PREHOOK: type: DESCTABLE
-POSTHOOK: query: DESCRIBE EXTENDED table3
+POSTHOOK: query: DESCRIBE FORMATTED table3
 POSTHOOK: type: DESCTABLE
-a	string	
-b	string	
+# col_name            	data_type           	comment             
+	 	 
+a                   	string              	None                
+b                   	string              	None                
+	 	 
+# Detailed Table Information	 	 
+Database:           	default             	 
+Owner:              	charleschen         	 
+CreateTime:         	Sat Jul 16 15:44:24 PDT 2011	 
+LastAccessTime:     	UNKNOWN             	 
+Protect Mode:       	None                	 
+Retention:          	0                   	 
+Location:           	pfile:/Users/charleschen/hive-trunk2/build/ql/test/data/warehouse/table3	 
+Table Type:         	EXTERNAL_TABLE      	 
+Table Parameters:	 	 
+	EXTERNAL            	TRUE                
+	transient_lastDdlTime	1310856264          
 	 	 
-Detailed Table Information	Table(tableName:table3, dbName:default, owner:thiruvel, createTime:1286798760, lastAccessTime:0, retention:0, sd:StorageDescriptor(cols:[FieldSchema(name:a, type:string, comment:null), FieldSchema(name:b, type:string, comment:null)], location:pfile:/home/thiruvel/projects/hive/hive.unsecure/build/ql/test/data/warehouse/table3, inputFormat:org.apache.hadoop.mapred.TextInputFormat, outputFormat:org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat, compressed:false, numBuckets:-1, serdeInfo:SerDeInfo(name:null, serializationLib:org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe, parameters:{serialization.format=1}), bucketCols:[], sortCols:[], parameters:{}), partitionKeys:[], parameters:{EXTERNAL=TRUE, transient_lastDdlTime=1286798760}, viewOriginalText:null, viewExpandedText:null, tableType:EXTERNAL_TABLE)	
+# Storage Information	 	 
+SerDe Library:      	org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe	 
+InputFormat:        	org.apache.hadoop.mapred.TextInputFormat	 
+OutputFormat:       	org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat	 
+Compressed:         	No                  	 
+Num Buckets:        	-1                  	 
+Bucket Columns:     	[]                  	 
+Sort Columns:       	[]                  	 
+Storage Desc Params:	 	 
+	serialization.format	1                   
 PREHOOK: query: INSERT OVERWRITE TABLE table1 SELECT key, value FROM src WHERE key = 86
 PREHOOK: type: QUERY
 PREHOOK: Input: default@src
@@ -88,11 +140,11 @@ POSTHOOK: Lineage: table2.b SIMPLE [(src
 PREHOOK: query: SELECT * FROM table1
 PREHOOK: type: QUERY
 PREHOOK: Input: default@table1
-PREHOOK: Output: file:/tmp/thiruvel/hive_2010-10-11_05-06-07_038_1626206004888639/-mr-10000
+PREHOOK: Output: file:/var/folders/fe/fefl-ow3ElaEd1ns0G7jB0uewEQ/-Tmp-/charleschen/hive_2011-07-16_15-44-45_490_2335283351138014900/-mr-10000
 POSTHOOK: query: SELECT * FROM table1
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@table1
-POSTHOOK: Output: file:/tmp/thiruvel/hive_2010-10-11_05-06-07_038_1626206004888639/-mr-10000
+POSTHOOK: Output: file:/var/folders/fe/fefl-ow3ElaEd1ns0G7jB0uewEQ/-Tmp-/charleschen/hive_2011-07-16_15-44-45_490_2335283351138014900/-mr-10000
 POSTHOOK: Lineage: table1.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
 POSTHOOK: Lineage: table1.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
 POSTHOOK: Lineage: table2.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
@@ -101,11 +153,11 @@ POSTHOOK: Lineage: table2.b SIMPLE [(src
 PREHOOK: query: SELECT * FROM table2
 PREHOOK: type: QUERY
 PREHOOK: Input: default@table2
-PREHOOK: Output: file:/tmp/thiruvel/hive_2010-10-11_05-06-07_139_9055053700650128611/-mr-10000
+PREHOOK: Output: file:/var/folders/fe/fefl-ow3ElaEd1ns0G7jB0uewEQ/-Tmp-/charleschen/hive_2011-07-16_15-44-45_655_7605576315633944704/-mr-10000
 POSTHOOK: query: SELECT * FROM table2
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@table2
-POSTHOOK: Output: file:/tmp/thiruvel/hive_2010-10-11_05-06-07_139_9055053700650128611/-mr-10000
+POSTHOOK: Output: file:/var/folders/fe/fefl-ow3ElaEd1ns0G7jB0uewEQ/-Tmp-/charleschen/hive_2011-07-16_15-44-45_655_7605576315633944704/-mr-10000
 POSTHOOK: Lineage: table1.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
 POSTHOOK: Lineage: table1.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
 POSTHOOK: Lineage: table2.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]

Added: hive/trunk/ql/src/test/results/clientpositive/create_like_view.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/create_like_view.q.out?rev=1148005&view=auto
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/create_like_view.q.out (added)
+++ hive/trunk/ql/src/test/results/clientpositive/create_like_view.q.out Mon Jul 18 19:00:46 2011
@@ -0,0 +1,330 @@
+PREHOOK: query: DROP TABLE IF EXISTS table1
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: DROP TABLE IF EXISTS table1
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: DROP TABLE IF EXISTS table2
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: DROP TABLE IF EXISTS table2
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: DROP TABLE IF EXISTS table3
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: DROP TABLE IF EXISTS table3
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: DROP VIEW IF EXISTS view1
+PREHOOK: type: DROPVIEW
+POSTHOOK: query: DROP VIEW IF EXISTS view1
+POSTHOOK: type: DROPVIEW
+PREHOOK: query: CREATE TABLE table1 (a STRING, b STRING) STORED AS TEXTFILE
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: CREATE TABLE table1 (a STRING, b STRING) STORED AS TEXTFILE
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@table1
+PREHOOK: query: DESCRIBE table1
+PREHOOK: type: DESCTABLE
+POSTHOOK: query: DESCRIBE table1
+POSTHOOK: type: DESCTABLE
+a	string	
+b	string	
+PREHOOK: query: DESCRIBE FORMATTED table1
+PREHOOK: type: DESCTABLE
+POSTHOOK: query: DESCRIBE FORMATTED table1
+POSTHOOK: type: DESCTABLE
+# col_name            	data_type           	comment             
+	 	 
+a                   	string              	None                
+b                   	string              	None                
+	 	 
+# Detailed Table Information	 	 
+Database:           	default             	 
+Owner:              	charleschen         	 
+CreateTime:         	Sat Jul 16 15:42:16 PDT 2011	 
+LastAccessTime:     	UNKNOWN             	 
+Protect Mode:       	None                	 
+Retention:          	0                   	 
+Location:           	pfile:/Users/charleschen/hive-trunk2/build/ql/test/data/warehouse/table1	 
+Table Type:         	MANAGED_TABLE       	 
+Table Parameters:	 	 
+	transient_lastDdlTime	1310856136          
+	 	 
+# Storage Information	 	 
+SerDe Library:      	org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe	 
+InputFormat:        	org.apache.hadoop.mapred.TextInputFormat	 
+OutputFormat:       	org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat	 
+Compressed:         	No                  	 
+Num Buckets:        	-1                  	 
+Bucket Columns:     	[]                  	 
+Sort Columns:       	[]                  	 
+Storage Desc Params:	 	 
+	serialization.format	1                   
+PREHOOK: query: CREATE VIEW view1 AS SELECT * FROM table1
+PREHOOK: type: CREATEVIEW
+PREHOOK: Output: file:/var/folders/fe/fefl-ow3ElaEd1ns0G7jB0uewEQ/-Tmp-/charleschen/hive_2011-07-16_15-42-17_015_678488215389625233/-mr-10000
+POSTHOOK: query: CREATE VIEW view1 AS SELECT * FROM table1
+POSTHOOK: type: CREATEVIEW
+POSTHOOK: Output: default@view1
+POSTHOOK: Output: file:/var/folders/fe/fefl-ow3ElaEd1ns0G7jB0uewEQ/-Tmp-/charleschen/hive_2011-07-16_15-42-17_015_678488215389625233/-mr-10000
+PREHOOK: query: CREATE TABLE table2 LIKE view1
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: CREATE TABLE table2 LIKE view1
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@table2
+PREHOOK: query: DESCRIBE table2
+PREHOOK: type: DESCTABLE
+POSTHOOK: query: DESCRIBE table2
+POSTHOOK: type: DESCTABLE
+a	string	
+b	string	
+PREHOOK: query: DESCRIBE FORMATTED table2
+PREHOOK: type: DESCTABLE
+POSTHOOK: query: DESCRIBE FORMATTED table2
+POSTHOOK: type: DESCTABLE
+# col_name            	data_type           	comment             
+	 	 
+a                   	string              	None                
+b                   	string              	None                
+	 	 
+# Detailed Table Information	 	 
+Database:           	default             	 
+Owner:              	charleschen         	 
+CreateTime:         	Sat Jul 16 15:42:17 PDT 2011	 
+LastAccessTime:     	UNKNOWN             	 
+Protect Mode:       	None                	 
+Retention:          	0                   	 
+Location:           	pfile:/Users/charleschen/hive-trunk2/build/ql/test/data/warehouse/table2	 
+Table Type:         	MANAGED_TABLE       	 
+Table Parameters:	 	 
+	transient_lastDdlTime	1310856137          
+	 	 
+# Storage Information	 	 
+SerDe Library:      	org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe	 
+InputFormat:        	org.apache.hadoop.mapred.TextInputFormat	 
+OutputFormat:       	org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat	 
+Compressed:         	No                  	 
+Num Buckets:        	-1                  	 
+Bucket Columns:     	[]                  	 
+Sort Columns:       	[]                  	 
+Storage Desc Params:	 	 
+	serialization.format	1                   
+PREHOOK: query: CREATE TABLE IF NOT EXISTS table2 LIKE view1
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: CREATE TABLE IF NOT EXISTS table2 LIKE view1
+POSTHOOK: type: CREATETABLE
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS table2 LIKE view1
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS table2 LIKE view1
+POSTHOOK: type: CREATETABLE
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS table3 LIKE view1
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS table3 LIKE view1
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@table3
+PREHOOK: query: DESCRIBE table3
+PREHOOK: type: DESCTABLE
+POSTHOOK: query: DESCRIBE table3
+POSTHOOK: type: DESCTABLE
+a	string	
+b	string	
+PREHOOK: query: DESCRIBE FORMATTED table3
+PREHOOK: type: DESCTABLE
+POSTHOOK: query: DESCRIBE FORMATTED table3
+POSTHOOK: type: DESCTABLE
+# col_name            	data_type           	comment             
+	 	 
+a                   	string              	None                
+b                   	string              	None                
+	 	 
+# Detailed Table Information	 	 
+Database:           	default             	 
+Owner:              	charleschen         	 
+CreateTime:         	Sat Jul 16 15:42:17 PDT 2011	 
+LastAccessTime:     	UNKNOWN             	 
+Protect Mode:       	None                	 
+Retention:          	0                   	 
+Location:           	pfile:/Users/charleschen/hive-trunk2/build/ql/test/data/warehouse/table3	 
+Table Type:         	EXTERNAL_TABLE      	 
+Table Parameters:	 	 
+	EXTERNAL            	TRUE                
+	transient_lastDdlTime	1310856137          
+	 	 
+# Storage Information	 	 
+SerDe Library:      	org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe	 
+InputFormat:        	org.apache.hadoop.mapred.TextInputFormat	 
+OutputFormat:       	org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat	 
+Compressed:         	No                  	 
+Num Buckets:        	-1                  	 
+Bucket Columns:     	[]                  	 
+Sort Columns:       	[]                  	 
+Storage Desc Params:	 	 
+	serialization.format	1                   
+PREHOOK: query: INSERT OVERWRITE TABLE table1 SELECT key, value FROM src WHERE key = 86
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Output: default@table1
+POSTHOOK: query: INSERT OVERWRITE TABLE table1 SELECT key, value FROM src WHERE key = 86
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Output: default@table1
+POSTHOOK: Lineage: table1.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: table1.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: INSERT OVERWRITE TABLE table2 SELECT key, value FROM src WHERE key = 100
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Output: default@table2
+POSTHOOK: query: INSERT OVERWRITE TABLE table2 SELECT key, value FROM src WHERE key = 100
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Output: default@table2
+POSTHOOK: Lineage: table1.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: table1.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: table2.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: table2.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: SELECT * FROM table1 order by a, b
+PREHOOK: type: QUERY
+PREHOOK: Input: default@table1
+PREHOOK: Output: file:/var/folders/fe/fefl-ow3ElaEd1ns0G7jB0uewEQ/-Tmp-/charleschen/hive_2011-07-16_15-42-29_194_1551180376215487165/-mr-10000
+POSTHOOK: query: SELECT * FROM table1 order by a, b
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@table1
+POSTHOOK: Output: file:/var/folders/fe/fefl-ow3ElaEd1ns0G7jB0uewEQ/-Tmp-/charleschen/hive_2011-07-16_15-42-29_194_1551180376215487165/-mr-10000
+POSTHOOK: Lineage: table1.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: table1.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: table2.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: table2.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+86	val_86
+PREHOOK: query: SELECT * FROM table2 order by a, b
+PREHOOK: type: QUERY
+PREHOOK: Input: default@table2
+PREHOOK: Output: file:/var/folders/fe/fefl-ow3ElaEd1ns0G7jB0uewEQ/-Tmp-/charleschen/hive_2011-07-16_15-42-33_431_277070075655620984/-mr-10000
+POSTHOOK: query: SELECT * FROM table2 order by a, b
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@table2
+POSTHOOK: Output: file:/var/folders/fe/fefl-ow3ElaEd1ns0G7jB0uewEQ/-Tmp-/charleschen/hive_2011-07-16_15-42-33_431_277070075655620984/-mr-10000
+POSTHOOK: Lineage: table1.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: table1.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: table2.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: table2.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+100	val_100
+100	val_100
+PREHOOK: query: DROP TABLE table1
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@table1
+PREHOOK: Output: default@table1
+POSTHOOK: query: DROP TABLE table1
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@table1
+POSTHOOK: Output: default@table1
+POSTHOOK: Lineage: table1.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: table1.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: table2.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: table2.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: DROP TABLE table2
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@table2
+PREHOOK: Output: default@table2
+POSTHOOK: query: DROP TABLE table2
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@table2
+POSTHOOK: Output: default@table2
+POSTHOOK: Lineage: table1.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: table1.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: table2.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: table2.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: DROP VIEW view1
+PREHOOK: type: DROPVIEW
+PREHOOK: Input: default@view1
+PREHOOK: Output: default@view1
+POSTHOOK: query: DROP VIEW view1
+POSTHOOK: type: DROPVIEW
+POSTHOOK: Input: default@view1
+POSTHOOK: Output: default@view1
+POSTHOOK: Lineage: table1.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: table1.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: table2.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: table2.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: -- check partitions
+create view view1 partitioned on (ds, hr) as select * from srcpart
+PREHOOK: type: CREATEVIEW
+PREHOOK: Output: file:/var/folders/fe/fefl-ow3ElaEd1ns0G7jB0uewEQ/-Tmp-/charleschen/hive_2011-07-16_15-42-38_417_1642626087699140210/-mr-10000
+POSTHOOK: query: -- check partitions
+create view view1 partitioned on (ds, hr) as select * from srcpart
+POSTHOOK: type: CREATEVIEW
+POSTHOOK: Output: default@view1
+POSTHOOK: Output: file:/var/folders/fe/fefl-ow3ElaEd1ns0G7jB0uewEQ/-Tmp-/charleschen/hive_2011-07-16_15-42-38_417_1642626087699140210/-mr-10000
+POSTHOOK: Lineage: table1.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: table1.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: table2.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: table2.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: create table table1 like view1
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: create table table1 like view1
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@table1
+POSTHOOK: Lineage: table1.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: table1.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: table2.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: table2.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: describe formatted table1
+PREHOOK: type: DESCTABLE
+POSTHOOK: query: describe formatted table1
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Lineage: table1.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: table1.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: table2.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: table2.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+# col_name            	data_type           	comment             
+	 	 
+key                 	string              	None                
+value               	string              	None                
+	 	 
+# Partition Information	 	 
+# col_name            	data_type           	comment             
+	 	 
+ds                  	string              	None                
+hr                  	string              	None                
+	 	 
+# Detailed Table Information	 	 
+Database:           	default             	 
+Owner:              	charleschen         	 
+CreateTime:         	Sat Jul 16 15:42:38 PDT 2011	 
+LastAccessTime:     	UNKNOWN             	 
+Protect Mode:       	None                	 
+Retention:          	0                   	 
+Location:           	pfile:/Users/charleschen/hive-trunk2/build/ql/test/data/warehouse/table1	 
+Table Type:         	MANAGED_TABLE       	 
+Table Parameters:	 	 
+	transient_lastDdlTime	1310856158          
+	 	 
+# Storage Information	 	 
+SerDe Library:      	org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe	 
+InputFormat:        	org.apache.hadoop.mapred.TextInputFormat	 
+OutputFormat:       	org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat	 
+Compressed:         	No                  	 
+Num Buckets:        	-1                  	 
+Bucket Columns:     	[]                  	 
+Sort Columns:       	[]                  	 
+Storage Desc Params:	 	 
+	serialization.format	1                   
+PREHOOK: query: DROP TABLE table1
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@table1
+PREHOOK: Output: default@table1
+POSTHOOK: query: DROP TABLE table1
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@table1
+POSTHOOK: Output: default@table1
+POSTHOOK: Lineage: table1.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: table1.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: table2.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: table2.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: DROP VIEW view1
+PREHOOK: type: DROPVIEW
+PREHOOK: Input: default@view1
+PREHOOK: Output: default@view1
+POSTHOOK: query: DROP VIEW view1
+POSTHOOK: type: DROPVIEW
+POSTHOOK: Input: default@view1
+POSTHOOK: Output: default@view1
+POSTHOOK: Lineage: table1.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: table1.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: table2.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: table2.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]