[
https://issues.apache.org/jira/browse/HIVE-26217?focusedWorklogId=777301&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-777301
]
ASF GitHub Bot logged work on HIVE-26217:
-----------------------------------------
Author: ASF GitHub Bot
Created on: 02/Jun/22 07:00
Start Date: 02/Jun/22 07:00
Worklog Time Spent: 10m
Work Description: SourabhBadhya commented on code in PR #3281:
URL: https://github.com/apache/hive/pull/3281#discussion_r887625817
##########
ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java:
##########
@@ -7940,6 +7970,46 @@ protected Operator genFileSinkPlan(String dest, QB qb,
Operator input)
return output;
}
+ private Path getCTASDestinationTableLocation(CreateTableDesc tblDesc,
boolean enableSuffixing) throws SemanticException {
+ Path location;
+ String suffix = "";
+ try {
+ // When location is specified, suffix is not added
+ if (tblDesc.getLocation() == null) {
+ String protoName = tblDesc.getDbTableName();
+ String[] names = Utilities.getDbTableName(protoName);
+ if (enableSuffixing) {
+ long txnId = ctx.getHiveTxnManager().getCurrentTxnId();
+ suffix = SOFT_DELETE_PATH_SUFFIX + String.format(DELTA_DIGITS,
txnId);
+ }
+ if (!db.databaseExists(names[0])) {
+ throw new SemanticException("ERROR: The database " + names[0] + "
does not exist.");
+ }
+
+ Warehouse wh = new Warehouse(conf);
+ location = wh.getDefaultTablePath(db.getDatabase(names[0]), names[1] +
suffix, false);
+ } else {
+ location = new Path(tblDesc.getLocation());
+ }
+
+ // Handle table translation
+ // 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());
Review Comment:
Updated.
Issue Time Tracking
-------------------
Worklog Id: (was: 777301)
Time Spent: 11h 50m (was: 11h 40m)
> 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: 11h 50m
> 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)