[ https://issues.apache.org/jira/browse/HIVE-26474?focusedWorklogId=804280&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-804280 ]
ASF GitHub Bot logged work on HIVE-26474: ----------------------------------------- Author: ASF GitHub Bot Created on: 29/Aug/22 07:57 Start Date: 29/Aug/22 07:57 Worklog Time Spent: 10m Work Description: deniskuzZ commented on code in PR #3550: URL: https://github.com/apache/hive/pull/3550#discussion_r957006251 ########## ql/src/java/org/apache/hadoop/hive/ql/io/AcidUtils.java: ########## @@ -2265,6 +2268,52 @@ public static Boolean isToInsertOnlyTable(Table tbl, Map<String, String> props) return true; } + public static Boolean isToFullAcid(Table table, Map<String, String> props) { + String transactional = props.get(hive_metastoreConstants.TABLE_IS_TRANSACTIONAL); + String transactionalProp = props.get(hive_metastoreConstants.TABLE_TRANSACTIONAL_PROPERTIES); + + if (transactional == null && transactionalProp == null) { + // Not affected or the op is not about transactional. + return false; + } else if (transactional == null && table != null) { + transactional = table.getParameters().get(hive_metastoreConstants.TABLE_IS_TRANSACTIONAL); + } + + if (transactionalProp == null) { + boolean isSetToTxn = "true".equalsIgnoreCase(transactional); + if (isSetToTxn || table == null) return false; // Assume the full ACID table. + throw new RuntimeException("Cannot change '" + hive_metastoreConstants.TABLE_IS_TRANSACTIONAL + + "' without '" + hive_metastoreConstants.TABLE_TRANSACTIONAL_PROPERTIES + "'"); + } + + return isAcidInputOutputFormat(table.getTableName(), table.getSd()); Review Comment: is it enough, in the initial commit you also had `sd.getSortColsSize() <= 0` condition? Issue Time Tracking ------------------- Worklog Id: (was: 804280) Time Spent: 2h 50m (was: 2h 40m) > Enable converting insert-only tables to full ACID tables > -------------------------------------------------------- > > Key: HIVE-26474 > URL: https://issues.apache.org/jira/browse/HIVE-26474 > Project: Hive > Issue Type: Improvement > Reporter: Simhadri Govindappa > Assignee: Simhadri Govindappa > Priority: Major > Labels: pull-request-available > Time Spent: 2h 50m > Remaining Estimate: 0h > > Currently we can convert a non-ACID table to full ACID via altering > TBLPROPERTIES ("transactional"="false" -> "transactional"="true"), but we > don't support converting insert-only tables to full ACID tables > ("transactional_properties"="insert_only" - > > "transactional_properties"="default"). -- This message was sent by Atlassian Jira (v8.20.10#820010)