Nodes of different colours represent the following:
Solid arrows point from a submodule to the (sub)module which it is
descended from. Dashed arrows point from a module or program unit to
modules which it uses.
Updates attributes of transfer with passed transfer id. The
arguments are validated by default. This function is not
thread-safe. If executed by multiple threads, E_NOT_FOUND may be
returned even on a successful transfer update.
If argument timestamp is passed, the update is performed only if
the old time stamp is less-equal the new time stamp.
If argument state is passed, an update is performed only when:
the new value is TRANSFER_STATE_ACTIVE and the old value is
TRANSFER_STATE_CREATED;
the new value is TRANSFER_STATE_DONE and the old value is
TRANSFER_STATE_ACTIVE;
the new value is TRANSFER_STATE_FAILED and the old value is
TRANSFER_STATE_ACTIVE.
In any other case, the function returns E_INVALID as no transfer
was found with the passed id and required state. This behaviour is
required to catch race conditions. If argument error is passed
additionally, the error code is not updated.
The function returns the following error codes:
E_DB_BIND if value binding failed.
E_DB_PREPARE if statement preparation failed.
E_DB_STEP if step execution failed or no write permission.
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.