Repository navigation
Conversation
This was referenced Nov 14, 2026
Extract a focused piece from the metadata table implementation with its tests. Co-authored-by: Codex <codex@openai.com>
manuzhang
force-pushed
the
codex/metadata-scan-support-20261115
branch
from
November 15, 2026 15:26
f11adff to
33c84fb
Compare
This was referenced Nov 15, 2026
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Snapshot-backed metadata scans must retain consistent inputs when their source table refreshes or their builder/reader is released. Capture metadata and FileIO once, derive the scan schema from that captured metadata, and return schema ownership by value.
Add a generic snapshot task holding the context and a row-reader function pointer. Task readers dispatch through that callback without depending on concrete metadata-table classes. Validate whole-column projections and resolve snapshot IDs, references, or timestamps when building the scan.
This PR now contains only scan ownership/schema capture, snapshot selection, and task dispatch. The lazy-row, partition-value, and live-file helpers are separate PRs: #1133, #1134, #1135. The unused table-scan fixture moved into the table PRs that consume it.
Builds directly on main with no prerequisite. Validation: 58 metadata tests and C++20 compatibility passed for this standalone slice; the combined helper foundation passed 73 static tests. Pre-commit and clang-tidy 22.1.8 passed. The full split composition passed 144 tests with one expected format-version skip. Shared-library build and C++20 linkage passed; the additional shared manifest IO checks reproduce an existing Avro encoding bad_cast also seen in unchanged manifest-writer tests.