]> granicus.if.org Git - postgresql/commit
HeapTupleSatisfiesVacuum() needs to be more careful about the
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 22 Sep 2003 00:47:23 +0000 (00:47 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 22 Sep 2003 00:47:23 +0000 (00:47 +0000)
commitf03d2284c093ab417093054b44c987b8c48514c2
treeb537a3e414c93912e32d11199b7d48f92252ed35
parent278a13fe476f9ad5699f65c34543fee14cc1e4af
HeapTupleSatisfiesVacuum() needs to be more careful about the
difference between INSERT_IN_PROGRESS and DELETE_IN_PROGRESS for
tuples inserted and then deleted by a concurrent transaction.
Example of bug:
regression=# create table foo (f1 int);
CREATE TABLE
regression=# begin;
BEGIN
regression=# insert into foo values(1);
INSERT 195531 1
regression=# delete from foo;
DELETE 1
regression=# insert into foo values(1);
INSERT 195532 1
regression=# create unique index fooi on foo(f1);
ERROR:  could not create unique index
DETAIL:  Table contains duplicated values.
src/backend/utils/time/tqual.c