Difference between revisions of "Client Module"

From BaseX Documentation
Jump to navigation Jump to search
Line 11: Line 11:
 
| valign='top' | '''Summary'''
 
| valign='top' | '''Summary'''
 
|This function establishes a connection to a remote BaseX server and creates a new client session. As a result, a session id is returned. The parameter <code>$host</code> is the name of the database server, <code>$host</code> specifies the database host, and <code>$user</code> and <code>$password</code> represent the login data.
 
|This function establishes a connection to a remote BaseX server and creates a new client session. As a result, a session id is returned. The parameter <code>$host</code> is the name of the database server, <code>$host</code> specifies the database host, and <code>$user</code> and <code>$password</code> represent the login data.
|-
 
| valign='top' | '''Errors'''
 
|<b>BXCL0001</b> is raised if a connection error occurs (e.g., if the addressed server is not available).
 
 
|}
 
|}
  
Line 24: Line 21:
 
| valign='top' | '''Summary'''
 
| valign='top' | '''Summary'''
 
| This function executes a database command and returns the result as string. The parameter <code>$id</code> contains the session id returned by [[Client Module#client:connect|client:connect()]]. The <code>$command</code> represents the database command string, which will be executed by the server.
 
| This function executes a database command and returns the result as string. The parameter <code>$id</code> contains the session id returned by [[Client Module#client:connect|client:connect()]]. The <code>$command</code> represents the database command string, which will be executed by the server.
|-
 
| valign='top' | '''Errors'''
 
|<b>BXCL0002</b> is raised if the specified session id is unknown.<br/><b>BXCL0003</b> is raised if an error occurs while executing the command.<br/>
 
 
|-
 
|-
 
| valign='top' | '''Examples'''
 
| valign='top' | '''Examples'''
Line 44: Line 38:
 
| valign='top' | '''Summary'''
 
| valign='top' | '''Summary'''
 
| This function evaluates a query and returns the result as sequence. The parameter <code>$id</code> contains the session id returned by [[Client Module#client:connect|client:connect()]], and  <code>$query</code> represents the queru string, which will be evaluated by the server.
 
| This function evaluates a query and returns the result as sequence. The parameter <code>$id</code> contains the session id returned by [[Client Module#client:connect|client:connect()]], and  <code>$query</code> represents the queru string, which will be evaluated by the server.
|-
 
| valign='top' | '''Errors'''
 
|<b>BXCL0002</b> is raised if the specified session id is unknown.<br/><b>BXCL0003</b> is raised if an error occurs while evaluating the query.<br/>
 
 
|-
 
|-
 
| valign='top' | '''Examples'''
 
| valign='top' | '''Examples'''
Line 67: Line 58:
 
| valign='top' | '''Summary'''
 
| valign='top' | '''Summary'''
 
| This function closes a client session. <code>$id</code> specifies the session id.
 
| This function closes a client session. <code>$id</code> specifies the session id.
|-
 
| valign='top' | '''Errors'''
 
|<b>[[XQuery Errors#SQL Functions Errors|FOSQ0001]]</b> is raised if an SQL exception occurs.<br/ >
 
<b>[[XQuery Errors#SQL Functions Errors|FOSQ0002]]</b> is raised if a wrong connection handle is passed.<br/ >
 
 
|}
 
|}
 +
 +
=Errors=
 +
 +
* <b>BXCL0001</b> is raised if a connection error occurs (e.g., if the addressed server is not available).
 +
* <b>BXCL0002</b> is raised if the specified session id is unknown.
 +
* <b>BXCL0003</b> is raised if an error occurs while executing the command.
  
 
=Changelog=
 
=Changelog=

Revision as of 17:28, 25 May 2012

This XQuery Module contains functions to access remote BaseX server instances from XQuery. With this module, you can both execute commands and perform queries, and the result sets are returned as valid sequences using the correct XDM data types. All functions use the client prefix, which is linked to the statically declared http://basex.org/modules/client namespace.

Functions

client:connect

Signatures client:connect($host as xs:string, $post as xs:integer, $user as xs:string, $password as xs:string) as xs:anyURI
Summary This function establishes a connection to a remote BaseX server and creates a new client session. As a result, a session id is returned. The parameter $host is the name of the database server, $host specifies the database host, and $user and $password represent the login data.

client:execute

Signatures client:execute($id as xs:anyURI, $command as xs:string) as xs:string
Summary This function executes a database command and returns the result as string. The parameter $id contains the session id returned by client:connect(). The $command represents the database command string, which will be executed by the server.
Examples The following query creates a new database TEST on a remote BaseX server:
let $c := client:connect('basex.server.org', 8080, 'admin', 'admin')
return client:execute($c, 'create database TEST')

client:query

Signatures client:query($id as xs:anyURI, $query as xs:string) as item()*
Summary This function evaluates a query and returns the result as sequence. The parameter $id contains the session id returned by client:connect(), and $query represents the queru string, which will be evaluated by the server.
Examples The following query performs a query on a first server, the results of which are passed on to a second server:
let $c1 := client:connect('server1.basex.org', 8080, 'jack', 'C0S19tt2X')
let $c2 := client:connect('server2.basex.org', 8080, 'john', '465wFHe26')
return
  for $c in client:query($c1, '1 to 10')
  return client:query($c1, $c || '* 2')

client:close

Signatures client:close($id as xs:anyURI) as empty-sequence()
Summary This function closes a client session. $id specifies the session id.

Errors

  • BXCL0001 is raised if a connection error occurs (e.g., if the addressed server is not available).
  • BXCL0002 is raised if the specified session id is unknown.
  • BXCL0003 is raised if an error occurs while executing the command.

Changelog

The module was introduced with Version 7.2.2.