1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
|
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
-
- This file is part of the OpenLink Software Virtuoso Open-Source (VOS)
- project.
-
- Copyright (C) 1998-2018 OpenLink Software
-
- This project 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; only version 2 of the License, dated June 1991.
-
- 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
-
-
-->
<refentry id="fn_registry_name_is_protected">
<refmeta>
<refentrytitle>registry_name_is_protected</refentrytitle>
<refmiscinfo>sql</refmiscinfo>
</refmeta>
<refnamediv>
<refname>registry_name_is_protected</refname>
<refpurpose>The function checks if a given registry variable is read-only or protected from occasional changes.</refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis id="fsyn_registry_name_is_protected">
<funcprototype id="fproto_registry_name_is_protected">
<funcdef><function>registry_name_is_protected</function></funcdef>
<paramdef>in <parameter>name</parameter> varchar</paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1 id="desc_registry_name_is_protected">
<title>Description</title>
<para>Some registry variables are used solely by internal server routines so they should not be changed 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.
</para>
<para>The function gets a variable name as a parameter and returns zero if such a variable variable can be created/modified/removed by
any application, one if a variable can be modified by DBA but can not be removed and two if the variable can not be altered even by DBA.</para>
<para>The returned value does not indicate that the variable exists or not exists. The name of not yet existing variable can
be protected anyway to prevent future misuse of an variable by an application.</para>
<para>The name of any protected variable starts with two underscores. It can be a good idea to not start names of
application-specific registry variable with two underscores to ensure compatibility with future versions of Virtuoso Server.</para>
</refsect1>
<refsect1 id="params_registry_name_is_protected">
<title>Parameters</title>
<refsect2><title>name</title><para>The name of registry variable to check.</para>
</refsect2>
</refsect1>
<refsect1 id="ret_registry_name_is_protected"><title>Return Types</title>
<para>The function returns an integer</para>
</refsect1>
<refsect1 id="examples_registry_name_is_protected">
<title>Examples</title>
<example id="ex_registry_name_is_protected"><title>Two checks of variable names</title>
<para>One name can be used by any application, other is for internal use in the FTP server:</para>
<screen><![CDATA[
> select registry_name_is_protected ('my_example');
0
> select registry_name_is_protected ('__next_free_port');
1
]]>
</screen>
</example>
</refsect1>
<refsect1 id="seealso_registry_name_is_protected">
<title>See Also</title>
<para><link linkend="fn_registry_get"><function>registry_get</function></link></para>
<para><link linkend="fn_registry_get_all"><function>registry_get_all</function></link></para>
<para><link linkend="fn_registry_set"><function>registry_set</function></link></para>
<para><link linkend="fn_registry_remove"><function>registry_remove</function></link></para>
<para><link linkend="fn_sequence_get_all"><function>sequence_get_all</function></link></para>
<para><link linkend="fn_sequence_next"><function>sequence_next</function></link></para>
<para><link linkend="fn_sequence_set"><function>sequence_set</function></link></para>
<para><link linkend="fn_sequence_remove"><function>sequence_remove</function></link></para>
</refsect1>
</refentry>
|