Skip to content

feat(readers): add READ_JSON table function and error on unknown tabl… - #22

Merged
TimelordUK merged 1 commit into
mainfrom
feat/read-json-table-function
Jun 10, 2026
Merged

feat(readers): add READ_JSON table function and error on unknown tabl…#22
TimelordUK merged 1 commit into
mainfrom
feat/read-json-table-function

Conversation

@TimelordUK

Copy link
Copy Markdown
Owner

…e funcs

READ_JSON reads a whole JSON document — a JSON array of objects (including pretty-printed multi-line arrays) or newline-delimited JSON — and emits one row per object. Accepts a file path or '-' for stdin, sharing the cached-once stdin buffer with the other readers. This is the multi-line counterpart to READ_JSONL, which requires exactly one object per line and so failed on pretty-printed arrays like data/production_vwap.json.

The record->table builder is extracted from READ_JSONL into a shared json_records_to_table() helper so both functions produce identical, order-preserving, type-inferred output.

Also fix a silent fall-through in the FROM-clause parser: an unrecognised name(...) used to degrade to the DUAL placeholder (the bogus DUMMY/X row), masking typos. It now errors with a pointer to --list-functions.

Adds 7 unit tests for READ_JSON.

…e funcs

READ_JSON reads a whole JSON document — a JSON array of objects (including
pretty-printed multi-line arrays) or newline-delimited JSON — and emits one
row per object. Accepts a file path or '-' for stdin, sharing the cached-once
stdin buffer with the other readers. This is the multi-line counterpart to
READ_JSONL, which requires exactly one object per line and so failed on
pretty-printed arrays like data/production_vwap.json.

The record->table builder is extracted from READ_JSONL into a shared
json_records_to_table() helper so both functions produce identical,
order-preserving, type-inferred output.

Also fix a silent fall-through in the FROM-clause parser: an unrecognised
name(...) used to degrade to the DUAL placeholder (the bogus DUMMY/X row),
masking typos. It now errors with a pointer to --list-functions.

Adds 7 unit tests for READ_JSON.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@TimelordUK
TimelordUK merged commit adcee36 into main Jun 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant