diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2016-10-19 18:11:49 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2016-10-19 18:11:56 -0400 |
commit | 1b145a700158ab48c387d38f4830136d307a0e87 (patch) | |
tree | d7f102b7c0876024a160b94471bcd7933ff33833 | |
parent | 0c2f4c54c57cbc7283606137dba5c658511e6c1b (diff) | |
download | postgresql-1b145a700158ab48c387d38f4830136d307a0e87.tar.gz postgresql-1b145a700158ab48c387d38f4830136d307a0e87.zip |
Suppress "Factory" zone in pg_timezone_names view for tzdata >= 2016g.
IANA got rid of the really silly "abbreviation" and replaced it with one
that's only moderately silly. But it's still pointless, so keep on not
showing it.
-rw-r--r-- | src/backend/utils/adt/datetime.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/backend/utils/adt/datetime.c b/src/backend/utils/adt/datetime.c index 45ba7cd9063..6d7fdc3c5e4 100644 --- a/src/backend/utils/adt/datetime.c +++ b/src/backend/utils/adt/datetime.c @@ -4957,8 +4957,17 @@ pg_timezone_names(PG_FUNCTION_ARGS) &tzoff, &tm, &fsec, &tzn, tz) != 0) continue; /* ignore if conversion fails */ - /* Ignore zic's rather silly "Factory" time zone */ - if (tzn && strcmp(tzn, "Local time zone must be set--see zic manual page") == 0) + /* + * Ignore zic's rather silly "Factory" time zone. The long string + * about "see zic manual page" is used in tzdata versions before + * 2016g; we can drop it someday when we're pretty sure no such data + * exists in the wild on platforms using --with-system-tzdata. In + * 2016g and later, the time zone abbreviation "-00" is used for + * "Factory" as well as some invalid cases, all of which we can + * reasonably omit from the pg_timezone_names view. + */ + if (tzn && (strcmp(tzn, "-00") == 0 || + strcmp(tzn, "Local time zone must be set--see zic manual page") == 0)) continue; /* Found a displayable zone */ |