Skip to content

Commit

Permalink
handle another breaking change
Browse files Browse the repository at this point in the history
  • Loading branch information
vkorukanti committed Sep 9, 2024
1 parent 4dc759c commit 34fb386
Show file tree
Hide file tree
Showing 3 changed files with 65 additions and 7 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
/*
* Copyright (2024) The Delta Lake Project Authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.spark.sql.errors

import org.apache.spark.sql.catalyst.TableIdentifier
import org.apache.spark.sql.errors.QueryCompilationErrors

/**
* A shim to handle a breaking change (apache/spark@53c1f31) which changed the
* `showColumnsWithConflictDatabasesError` method name and arguments in Spark master.
*/
object QueryCompilationErrorsShim {
def showColumnsWithConflictDatabasesError(
db: Seq[String],
v1TableName: TableIdentifier): Throwable = {
QueryCompilationErrors.showColumnsWithConflictDatabasesError(db, v1TableName)
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
/*
* Copyright (2024) The Delta Lake Project Authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.spark.sql.errors

import org.apache.spark.sql.catalyst.TableIdentifier
import org.apache.spark.sql.errors.QueryCompilationErrors

/**
* A shim to handle a breaking change (apache/spark@53c1f31) which changed the
* `showColumnsWithConflictDatabasesError` method name and arguments in Spark master.
*/
object QueryCompilationErrorsShim {
def showColumnsWithConflictDatabasesError(
db: Seq[String],
v1TableName: TableIdentifier): Throwable = {
QueryCompilationErrors.showColumnsWithConflictNamespacesError(
Seq(db.head), Seq(v1TableName.database.get))
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ import org.apache.spark.sql.connector.catalog.{Identifier, TableCatalog}
import org.apache.spark.sql.connector.catalog.CatalogV2Implicits._
import org.apache.spark.sql.connector.expressions.{FieldReference, IdentityTransform, Transform}
import org.apache.spark.sql.errors.QueryCompilationErrors
import org.apache.spark.sql.errors.QueryCompilationErrorsShim._
import org.apache.spark.sql.execution.command.CreateTableLikeCommand
import org.apache.spark.sql.execution.command.RunnableCommand
import org.apache.spark.sql.execution.datasources.HadoopFsRelation
Expand Down Expand Up @@ -573,13 +574,7 @@ class DeltaAnalysis(session: SparkSession)
val v1TableName = child.identifier.asTableIdentifier
namespace.foreach { ns =>
if (v1TableName.database.exists(!resolver(_, ns.head))) {
// Temporary Comment: Spark Master
throw QueryCompilationErrors.showColumnsWithConflictNamespacesError(
Seq(ns.head), Seq(v1TableName.database.get))
// Temporary Comment: Spark 3.5
/*
throw QueryCompilationErrors.showColumnsWithConflictDatabasesError(ns, v1TableName)
*/
throw showColumnsWithConflictDatabasesError(ns, v1TableName)
}
}
ShowDeltaTableColumnsCommand(child)
Expand Down

0 comments on commit 34fb386

Please sign in to comment.