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
|`ALTER TABLE ... DROP PARTITION`| Supported for partitioned tables | Supported for partitioned tables | Supported for partitioned tables |
239
+
|`UPDATE`| Supported via Copy-on-Write | Not supported | Supported via row-id update |
240
+
|`DELETE`| Supported via Copy-on-Write | Not supported | Not supported |
241
+
|`MERGE INTO`| Supported via Copy-on-Write | Not supported | Supported for matched `UPDATE` and not-matched `INSERT`; matched `DELETE` is not supported |
242
+
243
+
A data-evolution row-tracking table must have both `'data-evolution.enabled' = 'true'` and `'row-tracking.enabled' = 'true'`, and must not have primary keys. Primary-key row-level `UPDATE`, `DELETE`, and `MERGE INTO` are not supported even when data evolution is enabled.
244
+
230
245
### INSERT INTO
231
246
232
247
```sql
@@ -279,7 +294,7 @@ For append-only tables (no primary key), updates are executed using Copy-on-Writ
279
294
UPDATEpaimon.my_db.t SET name ='a_new'WHERE id =1;
280
295
```
281
296
282
-
For primary-key tables, `data-evolution.enabled` must be enabled to perform UPDATE.
297
+
For data-evolution row-tracking tables without primary keys, updates are executed with row-id-based partial-column writes. Primary-key tables are not supported for `UPDATE`.
283
298
284
299
### DELETE
285
300
@@ -289,6 +304,8 @@ For append-only tables, deletes are executed using Copy-on-Write:
289
304
DELETEFROMpaimon.my_db.t WHERE name ='b';
290
305
```
291
306
307
+
`DELETE` is not supported on primary-key tables or data-evolution tables.
308
+
292
309
### MERGE INTO
293
310
294
311
Standard SQL MERGE INTO syntax is supported, allowing INSERT, UPDATE, and DELETE in a single statement:
@@ -326,7 +343,7 @@ ON target.id = source.id
326
343
WHEN MATCHED THEN UPDATESET name =source.name;
327
344
```
328
345
329
-
For data-evolution tables, MERGE INTO uses the `_ROW_ID` virtual column for row-level tracking. For append-only tables, it uses Copy-on-Write file rewriting.
346
+
For append-only tables, `MERGE INTO` uses Copy-on-Write file rewriting and supports matched `UPDATE`, matched `DELETE`, and not-matched `INSERT`. For data-evolution row-tracking tables without primary keys, `MERGE INTO` uses the `_ROW_ID` virtual column for row-level tracking and supports matched `UPDATE` plus not-matched `INSERT`; matched `DELETE` is not yet supported. Primary-key tables are not supported for `MERGE INTO`.
0 commit comments