Update the vendored Realm parser to read pre-Cluster rows - #1295
Merged
Conversation
Takes crush-forensics fc280180. Realm stores in the pre-Cluster layout used before file format 10 now return their rows, not just their class names. The vendored parse_realm_file() re-implements the walk rather than calling RealmParser.parse(), so it needed the same dispatch by hand: pick the pre-Cluster walker on the active ref's format byte, resolve a streaming-form file's top ref from its footer, and unpack the (tables, reason) tuple both walkers now return. It surfaces the parser's own reason string and the pre-Cluster format byte. Realm - Undecoded Stores needed no logic change: a format 9 store now decodes, so the artifact stops reporting it, which is correct. Every Realm store in the seven registered corpora that hold one now decodes, so the artifact reports nothing on any of them. Its notes are rewritten to say that and five corpora are recorded as checked absences from real runs. Measured on 87 Realm files: no Cluster-layout file changed, 40 pre-Cluster files gained 80,372 rows. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.
Updates the vendored Realm parser to crush-forensics fc280180. Realm stores in the pre-Cluster layout used before file format 10 now return their rows, not just their class names.
parse_realm_file()re-implements the walk rather than callingRealmParser.parse(), so it needed the same dispatch by hand: the pre-Cluster walker chosen on the active ref's format byte, a streaming-form file's top ref resolved from its footer, and the(tables, reason)tuple both walkers now return unpacked. It surfaces the parser's reason string and the pre-Cluster format byte.Measured on 87 Realm files: no Cluster-layout file changed, 40 pre-Cluster files gained 80,372 rows. The vendored file stays byte-identical to the iLEAPP copy.
🤖 Generated with Claude Code