Functions, arguments, types

The functions and procedures are collected in the tables below. It provides an roadmap to check availability of operations supported.

sys.functions

name

type

references

description

"id"

INTEGER

The unique internal identifier for the function.

"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 identifier.

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.