I am building a project currently on icp to onboard web 2 developers easily to icp .
This project provides developers with an interface to choose the type of query language they are most familiar with and spawns a database canister that houses the database , this database canister can be interacted with the canister url
Sounds cool. Are there some query languages that you’ll be prioritising initially, and will you be aiming to implement the full feature set of a particular language, or just the main features? I can imagine the query engine being a lot of work!
I am presently implementing for sql , so I am using some sql parsers to parse the request strings into query structs which are then executed in a miniature implementation of SQLite
With SQLite running inside a canister?
A miniature implementation of SQLite running in a canister
Cool, I wonder if you’ll run into issues with the non-deterministic functions that SQLite implements. I can imagine this being harder than it sounds.
Eitherway, sounds like a useful project
Great idea. Curious what will be the connection protocol? Something like the pg protocol wouldn’t work well as ICP won’t support long-living connections. So just strings?
IMO, having a simplistic SQL engine that passes an (even small) number of SQL tests and that can be imported as a Rust module when building a canister would be a great first step.