Result Sets
In the DB Interface Module paradigm, all results are tables. Class
RWDBTable encapsulates a single result set, class
RWDBResult encapsulates a sequence of 0 or more tables, and class
RWDBReader provides the mechanism for reading a table. Consequently, handling multiple result sets is not a problem.
In the DB Interface Module, the
execute() method of each DML class returns an
RWDBResult object. Applications that are concerned with results returned by an
INSERT, for example, can maintain portability between databases by checking the
RWDBResult returned by
RWDBInserter::execute().
Any data not processed by an application is silently discarded. The DB Interface Module applications need not explicitly discard results; they need not consider the state of the database connection. Data is exchanged between the MySQL library and the DB Interface Module via three MySQL calls: mysql_real_query(), mysql_store_result(), and mysql_fetch_row(). The statements associated with these calls are explicitly closed by the Access Module.
Simultaneous Processing of Results from Multiple Statements Using the Same Connection
The DB Access Module for MySQL uses the MySQL call mysql_store_result() to fetch results of a query execution, fetching the entire result to the client. Hence it is possible to execute multiple operations on a single connection and process their results simultaneously