hholzgra Sun Aug 26 10:32:50 2001 EDT
Modified files:
/phpdoc/en/functions dbplus.xml
Log:
catching up with implementation
'unimplemented' section removed, functions are now all in alphabetical
order
plus possibly some whitspace ...
Index: phpdoc/en/functions/dbplus.xml
diff -u phpdoc/en/functions/dbplus.xml:1.9 phpdoc/en/functions/dbplus.xml:1.10
--- phpdoc/en/functions/dbplus.xml:1.9 Tue Aug 21 20:04:30 2001
+++ phpdoc/en/functions/dbplus.xml Sun Aug 26 10:32:50 2001
@@ -1,12 +1,12 @@
<?xml encoding="iso-8859-1"?>
-<!-- $Revision: 1.9 $ -->
+<!-- $Revision: 1.10 $ -->
<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>
@@ -16,14 +16,14 @@
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>
@@ -49,11 +49,11 @@
<title>db++ error codes</title>
<tgroup cols="3">
<thead>
- <row>
- <entry>PHP Constant</entry>
- <entry>db++ constant</entry>
- <entry>meaning</entry>
- </row>
+ <row>
+ <entry>PHP Constant</entry>
+ <entry>db++ constant</entry>
+ <entry>meaning</entry>
+ </row>
</thead>
<tbody>
<row>
@@ -257,7 +257,7 @@
</para>
</section>
</partintro>
-
+
<refentry id="function.dbplus-add">
<refnamediv>
<refname>dbplus_add</refname>
@@ -290,7 +290,7 @@
</para>
</refsect1>
</refentry>
-
+
<refentry id="function.dbplus-aql">
<refnamediv>
<refname>dbplus_aql</refname>
@@ -414,11 +414,15 @@
<funcsynopsis>
<funcprototype>
<funcdef>string <function>dbplus_errcode</function></funcdef>
- <paramdef>int <parameter>err</parameter></paramdef>
+ <paramdef>int <parameter>errno</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
+ <function>dbplus_errcode</function> returns a cleartext error
+ string for the error code passed as <parameter>errno</parameter>
+ of for the result code of the last db++ operation if no parameter
+ is given.
</para>
</refsect1>
</refentry>
@@ -436,7 +440,55 @@
<void/>
</funcprototype>
</funcsynopsis>
+ &warn.experimental.func;
+ <para>
+ <function>dbplus_errno</function> will return the error code
+ returned by the last db++ operation.
+ </para>
+ <para>
+ See also <function>dbplus_errcode</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.dbplus-find">
+ <refnamediv>
+ <refname>dbplus_find</refname>
+ <refpurpose>Set a constraint on a relation</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Description</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>int <function>dbplus_find</function></funcdef>
+ <paramdef>int <parameter>handle</parameter></paramdef>
+ <paramdef>array <parameter>constraints</parameter></paramdef>
+ <paramdef>mixed <parameter>tuple</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ &warn.experimental.func;
+ <para>
+ <function>dbplus_find</function> will place a constraint on the
+ given relation. Further calls to functions like
+ <function>dbplus_curr</function> or
+ <function>dbplus_next</function> will only return tuples matching
+ the given constraints.
+ </para>
+ <para>
+ Constraints are triplets of strings containing of a domain name,
+ a comparison operator and a comparison value. The
+ <parameter>constraints</parameter> parameter array may consist of
+ a collection of string arrays, each of which contains a domain, an
+ operator and a value, or of a single string array containing a
+ multiple of three elements.
+ </para>
+ <para>
+ The comparison operator may be one of the following strings:
+ '==', '>', '>=', '<', '<=', '!=', '~' for a regular
+ expression match and 'BAND' or 'BOR' for bitwise operations.
+ </para>
<para>
+ See also <function>dbplus_unselect</function>.
</para>
</refsect1>
</refentry>
@@ -469,7 +521,7 @@
chapter for more information on db++ error codes.
</para>
<para>
- See also <function>dbplus_current</function>,
+ See also <function>dbplus_curr</function>,
<function>dbplus_prev</function>,
<function>dbplus_next</function>, and
<function>dbplus_last</function>.
@@ -519,16 +571,49 @@
</funcsynopsis>
&warn.experimental.func;
<para>
- <function>dbplus_freeaalllocks</function> will free all locks
+ <function>dbplus_freeaalllocks</function> will free all tuple locks
held by this client.
</para>
+ <para>
+ See also <function>dbplus_getlock</function>,
+ <function>dbplus_freelock</function>, and
+ <function>dbplus_freerlocks</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.dbplus-freelock">
+ <refnamediv>
+ <refname>dbplus_freelock</refname>
+ <refpurpose>Release write lock on tuple</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>
+ <para>
+ See also <function>dbplus_getlock</function>,
+ <function>dbplus_freerlocks</function>, and
+ <function>dbplus_freealllocks</function>.
+ </para>
</refsect1>
</refentry>
<refentry id="function.dbplus-freerlocks">
<refnamediv>
<refname>dbplus_freerlocks</refname>
- <refpurpose>Free all locks on given relation</refpurpose>
+ <refpurpose>Free all tuple locks on given relation</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
@@ -540,9 +625,73 @@
</funcsynopsis>
&warn.experimental.func;
<para>
- <function>dbplus_freerlocks</function> will free all locks held
+ <function>dbplus_freerlocks</function> will free all tuple locks held
on the given <parameter>relation</parameter>.
</para>
+ <para>
+ See also <function>dbplus_getlock</function>,
+ <function>dbplus_freelock</function>, and
+ <function>dbplus_freealllocks</function>.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="function.dbplus-getlock">
+ <refnamediv>
+ <refname>dbplus_getlock</refname>
+ <refpurpose>Get a write lock on a tuple</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>Get a id number unique to a relation</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>
@@ -596,7 +745,7 @@
</para>
<para>
See also <function>dbplus_first</function>,
- <function>dbplus_current</function>,
+ <function>dbplus_curr</function>,
<function>dbplus_prev</function>, and
<function>dbplus_next</function>.
</para>
@@ -606,7 +755,7 @@
<refentry id="function.dbplus-lockrel">
<refnamediv>
<refname>dbplus_lockrel</refname>
- <refpurpose>Request read-lock on relation</refpurpose>
+ <refpurpose>Request write lock on relation</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
@@ -618,6 +767,11 @@
</funcsynopsis>
&warn.experimental.func;
<para>
+ <function>dbplus_lockrel</function> will request a write lock
+ on the given relation. Other clients may still query the
+ relation, but can't alter it while it is locked.
+ </para>
+ <para>
</para>
</refsect1>
</refentry>
@@ -651,7 +805,7 @@
</para>
<para>
See also <function>dbplus_first</function>,
- <function>dbplus_current</function>,
+ <function>dbplus_curr</function>,
<function>dbplus_prev</function>, and
<function>dbplus_last</function>.
</para>
@@ -682,6 +836,8 @@
<para>
On success a relation file handle (cursor) is returned which must
be used in any subsequent commanads referencing the relation.
+ Failure leads to a zero return value, the actual error code may
+ be asked for by calling <function>dbplus_errno</function>.
</para>
</refsect1>
</refentry>
@@ -715,141 +871,171 @@
</para>
<para>
See also <function>dbplus_first</function>,
- <function>dbplus_current</function>,
+ <function>dbplus_curr</function>,
<function>dbplus_next</function>, and
<function>dbplus_last</function>.
</para>
</refsect1>
</refentry>
- <refentry id="function.dbplus-restorepos">
+ <refentry id="function.dbplus-rchperm">
<refnamediv>
- <refname>dbplus_restorepos</refname> <refpurpose>???</refpurpose>
+ <refname>dbplus_rchperm</refname>
+ <refpurpose>Change relation permissions</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>
+ <funcdef>int <function>dbplus_rchperm</function></funcdef>
+ <paramdef>int <parameter>relation</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>
+ <function>dbplus_rchperm</function> will change access
+ permissions as specified by <parameter>mask</parameter>,
+ <parameter>user</parameter> and <parameter>group</parameter>. The
+ values for these are operating system specific.
</para>
</refsect1>
</refentry>
- <refentry id="function.dbplus-ropen">
+ <refentry id="function.dbplus-rcreate">
<refnamediv>
- <refname>dbplus_ropen</refname>
- <refpurpose>Open relation file ... ???</refpurpose>
+ <refname>dbplus_rcreate</refname>
+ <refpurpose></refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
- <funcdef>int <function>dbplus_ropen</function></funcdef>
+ <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-runlink">
+ <refentry id="function.dbplus-rcrtexact">
<refnamediv>
- <refname>dbplus_runlink</refname>
- <refpurpose>Remove relation from filesystem</refpurpose>
+ <refname>dbplus_rcrtexact</refname>
+ <refpurpose></refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
- <funcdef>int <function>dbplus_runlink</function></funcdef>
- <paramdef>int <parameter>relation</parameter></paramdef>
+ <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-rzap">
+ <refentry id="function.dbplus-rcrtlike">
<refnamediv>
- <refname>dbplus_rzap</refname>
- <refpurpose>Remove all tuples from relation</refpurpose>
+ <refname>dbplus_rcrtlike</refname>
+ <refpurpose></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>
+ <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-savepos">
+ <refentry id="function.dbplus-resolve">
<refnamediv>
- <refname>dbplus_savepos</refname>
- <refpurpose>???</refpurpose>
+ <refname>dbplus_resolve</refname>
+ <refpurpose>Resolve host information for relation</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
- <funcdef>int <function>dbplus_savepos</function></funcdef>
- <paramdef>int <parameter>relation</parameter></paramdef>
+ <funcdef>int <function>dbplus_resolve</function></funcdef>
+ <paramdef>string <parameter>relation_name</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
+ <function>dbplus_resolve</function> will try to resolve the given
+ <parameter>relation_name</parameter> and find out internal server
+ id, real hostname and the database path on this host. The
+ function will return an array containing these values under the
+ keys 'sid', 'host' and 'host_path' or &false; on error.
+ </para>
+ <para>
+ See also <function>dbplus_tcl</function>.
</para>
</refsect1>
</refentry>
- <refentry id="function.dbplus-setindex">
+ <refentry id="function.dbplus-rkeys">
<refnamediv>
- <refname>dbplus_setindex</refname>
- <refpurpose>???</refpurpose>
+ <refname>dbplus_rkeys</refname>
+ <refpurpose>Specify new primary key for a relation</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>
+ <funcdef>int <function>dbplus_rkeys</function></funcdef>
+ <paramdef>int <parameter>relation</parameter></paramdef>
+ <paramdef>mixed <parameter>domlist</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
+ <function>dbplus_rkeys</function> will replace the current
+ primary key for <parameter>relation</parameter> with the
+ combination of domains specified by <parameter>domlist</parameter>.
+ </para>
+ <para>
+ <parameter>domlist</parameter> may be passed as an array of
+ domain name strings or as a space separated list of names in a
+ single string.
</para>
</refsect1>
</refentry>
-
- <refentry id="function.dbplus-setindexbynumber">
+
+ <refentry id="function.dbplus-restorepos">
<refnamediv>
- <refname>dbplus_setindexbynumber</refname>
- <refpurpose>???</refpurpose>
+ <refname>dbplus_restorepos</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>
+ <funcdef>int <function>dbplus_restorepos</function></funcdef>
+ <paramdef>int <parameter>relation</parameter></paramdef>
+ <paramdef>array <parameter>tuple</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
@@ -858,19 +1044,17 @@
</refsect1>
</refentry>
- <refentry id="function.dbplus-sql">
+ <refentry id="function.dbplus-ropen">
<refnamediv>
- <refname>dbplus_sql</refname>
- <refpurpose>Perform SQL query</refpurpose>
+ <refname>dbplus_ropen</refname>
+ <refpurpose>Open relation file ... ???</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>
+ <funcdef>int <function>dbplus_ropen</function></funcdef>
+ <paramdef>string <parameter>name</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
@@ -878,22 +1062,18 @@
</para>
</refsect1>
</refentry>
-
- <refentry id="function.dbplus-tremove">
+
+ <refentry id="function.dbplus-rquery">
<refnamediv>
- <refname>dbplus_tremove</refname>
- <refpurpose>Remove tuple and return new current tuple</refpurpose>
+ <refname>dbplus_rquery</refname>
+ <refpurpose></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>
+ <funcdef>int <function>dbplus_rquery</function></funcdef>
+ <void/>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
@@ -902,95 +1082,110 @@
</refsect1>
</refentry>
- <refentry id="function.dbplus-undo">
+ <refentry id="function.dbplus-rrename">
<refnamediv>
- <refname>dbplus_undo</refname>
- <refpurpose>???</refpurpose>
+ <refname>dbplus_rrename</refname>
+ <refpurpose>Rename a relation</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
- <funcdef>int <function>dbplus_undo</function></funcdef>
- <paramdef>int <parameter>relation</parameter></paramdef>
+ <funcdef>int <function>dbplus_rrename</function></funcdef>
+ <paramdef>int <parameter>relation</parameter></paramdef>
+ <paramdef>string <parameter>name</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
+ <function>dbplus_rrename</function> will change the name of
+ <parameter>relation</parameter> to <parameter>name</parameter>.
</para>
</refsect1>
</refentry>
- <refentry id="function.dbplus-undoprepare">
+ <refentry id="function.dbplus-rsecindex">
<refnamediv>
- <refname>dbplus_undoprepare</refname>
- <refpurpose>???</refpurpose>
+ <refname>dbplus_rsecindex</refname>
+ <refpurpose>Create a new secondary index for a relation</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
- <funcdef>int <function>dbplus_undoprepare</function></funcdef>
+ <funcdef>int <function>dbplus_rsecindex</function></funcdef>
<paramdef>int <parameter>relation</parameter></paramdef>
+ <paramdef>mixed <parameter>domlist</parameter></paramdef>
+ <paramdef>int <parameter>type</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
+ <function>dbplus_rsecindex</function> will create a new secondary
+ index for <parameter>relation</parameter> with consists of the
+ domains specified by <parameter>domlist</parameter> and is of type
+ <parameter>type</parameter>
+ </para>
+ <para>
+ <parameter>domlist</parameter> may be passed as an array of
+ domain name strings or as a space separated list of names in a
+ single string.
</para>
</refsect1>
</refentry>
- <refentry id="function.dbplus-unlockrel">
+ <refentry id="function.dbplus-runlink">
<refnamediv>
- <refname>dbplus_unlockrel</refname>
- <refpurpose>Give up read-lock on relation</refpurpose>
+ <refname>dbplus_runlink</refname>
+ <refpurpose>Remove relation from filesystem</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
- <funcdef>int <function>dbplus_unlockrel</function></funcdef>
+ <funcdef>int <function>dbplus_runlink</function></funcdef>
<paramdef>int <parameter>relation</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
+ <function>dbplus_unlink</function> will close and remove the
+<parameter>relation</parameter>.
</para>
</refsect1>
</refentry>
- <refentry id="function.dbplus-unselect">
+ <refentry id="function.dbplus-rzap">
<refnamediv>
- <refname>dbplus_unselect</refname>
- <refpurpose>???</refpurpose>
+ <refname>dbplus_rzap</refname>
+ <refpurpose>Remove all tuples from relation</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
- <funcdef>int <function>dbplus_unselect</function></funcdef>
- <paramdef>int <parameter>relation</parameter></paramdef>
+ <funcdef>int <function>dbplus_rzap</function></funcdef>
+ <paramdef>int <parameter>relation</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
+ <function>dbplus_rzap</function> will remove all tuples from
+ <parameter>relation</parameter>.
</para>
</refsect1>
</refentry>
- <refentry id="function.dbplus-update">
+ <refentry id="function.dbplus-savepos">
<refnamediv>
- <refname>dbplus_update</refname>
- <refpurpose>Update specified tuple in relation</refpurpose>
+ <refname>dbplus_savepos</refname>
+ <refpurpose>???</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>
+ <funcdef>int <function>dbplus_savepos</function></funcdef>
+ <paramdef>int <parameter>relation</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
@@ -999,17 +1194,18 @@
</refsect1>
</refentry>
- <refentry id="function.dbplus-xlockrel">
+ <refentry id="function.dbplus-setindex">
<refnamediv>
- <refname>dbplus_xlockrel</refname>
- <refpurpose>Request exclusive write lock on relation</refpurpose>
+ <refname>dbplus_setindex</refname>
+ <refpurpose>???</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
- <funcdef>int <function>dbplus_xlockrel</function></funcdef>
- <paramdef>int <parameter>relation</parameter></paramdef>
+ <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;
@@ -1018,17 +1214,18 @@
</refsect1>
</refentry>
- <refentry id="function.dbplus-xunlockrel">
+ <refentry id="function.dbplus-setindexbynumber">
<refnamediv>
- <refname>dbplus_xunlockrel</refname>
- <refpurpose>Free exclusive write lock on relation</refpurpose>
+ <refname>dbplus_setindexbynumber</refname>
+ <refpurpose>???</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
- <funcdef>int <function>dbplus_xunlockrel</function></funcdef>
+ <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;
@@ -1037,349 +1234,243 @@
</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">
+ <refentry id="function.dbplus-sql">
<refnamediv>
- <refname>dbplus_find</refname>
- <refpurpose></refpurpose>
+ <refname>dbplus_sql</refname>
+ <refpurpose>Perform SQL query</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>
+ <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>
- Not implemented yet.
</para>
</refsect1>
</refentry>
-
- <refentry id="function.dbplus-freelock">
+
+ <refentry id="function.dbplus-tcl">
<refnamediv>
- <refname>dbplus_freelock</refname>
- <refpurpose></refpurpose>
+ <refname>dbplus_tcl</refname>
+ <refpurpose>Execute TCL code on server side</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>
+ <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>
- <function>dbplus_freelock</function> will release a write lock on
- the given <parameter>tuple</parameter> previously obtained by
- <function>dbplus_getlock</function>.
+ A db++ server will prepare a TCL interpreter for each client
+ connection. This interpreter will enable the server to execute
+ TCL code provided by the client as a sort of stored procedures to
+ improve the performance of database operations by avoiding
+ client/server data transfers and context switches.
</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.
+ <function>dbplus_tcl</function> needs to pass the client connection
+ id the TCL <parameter>script</parameter> code should be executed
+ by. <function>dbplus_resolve</function> will provide this
+ connection id. The function will return whatever the TCL code
+ returns or a TCL error message if the TCL code fails.
</para>
<para>
- See also <function>dbplus_freelock</function>,
- <function>dbplus_freerlocks</function>, and
- <function>dbplus_freealllocks</function>.
+ See also <function>dbplus_resolve</function>.
</para>
</refsect1>
</refentry>
- <refentry id="function.dbplus-getunique">
+ <refentry id="function.dbplus-tremove">
<refnamediv>
- <refname>dbplus_getunique</refname>
- <refpurpose></refpurpose>
+ <refname>dbplus_tremove</refname>
+ <refpurpose>Remove tuple and return new current tuple</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>
+ <funcdef>int <function>dbplus_tremove</function></funcdef>
+ <paramdef>int <parameter>relation</parameter></paramdef>
+ <paramdef>array <parameter>tuple</parameter></paramdef>
+ <paramdef>array
+ <parameter><optional>current</optional></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.
+ <function>dbplus_tremove</function> removes
+ <parameter>tuple</parameter> from <parameter>relation</parameter>
+ if it perfectly matches a tuple within the
+ relation. <parameter>current</parameter>, if given, will contain
+ the data of the new current tuple after calling
+<function>dbplus_tremove</function>.
</para>
</refsect1>
</refentry>
- <refentry id="function.dbplus-rchperm">
+ <refentry id="function.dbplus-undo">
<refnamediv>
- <refname>dbplus_rchperm</refname>
- <refpurpose></refpurpose>
+ <refname>dbplus_undo</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>
+ <funcdef>int <function>dbplus_undo</function></funcdef>
+ <paramdef>int <parameter>relation</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
- Not implemented yet.
</para>
</refsect1>
</refentry>
- <refentry id="function.dbplus-rcreate">
+ <refentry id="function.dbplus-undoprepare">
<refnamediv>
- <refname>dbplus_rcreate</refname>
- <refpurpose></refpurpose>
+ <refname>dbplus_undoprepare</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>
+ <funcdef>int <function>dbplus_undoprepare</function></funcdef>
+ <paramdef>int <parameter>relation</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
- Not implemented yet.
</para>
</refsect1>
</refentry>
- <refentry id="function.dbplus-rcrtexact">
+ <refentry id="function.dbplus-unlockrel">
<refnamediv>
- <refname>dbplus_rcrtexact</refname>
- <refpurpose></refpurpose>
+ <refname>dbplus_unlockrel</refname>
+ <refpurpose>Give up write lock on relation</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>
+ <funcdef>int <function>dbplus_unlockrel</function></funcdef>
+ <paramdef>int <parameter>relation</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
- Not implemented yet.
+ <function>dbplus_unlockrel</function> will release a write lock
+ previously obtained by <function>dbplus_lockrel</function>.
</para>
</refsect1>
</refentry>
- <refentry id="function.dbplus-rcrtlike">
+ <refentry id="function.dbplus-unselect">
<refnamediv>
- <refname>dbplus_rcrtlike</refname>
- <refpurpose></refpurpose>
+ <refname>dbplus_unselect</refname>
+ <refpurpose>Remove a constraint from relation</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>
+ <funcdef>int <function>dbplus_unselect</function></funcdef>
+ <paramdef>int <parameter>relation</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
- Not implemented yet.
+ Calling <function>dbplus_unselect</function> will remove a
+ constraint previously set by <function>dbplus_find</function> on
+ <parameter>relation</parameter>.
</para>
</refsect1>
</refentry>
- <refentry id="function.dbplus-resolve">
+ <refentry id="function.dbplus-update">
<refnamediv>
- <refname>dbplus_resolve</refname>
- <refpurpose></refpurpose>
+ <refname>dbplus_update</refname>
+ <refpurpose>Update specified tuple in relation</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>
+ <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>
- Not implemented yet.
+ <function>dbplus_update</function> replaces the tuple given by
+ <parameter>old</parameter> with the data from
+ <parameter>new</parameter> if and only if
+ <parameter>old</parameter> completely matches a tuple within
+ <parameter>relation</parameter>.
</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">
+ <refentry id="function.dbplus-xlockrel">
<refnamediv>
- <refname>dbplus_rquery</refname>
- <refpurpose></refpurpose>
+ <refname>dbplus_xlockrel</refname>
+ <refpurpose>Request exclusive lock on relation</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcprototype>
- <funcdef>int <function>dbplus_rquery</function></funcdef>
- <void/>
+ <funcdef>int <function>dbplus_xlockrel</function></funcdef>
+ <paramdef>int <parameter>relation</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
+ <function>dbplus_xlockrel</function> will request an exclusive
+ lock on <parameter>relation</parameter> preventing even read
+ access from other clients.
</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.
+ See also <function>dbplus_xunlockrel</function>.
</para>
</refsect1>
</refentry>
- <refentry id="function.dbplus-rsecindex">
+ <refentry id="function.dbplus-xunlockrel">
<refnamediv>
- <refname>dbplus_rsecindex</refname>
- <refpurpose></refpurpose>
+ <refname>dbplus_xunlockrel</refname>
+ <refpurpose>Free exclusive lock on relation</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>
+ <funcdef>int <function>dbplus_xunlockrel</function></funcdef>
+ <paramdef>int <parameter>relation</parameter></paramdef>
</funcprototype>
</funcsynopsis>
&warn.experimental.func;
<para>
- Not implemented yet.
+ <function>dbplus_xunlockrel</function> will release an exclusive
+ lock on <parameter>relation</parameter> previously obtained by
+<function>dbplus_xlockrel</function>.
</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>