Skip to content

Commit 116060e

Browse files
committed
inject v2
1 parent 2727dee commit 116060e

2 files changed

Lines changed: 5 additions & 2 deletions

File tree

paimon-spark/paimon-spark-common/src/main/scala/org/apache/paimon/spark/catalyst/analysis/PaimonDeleteTable.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ import org.apache.spark.sql.catalyst.rules.Rule
3030
object PaimonDeleteTable extends Rule[LogicalPlan] with RowLevelHelper {
3131

3232
/** Determines if DataSourceV2 delete is not supported for the given table. */
33-
private def shouldFallbackToV1Delete(table: SparkTable, condition: Expression): Boolean = {
33+
def shouldFallbackToV1Delete(table: SparkTable, condition: Expression): Boolean = {
3434
val baseTable = table.getTable
3535
org.apache.spark.SPARK_VERSION < "3.5" ||
3636
!baseTable.isInstanceOf[FileStoreTable] ||

paimon-spark/paimon-spark4-common/src/main/scala/org/apache/spark/sql/catalyst/analysis/RewriteDeleteFromTable.scala

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
package org.apache.spark.sql.catalyst.analysis
2020

2121
import org.apache.paimon.spark.SparkTable
22+
import org.apache.paimon.spark.catalyst.analysis.PaimonDeleteTable
2223

2324
import org.apache.spark.sql.catalyst.expressions.{Alias, EqualNullSafe, Expression, Literal, Not}
2425
import org.apache.spark.sql.catalyst.expressions.Literal.TrueLiteral
@@ -49,7 +50,9 @@ object RewriteDeleteFromTable extends RewriteRowLevelCommand {
4950

5051
case r @ ExtractV2Table(t: SupportsRowLevelOperations)
5152
if !t.isInstanceOf[SparkTable] || (t
52-
.isInstanceOf[SparkTable] && t.asInstanceOf[SparkTable].useV2Write) =>
53+
.isInstanceOf[SparkTable] && !PaimonDeleteTable.shouldFallbackToV1Delete(
54+
t.asInstanceOf[SparkTable],
55+
cond)) =>
5356
val table = buildOperationTable(t, DELETE, CaseInsensitiveStringMap.empty())
5457
table.operation match {
5558
case _: SupportsDelta =>

0 commit comments

Comments
 (0)