<!--$Id: dbt_bulk.so,v 10.14 2007/01/31 14:45:22 bostic Exp $--> <!--Copyright (c) 1997,2007 Oracle. All rights reserved.--> <!--See the file LICENSE for redistribution information.--> <html> <head> <title>Berkeley DB: DBT</title> <meta name="description" content="Berkeley DB: An embedded database programmatic toolkit."> <meta name="keywords" content="embedded,database,programmatic,toolkit,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,Java,C,C++"> </head> <body bgcolor=white> <table width="100%"><tr valign=top> <td> <h3>DBT: Bulk Retrieval</h3> </td> <td align=right> <a href="../../db46-devel-4.6.21/api_c/api_core.html"><img src="../../db46-devel-4.6.21/images/api.gif" alt="API"></a> <a href="../../db46-devel-4.6.21/ref/toc.html"><img src="../../db46-devel-4.6.21/images/ref.gif" alt="Ref"></a></td> </tr></table> <hr size=1 noshade> <tt> <a name="2"><!--meow--></a> <p>If either of the <a href="../../db46-devel-4.6.21/api_c/dbc_get.html#DB_MULTIPLE">DB_MULTIPLE</a> or <a href="../../db46-devel-4.6.21/api_c/dbc_get.html#DB_MULTIPLE_KEY">DB_MULTIPLE_KEY</a> flags were specified to the <a href="../../db46-devel-4.6.21/api_c/db_get.html">DB->get</a> or <a href="../../db46-devel-4.6.21/api_c/dbc_get.html">DBcursor->get</a> methods, the data <a href="../../db46-devel-4.6.21/api_c/dbt_class.html">DBT</a> returned by those interfaces will refer to a buffer that is filled with data. Access to that data is through the following macros:</p> <dl compact> <dt><a name="DB_MULTIPLE_INIT">DB_MULTIPLE_INIT</a><dd><pre>DB_MULTIPLE_INIT(void *pointer, <a href="../../db46-devel-4.6.21/api_c/dbt_class.html">DBT</a> *data);</pre> <p>Initialize the retrieval. The <b>pointer</b> parameter is a variable to be initialized. The <b>data</b> parameter is a <a href="../../db46-devel-4.6.21/api_c/dbt_class.html">DBT</a> structure returned from a successful call to <a href="../../db46-devel-4.6.21/api_c/db_get.html">DB->get</a> or <a href="../../db46-devel-4.6.21/api_c/dbc_get.html">DBcursor->get</a> for which one of the <a href="../../db46-devel-4.6.21/api_c/dbc_get.html#DB_MULTIPLE">DB_MULTIPLE</a> or <a href="../../db46-devel-4.6.21/api_c/dbc_get.html#DB_MULTIPLE_KEY">DB_MULTIPLE_KEY</a> flags was specified.</p> <dt><a name="DB_MULTIPLE_NEXT">DB_MULTIPLE_NEXT</a><dd><pre>DB_MULTIPLE_NEXT(void *pointer, <a href="../../db46-devel-4.6.21/api_c/dbt_class.html">DBT</a> *data, void *retdata, size_t retdlen);</pre> <p>The <b>data</b> parameter is a <a href="../../db46-devel-4.6.21/api_c/dbt_class.html">DBT</a> structure returned from a successful call to <a href="../../db46-devel-4.6.21/api_c/db_get.html">DB->get</a> or <a href="../../db46-devel-4.6.21/api_c/dbc_get.html">DBcursor->get</a> for which the <a href="../../db46-devel-4.6.21/api_c/dbc_get.html#DB_MULTIPLE">DB_MULTIPLE</a> flag was specified. The <b>pointer</b> and <b>data</b> parameters must have been previously initialized by a call to DB_MULTIPLE_INIT. The <b>retdata</b> parameter is set to refer to the next data element in the returned set, and the <b>retdlen</b> parameter is set to the length, in bytes, of that data element. When used with the Queue and Recno access methods, <b>retdata</b> will be set to NULL for deleted records. The <b>pointer</b> parameter is set to NULL if there are no more data elements in the returned set.</p> <dt><a name="DB_MULTIPLE_KEY_NEXT">DB_MULTIPLE_KEY_NEXT</a><dd><pre>DB_MULTIPLE_KEY_NEXT(void *pointer, <a href="../../db46-devel-4.6.21/api_c/dbt_class.html">DBT</a> *data, void *retkey, size_t retklen, void *retdata, size_t retdlen);</pre> <p>The <b>data</b> parameter is a <a href="../../db46-devel-4.6.21/api_c/dbt_class.html">DBT</a> structure returned from a successful call to <a href="../../db46-devel-4.6.21/api_c/dbc_get.html">DBcursor->get</a> with the Btree or Hash access methods for which the <a href="../../db46-devel-4.6.21/api_c/dbc_get.html#DB_MULTIPLE_KEY">DB_MULTIPLE_KEY</a> flag was specified. The <b>pointer</b> and <b>data</b> parameters must have been previously initialized by a call to DB_MULTIPLE_INIT. The <b>retkey</b> parameter is set to refer to the next key element in the returned set, and the <b>retklen</b> parameter is set to the length, in bytes, of that key element. The <b>retdata</b> parameter is set to refer to the next data element in the returned set, and the <b>retdlen</b> parameter is set to the length, in bytes, of that data element. The <b>pointer</b> parameter is set to NULL if there are no more key/data pairs in the returned set.</p> <dt><a name="DB_MULTIPLE_RECNO_NEXT">DB_MULTIPLE_RECNO_NEXT</a><dd><pre>DB_MULTIPLE_RECNO_NEXT(void *pointer, <a href="../../db46-devel-4.6.21/api_c/dbt_class.html">DBT</a> *data, db_recno_t recno, void * retdata, size_t retdlen);</pre> <p>The <b>data</b> parameter is a <a href="../../db46-devel-4.6.21/api_c/dbt_class.html">DBT</a> structure returned from a successful call to <a href="../../db46-devel-4.6.21/api_c/dbc_get.html">DBcursor->get</a> with the Queue or Recno access methods for which the <a href="../../db46-devel-4.6.21/api_c/dbc_get.html#DB_MULTIPLE_KEY">DB_MULTIPLE_KEY</a> flag was specified. The <b>pointer</b> and <b>data</b> parameters must have been previously initialized by a call to DB_MULTIPLE_INIT. The <b>recno</b> parameter is set to the record number of the next record in the returned set. The <b>retdata</b> parameter is set to refer to the next data element in the returned set, and the <b>retdlen</b> parameter is set to the length, in bytes, of that data element. Deleted records are not included in the results. The <b>pointer</b> parameter is set to NULL if there are no more key/data pairs in the returned set.</p> </dl> <p>These macros may be called multiple times, but DB_MULTIPLE_INIT must be called before each new access of the data.</p> </tt> <table width="100%"><tr><td><br></td><td align=right> <a href="../../db46-devel-4.6.21/api_c/api_core.html"><img src="../../db46-devel-4.6.21/images/api.gif" alt="API"></a><a href="../../db46-devel-4.6.21/ref/toc.html"><img src="../../db46-devel-4.6.21/images/ref.gif" alt="Ref"></a> </td></tr></table> <p><font size=1>Copyright (c) 1996,2007 Oracle. All rights reserved.</font> </body> </html>