Main Page » XQuery » Functions » Admin Functions

Admin Functions

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

Conventions

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.

Database Logs

admin:logs

Signature
admin:logs(
  $date   as xs:string    := (),
  $merge  as xs:boolean?  := false()
) as element()*
SummaryReturns 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. The merged representation may not be 100% correct, as log entries can be ambiguous.
Examples
admin:logs()
May return a result similar to <file size="834367"/>2024-06-01</file> if a single log file exists.
for $date in admin:logs()
return admin:logs($date)
Lists the contents of all log files.

admin:write-log

Signature
admin:write-log(
  $message  as xs:string,
  $type     as xs:string  := ()
) as empty-sequence()
SummaryWrites a log $message to the database logs, along with current user data (timestamp, username). An optional log $type can be specified. 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
typeType string contains whitespace.

admin:delete-logs

Signature
admin:delete-logs(
  $date  as xs:string
) as empty-sequence()
SummaryDeletes the log entries from the specified $date.
Errors
deleteAn error occurred while deleting a log file.
todayToday’s log file cannot be deleted.

Database Sessions

admin:sessions

Signature
admin:sessions() as element(session)*
SummaryReturns an element sequence with all currently opened database sessions, including the username, 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"/>.

Errors

CodeDescription
deleteAn error occurred while deleting a log file.
todayToday’s log file cannot be deleted.
typeType string contains whitespace.

Changelog

Version 9.2Version 9.0
  • Updated: Error codes updated; errors now use the module namespace
Version 8.3Version 8.2Version 8.0Version 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
Version 7.5
  • Added: New module added.

⚡Generated with XQuery