Skip to content

Commit b2acddb

Browse files
committed
qualified column name should be multipartIdentifier.
1 parent 64a68fc commit b2acddb

File tree

3 files changed

+7
-4
lines changed

3 files changed

+7
-4
lines changed

sql/catalyst/src/main/antlr4/org/apache/spark/sql/catalyst/parser/SqlBase.g4

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ statement
149149
| ALTER (TABLE | VIEW) multipartIdentifier
150150
UNSET TBLPROPERTIES (IF EXISTS)? tablePropertyList #unsetTableProperties
151151
| ALTER TABLE multipartIdentifier
152-
(ALTER | CHANGE) COLUMN? qualifiedName
152+
(ALTER | CHANGE) COLUMN? multipartIdentifier
153153
(TYPE dataType)? (COMMENT comment=STRING)? colPosition? #alterTableColumn
154154
| ALTER TABLE multipartIdentifier (partitionSpec)?
155155
SET SERDE STRING (WITH SERDEPROPERTIES tablePropertyList)? #setTableSerDe

sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/parser/AstBuilder.scala

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2677,9 +2677,12 @@ class AstBuilder(conf: SQLConf) extends SqlBaseBaseVisitor[AnyRef] with Logging
26772677
operationNotAllowed(s"ALTER TABLE table $verb COLUMN requires a TYPE or a COMMENT", ctx)
26782678
}
26792679

2680+
val tableIdentifier = ctx.multipartIdentifier(0)
2681+
val qualifiedColumn = ctx.multipartIdentifier(1)
2682+
26802683
AlterTableAlterColumnStatement(
2681-
visitMultipartIdentifier(ctx.multipartIdentifier),
2682-
typedVisit[Seq[String]](ctx.qualifiedName),
2684+
visitMultipartIdentifier(tableIdentifier),
2685+
typedVisit[Seq[String]](qualifiedColumn),
26832686
Option(ctx.dataType).map(typedVisit[DataType]),
26842687
Option(ctx.comment).map(string))
26852688
}

sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/parser/ErrorParserSuite.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ class ErrorParserSuite extends AnalysisTest {
9595
"""
9696
|ALTER TABLE t
9797
|CHANGE COLUMN
98-
|test-col BIGINT
98+
|test-col TYPE BIGINT
9999
""".stripMargin, 4, 4, 5, msg + " test-col")
100100
intercept("CREATE TABLE test (attri-bute INT)", 1, 24, 25, msg + " attri-bute")
101101
intercept(

0 commit comments

Comments
 (0)