The functions (including procedures, aggregates, filter functions and loader functions) are all collected in the tables below. It provides an roadmap to check availability of operations supported. Functions can be overloaded, so the same function name can exist multiple times in sys.functions but each will have different arguments, so different function signatures.
sys.functions
name | type | references | description |
---|---|---|---|
"id" | INTEGER | The unique internal identifier for the function/procedure/aggregate. | |
"name" | VARCHAR | The SQL name. | |
"func" | VARCHAR | MAL function identifier or SQL function definition. | |
"mod" | VARCHAR | MAL function module identifier. | |
"language" | INTEGER | sys.function_languages.language_id | The programming language id code in which the function is defined, see table sys.function_languages. |
"type" | INTEGER | sys.function_types.function_type_id | Type of function, see table sys.function_types. |
"side_effect" | BOOLEAN | It does (not) lead to updates. | |
"varres" | BOOLEAN | Does the function have varres? | |
"vararg" | BOOLEAN | Can the function be called with a variable number of arguments? | |
"schema_id" | INTEGER | sys.schemas.id | The schema the function belongs to. |
"system" | BOOLEAN | Is it a preloaded MonetDB system function/procedure/aggregate. | |
This column is available from release Apr2019 (11.33.3) onwards. |
sys.systemfunctions
name | type | references | description |
---|---|---|---|
"function_id" | INTEGER | sys.functions.id | The unique internal identifier of a system function.Note: this is not a system controlled foreign key reference, and is not automatically removed when the referred function is dropped from sys.functions. |
sys.function_languages
name | type | references | description |
---|---|---|---|
"language_id" | SMALLINT | The unique internal identifier of a function programming language. | |
"language_name" | VARCHAR | A description of the programming language. |
sys.function_types
name | type | references | description |
---|---|---|---|
"function_type_id" | SMALLINT | The unique internal identifier of a function type. | |
"function_type_name" | VARCHAR | A description of the function type. |
sys.args
name | type | references | description |
---|---|---|---|
"id" | INTEGER | The unique internal identifier for function argument. | |
"func_id" | INTEGER | sys.functions.id | The corresponding function. |
"name" | VARCHAR | The SQL name. | |
"type" | VARCHAR | sys.types.sqlname | The SQL type name. |
"type_digits" | INTEGER | The number of digits for number types. | |
"type_scale" | INTEGER | The precision after decimal point. | |
"inout" | TINYINT | Whether the argument is usable for input (=0) or output or both (=1). | |
"number" | INTEGER | The function argument position ranging from 1 to n for functions and from 0 to n-1 for procedures (sys.functions.type = 2). For functions a number 0 represents the return arg type. |
sys.types
name | type | references | description |
---|---|---|---|
"id" | INTEGER | The unique internal identifier for the data type. | |
"systemname" | VARCHAR | MAL data type name. | |
"sqlname" | VARCHAR | SQL data type name. | |
"digits" | INTEGER | The number of digits (in the specified radix) for numerical, floating point, time, timestamp and interval types. | |
"scale" | INTEGER | Type of scale. 0=not applicable, 1=decimal, 2=exponential (floating point). | |
"radix" | INTEGER | Radix for the number of digits value:Â 2 (= binary) or 10 (= decimal). | |
"eclass" | INTEGER | The internal storage class equivalence identifier. | |
"schema_id" | INTEGER | sys.schemas.id | The schema identifier. |