-
Notifications
You must be signed in to change notification settings - Fork 75
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
I have written a couple packages for SQLite3MultipleCiphers that work cross platform. #136
Comments
Thanks for your work on those packages. I think I can help maintain them, but I don't have the capacity to update three more packages. I don't fully understand why these need to be updated with every change in drift and sqlite3.dart. Is it not ABI compatible with sqlite3? If so, don't we just need For SQLCipher, our recommendation in drift is to manually issue the pragma for encryption. Is there a similar mechanism in sqlite3mc? |
You are right, What I actually meant by keeping up to date with changes is the sqlite3mc_drift_database package, I tried to adapt your current solution for the browser, it should have been straightforward but I never could get it to work reliably with the VFS in SQLite3MultipleCiiphers, I ended up rewriting that using the same atomics / SharedArrayBuffer techniques as absurdSQL for the file system calls, this isn't the first sqlite3 to idb shim I've written so I have some experience and this technique has been the most solid implementation I've worked with, I wouldn't like to regress it. I think you are right about working towards restructuring drift to make it easier to add alternate sqlite3 forks. It isn't so much that I have to actually do anything every time a change is made upstream, its that I have to check to make sure I don't need to do anything. I rely on bindings and things like the function_store functions that could be changed, and some needed interfaces are marked internal and not exported, or experimental so I like to make sure none of that has changed since it isn't guaranteed by semver. I don't mind cleaning up and publishing things myself, I just want to make sure I'm not causing users any issues by relying on something that I know wasn't public api. Examples of some of the internals I have needed.
|
Hi,
I have written a set of packages that can be used to load SQLite3MultipleCiphers similar to the the sqlcipher_flutter_libs package, along with a drift compatible database package. These work on all platforms including the browser.
I am probably not the right person to maintain these, as they must be updated on every change made here and on Drift. I wanted to reach out and see if you would be open to inclusion here for the sqlite3mc_flutter_lib package and in Drift for the drift specific database packages.
You can find it at https://github.com/thinkassembly/sqlite3mc.dart . I have put off publishing and housekeeping around docs until I find a home for it.
The text was updated successfully, but these errors were encountered: