Re: Avoid index rebuilds for no-rewrite ALTER TABLE ALTER TYPE
От | Noah Misch |
---|---|
Тема | Re: Avoid index rebuilds for no-rewrite ALTER TABLE ALTER TYPE |
Дата | |
Msg-id | 20110707192138.GH1840@tornado.leadboat.com обсуждение исходный текст |
Ответ на | Re: Avoid index rebuilds for no-rewrite ALTER TABLE ALTER TYPE (Robert Haas <robertmhaas@gmail.com>) |
Ответы |
Re: Avoid index rebuilds for no-rewrite ALTER TABLE ALTER TYPE
|
Список | pgsql-hackers |
On Thu, Jul 07, 2011 at 03:06:46PM -0400, Robert Haas wrote: > On Thu, Jul 7, 2011 at 2:55 PM, Noah Misch <noah@2ndquadrant.com> wrote: > > CheckIndexCompatible() calls ComputeIndexAttrs() to resolve the new operator > > classes, collations and exclusion operators for each index column. It then > > checks those against the existing values for the same. I figured that was > > obvious enough, but do you want a new version noting that? > > I guess one question I had was... are we depending on the fact that > ComputeIndexAttrs() performs a bunch of internal sanity checks? Or > are we just expecting those to always pass, and we're going to examine > the outputs after the fact? Those checks can fail; consider an explicit operator class or collation that does not support the destination type. At that stage, we neither rely on those checks nor mind if they do fire. If we somehow miss the problem at that stage, DefineIndex() will detect it later. Likewise, if we hit an error in CheckIndexCompatible(), we would also hit it later in DefineIndex().
В списке pgsql-hackers по дате отправления: