diff --git a/src/adaptors/DOMStorageAdaptor.js b/src/adaptors/DOMStorageAdaptor.js index 3221ced2..65f56118 100644 --- a/src/adaptors/DOMStorageAdaptor.js +++ b/src/adaptors/DOMStorageAdaptor.js @@ -69,10 +69,10 @@ DOMStorageAdaptor.prototype = { var results = []; for (var i = 0, l = this.storage.length; i < l; ++i) { var id = this.storage.key(i); - var obj = this.deserialize(this.storage.getItem(id)); - var tbl = id.split('::')[0]; - var key = id.split('::')[1]; + var tbl = id.split('::')[0] + var key = id.split('::').slice(1).join("::"); if (tbl == this.table) { + var obj = this.deserialize(this.storage.getItem(id)); obj.key = key; results.push(obj); } diff --git a/src/adaptors/WebkitSQLiteAdaptor.js b/src/adaptors/WebkitSQLiteAdaptor.js index d6cdfaa0..6575fbd7 100644 --- a/src/adaptors/WebkitSQLiteAdaptor.js +++ b/src/adaptors/WebkitSQLiteAdaptor.js @@ -27,8 +27,12 @@ WebkitSQLiteAdaptor.prototype = { this.db = merge(null, opts.db ); // default sqlite callbacks - this.onError = function(){}; // merge(function(t,e){console.log(e.message)}, options.onError); - this.onData = function(){}; // merge(function(r){console.log(r)}, options.onData); + this.onError = function(){}; + this.onData = function(){}; + + if("onError" in opts) { + this.onError = opts.onError; + } // error out on shit browsers if (!window.openDatabase) @@ -40,7 +44,9 @@ WebkitSQLiteAdaptor.prototype = { // create a default database and table if one does not exist this.db.transaction(function(tx) { tx.executeSql("SELECT COUNT(*) FROM " + that.table, [], function(){}, function(tx, error) { - tx.executeSql("CREATE TABLE "+ that.table + " (id NVARCHAR(32) UNIQUE PRIMARY KEY, value TEXT, timestamp REAL)", [], function(){}, that.onError); + that.db.transaction(function(tx) { + tx.executeSql("CREATE TABLE "+ that.table + " (id NVARCHAR(32) UNIQUE PRIMARY KEY, value TEXT, timestamp REAL)", [], function(){}, that.onError); + }); }); }); },