From b38c53c24d921d107957821a494a505b7214fa7c Mon Sep 17 00:00:00 2001 From: gatorsmile Date: Thu, 29 Dec 2016 11:45:27 -0800 Subject: [PATCH] remove db from SimpleCatalogRelation --- .../spark/sql/catalyst/catalog/SessionCatalog.scala | 2 +- .../org/apache/spark/sql/catalyst/catalog/interface.scala | 5 ----- .../spark/sql/catalyst/catalog/SessionCatalogSuite.scala | 8 ++++---- 3 files changed, 5 insertions(+), 10 deletions(-) diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/catalog/SessionCatalog.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/catalog/SessionCatalog.scala index e996a836fe734..02fee8ea34ed7 100644 --- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/catalog/SessionCatalog.scala +++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/catalog/SessionCatalog.scala @@ -573,7 +573,7 @@ class SessionCatalog( val view = Option(metadata.tableType).collect { case CatalogTableType.VIEW => name } - SubqueryAlias(relationAlias, SimpleCatalogRelation(db, metadata), view) + SubqueryAlias(relationAlias, SimpleCatalogRelation(metadata), view) } else { SubqueryAlias(relationAlias, tempTables(table), Option(name)) } diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/catalog/interface.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/catalog/interface.scala index 24d75ab02c997..b402bd2d6c276 100644 --- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/catalog/interface.scala +++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/catalog/interface.scala @@ -318,7 +318,6 @@ trait CatalogRelation { * Note that in the future we should consolidate this and HiveCatalogRelation. */ case class SimpleCatalogRelation( - databaseName: String, metadata: CatalogTable) extends LeafNode with CatalogRelation { @@ -335,8 +334,4 @@ case class SimpleCatalogRelation( } dataCols ++ partCols } - - require( - metadata.identifier.database == Some(databaseName), - "provided database does not match the one specified in the table definition") } diff --git a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/catalog/SessionCatalogSuite.scala b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/catalog/SessionCatalogSuite.scala index 5cc772d8e9a1e..19b7a4659c375 100644 --- a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/catalog/SessionCatalogSuite.scala +++ b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/catalog/SessionCatalogSuite.scala @@ -433,24 +433,24 @@ class SessionCatalogSuite extends SparkFunSuite { sessionCatalog.setCurrentDatabase("db2") // If we explicitly specify the database, we'll look up the relation in that database assert(sessionCatalog.lookupRelation(TableIdentifier("tbl1", Some("db2"))) - == SubqueryAlias("tbl1", SimpleCatalogRelation("db2", metastoreTable1), None)) + == SubqueryAlias("tbl1", SimpleCatalogRelation(metastoreTable1), None)) // Otherwise, we'll first look up a temporary table with the same name assert(sessionCatalog.lookupRelation(TableIdentifier("tbl1")) == SubqueryAlias("tbl1", tempTable1, Some(TableIdentifier("tbl1")))) // Then, if that does not exist, look up the relation in the current database sessionCatalog.dropTable(TableIdentifier("tbl1"), ignoreIfNotExists = false, purge = false) assert(sessionCatalog.lookupRelation(TableIdentifier("tbl1")) - == SubqueryAlias("tbl1", SimpleCatalogRelation("db2", metastoreTable1), None)) + == SubqueryAlias("tbl1", SimpleCatalogRelation(metastoreTable1), None)) } test("lookup table relation with alias") { val catalog = new SessionCatalog(newBasicCatalog()) val alias = "monster" val tableMetadata = catalog.getTableMetadata(TableIdentifier("tbl1", Some("db2"))) - val relation = SubqueryAlias("tbl1", SimpleCatalogRelation("db2", tableMetadata), None) + val relation = SubqueryAlias("tbl1", SimpleCatalogRelation(tableMetadata), None) val relationWithAlias = SubqueryAlias(alias, - SimpleCatalogRelation("db2", tableMetadata), None) + SimpleCatalogRelation(tableMetadata), None) assert(catalog.lookupRelation( TableIdentifier("tbl1", Some("db2")), alias = None) == relation) assert(catalog.lookupRelation(