Repository navigation
Restore JSON row inputs and missing fields after empty rows - #26
Merged
Merged
Conversation
Keep JSON object-array dispatch more specific than the validation fallback, while accepting vectors with concrete JSON object element types. Distinguish the first row by position so initial empty objects do not make later columns incorrectly non-nullable. Preserve invalid-array errors, bytes/IO inputs and read options. Cover the public table schema and both conversion paths; use supported CI caching/coverage actions with the original four jobs retained. AI disclosure: This work was prepared with assistance from OpenAI Codex.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #26 +/- ##
==========================================
+ Coverage 91.57% 93.61% +2.03%
==========================================
Files 1 1
Lines 95 94 -1
==========================================
+ Hits 87 88 +1
+ Misses 8 6 -2 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
This was referenced Oct 4, 2026
Co-Authored-By: Claude Opus 5.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.
Current main rejects valid JSON arrays of objects, including string, byte and IO inputs. The broader object-vector method loses dispatch to the existing JSON-array validation fallback. Add a specific object-array bridge and allow vectors/views with concrete JSON object element types, following the direction proposed in #23. Invalid scalar/mixed arrays keep their existing ArgumentError behavior.
Initial empty objects also make later fields incorrectly non-nullable: initialization tests whether the column names are empty, which can remain true after several real rows. Track the first row by position so converting later fields to columns or named tuples retains the missing entries. The late-field behavior fixed in #21 is preserved.
Validation:
git diff --checkpasses.351e260323ee24d1b1e78d496c12fe2118b6c8c8: all four native jobs in run 37185043707, plus both Codecov checks. All four coverage sessions were accepted at the correct repository/commit destination; the stable Linux job uploaded 865 bytes and the final report is 93.61%. Independent private source/regression review found no blockers. Merge remains held for the repository’s required independent approval.Related to #20 and #23.
Co-authored by Codex
AI disclosure: This work was prepared with assistance from OpenAI Codex.