- From: Ian Hickson <ian@hixie.ch>
- Date: Thu, 1 Nov 2007 00:20:57 +0000 (UTC)
On Wed, 31 Oct 2007, Scott Hess wrote: > On Oct 26, 2007 3:51 PM, Ian Hickson <ian at hixie.ch> wrote: > > On Thu, 25 Oct 2007, Brady Eidson wrote: > > > > > > Step 9 of the transaction steps stipulates that if the transaction > > > fails to commit, the script will get an SQLTransactionErrorCallback > > > indicating this failure. However, there is no final callback > > > indicating *success* of the commit. > > I agree with Brady, in many cases it will be essential to know that the > transaction has completed successfully. On the other hand, the system > is starting to have sort of a lot of callbacks! But if it's going to be > async, that's sort of the penalty to be paid. Ok. Done. > One option would be to change SQLTransactionErrorCallback to > SQLTransactionCompletionCallback. Having a separate callback is > probably better if the success-handler always looks materially different > from the failure-handler, but I think it's possible that having a single > callback with an if() inside might be less confusing than two callbacks. I'm not sure that's really any better, and it has the problem that you can no longer use a single common error handler. > I think one could work around this within the current spec something > like: > > var success = true; > > db.transaction(function (t) { > t.executeSql('insert into x values (?)', [y]); > db.transaction(function (t) { > if (success) { > // This should be called after the outer transaction has completed. > } > } > }, function (e) { > success = false; > }); > > That's awful cumbersome, but if the need is seldom enough, it might be > reasonable. Actually that wouldn't work because nested transactions are completely independent of the initial one, so unless the transaction blocked the entire database, the nested one above would finish immediately. -- Ian Hickson U+1047E )\._.,--....,'``. fL http://ln.hixie.ch/ U+263A /, _.. \ _\ ;`._ ,. Things that are impossible just take longer. `._.-(,_..'--(,_..'`-.;.'
Received on Wednesday, 31 October 2007 17:20:57 UTC