On Tue, May 24, 2011 at 10:10:34AM -0400, Tom Lane wrote:
> Noah Misch <noah@leadboat.com> writes:
> > PostgreSQL 9.1 will implement ALTER TABLE ALTER TYPE operations that use a
> > binary coercion cast without rewriting the table or unrelated indexes. It
> > will always rewrite any indexes and recheck any foreign key constraints that
> > depend on a changing column. This is unnecessary for 100% of core binary
> > coercion casts. In my original design[1], I planned to detect this by
> > comparing the operator families of the old and would-be-new indexes. (This
> > still yields some unnecessary rewrites; oid_ops and int4_ops are actually
> > compatible, for example.)
>
> No, they aren't: signed and unsigned comparisons do not yield the same
> sort order.
True; scratch the parenthetical comment.
> I think that example may destroy the rest of your argument.
Not that I'm aware of.