source: [view]
if(this.isValidKeyArray(keys) === false
|| ! values instanceof Array
|| keys.length != values.length){
throw new Error("Invalid arguments: keys = [" + keys + "], values = [" + values + "]");
}
if(namespace == null || typeof namespace == "undefined"){
namespace = this.DEFAULT_NAMESPACE;
}
if(this.isValidKey(namespace) == false){
throw new Error("Invalid namespace given: " + namespace);
}
this._statusHandler = resultsHandler;
// try to store the value
try{
this._beginTransaction();
for(var i=0;i this._sql("DELETE FROM " + this.TABLE_NAME + " WHERE namespace = :namespace AND key = :key",
{ ":namespace":namespace, ":key":keys[i] });
this._sql("INSERT INTO " + this.TABLE_NAME + " VALUES (:namespace, :key, :value)",
{ ":namespace":namespace, ":key":keys[i], ":value":values[i] });
}
this._commitTransaction();
}catch(e){
// indicate we failed
console.debug("dojox.storage.AirDBStorageProvider.putMultiple:", e);
if(resultsHandler){
resultsHandler(this.FAILED, keys, e.toString(), namespace);
}
return;
}
if(resultsHandler){
resultsHandler(this.SUCCESS, keys, null);
}