IDBDatabaseSync

Draft
This page is not complete.

Important: The synchronous version of the IndexedDB API was originally intended for use only with Web Workers, and was eventually removed from the spec because its need was questionable. It may however be reintroduced in the future if there is enough demand from web developers.

The DatabaseSync interface in the IndexedDB API represents a synchronous connection to a database.

Method overview

IDBObjectStoreSync createObjectStore (in DOMString name, in DOMString keypath, in optional boolean autoIncrement) raises (IDBDatabaseException);
IDBObjectStoreSync openObjectStore (in DOMString name, in optional unsigned short mode) raises (IDBDatabaseException);
void removeObjectStore (in DOMString storeName) raises (IDBDatabaseException);
void setVersion (in DOMString version);
IDBTransactionSync transaction (in optional DOMStringList storeNames, in optional unsigned int timeout) raises (IDBDatabaseException);

Attributes

Attribute Type Description
description readonly DOMString The human-readable description of the connected database.
name readonly DOMString The name of the connected database.
objectStores readonly DOMStringList The names of the object stores that exist in the connected database.
version readonly DOMString The version of the connected database. Has the null value when the database is first created.

Methods

createObjectStore()

Creates and returns a new object store with the given name in the connected database.

 IDBObjectStoreSync createObjectStore(   
  in DOMString name,   
  in DOMString keypath,   
  in optional boolean autoIncrement 
) raises  (IDBDatabaseException);
Parameters
name
The name of a new object store.
keypath
The key path used by the new object store. If a null path is specified, then the object store does not have a key path, and uses out-of-line keys.
autoIncrement
If true, the object store uses a key generator; if false, it does not use one.
Returns
IDBObjectStoreSync
An object to access the newly created object store.
Exceptions

This method can raise an IDBDatabaseException with the following code:

CONSTRAINT_ERR
If an object store with the same name (based on case-sensitive comparison) already exists in the connected database.

openObjectStore()

Opens the object store with the given name in the connected database using the specified mode.

IDBObjectStoreSync openObjectStore (
  in DOMString name, 
  in optional unsigned short mode
) raises (IDBDatabaseException);
Parameters
name
The name of the object store to open.
mode
The mode that is used to access the object store.
Returns
IDBObjectStoreSync
An object to access the opened object store.
Exceptions

This method can raise an IDBDatabaseException with the following code:

NOT_FOUND_ERR
If an object store with the given name (based on case-sensitive comparison) already exists in the connected database.

removeObjectStore()

Destroys an object store with the given name, as well as all indexes that reference that object store.

void removeObjectStore (
  in DOMString storeName
) raises (IDBDatabaseException);
Parameters
storeName
The name of an existing object store to remove.
Returns

void

Exceptions

This method can raise an IDBDatabaseException with the following code:

NOT_FOUND_ERR
If the object store with the given name (based on case-sensitive comparison) does not exist in the connected database.

setVersion()

Sets the version of the connected database.

void setVersion (
  in DOMString version
);
Parameters
Returns

void

version
The version to store in the database.

transaction()

Creates and returns a transaction, acquiring locks on the given database objects, within the specified timeout duration, if possible.

IDBTransactionSync transaction (
  in optional DOMStringList storeNames,
  in optional unsigned int timeout
) raises (IDBDatabaseException);
Parameters
storeNames
The names of object stores and indexes in the scope of the new transaction.
timeout
The interval that this operation is allowed to take to acquire locks on all the objects stores and indexes identified in storeNames.
Returns
IDBTransactionSync
An object to access the newly created transaction.
Exceptions

This method can raise an IDBDatabaseException with the following code:

TIMEOUT_ERR
If reserving all the database objects identified in storeNames takes longer than the timeout interval.

Document Tags and Contributors

Contributors to this page: chrisdavidmills, fscholz, teoli, pdm, amaneight, jswisher
Last updated by: chrisdavidmills,