Skip site navigation (1) Skip section navigation (2)

SSI patch version 10

From: "Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov>
To: <pgsql-hackers(at)postgresql(dot)org>, Anssi Kääriäinen <anssi(dot)kaariainen(at)thl(dot)fi>
Cc: "Dan Ports" <drkp(at)csail(dot)mit(dot)edu>, "john(dot)okite(at)gmail(dot)org" <john(dot)okite(at)gmail(dot)org>
Subject: SSI patch version 10
Date: 2011-01-11 23:27:40
Message-ID: 4D2C930C020000250003930B@gw.wicourts.gov (view raw or flat)
Thread:
Lists: pgsql-hackers
Anssi Kääriäinen<anssi(dot)kaariainen(at)thl(dot)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


Attachment: ssi-10.patch.gz
Description: application/octet-stream (60.9 KB)

In response to

pgsql-hackers by date

Next:From: Andrew DunstanDate: 2011-01-11 23:44:53
Subject: Re: arrays as pl/perl input arguments [PATCH]
Previous:From: Jeff DavisDate: 2011-01-11 23:23:38
Subject: Re: Allowing multiple concurrent base backups

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group