eschmid         Tue Aug 21 19:48:02 2001 EDT

  Modified files:              
    /phpdoc/en/functions        dbplus.xml 
  Log:
  Now with the correct indentation.
  
Index: phpdoc/en/functions/dbplus.xml
diff -u /dev/null phpdoc/en/functions/dbplus.xml:1.8
--- /dev/null   Tue Aug 21 19:48:02 2001
+++ phpdoc/en/functions/dbplus.xml      Tue Aug 21 19:48:02 2001
@@ -0,0 +1,1402 @@
+<?xml encoding="iso-8859-1"?>
+<!-- $Revision: 1.8 $ -->
+ <reference id="ref.dbplus">
+  <title>DB++ functions</title>
+  <titleabbrev></titleabbrev>
+       
+  <partintro>
+   &warn.experimental;
+        
+   <section id="dbplus.intro">
+    <title>Experimental support for db++ database</title>
+    <para>
+     This paper describes the the db++ extension which enables PHP to
+     access db++ relation files through all of the search and update
+     methods available in the client/server "C" library interface of
+     db++ and to read and process the output of a db++ query.
+    </para>
+   </section>
+        
+   <section id="dbplus.requirenments">
+    <title>Requirenments</title>
+    <para>
+     ??? Download where
+    </para>
+   </section>
+        
+   <section id="dbplus.installation">
+    <title>Installation</title>
+    <para>
+     Creation and installation of this extension requires the db++
+     client libraries and header files to be installed on your system
+     as described above. You have to run <command>configure</command>
+     with option <option>--with-dbplus</option> to build this
+     extension.
+    </para>
+    <para>
+     <command>configure</command> looks for the client libraries and
+     header files under the default
+     path<filename>/usr/dbplus/</filename>.  If you have installed
+     db++ in a different place you have add the installation path to
+     the <command>configure</command> option like this:
+     <option>--with-dbplus=/your/installation/path</option>.
+    </para>
+   </section>
+   <section id="dbplus.errorcodes">
+    <title>db++ error codes</title>
+    <para>
+     <table>
+      <title>db++ error codes</title>
+      <tgroup cols="3">
+       <thead>
+       <row>
+        <entry>PHP Constant</entry>
+        <entry>db++ constant</entry>
+        <entry>meaning</entry>
+       </row>
+       </thead>
+       <tbody>
+        <row>
+         <entry>DBPLUS_ERR_NOERR</entry>
+         <entry>ERR_NOERR</entry>
+         <entry>Null error condition</entry>
+        </row>
+        <row>
+         <entry>DBPLUS_ERR_DUPLICATE</entry>
+         <entry>ERR_DUPLICATE</entry>
+         <entry>Tried to insert a duplicate tuple</entry>
+        </row>
+        <row>
+         <entry>DBPLUS_ERR_EOSCAN</entry>
+         <entry>ERR_EOSCAN</entry>
+         <entry>End of scan from rget()</entry>
+        </row>
+        <row>
+         <entry>DBPLUS_ERR_EMPTY</entry>
+         <entry>ERR_EMPTY</entry>
+         <entry>Relation is empty (server)</entry>
+        </row>
+        <row>
+         <entry>DBPLUS_ERR_CLOSE</entry>
+         <entry>ERR_CLOSE</entry>
+         <entry>The server can't close</entry>
+        </row>
+        <row>
+         <entry>DBPLUS_ERR_WLOCKED</entry>
+         <entry>ERR_WLOCKED</entry>
+         <entry>The record is write locked</entry>
+        </row>
+        <row>
+         <entry>DBPLUS_ERR_LOCKED</entry>
+         <entry>ERR_LOCKED</entry>
+         <entry>Relation was already locked</entry>
+        </row>
+        <row>
+         <entry>DBPLUS_ERR_NOLOCK</entry>
+         <entry>ERR_NOLOCK</entry>
+         <entry>Relation cannot be locked</entry>
+        </row>
+        <row>
+         <entry>DBPLUS_ERR_READ</entry>
+         <entry>ERR_READ</entry>
+         <entry>Read error on relation</entry>
+        </row>
+        <row>
+         <entry>DBPLUS_ERR_WRITE</entry>
+         <entry>ERR_WRITE</entry>
+         <entry>Write error on relation</entry>
+        </row>
+        <row>
+         <entry>DBPLUS_ERR_CREATE</entry>
+         <entry>ERR_CREATE</entry>
+         <entry>Creat() system call failed</entry>
+        </row>
+        <row>
+         <entry>DBPLUS_ERR_LSEEK</entry>
+         <entry>ERR_LSEEK</entry>
+         <entry>Lseek() system call failed</entry>
+        </row>
+        <row>
+         <entry>DBPLUS_ERR_LENGTH</entry>
+         <entry>ERR_LENGTH</entry>
+         <entry>Tuple exceeds maximum length</entry>
+        </row>
+        <row>
+         <entry>DBPLUS_ERR_OPEN</entry>
+         <entry>ERR_OPEN</entry>
+         <entry>Open() system call failed</entry>
+        </row>
+        <row>
+         <entry>DBPLUS_ERR_WOPEN</entry>
+         <entry>ERR_WOPEN</entry>
+         <entry>Relation already opened for writing</entry>
+        </row>
+        <row>
+         <entry>DBPLUS_ERR_MAGIC</entry>
+         <entry>ERR_MAGIC</entry>
+         <entry>File is not a relation</entry>
+        </row>
+        <row>
+         <entry>DBPLUS_ERR_VERSION</entry>
+         <entry>ERR_VERSION</entry>
+         <entry>File is a very old relation</entry>
+        </row>
+        <row>
+         <entry>DBPLUS_ERR_PGSIZE</entry>
+         <entry>ERR_PGSIZE</entry>
+         <entry>Relation uses a different page size</entry>
+        </row>
+        <row>
+         <entry>DBPLUS_ERR_CRC</entry>
+         <entry>ERR_CRC</entry>
+         <entry>Invalid crc in the superpage</entry>
+        </row>
+        <row>
+         <entry>DBPLUS_ERR_PIPE</entry>
+         <entry>ERR_PIPE</entry>
+         <entry>Piped relation requires lseek()</entry>
+        </row>
+        <row>
+         <entry>DBPLUS_ERR_NIDX</entry>
+         <entry>ERR_NIDX</entry>
+         <entry>Too many secondary indices</entry>
+        </row>
+        <row>
+         <entry>DBPLUS_ERR_MALLOC</entry>
+         <entry>ERR_MALLOC</entry>
+         <entry>Malloc() call failed</entry>
+        </row>
+        <row>
+         <entry>DBPLUS_ERR_NUSERS</entry>
+         <entry>ERR_NUSERS</entry>
+         <entry>Error use of max users</entry>
+        </row>
+        <row>
+         <entry>DBPLUS_ERR_PREEXIT</entry>
+         <entry>ERR_PREEXIT</entry>
+         <entry>Caused by invalid usage</entry>
+        </row>
+        <row>
+         <entry>DBPLUS_ERR_ONTRAP</entry>
+         <entry>ERR_ONTRAP</entry>
+         <entry>Caused by a signal</entry>
+        </row>
+        <row>
+         <entry>DBPLUS_ERR_PREPROC</entry>
+         <entry>ERR_PREPROC</entry>
+         <entry>Error in the preprocessor</entry>
+        </row>
+        <row>
+         <entry>DBPLUS_ERR_DBPARSE</entry>
+         <entry>ERR_DBPARSE</entry>
+         <entry>Error in the parser</entry>
+        </row>
+        <row>
+         <entry>DBPLUS_ERR_DBRUNERR</entry>
+         <entry>ERR_DBRUNERR</entry>
+         <entry>Run error in db</entry>
+        </row>
+        <row>
+         <entry>DBPLUS_ERR_DBPREEXIT</entry>
+         <entry>ERR_DBPREEXIT</entry>
+         <entry>Exit condition caused by prexit() * procedure</entry>
+        </row>
+        <row>
+         <entry>DBPLUS_ERR_WAIT</entry>
+         <entry>ERR_WAIT</entry>
+         <entry>Wait a little (Simple only)</entry>
+        </row>
+        <row>
+         <entry>DBPLUS_ERR_CORRUPT_TUPLE</entry>
+         <entry>ERR_CORRUPT_TUPLE</entry>
+         <entry>A client sent a corrupt tuple</entry>
+        </row>
+        <row>
+         <entry>DBPLUS_ERR_WARNING0</entry>
+         <entry>ERR_WARNING0</entry> <entry>The Simple routines
+         encountered a non fatal error which was corrected</entry>
+        </row>
+        <row>
+         <entry>DBPLUS_ERR_PANIC</entqry> <entry>ERR_PANIC</entry>
+         <entry>The server should not really die but after a disaster
+         send ERR_PANIC to all its clients</entry>
+        </row>
+        <row>
+         <entry>DBPLUS_ERR_FIFO</entry>
+         <entry>ERR_FIFO</entry>
+         <entry>Can't create a fifo</entry>
+        </row>
+        <row>
+         <entry>DBPLUS_ERR_PERM</entry>
+         <entry>ERR_PERM</entry>
+         <entry>Permission denied</entry>
+        </row>
+        <row>
+         <entry>DBPLUS_ERR_TCL</entry>
+         <entry>ERR_TCL</entry>
+         <entry>TCL_error</entry>
+        </row>
+        <row>
+         <entry>DBPLUS_ERR_RESTRICTED</entry>
+         <entry>ERR_RESTRICTED</entry>
+         <entry>Only two users</entry>
+        </row>
+        <row>
+         <entry>DBPLUS_ERR_USER</entry> <entry>ERR_USER</entry>
+         <entry>An error in the use of the library by an application
+         programmer</entry>
+        </row>
+        <row>
+         <entry>DBPLUS_ERR_UNKNOWN</entry>
+         <entry>ERR_UNKNOWN</entry>
+         <entry></entry>
+        </row>
+       </tbody>
+      </tgroup>
+     </table>
+    </para>
+   </section>
+  </partintro>
+       
+  <refentry id="function.dbplus-add">
+   <refnamediv>
+    <refname>dbplus_add</refname>
+    <refpurpose>Add a tuple to a relation</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Description</title>
+    <funcsynopsis>
+     <funcprototype>
+      <funcdef>int <function>dbplus_add</function></funcdef>
+      <paramdef>int <parameter>relation</parameter></paramdef>
+      <paramdef>array <parameter>tuple</parameter></paramdef>
+     </funcprototype>
+    </funcsynopsis>
+    &warn.experimental.func;
+    <para>
+     This function will add a tuple to a relation. The
+     <parameter>tuple</parameter> data is an array of attribute/value
+     pairs to be inserted into the given
+     <parameter>relation</parameter>. After successfull execution the
+     <parameter>tuple</parameter> array will contain the complete data
+     of the newly created tuple, including all implicitly set domain
+     fields like sequences.
+    </para>
+    <para>
+     The function will return zero (aka. DBPLUS_ERR_NOERR) on success
+     or a db++ error code on failure. See
+     <function>dbplus_errcode</function> or the introduction to this
+     chapter for more information on db++ error codes.
+    </para>
+   </refsect1>
+  </refentry>
+       
+  <refentry id="function.dbplus-aql">
+   <refnamediv>
+    <refname>dbplus_aql</refname>
+    <refpurpose>Perform AQL query</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Description</title>
+    <funcsynopsis>
+     <funcprototype>
+      <funcdef>int <function>dbplus_aql</function></funcdef>
+     <paramdef>string <parameter>query</parameter></paramdef>
+     <paramdef>string
+      <parameter><optional>server</optional></parameter>
+     </paramdef>
+     <paramdef>string
+      <parameter><optional>dbpath</optional></parameter>
+     </paramdef>
+     </funcprototype>
+    </funcsynopsis>
+    &warn.experimental.func;
+    <para>
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.dbplus-chdir">
+   <refnamediv>
+    <refname>dbplus_chdir</refname>
+    <refpurpose>Get/Set database virtual current directory</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Description</title>
+    <funcsynopsis>
+     <funcprototype>
+      <funcdef>string <function>dbplus_chdir</function></funcdef>
+     <paramdef>string
+      <parameter><optional>newdir</optional></parameter>
+     </paramdef>
+     </funcprototype>
+    </funcsynopsis>
+   &warn.experimental.func;
+    <para>
+     <function>dbplus_chdir</function> will change the virtual current
+     directory where relation files will be looked for by
+     <function>dbplus_open</function>.
+     <function>dbplus_chdir</function> will return the absolute path
+     of the current directory. Calling
+     <function>dbplus_chdir</function> without giving any
+     <parameter>newdir</parameter> may be used to query the current
+     working directory.
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.dbplus-close">
+   <refnamediv>
+    <refname>dbplus_close</refname>
+    <refpurpose>Close a relation</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Description</title>
+    <funcsynopsis>
+     <funcprototype>
+      <funcdef>int <function>dbplus_close</function></funcdef>
+     <paramdef>int <parameter>relation</parameter></paramdef>
+     </funcprototype>
+    </funcsynopsis>
+   &warn.experimental.func;
+    <para>
+     Calling <function>dbplus_close</function> will close a relation
+     previously opened by <function>dbplus_open</function>.
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.dbplus-curr">
+   <refnamediv>
+    <refname>dbplus_curr</refname>
+    <refpurpose>Get current tuple from relation</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Description</title>
+    <funcsynopsis>
+     <funcprototype>
+      <funcdef>int <function>dbplus_curr</function></funcdef>
+     <paramdef>int <parameter>relation</parameter></paramdef>
+     <paramdef>array <parameter>tuple</parameter></paramdef>
+     </funcprototype>
+    </funcsynopsis>
+    &warn.experimental.func;
+    <para>
+     <function>dbplus_curr</function> will read the data for the
+     current tuple for the given <parameter>relation</parameter> and
+     will pass it back as an associative array in
+     <parameter>tuple</parameter>.
+    </para>
+    <para>
+     The function will return zero (aka. DBPLUS_ERR_NOERR) on success
+     or a db++ error code on failure. See
+     <function>dbplus_errcode</function> or the introduction to this
+     chapter for more information on db++ error codes.
+    </para>
+    <para>
+     See also <function>dbplus_first</function>,
+     <function>dbplus_prev</function>,
+     <function>dbplus_next</function>, and
+     <function>dbplus_last</function>.
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.dbplus-errcode">
+   <refnamediv>
+    <refname>dbplus_errcode</refname> 
+    <refpurpose>
+     Get error string for given errorcode or last error
+    </refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Description</title>
+    <funcsynopsis>
+     <funcprototype>
+      <funcdef>string <function>dbplus_errcode</function></funcdef>
+     <paramdef>int <parameter>err</parameter></paramdef>
+     </funcprototype>
+    </funcsynopsis>
+    &warn.experimental.func;
+    <para>
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.dbplus-errno">
+   <refnamediv>
+    <refname>dbplus_errno</refname>
+    <refpurpose>Get error code for last operation</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Description</title>
+    <funcsynopsis>
+     <funcprototype>
+      <funcdef>int <function>dbplus_errno</function></funcdef>
+     <void/>
+     </funcprototype>
+    </funcsynopsis>
+    <para>
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.dbplus-first">
+   <refnamediv>
+    <refname>dbplus_first</refname>
+    <refpurpose>Get first tuple from relation</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Description</title>
+    <funcsynopsis>
+     <funcprototype>
+      <funcdef>int <function>dbplus_first</function></funcdef>
+     <paramdef>int <parameter>relation</parameter></paramdef>
+     <paramdef>array <parameter>tuple</parameter></paramdef>
+     </funcprototype>
+    </funcsynopsis>
+    &warn.experimental.func;
+    <para>
+     <function>dbplus_curr</function> will read the data for the first
+     tuple for the given <parameter>relation</parameter>, make it the
+     current tuple and pass it back as an associative array in
+     <parameter>tuple</parameter>.
+    </para>
+    <para>
+     The function will return zero (aka. DBPLUS_ERR_NOERR) on success
+     or a db++ error code on failure. See
+     <function>dbplus_errcode</function> or the introduction to this
+     chapter for more information on db++ error codes.
+    </para>
+    <para>
+     See also <function>dbplus_current</function>,
+     <function>dbplus_prev</function>,
+     <function>dbplus_next</function>, and
+     <function>dbplus_last</function>.
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.dbplus-flush">
+   <refnamediv>
+    <refname>dbplus_flush</refname>
+    <refpurpose>Flush all changes made on a relation</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Description</title>
+    <funcsynopsis>
+     <funcprototype>
+      <funcdef>int <function>dbplus_flush</function></funcdef>
+     <paramdef>int <parameter>relation</parameter></paramdef>
+     </funcprototype>
+    </funcsynopsis>
+    &warn.experimental.func;
+    <para>
+     <function>dbplus_flush</function> will write all changes applied
+     to <parameter>relation</parameter> since the last flush to disk.
+    </para>
+    <para>
+     The function will return zero (aka. DBPLUS_ERR_NOERR) on success
+     or a db++ error code on failure. See
+     <function>dbplus_errcode</function> or the introduction to this
+     chapter for more information on db++ error codes.
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.dbplus-freealllocks">
+   <refnamediv>
+    <refname>dbplus_freealllocks</refname>
+    <refpurpose>Free all locks held by this client</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Description</title>
+    <funcsynopsis>
+     <funcprototype>
+      <funcdef>int <function>dbplus_freealllocks</function></funcdef>
+      <void/>
+     </funcprototype>
+    </funcsynopsis>
+    &warn.experimental.func;
+    <para>
+     <function>dbplus_freeaalllocks</function> will free all locks
+     held by this client.
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.dbplus-freerlocks">
+   <refnamediv>
+    <refname>dbplus_freerlocks</refname>
+    <refpurpose>Free all locks on given relation</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Description</title>
+    <funcsynopsis>
+     <funcprototype>
+      <funcdef>int <function>dbplus_freerlocks</function></funcdef>
+     <paramdef>int <parameter>relation</parameter></paramdef>
+     </funcprototype>
+    </funcsynopsis>
+    &warn.experimental.func;
+    <para>
+     <function>dbplus_freerlocks</function> will free all locks held
+     on the given <parameter>relation</parameter>.
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.dbplus-info">
+   <refnamediv>
+    <refname>dbplus_info</refname>
+    <refpurpose>???</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Description</title>
+    <funcsynopsis>
+     <funcprototype>
+      <funcdef>int <function>dbplus_info</function></funcdef>
+     <paramdef>int <parameter>relation</parameter></paramdef>
+     <paramdef>string <parameter>key</parameter></paramdef>
+     <paramdef>array <parameter></parameter></paramdef>
+     </funcprototype>
+    </funcsynopsis>
+    &warn.experimental.func;
+    <para>
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.dbplus-last">
+   <refnamediv>
+    <refname>dbplus_last</refname>
+    <refpurpose>Get last tuple from relation</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Description</title>
+    <funcsynopsis>
+     <funcprototype>
+      <funcdef>int <function>dbplus_last</function></funcdef>
+     <paramdef>int <parameter>relation</parameter></paramdef>
+     <paramdef>array <parameter>tuple</parameter></paramdef>
+     </funcprototype>
+    </funcsynopsis>
+    &warn.experimental.func;
+    <para>
+     <function>dbplus_curr</function> will read the data for the last
+     tuple for the given <parameter>relation</parameter>, make it the
+     current tuple and pass it back as an associative array in
+     <parameter>tuple</parameter>.
+    </para>
+    <para>
+     The function will return zero (aka. DBPLUS_ERR_NOERR) on success
+     or a db++ error code on failure. See
+     <function>dbplus_errcode</function> or the introduction to this
+     chapter for more information on db++ error codes.
+    </para>
+    <para>
+     See also <function>dbplus_first</function>,
+     <function>dbplus_current</function>,
+     <function>dbplus_prev</function>, and
+     <function>dbplus_next</function>.
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.dbplus-lockrel">
+   <refnamediv>
+    <refname>dbplus_lockrel</refname>
+    <refpurpose>Request read-lock on relation</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Description</title>
+    <funcsynopsis>
+     <funcprototype>
+      <funcdef>int <function>dbplus_lockrel</function></funcdef>
+     <paramdef>int <parameter>relation</parameter></paramdef>
+     </funcprototype>
+    </funcsynopsis>
+    &warn.experimental.func;
+    <para>
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.dbplus-next">
+   <refnamediv>
+    <refname>dbplus_next</refname>
+    <refpurpose>Get next tuple from relation</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Description</title>
+    <funcsynopsis>
+     <funcprototype>
+      <funcdef>int <function>dbplus_next</function></funcdef>
+     <paramdef>int <parameter>relation</parameter></paramdef>
+     <paramdef>array <parameter></parameter></paramdef>
+     </funcprototype>
+    </funcsynopsis>
+    &warn.experimental.func;
+    <para>
+     <function>dbplus_curr</function> will read the data for the next
+     tuple for the given <parameter>relation</parameter>, will make it
+     the current tuple and will pass it back as an associative array
+     in <parameter>tuple</parameter>.
+    </para>
+    <para>
+     The function will return zero (aka. DBPLUS_ERR_NOERR) on success
+     or a db++ error code on failure. See
+     <function>dbplus_errcode</function> or the introduction to this
+     chapter for more information on db++ error codes.
+    </para>
+    <para>
+     See also <function>dbplus_first</function>,
+     <function>dbplus_current</function>,
+     <function>dbplus_prev</function>, and
+     <function>dbplus_last</function>.
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.dbplus-open">
+   <refnamediv>
+    <refname>dbplus_open</refname>
+    <refpurpose>Open relation file</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Description</title>
+    <funcsynopsis>
+     <funcprototype>
+      <funcdef>int <function>dbplus_open</function></funcdef>
+      <paramdef>string <parameter>name</parameter></paramdef>
+     </funcprototype>
+    </funcsynopsis>
+    &warn.experimental.func;
+    <para>
+     The relation file <parameter>name</parameter> will be opened.
+     <parameter>name</parameter> can be either a file name or a
+     relative or absolute path name. This will be mapped in any case
+     to an absolute relation file path on a specific host machine and
+     server.
+    </para>
+    <para>
+     On success a relation file handle (cursor) is returned which must
+     be used in any subsequent commanads referencing the relation.
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.dbplus-prev">
+   <refnamediv>
+    <refname>dbplus_prev</refname>
+    <refpurpose>Get previous tuple from relation</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Description</title>
+    <funcsynopsis>
+     <funcprototype>
+      <funcdef>int <function>dbplus_prev</function></funcdef>
+      <paramdef>int <parameter>relation</parameter></paramdef>
+      <paramdef>array <parameter>tuple</parameter></paramdef>
+     </funcprototype>
+    </funcsynopsis>
+    &warn.experimental.func;
+    <para>
+     <function>dbplus_curr</function> will read the data for the next
+     tuple for the given <parameter>relation</parameter>, will make it
+     the current tuple and will pass it back as an associative array
+     in <parameter>tuple</parameter>.
+    </para>
+    <para>
+     The function will return zero (aka. DBPLUS_ERR_NOERR) on success
+     or a db++ error code on failure. See
+     <function>dbplus_errcode</function> or the introduction to this
+     chapter for more information on db++ error codes.
+    </para>
+    <para>
+     See also <function>dbplus_first</function>,
+     <function>dbplus_current</function>,
+     <function>dbplus_next</function>, and
+     <function>dbplus_last</function>.
+    </para>
+   </refsect1>
+  </refentry>
+  
+  <refentry id="function.dbplus-restorepos">
+   <refnamediv>
+    <refname>dbplus_restorepos</refname> <refpurpose>???</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Description</title>
+    <funcsynopsis>
+     <funcprototype>
+      <funcdef>int <function>dbplus_restorepos</function></funcdef>
+     <paramdef>int <parameter>relation</parameter></paramdef>
+     <paramdef>array <parameter>tuple</parameter></paramdef>
+     </funcprototype>
+    </funcsynopsis>
+    &warn.experimental.func;
+    <para>
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.dbplus-ropen">
+   <refnamediv>
+    <refname>dbplus_ropen</refname>
+    <refpurpose>Open relation file ... ???</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Description</title>
+    <funcsynopsis>
+     <funcprototype>
+      <funcdef>int <function>dbplus_ropen</function></funcdef>
+     <paramdef>string <parameter>name</parameter></paramdef>
+     </funcprototype>
+    </funcsynopsis>
+    &warn.experimental.func;
+    <para>
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.dbplus-runlink">
+   <refnamediv>
+    <refname>dbplus_runlink</refname>
+    <refpurpose>Remove relation from filesystem</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Description</title>
+    <funcsynopsis>
+     <funcprototype>
+      <funcdef>int <function>dbplus_runlink</function></funcdef>
+     <paramdef>int <parameter>relation</parameter></paramdef>
+     </funcprototype>
+    </funcsynopsis>
+    &warn.experimental.func;
+    <para>
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.dbplus-rzap">
+   <refnamediv>
+    <refname>dbplus_rzap</refname>
+    <refpurpose>Remove all tuples from relation</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Description</title>
+    <funcsynopsis>
+     <funcprototype>
+      <funcdef>int <function>dbplus_rzap</function></funcdef>
+     <paramdef>int <parameter>relation</parameter></paramdef>
+     <paramdef>int <parameter>truncate</parameter></paramdef>
+     </funcprototype>
+    </funcsynopsis>
+    &warn.experimental.func;
+    <para>
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.dbplus-savepos">
+   <refnamediv>
+    <refname>dbplus_savepos</refname>
+    <refpurpose>???</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Description</title>
+    <funcsynopsis>
+     <funcprototype>
+      <funcdef>int <function>dbplus_savepos</function></funcdef>
+     <paramdef>int <parameter>relation</parameter></paramdef>
+     </funcprototype>
+    </funcsynopsis>
+    &warn.experimental.func;
+    <para>
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.dbplus-setindex">
+   <refnamediv>
+    <refname>dbplus_setindex</refname>
+    <refpurpose>???</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Description</title>
+    <funcsynopsis>
+     <funcprototype>
+      <funcdef>int <function>dbplus_setindex</function></funcdef>
+     <paramdef>int <parameter>relation</parameter></paramdef>
+     <paramdef>string <parameter>idx_name</parameter></paramdef>
+     </funcprototype>
+    </funcsynopsis>
+    &warn.experimental.func;
+    <para>
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.dbplus-setindexbynumber">
+   <refnamediv>
+    <refname>dbplus_setindexbynumber</refname>
+    <refpurpose>???</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Description</title>
+    <funcsynopsis>
+     <funcprototype>
+      <funcdef>int <function>dbplus_setindexbynumber</function></funcdef>
+      <paramdef>int <parameter>relation</parameter></paramdef>
+     <paramdef>int <parameter>idx_number</parameter></paramdef>
+     </funcprototype>
+    </funcsynopsis>
+    &warn.experimental.func;
+    <para>
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.dbplus-sql">
+   <refnamediv>
+    <refname>dbplus_sql</refname>
+    <refpurpose>Perform SQL query</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Description</title>
+    <funcsynopsis>
+     <funcprototype>
+      <funcdef>int <function>dbplus_sql</function></funcdef>
+      <paramdef>string <parameter>query</parameter></paramdef>
+      <paramdef>string <parameter>server</parameter></paramdef>
+      <paramdef>string <parameter>dbpath</parameter></paramdef>
+     </funcprototype>
+    </funcsynopsis>
+    &warn.experimental.func;
+    <para>
+    </para>
+   </refsect1>
+  </refentry>
+  
+  <refentry id="function.dbplus-tremove">
+   <refnamediv>
+    <refname>dbplus_tremove</refname>
+    <refpurpose>Remove tuple and return new current tuple</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Description</title>
+    <funcsynopsis>
+     <funcprototype>
+      <funcdef>int <function>dbplus_tremove</function></funcdef>
+     <paramdef>int <parameter>relation</parameter></paramdef>
+     <paramdef>array <parameter>old</parameter></paramdef>
+      <paramdef>array
+      <parameter><optional>current</optional></parameter>
+     </paramdef>
+     </funcprototype>
+    </funcsynopsis>
+    &warn.experimental.func;
+    <para>
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.dbplus-undo">
+   <refnamediv>
+    <refname>dbplus_undo</refname>
+    <refpurpose>???</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Description</title>
+    <funcsynopsis>
+     <funcprototype>
+      <funcdef>int <function>dbplus_undo</function></funcdef>
+     <paramdef>int <parameter>relation</parameter></paramdef>
+     </funcprototype>
+    </funcsynopsis>
+    &warn.experimental.func;
+    <para>
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.dbplus-undoprepare">
+   <refnamediv>
+    <refname>dbplus_undoprepare</refname>
+    <refpurpose>???</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Description</title>
+    <funcsynopsis>
+     <funcprototype>
+      <funcdef>int <function>dbplus_undoprepare</function></funcdef>
+      <paramdef>int <parameter>relation</parameter></paramdef>
+     </funcprototype>
+    </funcsynopsis>
+    &warn.experimental.func;
+    <para>
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.dbplus-unlockrel">
+   <refnamediv>
+    <refname>dbplus_unlockrel</refname>
+    <refpurpose>Give up read-lock on relation</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Description</title>
+    <funcsynopsis>
+     <funcprototype>
+      <funcdef>int <function>dbplus_unlockrel</function></funcdef>
+     <paramdef>int <parameter>relation</parameter></paramdef>
+     </funcprototype>
+    </funcsynopsis>
+    &warn.experimental.func;
+    <para>
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.dbplus-unselect">
+   <refnamediv>
+    <refname>dbplus_unselect</refname>
+    <refpurpose>???</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Description</title>
+    <funcsynopsis>
+     <funcprototype>
+      <funcdef>int <function>dbplus_unselect</function></funcdef>
+      <paramdef>int <parameter>relation</parameter></paramdef>
+     </funcprototype>
+    </funcsynopsis>
+    &warn.experimental.func;
+    <para>
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.dbplus-update">
+   <refnamediv>
+    <refname>dbplus_update</refname>
+    <refpurpose>Update specified tuple in relation</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Description</title>
+    <funcsynopsis>
+     <funcprototype>
+      <funcdef>int <function>dbplus_update</function></funcdef>
+      <paramdef>int <parameter>relation</parameter></paramdef>
+      <paramdef>array <parameter>old</parameter></paramdef>
+      <paramdef>array <parameter>new</parameter></paramdef>
+     </funcprototype>
+    </funcsynopsis>
+    &warn.experimental.func;
+    <para>
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.dbplus-xlockrel">
+   <refnamediv>
+    <refname>dbplus_xlockrel</refname>
+    <refpurpose>Request exclusive write lock on relation</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Description</title>
+    <funcsynopsis>
+     <funcprototype>
+      <funcdef>int <function>dbplus_xlockrel</function></funcdef>
+      <paramdef>int <parameter>relation</parameter></paramdef>
+     </funcprototype>
+    </funcsynopsis>
+    &warn.experimental.func;
+    <para>
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.dbplus-xunlockrel">
+   <refnamediv>
+    <refname>dbplus_xunlockrel</refname>
+    <refpurpose>Free exclusive write lock on relation</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Description</title>
+    <funcsynopsis>
+     <funcprototype>
+      <funcdef>int <function>dbplus_xunlockrel</function></funcdef>
+      <paramdef>int <parameter>relation</parameter></paramdef>
+     </funcprototype>
+    </funcsynopsis>
+    &warn.experimental.func;
+    <para>
+    </para>
+   </refsect1>
+  </refentry>
+
+
+<!-- unimplemented functions -->
+
+
+  <refentry id="function.dbplus-change">
+   <refnamediv>
+    <refname>dbplus_change</refname>
+    <refpurpose></refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Description</title>
+    <funcsynopsis>
+     <funcprototype>
+      <funcdef>int <function>dbplus_change</function></funcdef>
+      <paramdef>int <parameter>handle</parameter></paramdef>
+      <paramdef>string <parameter>domain</parameter></paramdef>
+     </funcprototype>
+    </funcsynopsis>
+    &warn.experimental.func;
+    <para>
+     Not implemented yet.
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.dbplus-find">
+   <refnamediv>
+    <refname>dbplus_find</refname>
+    <refpurpose></refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Description</title>
+    <funcsynopsis>
+     <funcprototype>
+      <funcdef>int <function>dbplus_find</function></funcdef>
+      <paramdef>int <parameter>handle</parameter></paramdef>
+      <paramdef>string <parameter>constr</parameter></paramdef>
+      <paramdef>string <parameter>tname</parameter></paramdef>
+     </funcprototype>
+    </funcsynopsis>
+    &warn.experimental.func;
+    <para>
+     Not implemented yet.
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.dbplus-freelock">
+   <refnamediv>
+    <refname>dbplus_freelock</refname>
+    <refpurpose></refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Description</title>
+    <funcsynopsis>
+     <funcprototype>
+      <funcdef>int <function>dbplus_freelock</function></funcdef>
+      <paramdef>int <parameter>handle</parameter></paramdef>
+      <paramdef>string <parameter>tname</parameter></paramdef>
+     </funcprototype>
+    </funcsynopsis>
+    &warn.experimental.func;
+    <para>
+     <function>dbplus_freelock</function> will release a write lock on
+     the given <parameter>tuple</parameter> previously obtained by
+     <function>dbplus_getlock</function>.
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.dbplus-getlock">
+   <refnamediv>
+    <refname>dbplus_getlock</refname>
+    <refpurpose></refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Description</title>
+    <funcsynopsis>
+     <funcprototype>
+      <funcdef>int <function>dbplus_getlock</function></funcdef>
+      <paramdef>int <parameter>handle</parameter></paramdef>
+      <paramdef>string <parameter>tname</parameter></paramdef>
+     </funcprototype>
+    </funcsynopsis>
+    &warn.experimental.func;
+    <para>
+     <function>dbplus_getlock</function> will request a write lock on
+     the speified <parameter>tuple</parameter>. It will return zero on
+     success or a non-zero error code, especially DBPLUS_ERR_WLOCKED,
+     on failure.
+    </para>
+    <para>
+     See also <function>dbplus_freelock</function>,
+     <function>dbplus_freerlocks</function>, and
+     <function>dbplus_freealllocks</function>.
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.dbplus-getunique">
+   <refnamediv>
+    <refname>dbplus_getunique</refname>
+    <refpurpose></refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Description</title>
+    <funcsynopsis>
+     <funcprototype>
+      <funcdef>int <function>dbplus_getunique</function></funcdef>
+      <paramdef>int <parameter>handle</parameter></paramdef>
+      <paramdef>int <parameter>uniqueid</parameter></paramdef>
+     </funcprototype>
+    </funcsynopsis>
+    &warn.experimental.func;
+    <para>
+     <function>dbplus_getunique</function> will obtain a number
+     guaranteed to be unique for the given
+     <parameter>relation</parameter> and will pass it back in the
+     variable given as <parameter>uniqueid</parameter>.
+    </para>
+    <para>
+     The function will return zero (aka. DBPLUS_ERR_NOERR) on success
+     or a db++ error code on failure. See
+     <function>dbplus_errcode</function> or the introduction to this
+     chapter for more information on db++ error codes.
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.dbplus-rchperm">
+   <refnamediv>
+    <refname>dbplus_rchperm</refname>
+    <refpurpose></refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Description</title>
+    <funcsynopsis>
+     <funcprototype>
+      <funcdef>int <function>dbplus_rchperm</function></funcdef>
+      <paramdef>int <parameter>handle</parameter></paramdef>
+      <paramdef>int <parameter>mask</parameter></paramdef>
+      <paramdef>string <parameter>user</parameter></paramdef>
+      <paramdef>string <parameter>group</parameter></paramdef>
+     </funcprototype>
+    </funcsynopsis>
+    &warn.experimental.func;
+    <para>
+     Not implemented yet.
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.dbplus-rcreate">
+   <refnamediv>
+    <refname>dbplus_rcreate</refname>
+    <refpurpose></refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Description</title>
+    <funcsynopsis>
+     <funcprototype>
+      <funcdef>int <function>dbplus_rcreate</function></funcdef>
+     <paramdef>string <parameter>name</parameter></paramdef>
+     <paramdef>string <parameter>domlist</parameter></paramdef>
+     <paramdef>int <parameter>flag</parameter></paramdef>
+     </funcprototype>
+    </funcsynopsis>
+    &warn.experimental.func;
+    <para>
+     Not implemented yet.
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.dbplus-rcrtexact">
+   <refnamediv>
+    <refname>dbplus_rcrtexact</refname>
+    <refpurpose></refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Description</title>
+    <funcsynopsis>
+     <funcprototype>
+      <funcdef>int <function>dbplus_rcrtexact</function></funcdef>
+      <paramdef>string <parameter>name</parameter></paramdef>
+      <paramdef>int <parameter>handle</parameter></paramdef>
+      <paramdef>int <parameter>flag</parameter></paramdef>
+     </funcprototype>
+    </funcsynopsis>
+    &warn.experimental.func;
+    <para>
+     Not implemented yet.
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.dbplus-rcrtlike">
+   <refnamediv>
+    <refname>dbplus_rcrtlike</refname>
+    <refpurpose></refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Description</title>
+    <funcsynopsis>
+     <funcprototype>
+      <funcdef>int <function>dbplus_rcrtlike</function></funcdef>
+      <paramdef>string <parameter>name</parameter></paramdef>
+      <paramdef>int <parameter>handle</parameter></paramdef>
+      <paramdef>int <parameter>flag</parameter></paramdef>
+     </funcprototype>
+    </funcsynopsis>
+    &warn.experimental.func;
+    <para>
+     Not implemented yet.
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.dbplus-resolve">
+   <refnamediv>
+    <refname>dbplus_resolve</refname>
+    <refpurpose></refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Description</title>
+    <funcsynopsis>
+     <funcprototype>
+      <funcdef>int <function>dbplus_resolve</function></funcdef>
+      <paramdef>string <parameter>name</parameter></paramdef>
+      <paramdef>string <parameter>vname</parameter></paramdef>
+     </funcprototype>
+    </funcsynopsis>
+    &warn.experimental.func;
+    <para>
+     Not implemented yet.
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.dbplus-rkeys">
+   <refnamediv>
+    <refname>dbplus_rkeys</refname>
+    <refpurpose></refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Description</title>
+    <funcsynopsis>
+     <funcprototype>
+      <funcdef>int <function>dbplus_rkeys</function></funcdef>
+      <paramdef>int <parameter>handle</parameter></paramdef>
+      <paramdef>string <parameter>domlist</parameter></paramdef>
+     </funcprototype>
+    </funcsynopsis>
+    &warn.experimental.func;
+    <para>
+     Not implemented yet.
+    </para>
+   </refsect1>
+  </refentry>
+  
+  <refentry id="function.dbplus-rquery">
+   <refnamediv>
+    <refname>dbplus_rquery</refname>
+    <refpurpose></refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Description</title>
+    <funcsynopsis>
+     <funcprototype>
+      <funcdef>int <function>dbplus_rquery</function></funcdef>
+      <void/>
+     </funcprototype>
+    </funcsynopsis>
+    &warn.experimental.func;
+    <para>
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.dbplus-rrename">
+   <refnamediv>
+    <refname>dbplus_rrename</refname>
+    <refpurpose></refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Description</title>
+    <funcsynopsis>
+     <funcprototype>
+      <funcdef>int <function>dbplus_rrename</function></funcdef>
+      <paramdef>int <parameter>handle</parameter></paramdef>
+      <paramdef>string <parameter>name</parameter></paramdef>
+      <paramdef>int <parameter>flag</parameter></paramdef>
+     </funcprototype>
+    </funcsynopsis>
+    &warn.experimental.func;
+    <para>
+     Not implemented yet.
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.dbplus-rsecindex">
+   <refnamediv>
+    <refname>dbplus_rsecindex</refname>
+    <refpurpose></refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Description</title>
+    <funcsynopsis>
+     <funcprototype>
+      <funcdef>int <function>dbplus_rsecindex</function></funcdef>
+      <paramdef>int <parameter>handle</parameter></paramdef>
+      <paramdef>string <parameter>domlist</parameter></paramdef>
+      <paramdef>int <parameter>compact</parameter></paramdef>
+     </funcprototype>
+    </funcsynopsis>
+    &warn.experimental.func;
+    <para>
+     Not implemented yet.
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.dbplus-tcl">
+   <refnamediv>
+    <refname>dbplus_tcl</refname>
+    <refpurpose></refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Description</title>
+    <funcsynopsis>
+     <funcprototype>
+      <funcdef>int <function>dbplus_tcl</function></funcdef>
+      <paramdef>int <parameter>sid</parameter></paramdef>
+      <paramdef>string <parameter>script</parameter></paramdef>
+     </funcprototype>
+    </funcsynopsis>
+    &warn.experimental.func;
+    <para>
+     Not implemented yet.
+    </para>
+   </refsect1>
+  </refentry>
+
+ </reference>
+ 
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: sgml
+sgml-omittag:t
+sgml-shorttag:t
+sgml-minimize-attributes:nil
+sgml-always-quote-attributes:t
+sgml-indent-step:1
+sgml-indent-data:t
+sgml-parent-document:nil
+sgml-default-dtd-file:"../../manual.ced"
+sgml-exposed-tags:nil
+sgml-local-catalogs:nil
+sgml-local-ecat-files:nil
+End:
+vim: ts=1 sw=1 et syntax=sgml
+-->

Reply via email to