diff --git a/common/utils/src/main/resources/error/error-conditions.json b/common/utils/src/main/resources/error/error-conditions.json index da25d3806c7b9..c9b6497f44bb0 100644 --- a/common/utils/src/main/resources/error/error-conditions.json +++ b/common/utils/src/main/resources/error/error-conditions.json @@ -8134,6 +8134,12 @@ }, "sqlState" : "42601" }, + "TABLES_OR_VIEWS_NOT_IN_SAME_DATABASE" : { + "message" : [ + "Cannot retrieve tables or views that do not belong to the same database. Requested: ." + ], + "sqlState" : "0A000" + }, "TABLE_LOCATION_URI_NOT_SPECIFIED" : { "message" : [ "Table did not specify locationUri." @@ -10309,11 +10315,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_1079" : { "message" : [ "Resource Type '' is not supported." 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 a4e8963b607f1..f0790433f3a2b 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 @@ -1402,7 +1402,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 c09d493a79983..9d6c1c99fd9c9 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)")) } }