# xSQL Functions

> The xSQL server provides a number of built-in statically linked functions (UDFs) including a service (a function) that accesses a meta table called Metafunction. For example the following query lists all of the available functions:

>         select * from Metafunction;
>         Name	Profile	ReturnType	nArguments	Language
>         ----------------------------------------------
>         format	String(...)	15	2	         C++
>         choice	String(...)	15	3	         C++
>         trim	String(...)    15	1	         C++
>         ...

> Note that the Metafunction pseudo-table returns information about statically registered functions (written in C++) as well as dynamically created functions which were created by the current connection via the `create function` statement. A complete list of all user defined function can be found in the Functions table (if it exists). If the `preloadUDF` parameter of the SqlOptimizerParameters is set to `true`, then all these functions are loaded at the database open time and the Metafunction table will contain full list of all functions (dynamically- and statically-linked).

> (Also, note that if the number of arguments is listed as `-1`, it indicates a variable number of arguments.)

> Please use the following links to view the available xSQL specific functions:

> filebackup | Perform a file backup for a persistent database.
> Iot functions | Execute IoT operations at runtime