Index: ql/src/java/org/apache/hadoop/hive/ql/parse/BaseSemanticAnalyzer.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/parse/BaseSemanticAnalyzer.java (revision 960079) +++ ql/src/java/org/apache/hadoop/hive/ql/parse/BaseSemanticAnalyzer.java (working copy) @@ -51,6 +51,7 @@ import org.apache.hadoop.hive.ql.session.SessionState.LogHelper; import org.apache.hadoop.hive.serde.Constants; import org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe; +import org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe; import org.apache.hadoop.mapred.SequenceFileInputFormat; import org.apache.hadoop.mapred.SequenceFileOutputFormat; import org.apache.hadoop.mapred.TextInputFormat; @@ -100,6 +101,8 @@ .getName(); protected static final String COLUMNAR_SERDE = ColumnarSerDe.class.getName(); + protected static final String LAZY_SERDE = LazySimpleSerDe.class.getName(); + public BaseSemanticAnalyzer(HiveConf conf) throws SemanticException { try { this.conf = conf; Index: ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java (revision 960079) +++ ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java (working copy) @@ -249,10 +249,12 @@ case HiveParser.TOK_TBLSEQUENCEFILE: inputFormat = SEQUENCEFILE_INPUT; outputFormat = SEQUENCEFILE_OUTPUT; + serde = LAZY_SERDE; break; case HiveParser.TOK_TBLTEXTFILE: inputFormat = TEXTFILE_INPUT; outputFormat = TEXTFILE_OUTPUT; + serde = LAZY_SERDE; break; case HiveParser.TOK_TBLRCFILE: inputFormat = RCFILE_INPUT; Index: ql/src/test/queries/clientpositive/fileformat_mix.q =================================================================== --- ql/src/test/queries/clientpositive/fileformat_mix.q (revision 960079) +++ ql/src/test/queries/clientpositive/fileformat_mix.q (working copy) @@ -2,6 +2,7 @@ create table fileformat_mix_test (src int, value string) partitioned by (ds string); alter table fileformat_mix_test set fileformat Sequencefile; +desc extended fileformat_mix_test; insert overwrite table fileformat_mix_test partition (ds='1') select key, value from src; @@ -9,9 +10,15 @@ alter table fileformat_mix_test add partition (ds='2'); alter table fileformat_mix_test set fileformat rcfile; +desc extended fileformat_mix_test; select count(1) from fileformat_mix_test; select src from fileformat_mix_test; +alter table fileformat_mix_test set fileformat Sequencefile; +desc extended fileformat_mix_test; + +select count(1) from fileformat_mix_test; + drop table fileformat_mix_test; \ No newline at end of file Index: ql/src/test/results/clientpositive/fileformat_mix.q.out =================================================================== --- ql/src/test/results/clientpositive/fileformat_mix.q.out (revision 960079) +++ ql/src/test/results/clientpositive/fileformat_mix.q.out (working copy) @@ -13,6 +13,15 @@ POSTHOOK: type: null POSTHOOK: Input: default@fileformat_mix_test POSTHOOK: Output: default@fileformat_mix_test +PREHOOK: query: desc extended fileformat_mix_test +PREHOOK: type: DESCTABLE +POSTHOOK: query: desc extended fileformat_mix_test +POSTHOOK: type: DESCTABLE +src int +value string +ds string + +Detailed Table Information Table(tableName:fileformat_mix_test, dbName:default, owner:heyongqiang, createTime:1278095609, lastAccessTime:0, retention:0, sd:StorageDescriptor(cols:[FieldSchema(name:src, type:int, comment:null), FieldSchema(name:value, type:string, comment:null)], location:file:/Users/heyongqiang/Documents/workspace/Hive-Clean/build/ql/test/data/warehouse/fileformat_mix_test, inputFormat:org.apache.hadoop.mapred.SequenceFileInputFormat, outputFormat:org.apache.hadoop.mapred.SequenceFileOutputFormat, compressed:false, numBuckets:-1, serdeInfo:SerDeInfo(name:null, serializationLib:org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe, parameters:{serialization.format=1}), bucketCols:[], sortCols:[], parameters:{}), partitionKeys:[FieldSchema(name:ds, type:string, comment:null)], parameters:{last_modified_by=heyongqiang, last_modified_time=1278095609, transient_lastDdlTime=1278095609}, viewOriginalText:null, viewExpandedText:null, tableType:MANAGED_TABLE) PREHOOK: query: insert overwrite table fileformat_mix_test partition (ds='1') select key, value from src PREHOOK: type: QUERY @@ -40,16 +49,27 @@ POSTHOOK: Output: default@fileformat_mix_test POSTHOOK: Lineage: fileformat_mix_test PARTITION(ds=1).src EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: fileformat_mix_test PARTITION(ds=1).value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] +PREHOOK: query: desc extended fileformat_mix_test +PREHOOK: type: DESCTABLE +POSTHOOK: query: desc extended fileformat_mix_test +POSTHOOK: type: DESCTABLE +POSTHOOK: Lineage: fileformat_mix_test PARTITION(ds=1).src EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: fileformat_mix_test PARTITION(ds=1).value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] +src int from deserializer +value string from deserializer +ds string + +Detailed Table Information Table(tableName:fileformat_mix_test, dbName:default, owner:heyongqiang, createTime:1278095609, lastAccessTime:0, retention:0, sd:StorageDescriptor(cols:[FieldSchema(name:src, type:int, comment:null), FieldSchema(name:value, type:string, comment:null)], location:file:/Users/heyongqiang/Documents/workspace/Hive-Clean/build/ql/test/data/warehouse/fileformat_mix_test, inputFormat:org.apache.hadoop.hive.ql.io.RCFileInputFormat, outputFormat:org.apache.hadoop.hive.ql.io.RCFileOutputFormat, compressed:false, numBuckets:-1, serdeInfo:SerDeInfo(name:null, serializationLib:org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe, parameters:{serialization.format=1}), bucketCols:[], sortCols:[], parameters:{}), partitionKeys:[FieldSchema(name:ds, type:string, comment:null)], parameters:{last_modified_by=heyongqiang, last_modified_time=1278095614, transient_lastDdlTime=1278095614}, viewOriginalText:null, viewExpandedText:null, tableType:MANAGED_TABLE) PREHOOK: query: select count(1) from fileformat_mix_test PREHOOK: type: QUERY PREHOOK: Input: default@fileformat_mix_test@ds=1 PREHOOK: Input: default@fileformat_mix_test@ds=2 -PREHOOK: Output: file:/var/folders/6g/6grtCwPMEf4sqHUPpy6xQG9ByHg/-Tmp-/heyongqiang/hive_2010-06-20_21-21-12_115_4377005987442515283/10000 +PREHOOK: Output: file:/var/folders/6g/6grtCwPMEf4sqHUPpy6xQG9ByHg/-Tmp-/heyongqiang/hive_2010-07-02_11-33-34_909_3297816131180270572/10000 POSTHOOK: query: select count(1) from fileformat_mix_test POSTHOOK: type: QUERY POSTHOOK: Input: default@fileformat_mix_test@ds=1 POSTHOOK: Input: default@fileformat_mix_test@ds=2 -POSTHOOK: Output: file:/var/folders/6g/6grtCwPMEf4sqHUPpy6xQG9ByHg/-Tmp-/heyongqiang/hive_2010-06-20_21-21-12_115_4377005987442515283/10000 +POSTHOOK: Output: file:/var/folders/6g/6grtCwPMEf4sqHUPpy6xQG9ByHg/-Tmp-/heyongqiang/hive_2010-07-02_11-33-34_909_3297816131180270572/10000 POSTHOOK: Lineage: fileformat_mix_test PARTITION(ds=1).src EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: fileformat_mix_test PARTITION(ds=1).value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] 500 @@ -57,12 +77,12 @@ PREHOOK: type: QUERY PREHOOK: Input: default@fileformat_mix_test@ds=1 PREHOOK: Input: default@fileformat_mix_test@ds=2 -PREHOOK: Output: file:/var/folders/6g/6grtCwPMEf4sqHUPpy6xQG9ByHg/-Tmp-/heyongqiang/hive_2010-06-20_21-21-17_269_3478340175683868925/10000 +PREHOOK: Output: file:/var/folders/6g/6grtCwPMEf4sqHUPpy6xQG9ByHg/-Tmp-/heyongqiang/hive_2010-07-02_11-33-42_914_2908108195905039673/10000 POSTHOOK: query: select src from fileformat_mix_test POSTHOOK: type: QUERY POSTHOOK: Input: default@fileformat_mix_test@ds=1 POSTHOOK: Input: default@fileformat_mix_test@ds=2 -POSTHOOK: Output: file:/var/folders/6g/6grtCwPMEf4sqHUPpy6xQG9ByHg/-Tmp-/heyongqiang/hive_2010-06-20_21-21-17_269_3478340175683868925/10000 +POSTHOOK: Output: file:/var/folders/6g/6grtCwPMEf4sqHUPpy6xQG9ByHg/-Tmp-/heyongqiang/hive_2010-07-02_11-33-42_914_2908108195905039673/10000 POSTHOOK: Lineage: fileformat_mix_test PARTITION(ds=1).src EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] POSTHOOK: Lineage: fileformat_mix_test PARTITION(ds=1).value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] 238 @@ -565,6 +585,38 @@ 400 200 97 +PREHOOK: query: alter table fileformat_mix_test set fileformat Sequencefile +PREHOOK: type: null +POSTHOOK: query: alter table fileformat_mix_test set fileformat Sequencefile +POSTHOOK: type: null +POSTHOOK: Input: default@fileformat_mix_test +POSTHOOK: Output: default@fileformat_mix_test +POSTHOOK: Lineage: fileformat_mix_test PARTITION(ds=1).src EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: fileformat_mix_test PARTITION(ds=1).value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] +PREHOOK: query: desc extended fileformat_mix_test +PREHOOK: type: DESCTABLE +POSTHOOK: query: desc extended fileformat_mix_test +POSTHOOK: type: DESCTABLE +POSTHOOK: Lineage: fileformat_mix_test PARTITION(ds=1).src EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: fileformat_mix_test PARTITION(ds=1).value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] +src int +value string +ds string + +Detailed Table Information Table(tableName:fileformat_mix_test, dbName:default, owner:heyongqiang, createTime:1278095609, lastAccessTime:0, retention:0, sd:StorageDescriptor(cols:[FieldSchema(name:src, type:int, comment:null), FieldSchema(name:value, type:string, comment:null)], location:file:/Users/heyongqiang/Documents/workspace/Hive-Clean/build/ql/test/data/warehouse/fileformat_mix_test, inputFormat:org.apache.hadoop.mapred.SequenceFileInputFormat, outputFormat:org.apache.hadoop.mapred.SequenceFileOutputFormat, compressed:false, numBuckets:-1, serdeInfo:SerDeInfo(name:null, serializationLib:org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe, parameters:{serialization.format=1}), bucketCols:[], sortCols:[], parameters:{}), partitionKeys:[FieldSchema(name:ds, type:string, comment:null)], parameters:{last_modified_by=heyongqiang, last_modified_time=1278095626, transient_lastDdlTime=1278095626}, viewOriginalText:null, viewExpandedText:null, tableType:MANAGED_TABLE) +PREHOOK: query: select count(1) from fileformat_mix_test +PREHOOK: type: QUERY +PREHOOK: Input: default@fileformat_mix_test@ds=1 +PREHOOK: Input: default@fileformat_mix_test@ds=2 +PREHOOK: Output: file:/var/folders/6g/6grtCwPMEf4sqHUPpy6xQG9ByHg/-Tmp-/heyongqiang/hive_2010-07-02_11-33-46_574_6552713859870228314/10000 +POSTHOOK: query: select count(1) from fileformat_mix_test +POSTHOOK: type: QUERY +POSTHOOK: Input: default@fileformat_mix_test@ds=1 +POSTHOOK: Input: default@fileformat_mix_test@ds=2 +POSTHOOK: Output: file:/var/folders/6g/6grtCwPMEf4sqHUPpy6xQG9ByHg/-Tmp-/heyongqiang/hive_2010-07-02_11-33-46_574_6552713859870228314/10000 +POSTHOOK: Lineage: fileformat_mix_test PARTITION(ds=1).src EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ] +POSTHOOK: Lineage: fileformat_mix_test PARTITION(ds=1).value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ] +500 PREHOOK: query: drop table fileformat_mix_test PREHOOK: type: DROPTABLE POSTHOOK: query: drop table fileformat_mix_test