Github user sounakr commented on a diff in the pull request: https://github.com/apache/carbondata/pull/1469#discussion_r153094337 --- 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 -- Done
---