pub enum SliceReplacement {
Emptied(Vec<String>),
WrittenByInsert(String),
}Expand description
How one engine replaces a single slice of a table.
A load asked to refresh one day has to clear that day before it writes it,
and engines divide into two answers. Most empty it with a statement of
their own that runs first — a partition truncated, a partition dropped, or
a row-level delete narrowed to the slice. A few fold the clearing into the
write, so there is nothing to run first and the load’s own INSERT carries
a clause instead.
Answering at all is a claim that the engine documents a verb for this.
Where it does not, answer None and Razeri writes the portable form: a
delete filtered to the slice, then the insert.
Variants§
Emptied(Vec<String>)
Statements that empty the named slice, run in order before the load writes it. Each must be complete and terminated the way this engine’s procedure bodies expect.
WrittenByInsert(String)
A clause the load’s own INSERT carries, which replaces the named
slice with the rows that insert writes — one statement, no separate
clearing. Delta Lake’s REPLACE WHERE is the worked case.