From: | Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com> |
---|---|
To: | Gregory Stark <stark(at)enterprisedb(dot)com> |
Cc: | Martijn van Oosterhout <kleptog(at)svana(dot)org>, Radek Strnad <radek(dot)strnad(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: WIP patch: Collation support |
Date: | 2008-09-18 14:41:16 |
Message-ID: | 48D2688C.4020408@enterprisedb.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Gregory Stark wrote:
> Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com> writes:
>
>> Well, I proposed disallowing using a different collation than the source
>> database, except for using template0 as the source. That's pretty limited, but
>> is trivial to implement and still let's you have databases with different
>> collations in the same cluster.
>
> + if (strcmp(dbtemplate, "template0") != 0 &&
> + (strcmp(lc_collate, src_collation) || strcmp(lc_ctype, src_ctype)))
> + ereport(NOTICE,
> + (errmsg("database \"%s\" needs to be reindexed manually (REINDEX DATABASE)",
> + dbname)));
> +
>
> This isn't what you described but I think I prefer it this way as just a
> warning not an error.
Well, I'd prefer to make it an error, but I'm willing to listen if
others feel otherwise. I don't think the inconvenience of having to use
template0 is that big, compared to the potential of strange behavior
people would run into if they ignore the advice to reindex.
One weakness with a straight strcmp comparison is that it won't
recognize aliases of the same locale. For example, "fi_FI.UTF8" and
"fi_FI.UTF-8".
> AFAIK we can't easily connect to the new database and do some fiddling with
> it, can we? If we could we could check if there are any non-empty indexes
> which depend on the collation and only print the warning if we find any (and
> even mark them invalid).
I don't see that happening, unfortunately..
Attached is an updated version of the stripped-down patch. I've cleaned
it up a bit, and added more sanity checks. Documentation is still
missing and I haven't test it much.
--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com
Attachment | Content-Type | Size |
---|---|---|
wip-collation-nocatalogs-2.patch | text/x-diff | 31.2 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Magnus Hagander | 2008-09-18 14:51:31 | Re: Do we really need a 7.4.22 release now? |
Previous Message | Tom Lane | 2008-09-18 14:38:15 | Re: Do we really need a 7.4.22 release now? |