Expand description
Feature flags
Constants§
- ENABLE_
UNSTABLE_ DATA_ OVERLAY_ FILES_ ENV - Environment variable that opts a release build into reading and writing data overlay files before the feature is generally released.
- FLAG_
BASE_ PATHS - Dataset uses multiple base paths (for shallow clones or multi-base datasets)
- FLAG_
COVERED_ INDEX_ METADATA - Some index declares covering columns:
IndexMetadata.covering_fieldsnames columns the index carries values for, whether or not it is also keyed on them. - FLAG_
DELETION_ FILES - Fragments may contain deletion files, which record the tombstones of soft-deleted rows.
- FLAG_
DISABLE_ TRANSACTION_ FILE - Disable writing transaction file under _transaction/, this flag is set when we only want to write inline transaction in manifest
- FLAG_
FRAGMENT_ REUSE_ INDEX - Tagged FRI requires a reader that interprets its mappings and a writer that preserves them during maintenance. Legacy-only FRI does not set this bit. Bit 9 is taken by the stable-row-id FRI compatibility flag.
- FLAG_
FRAGMENT_ TREE - Reserved for fragment trees. Readers and writers reject it until implemented.
- FLAG_
FRAG_ REUSE_ WITH_ STABLE_ ROW_ IDS - The table uses stable row ids and carries a fragment reuse index.
- FLAG_
INDEPENDENT_ COVERING_ FIELDS - Index key fields and covering fields are declared independently.
- FLAG_
MANAGED_ BLOBS - Blob v2 descriptors may independently address Lance-owned objects. Readers must resolve their explicit bases and writers/GC must preserve those references. This capability is sticky, including across restore, and requires both words.
- FLAG_
MIXED_ DATA_ FILE_ VERSIONS - A dataset may reference recognized V2 data files with different exact versions. Readers and writers must both understand the per-file version contract before either can safely access the dataset.
- FLAG_
NON_ REUSABLE_ FIELD_ IDS - Field IDs are allocated from a persistent high-water mark and are never reused. Writers must understand this allocation contract. It does not change how readers interpret the schema or data files.
- FLAG_
OBJECT_ METADATA - Writer-only protection for clustering definitions, ID allocation, references, and generic fragment/index segment metadata maintenance. Reserved and unsupported until writers implement its maintenance rules. Ordinary readers can ignore this metadata; all covered features share this one bit.
- FLAG_
SPILLED_ ROW_ LINEAGE - Some fragment stores a row lineage sequence – its row ids, or its
created-at or last-updated-at versions – as a hidden column of a data file
rather than inline in the manifest (
RowIdMeta::Column,RowDatasetVersionMeta::Column). - FLAG_
STABLE_ ROW_ IDS - Row ids are stable for both moves and updates. Fragments contain an index mapping row ids to row addresses.
- FLAG_
TABLE_ CONFIG - Table config is present
- FLAG_
UNKNOWN - The first bit that is unknown as a feature flag
- FLAG_
UNSTABLE_ DATA_ OVERLAY_ FILES - Fragments contain data overlay files, which supply new values for a subset of cells without rewriting base data files. A reader that does not understand overlays must refuse the dataset, since ignoring an overlay would silently return stale base values.
- FLAG_
UNSTABLE_ SPILLED_ ROW_ LINEAGE Deprecated - Deprecated name for
FLAG_SPILLED_ROW_LINEAGE. - FLAG_
USE_ V2_ FORMAT_ DEPRECATED - Files are written with the new v2 format (this flag is no longer used)
- FLAG_
ZONE_ WRITE_ SEEDS - Required for data files containing version 1 zone-level statistics seeds. Their min/max exclude NaNs, which are counted separately by sign. Set in both reader and writer feature flags and preserve across commits.
- MANAGED_
BLOBS_ META_ KEY - Schema metadata that explicitly opts writes and compaction into Managed blobs.
Set
lance.blob.managedtotrueto activate the sticky table capability. This requires Managed-aware readers and maintenance clients thereafter.
Functions§
- apply_
feature_ flags - Set the reader and writer feature flags in the manifest based on the contents of the manifest.
- can_
read_ dataset - can_
write_ dataset - ensure_
can_ read_ manifest - Refuse reads from manifests whose required reader features this build does not support or whose paired capabilities are inconsistent.
- ensure_
can_ write_ manifest - Refuse writes to manifests whose required writer features this build does not support or whose paired capabilities are inconsistent.
- has_
deprecated_ v2_ feature_ flag - inherit_
sticky_ feature_ flags - Carry sticky capabilities from the manifest a new one is derived from.
- managed_
blobs_ enabled - Whether a schema explicitly requests Managed blob storage. Absent or
falsekeeps the existing Inline/Packed/Dedicated storage layout, in all build profiles. - validate_
non_ reusable_ field_ id_ flags - Refuse a manifest whose non-reusable-field-ID marker and required flags disagree.
- validate_
paired_ feature_ flags - Refuse a manifest whose paired reader and writer capability bits disagree.