Skip to content

Commit a909790

Browse files
committed
Updated.
1 parent a5e3a15 commit a909790

4 files changed

Lines changed: 10 additions & 4 deletions

File tree

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
@@ -196,7 +196,7 @@ statement
196196
| SHOW PARTITIONS multipartIdentifier partitionSpec? #showPartitions
197197
| SHOW identifier? FUNCTIONS
198198
(LIKE? (multipartIdentifier | pattern=STRING))? #showFunctions
199-
| SHOW CREATE TABLE multipartIdentifier (AS SPARK) #showCreateTable
199+
| SHOW CREATE TABLE multipartIdentifier (AS SPARK)? #showCreateTable
200200
| SHOW CURRENT NAMESPACE #showCurrentNamespace
201201
| (DESC | DESCRIBE) FUNCTION EXTENDED? describeFuncName #describeFunction
202202
| (DESC | DESCRIBE) database EXTENDED? db=errorCapturingIdentifier #describeDatabase

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2982,7 +2982,7 @@ class AstBuilder(conf: SQLConf) extends SqlBaseBaseVisitor[AnyRef] with Logging
29822982
* Creates a [[ShowCreateTableStatement]]
29832983
*/
29842984
override def visitShowCreateTable(ctx: ShowCreateTableContext): LogicalPlan = withOrigin(ctx) {
2985-
ShowCreateTableStatement(visitMultipartIdentifier(ctx.multipartIdentifier()))
2985+
ShowCreateTableStatement(visitMultipartIdentifier(ctx.multipartIdentifier()), ctx.SPARK != null)
29862986
}
29872987

29882988
/**

sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/statements.scala

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -382,7 +382,9 @@ case class LoadDataStatement(
382382
/**
383383
* A SHOW CREATE TABLE statement, as parsed from SQL.
384384
*/
385-
case class ShowCreateTableStatement(tableName: Seq[String]) extends ParsedStatement
385+
case class ShowCreateTableStatement(
386+
tableName: Seq[String],
387+
asSpark: Boolean = false) extends ParsedStatement
386388

387389
/**
388390
* A CACHE TABLE statement, as parsed from SQL

sql/core/src/main/scala/org/apache/spark/sql/catalyst/analysis/ResolveSessionCatalog.scala

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -328,10 +328,14 @@ class ResolveSessionCatalog(
328328
isOverwrite,
329329
partition)
330330

331-
case ShowCreateTableStatement(tableName) =>
331+
case ShowCreateTableStatement(tableName, asSpark) if !asSpark =>
332332
val v1TableName = parseV1Table(tableName, "SHOW CREATE TABLE")
333333
ShowCreateTableCommand(v1TableName.asTableIdentifier)
334334

335+
case ShowCreateTableStatement(tableName, asSpark) if asSpark =>
336+
val v1TableName = parseV1Table(tableName, "SHOW CREATE TABLE AS SPARK")
337+
ShowCreateTableAsSparkCommand(v1TableName.asTableIdentifier)
338+
335339
case CacheTableStatement(tableName, plan, isLazy, options) =>
336340
val v1TableName = parseV1Table(tableName, "CACHE TABLE")
337341
CacheTableCommand(v1TableName.asTableIdentifier, plan, isLazy, options)

0 commit comments

Comments
 (0)