trait SupportsDelete extends SupportsDeleteV2
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()
- Since
3.0.0
- Alphabetic
- By Inheritance
- SupportsDelete
- SupportsDeleteV2
- TruncatableTable
- Table
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
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(filters: Array[Filter]): 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(Filter[])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.- filters
filter 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.
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
- Definition Classes
- SupportsDelete → SupportsDeleteV2
- Since
3.4.0
-
def
canDeleteWhere(filters: Array[Filter]): 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(Filter[])would reject the delete operation because it requires significant effort. If this method returns false, Spark will not call#deleteWhere(Filter[])and will try to rewrite the delete operation and produce row-level changes if the data source table supports deleting individual records.- filters
filter expressions, used to select rows to delete when all expressions match
- returns
true if the delete operation can be performed
- Since
3.1.0
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @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
-
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
- Definition Classes
- SupportsDelete → SupportsDeleteV2
- Exceptions thrown
IllegalArgumentExceptionIf the delete is rejected due to required effort
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @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
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @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
- SupportsDelete → SupportsDeleteV2 → TruncatableTable
- Annotations
- @Override()
- Since
3.2.0
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()