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.
- ENABLE_
UNSTABLE_ SPILLED_ ROW_ LINEAGE_ ENV - Environment variable that opts a release build into reading and writing row lineage sequences spilled to hidden data file columns 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_
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_
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 - 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_
USE_ V2_ FORMAT_ DEPRECATED - Files are written with the new v2 format (this flag is no longer used)
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 paired capabilities from the manifest a new one is derived from.
- spilled_
row_ lineage_ enabled - Whether this build understands row lineage sequences spilled to data file
columns: always in debug builds, and in release builds only when
ENABLE_UNSTABLE_SPILLED_ROW_LINEAGE_ENVis set, like data overlay files. - validate_
paired_ feature_ flags - Refuse a manifest whose paired reader and writer capability bits disagree.