This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
Issues: IDBatabaseSync.setVersion assumes that the scope of the transaction it is working on is the code that follows the API. The current approach introduces the possibility of deadlocks. In addition, there is no way to specify the timeout of the SET_VERSION transaction. Solution: Modify the existing setVersion API to include an IDBTransactionCallback parameter together with a timeout value parameter. IDBTransactionSync setVersion ([TreatNullAs=EmptyString] in DOMString version, in IDBTransactionCallback callback, in optional unsigned long timeout); Parameter #2: * callback Description * Defines the method in which a VERSION_CHANGE transaction will be valid. Parameter #3: * timeout Description * Defines a transaction timeout value in milliseconds that will limit the lifetime of the VERSION_CHANGE transaction. If the parameter is not provide, the timeout value will be infinite.
Need to add new exceptions for the setVersion and transction methods on IDBatabaseSync interface: New setVersion Exception: * The setVersion method needs to throw IDBDatabaseException with a NOT_ALLOWED_ERR description when the setVersion method is called within the IDBTransactionCallback of a transaction method. New transaction Exception: * The transaction method needs throw IDBDatabaseException with a NOT_ALLOWED_ERR description when the transaction method is called within the IDBTransactionCallback of a setVersion method.
The changes described above have been added to the speclets. They will be published at the next update to the Editor's Draft. Thanks for the precise descriptions in the bug. Eliot