Re: ALTER TYPE 2: skip already-provable no-work rewrites
Robert Haas <robertmhaas@gmail.com>
From: Robert Haas <robertmhaas@gmail.com>
To: Noah Misch <noah@leadboat.com>
Cc: pgsql-hackers@postgresql.org
Date: 2011-02-13T05:04:20Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Change ALTER TABLE SET WITHOUT OIDS to rewrite the whole table to physically
- 6d1e36185208 8.4.0 cited
On Sat, Feb 12, 2011 at 10:45 AM, Noah Misch <noah@leadboat.com> wrote: > That said, I've tried both constructions, and I marginally prefer the end result > with AlteredTableInfo.verify. I've inlined ATColumnChangeRequiresRewrite into > ATPrepAlterColumnType; it would need to either pass back two bools or take an > AlteredTableInfo arg to mutate, so this seemed cleaner. I think I like the idea of passing it the AlteredTableInfo. > I've omitted the > assertion that my previous version added to ATRewriteTable; it was helpful for > other scan-only type changes, but it's excessive for domains alone. Otherwise, > the differences are cosmetic. So in the case of a constrained domain, it looks like we're going to evaluate the changed columns, but if no error is thrown, we're going to assume they match the original ones and throw out the data? Yikes. I didn't like that Assert much, but maybe we need it, because this is scary. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company