{"id":44618,"library":"cordova-sqlite-evcore-extbuild-free","title":"cordova-sqlite-evcore-extbuild-free","description":"Cordova/PhoneGap SQLite plugin (v0.19.1) based on HTML5 Web SQL API for Android, iOS, macOS, and Windows 10. Uses a custom Android NDK C-language SQLite library with performance improvements and reduced memory footprint. Licensed under GPL v3 or commercial. Known for multiple SQLite corruption issues and upcoming breaking changes (error codes become 0, location values 0-2 deprecated). Unlike MIT-licensed alternatives, this emphasizes enterprise-grade Android performance.","status":"active","version":"0.19.1","language":"javascript","source_language":"en","source_url":"https://github.com/storesafe/cordova-sqlite-evcore-extbuild-free","tags":["javascript","sqlite","ecosystem:cordova","cordova-android","cordova-ios","cordova-osx","cordova-windows"],"install":[{"cmd":"npm install cordova-sqlite-evcore-extbuild-free","lang":"bash","label":"npm"},{"cmd":"yarn add cordova-sqlite-evcore-extbuild-free","lang":"bash","label":"yarn"},{"cmd":"pnpm add cordova-sqlite-evcore-extbuild-free","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"In Cordova/browser environments, the plugin is attached to window; no import/require needed.","wrong":"var sqlitePlugin = require('cordova-sqlite-evcore-extbuild-free');","symbol":"sqlitePlugin","correct":"var sqlitePlugin = window.sqlitePlugin;"},{"note":"Cordova version does not support the HTML5 openDatabase signature; location option required.","wrong":"var db = openDatabase('test.db', '1.0', 'test', 5*1024*1024);","symbol":"openDatabase","correct":"var db = window.sqlitePlugin.openDatabase({name: 'test.db', location: 'default'});"},{"note":"Callback parameters are optional but often misused; res.rows.length and res.rows.item(i) for results.","wrong":"db.transaction(function(tx) { tx.executeSql('SELECT 1'); });","symbol":"SQLTransaction","correct":"db.transaction(function(tx) { tx.executeSql('SELECT 1', [], function(tx, res) {}); });"},{"note":"Rows access via .item() method, not array index; standard Web SQL behavior.","wrong":"tx.executeSql('SELECT 1', [], function(tx, res) { var item = res.rows[0]; });","symbol":"SqlResSet","correct":"tx.executeSql('SELECT ?', [1], function(tx, res) { var count = res.rows.length; var item = res.rows.item(0); });"}],"quickstart":{"code":"// Cordova plugin adds window.sqlitePlugin\nvar db = window.sqlitePlugin.openDatabase({\n  name: 'my.db',\n  location: 'default'\n});\ndb.transaction(function(tx) {\n  tx.executeSql('CREATE TABLE IF NOT EXISTS test (id integer primary key, val text)');\n  tx.executeSql('INSERT INTO test VALUES (?,?)', [1, 'hello']);\n  tx.executeSql('SELECT * FROM test', [], function(tx, res) {\n    console.log('Rows: ' + res.rows.length);\n    for (var i=0; i<res.rows.length; i++) {\n      console.log('Row ' + i + ': ' + JSON.stringify(res.rows.item(i)));\n    }\n  });\n}, function(err) {\n  console.error('Transaction error: ' + err.message);\n}, function() {\n  console.log('Transaction success');\n});","lang":"javascript","description":"Shows opening a database, creating table, inserting and selecting data using Web SQL API via Cordova plugin."},"warnings":[{"fix":"Do not rely on error code for logic; check error.message for details.","message":"In upcoming major release, error code will always be 0; actual SQLite3 error code will be in message.","severity":"breaking","affected_versions":"<1.0"},{"fix":"Replace openDatabase({location: 0}) with {location: 'default'}.","message":"Drop support for location: 0-2 numeric values; must use 'default' or iosDatabaseLocation.","severity":"breaking","affected_versions":"<1.0"},{"fix":"Ensure only one SQLite plugin is installed; avoid concurrent writes.","message":"Multiple SQLite corruption problem reported — see https://github.com/xpbrew/cordova-sqlite-storage/issues/626","severity":"gotcha","affected_versions":"*"},{"fix":"Avoid using androidDatabaseImplementation: 2 unless necessary; use default setting.","message":"androidDatabaseImplementation: 2 setting may throw an exception or misbehave.","severity":"gotcha","affected_versions":"*"},{"fix":"Use Windows 10 x86/x64 only; no ARM support.","message":"Windows 10 UWP desktop-only support; ARM CPU support removed.","severity":"deprecated","affected_versions":">=0.19.0"},{"fix":"Ensure compliance with GPL v3 or obtain commercial license from litehelpers.net.","message":"This plugin is GPL v3 licensed; commercial license required for proprietary apps.","severity":"gotcha","affected_versions":"*"}],"env_vars":null,"search_vec":"'-2':64 '0':60,63 '10':23 'altern':70 'android':18,27,76,84 'api':16 'base':11 'becom':59 'break':55 'c':30 'c-languag':29 'chang':56 'code':58 'commerci':46 'cordova':2,81,83,86,89,92 'cordova-android':82 'cordova-io':85 'cordova-osx':88 'cordova-sqlite-evcore-extbuild-fre':1 'cordova-window':91 'cordova/phonegap':7 'corrupt':51 'custom':26 'deprec':65 'ecosystem':80 'emphas':72 'enterpris':74 'enterprise-grad':73 'error':57 'evcor':4 'extbuild':5 'footprint':40 'free':6 'gpl':43 'grade':75 'html5':13 'improv':36 'io':19,87 'issu':52 'javascript':78 'known':47 'languag':31 'librari':33 'licens':41,69 'locat':61 'maco':20 'memori':39 'mit':68 'mit-licens':67 'multipl':49 'ndk':28 'osx':90 'perform':35,77 'plugin':9 'reduc':38 'sql':15 'sqlite':3,8,32,50,79 'unlik':66 'upcom':54 'use':24 'v0.19.1':10 'v3':44 'valu':62 'web':14 'window':22,93","created_at":"2026-06-07T12:51:01.326403+00:00","updated_at":"2026-06-07T12:51:01.326403+00:00","problems":[{"fix":"Install plugin: cordova plugin add cordova-sqlite-evcore-extbuild-free; wait for deviceready event before using.","cause":"Plugin not installed or not loaded before script runs.","error":"TypeError: Cannot read property 'openDatabase' of undefined"},{"fix":"Specify location: 'default' or other valid value.","cause":"Missing 'location' parameter in openDatabase call.","error":"SQLitePlugin.openDatabase: location setting is required"},{"fix":"Use res.rows.item(i) instead of res.rows[i].","cause":"Accessing results incorrectly using array index instead of .item() method.","error":"undefined is not an object (evaluating 'res.rows.item')"},{"fix":"Run 'cordova plugin add cordova-sqlite-evcore-extbuild-free' and rebuild.","cause":"Plugin not added or cordova plugin variable not set.","error":"sqlite plugin not found"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/storesafe/cordova-sqlite-evcore-extbuild-free","github":"https://github.com/storesafe/cordova-sqlite-evcore-extbuild-free","docs":null,"changelog":null,"pypi":null,"npm":"cordova-sqlite-evcore-extbuild-free","openapi_spec":null,"status_page":null,"smithery":null,"categories":["database"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-07","next_check":"2026-09-05","install_tag":null}}