[ https://issues.apache.org/jira/browse/HIVE-26680?focusedWorklogId=823382&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-823382 ]
ASF GitHub Bot logged work on HIVE-26680: ----------------------------------------- Author: ASF GitHub Bot Created on: 04/Nov/22 12:13 Start Date: 04/Nov/22 12:13 Worklog Time Spent: 10m Work Description: deniskuzZ commented on code in PR #3715: URL: https://github.com/apache/hive/pull/3715#discussion_r1013940859 ########## ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java: ########## @@ -7610,30 +7610,44 @@ protected Operator genFileSinkPlan(String dest, QB qb, Operator input) destTableIsMaterialization = false; tableName = HiveTableName.ofNullableWithNoDefault(viewDesc.getViewName()); tblProps = viewDesc.getTblProps(); + // Add suffix only when required confs are present + // and user has not specified a location to the table. + createTableUseSuffix = (HiveConf.getBoolVar(conf, ConfVars.HIVE_ACID_CREATE_TABLE_USE_SUFFIX) + || HiveConf.getBoolVar(conf, ConfVars.HIVE_ACID_LOCKLESS_READS_ENABLED)) + && viewDesc.getLocation() == null; } destTableIsTransactional = tblProps != null && AcidUtils.isTablePropertyTransactional(tblProps); if (destTableIsTransactional) { isNonNativeTable = MetaStoreUtils.isNonNativeTable(tblProps); boolean isCtas = tblDesc != null && tblDesc.isCTAS(); + boolean isCMV = viewDesc != null && qb.isMaterializedView(); isMmTable = isMmCreate = AcidUtils.isInsertOnlyTable(tblProps); - if (!isNonNativeTable && !destTableIsTemporary && isCtas) { + if (!isNonNativeTable && !destTableIsTemporary && (isCtas || isCMV)) { destTableIsFullAcid = AcidUtils.isFullAcidTable(tblProps); acidOperation = getAcidType(dest); - isDirectInsert = isDirectInsert(destTableIsFullAcid, acidOperation); + isDirectInsert = isDirectInsertCreate = isDirectInsert(destTableIsFullAcid, acidOperation); Review Comment: minor: what if we have `isCtasOrCMV` and `isDirectInsert`? I think that would be more readable. by this would be easier to check `isDirectInsert` related code Issue Time Tracking ------------------- Worklog Id: (was: 823382) Time Spent: 1h 50m (was: 1h 40m) > 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: 1h 50m > 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)