aboutsummaryrefslogtreecommitdiff
path: root/src/bin/psql/describe.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/bin/psql/describe.c')
-rw-r--r--src/bin/psql/describe.c150
1 files changed, 0 insertions, 150 deletions
diff --git a/src/bin/psql/describe.c b/src/bin/psql/describe.c
index c2051ee8207..caf97563f48 100644
--- a/src/bin/psql/describe.c
+++ b/src/bin/psql/describe.c
@@ -4393,156 +4393,6 @@ listEventTriggers(const char *pattern, bool verbose)
}
/*
- * \dX
- *
- * Describes extended statistics.
- */
-bool
-listExtendedStats(const char *pattern, bool verbose)
-{
- PQExpBufferData buf;
- PGresult *res;
- printQueryOpt myopt = pset.popt;
-
- if (pset.sversion < 100000)
- {
- char sverbuf[32];
-
- pg_log_error("The server (version %s) does not support extended statistics.",
- formatPGVersionNumber(pset.sversion, false,
- sverbuf, sizeof(sverbuf)));
- return true;
- }
-
- initPQExpBuffer(&buf);
- printfPQExpBuffer(&buf,
- "SELECT \n"
- "es.stxnamespace::pg_catalog.regnamespace::text AS \"%s\", \n"
- "es.stxname AS \"%s\", \n"
- "pg_catalog.format('%%s FROM %%s', \n"
- " (SELECT pg_catalog.string_agg(pg_catalog.quote_ident(a.attname),', ') \n"
- " FROM pg_catalog.unnest(es.stxkeys) s(attnum) \n"
- " JOIN pg_catalog.pg_attribute a \n"
- " ON (es.stxrelid = a.attrelid \n"
- " AND a.attnum = s.attnum \n"
- " AND NOT a.attisdropped)), \n"
- "es.stxrelid::regclass) AS \"%s\"",
- gettext_noop("Schema"),
- gettext_noop("Name"),
- gettext_noop("Definition"));
-
- /*
- * Since 12 there are two catalogs - one for the definition, one for the
- * data built by ANALYZE. Older releases use a single catalog. Also, 12
- * adds the MCV statistics kind.
- */
- if (pset.sversion < 120000)
- {
- appendPQExpBuffer(&buf,
- ",\nCASE WHEN es.stxndistinct IS NOT NULL THEN 'built' \n"
- " WHEN 'd' = any(es.stxkind) THEN 'requested' \n"
- "END AS \"%s\", \n"
- "CASE WHEN es.stxdependencies IS NOT NULL THEN 'built' \n"
- " WHEN 'f' = any(es.stxkind) THEN 'requested' \n"
- "END AS \"%s\"",
- gettext_noop("Ndistinct"),
- gettext_noop("Dependencies"));
- }
- else
- {
- appendPQExpBuffer(&buf,
- ",\nCASE WHEN esd.stxdndistinct IS NOT NULL THEN 'built' \n"
- " WHEN 'd' = any(es.stxkind) THEN 'requested' \n"
- "END AS \"%s\", \n"
- "CASE WHEN esd.stxddependencies IS NOT NULL THEN 'built' \n"
- " WHEN 'f' = any(es.stxkind) THEN 'requested' \n"
- "END AS \"%s\", \n"
- "CASE WHEN esd.stxdmcv IS NOT NULL THEN 'built' \n"
- " WHEN 'm' = any(es.stxkind) THEN 'requested' \n"
- "END AS \"%s\"",
- gettext_noop("Ndistinct"),
- gettext_noop("Dependencies"),
- gettext_noop("MCV"));
- }
-
- /* In verbose mode, print sizes of the extended statistics objects. */
- if (verbose)
- {
- if (pset.sversion < 120000)
- {
- appendPQExpBuffer(&buf,
- ",\nCASE WHEN es.stxndistinct IS NOT NULL THEN \n"
- " pg_catalog.pg_size_pretty(pg_catalog.length(es.stxndistinct)::bigint) \n"
- " WHEN 'd' = any(es.stxkind) THEN '0 bytes' \n"
- "END AS \"%s\", \n"
- "CASE WHEN es.stxdependencies IS NOT NULL THEN \n"
- " pg_catalog.pg_size_pretty(pg_catalog.length(es.stxdependencies)::bigint) \n"
- " WHEN 'f' = any(es.stxkind) THEN '0 bytes' \n"
- "END AS \"%s\"",
- gettext_noop("Ndistinct_size"),
- gettext_noop("Dependencies_size"));
- }
- else
- {
- appendPQExpBuffer(&buf,
- ",\nCASE WHEN esd.stxdndistinct IS NOT NULL THEN \n"
- " pg_catalog.pg_size_pretty(pg_catalog.length(esd.stxdndistinct)::bigint) \n"
- " WHEN 'd' = any(es.stxkind) THEN '0 bytes' \n"
- "END AS \"%s\", \n"
- "CASE WHEN esd.stxddependencies IS NOT NULL THEN \n"
- " pg_catalog.pg_size_pretty(pg_catalog.length(esd.stxddependencies)::bigint) \n"
- " WHEN 'f' = any(es.stxkind) THEN '0 bytes' \n"
- "END AS \"%s\", \n"
- "CASE WHEN esd.stxdmcv IS NOT NULL THEN \n"
- " pg_catalog.pg_size_pretty(pg_catalog.length(esd.stxdmcv)::bigint) \n"
- " WHEN 'm' = any(es.stxkind) THEN '0 bytes' \n"
- "END AS \"%s\"",
- gettext_noop("Ndistinct_size"),
- gettext_noop("Dependencies_size"),
- gettext_noop("MCV_size"));
- }
- }
-
- if (pset.sversion < 120000)
- {
- appendPQExpBufferStr(&buf,
- " \nFROM pg_catalog.pg_statistic_ext es \n"
- "INNER JOIN pg_catalog.pg_class c \n"
- "ON es.stxrelid = c.oid \n");
- }
- else
- {
- appendPQExpBufferStr(&buf,
- " \nFROM pg_catalog.pg_statistic_ext es \n"
- "LEFT JOIN pg_catalog.pg_statistic_ext_data esd \n"
- "ON es.oid = esd.stxoid \n"
- "INNER JOIN pg_catalog.pg_class c \n"
- "ON es.stxrelid = c.oid \n");
- }
-
- processSQLNamePattern(pset.db, &buf, pattern, false,
- false, NULL,
- "es.stxname", NULL,
- NULL);
-
- appendPQExpBufferStr(&buf, "ORDER BY 1, 2;");
-
- res = PSQLexec(buf.data);
- termPQExpBuffer(&buf);
- if (!res)
- return false;
-
- myopt.nullPrint = NULL;
- myopt.title = _("List of extended statistics");
- myopt.translate_header = true;
-
- printQuery(res, &myopt, pset.queryFout, false, pset.logfile);
-
- PQclear(res);
- return true;
-}
-
-/*
* \dC
*
* Describes casts.