pg.ddx.io  pgsql-docs@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Peter Eisentraut <peter@eisentraut.org>
To: Erki Eessaar <erki.eessaar@taltech.ee>
To: pgsql-docs@lists.postgresql.org <pgsql-docs@lists.postgresql.org>
Subject: Re: INFORMATION_SCHEMA.routine_column_usage
Date: Wed, 29 Nov 2023 15:01:00 +0100
Message-ID: <28163ed6-e3aa-49b3-8053-02f6c145f02f@eisentraut.org> (raw)
In-Reply-To: <AM9PR01MB8268EC7B696F9FE346CA5B93FEB8A@AM9PR01MB8268.eurprd01.prod.exchangelabs.com>
References: <AM9PR01MB8268EC7B696F9FE346CA5B93FEB8A@AM9PR01MB8268.eurprd01.prod.exchangelabs.com>

> Here
> https://www.postgresql.org/docs/current/infoschema-routine-column-usage.html <https://www.postgresql.org/docs/current/infoschema-routine-column-usage.html;
> 
> it is stated that "The view |routine_column_usage| is meant to identify 
> all columns that are used by a function or procedure. This information 
> is currently not tracked by PostgreSQL."
> 
> However, this claim is incorrect because the view provides information 
> about the column usage of SQL functions that have SQL-standard function 
> body.

Correct, the documentation was not updated when this was added.  A few 
other views are similarly affected.  How about this attached patch.
From dfe65ace27a5b2e11511e5d929eea356c8ca89e5 Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <peter@eisentraut.org>
Date: Wed, 29 Nov 2023 14:56:41 +0100
Subject: [PATCH] doc: Update info on information schema usage tables

Commit f40c6969d0 added the information schema usage tables but added
documentation that they did not fully work yet.  Commit e717a9a18b
then added SQL-standard function bodies, which made the information
schema views fully functional, but it neglected to update the
documentation.  This is now done here.

Reported-by: Erki Eessaar <erki.eessaar@taltech.ee>
Discussion: https://www.postgresql.org/message-id/flat/AM9PR01MB8268EC7B696F9FE346CA5B93FEB8A%40AM9PR01MB8268.eu...

TODO: backpatch 14+
---
 doc/src/sgml/information_schema.sgml | 30 +++++++++++++++-------------
 1 file changed, 16 insertions(+), 14 deletions(-)

diff --git a/doc/src/sgml/information_schema.sgml b/doc/src/sgml/information_schema.sgml
index 9c39e9aab5..0ca7d5a9e0 100644
--- a/doc/src/sgml/information_schema.sgml
+++ b/doc/src/sgml/information_schema.sgml
@@ -4846,9 +4846,11 @@ <title><structname>role_usage_grants</structname> Columns</title>
   <title><literal>routine_column_usage</literal></title>
 
   <para>
-   The view <literal>routine_column_usage</literal> is meant to identify all
-   columns that are used by a function or procedure.  This information is
-   currently not tracked by <productname>PostgreSQL</productname>.
+   The view <literal>routine_column_usage</literal> identifies all columns
+   that are used by a 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.)  A column is only
+   included if its table is owned by a currently enabled role.
   </para>
 
   <table>
@@ -5085,12 +5087,12 @@ <title><structname>routine_privileges</structname> Columns</title>
   <title><literal>routine_routine_usage</literal></title>
 
   <para>
-   The view <literal>routine_routine_usage</literal> is meant to identify all
-   functions or procedures that are used by another (or the same) function or
-   procedure, either in the body or in parameter default expressions.
-   Currently, only functions used in parameter default expressions are
-   tracked.  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
+   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>
 
@@ -5184,11 +5186,11 @@ <title><literal>routine_routine_usage</literal> Columns</title>
   <title><literal>routine_sequence_usage</literal></title>
 
   <para>
-   The view <literal>routine_sequence_usage</literal> is meant to identify all
-   sequences that are used by a function or procedure, either in the body or
-   in parameter default expressions.  Currently, only sequences used in
-   parameter default expressions are tracked.  A sequence is only included if
-   that sequence is owned by a currently enabled role.
+   The view <literal>routine_sequence_usage</literal> identifies all sequences
+   that are used by a 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.)  A sequence is only
+   included if that sequence is owned by a currently enabled role.
   </para>
 
   <table>
-- 
2.43.0



Attachments:

  [text/plain] 0001-doc-Update-info-on-information-schema-usage-tables.patch (3.8K, ../28163ed6-e3aa-49b3-8053-02f6c145f02f@eisentraut.org/2-0001-doc-Update-info-on-information-schema-usage-tables.patch)
  download | inline diff:
From dfe65ace27a5b2e11511e5d929eea356c8ca89e5 Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <peter@eisentraut.org>
Date: Wed, 29 Nov 2023 14:56:41 +0100
Subject: [PATCH] doc: Update info on information schema usage tables

Commit f40c6969d0 added the information schema usage tables but added
documentation that they did not fully work yet.  Commit e717a9a18b
then added SQL-standard function bodies, which made the information
schema views fully functional, but it neglected to update the
documentation.  This is now done here.

Reported-by: Erki Eessaar <erki.eessaar@taltech.ee>
Discussion: https://www.postgresql.org/message-id/flat/AM9PR01MB8268EC7B696F9FE346CA5B93FEB8A%40AM9PR01MB8268.eurprd01.prod.exchangelabs.com

TODO: backpatch 14+
---
 doc/src/sgml/information_schema.sgml | 30 +++++++++++++++-------------
 1 file changed, 16 insertions(+), 14 deletions(-)

diff --git a/doc/src/sgml/information_schema.sgml b/doc/src/sgml/information_schema.sgml
index 9c39e9aab5..0ca7d5a9e0 100644
--- a/doc/src/sgml/information_schema.sgml
+++ b/doc/src/sgml/information_schema.sgml
@@ -4846,9 +4846,11 @@ <title><structname>role_usage_grants</structname> Columns</title>
   <title><literal>routine_column_usage</literal></title>
 
   <para>
-   The view <literal>routine_column_usage</literal> is meant to identify all
-   columns that are used by a function or procedure.  This information is
-   currently not tracked by <productname>PostgreSQL</productname>.
+   The view <literal>routine_column_usage</literal> identifies all columns
+   that are used by a 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.)  A column is only
+   included if its table is owned by a currently enabled role.
   </para>
 
   <table>
@@ -5085,12 +5087,12 @@ <title><structname>routine_privileges</structname> Columns</title>
   <title><literal>routine_routine_usage</literal></title>
 
   <para>
-   The view <literal>routine_routine_usage</literal> is meant to identify all
-   functions or procedures that are used by another (or the same) function or
-   procedure, either in the body or in parameter default expressions.
-   Currently, only functions used in parameter default expressions are
-   tracked.  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
+   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>
 
@@ -5184,11 +5186,11 @@ <title><literal>routine_routine_usage</literal> Columns</title>
   <title><literal>routine_sequence_usage</literal></title>
 
   <para>
-   The view <literal>routine_sequence_usage</literal> is meant to identify all
-   sequences that are used by a function or procedure, either in the body or
-   in parameter default expressions.  Currently, only sequences used in
-   parameter default expressions are tracked.  A sequence is only included if
-   that sequence is owned by a currently enabled role.
+   The view <literal>routine_sequence_usage</literal> identifies all sequences
+   that are used by a 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.)  A sequence is only
+   included if that sequence is owned by a currently enabled role.
   </para>
 
   <table>
-- 
2.43.0



view thread (3+ messages)  latest in thread

Message-ID: <28163ed6-e3aa-49b3-8053-02f6c145f02f@eisentraut.org>
Permalink:  ../28163ed6-e3aa-49b3-8053-02f6c145f02f@eisentraut.org/
Also on:    postgresql.org/message-id/28163ed6-e3aa-49b3-8053-02f6c145f02f@eisentraut.org

 ·  · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-docs@postgresql.org
  Cc: peter@eisentraut.org, erki.eessaar@taltech.ee, pgsql-docs@lists.postgresql.org
  Subject: Re: INFORMATION_SCHEMA.routine_column_usage
  In-Reply-To: <28163ed6-e3aa-49b3-8053-02f6c145f02f@eisentraut.org>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox