@@ -52,26 +52,30 @@ private[sql] class SparkQl(conf: ParserConf = SimpleParserConf()) extends Cataly
5252 nodeToDescribeFallback(node)
5353 } else {
5454 tableType match {
55- case Token (" TOK_TABTYPE" , Token (" TOK_TABNAME" , nameParts :: Nil ) :: Nil ) =>
55+ case Token (" TOK_TABTYPE" , Token (" TOK_TABNAME" , nameParts) :: Nil ) =>
5656 nameParts match {
57- case Token (" . " , dbName :: tableName :: Nil ) =>
57+ case Token (dbName, _) :: Token ( tableName, _) :: Nil =>
5858 // It is describing a table with the format like "describe db.table".
5959 // TODO: Actually, a user may mean tableName.columnName. Need to resolve this
6060 // issue.
61- val tableIdent = extractTableIdent(nameParts)
61+ val tableIdent = TableIdentifier (
62+ cleanIdentifier(tableName), Some (cleanIdentifier(dbName)))
6263 datasources.DescribeCommand (
6364 UnresolvedRelation (tableIdent, None ), isExtended = extended.isDefined)
64- case Token (" . " , dbName :: tableName :: colName :: Nil ) =>
65+ case Token (dbName, _) :: Token ( tableName, _) :: Token ( colName, _) :: Nil =>
6566 // It is describing a column with the format like "describe db.table column".
6667 nodeToDescribeFallback(node)
67- case tableName =>
68+ case tableName :: Nil =>
6869 // It is describing a table with the format like "describe table".
6970 datasources.DescribeCommand (
7071 UnresolvedRelation (TableIdentifier (tableName.text), None ),
7172 isExtended = extended.isDefined)
73+ case _ =>
74+ nodeToDescribeFallback(node)
7275 }
7376 // All other cases.
74- case _ => nodeToDescribeFallback(node)
77+ case _ =>
78+ nodeToDescribeFallback(node)
7579 }
7680 }
7781
0 commit comments