DB Access Module for MySQL User’s Guide : Chapter 2 Technical Information : Result Sets
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 nor consider the state of the database connection. Data is exchanged between the MySQL library and the DB Interface Module via four MySQL calls: mysql_stmt_execute(), mysql_store_result(), mysql_stmt_bind_result(), and mysql_stmt_fetch(). 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 allows only one query per connection to be active at a time. Hence it is not possible to execute multiple operations simultaneously on a single connection or process their results simultaneously.
If a connection is used for another operation while the results of the previous operation are not completely processed, the results of the previous operation are silently discarded.