lance-format / lance-format/lance
Nicer accessors for JSON
Open
Nobody has claimed this yet.
enhancement
- Dominant language
- Rust
- Stars
- 7.1k
- Forks
- 852
- Avg merge
- 3d 18h
- Merged PRs (30d)
- 272
Description
The current way to access a field in a JSON object is a bit awkward.
For an object like:
{ "metadata": {"tags": ["happy", "fun"] } }
You must do:
json_extract(meta, '$.kind.tags')
But it might be nice to be able to do something like:
cast(meta.kind.tags as LIST<STRING>)
This would go into the SQL parser.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the SQL parser entry points and reviewing how json_extract(meta, '$.kind.tags') is currently parsed. Clarify how dotted JSON access and the requested cast syntax should behave, then verify that the example expression is accepted and produces the intended nested-list value.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust, sql
- Domain
- compilers, databases
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100