only-cliches / Nano-SQL

Universal database layer for the client, server & mobile devices. It's like Lego for databases.
https://nanosql.io
MIT License
783 stars 49 forks source link

Nativescript Adapter issues #152

Open pedmindset opened 5 years ago

pedmindset commented 5 years ago

Is your feature request related to a problem? Please describe. Having troubles using the native-script adapter. The App doesn't start, on compilation, I get an error uninitialized variable in ios and android just crashes without finishing the build

Describe the solution you'd like Can there be a different storage adapter since the open source version of the sqlite plugin works on ui thread hence performance issues and i believe the crushes might be from there though not really sure

Describe alternatives you've considered A file Storage like loki.js or any other reasonable file storage system for javascript

Additional context Great plugin. Thanks for that..

only-cliches commented 5 years ago

loki.js is an in memory store only, as far as I know it doesn't support any persistence.

I feel like I can't test nativescript enough, every time I release a new version of the plugin folks are opening a new issue for it in no time.

I just made a new storage backend for nodejs, snap-db. Shouldn't take too much trouble to port it to nativescript, react native or even cordova to replace the SQLite plugins I'm using on all those platforms for nanoSQL. This will let us have performant database persistence without any native code. Should be far more robust.

pedmindset commented 5 years ago

Thanks for the quick response. I see snap-db is an in-house project is there an ETA for possible integration. Also if there is any help I can provide. Thanks

only-cliches commented 5 years ago

After doing some research Nativescript doesn't have any file append methods, doesn't have any filesystem streaming and also doesn't have position/length based file reading. It's surprising to me that they took the time to build a filesystem module and didn't include these features.

A majority of these features are needed for SnapDB to make sense, it seems the best you could do without building your own native modules is a simple JSON file store.

Putting together a new adapter with a simple JSON data storage would be very simple, should be doable within a week or so.