Name
registry_set — Associates a value to the name in the Database registry
Synopsis
registry_set
(
|
in name varchar , |
in value varchar , | |
in
force
integer
) ; |
Description
This associates a value to the name in the Database registry. The name should be a string and the value must be also string.
Registry settings are kept in Database, therefore they are persistent.
Some registry variables are used solely by internal server routines so they should not be set by any application. Some of these "protected" variables can be updated by DBA only (in built-in Virtuoso/PL routines) whereas some can not be updated by any Virtuoso/PL routine at all. If the function is called by DBA then a third argument can be specified to indicate how the function should try to update such a variable, but you will probably never use this feature.
Parameters
name
VARCHAR name to associate the value with.
value
value
to be stored. Must be of
VARCHAR
type. Also if needs to be stored some other datatype it needs to be serialized (see serialize and deserialize functions).
force
Flag to indicate how the function should try to update protected variables. The value 0 is to signal an error on such an attempt, 1 is to try to update and signal an error if failed, 2 is to try to update and silently return 0 if failed.
Return Values
The function returns 1 if success, 0 if a (protected) variable value cannot be changed.
Errors
Table 24.73. Errors signalled by registry_set
SQLState | Error Code | Error Text | Description |
---|---|---|---|
22023 | SR014 | Function registry_set needs a string as argument 2, not an arg of [datatype] | |
42000 | SR483 | Function registry_set needs nonzero third argument to modify registry variable [name]. | |
42000 | SR484 | Function registry_set can not modify protected registry variable [name]. |
Examples
Example 24.315. Setting and Retrieving Registry Setting
From SQL
SQL> select registry_get('var_demo'); callret VARCHAR __________________________________________________________________ NULL SQL> registry_set('var_demo', 'some arb data'); SQL> select registry_get('var_demo'); callret VARCHAR __________________________________________________________________ some arb data