Eugene Koifman created HIVE-21172: ------------------------------------- Summary: DEFAULT keyword handling in MERGE UPDATE clause issues Key: HIVE-21172 URL: https://issues.apache.org/jira/browse/HIVE-21172 Project: Hive Issue Type: Sub-task Components: SQL, Transactions Affects Versions: 4.0.0 Reporter: Eugene Koifman
once HIVE-21159 lands, enable {{HiveConf.MERGE_SPLIT_UPDATE}} and run these tests. TestMiniLlapLocalCliDriver.testCliDriver[sqlmerge_stats] mvn test -Dtest=TestMiniLlapLocalCliDriver -Dqfile=insert_into_default_keyword.q Merge is rewritten as a multi-insert. When Update clause has DEFAULT, it's not properly replaced with a value in the muli-insert - it's treated as a literal {noformat} INSERT INTO `default`.`acidTable` -- update clause(insert part) SELECT `t`.`key`, `DEFAULT`, `t`.`value` WHERE `t`.`key` = `s`.`key` AND `s`.`key` > 3 AND NOT(`s`.`key` < 3) {noformat} See {{LOG.info("Going to reparse <" + originalQuery + "> as \n<" + rewrittenQueryStr.toString() + ">");}} in hive.log {{MergeSemanticAnalyzer.replaceDefaultKeywordForMerge()}} is only called in {{handleInsert}} but not {{handleUpdate()}}. Why does issue only show up with {{MERGE_SPLIT_UPDATE}}? -- This message was sent by Atlassian JIRA (v7.6.3#76005)