Rogue Wave banner
Previous fileTop of DocumentContentsIndex pageNext file
DB Access Module for Oracle OCI User's Guide
Rogue Wave web site:  Home Page  |  Main Documentation Page

2.13 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 never a problem.

Results are created and data is exchaged beween the Oracle Server and the DB Interface Module using the OCI calls OCIStmtPrepare(), OCIDescribeAny(), OCIDefinebyPos(), OCIStmtExecute(), OCIStmtFetch2(), all executed through a reference counted OCIStmt*. The OCIStmt* is deallocated when references to it go to 0. The net effect is that all results not processed by an application are silently discarded; SourcePro DB applications need not care about the state of the data.

Results are requested from the Oracle Server several rows at a time. The number of rows requested is dependent on the OCI statement attribute OCI_ATTR_PREFETCH_ROWS. Please refer to Section 2.16.3, "Prefetch Rows Size," for setting the attribute via the RWDBOCISystemHandle::prefetchSize API. Requesting several rows at a time reduces the number of network messages between the application and the Oracle Server, and consequently increases the application's processing speed. Please refer to Oracle Call Interface documentation for more information on OCI_ATTR_PREFETCH_ROWS attribute.



Previous fileTop of DocumentContentsIndex pageNext file

© Copyright Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave and SourcePro are registered trademarks of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.
Contact Rogue Wave about documentation or support issues.