Difference between revisions of "Admin Module"

From BaseX Documentation
Jump to navigation Jump to search
Line 17: Line 17:
 
|-
 
|-
 
| '''Summary'''
 
| '''Summary'''
|Returns an element sequence with all currently opened client sessions, including the user name, address (IP:port) and an optionally opened database.<br/>The output of this function and the {{Command|SHOW SESSIONS}} command is similar.
+
|Returns an element sequence with all currently opened database sessions, including the user name, address (IP:port) and an optionally opened database.<br/>The output of this function and the {{Command|SHOW SESSIONS}} command is similar.
 
|-
 
|-
 
| '''Examples'''
 
| '''Examples'''

Revision as of 10:50, 6 March 2018

This XQuery Module contains functions for performing admin-centric operations such as managing database users and log data.

Conventions

Template:Mark

All functions and errors in this module are assigned to the http://basex.org/modules/admin namespace, which is statically bound to the admin prefix.

Functions

admin:sessions

Signatures admin:sessions() as element(session)*
Summary Returns an element sequence with all currently opened database sessions, including the user name, address (IP:port) and an optionally opened database.
The output of this function and the SHOW SESSIONS command is similar.
Examples
  • admin:sessions() may e.g. return <session user="admin" address="127.0.0.1:6286" database="factbook"/>

admin:logs

Signatures admin:logs() as element(file)*
admin:logs($date as xs:string) as element(entry)*
admin:logs($date as xs:string, $merge as xs:boolean) as element(entry)*
Summary Returns Logging data compiled by the database or HTTP server:
  • If no argument is specified, a list of all log files will be returned, including the file size and date.
  • If a $date is specified, the contents of a single log file will be returned.
  • If $merge is set to true, related log entries will be merged. Please note that the merge might not be 100% successful, as log entries may be ambiguous.
Examples
  • admin:logs() may return <file size="834367"/>2015-01-23</file> if a single log file exists.
  • admin:logs() ! admin:logs(.) lists the contents of all log files.

admin:write-log

Signatures admin:write-log($text as xs:string) as empty-sequence()
admin:write-log($text as xs:string, $type as xs:string) as empty-sequence()
Summary Writes a string to the database logs, along with current user data (timestamp, user name). An optional log $type can be specified, which must consist of letters in upper case. If omitted, the log type is INFO.
If the function is called from a database client, the IP will be logged. Otherwise, the string SERVER will be logged.
Errors type: Log type must consist of uppercase letters.

admin:delete-logs

Signatures admin:delete-logs($date as xs:string) as empty-sequence()
Summary Deletes the log entries from the specified $date
Errors today: Today's log file cannot be deleted.
delete: An error occurred while deleting a log file.

Errors

Template:Mark

Code Description
delete An error occurred while deleting a log file.
today Today's log file cannot be deleted.
type Log type must consist of uppercase letters.

Changelog

Version 9.0
  • Updated: error codes updated; errors now use the module namespace
Version 8.3
Version 8.2
Version 8.0
Version 7.8.2
  • Updated: admin:users: md5-encoded password added to output.
  • Updated: admin:logs: represent name of log files as string value; $merge argument added.

The Module was introduced with Version 7.5.