mirror of
https://github.com/ModernRelay/omnigraph.git
synced 2026-06-09 01:35:18 +02:00
engine: stage_overwrite sets enable_stable_row_ids explicitly
Defensive — Lance 4.0.0 preserves the source dataset's flag through Operation::Overwrite even when WriteParams omits it (pinned by the prior commit's test), but setting it explicitly matches the public overwrite_dataset path at line 454 and documents the dependency at the call site so a future refactor doesn't accidentally drop it. Setting it on a dataset created without stable row IDs is a no-op per Lance's row-id-lineage spec, so this stays correct for legacy datasets. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
549060f297
commit
a30d1cc0dc
1 changed files with 11 additions and 0 deletions
|
|
@ -782,8 +782,19 @@ impl TableStore {
|
|||
"stage_overwrite called with empty batch".to_string(),
|
||||
));
|
||||
}
|
||||
// `enable_stable_row_ids: true` is defensive — empirically Lance 4.0.0
|
||||
// preserves the source dataset's flag through `Operation::Overwrite`
|
||||
// when WriteParams omits it (pinned by
|
||||
// `stage_overwrite_preserves_stable_row_ids` in tests/staged_writes.rs),
|
||||
// but setting it explicitly matches the public `overwrite_dataset`
|
||||
// path and keeps the invariant documented at every Overwrite site
|
||||
// (see docs/storage.md "Stable row IDs"). Setting it on an existing
|
||||
// dataset that was created without stable row IDs is a no-op per
|
||||
// Lance's row-id-lineage spec, so this stays correct for legacy
|
||||
// datasets.
|
||||
let params = WriteParams {
|
||||
mode: WriteMode::Overwrite,
|
||||
enable_stable_row_ids: true,
|
||||
allow_external_blob_outside_bases: true,
|
||||
..Default::default()
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue