trait SupportsDeleteV2 extends TruncatableTable
A mix-in interface for Table delete support. Data sources can implement this
interface to provide the ability to delete data from tables that matches filter expressions.
- Annotations
- @Evolving()
- Source
- SupportsDeleteV2.java
- Since
3.4.0
- Alphabetic
- By Inheritance
- SupportsDeleteV2
- TruncatableTable
- Table
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def capabilities(): Set[TableCapability]
Returns the set of capabilities for this table.
Returns the set of capabilities for this table.
- Definition Classes
- Table
- abstract def deleteWhere(predicates: Array[Predicate]): Unit
Delete data from a data source table that matches filter expressions.
Delete data from a data source table that matches filter expressions. Note that this method will be invoked only if
#canDeleteWhere(Predicate[])returns true.Rows are deleted from the data source iff all of the filter expressions match. That is, the expressions must be interpreted as a set of filters that are ANDed together.
Implementations may reject a delete operation if the delete isn't possible without significant effort. For example, partitioned data sources may reject deletes that do not filter by partition columns because the filter may require rewriting files without deleted records. To reject a delete implementations should throw
IllegalArgumentExceptionwith a clear error message that identifies which expression was rejected.- predicates
predicate expressions, used to select rows to delete when all expressions match
- Exceptions thrown
IllegalArgumentExceptionIf the delete is rejected due to required effort
- abstract def name(): String
A name to identify this table.
A name to identify this table. Implementations should provide a meaningful name, like the database and table name from catalog, or the location of files for this table.
- Definition Classes
- Table
- abstract def schema(): StructType
Returns the schema of this table.
Returns the schema of this table. If the table is not readable and doesn't have a schema, an empty schema can be returned here.
- Definition Classes
- Table
- Annotations
- @Deprecated
- Deprecated
(Since version 3.4.0)
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def canDeleteWhere(predicates: Array[Predicate]): Boolean
Checks whether it is possible to delete data from a data source table that matches filter expressions.
Checks whether it is possible to delete data from a data source table that matches filter expressions.
Rows should be deleted from the data source iff all of the filter expressions match. That is, the expressions must be interpreted as a set of filters that are ANDed together.
Spark will call this method at planning time to check whether
#deleteWhere(Predicate[])would reject the delete operation because it requires significant effort. If this method returns false, Spark will not call#deleteWhere(Predicate[])and will try to rewrite the delete operation and produce row-level changes if the data source table supports deleting individual records.- predicates
V2 filter expressions, used to select rows to delete when all expressions match
- returns
true if the delete operation can be performed
- Since
3.4.0
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
- def columns(): Array[Column]
Returns the columns of this table.
Returns the columns of this table. If the table is not readable and doesn't have a schema, an empty array can be returned here.
- Definition Classes
- Table
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- def partitioning(): Array[Transform]
Returns the physical partitioning of this table.
Returns the physical partitioning of this table.
- Definition Classes
- Table
- def properties(): Map[String, String]
Returns the string map of table properties.
Returns the string map of table properties.
- Definition Classes
- Table
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- def truncateTable(): Boolean
Truncate a table by removing all rows from the table atomically.
Truncate a table by removing all rows from the table atomically.
- returns
true if a table was truncated successfully otherwise false
- Definition Classes
- SupportsDeleteV2 → TruncatableTable
- Annotations
- @Override()
- Since
3.2.0
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)