Giter VIP home page Giter VIP logo

cordova-plugin-sqlite-evplus-ext-common-free's People

Contributors

aarononeal avatar brodybits avatar craig-at-rsg avatar davibe avatar dwinterbourne avatar ef4 avatar gillardo avatar gulian avatar j3k0 avatar joenoon avatar kakysha avatar lcsanchez avatar marcucio avatar matrosov-nikita avatar mineshaftgap avatar nadyaa avatar nleclerc avatar nolanlawson avatar nourshamrok avatar ollide avatar omjokine avatar rafaelbeckel avatar rahmadid avatar ste4net avatar steipete avatar steveoh avatar taybin avatar vjrantal avatar vldmrrr avatar vojto avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

cordova-plugin-sqlite-evplus-ext-common-free's Issues

Flexible database location on Android

This is actually wanted by a client organization along with the extra-large result support with SQLCipher (#6).

This functionality is already part of cordova-sqlite-evcore-extbuild-free and should be straightforward to merge this or another evplus plugin version.

Cannot open database with target SDK 30 on some Android 11 devices

Similar to:

Reproduced on Pixel 5 (via BrowserStack)

This issue does not appear with target SDK 30 on Android 11 emulator.

P.S. I am planning to resolve storesafe/cordova-sqlite-evcore-extbuild-free#56 on cordova-sqlite-evcore-extbuild-free before resolving this issue on the evplus plugin version. The solution should be almost the same for both evcore and evplus.

Unicode 2028 (line separator) & 2029 (paragraph separator) issue for Android/iOS/macOS

Originally reported in storesafe/cordova-sqlite-storage#147. This issue is due to Cordova issue reported for iOS in Apache Cordova CB-9435, for Android in apache/cordova-discuss#57. This issue was solved for iOS/macOS with a workaround solution in https://github.com/litehelpers/cordova-sqlite-evplus-ext-legacy-build-free and https://github.com/litehelpers/Cordova-sqlite-evplus-legacy-attach-detach-free.

I am tentatively planning to include the workaround solution for iOS/macOS along with a possible workaround solution for Android in this plugin version.

Unicode characters on Android x86

My app is using Crosswalk plugin, which compiles separate APKs for different architectures. I've tested my app on Android ARM v7 device and it is working as expected, but the same app compiled for x86 device displays HEX codes instead of Unicode characters, e.g. ?ffffffc5??ffffffa1? instead of š. I have been testing different versions of your SQLite plugins with Android NDK implementation, but it is the same.

It was working alright with cordova-sqlite-storage plugin.

SQLite 3.35.5 update

Highly desired considering that the evcore plugin version already has this update.

This may be done while resolving issue #9 (issue with target SDK 30 & some Android 11 devices).

SQLite 3.36.0 update [...] re: "ALTER TABLE DROP COLUMN may corrupt data"

updated:

SQLite 3.3.6.0 should resolve this potential corruption issue, according to this: https://sqlite.org/forum/forumpost/ac6086ecde66f1c4?t=h

corresponding to: storesafe/cordova-sqlite-evcore-extbuild-free#59

P.S. It now looks to me like they did fix this for SQLite 3.35.5 as well, I have added another comment to the SQLite forum thread.


I discovered this ticket today: https://www.sqlite.org/src/tktview?name=c88f3036a2

While I think it is not likely to affect too many users, I would very strongly favor anything we can do to avoid the data corruption risks.

I can think of 2 possible mitigations, which would be breaking changes:

  • roll back to an older version of SQLite such as 3.34.1 ... which may leave out some bug fixes as well
  • disable DROP COLUMN in the SQLite amalgamation ... perhaps using something like #if 0 or #ifdef

some references:

0.4.1-rc01

It is safe to use version 0.4.1-rc01 in production?

support extra-large result sets with SQLCipher

This plugin version does have a workaround to avoid a memory issue with extra-large result sets on Android, as already discussed in storesafe/cordova-sqlite-storage-help#70, and I have an organization who is interested in using a similar solution together with SQLCipher. They would like to start testing this kind of a solution within the next 1-2 weeks if possible.

The challenge is that the existing workaround solution was designed to work with the evplus NDK build and not with the standard android.database API which is supported by sqlcipher/android-database-sqlcipher.

The organization's timelines would preclude making a new evplus NDK build with SQLCIpher. A new evplus NDK build with SQLCipher would need to include a build of OpenSSL as well, like they made in sqlcipher/android-database-sqlcipher.

This means that we would need an evplus enhancement with a similar memory workaround solution working with the android.database API, as generally configured by the androidDatabaseProvider: 'system' setting.

I would very likely make this kind of enhancement on this plugin version and then use it to make the new evplus plugin for SQLCipher.


P.S. I am raising this issue due to the urgency for the organization. I have already started working on a new SQLite plugin design, as discussed in brodybits/ask-me-anything#3, which would much rather support in the long run.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.