</para>
<para>
Name of the schema containing the function
</para></entry>
</row>
<row>
<entry role="catalog_table_entry"><para role="column_definition">
<structfield>specific_name</structfield> <type>sql_identifier</type>
</para>
<para>
The <quote>specific name</quote> of the function. See <xref linkend="infoschema-routines"/> for more information.
</para></entry>
</row>
<row>
<entry role="catalog_table_entry"><para role="column_definition">
<structfield>routine_catalog</structfield> <type>sql_identifier</type>
</para>
<para>
Name of the database containing the function (always the current database)
</para></entry>
</row>
<row>
<entry role="catalog_table_entry"><para role="column_definition">
<structfield>routine_schema</structfield> <type>sql_identifier</type>
</para>
<para>
Name of the schema containing the function
</para></entry>
</row>
<row>
<entry role="catalog_table_entry"><para role="column_definition">
<structfield>routine_name</structfield> <type>sql_identifier</type>
</para>
<para>
Name of the function (might be duplicated in case of overloading)
</para></entry>
</row>
<row>
<entry role="catalog_table_entry"><para role="column_definition">
<structfield>privilege_type</structfield> <type>character_data</type>
</para>
<para>
Always <literal>EXECUTE</literal> (the only privilege type for functions)
</para></entry>
</row>
<row>
<entry role="catalog_table_entry"><para role="column_definition">
<structfield>is_grantable</structfield> <type>yes_or_no</type>
</para>
<para>
<literal>YES</literal> if the privilege is grantable, <literal>NO</literal> if not
</para></entry>
</row>
</tbody>
</tgroup>
</table>
</sect1>
<sect1 id="infoschema-routine-routine-usage">
<title><literal>routine_routine_usage</literal></title>
<para>
The view <literal>routine_routine_usage</literal> identifies all functions
or procedures that are used by another (or the same) function or procedure,
either in the SQL body or in parameter default expressions. (This only
works for unquoted SQL bodies, not quoted bodies or functions in other
languages.) An entry is included here only if the used function is owned
by a currently enabled role. (There is no such restriction on the using
function.)
</para>
<para>
Note that the entries for both functions in the view refer to the
<quote>specific</quote> name of the routine, even though the column names
are used in a way that is inconsistent with other information schema views
about routines. This is per SQL standard, although it is arguably a
misdesign. See <xref linkend="infoschema-routines"/> for more information
about specific names.
</para>
<table>
<title><literal>routine_routine_usage</literal> Columns</title>
<tgroup cols="1">
<thead>
<row>
<entry role="catalog_table_entry"><para role="column_definition">
Column Type
</para>
<para>
Description
</para></entry>
</row>
</thead>
<tbody>
<row>
<entry role="catalog_table_entry"><para role="column_definition">
<structfield>specific_catalog</structfield> <type>sql_identifier</type>
</para>
<para>
Name of the database containing the using function (always the current database)
</para></entry>
</row>
<row>
<entry role="catalog_table_entry"><para role="column_definition">
<structfield>specific_schema</structfield> <type>sql_identifier</type>
</para>
<para>
Name of the schema containing the using function
</para></entry>
</row>
<row>
<entry role="catalog_table_entry"><para role="column_definition">
<structfield>specific_name</structfield>