Changes

Jump to navigation Jump to search
927 bytes added ,  12:53, 8 July 2020
no edit summary
Lines starting with <code>#</code> are interpreted as comments and are skipped. With the following script, a database is created, two documents are added to it, and a query is performed:
<pre classsyntaxhighlight lang="brush:xml">
CREATE DB test
ADD TO embedded.xml <root>embedded</root>
XQUERY <hits>{ count(//text()) }</hits>
CLOSE
</presyntaxhighlight>
===XML Syntax===
The XML syntax provides more flexibility here. Multiple commands can be enclosed by a {{Code|<commands/>}} root element. Some commands, such as {{Command|ADD}}, allow you to directly embed XML documents. If you want to embed XML in XQuery expressions, entities should be encoded, or the {{Code|CDATA}} syntax should be used:
<pre classsyntaxhighlight lang="brush:xml">
<commands>
<create-db name='test'/>
<close/>
</commands>
</presyntaxhighlight>
==Glob Syntax==
* {{Code|name}} must be a [[#Valid Names|valid database name]]
* database creation can be controlled by setting [[Options#Create Options|Create Options]]
If you need to add initial resources, it is always faster to supply them at creation time than adding them in a subsequent step via {{Command|ADD}}.
|-
| '''Errors'''
* {{Code|CREATE DB xmark http://files.basex.org/xml/xmark.xml}}<br/>creates the database {{Code|xmark}}, containing a single initial document called {{Code|xmark.xml}}.
* {{Code|CREATE DATABASE coll /path/to/input}}<br/>creates the database {{Code|coll}} with all documents found in the {{Code|input}} directory.
* {{Code|SET INTPARSE false; }} and {{Code|CREATE DB input input.xml}}<br/>creates a database {{Code|input}} with {{Code|input.xml}} as initial document, which will be parsed with Java's [[Parsers#XML Parsers|default XML parser]].
* <code><create-db name='simple'><hello>Universe</hello></create-db></code><br/>creates a database named {{Code|simple}} with an initial document {{Code|<hello>Universe</hello>}}.
|}
|-
| '''Summary'''
|This convenience command combines {{Command|OPEN}} and {{Command|CREATE DB}}: if If a database with the name {{Code|input}} exists, it and if there is no existing file or directory with the same name that has a newer timestamp, the database is opened. Otherwise, a new database is created; if the specified input points to an existing resource, it is stored as initial content.
|-
| '''Errors'''
|The command fails if no database is opened, if the specified index is unknown, or if it could not be deleted for some other reason.
|}
 
=Administration=
==ALTER DB==
|}
==CREATE BACKUPCOPY==
{| width='100%'
|-
|width='130'|'''Syntax'''
|{{Code|CREATE BACKUP COPY [name] [newname]}}
|-
| '''XML&nbsp;Syntax'''&nbsp;&nbsp;&nbsp;
|<code><create-backup copy name='...' newname='...'/></code><br/>
|-
| '''Permission'''
|-
| '''Summary'''
|Creates a zipped backup copy of the database specified by {{Code|name}}. The backup file will {{Code|newname}} must be suffixed with the current timestamp and stored in the database directory. The a [[#Glob SyntaxValid Names|Glob Syntaxvalid database name]] can be used to address more than one database.
|-
| '''Errors'''
|The command fails if the specified target database does not existalready exists, or if it could not be zipped for some other reason.|-| '''Examples'''|* {{Code|BACKUP db}}<br/>creates a zip archive of the source database {{Code|db}} (e.g. {{Code|db-2014-04-01-12-27-28.zip}}) in the [[Configuration#Database_Directory|database directory]]does not exist.
|}
=Administration=RESTORE ==CREATE BACKUP==
{| width='100%'
|-
|width='130'|'''Syntax'''
|{{Code|RESTORE CREATE BACKUP [name]}}
|-
| '''XML&nbsp;Syntax'''&nbsp;&nbsp;&nbsp;
|<code><restore create-backup name='...'/></code><br/>
|-
| '''Permission'''
|-
| '''Summary'''
|Restores Creates a zipped backup of the database with the specified by {{Code|name}}. The name may include backup file will be suffixed with the current timestamp of and stored in the backup filedatabase directory. The [[#Glob Syntax|Glob Syntax]] can be used to address more than one database.
|-
| '''Errors'''
|The command fails if the specified backup database does not exist, if the database to be restored is currently locked, or if it could not be restored zipped for some other reason.|-| '''Examples'''|* {{Code|BACKUP db}}<br/>creates a zip archive of the database {{Code|db}} (e.g. {{Code|db-2014-04-01-12-27-28.zip}}) in the [[Configuration#Database_Directory|database directory]].
|}
==INSPECTDROP BACKUP==
{| width='100%'
|-
|width='130'|'''Syntax'''
|{{Code|INSPECTDROP BACKUP [name]}}
|-
| '''XML&nbsp;Syntax'''&nbsp;&nbsp;&nbsp;
|<code><inspectdrop-backup name='...'/></code><br/>
|-
| '''Permission'''
|''READCREATE''
|-
| '''Summary'''
|Performs some integrity checks on Drops all backups of the opened database and returns a brief summarywith the specified {{Code|name}}. The [[#Glob Syntax|Glob Syntax]] can be used to address more than one database.|-| '''Examples'''|* {{Code|DROP BACKUP abc*}}<br/>deletes the backups of all databases starting with the characters {{Code|abc}}.
|}
==DROP ALTER BACKUP==
{| width='100%'
|-
|width='130'|'''Syntax'''
|{{Code|DROP ALTER BACKUP [name] [newname]}}
|-
| '''XML&nbsp;Syntax'''&nbsp;&nbsp;&nbsp;
|<code><dropalter-backup name='...' newname='...'/></code><br/>
|-
| '''Permission'''
|-
| '''Summary'''
|Drops Renames all backups of the database with the specified {{Code|name}}to {{Code|new-name}}. The directory inside the archive will be renamed as well. The [[#Glob Syntax|Glob Syntax]] can be used to address more than one database.
|-
| '''Examples'''
|
* {{Code|DROP ALTER BACKUP abc*logs logs-backup}}<br/>deletes renames the backups of all databases starting with the characters {{Code|abclogs}} database to {{Code|logs-backup}}.
|}
|}
==COPYRESTORE==
{| width='100%'
|-
|width='130'|'''Syntax'''
|{{Code|COPY RESTORE [name] [newname]}}
|-
| '''XML&nbsp;Syntax'''&nbsp;&nbsp;&nbsp;
|<code><copy restore name='...' newname='...'/></code><br/>
|-
| '''Permission'''
|-
| '''Summary'''
|Creates Restores a copy of database with the database specified by {{Code|name}}. {{Code|newname}} must be a [[#Valid Names|valid database The name]]may include the timestamp of the backup file.
|-
| '''Errors'''
|The command fails if the target specified backup does not exist, if the database already existsto be restored is currently locked, or if it could not be restored for some other reason.|} ==INSPECT== {| width='100%'|-|width='130'|'''Syntax'''|{{Code|INSPECT}}|-| '''XML&nbsp;Syntax'''&nbsp;&nbsp;&nbsp;|<code><inspect/></code>|-| '''Permission'''|''READ''|-| '''Summary'''|Performs some integrity checks on the source opened database does not existand returns a brief summary.
|}
|
* <code>XQUERY 1 to 10</code><br/>returns the sequence {{Code|(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)}}.
* <code>SET RUNS 10; </code> and <code>XQUERY 1 to 10</code><br/>returns the results after having run the query 10 times.* <code>SET XMLPLAN true; </code> and <code>XQUERY 1 to 10</code><br/>returns the result and prints the query plan as XML.
|}
==SHOW USERS==
 
{{Mark|Updated with Version 8.6}}: If called by non-admins, will only return the current user
{| width='100%'
|-
| '''Summary'''
|Returns information on all jobs that are currently queued or executed. See {{Function|Jobs|jobs:list-details}} for more details on the returned table entries.
|}
|-
| '''Summary'''
|Drops the user with the specified {{Code|name}}. The [[#Glob Syntax|Glob Syntax]] can be used to address more than one database or user. If a glob {{Code|pattern}} is specified, only the assigned database pattern will be removed.
|-
| '''Errors'''
| '''Examples'''
|
* <code>EXECUTE "create db db1; create db db2"</code><br/>* <code>EXECUTE "<commands><create-db name='db1'/><create-db name='db2'/></commands>"</code><br/>both commands Two databases will create two databases {{Code|db1}} and {{Code|db2}} be created in a single transaction.
|}
=Changelog=
 
;Version 9.3
* Added: {{Command|ALTER BACKUP}}
;Version 8.6
Bureaucrats, editor, reviewer, Administrators
13,550

edits

Navigation menu