postgresql/src
Robert Haas c0f03aae04 Fix ALTER TABLE ONLY .. DROP CONSTRAINT.
When I consolidated two copies of the HOT-chain search logic in commit
4da99ea423, I introduced a behavior
change: the old code wouldn't necessarily traverse the entire chain,
if the most recently returned tuple were updated while the HOT chain
traversal is in progress.  The new behavior seems more correct, but
unfortunately, the code here relies on a scan with SnapshotNow failing
to see its own updates.  That seems pretty shaky even with the old HOT
chain traversal behavior, since there's no guarantee that these
updates will always be HOT, but it's trivial to broke a failure with
the new HOT search logic.  Fix by updating just the first matching
pg_constraint tuple, rather than all of them, since there should be
only one anyway.  But since nobody has reproduced this failure on older
versions, no back-patch for now.

Report and test case by Alex Hunsaker; tablecmds.c changes by me.
2011-10-09 23:39:52 -04:00
..
backend Fix ALTER TABLE ONLY .. DROP CONSTRAINT. 2011-10-09 23:39:52 -04:00
bin Simplify new pg_ctl newline termination code. 2011-10-06 10:59:50 -04:00
include Revert accidental change to pg_config_manual.h. 2011-10-09 22:20:44 -04:00
interfaces Fully const-ify PQconnectdbParams, PQconnectStartParams, and PQpingParams. 2011-09-25 18:52:48 -04:00
makefiles Fix pgxs.mk to always add --dbname=$(CONTRIB_TESTDB) to REGRESS_OPTS. 2011-08-24 15:16:50 -04:00
pl Remember the source GucContext for each GUC parameter. 2011-10-04 16:13:50 -04:00
port Fix typo in pg_srand48 (srand48 in older branches). 2011-09-03 16:17:34 -04:00
template Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
test Fix ALTER TABLE ONLY .. DROP CONSTRAINT. 2011-10-09 23:39:52 -04:00
timezone Simplify handling of the timezone GUC by making initdb choose the default. 2011-09-09 17:59:11 -04:00
tools In pgrminclude, document requirement to use pgcompinclude, and sort 2011-09-25 16:58:16 -04:00
tutorial Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
.gitignore Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:04 +02:00
bcc32.mak Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
DEVELOPERS Replace a couple of references to files that no longer exist in the source 2009-05-04 08:08:47 +00:00
Makefile Fix some oversights in distprep and maintainer-clean targets. 2011-03-10 00:04:05 -05:00
Makefile.global.in Make distprep and *clean build targets recurse into all subdirectories. 2011-07-03 13:55:12 -04:00
Makefile.shlib Use single quotes in preference to double quotes for protecting pathnames. 2011-06-15 21:45:23 -04:00
nls-global.mk Add the possibility to pass --flag arguments to xgettext calls 2011-06-27 00:37:21 +03:00
win32.mak Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00