Interface mozIStorageAsyncStatementType

An asynchronous SQL statement. This differs from mozIStorageStatement by only being usable for asynchronous execution. (mozIStorageStatement can be used for both synchronous and asynchronous purposes.) This specialization for asynchronous operation allows us to avoid needing to acquire synchronization primitives also used by the asynchronous execution thread. In contrast, mozIStorageStatement may need to acquire the primitives and consequently can cause the main thread to lock for extended intervals while the asynchronous thread performs some long-running operation.

Hierarchy

Properties

state: number

Find out whether the statement is usable (has not been finalized).

Methods

  • Increases the reference count for this interface. The associated instance will not be deleted unless the reference count is returned to zero.

    Returns

    The resulting reference count.

    Returns number

  • Parameters

    • aIID: object
    • Optional aInstancePtr: object

    Returns any

  • A run time mechanism for interface discovery.

    Returns

    NS_OK if the interface is supported by the associated instance, NS_NOINTERFACE if it is not.

    aInstancePtr must not be null.

    Parameters

    • aIID: object

      [in] A requested interface IID

    • aInstancePtr: object

      [out] A pointer to an interface pointer to receive the result.

    Returns void

  • Decreases the reference count for this interface. Generally, if the reference count returns to zero, the associated instance is deleted.

    Returns

    The resulting reference count.

    Returns number

  • Binds aValue to the parameter with the index aIndex.

    Parameters

    • aIndex: number

      The zero-based index of the parameter to bind aValue to.

    • aValue: nsIVariant

      The value to bind.

    Returns void

  • Binds aValue to the parameter with the name aName.

    Parameters

    • aName: string

      The name of the parameter to bind aValue to.

    • aValue: nsIVariant

      The value to bind.

    Returns void

  • Binds the array of parameters to the statement. When executeAsync is called, all the parameters in aParameters are bound and then executed.

    Note

    This is only works on statements being used asynchronously.

    Parameters

    • aParameters: mozIStorageBindingParamsArray

      The array of parameters to bind to the statement upon execution.

    Returns void

  • Escape a string for SQL LIKE search.

    Note

    Consumers will have to use same escape char when doing statements such as: ...LIKE '?1' ESCAPE '/'...

    Returns

    an AString of an escaped version of aValue (%, _ and the escape char are escaped with the escape char) For example, we will convert "foo/bar_baz%20cheese" into "foo//bar/_baz/%20cheese" (if the escape char is '/').

    Parameters

    • aValue: string

      The string to escape for SQL LIKE.

    • aEscapeChar: string

      The escape character.

    Returns string

  • Execute a query asynchronously using any currently bound parameters. This statement 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.

    Returns

    an object that can be used to cancel the statements execution.

    Parameters

    • aCallback: mozIStorageStatementCallback

      [optional] The callback object that will be notified of progress, errors, and completion.

    Returns mozIStoragePendingStatement

  • Finalizes a statement so you can successfully close a database connection. Once a statement has been finalized it can no longer be used for any purpose.

    Statements are implicitly finalized when their reference counts hits zero. If you are a native (C++) caller this is accomplished by setting all of your nsCOMPtr instances to be NULL. If you are operating from JavaScript code then you cannot rely on this behavior because of the involvement of garbage collection.

    When finalizing an asynchronous statement you do not need to worry about whether the statement has actually been executed by the asynchronous thread; you just need to call finalize after your last call to executeAsync involving the statement. However, you do need to use asyncClose instead of close on the connection if any statements have been used asynchronously.

    Returns void

  • Creates a new mozIStorageBindingParamsArray that can be used to bind multiple sets of data to a statement with bindParameters.

    Returns

    a mozIStorageBindingParamsArray that multiple sets of parameters can be bound to.

    Note

    This is only useful for statements being used asynchronously.

    Returns mozIStorageBindingParamsArray

Generated using TypeDoc