mozIStorageAsyncConnection represents an asynchronous database
connection attached to a specific file or to an in-memory data
storage. It is the primary interface for interacting with a
database from the main thread, including creating prepared
statements, executing SQL, and examining database errors.
Close this database connection, allowing all pending statements
to complete first.
@throws NS_ERROR_NOT_SAME_THREAD
If is called on a thread other than the one that opened it.
aCallback | [optional] A callback that will be notified when the close is completed, with the following arguments: - status: the status of the call - value: |null| |
Clone a database and make the clone read only if needed.
@throws NS_ERROR_NOT_SAME_THREAD
If is called on a thread other than the one that opened it.
@throws NS_ERROR_UNEXPECTED
If this connection is a memory database.
@note If your connection is already read-only, you will get a read-only
clone.
@note Due to a bug in SQLite, if you use the shared cache
(see mozIStorageService), you end up with the same privileges as the
first connection opened regardless of what is specified in aReadOnly.
@note The following pragmas are copied over to a read-only clone:
- cache_size
- temp_store
The following pragmas are copied over to a writeable clone:
- cache_size
- temp_store
- foreign_keys
- journal_size_limit
- synchronous
- wal_autocheckpoint
aReadOnly | If true, the returned database should be put into read-only mode. |
aCallback | A callback that will be notified when the operation is complete, with the following arguments: - status: the status of the operation - value: in case of success, an intance of mozIStorageAsyncConnection cloned from this one. |
Create an asynchronous statement for the given SQL. An
asynchronous statement can only be used to dispatch asynchronous
requests to the asynchronous execution thread and cannot be used
to take any synchronous actions on the database.
The expression may use ? to indicate sequential numbered arguments,
?1, ?2 etc. to indicate specific numbered arguments or :name and
$var to indicate named arguments.
aSQLStatement | The SQL statement to execute. |
a new mozIStorageAsyncStatement @note The statement is created lazily on first execution. |
Execute an array of statements created with this connection using
any currently bound parameters. When the array contains multiple
statements, the execution is wrapped in a single
transaction. These statements can be reused immediately, and
reset does not need to be called.
@note If you have any custom defined functions, they must be
re-entrant since they can be called on multiple threads.
aStatements | The array of statements to execute asynchronously, in the order they are given in the array. |
aNumStatements | The number of statements in aStatements. |
aCallback | [optional] The callback object that will be notified of progress, errors, and completion. |
an object that can be used to cancel the statements execution. |
Execute asynchronously an SQL expression, expecting no arguments.
aSQLStatement | The SQL statement to execute |
aCallback | [optional] The callback object that will be notified of progress, errors, and completion. |
an object that can be used to cancel the statement execution. |
Create a new SQL function. If you use your connection on multiple threads,
your function needs to be threadsafe, or it should only be called on one
thread.
aFunctionName | The name of function to create, as seen in SQL. |
aNumArguments | The number of arguments the function takes. Pass -1 for variable-argument functions. |
aFunction | The instance of mozIStorageFunction, which implements the function in question. |
Create a new SQL aggregate function. If you use your connection on
multiple threads, your function needs to be threadsafe, or it should only
be called on one thread.
aFunctionName | The name of aggregate function to create, as seen in SQL. |
aNumArguments | The number of arguments the function takes. Pass -1 for variable-argument functions. |
aFunction | The instance of mozIStorageAggreagteFunction, which implements the function in question. |
Delete custom SQL function (simple or aggregate one).
aFunctionName | The name of function to remove. |
Sets a progress handler. Only one handler can be registered at a time.
If you need more than one, you need to chain them yourself. This progress
handler should be threadsafe if you use this connection object on more than
one thread.
aGranularity | The number of SQL virtual machine steps between progress handler callbacks. |
aHandler | The instance of mozIStorageProgressHandler. |
previous registered handler. |
Remove a progress handler.
previous registered handler. |
The current database nsIFile. Null if the database
connection refers to an in-memory database.