Add comments about thousands separator logic.

This commit is contained in:
Bruce Momjian 2007-11-22 15:10:05 +00:00
parent 73f9089045
commit d9bc7a3946
2 changed files with 5 additions and 3 deletions

View File

@ -1,7 +1,7 @@
/* ----------------------------------------------------------------------- /* -----------------------------------------------------------------------
* formatting.c * formatting.c
* *
* $PostgreSQL: pgsql/src/backend/utils/adt/formatting.c,v 1.134 2007/11/21 22:28:18 momjian Exp $ * $PostgreSQL: pgsql/src/backend/utils/adt/formatting.c,v 1.135 2007/11/22 15:10:05 momjian Exp $
* *
* *
* Portions Copyright (c) 1999-2007, PostgreSQL Global Development Group * Portions Copyright (c) 1999-2007, PostgreSQL Global Development Group
@ -3925,10 +3925,11 @@ NUM_prepare_locale(NUMProc *Np)
* Number thousands separator * Number thousands separator
* *
* Some locales (e.g. broken glibc pt_BR), have a comma for decimal, * Some locales (e.g. broken glibc pt_BR), have a comma for decimal,
* but "" for thousands_sep, so we set the thousands_sep too. 2007-02-12 * but "" for thousands_sep, so we set the thousands_sep too.
*/ */
if (lconv->thousands_sep && *lconv->thousands_sep) if (lconv->thousands_sep && *lconv->thousands_sep)
Np->L_thousands_sep = lconv->thousands_sep; Np->L_thousands_sep = lconv->thousands_sep;
/* Make sure thousands separator doesn't match decimal point symbol. */
else if (strcmp(Np->decimal, ",") != 0) else if (strcmp(Np->decimal, ",") != 0)
Np->L_thousands_sep = ","; Np->L_thousands_sep = ",";
else else

View File

@ -3,7 +3,7 @@
* *
* Copyright (c) 2000-2007, PostgreSQL Global Development Group * Copyright (c) 2000-2007, PostgreSQL Global Development Group
* *
* $PostgreSQL: pgsql/src/bin/psql/print.c,v 1.92 2007/11/21 22:28:18 momjian Exp $ * $PostgreSQL: pgsql/src/bin/psql/print.c,v 1.93 2007/11/22 15:10:05 momjian Exp $
* *
* Note: we include postgres.h not postgres_fe.h so that we can include * Note: we include postgres.h not postgres_fe.h so that we can include
* catalog/pg_type.h, and thereby have access to INT4OID and similar macros. * catalog/pg_type.h, and thereby have access to INT4OID and similar macros.
@ -2039,6 +2039,7 @@ setDecimalLocale(void)
grouping = "3"; /* most common */ grouping = "3"; /* most common */
if (*extlconv->thousands_sep) if (*extlconv->thousands_sep)
thousands_sep = strdup(extlconv->thousands_sep); thousands_sep = strdup(extlconv->thousands_sep);
/* Make sure thousands separator doesn't match decimal point symbol. */
else if (strcmp(decimal_point, ",") != 0) else if (strcmp(decimal_point, ",") != 0)
thousands_sep = ","; thousands_sep = ",";
else else