Asynchronous Calls in the DB Interface Module

In the DB Interface Module, the calls listed in Table 199 have been adapted to behave asynchronously when executed using an asynchronous connection. Note that the following list includes only the names of the supported functions without their full signatures. All the overloaded methods of the listed functions that take an RWDBConnection as one of their parameters can behave asynchronously.

Table 199. Potentially asynchronous functions in the DB Interface Module

Class

Functions

RWDBCompoundSelector

RWDBResult execute();
RWDBReader reader();

RWDBConnection

RWDBStatus beginTransaction();
RWDBStatus commitTransaction();
RWDBResult executeSQL();
RWDBStatus isolation();
RWDBStatus rollbackTransaction();

RWDBCursor

RWDBStatus deleteRow();
RWDBStatus fetchRow();
RWDBStatus insertRow();
RWDBStatus unbind();
RWDBStatus updateRow();

RWDBDatabase

RWDBStatus createProcedure();
RWDBStatus createTable();
RWDBStatus createView();
RWDBCursor cursor();
RWDBTable dbStoredProcedures();
RWDBTable dbTables();
RWDBStatus dropView();

RWDBDeleter

RWDBResult execute();

RWDBInserter

RWDBResult execute();

RWDBOSql

RWDBOSql& cancel();
void execute();
RWDBOSql& fetch();
RWDBOSql& fetchReturnParams();
RWDBValue returnValue();

RWDBReader

void* operator()();

RWDBResult

RWDBTable table();

RWDBSelector

RWDBCursor cursor();
RWDBResult execute();
RWDBReader reader();

RWDBStoredProc

RWDBStatus drop();
RWDBResult execute();
RWDBStatus fetchReturnParams();

RWDBTable

RWDBStatus addColumn();
RWDBStatus createIndex();
RWDBCursor cursor();
RWDBStatus drop();
RWDBStatus dropColumn();
RWDBStatus dropIndex();
RWDBStatus grant();
RWDBReader reader();
RWDBStatus revoke();

RWDBUpdater

RWDBResult execute();

Please note that although the table indicates all the possible asynchronous calls in the DB Interface Module, some DB Access Modules may not support asynchronous behavior for all these functions. This is because the corresponding database API may not include asynchronous support for some types of calls. For example, Oracle OCI doesn’t have asynchronous support for transaction calls such as commit, rollback, and begin. The DB Interface Module doesn’t attempt to simulate asynchronous behavior for any calls lacking direct native API support.

In this section: