[SPARK-4529] [SQL] support view with column alias
Support view definition like CREATE VIEW view3(valoo) TBLPROPERTIES ("fear" = "factor") AS SELECT upper(value) FROM src WHERE key=86; [valoo as the alias of upper(value)]. This is missing part of SPARK-4239, for a fully view support. Author: Daoyuan Wang <daoyuan.wang@intel.com> Closes #3396 from adrian-wang/viewcolumn and squashes the following commits: 4d001d0 [Daoyuan Wang] support view with column alias
This commit is contained in:
parent
5edbcbfb61
commit
4df60a8cbc
|
@ -379,7 +379,7 @@ private[hive] object HiveQl {
|
|||
protected def nameExpressions(exprs: Seq[Expression]): Seq[NamedExpression] = {
|
||||
exprs.zipWithIndex.map {
|
||||
case (ne: NamedExpression, _) => ne
|
||||
case (e, i) => Alias(e, s"c_$i")()
|
||||
case (e, i) => Alias(e, s"_c$i")()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -279,7 +279,7 @@ private[hive] case class HiveGenericUdtf(
|
|||
}
|
||||
|
||||
override protected def makeOutput() = {
|
||||
// Use column names when given, otherwise c_1, c_2, ... c_n.
|
||||
// Use column names when given, otherwise _c1, _c2, ... _cn.
|
||||
if (aliasNames.size == outputDataTypes.size) {
|
||||
aliasNames.zip(outputDataTypes).map {
|
||||
case (attrName, attrDataType) =>
|
||||
|
@ -288,7 +288,7 @@ private[hive] case class HiveGenericUdtf(
|
|||
} else {
|
||||
outputDataTypes.zipWithIndex.map {
|
||||
case (attrDataType, i) =>
|
||||
AttributeReference(s"c_$i", attrDataType, nullable = true)()
|
||||
AttributeReference(s"_c$i", attrDataType, nullable = true)()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue