[ 
https://issues.apache.org/jira/browse/HIVE-26217?focusedWorklogId=772403&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-772403
 ]

ASF GitHub Bot logged work on HIVE-26217:
-----------------------------------------

                Author: ASF GitHub Bot
            Created on: 19/May/22 11:38
            Start Date: 19/May/22 11:38
    Worklog Time Spent: 10m 
      Work Description: SourabhBadhya commented on code in PR #3281:
URL: https://github.com/apache/hive/pull/3281#discussion_r876944639


##########
ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java:
##########
@@ -7592,6 +7594,22 @@ protected Operator genFileSinkPlan(String dest, QB qb, 
Operator input)
 
       destTableIsTransactional = tblProps != null && 
AcidUtils.isTablePropertyTransactional(tblProps);
       if (destTableIsTransactional) {
+        isNonNativeTable = AcidUtils.isNonNativeTable(tblProps);
+        boolean isCtas = tblDesc != null && tblDesc.isCTAS();
+        if (AcidUtils.isInsertOnlyTable(tblProps, true)) {
+          isMmTable = isMmCreate = true;
+        }
+        if (!isNonNativeTable && !destTableIsTemporary && isCtas) {
+          destTableIsFullAcid = AcidUtils.isFullAcidTable(tblProps);
+          acidOperation = getAcidType(dest);
+          isDirectInsert = isDirectInsert(destTableIsFullAcid, acidOperation);
+          boolean enableSuffixing = 
conf.getBoolVar(ConfVars.HIVE_ACID_CREATE_TABLE_USE_SUFFIX)
+                  || 
conf.getBoolVar(ConfVars.HIVE_ACID_LOCKLESS_READS_ENABLED);
+          if (isDirectInsert || isMmTable) {
+            String location = tblDesc.getLocation();
+            destinationPath = location == null ? 
getCTASDestinationTableLocation(tblDesc, enableSuffixing) : new Path(location);

Review Comment:
   @pvary Thanks for pointing this out. I have updated the patch to handle the 
use of MetadataTransformer. Please check and let me know if there are any 
issues with it.





Issue Time Tracking
-------------------

    Worklog Id:     (was: 772403)
    Time Spent: 2h 20m  (was: 2h 10m)

> Make CTAS use Direct Insert Semantics
> -------------------------------------
>
>                 Key: HIVE-26217
>                 URL: https://issues.apache.org/jira/browse/HIVE-26217
>             Project: Hive
>          Issue Type: Improvement
>            Reporter: Sourabh Badhya
>            Assignee: Sourabh Badhya
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 2h 20m
>  Remaining Estimate: 0h
>
> CTAS on transactional tables currently does a copy from staging location to 
> table location. This can be avoided by using Direct Insert semantics. Added 
> support for suffixed table locations as well.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

Reply via email to