postgres.git / summary / log / commit / refs

commit    fa28f9cba889335ea68f9326010ae008f1d97b74
Author:   Tom Lane <tgl@sss.pgh.pa.us>
Date:     Sat Jan 04 21:05:23 2014 +0000
First released in: 9.4.0, 9.2.7, 9.3.3

    Fix translatability markings in psql, and add defenses against future bugs.
    
    Several previous commits have added columns to various \d queries without
    updating their translate_columns[] arrays, leading to potentially incorrect
    translations in NLS-enabled builds.  Offenders include commit 893686762
    (added prosecdef to \df+), c9ac00e6e (added description to \dc+) and
    3b17efdfd (added description to \dC+).  Fix those cases back to 9.3 or
    9.2 as appropriate.
    
    Since this is evidently more easily missed than one would like, in HEAD
    also add an Assert that the supplied array is long enough.  This requires
    an API change for printQuery(), so it seems inappropriate for back
    branches, but presumably all future changes will be tested in HEAD anyway.
    
    In HEAD and 9.3, also clean up a whole lot of sloppiness in the emitted
    SQL for \dy (event triggers): lack of translatability due to failing to
    pass words-to-be-translated through gettext_noop(), inadequate schema
    qualification, and sloppy formatting resulting in unnecessarily ugly
    -E output.
    
    Peter Eisentraut and Tom Lane, per bug #8702 from Sergey Burladyan


src/bin/psql/describe.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/bin/psql/describe.c b/src/bin/psql/describe.c index bcad3e880af..49ce94afcc1 100644 --- a/src/bin/psql/describe.c +++ b/src/bin/psql/describe.c @@ -2895,7 +2895,8 @@ listConversions(const char *pattern, bool verbose, bool showSystem) PQExpBufferData buf; PGresult *res; printQueryOpt myopt = pset.popt; - static const bool translate_columns[] = {false, false, false, false, true}; + static const bool translate_columns[] = + {false, false, false, false, true, false}; initPQExpBuffer(&buf); @@ -2969,7 +2970,7 @@ listCasts(const char *pattern, bool verbose) PQExpBufferData buf; PGresult *res; printQueryOpt myopt = pset.popt; - static const bool translate_columns[] = {false, false, false, true}; + static const bool translate_columns[] = {false, false, false, true, false}; initPQExpBuffer(&buf); [parent: 119a59879679]