-- Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. -- -- This program is free software; you can redistribute it and/or modify -- it under the terms of the GNU General Public License as published by -- the Free Software Foundation; version 2 of the License. -- -- This program is distributed in the hope that it will be useful, -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -- GNU General Public License for more details. -- -- You should have received a copy of the GNU General Public License -- along with this program; if not, write to the Free Software -- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Returns the value for the requested variable using the following logic:
1. If the optionexistsin sys.sys_config return the value from there. 2. Else fall back on the provided default value.
Notes forusing sys_get_config():
* If the default value argument to sys_get_config() isNULLandcase2. is reached, NULLis returned.
It isthen expected that the caller is able to handle NULLfor the given configuration option.
* The convention isto name the user variables @sys.<name of variable>. It is <name of variable> that is stored in the sys_config tableandis what is expected as the argument to sys_get_config().
* If you want tocheck whether the configuration option has already been setandifnot assign with
the return value of sys_get_config() you can use IFNULL(...) (see example below). However this should not be done inside a loop (e.g. foreach row in a result set) asfor repeated calls where assignment is only needed in the first iteration using IFNULL(...) is expected to be significantly slower than using an IF (...) THEN ... END IF; block (see example below).
Parameters -----------
in_variable_name (VARCHAR(128)):
The name of the config optiontoreturn the value for.
in_default_value (VARCHAR(128)):
The default value toreturnif the variable does not exist in sys.sys_config.
Returns -----------
VARCHAR(128)
Example -----------
-- Get the configuration value from sys.sys_config falling back on 128 if the option is not present in the table.
mysql> SELECT sys.sys_get_config(''statement_truncate_len'', 128) AS Value;
+-------+
| Value |
+-------+
| 64 |
+-------+ 1 row inset (0.00 sec)
-- Check whether the option is already set, if not assign - IFNULL(...) one liner example.
mysql> SET @sys.statement_truncate_len = IFNULL(@sys.statement_truncate_len, sys.sys_get_config(''statement_truncate_len'', 64));
Query OK, 0 rows affected (0.00 sec)
-- Check whether the option is already set, if not assign - IF ... THEN ... END IF example. IF (@sys.statement_truncate_len ISNULL) THEN SET @sys.statement_truncate_len = sys.sys_get_config(''statement_truncate_len'', 64);
END IF; ' SQL SECURITY INVOKER DETERMINISTIC READSSQL DATA
BEGIN DECLARE v_value VARCHAR(128) DEFAULTNULL; DECLARE old_val INTEGERDEFAULTNULL;
-- Check if we have the variable in the sys.sys_config table SET v_value = (SELECT value FROM sys.sys_config WHERE variable = in_variable_name);
-- Protection against the variable not existing in sys_config IF (v_value ISNULL) THEN SET v_value = in_default_value;
END IF;
RETURN v_value;
END $$
DELIMITER ;
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-10-08)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.