Difference between revisions of "Database Module"
Jump to navigation
Jump to search
Line 8: | Line 8: | ||
|- | |- | ||
| valign='top' | '''Summary''' | | valign='top' | '''Summary''' | ||
− | | | + | |Lists information on the database system, including the database path and current database settings.<br /> |
|} | |} | ||
Line 18: | Line 18: | ||
|- | |- | ||
| valign='top' | '''Summary''' | | valign='top' | '''Summary''' | ||
− | | | + | |Returns an <code>xs:string</code> sequence with the names of all databases.<br /> |
|} | |} | ||
Line 28: | Line 28: | ||
|- | |- | ||
| valign='top' | '''Summary''' | | valign='top' | '''Summary''' | ||
− | | | + | |Returns a sequence with all document nodes contained in the database specified by <code>$name</code>. The name of the database may be extended by a collection path.<br /> |
|- | |- | ||
| valign='top' | '''Examples''' | | valign='top' | '''Examples''' | ||
Line 44: | Line 44: | ||
|- | |- | ||
| valign='top' | '''Summary''' | | valign='top' | '''Summary''' | ||
− | | | + | |Opens the database specified by <code>$name</code> and returns the node with the specified <code>$pre</code> value.<br /> |
|- | |- | ||
| valign='top' | '''Examples''' | | valign='top' | '''Examples''' | ||
Line 60: | Line 60: | ||
|- | |- | ||
| valign='top' | '''Summary''' | | valign='top' | '''Summary''' | ||
− | | | + | |Opens the database specified by <code>$name</code> and returns the node with the specified <code>$id</code> value.<br />In contrast to the <i>pre</i> value, the <i>id</i> will remain valid after update operations.<br /> |
|- | |- | ||
| valign='top' | '''Errors''' | | valign='top' | '''Errors''' | ||
Line 73: | Line 73: | ||
|- | |- | ||
| valign='top' | '''Summary''' | | valign='top' | '''Summary''' | ||
− | | | + | |Returns the <i>pre</i> values of all database nodes specified by <code>$nodes</code>. <i>pre</i> values are direct, internal pointers to database nodes, which might be changed by updates.<br /> |
|- | |- | ||
| valign='top' | '''Examples''' | | valign='top' | '''Examples''' | ||
Line 86: | Line 86: | ||
|- | |- | ||
| valign='top' | '''Summary''' | | valign='top' | '''Summary''' | ||
− | | | + | |Returns the <i>id</i> values of all database nodes specified by <code>$nodes</code>. <i>id</i> values are pointers to database nodes, which are not changed by updates.<br /> |
|} | |} | ||
Line 96: | Line 96: | ||
|- | |- | ||
| valign='top' | '''Summary''' | | valign='top' | '''Summary''' | ||
− | | | + | |Returns all text nodes from the text index that have <code>$string</code> as their string value.<br /> |
|- | |- | ||
| valign='top' | '''Examples''' | | valign='top' | '''Examples''' | ||
Line 112: | Line 112: | ||
|- | |- | ||
| valign='top' | '''Summary''' | | valign='top' | '''Summary''' | ||
− | | | + | |Returns all attribute nodes from the attribute index that have <code>$string</code> as their string value.<br />If <code>$name</code> is specified, the resulting attribute nodes are filtered by their attribute name.<br /> |
|- | |- | ||
| valign='top' | '''Examples''' | | valign='top' | '''Examples''' | ||
Line 128: | Line 128: | ||
|- | |- | ||
| valign='top' | '''Summary''' | | valign='top' | '''Summary''' | ||
− | | | + | |Returns all text nodes from the full-text index that contain the string <code>$text</code>. 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.<br /> |
|- | |- | ||
| valign='top' | '''Examples''' | | valign='top' | '''Examples''' | ||
Line 144: | Line 144: | ||
|- | |- | ||
| valign='top' | '''Summary''' | | valign='top' | '''Summary''' | ||
− | | | + | |Returns information on the database that is referenced by the current context item.<br />If <code>$type</code> is specified, the function returns information on a database index. It must be one of the values <code>TEXT</code>, <code>ATTRIBUTE</code>, <code>FULLTEXT</code>, <code>PATH</code>, <code>TAG</code>, or <code>ATTNAME</code>.<br /> |
|- | |- | ||
| valign='top' | '''Errors''' | | valign='top' | '''Errors''' |
Revision as of 21:13, 22 April 2011
This module contains XQuery Functions 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, which is linked to the http://www.basex.org/db
namespace.
Contents
db:system
Signatures | db:system() as xs:string |
Summary | Lists information on the database system, including the database path and current database settings. |
db:list
Signatures | db:list() as xs:string* |
Summary | Returns an xs:string sequence with the names of all databases. |
db:open
Signatures | db:open($name as xs:string) as document-node()* |
Summary | Returns a sequence with all document nodes contained in 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 | db:open-pre($name as xs:string, $pre as xs:integer) as node() |
Summary | Opens the database specified by $name and returns the node with the specified $pre value. |
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 | db:open-id($name as xs:string, $id as xs:integer) as node() |
Summary | Opens the database specified by $name and returns the node with the specified $id value.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 | db:node-pre($nodes as node()*) as xs:integer* |
Summary | 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-id
Signatures | db:node-id($nodes as node()*) as xs:integer* |
Summary | 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 | db:text($string as item()) as text()* |
Summary | Returns all text nodes from the text index that have $string as their 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 | db:attribute($string as item()) as attribute()* db:attribute($string as item(), $name as xs:string) as attribute()* |
Summary | Returns all attribute nodes from the attribute index that have $string as their 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 | db:fulltext($text as xs:string) as text() |
Summary | Returns all text nodes from the full-text index 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 | db:info() as xs:string db:info($type as xs:string) as xs:string |
Summary | Returns information on the database that is referenced by the current context item. If $type is specified, the function 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. |