*
* Copyright (c) 2000-2007, PostgreSQL Global Development Group
*
- * $PostgreSQL: pgsql/src/bin/psql/describe.c,v 1.162 2007/11/15 21:14:42 momjian Exp $
+ * $PostgreSQL: pgsql/src/bin/psql/describe.c,v 1.163 2007/12/12 21:41:47 tgl Exp $
*/
#include "postgres_fe.h"
#include "describe.h"
"FROM pg_catalog.pg_proc p\n"
" LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace\n"
"WHERE p.proisagg\n",
- _("Schema"), _("Name"), _("Result data type"),
- _("Argument data types"), _("Description"));
+ gettext_noop("Schema"),
+ gettext_noop("Name"),
+ gettext_noop("Result data type"),
+ gettext_noop("Argument data types"),
+ gettext_noop("Description"));
processSQLNamePattern(pset.db, &buf, pattern, true, false,
"n.nspname", "p.proname", NULL,
myopt.nullPrint = NULL;
myopt.title = _("List of aggregate functions");
+ myopt.trans_headers = true;
printQuery(res, &myopt, pset.queryFout, pset.logfile);
"SELECT spcname AS \"%s\",\n"
" pg_catalog.pg_get_userbyid(spcowner) AS \"%s\",\n"
" spclocation AS \"%s\"",
- _("Name"), _("Owner"), _("Location"));
+ gettext_noop("Name"),
+ gettext_noop("Owner"),
+ gettext_noop("Location"));
if (verbose)
appendPQExpBuffer(&buf,
- ",\n spcacl as \"%s\""
+ ",\n spcacl AS \"%s\""
",\n pg_catalog.shobj_description(oid, 'pg_tablespace') AS \"%s\"",
- _("Access privileges"), _("Description"));
+ gettext_noop("Access privileges"),
+ gettext_noop("Description"));
appendPQExpBuffer(&buf,
"\nFROM pg_catalog.pg_tablespace\n");
myopt.nullPrint = NULL;
myopt.title = _("List of tablespaces");
+ myopt.trans_headers = true;
printQuery(res, &myopt, pset.queryFout, pset.logfile);
" pg_catalog.generate_series(0, pg_catalog.array_upper(p.proargtypes, 1)) AS s(i)\n"
" ), ', ')\n"
" END AS \"%s\"",
- _("Schema"), _("Name"), _("Result data type"),
- _("Argument data types"));
+ gettext_noop("Schema"),
+ gettext_noop("Name"),
+ gettext_noop("Result data type"),
+ gettext_noop("Argument data types"));
if (verbose)
appendPQExpBuffer(&buf,
" l.lanname as \"%s\",\n"
" p.prosrc as \"%s\",\n"
" pg_catalog.obj_description(p.oid, 'pg_proc') as \"%s\"",
- _("Volatility"), _("Owner"), _("Language"),
- _("Source code"), _("Description"));
+ gettext_noop("Volatility"),
+ gettext_noop("Owner"),
+ gettext_noop("Language"),
+ gettext_noop("Source code"),
+ gettext_noop("Description"));
if (!verbose)
appendPQExpBuffer(&buf,
myopt.nullPrint = NULL;
myopt.title = _("List of functions");
+ myopt.trans_headers = true;
printQuery(res, &myopt, pset.queryFout, pset.logfile);
printfPQExpBuffer(&buf,
"SELECT n.nspname as \"%s\",\n"
" pg_catalog.format_type(t.oid, NULL) AS \"%s\",\n",
- _("Schema"), _("Name"));
+ gettext_noop("Schema"),
+ gettext_noop("Name"));
if (verbose)
appendPQExpBuffer(&buf,
" t.typname AS \"%s\",\n"
" THEN CAST('var' AS pg_catalog.text)\n"
" ELSE CAST(t.typlen AS pg_catalog.text)\n"
" END AS \"%s\",\n",
- _("Internal name"), _("Size"));
+ gettext_noop("Internal name"),
+ gettext_noop("Size"));
appendPQExpBuffer(&buf,
" pg_catalog.obj_description(t.oid, 'pg_type') as \"%s\"\n",
- _("Description"));
+ gettext_noop("Description"));
appendPQExpBuffer(&buf, "FROM pg_catalog.pg_type t\n"
" LEFT JOIN pg_catalog.pg_namespace n ON n.oid = t.typnamespace\n");
myopt.nullPrint = NULL;
myopt.title = _("List of data types");
+ myopt.trans_headers = true;
printQuery(res, &myopt, pset.queryFout, pset.logfile);
" pg_catalog.obj_description(o.oprcode, 'pg_proc')) AS \"%s\"\n"
"FROM pg_catalog.pg_operator o\n"
" LEFT JOIN pg_catalog.pg_namespace n ON n.oid = o.oprnamespace\n",
- _("Schema"), _("Name"),
- _("Left arg type"), _("Right arg type"),
- _("Result type"), _("Description"));
+ gettext_noop("Schema"),
+ gettext_noop("Name"),
+ gettext_noop("Left arg type"),
+ gettext_noop("Right arg type"),
+ gettext_noop("Result type"),
+ gettext_noop("Description"));
processSQLNamePattern(pset.db, &buf, pattern, false, true,
"n.nspname", "o.oprname", NULL,
myopt.nullPrint = NULL;
myopt.title = _("List of operators");
+ myopt.trans_headers = true;
printQuery(res, &myopt, pset.queryFout, pset.logfile);
printfPQExpBuffer(&buf,
"SELECT d.datname as \"%s\",\n"
- " r.rolname as \"%s\"",
- _("Name"), _("Owner"));
- appendPQExpBuffer(&buf,
- ",\n pg_catalog.pg_encoding_to_char(d.encoding) as \"%s\"",
- _("Encoding"));
+ " r.rolname as \"%s\",\n"
+ " pg_catalog.pg_encoding_to_char(d.encoding) as \"%s\"",
+ gettext_noop("Name"),
+ gettext_noop("Owner"),
+ gettext_noop("Encoding"));
if (verbose)
{
appendPQExpBuffer(&buf,
",\n t.spcname as \"%s\"",
- _("Tablespace"));
+ gettext_noop("Tablespace"));
appendPQExpBuffer(&buf,
",\n pg_catalog.shobj_description(d.oid, 'pg_database') as \"%s\"",
- _("Description"));
+ gettext_noop("Description"));
}
appendPQExpBuffer(&buf,
"\nFROM pg_catalog.pg_database d"
myopt.nullPrint = NULL;
myopt.title = _("List of databases");
+ myopt.trans_headers = true;
printQuery(res, &myopt, pset.queryFout, pset.logfile);
PQExpBufferData buf;
PGresult *res;
printQueryOpt myopt = pset.popt;
+ static const bool trans_columns[] = {false, false, true, false};
initPQExpBuffer(&buf);
"FROM pg_catalog.pg_class c\n"
" LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace\n"
"WHERE c.relkind IN ('r', 'v', 'S')\n",
- _("Schema"), _("Name"), _("table"), _("view"), _("sequence"), _("Type"), _("Access privileges"));
+ gettext_noop("Schema"),
+ gettext_noop("Name"),
+ gettext_noop("table"), gettext_noop("view"), gettext_noop("sequence"),
+ gettext_noop("Type"),
+ gettext_noop("Access privileges"));
/*
* Unless a schema pattern is specified, we suppress system and temp
}
myopt.nullPrint = NULL;
- printfPQExpBuffer(&buf, _("Access privileges for database \"%s\""), PQdb(pset.db));
+ printfPQExpBuffer(&buf, _("Access privileges for database \"%s\""),
+ PQdb(pset.db));
myopt.title = buf.data;
+ myopt.trans_headers = true;
+ myopt.trans_columns = trans_columns;
printQuery(res, &myopt, pset.queryFout, pset.logfile);
PQExpBufferData buf;
PGresult *res;
printQueryOpt myopt = pset.popt;
+ static const bool trans_columns[] = {false, false, true, false};
initPQExpBuffer(&buf);
appendPQExpBuffer(&buf,
"SELECT DISTINCT tt.nspname AS \"%s\", tt.name AS \"%s\", tt.object AS \"%s\", d.description AS \"%s\"\n"
"FROM (\n",
- _("Schema"), _("Name"), _("Object"), _("Description"));
+ gettext_noop("Schema"),
+ gettext_noop("Name"),
+ gettext_noop("Object"),
+ gettext_noop("Description"));
/* Aggregate descriptions */
appendPQExpBuffer(&buf,
" FROM pg_catalog.pg_proc p\n"
" LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace\n"
" WHERE p.proisagg\n",
- _("aggregate"));
+ gettext_noop("aggregate"));
processSQLNamePattern(pset.db, &buf, pattern, true, false,
"n.nspname", "p.proname", NULL,
"pg_catalog.pg_function_is_visible(p.oid)");
" AND (p.proargtypes[0] IS NULL\n"
" OR p.proargtypes[0] <> 'pg_catalog.cstring'::pg_catalog.regtype)\n"
" AND NOT p.proisagg\n",
- _("function"));
+ gettext_noop("function"));
processSQLNamePattern(pset.db, &buf, pattern, true, false,
"n.nspname", "p.proname", NULL,
"pg_catalog.pg_function_is_visible(p.oid)");
" CAST('%s' AS pg_catalog.text) as object\n"
" FROM pg_catalog.pg_operator o\n"
" LEFT JOIN pg_catalog.pg_namespace n ON n.oid = o.oprnamespace\n",
- _("operator"));
+ gettext_noop("operator"));
processSQLNamePattern(pset.db, &buf, pattern, false, false,
"n.nspname", "o.oprname", NULL,
"pg_catalog.pg_operator_is_visible(o.oid)");
" CAST('%s' AS pg_catalog.text) as object\n"
" FROM pg_catalog.pg_type t\n"
" LEFT JOIN pg_catalog.pg_namespace n ON n.oid = t.typnamespace\n",
- _("data type"));
+ gettext_noop("data type"));
processSQLNamePattern(pset.db, &buf, pattern, false, false,
"n.nspname", "pg_catalog.format_type(t.oid, NULL)",
NULL,
" FROM pg_catalog.pg_class c\n"
" LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace\n"
" WHERE c.relkind IN ('r', 'v', 'i', 'S')\n",
- _("table"), _("view"), _("index"), _("sequence"));
+ gettext_noop("table"),
+ gettext_noop("view"),
+ gettext_noop("index"),
+ gettext_noop("sequence"));
processSQLNamePattern(pset.db, &buf, pattern, true, false,
"n.nspname", "c.relname", NULL,
"pg_catalog.pg_table_is_visible(c.oid)");
" JOIN pg_catalog.pg_class c ON c.oid = r.ev_class\n"
" LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace\n"
" WHERE r.rulename != '_RETURN'\n",
- _("rule"));
+ gettext_noop("rule"));
/* XXX not sure what to do about visibility rule here? */
processSQLNamePattern(pset.db, &buf, pattern, true, false,
"n.nspname", "r.rulename", NULL,
" FROM pg_catalog.pg_trigger t\n"
" JOIN pg_catalog.pg_class c ON c.oid = t.tgrelid\n"
" LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace\n",
- _("trigger"));
+ gettext_noop("trigger"));
/* XXX not sure what to do about visibility rule here? */
processSQLNamePattern(pset.db, &buf, pattern, false, false,
"n.nspname", "t.tgname", NULL,
myopt.nullPrint = NULL;
myopt.title = _("Object descriptions");
+ myopt.trans_headers = true;
+ myopt.trans_columns = trans_columns;
printQuery(res, &myopt, pset.queryFout, pset.logfile);
PQExpBufferData buf;
PGresult *res;
printQueryOpt myopt = pset.popt;
+ static const bool trans_columns[] = {false, true, true, true, true, false, false};
initPQExpBuffer(&buf);
" ELSE CAST(r.rolconnlimit AS pg_catalog.text)\n"
" END AS \"%s\", \n"
" ARRAY(SELECT b.rolname FROM pg_catalog.pg_auth_members m JOIN pg_catalog.pg_roles b ON (m.roleid = b.oid) WHERE m.member = r.oid) as \"%s\"",
- _("Role name"),
- _("yes"), _("no"), _("Superuser"),
- _("yes"), _("no"), _("Create role"),
- _("yes"), _("no"), _("Create DB"),
- _("no limit"), _("Connections"),
- _("Member of"));
+ gettext_noop("Role name"),
+ gettext_noop("yes"), gettext_noop("no"),
+ gettext_noop("Superuser"),
+ gettext_noop("yes"), gettext_noop("no"),
+ gettext_noop("Create role"),
+ gettext_noop("yes"), gettext_noop("no"),
+ gettext_noop("Create DB"),
+ gettext_noop("no limit"),
+ gettext_noop("Connections"),
+ gettext_noop("Member of"));
if (verbose)
appendPQExpBuffer(&buf, "\n, pg_catalog.shobj_description(r.oid, 'pg_authid') AS \"%s\"",
- _("Description"));
+ gettext_noop("Description"));
appendPQExpBuffer(&buf, "\nFROM pg_catalog.pg_roles r\n");
myopt.nullPrint = NULL;
myopt.title = _("List of roles");
+ myopt.trans_headers = true;
+ myopt.trans_columns = trans_columns;
printQuery(res, &myopt, pset.queryFout, pset.logfile);
PQExpBufferData buf;
PGresult *res;
printQueryOpt myopt = pset.popt;
+ static const bool trans_columns[] = {false, false, true, false, false, false};
if (!(showTables || showIndexes || showViews || showSeq))
showTables = showViews = showSeq = true;
" c.relname as \"%s\",\n"
" CASE c.relkind WHEN 'r' THEN '%s' WHEN 'v' THEN '%s' WHEN 'i' THEN '%s' WHEN 'S' THEN '%s' WHEN 's' THEN '%s' END as \"%s\",\n"
" r.rolname as \"%s\"",
- _("Schema"), _("Name"),
- _("table"), _("view"), _("index"), _("sequence"),
- _("special"), _("Type"), _("Owner"));
+ gettext_noop("Schema"),
+ gettext_noop("Name"),
+ gettext_noop("table"), gettext_noop("view"), gettext_noop("index"), gettext_noop("sequence"), gettext_noop("special"),
+ gettext_noop("Type"),
+ gettext_noop("Owner"));
if (showIndexes)
appendPQExpBuffer(&buf,
",\n c2.relname as \"%s\"",
- _("Table"));
+ gettext_noop("Table"));
if (verbose)
appendPQExpBuffer(&buf,
",\n pg_catalog.obj_description(c.oid, 'pg_class') as \"%s\"",
- _("Description"));
+ gettext_noop("Description"));
appendPQExpBuffer(&buf,
"\nFROM pg_catalog.pg_class c"
{
myopt.nullPrint = NULL;
myopt.title = _("List of relations");
+ myopt.trans_headers = true;
+ myopt.trans_columns = trans_columns;
printQuery(res, &myopt, pset.queryFout, pset.logfile);
}
" LEFT JOIN pg_catalog.pg_namespace n ON n.oid = t.typnamespace\n"
" LEFT JOIN pg_catalog.pg_constraint r ON t.oid = r.contypid\n"
"WHERE t.typtype = 'd'\n",
- _("Schema"),
- _("Name"),
- _("Type"),
- _("Modifier"),
- _("Check"));
+ gettext_noop("Schema"),
+ gettext_noop("Name"),
+ gettext_noop("Type"),
+ gettext_noop("Modifier"),
+ gettext_noop("Check"));
processSQLNamePattern(pset.db, &buf, pattern, true, false,
"n.nspname", "t.typname", NULL,
myopt.nullPrint = NULL;
myopt.title = _("List of domains");
+ myopt.trans_headers = true;
printQuery(res, &myopt, pset.queryFout, pset.logfile);
PQExpBufferData buf;
PGresult *res;
printQueryOpt myopt = pset.popt;
+ static const bool trans_columns[] = {false, false, false, false, true};
initPQExpBuffer(&buf);
" ELSE '%s' END AS \"%s\"\n"
"FROM pg_catalog.pg_conversion c, pg_catalog.pg_namespace n\n"
"WHERE n.oid = c.connamespace\n",
- _("Schema"),
- _("Name"),
- _("Source"),
- _("Destination"),
- _("yes"),
- _("no"),
- _("Default?"));
+ gettext_noop("Schema"),
+ gettext_noop("Name"),
+ gettext_noop("Source"),
+ gettext_noop("Destination"),
+ gettext_noop("yes"), gettext_noop("no"),
+ gettext_noop("Default?"));
processSQLNamePattern(pset.db, &buf, pattern, true, false,
"n.nspname", "c.conname", NULL,
myopt.nullPrint = NULL;
myopt.title = _("List of conversions");
+ myopt.trans_headers = true;
+ myopt.trans_columns = trans_columns;
printQuery(res, &myopt, pset.queryFout, pset.logfile);
PQExpBufferData buf;
PGresult *res;
printQueryOpt myopt = pset.popt;
+ static const bool trans_columns[] = {false, false, false, true};
initPQExpBuffer(&buf);
-/* NEED LEFT JOIN FOR BINARY CASTS */
+ /*
+ * We need left join here for binary casts. Also note that we don't
+ * attempt to localize '(binary compatible)', because there's too much
+ * risk of gettext translating a function name that happens to match
+ * some string in the PO database.
+ */
printfPQExpBuffer(&buf,
"SELECT pg_catalog.format_type(castsource, NULL) AS \"%s\",\n"
" pg_catalog.format_type(casttarget, NULL) AS \"%s\",\n"
- " CASE WHEN castfunc = 0 THEN '%s'\n"
+ " CASE WHEN castfunc = 0 THEN '(binary compatible)'\n"
" ELSE p.proname\n"
" END as \"%s\",\n"
" CASE WHEN c.castcontext = 'e' THEN '%s'\n"
"FROM pg_catalog.pg_cast c LEFT JOIN pg_catalog.pg_proc p\n"
" ON c.castfunc = p.oid\n"
"ORDER BY 1, 2",
- _("Source type"),
- _("Target type"),
- _("(binary compatible)"),
- _("Function"),
- _("no"),
- _("in assignment"),
- _("yes"),
- _("Implicit?"));
+ gettext_noop("Source type"),
+ gettext_noop("Target type"),
+ gettext_noop("Function"),
+ gettext_noop("no"), gettext_noop("in assignment"), gettext_noop("yes"),
+ gettext_noop("Implicit?"));
res = PSQLexec(buf.data, false);
termPQExpBuffer(&buf);
myopt.nullPrint = NULL;
myopt.title = _("List of casts");
+ myopt.trans_headers = true;
+ myopt.trans_columns = trans_columns;
printQuery(res, &myopt, pset.queryFout, pset.logfile);
printfPQExpBuffer(&buf,
"SELECT n.nspname AS \"%s\",\n"
" r.rolname AS \"%s\"",
- _("Name"), _("Owner"));
+ gettext_noop("Name"),
+ gettext_noop("Owner"));
if (verbose)
appendPQExpBuffer(&buf,
",\n n.nspacl as \"%s\","
" pg_catalog.obj_description(n.oid, 'pg_namespace') as \"%s\"",
- _("Access privileges"), _("Description"));
+ gettext_noop("Access privileges"),
+ gettext_noop("Description"));
appendPQExpBuffer(&buf,
"\nFROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_roles r\n"
myopt.nullPrint = NULL;
myopt.title = _("List of schemas");
+ myopt.trans_headers = true;
printQuery(res, &myopt, pset.queryFout, pset.logfile);
" pg_catalog.obj_description(p.oid, 'pg_ts_parser') as \"%s\"\n"
"FROM pg_catalog.pg_ts_parser p \n"
"LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.prsnamespace\n",
- _("Schema"),
- _("Name"),
- _("Description")
+ gettext_noop("Schema"),
+ gettext_noop("Name"),
+ gettext_noop("Description")
);
processSQLNamePattern(pset.db, &buf, pattern, false, false,
myopt.nullPrint = NULL;
myopt.title = _("List of text search parsers");
+ myopt.trans_headers = true;
printQuery(res, &myopt, pset.queryFout, pset.logfile);
PGresult *res;
char title[1024];
printQueryOpt myopt = pset.popt;
+ static const bool trans_columns[] = {true, false, false};
initPQExpBuffer(&buf);
" pg_catalog.obj_description(p.prslextype, 'pg_proc') \n"
" FROM pg_catalog.pg_ts_parser p \n"
" WHERE p.oid = '%s' \n",
- _("Start parse"),
- _("Method"), _("Function"), _("Description"),
+ gettext_noop("Start parse"),
+ gettext_noop("Method"),
+ gettext_noop("Function"),
+ gettext_noop("Description"),
oid,
- _("Get next token"), oid,
- _("End parse"), oid,
- _("Get headline"), oid,
- _("Get token types"), oid
- );
+ gettext_noop("Get next token"),
+ oid,
+ gettext_noop("End parse"),
+ oid,
+ gettext_noop("Get headline"),
+ oid,
+ gettext_noop("Get token types"),
+ oid);
res = PSQLexec(buf.data, false);
termPQExpBuffer(&buf);
myopt.title = title;
myopt.footers = NULL;
myopt.default_footer = false;
+ myopt.trans_headers = true;
+ myopt.trans_columns = trans_columns;
printQuery(res, &myopt, pset.queryFout, pset.logfile);
" t.description as \"%s\" \n"
"FROM pg_catalog.ts_token_type( '%s'::pg_catalog.oid ) as t \n"
"ORDER BY 1;",
- _("Token name"),
- _("Description"),
+ gettext_noop("Token name"),
+ gettext_noop("Description"),
oid);
res = PSQLexec(buf.data, false);
myopt.title = title;
myopt.footers = NULL;
myopt.default_footer = true;
+ myopt.trans_headers = true;
+ myopt.trans_columns = NULL;
printQuery(res, &myopt, pset.queryFout, pset.logfile);
"SELECT \n"
" n.nspname as \"%s\",\n"
" d.dictname as \"%s\",\n",
- _("Schema"),
- _("Name"));
+ gettext_noop("Schema"),
+ gettext_noop("Name"));
if (verbose)
{
" LEFT JOIN pg_catalog.pg_namespace nt ON nt.oid = t.tmplnamespace \n"
" WHERE d.dicttemplate = t.oid ) AS \"%s\", \n"
" d.dictinitoption as \"%s\", \n",
- _("Template"),
- _("Init options"));
+ gettext_noop("Template"),
+ gettext_noop("Init options"));
}
appendPQExpBuffer(&buf,
" pg_catalog.obj_description(d.oid, 'pg_ts_dict') as \"%s\"\n",
- _("Description"));
+ gettext_noop("Description"));
appendPQExpBuffer(&buf, "FROM pg_catalog.pg_ts_dict d\n"
"LEFT JOIN pg_catalog.pg_namespace n ON n.oid = d.dictnamespace\n");
myopt.nullPrint = NULL;
myopt.title = _("List of text search dictionaries");
+ myopt.trans_headers = true;
printQuery(res, &myopt, pset.queryFout, pset.logfile);
" t.tmplinit::pg_catalog.regproc AS \"%s\",\n"
" t.tmpllexize::pg_catalog.regproc AS \"%s\",\n"
" pg_catalog.obj_description(t.oid, 'pg_ts_template') AS \"%s\"\n",
- _("Schema"),
- _("Name"),
- _("Init"),
- _("Lexize"),
- _("Description"));
+ gettext_noop("Schema"),
+ gettext_noop("Name"),
+ gettext_noop("Init"),
+ gettext_noop("Lexize"),
+ gettext_noop("Description"));
else
printfPQExpBuffer(&buf,
"SELECT \n"
" n.nspname AS \"%s\",\n"
" t.tmplname AS \"%s\",\n"
" pg_catalog.obj_description(t.oid, 'pg_ts_template') AS \"%s\"\n",
- _("Schema"),
- _("Name"),
- _("Description"));
+ gettext_noop("Schema"),
+ gettext_noop("Name"),
+ gettext_noop("Description"));
appendPQExpBuffer(&buf, "FROM pg_catalog.pg_ts_template t\n"
"LEFT JOIN pg_catalog.pg_namespace n ON n.oid = t.tmplnamespace\n");
myopt.nullPrint = NULL;
myopt.title = _("List of text search templates");
+ myopt.trans_headers = true;
printQuery(res, &myopt, pset.queryFout, pset.logfile);
" pg_catalog.obj_description(c.oid, 'pg_ts_config') as \"%s\"\n"
"FROM pg_catalog.pg_ts_config c\n"
"LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.cfgnamespace \n",
- _("Schema"),
- _("Name"),
- _("Description")
+ gettext_noop("Schema"),
+ gettext_noop("Name"),
+ gettext_noop("Description")
);
processSQLNamePattern(pset.db, &buf, pattern, false, false,
myopt.nullPrint = NULL;
myopt.title = _("List of text search configurations");
+ myopt.trans_headers = true;
printQuery(res, &myopt, pset.queryFout, pset.logfile);
"WHERE c.oid = '%s' AND m.mapcfg = c.oid \n"
"GROUP BY m.mapcfg, m.maptokentype, c.cfgparser \n"
"ORDER BY 1",
- _("Token"),
- _("Dictionaries"),
+ gettext_noop("Token"),
+ gettext_noop("Dictionaries"),
oid);
res = PSQLexec(buf.data, false);
initPQExpBuffer(&title);
if (nspname)
- appendPQExpBuffer(&title, _("Text search configuration \"%s.%s\""), nspname, cfgname);
+ appendPQExpBuffer(&title, _("Text search configuration \"%s.%s\""),
+ nspname, cfgname);
else
- appendPQExpBuffer(&title, _("Text search configuration \"%s\""), cfgname);
+ appendPQExpBuffer(&title, _("Text search configuration \"%s\""),
+ cfgname);
if (pnspname)
- appendPQExpBuffer(&title, _("\nParser: \"%s.%s\""), pnspname, prsname);
+ appendPQExpBuffer(&title, _("\nParser: \"%s.%s\""),
+ pnspname, prsname);
else
- appendPQExpBuffer(&title, _("\nParser: \"%s\""), prsname);
+ appendPQExpBuffer(&title, _("\nParser: \"%s\""),
+ prsname);
myopt.nullPrint = NULL;
myopt.title = title.data;
myopt.footers = NULL;
myopt.default_footer = false;
+ myopt.trans_headers = true;
printQuery(res, &myopt, pset.queryFout, pset.logfile);