You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
`SupportsDelta` is an [extension](#contract) of the [RowLevelOperation](RowLevelOperation.md) abstraction for [row-level operations](#implementations) with [rowId](#rowId).
8
+
9
+
## Contract (Subset)
10
+
11
+
### rowId { #rowId }
12
+
13
+
```java
14
+
NamedReference[] rowId()
15
+
```
16
+
17
+
row ID column references for row equality
18
+
19
+
Used when:
20
+
21
+
*[RewriteRowLevelCommand](../logical-analysis-rules/RewriteRowLevelCommand.md) logical analysis rule is executed (and [resolveRowIdAttrs](../logical-analysis-rules/RewriteRowLevelCommand.md#resolveRowIdAttrs))
22
+
*[WriteDelta](../logical-operators/WriteDelta.md) logical operator is executed (and [rowIdAttrsResolved](../logical-operators/WriteDelta.md#rowIdAttrsResolved))
Copy file name to clipboardExpand all lines: docs/logical-operators/RowLevelWrite.md
+27-1Lines changed: 27 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,4 +4,30 @@ title: RowLevelWrite
4
4
5
5
# RowLevelWrite Logical Operators
6
6
7
-
`RowLevelWrite` is...FIXME
7
+
`RowLevelWrite` is an [extension](#contract) of the [V2WriteCommand](V2WriteCommand.md) abstraction for [write commands](#implementations) with [SupportsSubquery](SupportsSubquery.md).
8
+
9
+
## Contract (Subset)
10
+
11
+
### operation
12
+
13
+
```scala
14
+
operation:RowLevelOperation
15
+
```
16
+
17
+
See:
18
+
19
+
*[ReplaceData](ReplaceData.md#operation)
20
+
*[WriteDelta](WriteDelta.md#operation)
21
+
22
+
Used when:
23
+
24
+
*`GroupBasedRowLevelOperation` is requested to `unapply`
25
+
*`WriteDelta` is requested to [metadataAttrsResolved](WriteDelta.md#metadataAttrsResolved), [rowIdAttrsResolved](WriteDelta.md#rowIdAttrsResolved)
26
+
*`GroupBasedRowLevelOperationScanPlanning` is requested to [apply](../logical-optimizations/GroupBasedRowLevelOperationScanPlanning.md#apply)
27
+
*`RewrittenRowLevelCommand` is requested to `unapply`
28
+
*`RowLevelOperationRuntimeGroupFiltering` is requested to `apply`
* <spanid="originalTable"> Original Table ([NamedRelation](NamedRelation.md))
17
+
* <spanid="projections"> `WriteDeltaProjections`
18
+
* <spanid="write"> `DeltaWrite`
19
+
20
+
`WriteDelta` is created when:
21
+
22
+
*[RewriteDeleteFromTable](../logical-analysis-rules/RewriteDeleteFromTable.md) logical analysis rule is executed (and requested to [buildWriteDeltaPlan](../logical-analysis-rules/RewriteDeleteFromTable.md#buildWriteDeltaPlan) for [SupportsDelta](../connector/SupportsDelta.md) row-level operations)
23
+
*`RewriteMergeIntoTable` logical analysis rule is executed (and `buildWriteDeltaPlan` for [SupportsDelta](../connector/SupportsDelta.md) row-level operations)
24
+
*`RewriteUpdateTable` logical analysis rule is executed (and `buildWriteDeltaPlan` for [SupportsDelta](../connector/SupportsDelta.md) row-level operations)
25
+
26
+
## Query Planning
27
+
28
+
`WriteDelta` is planned to [WriteDeltaExec](../physical-operators/WriteDeltaExec.md) physical operator by [DataSourceV2Strategy](../execution-planning-strategies/DataSourceV2Strategy.md) execution planning strategy.
`WriteDeltaExec` is a [V2ExistingTableWriteExec](V2ExistingTableWriteExec.md) physical operator that represents a [WriteDelta](../logical-operators/WriteDelta.md) logical operator at execution time.
8
+
9
+
## Creating Instance
10
+
11
+
`WriteDeltaExec` takes the following to be created:
12
+
13
+
* <spanid="query"> Query Physical Plan ([SparkPlan](SparkPlan.md))
14
+
* <spanid="refreshCache"> `refreshCache` function (`() => Unit`)
15
+
* <spanid="projections"> `WriteDeltaProjections`
16
+
* <spanid="write"> `DeltaWrite`
17
+
18
+
`WriteDeltaExec` is created when:
19
+
20
+
*[DataSourceV2Strategy](../execution-planning-strategies/DataSourceV2Strategy.md) execution planning strategy is executed (to plan a [WriteDelta](../logical-operators/WriteDelta.md) logical operator)
0 commit comments