diff --git a/common/utils/src/main/resources/error/error-conditions.json b/common/utils/src/main/resources/error/error-conditions.json index 94d6b897b18c8..273d6c86089ff 100644 --- a/common/utils/src/main/resources/error/error-conditions.json +++ b/common/utils/src/main/resources/error/error-conditions.json @@ -8198,6 +8198,12 @@ }, "sqlState" : "42601" }, + "TABLES_OR_VIEWS_NOT_IN_SAME_DATABASE" : { + "message" : [ + "Retrieving tables or views from more than one database is not supported. Requested: ." + ], + "sqlState" : "0AKD0" + }, "TABLE_LOCATION_URI_NOT_SPECIFIED" : { "message" : [ "Table did not specify locationUri." @@ -10418,11 +10424,6 @@ "Some existing schema fields () are not present in the new schema. We don't support dropping columns yet." ] }, - "_LEGACY_ERROR_TEMP_1072" : { - "message" : [ - "Only the tables/views belong to the same database can be retrieved. Querying tables/views are ." - ] - }, "_LEGACY_ERROR_TEMP_1080" : { "message" : [ "Table did not specify database." diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/errors/QueryCompilationErrors.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/errors/QueryCompilationErrors.scala index 2cc4fa51132f8..1a4435e54a966 100644 --- a/sql/catalyst/src/main/scala/org/apache/spark/sql/errors/QueryCompilationErrors.scala +++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/errors/QueryCompilationErrors.scala @@ -1408,7 +1408,7 @@ private[sql] object QueryCompilationErrors extends QueryErrorsBase with Compilat def cannotRetrieveTableOrViewNotInSameDatabaseError( qualifiedTableNames: Seq[QualifiedTableName]): Throwable = { new AnalysisException( - errorClass = "_LEGACY_ERROR_TEMP_1072", + errorClass = "TABLES_OR_VIEWS_NOT_IN_SAME_DATABASE", messageParameters = Map("qualifiedTableNames" -> qualifiedTableNames.toString())) } 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 61154116ab99f..4cf69a20fd708 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 @@ -820,20 +820,30 @@ abstract class SessionCatalogSuite extends AnalysisTest with Eventually { test("get tables by name when tables belong to different databases") { withBasicCatalog { catalog => - intercept[AnalysisException](catalog.getTablesByName( - Seq( - TableIdentifier("tbl1", Some("db1")), - TableIdentifier("tbl2", Some("db2")) - ) - )) + checkError( + exception = intercept[AnalysisException](catalog.getTablesByName( + Seq( + TableIdentifier("tbl1", Some("db1")), + TableIdentifier("tbl2", Some("db2")) + ) + )), + condition = "TABLES_OR_VIEWS_NOT_IN_SAME_DATABASE", + parameters = Map( + "qualifiedTableNames" -> + "List(spark_catalog.db1.tbl1, spark_catalog.db2.tbl2)")) // Get table without explicitly specifying database catalog.setCurrentDatabase("db2") - intercept[AnalysisException](catalog.getTablesByName( - Seq( - TableIdentifier("tbl1", Some("db1")), - TableIdentifier("tbl2") - ) - )) + checkError( + exception = intercept[AnalysisException](catalog.getTablesByName( + Seq( + TableIdentifier("tbl1", Some("db1")), + TableIdentifier("tbl2") + ) + )), + condition = "TABLES_OR_VIEWS_NOT_IN_SAME_DATABASE", + parameters = Map( + "qualifiedTableNames" -> + "List(spark_catalog.db1.tbl1, spark_catalog.db2.tbl2)")) } }