From: Bruce Momjian Date: Tue, 24 May 2011 19:59:00 +0000 (-0400) Subject: In pg_upgrade, do case-insensitive checks of locale, encoding, and ctype X-Git-Tag: REL9_1_BETA2~79 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=11c08c3fd79f1fd5a83f9156fc1c43c7be3453ce;p=postgresql In pg_upgrade, do case-insensitive checks of locale, encoding, and ctype because these are often inconsistently capitalized. --- diff --git a/contrib/pg_upgrade/check.c b/contrib/pg_upgrade/check.c index 2117b7f80d..60c1fbbf97 100644 --- a/contrib/pg_upgrade/check.c +++ b/contrib/pg_upgrade/check.c @@ -333,13 +333,14 @@ static void check_locale_and_encoding(ControlData *oldctrl, ControlData *newctrl) { - if (strcmp(oldctrl->lc_collate, newctrl->lc_collate) != 0) + /* These are often defined with inconsistent case, so use pg_strcasecmp(). */ + if (pg_strcasecmp(oldctrl->lc_collate, newctrl->lc_collate) != 0) pg_log(PG_FATAL, "old and new cluster lc_collate values do not match\n"); - if (strcmp(oldctrl->lc_ctype, newctrl->lc_ctype) != 0) + if (pg_strcasecmp(oldctrl->lc_ctype, newctrl->lc_ctype) != 0) pg_log(PG_FATAL, "old and new cluster lc_ctype values do not match\n"); - if (strcmp(oldctrl->encoding, newctrl->encoding) != 0) + if (pg_strcasecmp(oldctrl->encoding, newctrl->encoding) != 0) pg_log(PG_FATAL, "old and new cluster encoding values do not match\n"); }