-
Notifications
You must be signed in to change notification settings - Fork 354
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] JSONB support #710
base: main
Are you sure you want to change the base?
[WIP] JSONB support #710
Conversation
hey! i'd be interested in helping out with this, if thats okay with you. FWIW, i was also looking into JSONB support, so i'd like to think i could help out. do you have a strong idea of how this would be broken down? anything you'd be interested in delegating? |
@seridescent I see a few possible ways of splitting this up:
What would you rather do? I'm in the phase of exploration right now, so I'm not yet sure what I'm doing 😂 I believe an important part of this task would be to understand how we want to pass the JSONB value around. SQLite has a JsonParse struct which is used internally by the JSON functions. I'm not yet sure how SQLite converts it to sqlite3_value later on (that would be equivalent of converting to OwnedValue in Limbo). We'd use |
We might also want to write an extensive Python test that:
|
i don't have a preference right now. interested in helping but i haven't contributed to limbo yet, so you probably have a better idea of how collaborating might work than i do. re: JSONB IR -> sqlite3_value
ah yeah, that makes a lot of sense. i wrote some preliminary thoughts in the other PR (sorry to split discussion threads) wrt usable vs. performant internal representations, but best to discuss with others as well. |
Yeah, this one! For sqlite3_result_subtype(ctx, JSON_SUBTYPE); If it doesn't do anything special for blobs, I'm wondering how it optimizes chained json function calls, eg.
Replied there 👍
I'd say feel free to do whatever interests you most :) I'm on Limbo's Discord so we can chat there :) |
3bb338e
to
478ae1b
Compare
This PR adds a very basic JSONB support:
I'd like to get it merged to the main branch so we can let more people contribute towards JSONB.
My suggestion towards JSON/JSONB support is that we first make it work and then make it performant.
Refs: