*** pgsql/src/bin/psql/describe.c 2009/04/04 00:44:30 1.207 --- pgsql/src/bin/psql/describe.c 2009/04/08 22:29:30 1.208 *************** *** 8,14 **** * * Copyright (c) 2000-2009, PostgreSQL Global Development Group * ! * $PostgreSQL: pgsql/src/bin/psql/describe.c,v 1.206 2009/04/04 00:41:11 tgl Exp $ */ #include "postgres_fe.h" --- 8,14 ---- * * Copyright (c) 2000-2009, PostgreSQL Global Development Group * ! * $PostgreSQL: pgsql/src/bin/psql/describe.c,v 1.207 2009/04/04 00:44:30 tgl Exp $ */ #include "postgres_fe.h" *************** describeFunctions(const char *pattern, b *** 274,286 **** appendPQExpBuffer(&buf, " LEFT JOIN pg_catalog.pg_language l ON l.oid = p.prolang\n"); ! /* ! * we skip in/out funcs by excluding functions that take or return cstring ! */ ! appendPQExpBuffer(&buf, ! "WHERE p.prorettype <> 'pg_catalog.cstring'::pg_catalog.regtype\n" ! " AND p.proargtypes[0] IS DISTINCT FROM 'pg_catalog.cstring'::pg_catalog.regtype\n" ! " AND NOT p.proisagg\n"); if (!showSystem && !pattern) appendPQExpBuffer(&buf, " AND n.nspname <> 'pg_catalog'\n" --- 274,280 ---- appendPQExpBuffer(&buf, " LEFT JOIN pg_catalog.pg_language l ON l.oid = p.prolang\n"); ! appendPQExpBuffer(&buf, "WHERE NOT p.proisagg\n"); if (!showSystem && !pattern) appendPQExpBuffer(&buf, " AND n.nspname <> 'pg_catalog'\n" *************** objectDescription(const char *pattern, b *** 643,649 **** "n.nspname", "p.proname", NULL, "pg_catalog.pg_function_is_visible(p.oid)"); ! /* Function descriptions (except in/outs for datatypes) */ appendPQExpBuffer(&buf, "UNION ALL\n" " SELECT p.oid as oid, p.tableoid as tableoid,\n" --- 637,643 ---- "n.nspname", "p.proname", NULL, "pg_catalog.pg_function_is_visible(p.oid)"); ! /* Function descriptions */ appendPQExpBuffer(&buf, "UNION ALL\n" " SELECT p.oid as oid, p.tableoid as tableoid,\n" *************** objectDescription(const char *pattern, b *** 652,662 **** " CAST('%s' AS pg_catalog.text) as object\n" " FROM pg_catalog.pg_proc p\n" " LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace\n" ! ! " WHERE p.prorettype <> 'pg_catalog.cstring'::pg_catalog.regtype\n" ! " AND (p.proargtypes[0] IS NULL\n" ! " OR p.proargtypes[0] <> 'pg_catalog.cstring'::pg_catalog.regtype)\n" ! " AND NOT p.proisagg\n", gettext_noop("function")); if (!showSystem && !pattern) --- 646,652 ---- " CAST('%s' AS pg_catalog.text) as object\n" " FROM pg_catalog.pg_proc p\n" " LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace\n" ! " WHERE NOT p.proisagg\n", gettext_noop("function")); if (!showSystem && !pattern)