Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -374,6 +374,7 @@ object CreateStruct {
// alias name inside CreateNamedStruct.
case (u: UnresolvedAttribute, _) => Seq(Literal(u.nameParts.last), u)
case (u @ UnresolvedExtractValue(_, e: Literal), _) if e.dataType == StringType => Seq(e, u)
case (a: Alias, _) => Seq(Literal(a.name), a)
case (e: NamedExpression, _) if e.resolved => Seq(Literal(e.name), e)
case (e: NamedExpression, _) => Seq(NamePlaceholder, e)
case (g @ GetStructField(_, _, Some(name)), _) => Seq(Literal(name), g)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1346,7 +1346,7 @@ class AstBuilder extends DataTypeAstBuilder with SQLConfHelper with Logging {
* Create an Unpivot column.
*/
override def visitUnpivotColumn(ctx: UnpivotColumnContext): NamedExpression = withOrigin(ctx) {
UnresolvedAlias(UnresolvedAttribute(visitMultipartIdentifier(ctx.multipartIdentifier)))
UnresolvedAttribute(visitMultipartIdentifier(ctx.multipartIdentifier))
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ class UnpivotParserSuite extends AnalysisTest {
"SELECT * FROM t UNPIVOT (val FOR col in (a, b))",
Unpivot(
None,
Some(Seq(Seq(UnresolvedAlias($"a")), Seq(UnresolvedAlias($"b")))),
Some(Seq(Seq($"a"), Seq($"b"))),
None,
"col",
Seq("val"),
Expand All @@ -59,7 +59,7 @@ class UnpivotParserSuite extends AnalysisTest {
sql,
Unpivot(
None,
Some(Seq(Seq(UnresolvedAlias($"a")), Seq(UnresolvedAlias($"b")))),
Some(Seq(Seq($"a"), Seq($"b"))),
Some(Seq(Some("A"), None)),
"col",
Seq("val"),
Expand All @@ -76,7 +76,7 @@ class UnpivotParserSuite extends AnalysisTest {
"SELECT * FROM t UNPIVOT ((val1, val2) FOR col in ((a, b), (c, d)))",
Unpivot(
None,
Some(Seq(Seq($"a", $"b").map(UnresolvedAlias(_)), Seq($"c", $"d").map(UnresolvedAlias(_)))),
Some(Seq(Seq($"a", $"b"), Seq($"c", $"d"))),
None,
"col",
Seq("val1", "val2"),
Expand All @@ -96,10 +96,7 @@ class UnpivotParserSuite extends AnalysisTest {
sql,
Unpivot(
None,
Some(Seq(
Seq($"a", $"b").map(UnresolvedAlias(_)),
Seq($"c", $"d").map(UnresolvedAlias(_))
)),
Some(Seq(Seq($"a", $"b"), Seq($"c", $"d"))),
Some(Seq(Some("first"), None)),
"col",
Seq("val1", "val2"),
Expand Down Expand Up @@ -132,7 +129,7 @@ class UnpivotParserSuite extends AnalysisTest {
sql,
Unpivot(
None,
Some(Seq(Seq(UnresolvedAlias($"a")), Seq(UnresolvedAlias($"b")))),
Some(Seq(Seq($"a"), Seq($"b"))),
None,
"col",
Seq("val"),
Expand Down Expand Up @@ -169,7 +166,7 @@ class UnpivotParserSuite extends AnalysisTest {
"SELECT * FROM t UNPIVOT EXCLUDE NULLS (val FOR col in (a, b))",
Unpivot(
None,
Some(Seq(Seq(UnresolvedAlias($"a")), Seq(UnresolvedAlias($"b")))),
Some(Seq(Seq($"a"), Seq($"b"))),
None,
"col",
Seq("val"),
Expand All @@ -184,7 +181,7 @@ class UnpivotParserSuite extends AnalysisTest {
"SELECT * FROM t UNPIVOT INCLUDE NULLS (val FOR col in (a, b))",
Unpivot(
None,
Some(Seq(Seq(UnresolvedAlias($"a")), Seq(UnresolvedAlias($"b")))),
Some(Seq(Seq($"a"), Seq($"b"))),
None,
"col",
Seq("val"),
Expand All @@ -199,7 +196,7 @@ class UnpivotParserSuite extends AnalysisTest {
"SELECT * FROM t1 UNPIVOT (val FOR col in (a, b)) JOIN t2",
Unpivot(
None,
Some(Seq(Seq(UnresolvedAlias($"a")), Seq(UnresolvedAlias($"b")))),
Some(Seq(Seq($"a"), Seq($"b"))),
None,
"col",
Seq("val"),
Expand All @@ -211,7 +208,7 @@ class UnpivotParserSuite extends AnalysisTest {
"SELECT * FROM t1 JOIN t2 UNPIVOT (val FOR col in (a, b))",
Unpivot(
None,
Some(Seq(Seq(UnresolvedAlias($"a")), Seq(UnresolvedAlias($"b")))),
Some(Seq(Seq($"a"), Seq($"b"))),
None,
"col",
Seq("val"),
Expand All @@ -224,7 +221,7 @@ class UnpivotParserSuite extends AnalysisTest {
table("t1").join(
Unpivot(
None,
Some(Seq(Seq(UnresolvedAlias($"a")), Seq(UnresolvedAlias($"b")))),
Some(Seq(Seq($"a"), Seq($"b"))),
None,
"col",
Seq("val"),
Expand All @@ -239,7 +236,7 @@ class UnpivotParserSuite extends AnalysisTest {
"SELECT * FROM t1 UNPIVOT (val FOR col in (a, b)), t2",
Unpivot(
None,
Some(Seq(Seq(UnresolvedAlias($"a")), Seq(UnresolvedAlias($"b")))),
Some(Seq(Seq($"a"), Seq($"b"))),
None,
"col",
Seq("val"),
Expand All @@ -251,7 +248,7 @@ class UnpivotParserSuite extends AnalysisTest {
"SELECT * FROM t1, t2 UNPIVOT (val FOR col in (a, b))",
Unpivot(
None,
Some(Seq(Seq(UnresolvedAlias($"a")), Seq(UnresolvedAlias($"b")))),
Some(Seq(Seq($"a"), Seq($"b"))),
None,
"col",
Seq("val"),
Expand All @@ -267,7 +264,7 @@ class UnpivotParserSuite extends AnalysisTest {
table("t1").join(
Unpivot(
None,
Some(Seq(Seq(UnresolvedAlias($"a")), Seq(UnresolvedAlias($"b")))),
Some(Seq(Seq($"a"), Seq($"b"))),
None,
"col",
Seq("val"),
Expand All @@ -282,7 +279,7 @@ class UnpivotParserSuite extends AnalysisTest {
table("t1").join(
Unpivot(
None,
Some(Seq(Seq(UnresolvedAlias($"a")), Seq(UnresolvedAlias($"b")))),
Some(Seq(Seq($"a"), Seq($"b"))),
None,
"col",
Seq("val"),
Expand All @@ -296,7 +293,7 @@ class UnpivotParserSuite extends AnalysisTest {
"SELECT * FROM t1, t2 JOIN t3 UNPIVOT (val FOR col in (a, b))",
Unpivot(
None,
Some(Seq(Seq(UnresolvedAlias($"a")), Seq(UnresolvedAlias($"b")))),
Some(Seq(Seq($"a"), Seq($"b"))),
None,
"col",
Seq("val"),
Expand All @@ -311,7 +308,7 @@ class UnpivotParserSuite extends AnalysisTest {
table("t1").join(
Unpivot(
None,
Some(Seq(Seq(UnresolvedAlias($"a")), Seq(UnresolvedAlias($"b")))),
Some(Seq(Seq($"a"), Seq($"b"))),
None,
"col",
Seq("val"),
Expand All @@ -326,13 +323,13 @@ class UnpivotParserSuite extends AnalysisTest {
"SELECT * FROM t1 UNPIVOT (val FOR col in (a, b)) UNPIVOT (val FOR col in (a, b))",
Unpivot(
None,
Some(Seq(Seq(UnresolvedAlias($"a")), Seq(UnresolvedAlias($"b")))),
Some(Seq(Seq($"a"), Seq($"b"))),
None,
"col",
Seq("val"),
Unpivot(
None,
Some(Seq(Seq(UnresolvedAlias($"a")), Seq(UnresolvedAlias($"b")))),
Some(Seq(Seq($"a"), Seq($"b"))),
None,
"col",
Seq("val"),
Expand Down