Optional
aInstancePtr: objectA run time mechanism for interface discovery.
NS_OK if the interface is supported by the associated instance, NS_NOINTERFACE if it is not.
aInstancePtr must not be null.
[in] A requested interface IID
[out] A pointer to an interface pointer to receive the result.
Utilities
Copies the specified database file to the specified parent directory with the specified file name. If the parent directory is not specified, it places the backup in the same directory as the current file. This function ensures that the file being created is unique.
The nsIFile representing the backup file.
The database file that will be backed up.
The name of the new backup file to create.
Open an asynchronous connection to a database.
This method MUST be called from the main thread. The connection object returned by this function is not threadsafe. You MUST use it only from the main thread.
If you have more than one connection to a file, you MUST use the EXACT SAME NAME for the file each time, including case. The sqlite code uses a simple string compare to see if there is already a connection. Opening a connection to "Foo.sqlite" and "foo.sqlite" will CORRUPT YOUR DATABASE.
NS_ERROR_INVALID_ARG if |aDatabaseStore| is neither a file nor one of the special strings understood by this method, or if one of the options passed through |aOptions| does not have the right type.
NS_ERROR_NOT_SAME_THREAD if called from a thread other than the main thread.
Either a nsIFile representing the file that contains the database or a special string to open a special database. The special string may be:
A callback that will receive the result of the operation. In case of error, it may receive as status:
Open a connection to the specified file.
Consumers should check mozIStorageConnection::connectionReady to ensure that they can use the database. If this value is false, it is strongly recommended that the database be backed up with mozIStorageConnection::backupDB so user data is not lost.
If you have more than one connection to a file, you MUST use the EXACT SAME NAME for the file each time, including case. The sqlite code uses a simple string compare to see if there is already a connection. Opening a connection to "Foo.sqlite" and "foo.sqlite" will CORRUPT YOUR DATABASE.
The connection object returned by this function is not threadsafe. You must use it only from the thread you created it from.
a mozIStorageConnection for the requested database file.
NS_ERROR_OUT_OF_MEMORY If allocating a new storage object fails.
NS_ERROR_FILE_CORRUPTED If the database file is corrupted.
A nsIFile that represents the database that is to be opened.
See openDatabase(). Exactly the same only initialized with a file URL. Custom parameters can be passed to SQLite and VFS implementations through the query part of the URL.
Get a connection to a named special database storage.
openDatabase for restrictions on how database connections may be used. For the profile database, you should only access it from the main thread since other callers may also have connections.
a new mozIStorageConnection for the requested storage database.
NS_ERROR_INVALID_ARG if aStorageKey is invalid.
a string key identifying the type of storage requested. Valid values include: "memory".
an optional string identifying the name of the database. If omitted, a filename of ":memory:" will be used which results in a private in-memory database specific to this connection, making it impossible to clone the in-memory database. If you want to be able to clone the connection (or otherwise connect to the in-memory database from a connection), then you must pick a name that's sufficiently unique within the process to not collide with other mozStorage users.
Open a connection to the specified file that doesn't share a sqlite cache.
Without a shared-cache, each connection uses its own pages cache, which may be memory inefficient with a large number of connections, in such a case so you should use openDatabase instead. On the other side, if cache contention may be an issue, for instance when concurrency is important to ensure responsiveness, using unshared connections may be a performance win.
If you have more than one connection to a file, you MUST use the EXACT SAME NAME for the file each time, including case. The sqlite code uses a simple string compare to see if there is already a connection. Opening a connection to "Foo.sqlite" and "foo.sqlite" will CORRUPT YOUR DATABASE.
The connection object returned by this function is not threadsafe. You must use it only from the thread you created it from.
a mozIStorageConnection for the requested database file.
NS_ERROR_OUT_OF_MEMORY If allocating a new storage object fails.
NS_ERROR_FILE_CORRUPTED If the database file is corrupted.
A nsIFile that represents the database that is to be opened.
Generated using TypeDoc
The mozIStorageService interface is intended to be implemented by a service that can create storage connections (mozIStorageConnection) to either a well-known profile database or to a specific database file.
This is the only way to open a database connection.
Note
The first reference to mozIStorageService must be made on the main thread.