char *collcollate = NULL;
char *collctype = NULL;
char *collproviderstr = NULL;
- int collencoding;
+ int collencoding = 0;
char collprovider = 0;
char *collversion = NULL;
Oid newoid;
collcollate = pstrdup(NameStr(((Form_pg_collation) GETSTRUCT(tp))->collcollate));
collctype = pstrdup(NameStr(((Form_pg_collation) GETSTRUCT(tp))->collctype));
collprovider = ((Form_pg_collation) GETSTRUCT(tp))->collprovider;
+ collencoding = ((Form_pg_collation) GETSTRUCT(tp))->collencoding;
ReleaseSysCache(tp);
(errcode(ERRCODE_INVALID_OBJECT_DEFINITION),
errmsg("parameter \"lc_ctype\" must be specified")));
- if (collprovider == COLLPROVIDER_ICU)
- collencoding = -1;
- else
+ if (!fromEl)
{
- collencoding = GetDatabaseEncoding();
- check_encoding_locale_matches(collencoding, collcollate, collctype);
+ if (collprovider == COLLPROVIDER_ICU)
+ collencoding = -1;
+ else
+ {
+ collencoding = GetDatabaseEncoding();
+ check_encoding_locale_matches(collencoding, collcollate, collctype);
+ }
}
if (!collversion)