On 16 April 2011 23:23, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Right at the moment, ALTER INHERIT doesn't verify that collations match
> in a proposed inheritance child. So you can do this:
>
> regression=# create table foo (f1 text collate "C");
> CREATE TABLE
> regression=# create table bar (f1 text collate "POSIX");
> CREATE TABLE
> regression=# alter table bar inherit foo;
> ALTER TABLE
>
> but then the planner whines about it:
>
> regression=# select * from foo;
> ERROR: attribute "f1" of relation "bar" does not match parent's collation
>
> Does anyone think it's not a bug that ALTER TABLE lets this through?
> If so, what do you think the querying semantics ought to be?
An argument to not treat it as a bug might be to suggest that the
child table's column could inherit the parent table's column collation
when the query targets the parent, but revert to its own otherwise.
--
Thom Brown
Twitter: @darkixion
IRC (freenode): dark_ixion
Registered Linux user: #516935
EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company