Difference between revisions of "Database Module"
Jump to navigation
Jump to search
(based on docs2wiki.xq) |
|||
| Line 5: | Line 5: | ||
|- | |- | ||
| valign='top' width='90' | '''Signatures''' | | valign='top' width='90' | '''Signatures''' | ||
| − | |<code><b>db:system</b>() as xs:string</code><br /> | + | |<code> |
| + | <b>db:system</b>() as xs:string</code> | ||
| + | <br /> | ||
|- | |- | ||
| valign='top' | '''Summary''' | | valign='top' | '''Summary''' | ||
| Line 18: | Line 20: | ||
|- | |- | ||
| valign='top' width='90' | '''Signatures''' | | valign='top' width='90' | '''Signatures''' | ||
| − | |<code><b>db:list</b>() as xs:string*</code><br /> | + | |<code> |
| + | <b>db:list</b>() as xs:string*</code> | ||
| + | <br /> | ||
|- | |- | ||
| valign='top' | '''Summary''' | | valign='top' | '''Summary''' | ||
| Line 31: | Line 35: | ||
|- | |- | ||
| valign='top' width='90' | '''Signatures''' | | valign='top' width='90' | '''Signatures''' | ||
| − | |<code><b>db:open</b>($name as xs:string) as document-node()</code><br /> | + | |<code> |
| + | <b>db:open</b>($name as xs:string) as document-node()</code> | ||
| + | <br /> | ||
|- | |- | ||
| valign='top' | '''Summary''' | | valign='top' | '''Summary''' | ||
| Line 50: | Line 56: | ||
|- | |- | ||
| valign='top' width='90' | '''Signatures''' | | valign='top' width='90' | '''Signatures''' | ||
| − | |<code><b>db:open-pre</b>($name as xs:string, $pre as xs:integer) as node()</code><br /> | + | |<code> |
| + | <b>db:open-pre</b>($name as xs:string, $pre as xs:integer) as node()</code> | ||
| + | <br /> | ||
|- | |- | ||
| valign='top' | '''Summary''' | | valign='top' | '''Summary''' | ||
| Line 69: | Line 77: | ||
|- | |- | ||
| valign='top' width='90' | '''Signatures''' | | valign='top' width='90' | '''Signatures''' | ||
| − | |<code><b>db:open-id</b>($name as xs:string, $id as xs:integer) as node()</code><br /> | + | |<code> |
| + | <b>db:open-id</b>($name as xs:string, $id as xs:integer) as node()</code> | ||
| + | <br /> | ||
|- | |- | ||
| valign='top' | '''Summary''' | | valign='top' | '''Summary''' | ||
| Line 79: | Line 89: | ||
| valign='top' | '''Errors''' | | valign='top' | '''Errors''' | ||
|<b>[BASX0004]</b> is raised if the specified <code>$id</code> does not exist in the database.<br /> | |<b>[BASX0004]</b> is raised if the specified <code>$id</code> does not exist in the database.<br /> | ||
| + | |} | ||
| + | |||
| + | ==db:node-pre== | ||
| + | {| | ||
| + | |- | ||
| + | | valign='top' width='90' | '''Signatures''' | ||
| + | |<code> | ||
| + | <b>db:node-pre</b>($nodes as node()*) as node()</code> | ||
| + | <br /> | ||
| + | |- | ||
| + | | valign='top' | '''Summary''' | ||
| + | |Returns the <code>pre</code> values of database nodes. | ||
| + | |- | ||
| + | | valign='top' | '''Rules''' | ||
| + | |This function returns the <code>pre</code> values of all database nodes specified by <code>$nodes</code>. <code>pre</code> values are direct, internal pointers to database nodes, which might be changed by updates.<br /> | ||
| + | |- | ||
| + | | valign='top' | '''Examples''' | ||
| + | |The expression <code>db:node-pre(doc("input"))</code> returns <code>0</code> if the database <code>input</code> contains a single document.<br /> | ||
| + | |} | ||
| + | |||
| + | ==db:node-pre== | ||
| + | {| | ||
| + | |- | ||
| + | | valign='top' width='90' | '''Signatures''' | ||
| + | |<code> | ||
| + | <b>db:node-pre</b>($nodes as node()*) as node()</code> | ||
| + | <br /> | ||
| + | |- | ||
| + | | valign='top' | '''Summary''' | ||
| + | |Returns the <code>id</code> values of database nodes. | ||
| + | |- | ||
| + | | valign='top' | '''Rules''' | ||
| + | |This function returns the <code>id</code> values of all database nodes specified by <code>$nodes</code>. <code>id</code> values are pointers to database nodes, which are not changed by updates.<br /> | ||
|} | |} | ||
| Line 85: | Line 128: | ||
|- | |- | ||
| valign='top' width='90' | '''Signatures''' | | valign='top' width='90' | '''Signatures''' | ||
| − | |<code><b>db:text</b>($string as item()) as text()*</code><br /> | + | |<code> |
| + | <b>db:text</b>($string as item()) as text()*</code> | ||
| + | <br /> | ||
|- | |- | ||
| valign='top' | '''Summary''' | | valign='top' | '''Summary''' | ||
| Line 97: | Line 142: | ||
|- | |- | ||
| valign='top' | '''Errors''' | | valign='top' | '''Errors''' | ||
| − | |<b>[BASX0001]</b> is raised if the index is not available.<br /><b>[BASX0002]</b> is raised if the context item does not represent a database node.<br /> | + | |<b>[BASX0001]</b> is raised if the index is not available.<br /> |
| + | <b>[BASX0002]</b> is raised if the context item does not represent a database node.<br /> | ||
|} | |} | ||
| Line 104: | Line 150: | ||
|- | |- | ||
| valign='top' width='90' | '''Signatures''' | | valign='top' width='90' | '''Signatures''' | ||
| − | |<code><b>db:attribute</b>($string as item()) as attribute()*</code><br /><code><b>db:attribute</b>($string as item(), $name as xs:string) as attribute()*</code><br /> | + | |<code> |
| + | <b>db:attribute</b>($string as item()) as attribute()*</code> | ||
| + | <br /> | ||
| + | <code> | ||
| + | <b>db:attribute</b>($string as item(), $name as xs:string) as attribute()*</code> | ||
| + | <br /> | ||
|- | |- | ||
| valign='top' | '''Summary''' | | valign='top' | '''Summary''' | ||
| Line 116: | Line 167: | ||
|- | |- | ||
| valign='top' | '''Errors''' | | valign='top' | '''Errors''' | ||
| − | |<b>[BASX0001]</b> is raised if the index is not available.<br /><b>[BASX0002]</b> is raised if the context item does not represent a database node.<br /> | + | |<b>[BASX0001]</b> is raised if the index is not available.<br /> |
| + | <b>[BASX0002]</b> is raised if the context item does not represent a database node.<br /> | ||
|} | |} | ||
| Line 123: | Line 175: | ||
|- | |- | ||
| valign='top' width='90' | '''Signatures''' | | valign='top' width='90' | '''Signatures''' | ||
| − | |<code><b>db:fulltext</b>($text as xs:string) as text()</code><br /> | + | |<code> |
| + | <b>db:fulltext</b>($text as xs:string) as text()</code> | ||
| + | <br /> | ||
|- | |- | ||
| valign='top' | '''Summary''' | | valign='top' | '''Summary''' | ||
| Line 135: | Line 189: | ||
|- | |- | ||
| valign='top' | '''Errors''' | | valign='top' | '''Errors''' | ||
| − | |<b>[BASX0001]</b> is raised if the index is not available.<br /><b>[BASX0002]</b> is raised if the context item does not represent a database node.<br /> | + | |<b>[BASX0001]</b> is raised if the index is not available.<br /> |
| + | <b>[BASX0002]</b> is raised if the context item does not represent a database node.<br /> | ||
|} | |} | ||
| Line 142: | Line 197: | ||
|- | |- | ||
| valign='top' width='90' | '''Signatures''' | | valign='top' width='90' | '''Signatures''' | ||
| − | |<code><b>db:info</b>() as xs:string</code><br /><code><b>db:info</b>($type as xs:string) as xs:string</code><br /> | + | |<code> |
| + | <b>db:info</b>() as xs:string</code> | ||
| + | <br /> | ||
| + | <code> | ||
| + | <b>db:info</b>($type as xs:string) as xs:string</code> | ||
| + | <br /> | ||
|- | |- | ||
| valign='top' | '''Summary''' | | valign='top' | '''Summary''' | ||
| Line 151: | Line 211: | ||
|- | |- | ||
| valign='top' | '''Errors''' | | valign='top' | '''Errors''' | ||
| − | |<b>[BASX0001]</b> is raised if the specified index is not available.<br /><b>[BASX0002]</b> is raised if the context item does not represent a database node.<br /> | + | |<b>[BASX0001]</b> is raised if the specified index is not available.<br /> |
| + | <b>[BASX0002]</b> is raised if the context item does not represent a database node.<br /> | ||
|} | |} | ||
[[Category:XQuery]] | [[Category:XQuery]] | ||
Revision as of 13:19, 10 January 2011
This module contains methods to list and open databases, explicitly apply available index structures, or get information on the database structure. All functions are introduced with the db: prefix.
Contents
db:system
| Signatures |
|
| Summary | Lists information on the database system. |
| Rules | This function returns a simple string with general information on the database system, such as the database path and current database settings. |
db:list
| Signatures |
|
| Summary | Lists all databases. |
| Rules | This function returns a xs:string sequence with the names of all databases. |
db:open
| Signatures |
|
| Summary | Retrieves documents from a database. |
| Rules | This function opens the documents of the database specified by $name. The name of the database may be extended by a collection path. |
| Examples | The expression db:open("docs") returns all documents from the database named docs.The expression db:open("docs/one") returns all documents from the database named docs in the subpath one. |
| Errors | [BASX0003] is raised if the database is not found. |
db:open-pre
| Signatures |
|
| Summary | Returns a specific database node. |
| Rules | This function opens the database specified by $name and returns the node with the pre value specified by $pre. |
| Examples | The expression db:open-pre("docs", 0) returns the first database node from the database named docs. |
| Errors | [BASX0004] is raised if the specified $pre value does not exist in the database. |
db:open-id
| Signatures |
|
| Summary | Returns a specific database node. |
| Rules | This function opens the database specified by $name and returns the node with the id value specified by $id.In contrast to the pre value, the id will remain valid after update operations. |
| Errors | [BASX0004] is raised if the specified $id does not exist in the database. |
db:node-pre
| Signatures |
|
| Summary | Returns the pre values of database nodes.
|
| Rules | This function returns the pre values of all database nodes specified by $nodes. pre values are direct, internal pointers to database nodes, which might be changed by updates. |
| Examples | The expression db:node-pre(doc("input")) returns 0 if the database input contains a single document. |
db:node-pre
| Signatures |
|
| Summary | Returns the id values of database nodes.
|
| Rules | This function returns the id values of all database nodes specified by $nodes. id values are pointers to database nodes, which are not changed by updates. |
db:text
| Signatures |
|
| Summary | Returns results from a text index request. |
| Rules | This function accesses the text index and returns all text nodes that have $string as string value. |
| Examples | The expression db:text("QUERY") returns all text nodes of the currently opened database that match the string QUERY.The expression db:open("DB")/db:text("QUERY")/.. returns the parents of all text nodes of the database DB that match the string QUERY. |
| Errors | [BASX0001] is raised if the index is not available. [BASX0002] is raised if the context item does not represent a database node. |
db:attribute
| Signatures |
|
| Summary | Returns results from a attribute index request. |
| Rules | This function accesses the attribute index and returns all attribute nodes that have $string as string value.If $name is specified, the resulting attribute nodes are filtered by their attribute name. |
| Examples | The expression db:open("DB")/db:attribute("QUERY", "id")/.. returns the parents of all attribute nodes of the database DB that have QUERY as string value. |
| Errors | [BASX0001] is raised if the index is not available. [BASX0002] is raised if the context item does not represent a database node. |
db:fulltext
| Signatures |
|
| Summary | Returns results from a full-text index request. |
| Rules | This function accesses the full-text index and returns all text nodes that contain the string $text. The index full-text options are used for searching, i.e., if the index terms were stemmed, the search string will be stemmed as well. |
| Examples | The expression db:fulltext("QUERY") returns all text nodes of the currently opened database that contain the string QUERY. |
| Errors | [BASX0001] is raised if the index is not available. [BASX0002] is raised if the context item does not represent a database node. |
db:info
| Signatures |
|
| Summary | Returns database information. |
| Rules | This function returns information on the database that is referenced by the current context item. If $type is specified, the funnction returns information on a database index. It must be one of the values TEXT, ATTRIBUTE, FULLTEXT, PATH, TAG, or ATTNAME. |
| Errors | [BASX0001] is raised if the specified index is not available. [BASX0002] is raised if the context item does not represent a database node. |