[ https://issues.apache.org/jira/browse/HIVE-16907?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16050173#comment-16050173 ]
Nemon Lou commented on HIVE-16907: ---------------------------------- Refer to this method : https://github.com/apache/hive/blob/release-2.0.0/ql/src/java/org/apache/hadoop/hive/ql/parse/BaseSemanticAnalyzer.java#L322 tdb.t1 is treated as a table name. --> 'tdb.tdb.t1' is putted in insertIntoTables of QBParseInfo --> QBParseInfo.isInsertIntoTable('tdb.t1') returns false -->LoadTableDesc.setReplace(!qb.getParseInfo().isInsertIntoTable(dest_tab.getDbName(), dest_tab.getTableName())) setting replace to true. > "INSERT INTO" overwrite old data when destination table encapsulated by > backquote > ------------------------------------------------------------------------------------ > > Key: HIVE-16907 > URL: https://issues.apache.org/jira/browse/HIVE-16907 > Project: Hive > Issue Type: Bug > Components: Parser > Affects Versions: 1.1.0, 2.1.1 > Reporter: Nemon Lou > > A way to reproduce: > {noformat} > create database tdb; > use tdb; > create table t1(id int); > create table t2(id int); > explain insert into `tdb.t1` select * from t2; > {noformat} > {noformat} > +---------------------------------------------------------------------------------------------------------------------------------------------------+ > | > Explain | > +---------------------------------------------------------------------------------------------------------------------------------------------------+ > | STAGE DEPENDENCIES: > | > | Stage-1 is a root stage > | > | Stage-6 depends on stages: Stage-1 , consists of Stage-3, Stage-2, > Stage-4 | > | Stage-3 > | > | Stage-0 depends on stages: Stage-3, Stage-2, Stage-5 > | > | Stage-2 > | > | Stage-4 > | > | Stage-5 depends on stages: Stage-4 > | > | > | > | STAGE PLANS: > | > | Stage: Stage-1 > | > | Map Reduce > | > | Map Operator Tree: > | > | TableScan > | > | alias: t2 > | > | Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column > stats: NONE | > | Select Operator > | > | expressions: id (type: int) > | > | outputColumnNames: _col0 > | > | Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column > stats: NONE | > | File Output Operator > | > | compressed: false > | > | Statistics: Num rows: 0 Data size: 0 Basic stats: NONE > Column stats: NONE | > | table: > | > | input format: > org.apache.hadoop.hive.ql.io.RCFileInputFormat > | > | output format: > org.apache.hadoop.hive.ql.io.RCFileOutputFormat > | > | serde: > org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe > | > | name: tdb.t1 > | > | > | > | Stage: Stage-6 > | > | Conditional Operator > | > | > | > | Stage: Stage-3 > | > | Move Operator > | > | files: > | > | hdfs directory: true > | > | destination: > hdfs://hacluster/user/hive/warehouse/tdb.db/t1/.hive-staging_hive_2017-06-15_15-52-34_017_849305017872068583-1/-ext-10000 > | > | > | > | Stage: Stage-0 > | > | Move Operator > | > | tables: > | > | replace: true > | > | table: > | > | input format: org.apache.hadoop.hive.ql.io.RCFileInputFormat > | > | output format: > org.apache.hadoop.hive.ql.io.RCFileOutputFormat > | > | serde: org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe > | > | name: tdb.t1 > | > | > | > | Stage: Stage-2 > | > | Merge File Operator > | > | Map Operator Tree: > | > | RCFile Merge Operator > | > | merge level: block > | > | input format: org.apache.hadoop.hive.ql.io.RCFileInputFormat > | > | > | > | Stage: Stage-4 > | > | Merge File Operator > | > | Map Operator Tree: > | > | RCFile Merge Operator > | > | merge level: block > | > | input format: org.apache.hadoop.hive.ql.io.RCFileInputFormat > | > | > | > | Stage: Stage-5 > | > | Move Operator > | > | files: > | > | hdfs directory: true > | > | destination: > hdfs://hacluster/user/hive/warehouse/tdb.db/t1/.hive-staging_hive_2017-06-15_15-52-34_017_849305017872068583-1/-ext-10000 > | > | > | > +---------------------------------------------------------------------------------------------------------------------------------------------------+ > {noformat} > Note that 'replace: true' in move operator -- This message was sent by Atlassian JIRA (v6.4.14#64029)