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>