}
}
}
- cl("idb: upgrade success! ("+ov+"->"+nv+")");
+ cl("idb: upgrade success! ("+ov+" -> "+nv+")");
},
onsuccess: function(event) {
idb.handle=event.target.result;
req.onerror=idb.onerror;
req.onblocked=idb.onblocked;
},
- add_store_item: function(store,item,callback) {
- var tx=idb.handle.transaction(store,'readwrite');
- var store=tx.objectStore(store);
+ del_store: function(sname,callback) {
+ var tx=db.handle.transaction(sname,'readwrite');
+ var store=tx.objectStore(sname);
+ var req=store.clear();
+ req.onsuccess=function() {
+ cl("db: store "+store.name+" deleted");
+ callback();
+ };
+ },
+ add_store_item: function(sname,item,callback) {
+ var tx=idb.handle.transaction(sname,'readwrite');
+ var store=tx.objectStore(sname);
var req=store.add(item);
req.onsuccess=function(event) {
callback(event);
cl("idb: add item error, "+error);
};
},
- del_store: function(store,callback) {
- var tx=db.handle.transaction(store,'readwrite');
- var store=tx.objectStore(store);
- var req=store.clear();
- req.onsuccess=function() {
- cl("db: store "+store.name+" deleted");
- callback();
- };
- },
- del_store_item: function(store,num,callback) {
- var tx=db.handle.transaction(store,'readwrite');
- var store=tx.objectStore(store);
+ del_store_item: function(sname,num,callback) {
+ var tx=db.handle.transaction(sname,'readwrite');
+ var store=tx.objectStore(sname);
var kr=IDBKeyRange.bound(num,num,false,false);
var req=store.openCursor(kr);
};
},
- update_store_item: function(store,num,nitem,callback) {
- var tx=idb.handle.transaction(store,'readwrite');
- var store=tx.objectStore(store);
+ update_store_item: function(sname,num,nitem,callback) {
+ var tx=idb.handle.transaction(sname,'readwrite');
+ var store=tx.objectStore(sname);
var kr=IDBKeyRange.bound(num,num,false,false);
var req=store.openCursor(kr);
};
},
- get_store_items: function(store,callback,low,up) {
+ get_store_items: function(sname,callback,low,up) {
// if low and up are undefined, all items are considered
var kr;
var last=false;
kr=IDBKeyRange.upperBound(up,true);
}
- var tx=idb.handle.transaction(store,'readonly');
- var store=tx.objectStore(store);
+ var tx=idb.handle.transaction(sname,'readonly');
+ var store=tx.objectStore(sname);
var obj={};
obj.cnt_objs=0;
}
};
},
- get_item_by_key: function(store,key,callback) {
- var tx=idb.handle.transaction(store,'readonly')
- var store=tx.objectStore(store);
+ get_item_by_key: function(sname,key,callback) {
+ var tx=idb.handle.transaction(sname,'readonly')
+ var store=tx.objectStore(sname);
var req=store.get(key);
req.onerror=function(event) {
cl("idb: get key error - "+event.target.errorCode);
}
}
},
- get_item_by_index: function(store,index,val,callback) {
- var tx=db.handle.transaction(store,'readonly')
- var store=tx.objectStore(store);
+ get_item_by_index: function(sname,index,val,callback) {
+ var tx=db.handle.transaction(sname,'readonly')
+ var store=tx.objectStore(sname);
var idx=store.index(index);
var req=idx.get(val);
req.onerror=function(event) {
}
}
},
- del_item_by_key: function(store,key,callback) {
- var tx=idb.handle.transaction(store,'readwrite');
- var store=tx.objectStore(store);
+ del_item_by_key: function(sname,key,callback) {
+ var tx=idb.handle.transaction(sname,'readwrite');
+ var store=tx.objectStore(sname);
var kr=IDBKeyRange.bound(key,key,false,false);
var req=store.openCursor(kr);
};
},
- del: function() {
+ del: function(callback) {
var req=indexedDB.deleteDatabase(idb.name);
req.onsuccess=function() {
cl("idb: deleted database '"+idb.name+"'");
+ callback();
};
req.onblocked=function() {
cl("idb: database delete blocked");