BUG #2759: \df doesn't show functions with no args

Started by Leon Miller-Outover 19 years ago3 messagesbugs
Jump to latest
#1Leon Miller-Out
pg_bugs@leonout.com

The following bug has been logged online:

Bug reference: 2759
Logged by: Leon Miller-Out
Email address: pg_bugs@leonout.com
PostgreSQL version: 8.1.5
Operating system: CentOS 4.4 x64
Description: \df doesn't show functions with no args
Details:

\df doesn't show functions with no arguments.

This is a documented problem, and appears to have been fixed in April 2005,
so I'm not sure why it's showing up here.

See:
http://groups.google.com/group/pgsql.committers/browse_frm/thread/d28052b7da
9424b0/e6413772fc41324d%23e6413772fc41324d

Running pgsql -E, then \dv outputs:

SELECT n.nspname as "Schema",
p.proname as "Name",
CASE WHEN p.proretset THEN 'setof ' ELSE '' END ||
pg_catalog.format_type(p.prorettype, NULL) as "Result data type",
pg_catalog.oidvectortypes(p.proargtypes) as "Argument data types"
FROM pg_catalog.pg_proc p
LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace
WHERE p.prorettype <> 'pg_catalog.cstring'::pg_catalog.regtype
AND p.proargtypes[0] <> 'pg_catalog.cstring'::pg_catalog.regtype
AND NOT p.proisagg
AND pg_catalog.pg_function_is_visible(p.oid)
ORDER BY 1, 2, 3, 4;

The line

AND p.proargtypes[0] <> 'pg_catalog.cstring'::pg_catalog.regtype

Needs to be either

AND (p.proargtypes[0] <> 'pg_catalog.cstring'::pg_catalog.regtype
OR p.proargtypes[0] IS NULL)

or gone completely. See thread at
http://archives.postgresql.org/pgsql-hackers/2005-03/msg01046.php

#2Bruce Momjian
bruce@momjian.us
In reply to: Leon Miller-Out (#1)
Re: BUG #2759: \df doesn't show functions with no args

I am wondering if you are using an old psql with your 8.1.X server.
I see in 8.2.X this output from psql \df:

pg_catalog | now | timestamp with time zone |

and I see similar code in 8.1.X. Do you see "now" showing up?

---------------------------------------------------------------------------

Leon Miller-Out wrote:

The following bug has been logged online:

Bug reference: 2759
Logged by: Leon Miller-Out
Email address: pg_bugs@leonout.com
PostgreSQL version: 8.1.5
Operating system: CentOS 4.4 x64
Description: \df doesn't show functions with no args
Details:

\df doesn't show functions with no arguments.

This is a documented problem, and appears to have been fixed in April 2005,
so I'm not sure why it's showing up here.

See:
http://groups.google.com/group/pgsql.committers/browse_frm/thread/d28052b7da
9424b0/e6413772fc41324d%23e6413772fc41324d

Running pgsql -E, then \dv outputs:

SELECT n.nspname as "Schema",
p.proname as "Name",
CASE WHEN p.proretset THEN 'setof ' ELSE '' END ||
pg_catalog.format_type(p.prorettype, NULL) as "Result data type",
pg_catalog.oidvectortypes(p.proargtypes) as "Argument data types"
FROM pg_catalog.pg_proc p
LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace
WHERE p.prorettype <> 'pg_catalog.cstring'::pg_catalog.regtype
AND p.proargtypes[0] <> 'pg_catalog.cstring'::pg_catalog.regtype
AND NOT p.proisagg
AND pg_catalog.pg_function_is_visible(p.oid)
ORDER BY 1, 2, 3, 4;

The line

AND p.proargtypes[0] <> 'pg_catalog.cstring'::pg_catalog.regtype

Needs to be either

AND (p.proargtypes[0] <> 'pg_catalog.cstring'::pg_catalog.regtype
OR p.proargtypes[0] IS NULL)

or gone completely. See thread at
http://archives.postgresql.org/pgsql-hackers/2005-03/msg01046.php

---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

http://www.postgresql.org/docs/faq

--
Bruce Momjian bruce@momjian.us
EnterpriseDB http://www.enterprisedb.com

+ If your life is a hard drive, Christ can be your backup. +

#3Leon Miller-Out
leon@leonout.com
In reply to: Bruce Momjian (#2)
Re: BUG #2759: \df doesn't show functions with no args

Bruce, you're right... I was using an old client. I wasn't aware that
the client translated the \d commands into SQL. Thanks for clearing
this up!

Leon

Show quoted text

On 11/20/06, Bruce Momjian <bruce@momjian.us> wrote:

I am wondering if you are using an old psql with your 8.1.X server.
I see in 8.2.X this output from psql \df:

pg_catalog | now | timestamp with time zone |

and I see similar code in 8.1.X. Do you see "now" showing up?

---------------------------------------------------------------------------

Leon Miller-Out wrote:

The following bug has been logged online:

Bug reference: 2759
Logged by: Leon Miller-Out
Email address: pg_bugs@leonout.com
PostgreSQL version: 8.1.5
Operating system: CentOS 4.4 x64
Description: \df doesn't show functions with no args
Details:

\df doesn't show functions with no arguments.

This is a documented problem, and appears to have been fixed in April 2005,
so I'm not sure why it's showing up here.

See:
http://groups.google.com/group/pgsql.committers/browse_frm/thread/d28052b7da
9424b0/e6413772fc41324d%23e6413772fc41324d

Running pgsql -E, then \dv outputs:

SELECT n.nspname as "Schema",
p.proname as "Name",
CASE WHEN p.proretset THEN 'setof ' ELSE '' END ||
pg_catalog.format_type(p.prorettype, NULL) as "Result data type",
pg_catalog.oidvectortypes(p.proargtypes) as "Argument data types"
FROM pg_catalog.pg_proc p
LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace
WHERE p.prorettype <> 'pg_catalog.cstring'::pg_catalog.regtype
AND p.proargtypes[0] <> 'pg_catalog.cstring'::pg_catalog.regtype
AND NOT p.proisagg
AND pg_catalog.pg_function_is_visible(p.oid)
ORDER BY 1, 2, 3, 4;

The line

AND p.proargtypes[0] <> 'pg_catalog.cstring'::pg_catalog.regtype

Needs to be either

AND (p.proargtypes[0] <> 'pg_catalog.cstring'::pg_catalog.regtype
OR p.proargtypes[0] IS NULL)

or gone completely. See thread at
http://archives.postgresql.org/pgsql-hackers/2005-03/msg01046.php

---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

http://www.postgresql.org/docs/faq

--
Bruce Momjian bruce@momjian.us
EnterpriseDB http://www.enterprisedb.com

+ If your life is a hard drive, Christ can be your backup. +