postgresql/src
Tom Lane c117838597 Disallow SELECT FOR UPDATE/SHARE on sequences.
We can't allow this because such an operation stores its transaction XID
into the sequence tuple's xmax.  Because VACUUM doesn't process sequences
(and we don't want it to start doing so), such an xmax value won't get
frozen, meaning it will eventually refer to nonexistent pg_clog storage,
and even wrap around completely.  Since the row lock is ignored by nextval
and setval, the usefulness of the operation is highly debatable anyway.
Per reports of trouble with pgpool 3.0, which had ill-advisedly started
using such commands as a form of locking.

In HEAD, also disallow SELECT FOR UPDATE/SHARE on toast tables.  Although
this does work safely given the current implementation, there seems no
good reason to allow it.  I refrained from changing that behavior in
back branches, however.
2011-06-02 14:46:22 -04:00
..
backend Disallow SELECT FOR UPDATE/SHARE on sequences. 2011-06-02 14:46:22 -04:00
bin Quotes in strings injected into bki file need to escaped. In particular, 2011-04-20 09:59:46 +03:00
include Fix VACUUM so that it always updates pg_class.reltuples/relpages. 2011-05-30 17:07:07 -04:00
interfaces Fix portability bugs in use of credentials control messages for peer auth. 2011-05-30 19:16:11 -04:00
makefiles Catch errors in for loop in makefile 2011-05-02 01:03:38 +03:00
pl Fix PL/Python memory leak involving array slices 2011-03-17 12:32:46 -03:00
port Tag 9.0.4. 2011-04-15 00:15:53 -03:00
template Don't try to force use of -no-cpp-precomp on OS X. It's been five years 2010-08-02 04:51:25 +00:00
test Backport changes to allow building with MinGW 64 bit compiler. 2011-04-09 17:59:27 -04:00
timezone Update time zone data files to tzdata release 2011f. 2011-04-13 18:04:07 -04:00
tools Avoid use of mixed slash style paths in arguments to xcopy in MSVC builds. 2011-04-07 22:16:56 -04:00
tutorial Remove copyright mention of Andrew Yu, per author's permission. 2010-02-02 18:52:02 +00:00
.gitignore Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:06 +02:00
bcc32.mak Remove old-style win32 client-only visual c++ build infrastructure for everything except 2007-03-05 14:18:38 +00: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 Rethink the way walreceiver is linked into the backend. Instead than shoving 2010-01-20 09:16:24 +00:00
Makefile.global.in Accept slightly grotty coding in Makefile.global in order to keep the -L 2010-07-06 22:03:05 +00:00
Makefile.shlib Still more third thoughts: when linking shared libraries, LDFLAGS probably 2010-07-06 03:55:33 +00:00
nls-global.mk Avoid error from mkdir if no languages are to be installed 2010-05-13 14:35:28 +00:00
win32.mak Update supported standalone VC++ version to 7.1+ only, and fix 2007-08-03 10:47:11 +00:00