[ https://issues.apache.org/jira/browse/HIVE-26680?focusedWorklogId=826006&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-826006 ]
ASF GitHub Bot logged work on HIVE-26680: ----------------------------------------- Author: ASF GitHub Bot Created on: 15/Nov/22 06:57 Start Date: 15/Nov/22 06:57 Worklog Time Spent: 10m Work Description: SourabhBadhya commented on code in PR #3715: URL: https://github.com/apache/hive/pull/3715#discussion_r1022383026 ########## ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java: ########## @@ -7990,19 +7998,29 @@ protected boolean enableColumnStatsCollecting() { return true; } - private Path getCtasLocation(CreateTableDesc tblDesc, boolean createTableWithSuffix) throws SemanticException { + private Path getCtasOrCMVLocation(CreateTableDesc tblDesc, CreateMaterializedViewDesc viewDesc, + boolean createTableWithSuffix) throws SemanticException { Path location; + String protoName; + String[] names; + Table tbl; try { - String protoName = tblDesc.getDbTableName(); - String[] names = Utilities.getDbTableName(protoName); - - // Handle table translation initially and if not present - // use default table path. - // Property modifications of the table is handled later. - // We are interested in the location if it has changed - // due to table translation. - Table tbl = tblDesc.toTable(conf); - tbl = db.getTranslateTableDryrun(tbl.getTTable()); + if (tblDesc != null) { + protoName = tblDesc.getDbTableName(); + names = Utilities.getDbTableName(protoName); Review Comment: Replaced with `names = Utilities.getDbTableName(tblDesc.getDbTableName());` - For CTAS AND `names = Utilities.getDbTableName(viewDesc.getViewName());` - For CMV ########## ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java: ########## @@ -7917,17 +7929,13 @@ protected Operator genFileSinkPlan(String dest, QB qb, Operator input) destinationPath, currentTableId, destTableIsFullAcid, destTableIsTemporary,//this was 1/4 acid destTableIsMaterialization, queryTmpdir, rsCtx, dpCtx, lbCtx, fsRS, canBeMerged, destinationTable, writeId, isMmCreate, destType, qb, isDirectInsert, acidOperation, moveTaskId); - if (isMmCreate) { + if (isMmCreate || ((qb.isCTAS() || qb.isMaterializedView()) && isDirectInsert)) { Review Comment: Done Issue Time Tracking ------------------- Worklog Id: (was: 826006) Time Spent: 3h 40m (was: 3.5h) > Make CMV use Direct Insert Semantics > ------------------------------------ > > Key: HIVE-26680 > URL: https://issues.apache.org/jira/browse/HIVE-26680 > Project: Hive > Issue Type: Improvement > Reporter: Sourabh Badhya > Assignee: Sourabh Badhya > Priority: Major > Labels: pull-request-available > Time Spent: 3h 40m > Remaining Estimate: 0h > > As similar to CTAS, CMV can also use Direct Insert approach which can > potentially save a lot of filesystem operations. -- This message was sent by Atlassian Jira (v8.20.10#820010)