diff options
Diffstat (limited to 'doc/src/sgml/ref/alter_function.sgml')
-rw-r--r-- | doc/src/sgml/ref/alter_function.sgml | 83 |
1 files changed, 74 insertions, 9 deletions
diff --git a/doc/src/sgml/ref/alter_function.sgml b/doc/src/sgml/ref/alter_function.sgml index 00dfcac007a..468aa2b2e2e 100644 --- a/doc/src/sgml/ref/alter_function.sgml +++ b/doc/src/sgml/ref/alter_function.sgml @@ -1,5 +1,5 @@ <!-- -$PostgreSQL: pgsql/doc/src/sgml/ref/alter_function.sgml,v 1.5 2004/06/25 21:55:50 tgl Exp $ +$PostgreSQL: pgsql/doc/src/sgml/ref/alter_function.sgml,v 1.6 2005/03/14 00:19:36 neilc Exp $ PostgreSQL documentation --> @@ -20,8 +20,15 @@ PostgreSQL documentation <refsynopsisdiv> <synopsis> +ALTER FUNCTION <replaceable>name</replaceable> ( [ <replaceable class="parameter">type</replaceable> [, ...] ] ) <replaceable class="PARAMETER">action</replaceable> [, ... ] [ RESTRICT ] ALTER FUNCTION <replaceable>name</replaceable> ( [ <replaceable class="parameter">type</replaceable> [, ...] ] ) RENAME TO <replaceable>newname</replaceable> ALTER FUNCTION <replaceable>name</replaceable> ( [ <replaceable class="parameter">type</replaceable> [, ...] ] ) OWNER TO <replaceable>newowner</replaceable> + +where <replaceable class="PARAMETER">action</replaceable> is one of: + + CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT | STRICT + IMMUTABLE | STABLE | VOLATILE + [ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER </synopsis> </refsynopsisdiv> @@ -69,11 +76,65 @@ ALTER FUNCTION <replaceable>name</replaceable> ( [ <replaceable class="parameter <term><replaceable class="parameter">newowner</replaceable></term> <listitem> <para> - The new owner of the function. - To change the owner of a function, you must be a superuser. - Note that if the function is marked - <literal>SECURITY DEFINER</literal>, - it will subsequently execute as the new owner. + The new owner of the function. To change the owner of a + function, you must be a superuser. Note that if the function is + marked <literal>SECURITY DEFINER</literal>, it will subsequently + execute as the new owner. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>CALLED ON NULL INPUT</literal></term> + <term><literal>RETURNS NULL ON NULL INPUT</literal></term> + <term><literal>STRICT</literal></term> + + <listitem> + <para> + <literal>CALLED ON NULL INPUT</literal> changes the function so + that it will be invoked when some or all of its arguments are + null. <literal>RETURNS NULL ON NULL INPUT</literal> or + <literal>STRICT</literal> changes the function so that it + always returns null if any of its arguments are null. See <xref + linkend="sql-createfunction"> for more information. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>IMMUTABLE</literal></term> + <term><literal>STABLE</literal></term> + <term><literal>VOLATILE</literal></term> + + <listitem> + <para> + Change the volatility of the function to the specified + type. See <xref linkend="sql-createfunction"> for more + information about function volatility. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal><optional>EXTERNAL</optional> SECURITY INVOKER</literal></term> + <term><literal><optional>EXTERNAL</optional> SECURITY DEFINER</literal></term> + + <listitem> + <para> + Change whether the function is a security definer or not. The + key word <literal>EXTERNAL</literal> is ignored for SQL + conformance. See <xref linkend="sql-createfunction"> for more + information about this capability. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>RESTRICT</literal></term> + + <listitem> + <para> + Ignored for conformance with the SQL standard. </para> </listitem> </varlistentry> @@ -104,9 +165,13 @@ ALTER FUNCTION sqrt(integer) OWNER TO joe; <title>Compatibility</title> <para> - There is an <command>ALTER FUNCTION</command> statement in the SQL - standard, but it does not provide the option to rename the - function or change the owner. + This statement is partially compatible with the <command>ALTER + FUNCTION</> statement in the SQL standard. The standard allows more + properties of a function to be modified, but does not provide the + ability to rename a function, make a function a security definer, + or change the owner or volatility of a function. The standard also + requires the <literal>RESTRICT</> key word; it is optional in + <productname>PostgreSQL</>. </para> </refsect1> |