SSI patch version 10
Kevin Grittner <kevin.grittner@wicourts.gov>
From: "Kevin Grittner" <Kevin.Grittner@wicourts.gov>
To: <pgsql-hackers@postgresql.org>, Anssi Kääriäinen <anssi.kaariainen@thl.fi>
Cc: "Dan Ports" <drkp@csail.mit.edu>, "john.okite@gmail.org" <john.okite@gmail.org>
Date: 2011-01-11T23:27:40Z
Lists: pgsql-hackers
Attachments
- ssi-10.patch.gz (application/octet-stream) patch
Anssi Kääriäinen<anssi.kaariainen@thl.fi> wrote: > something seems to be broken when using partial indexes. Boy do I feel dumb for taking all day to find the cause. The problem was a misdirected optimization -- on an update it was only checking the "after" image for conflict, assuming that it would be redundant to check both the before and after images. The problem is that with a partial index, you might only see one of those tuples, and I suspect there could be bugs with updates which changed a value later used for access. The evil premature optimization is eliminated here: http://git.postgresql.org/gitweb?p=users/kgrittn/postgres.git;a=commitdiff;h=a9c63f9c688629e2f6f92a880c5f1ac9669bf77d This also includes an attempt to eliminate the assertion failure Dan found in DBT-2 testing yesterday. I'm not sure if this change is radical enough, but I figured it was better to try the minimal change first, and see if that was sufficient. If not, I'll have to move some code between functions, and duplicate a bit of code. New patch (version 10) attached. -Kevin