Github user ravipesala commented on a diff in the pull request:
https://github.com/apache/carbondata/pull/1469#discussion_r153062213
--- Diff:
integration/spark2/src/main/scala/org/apache/spark/sql/hive/CarbonAnalysisRules.scala
---
@@ -95,12 +107,23 @@ case class CarbonIUDAnalysisRule(sparkSession:
SparkSession) extends Rule[Logica
def prepareTargetReleation(relation: UnresolvedRelation):
SubqueryAlias = {
val tupleId = UnresolvedAlias(Alias(UnresolvedFunction("getTupleId",
Seq.empty, isDistinct = false), "tupleId")())
+
+ val localAlias = alias match {
+ case Some(a) => Some(alias.toSeq)
+ case _ => None
+ }
val projList = Seq(
- UnresolvedAlias(UnresolvedStar(Option(table.alias.toSeq))),
tupleId)
- // include tuple id and rest of the required columns in subqury
- SubqueryAlias(table.alias.getOrElse(""),
- Project(projList, relation), Option(table.tableIdentifier))
+ UnresolvedAlias(UnresolvedStar(localAlias)), tupleId)
+
+ val subqueryAlias =
+ CarbonClassReflectionUtils
+ .getSubqueryAlias(sparkSession,
+ alias,
+ Project(projList, relation),
+ Some(table.tableIdentifier))
+ subqueryAlias
--- End diff --
Please format like this
```
CarbonClassReflectionUtils.getSubqueryAlias(
sparkSession,
alias,
Project(projList, relation),
Some(table.tableIdentifier))
```
---