head	1.36;
access;
symbols
	REL9_0_0:1.36
	REL9_1_ALPHA1:1.36
	REL9_0_RC1:1.36
	REL9_0_BETA4:1.36
	REL9_0_STABLE:1.36.0.2
	REL9_0_BETA3:1.36
	REL9_0_BETA2:1.36
	REL7_4_29:1.28
	REL8_0_25:1.29
	REL8_1_21:1.30
	REL8_2_17:1.32
	REL8_3_11:1.33
	REL8_4_4:1.35
	REL9_0_BETA1:1.36
	REL9_0_ALPHA5_BRANCH:1.35.0.12
	REL9_0_ALPHA5:1.35
	REL7_4_28:1.28
	REL8_0_24:1.29
	REL8_1_20:1.30
	REL8_2_16:1.32
	REL8_3_10:1.33
	REL8_4_3:1.35
	REL9_0_ALPHA4:1.35
	REL9_0_ALPHA4_BRANCH:1.35.0.10
	REL8_5_ALPHA3:1.35
	REL8_5_ALPHA3_BRANCH:1.35.0.8
	REL7_4_27:1.28
	REL8_0_23:1.29
	REL8_1_19:1.30
	REL8_2_15:1.32
	REL8_3_9:1.33
	REL8_4_2:1.35
	REL8_5_ALPHA2:1.35
	REL8_5_ALPHA2_BRANCH:1.35.0.6
	REL7_4_26:1.28
	REL8_0_22:1.29
	REL8_1_18:1.30
	REL8_2_14:1.32
	REL8_3_8:1.33
	REL8_4_1:1.35
	REL8_5_ALPHA1:1.35
	REL8_5_ALPHA1_BRANCH:1.35.0.4
	REL8_4_STABLE:1.35.0.2
	REL8_4_0:1.35
	REL8_4_RC2:1.35
	REL8_4_RC1:1.35
	REL8_4_BETA2:1.35
	REL8_4_BETA1:1.35
	REL7_4_25:1.28
	REL8_0_21:1.29
	REL8_1_17:1.30
	REL8_2_13:1.32
	REL8_3_7:1.33
	REL7_4_24:1.28
	REL8_0_20:1.29
	REL8_1_16:1.30
	REL8_2_12:1.32
	REL8_3_6:1.33
	REL7_4_23:1.28
	REL8_0_19:1.29
	REL8_1_15:1.30
	REL8_2_11:1.32
	REL8_3_5:1.33
	REL7_4_22:1.28
	REL8_0_18:1.29
	REL8_1_14:1.30
	REL8_2_10:1.32
	REL8_3_4:1.33
	REL7_4_21:1.28
	REL8_0_17:1.29
	REL8_1_13:1.30
	REL8_2_9:1.32
	REL8_3_3:1.33
	REL7_4_20:1.28
	REL8_0_16:1.29
	REL8_1_12:1.30
	REL8_2_8:1.32
	REL8_3_2:1.33
	REL8_2_7:1.32
	REL8_3_1:1.33
	REL8_3_STABLE:1.33.0.2
	REL8_3_0:1.33
	REL8_3_RC2:1.33
	REL7_3_21:1.22.2.1
	REL7_4_19:1.28
	REL8_0_15:1.29
	REL8_1_11:1.30
	REL8_2_6:1.32
	REL8_3_RC1:1.33
	REL8_3_BETA4:1.33
	REL8_3_BETA3:1.33
	REL8_3_BETA2:1.33
	REL8_3_BETA1:1.33
	REL7_3_20:1.22.2.1
	REL7_4_18:1.28
	REL8_0_14:1.29
	REL8_1_10:1.30
	REL8_2_5:1.32
	REL7_3_19:1.22.2.1
	REL7_4_17:1.28
	REL8_0_13:1.29
	REL8_1_9:1.30
	REL8_2_4:1.32
	REL8_0_12:1.29
	REL8_1_8:1.30
	REL8_2_3:1.32
	REL7_3_18:1.22.2.1
	REL7_4_16:1.28
	REL8_0_11:1.29
	REL8_1_7:1.30
	REL8_2_2:1.32
	REL8_0_10:1.29
	REL8_1_6:1.30
	REL8_2_1:1.32
	REL7_4_15:1.28
	REL7_3_17:1.22.2.1
	REL8_2_STABLE:1.32.0.2
	REL8_2_0:1.32
	REL8_2_RC1:1.32
	REL8_2_BETA3:1.32
	REL8_2_BETA2:1.32
	REL8_1_5:1.30
	REL8_0_9:1.29
	REL7_4_14:1.28
	REL7_3_16:1.22.2.1
	REL8_2_BETA1:1.32
	REL7_3_15:1.22.2.1
	REL7_4_13:1.28
	REL8_0_8:1.29
	REL8_1_4:1.30
	REL7_3_14:1.22.2.1
	REL7_4_12:1.28
	REL8_0_7:1.29
	REL8_1_3:1.30
	REL7_3_13:1.22.2.1
	REL7_4_11:1.28
	REL8_0_6:1.29
	REL8_1_2:1.30
	REL7_3_12:1.22.2.1
	REL7_4_10:1.28
	REL8_0_5:1.29
	REL8_1_1:1.30
	REL8_1_STABLE:1.30.0.2
	REL8_1_0:1.30
	REL8_1_0RC1:1.30
	REL8_1_0BETA4:1.30
	REL8_1_0BETA3:1.30
	REL7_3_11:1.22.2.1
	REL7_4_9:1.28
	REL8_0_4:1.29
	REL8_1_0BETA2:1.30
	REL8_1_0BETA1:1.30
	REL7_2_8:1.16
	REL7_3_10:1.22.2.1
	REL7_4_8:1.28
	REL8_0_3:1.29
	REL8_0_2:1.29
	REL7_2_7:1.16
	REL7_3_9:1.22.2.1
	REL7_4_7:1.28
	REL8_0_1:1.29
	REL8_0_STABLE:1.29.0.4
	REL8_0_0:1.29.0.2
	REL8_0_0RC5:1.29
	REL8_0_0RC4:1.29
	REL8_0_0RC3:1.29
	REL8_0_0RC2:1.29
	REL8_0_0RC1:1.29
	REL8_0_0BETA5:1.29
	REL8_0_0BETA4:1.29
	REL7_4_6:1.28
	REL7_3_8:1.22.2.1
	REL7_2_6:1.16
	REL8_0_0BETA3:1.29
	REL8_0_0BETA2:1.29
	REL7_2_5:1.16
	REL7_4_5:1.28
	REL7_3_7:1.22.2.1
	REL7_4_4:1.28
	REL8_0_0BETA1:1.29
	REL7_4_3:1.28
	REL7_4_2:1.28
	REL7_3_6:1.22.2.1
	REL7_4_1:1.28
	REL7_3_5:1.22.2.1
	REL7_4:1.28
	REL7_4_RC2:1.28
	REL7_4_STABLE:1.28.0.2
	REL7_4_RC1:1.28
	REL7_4_BETA5:1.28
	REL7_4_BETA4:1.28
	REL7_4_BETA3:1.27
	REL7_4_BETA2:1.25
	WIN32_DEV:1.25.0.2
	REL7_4_BETA1:1.25
	REL7_3_4:1.22.2.1
	REL7_3_2:1.22.2.1
	REL7_2_4:1.16
	REL7_3_STABLE:1.22.0.2
	REL7_2_3:1.16
	REL7_2_STABLE:1.16.0.2
	REL7_2:1.16
	REL7_2_RC2:1.16
	REL7_2_RC1:1.16
	REL7_2_BETA5:1.16
	REL7_2_BETA4:1.16
	REL7_2_BETA3:1.15
	REL7_2_BETA2:1.14
	REL7_2_BETA1:1.14
	REL7_1_2:1.10
	REL7_1_STABLE:1.10.0.2
	REL7_1_BETA:1.8
	REL7_1_BETA3:1.9
	REL7_1_BETA2:1.9
	REL7_1:1.9
	REL7_0_PATCHES:1.8.0.2
	REL7_0:1.7
	REL6_5_PATCHES:1.6.0.2
	REL6_5:1.6
	REL6_4:1.4.0.2;
locks; strict;
comment	@# @;


1.36
date	2010.04.03.07.23.00;	author petere;	state Exp;
branches;
next	1.35;

1.35
date	2008.11.14.10.22.46;	author petere;	state Exp;
branches;
next	1.34;

1.34
date	2008.07.16.01.30.21;	author tgl;	state Exp;
branches;
next	1.33;

1.33
date	2007.01.31.23.26.03;	author momjian;	state Exp;
branches;
next	1.32;

1.32
date	2006.09.16.00.30.18;	author momjian;	state Exp;
branches;
next	1.31;

1.31
date	2006.06.16.22.27.55;	author adunstan;	state Exp;
branches;
next	1.30;

1.30
date	2005.05.26.20.05.03;	author tgl;	state Exp;
branches;
next	1.29;

1.29
date	2003.11.29.19.51.38;	author pgsql;	state Exp;
branches;
next	1.28;

1.28
date	2003.09.22.00.16.58;	author petere;	state Exp;
branches;
next	1.27;

1.27
date	2003.09.09.18.28.53;	author tgl;	state Exp;
branches;
next	1.26;

1.26
date	2003.08.31.17.32.22;	author petere;	state Exp;
branches;
next	1.25;

1.25
date	2003.06.27.14.45.26;	author petere;	state Exp;
branches
	1.25.2.1;
next	1.24;

1.24
date	2003.05.04.02.23.16;	author petere;	state Exp;
branches;
next	1.23;

1.23
date	2002.11.21.23.34.43;	author petere;	state Exp;
branches;
next	1.22;

1.22
date	2002.07.14.22.47.56;	author tgl;	state Exp;
branches
	1.22.2.1;
next	1.21;

1.21
date	2002.07.12.18.43.13;	author tgl;	state Exp;
branches;
next	1.20;

1.20
date	2002.05.18.15.44.47;	author petere;	state Exp;
branches;
next	1.19;

1.19
date	2002.04.23.02.07.16;	author tgl;	state Exp;
branches;
next	1.18;

1.18
date	2002.04.21.19.02.39;	author thomas;	state Exp;
branches;
next	1.17;

1.17
date	2002.03.06.06.48.04;	author momjian;	state Exp;
branches;
next	1.16;

1.16
date	2001.12.08.03.24.36;	author thomas;	state Exp;
branches;
next	1.15;

1.15
date	2001.11.19.03.58.25;	author tgl;	state Exp;
branches;
next	1.14;

1.14
date	2001.09.13.19.40.34;	author petere;	state Exp;
branches;
next	1.13;

1.13
date	2001.09.03.12.57.49;	author petere;	state Exp;
branches;
next	1.12;

1.12
date	2001.05.19.09.01.10;	author petere;	state Exp;
branches;
next	1.11;

1.11
date	2001.05.08.17.35.57;	author momjian;	state Exp;
branches;
next	1.10;

1.10
date	2001.04.28.13.59.07;	author momjian;	state Exp;
branches;
next	1.9;

1.9
date	2000.12.25.23.15.26;	author petere;	state Exp;
branches;
next	1.8;

1.8
date	2000.05.18.14.24.33;	author momjian;	state Exp;
branches;
next	1.7;

1.7
date	99.07.22.15.09.10;	author thomas;	state Exp;
branches;
next	1.6;

1.6
date	99.07.06.17.16.37;	author thomas;	state Exp;
branches;
next	1.5;

1.5
date	98.12.29.02.24.39;	author thomas;	state Exp;
branches;
next	1.4;

1.4
date	98.10.30.19.34.08;	author thomas;	state Exp;
branches;
next	1.3;

1.3
date	98.09.22.15.47.52;	author thomas;	state Exp;
branches;
next	1.2;

1.2
date	98.09.07.15.58.31;	author thomas;	state Exp;
branches;
next	1.1;

1.1
date	98.05.13.05.34.00;	author thomas;	state Exp;
branches;
next	;

1.22.2.1
date	2002.11.21.23.31.58;	author petere;	state Exp;
branches;
next	;

1.25.2.1
date	2003.09.07.04.36.45;	author momjian;	state Exp;
branches;
next	;


desc
@@


1.36
log
@Remove unnecessary xref endterm attributes and title ids

The endterm attribute is mainly useful when the toolchain does not support
automatic link target text generation for a particular situation.  In  the
past, this was required by the man page tools for all reference page links,
but that is no longer the case, and it now actually gets in the way of
proper automatic link text generation.  The only remaining use cases are
currently xrefs to refsects.
@
text
@<!--
$PostgreSQL: pgsql/doc/src/sgml/ref/drop_function.sgml,v 1.35 2008/11/14 10:22:46 petere Exp $
PostgreSQL documentation
-->

<refentry id="SQL-DROPFUNCTION">
 <refmeta>
  <refentrytitle>DROP FUNCTION</refentrytitle>
  <manvolnum>7</manvolnum>
  <refmiscinfo>SQL - Language Statements</refmiscinfo>
 </refmeta>

 <refnamediv>
  <refname>DROP FUNCTION</refname>
  <refpurpose>remove a function</refpurpose>
 </refnamediv>

 <indexterm zone="sql-dropfunction">
  <primary>DROP FUNCTION</primary>
 </indexterm>

 <refsynopsisdiv>
<synopsis>
DROP FUNCTION [ IF EXISTS ] <replaceable class="parameter">name</replaceable> ( [ [ <replaceable class="parameter">argmode</replaceable> ] [ <replaceable class="parameter">argname</replaceable> ] <replaceable class="parameter">argtype</replaceable> [, ...] ] )
    [ CASCADE | RESTRICT ]
</synopsis>
 </refsynopsisdiv>

 <refsect1>
  <title>Description</title>

  <para>
   <command>DROP FUNCTION</command> removes the definition of an existing
   function. To execute this command the user must be the
   owner of the function. The argument types to the
   function must be specified, since several different functions
   can exist with the same name and different argument lists.
  </para>
 </refsect1>

 <refsect1>
  <title>Parameters</title>

  <variablelist>
    <varlistentry>
    <term><literal>IF EXISTS</literal></term>
    <listitem>
     <para>
      Do not throw an error if the function does not exist. A notice is issued 
      in this case.
     </para>
    </listitem>
   </varlistentry>

  <varlistentry>
    <term><replaceable class="parameter">name</replaceable></term>
    <listitem>
     <para>
      The name (optionally schema-qualified) of an existing function.
     </para>
    </listitem>
   </varlistentry>

   <varlistentry>
    <term><replaceable class="parameter">argmode</replaceable></term>

    <listitem>
     <para>
      The mode of an argument: <literal>IN</>, <literal>OUT</>,
      <literal>INOUT</>, or <literal>VARIADIC</>.
      If omitted, the default is <literal>IN</>.
      Note that <command>DROP FUNCTION</command> does not actually pay
      any attention to <literal>OUT</> arguments, since only the input
      arguments are needed to determine the function's identity.
      So it is sufficient to list the <literal>IN</>, <literal>INOUT</>,
      and <literal>VARIADIC</> arguments.
     </para>
    </listitem>
   </varlistentry>

   <varlistentry>
    <term><replaceable class="parameter">argname</replaceable></term>

    <listitem>
     <para>
      The name of an argument.
      Note that <command>DROP FUNCTION</command> does not actually pay
      any attention to argument names, since only the argument data
      types are needed to determine the function's identity.
     </para>
    </listitem>
   </varlistentry>

   <varlistentry>
    <term><replaceable class="parameter">argtype</replaceable></term>

    <listitem>
     <para>
      The data type(s) of the function's arguments (optionally 
      schema-qualified), if any.
     </para>
    </listitem>
   </varlistentry>

   <varlistentry>
    <term><literal>CASCADE</literal></term>
    <listitem>
     <para>
      Automatically drop objects that depend on the function (such as
      operators or triggers).
     </para>
    </listitem>
   </varlistentry>

   <varlistentry>
    <term><literal>RESTRICT</literal></term>
    <listitem>
     <para>
      Refuse to drop the function if any objects depend on it.  This
      is the default.
     </para>
    </listitem>
   </varlistentry>
  </variablelist>
 </refsect1>

 <refsect1 id="SQL-DROPFUNCTION-examples">
  <title>Examples</title>

  <para>
   This command removes the square root function:

<programlisting>
DROP FUNCTION sqrt(integer);
</programlisting>
  </para>
 </refsect1>

 <refsect1 id="SQL-DROPFUNCTION-compatibility">
  <title>Compatibility</title>
  
  <para>
   A <command>DROP FUNCTION</command> statement is defined in the SQL
   standard, but it is not compatible with this command.
  </para>
 </refsect1>

 <refsect1>
  <title>See Also</title>

  <simplelist type="inline">
   <member><xref linkend="sql-createfunction"></member>
   <member><xref linkend="sql-alterfunction"></member>
  </simplelist>
 </refsect1>

</refentry>
@


1.35
log
@Set SQL man pages to be section 7 by default, and only transform them to
another section if required by the platform (instead of the old way of
building them in section "l" and always transforming them to the
platform-specific section).

This speeds up the installation on common platforms, and it avoids some
funny business with the man page tools and build process.
@
text
@d2 1
a2 1
$PostgreSQL: pgsql/doc/src/sgml/ref/drop_function.sgml,v 1.34 2008/07/16 01:30:21 tgl Exp $
d8 1
a8 1
  <refentrytitle id="SQL-DROPFUNCTION-TITLE">DROP FUNCTION</refentrytitle>
d152 2
a153 2
   <member><xref linkend="sql-createfunction" endterm="sql-createfunction-title"></member>
   <member><xref linkend="sql-alterfunction" endterm="sql-alterfunction-title"></member>
@


1.34
log
@Support "variadic" functions, which can accept a variable number of arguments
so long as all the trailing arguments are of the same (non-array) type.
The function receives them as a single array argument (which is why they
have to all be the same type).

It might be useful to extend this facility to aggregates, but this patch
doesn't do that.

This patch imposes a noticeable slowdown on function lookup --- a follow-on
patch will fix that by adding a redundant column to pg_proc.

Pavel Stehule
@
text
@d2 1
a2 1
$PostgreSQL: pgsql/doc/src/sgml/ref/drop_function.sgml,v 1.33 2007/01/31 23:26:03 momjian Exp $
d9 1
@


1.33
log
@Update reference documentation on may/can/might:

Standard English uses "may", "can", and "might" in different ways:

        may - permission, "You may borrow my rake."

        can - ability, "I can lift that log."

        might - possibility, "It might rain today."

Unfortunately, in conversational English, their use is often mixed, as
in, "You may use this variable to do X", when in fact, "can" is a better
choice.  Similarly, "It may crash" is better stated, "It might crash".
@
text
@d2 1
a2 1
$PostgreSQL: pgsql/doc/src/sgml/ref/drop_function.sgml,v 1.32 2006/09/16 00:30:18 momjian Exp $
d68 3
a70 2
      The mode of an argument: either <literal>IN</>, <literal>OUT</>,
      or <literal>INOUT</>.  If omitted, the default is <literal>IN</>.
d74 2
a75 2
      So it is sufficient to list the <literal>IN</> and <literal>INOUT</>
      arguments.
@


1.32
log
@Remove emacs info from footer of SGML files.
@
text
@d2 1
a2 1
$PostgreSQL: pgsql/doc/src/sgml/ref/drop_function.sgml,v 1.31 2006/06/16 22:27:55 adunstan Exp $
d36 1
a36 1
   may exist with the same name and different argument lists.
@


1.31
log
@
docs for DROP ... IF EXISTS for the following cases:
  language, tablespace, trigger, rule, opclass, function, aggregate. operator, and cast.
@
text
@d2 1
a2 1
$PostgreSQL: pgsql/doc/src/sgml/ref/drop_function.sgml,v 1.30 2005/05/26 20:05:03 tgl Exp $
a155 17

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:nil
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"../reference.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:"/usr/lib/sgml/catalog"
sgml-local-ecat-files:nil
End:
-->
@


1.30
log
@Document that utility commands such as DROP FUNCTION allow argument names
and modes to be included when naming an existing function.
@
text
@d2 1
a2 1
$PostgreSQL: pgsql/doc/src/sgml/ref/drop_function.sgml,v 1.29 2003/11/29 19:51:38 pgsql Exp $
d23 1
a23 1
DROP FUNCTION <replaceable class="parameter">name</replaceable> ( [ [ <replaceable class="parameter">argmode</replaceable> ] [ <replaceable class="parameter">argname</replaceable> ] <replaceable class="parameter">argtype</replaceable> [, ...] ] )
d44 11
a54 1
   <varlistentry>
@


1.29
log
@
$Header: -> $PostgreSQL Changes ...
@
text
@d2 1
a2 1
$PostgreSQL: /cvsroot/pgsql-server/doc/src/sgml/ref/drop_function.sgml,v 1.28 2003/09/22 00:16:58 petere Exp $
d23 2
a24 1
DROP FUNCTION <replaceable class="parameter">name</replaceable> ( [ <replaceable class="parameter">type</replaceable> [, ...] ] ) [ CASCADE | RESTRICT ]
d54 31
a84 1
    <term><replaceable class="parameter">type</replaceable></term>
d87 2
a88 1
      The data type of an argument of the function.
@


1.28
log
@Make the SQL command synopses appear less random.
@
text
@d2 1
a2 1
$Header: /cvsroot/pgsql-server/doc/src/sgml/ref/drop_function.sgml,v 1.27 2003/09/09 18:28:53 tgl Exp $
@


1.27
log
@Remove a bunch of content-free Diagnostics sections, as per previous
discussion.  (Still have some work to do editing the remainder.)
@
text
@d2 1
a2 1
$Header: /cvsroot/pgsql-server/doc/src/sgml/ref/drop_function.sgml,v 1.26 2003/08/31 17:32:22 petere Exp $
d14 1
a14 1
  <refpurpose>remove a user-defined function</refpurpose>
@


1.26
log
@Add/edit index entries.
@
text
@d2 1
a2 1
$Header: /cvsroot/pgsql-server/doc/src/sgml/ref/drop_function.sgml,v 1.25 2003/06/27 14:45:26 petere Exp $
a76 24
     </para>
    </listitem>
   </varlistentry>
  </variablelist>
 </refsect1>

 <refsect1>
  <title>Diagnostics</title>

  <variablelist>
   <varlistentry>
    <term><computeroutput>DROP FUNCTION</computeroutput></term>
    <listitem>
     <para>
      Message returned if the command completes successfully.
     </para>
    </listitem>
   </varlistentry>

   <varlistentry>
    <term><computeroutput>WARNING:  RemoveFunction: Function <replaceable class="parameter">name</replaceable> (<replaceable class="parameter">types</replaceable>) does not exist</computeroutput></term>
    <listitem>
     <para>
      This message is output if the function specified does not exist.
@


1.25
log
@First batch of object rename commands.
@
text
@d2 1
a2 1
$Header: /cvsroot/pgsql-server/doc/src/sgml/ref/drop_function.sgml,v 1.24 2003/05/04 02:23:16 petere Exp $
d16 4
@


1.25.2.1
log
@Update this branch to match CVS head, includes WIN32 improvements.
@
text
@d2 1
a2 1
$Header: /cvsroot/pgsql-server/doc/src/sgml/ref/drop_function.sgml,v 1.26 2003/08/31 17:32:22 petere Exp $
a15 4

 <indexterm zone="sql-dropfunction">
  <primary>DROP FUNCTION</primary>
 </indexterm>
@


1.24
log
@Last round of reference page editing.
@
text
@d2 1
a2 1
$Header: /cvsroot/pgsql-server/doc/src/sgml/ref/drop_function.sgml,v 1.23 2002/11/21 23:34:43 petere Exp $
d129 1
@


1.23
log
@Fixups for man pages
@
text
@d2 1
a2 1
$Header: /cvsroot/pgsql-server/doc/src/sgml/ref/drop_function.sgml,v 1.22 2002/07/14 22:47:56 tgl Exp $
d11 1
d13 2
a14 6
  <refname>
   DROP FUNCTION
  </refname>
  <refpurpose>
   remove a user-defined function
  </refpurpose>
d16 1
d18 1
a18 4
  <refsynopsisdivinfo>
   <date>1999-07-20</date>
  </refsynopsisdivinfo>
  <synopsis>
d20 2
a21 1
  </synopsis>
d23 2
a24 82
  <refsect2 id="R2-SQL-DROPFUNCTION-1">
   <refsect2info>
    <date>1998-04-15</date>
   </refsect2info>
   <title>
    Inputs
   </title>
   <para>
    <variablelist>
     <varlistentry>
      <term><replaceable class="parameter">name</replaceable></term>
      <listitem>
       <para>
	The name (optionally schema-qualified) of an existing function.
       </para>
      </listitem>
     </varlistentry>
     <varlistentry>
      <term><replaceable class="parameter">type</replaceable></term>
      <listitem>
       <para>
	The type of a parameter of the function.
       </para>
      </listitem>
     </varlistentry>
     <varlistentry>
      <term>CASCADE</term>
      <listitem>
       <para>
        Automatically drop objects that depend on the function
	(such as operators or triggers).
       </para>
      </listitem>
     </varlistentry>
     <varlistentry>
      <term>RESTRICT</term>
      <listitem>
       <para>
        Refuse to drop the function if there are any dependent objects.
	This is the default.
       </para>
      </listitem>
     </varlistentry>
    </variablelist>
   </para>
  </refsect2>

  <refsect2 id="R2-SQL-DROPFUNCTION-2">
   <refsect2info>
    <date>1998-04-15</date>
   </refsect2info>
   <title>
    Outputs
   </title>
   <para>

    <variablelist>
     <varlistentry>
      <term><computeroutput>
DROP FUNCTION
       </computeroutput></term>
      <listitem>
       <para>
	Message returned if the command completes successfully.
       </para>
      </listitem>
     </varlistentry>
     <varlistentry>
      <term><computeroutput>
WARNING:  RemoveFunction: Function "<replaceable class="parameter">name</replaceable>" ("<replaceable class="parameter">types</replaceable>") does not exist
       </computeroutput></term>
      <listitem>
       <para>
	This message is given if the function specified does not
	exist in the current database.
       </para>
      </listitem>
     </varlistentry>
    </variablelist>
   </para>
  </refsect2>
 </refsynopsisdiv>
a25 7
 <refsect1 id="R1-SQL-DROPFUNCTION-1">
  <refsect1info>
   <date>1998-04-15</date>
  </refsect1info>
  <title>
   Description
  </title>
d27 1
a27 1
   DROP FUNCTION will remove the definition of an existing
d29 1
a29 1
   owner of the function. The input argument types to the
d35 2
a36 2
 <refsect1 id="SQL-DROPFUNCTION-notes">
  <title>Notes</title>
d38 63
a100 5
   <para>
    Refer to
    <xref linkend="sql-createfunction" endterm="sql-createfunction-title">
    for information on creating functions.
   </para>
d119 2
a120 2
   A <command>DROP FUNCTION</command> statement is defined in SQL99.  One of
   its syntax forms is similar to PostgreSQL's.
d131 1
@


1.22
log
@Remove no-longer-appropriate notes about lack of CASCADE/RESTRICT behavior.
@
text
@d2 1
a2 1
$Header: /cvsroot/pgsql/doc/src/sgml/ref/drop_function.sgml,v 1.21 2002/07/12 18:43:13 tgl Exp $
d131 1
a131 1
    <xref linkend="sql-createfunction">
d161 1
a161 1
   <member><xref linkend="sql-createfunction"></member>
@


1.22.2.1
log
@Fixups for man pages
@
text
@d2 1
a2 1
$Header: /cvsroot/pgsql-server/doc/src/sgml/ref/drop_function.sgml,v 1.22 2002/07/14 22:47:56 tgl Exp $
d131 1
a131 1
    <xref linkend="sql-createfunction" endterm="sql-createfunction-title">
d161 1
a161 1
   <member><xref linkend="sql-createfunction" endterm="sql-createfunction-title"></member>
@


1.21
log
@Second phase of committing Rod Taylor's pg_depend/pg_constraint patch.
pg_relcheck is gone; CHECK, UNIQUE, PRIMARY KEY, and FOREIGN KEY
constraints all have real live entries in pg_constraint.  pg_depend
exists, and RESTRICT/CASCADE options work on most kinds of DROP;
however, pg_depend is not yet very well populated with dependencies.
(Most of the ones that are present at this point just replace formerly
hardwired associations, such as the implicit drop of a relation's pg_type
entry when the relation is dropped.)  Need to add more logic to create
dependency entries, improve pg_dump to dump constraints in place of
indexes and triggers, and add some regression tests.
@
text
@d2 1
a2 1
$Header: /cvsroot/pgsql/doc/src/sgml/ref/drop_function.sgml,v 1.20 2002/05/18 15:44:47 petere Exp $
a132 5
   </para>

   <para>
    No checks are made to ensure that types, operators, access
    methods, or triggers that rely on the function have been removed first.
@


1.20
log
@Revise command completion tags as per hackers message on 20 March.
@
text
@d2 1
a2 1
$Header: /cvsroot/pgsql/doc/src/sgml/ref/drop_function.sgml,v 1.19 2002/04/23 02:07:16 tgl Exp $
d24 1
a24 1
DROP FUNCTION <replaceable class="parameter">name</replaceable> ( [ <replaceable class="parameter">type</replaceable> [, ...] ] )
d52 18
d157 2
a158 9
   A <command>DROP FUNCTION</command> statement is defined in SQL99.  One of its syntax forms is:

<synopsis>
DROP FUNCTION <replaceable class="parameter">name</replaceable> (<replaceable>arg</>, ...) { RESTRICT | CASCADE }
</synopsis>

   where <literal>CASCADE</> specifies dropping all objects that
   depend on the function and <literal>RESTRICT</literal> refuses to
   drop the function if dependent objects exist.
@


1.19
log
@Update SQL-command reference pages for schema features.
@
text
@d2 1
a2 1
$Header: /cvsroot/pgsql/doc/src/sgml/ref/drop_function.sgml,v 1.18 2002/04/21 19:02:39 thomas Exp $
d68 1
a68 1
DROP
@


1.18
log
@Augment the date/time examples in the User's Guide to reflect the newer
 capabilities of specifying time zones as intervals per SQL9x.
Put refentrytitle contents on the same line as the tag.
 Otherwise, leading whitespace is propagated into the product, which
 (at least) messes up the ToC layout.
Remove (some) docinfo tags containing dates. Best to omit if the dates
 are not accurate; maybe use CVS dates instead or leave them out.
@
text
@d2 1
a2 1
$Header: /cvsroot/pgsql/doc/src/sgml/ref/drop_function.sgml,v 1.17 2002/03/06 06:48:04 momjian Exp $
d40 1
a40 1
	The name of an existing function.
d48 1
a48 1
	The type of the function's parameters.
@


1.17
log
@Update reference pages for new INFO, NOTICE, WARNING elog() levels.
@
text
@d2 1
a2 1
$Header: /cvsroot/pgsql/doc/src/sgml/ref/drop_function.sgml,v 1.16 2001/12/08 03:24:36 thomas Exp $
d8 1
a8 3
  <refentrytitle id="SQL-DROPFUNCTION-TITLE">
   DROP FUNCTION
  </refentrytitle>
@


1.16
log
@Use PostgreSQL consistantly throughout docs. Before, usage was split evenly
 between Postgres and PostgreSQL.
@
text
@d2 1
a2 1
$Header: /cvsroot/pgsql/doc/src/sgml/ref/drop_function.sgml,v 1.15 2001/11/19 03:58:25 tgl Exp $
d80 1
a80 1
NOTICE RemoveFunction: Function "<replaceable class="parameter">name</replaceable>" ("<replaceable class="parameter">types</replaceable>") does not exist
@


1.15
log
@A bunch of small doco updates motivated by scanning the comments on
the interactive docs.
@
text
@d2 2
a3 2
$Header: /cvsroot/pgsql/doc/src/sgml/ref/drop_function.sgml,v 1.14 2001/09/13 19:40:34 petere Exp $
Postgres documentation
@


1.14
log
@Update compatibility information.
@
text
@d2 1
a2 1
$Header: /home/projects/pgsql/cvsroot/pgsql/doc/src/sgml/ref/drop_function.sgml,v 1.13 2001/09/03 12:57:49 petere Exp $
d39 1
a39 1
      <term><replaceable class="parameter"> name</replaceable></term>
d50 1
a50 1
	The type of function parameters.
d102 1
a102 1
   DROP FUNCTION will remove references to an existing C
d105 2
a106 2
   function must be specified, as only the function with the
   given name and argument types will be removed.
d120 2
a121 2
    No checks are made to ensure that types, operators or access
    methods that rely on the function have been removed first.
@


1.13
log
@Put some kind of grammatical uniformity in the <refpurpose> lines.
@
text
@d2 1
a2 1
$Header: /home/projects/pgsql/cvsroot/pgsql/doc/src/sgml/ref/drop_function.sgml,v 1.12 2001/05/19 09:01:10 petere Exp $
d108 1
d110 2
a111 7
  <refsect2 id="R2-SQL-DROPFUNCTION-3">
   <refsect2info>
    <date>1998-04-15</date>
   </refsect2info>
   <title>
    Notes
   </title>
a122 1
  </refsect2>
d125 2
a126 4
 <refsect1 id="R1-SQL-DROPFUNCTION-2">
  <title>
   Usage
  </title>
d131 3
a133 3
   <programlisting>
DROP FUNCTION sqrt(int4);
   </programlisting>
d137 2
a138 4
 <refsect1 id="R1-SQL-DROPFUNCTION-4">
  <title>
   Compatibility
  </title>
d140 2
a141 7
  <refsect2 id="R2-SQL-DROPFUNCTION-4">
   <refsect2info>
    <date>1999-07-20</date>
   </refsect2info>
   <title>
    SQL92
   </title>
d143 9
a151 5
   <para>
    <command>DROP FUNCTION</command>
    is a <productname>Postgres</productname> language extension.
   </para>
  </refsect2>
d153 2
a154 10
  <refsect2 id="R2-SQL-DROPFUNCTION-5">
   <refsect2info>
    <date>1998-04-15</date>
   </refsect2info>
   <title>
    SQL/PSM
   </title>
   <para>
    SQL/PSM is a standard to enable function extensibility.
    The SQL/PSM DROP FUNCTION statement has the following syntax:
d156 3
a158 5
    <synopsis>
DROP [ SPECIFIC ] FUNCTION <replaceable class="parameter">name</replaceable> { RESTRICT | CASCADE }
    </synopsis>
   </para>
  </refsect2>
@


1.12
log
@Allow special '$libdir' macro to show up in object file path in CREATE
FUNCTION command.  Guard against trying to load a directory.  Update
documentation some.
@
text
@d2 1
a2 1
$Header: /home/projects/pgsql/cvsroot/pgsql/doc/src/sgml/ref/drop_function.sgml,v 1.11 2001/05/08 17:35:57 momjian Exp $
d18 1
a18 1
   Removes a user-defined C function
@


1.11
log
@drop_function.sgml:
===================
In Notes:
 Refer to CREATE FUNCTION for information on creating aggregate functions.
                                                      ^^^^^^^^^^^^^^^^^^^
I assume it must read C function instead.

Frank Wegmann
@
text
@d2 1
a2 1
$Header: /home/projects/pgsql/cvsroot/pgsql/doc/src/sgml/ref/drop_function.sgml,v 1.10 2001/04/28 13:59:07 momjian Exp $
d119 1
a119 1
    <xref linkend="sql-createfunction" endterm="sql-createfunction-title">
@


1.10
log
@In create_function there is a remark concerning SQL/PSM not
being ratified as yet. This is certainly no longer true, it wasn't
even true in Q2/1998 when I did a little research for Date's book.
SQL/PSM had been published on 1996-12-15 as ISO/IEC 9075:4. So you
might want to update that section.


Frank Wegmann
@
text
@d2 1
a2 1
$Header: /home/projects/pgsql/cvsroot/pgsql/doc/src/sgml/ref/drop_function.sgml,v 1.9 2000/12/25 23:15:26 petere Exp $
d120 1
a120 1
    for information on creating aggregate functions.
@


1.9
log
@Refine some things to create better looking man pages.
@
text
@d2 1
a2 1
$Header: /home/projects/pgsql/cvsroot/pgsql/doc/src/sgml/ref/drop_function.sgml,v 1.8 2000/05/18 14:24:33 momjian Exp $
d171 1
a171 1
    SQL/PSM is a proposed standard to enable function extensibility.
@


1.8
log
@Fix WARN->NOTICE in docs.  Change libpgeasy connection parameters to use
PQconnectdb() style connections.
@
text
@d2 1
a2 1
$Header: /usr/local/cvsroot/pgsql/doc/src/sgml/ref/drop_function.sgml,v 1.7 1999/07/22 15:09:10 thomas Exp $
d119 1
a119 1
    <xref linkend="sql-createfunction-title" endterm="sql-createfunction-title">
@


1.7
log
@Complete merge of all old man page information.
ecpg reference page still needs formatting.
@
text
@d2 1
a2 1
$Header$
d80 1
a80 1
WARN RemoveFunction: Function "<replaceable class="parameter">name</replaceable>" ("<replaceable class="parameter">types</replaceable>") does not exist
@


1.6
log
@Fix markup for docbook2man man page generation.
No big deal; fixed lots of other markup at the same time.
Bigest change: make sure there is no whitespace
 in front of <term> contents.
This will probably help the other output types too.
@
text
@d1 5
d8 1
a8 1
  <refentrytitle>
d23 1
a23 1
   <date>1998-04-15</date>
d116 1
d118 8
a125 2
    Refer to <command>CREATE FUNCTION</command>
    to create aggregate functions.
d134 1
a143 10
 <refsect1 id="R1-SQL-DROPFUNCTION-3">
  <title>
   Bugs
  </title>
  <para>
   No checks are made to ensure that types, operators or access
   methods that rely on the function have been removed first.
  </para>
 </refsect1>

a147 3
  <para>
   DROP FUNCTION is a <productname>Postgres</productname> language extension.
  </para>
d151 14
d173 2
a174 1
    <programlisting>
d176 1
a176 1
    </programlisting>
@


1.5
log
@Clean up to ensure tag completion as required by the newest versions
 of Norm's Modular Style Sheets and jade/docbook.
From Vince Vielhaber <vev@@michvhf.com>.
@
text
@d1 3
a3 3
<REFENTRY ID="SQL-DROPFUNCTION">
 <REFMETA>
  <REFENTRYTITLE>
d5 5
a9 5
  </REFENTRYTITLE>
  <REFMISCINFO>SQL - Language Statements</REFMISCINFO>
 </REFMETA>
 <REFNAMEDIV>
  <REFNAME>
d11 2
a12 2
  </REFNAME>
  <REFPURPOSE>
d14 1
a14 1
  </REFPURPOSE>
d16 5
a20 5
 <REFSYNOPSISDIV>
  <REFSYNOPSISDIVINFO>
   <DATE>1998-04-15</DATE>
  </REFSYNOPSISDIVINFO>
  <SYNOPSIS>
d22 7
a28 7
  </SYNOPSIS>
  
  <REFSECT2 ID="R2-SQL-DROPFUNCTION-1">
   <REFSECT2INFO>
    <DATE>1998-04-15</DATE>
   </REFSECT2INFO>
   <TITLE>
d30 28
a57 32
   </TITLE>
   <PARA>
   </PARA>
       <VARIABLELIST>
	<VARLISTENTRY>
	 <TERM>
	  <replaceable class="parameter"> name</replaceable>
	 </TERM>
	 <LISTITEM>
	  <PARA>
	   The name of an existing function.
	  </PARA>
	 </LISTITEM>
	</VARLISTENTRY>
	<VARLISTENTRY>
	 <TERM>
	  <replaceable class="parameter">type</replaceable>
	 </TERM>
	 <LISTITEM>
	  <PARA>
	   The type of function parameters.
	  </PARA>
	 </LISTITEM>
	</VARLISTENTRY>
       </variablelist>
  </REFSECT2>
  
  <REFSECT2 ID="R2-SQL-DROPFUNCTION-2">
   <REFSECT2INFO>
    <DATE>1998-04-15</DATE>
   </REFSECT2INFO>
   <TITLE>
d59 2
a60 2
   </TITLE>
   <PARA>
d62 19
a80 19
       <VARIABLELIST>
	<VARLISTENTRY>
	 <TERM>
	  <ReturnValue>DROP</ReturnValue>
	 </TERM>
	 <LISTITEM>
	  <PARA>
	   Message returned if the command completes successfully.
	  </PARA>
	 </LISTITEM>
	</VARLISTENTRY>
	<VARLISTENTRY>
	 <TERM>
	  <ReturnValue>WARN RemoveFunction: Function "<replaceable class="parameter">name</replaceable>" ("<replaceable class="parameter">types</replaceable>") does not exist</ReturnValue>
	 </TERM>
	 <LISTITEM>
	  <PARA>
	   This message is given if the function specified does not
exist in the current database.
d84 1
a84 1
    </VARIABLELIST>
d86 8
a93 8
  </REFSECT2>
 </REFSYNOPSISDIV>
 
 <REFSECT1 ID="R1-SQL-DROPFUNCTION-1">
  <REFSECT1INFO>
   <DATE>1998-04-15</DATE>
  </REFSECT1INFO>
  <TITLE>
d95 2
a96 2
  </TITLE>
  <PARA>
d102 7
a108 7
  </PARA>
  
  <REFSECT2 ID="R2-SQL-DROPFUNCTION-3">
   <REFSECT2INFO>
    <DATE>1998-04-15</DATE>
   </REFSECT2INFO>
   <TITLE>
d110 6
a115 10
   </TITLE>
   <PARA>
    Refer to <citerefentry>
<refentrytitle>
CREATE FUNCTION
</refentrytitle>
    </citerefentry>
 to create aggregate functions.
   </PARA>
  </REFSECT2>
d117 3
a119 3
  
 <REFSECT1 ID="R1-SQL-DROPFUNCTION-2">
  <TITLE>
d121 2
a122 2
  </TITLE>
  <PARA>
d124 2
a125 2
  </PARA>
  <ProgramListing>
d127 3
a129 2
  </ProgramListing>
 </REFSECT1>
d131 2
a132 2
 <REFSECT1 ID="R1-SQL-DROPFUNCTION-3">
  <TITLE>
d134 2
a135 2
  </TITLE>
  <PARA>
d138 5
a142 5
  </PARA>
 </REFSECT1>
 
 <REFSECT1 ID="R1-SQL-DROPFUNCTION-4">
  <TITLE>
d144 4
a147 4
  </TITLE>
  <PARA>
DROP FUNCTION is a <productname>Postgres</productname> language extension.
  </PARA>
d149 5
a153 5
  <REFSECT2 ID="R2-SQL-DROPFUNCTION-4">
   <REFSECT2INFO>
    <DATE>1998-04-15</DATE>
   </REFSECT2INFO>
   <TITLE>
d155 4
a158 4
   </TITLE>
   <PARA>
SQL/PSM is a proposed standard to enable function extensibility.
The SQL/PSM DROP FUNCTION statement has the following syntax:
d160 3
a162 2
DROP [ SPECIFIC ] FUNCTION <replaceable class="parameter">name</replaceable> { RESTRICT | CASCADE }</programlisting>
   </PARA>
d165 1
a165 1
</REFENTRY>
d170 1
a170 1
sgml-omittag:t
@


1.4
log
@Minor cleanup in markup, especially in the Output section.
@
text
@d15 1
a15 1
  
d85 5
a89 2

   </VARIABLELIST>
d124 1
d137 1
@


1.3
log
@Editing and markup cleanup.
@
text
@d65 1
a65 8
   </PARA>
   <VARIABLELIST>
    <VARLISTENTRY>
     <TERM>
<replaceable>status</replaceable>
     </TERM>
     <LISTITEM>
      <PARA>
d85 1
a85 6
	  </PARA>
	 </LISTITEM>
	</VARLISTENTRY>
       </variablelist>
     </LISTITEM>
    </VARLISTENTRY>
@


1.2
log
@Very minor formatting fixup in the refentry id field to remove
 the trailing "-1". This makes a cleaner html output file name.
Clean up a few refpurpose fields.
@
text
@d21 1
a21 1
   DROP FUNCTION <replaceable class="parameter">name</replaceable> ( [<replaceable class="parameter">type</replaceable> [, ...]] )
a32 6
   <VARIABLELIST>
    <VARLISTENTRY>
     <TERM>
     </TERM>
     <LISTITEM>
      <PARA>
a54 3
     </LISTITEM>
    </VARLISTENTRY>
   </VARIABLELIST>
d69 1
d86 1
a86 2
	  <ReturnValue>
	   WARN RemoveFunction: Function "<replaceable class="parameter">name</replaceable>" ("<replaceable class="parameter">types</replaceable>") does not exist</ReturnValue>
d91 1
a91 1
exist into database.
d125 4
a128 3
    Refer to the <citerefentry>
     <refentrytitle>
      CREATE FUNCTION</refentrytitle>
d130 1
a130 1
 statement to create aggregate functions.
d142 1
a142 1
   DROP FUNCTION sqrt(int4);
d159 2
a160 2
  <PARA
   >DROP FUNCTION statement is a PostgreSQL language extension.
d171 2
a172 1
   The SQL/PSM DROP FUNCTION statement has the following syntax:
d174 1
a174 1
     DROP [ SPECIFIC ] FUNCTION <replaceable class="parameter">name</replaceable> { RESTRICT | CASCADE }</programlisting>
@


1.1
log
@First files for reference pages.
@
text
@d1 1
a1 1
<REFENTRY ID="SQL-DROPFUNCTION-1">
@
