You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
To make the logic contained in the core extension easy to use for our higher-level SDKs, all methods are supposed to be called through SQL functions on a SQLite database. So the idea is that you'd build the PowerSync core extension (either as a loadable shared library or statically with your application) and then either use sqlite_load_extension (for shared libraries) or powersync_init_static (for static libraries).
After loading the extension, you can start a sync operation through e.g. the powersync_operations vtab registered on open databases. This is possible with Rust or C/C++ applications too (and you wouldn't even have to use APIs from this repository, every generic SQLite library for those languages would work). That said, there is lot of additional logic implemented in our SDKs, such as:
Calling powersync_initialize() to setup the schema.
Connecting to the PowerSync service and handling sync lines (we're working on changes to move more logic related to this away from SDKs and into the core extension).
Watching the ps_crud table for pending uploads and forwarding them to a backend connector.
So, while it's possible to use PowerSync directly from a native application, we don't have a full SDK for that to help fill the gaps. I don't think we currently have plans for that either, but you're welcome to suggest that for our roadmap. If you're interested in using PowerSync without a full SDK, we can also provide some pointers on which functions to call / what to do.
I would like to know if this repo is suitable for usage directly from a Rust or C/C++ application?
The text was updated successfully, but these errors were encountered: