postgresql/src/backend/commands
Alvaro Herrera 07cefdfb7a Fix snapshot management, take two.
Partially revert the previous patch I installed and replace it with a more
general fix: any time a snapshot is pushed as Active, we need to ensure that it
will not be modified in the future.  This means that if the same snapshot is
used as CurrentSnapshot, it needs to be copied separately.  This affects
serializable transactions only, because CurrentSnapshot has already been copied
by RegisterSnapshot and so PushActiveSnapshot does not think it needs another
copy.  However, CommandCounterIncrement would modify CurrentSnapshot, whereas
ActiveSnapshots must not have their command counters incremented.

I say "partially" because the regression test I added for the previous bug
has been kept.

(This restores 8.3 behavior, because before snapmgr.c existed, any snapshot set
as Active was copied.)

Per bug report from Stuart Bishop in
6bc73d4c0910042358k3d1adff3qa36f8df75198ecea@mail.gmail.com
2009-10-07 16:27:18 +00:00
..
aggregatecmds.c 8.4 pgindent run, with new combined Linux/FreeBSD/MinGW typedef list 2009-06-11 14:49:15 +00:00
alter.c Update copyright for 2009. 2009-01-01 17:24:05 +00:00
analyze.c Fix old bug in log_autovacuum_min_duration code: it was relying on being able 2009-08-12 18:23:49 +00:00
async.c Create a multiplexing structure for signals to Postgres child processes. 2009-07-31 20:26:23 +00:00
cluster.c Create an ALTER DEFAULT PRIVILEGES command, which allows users to adjust 2009-10-05 19:24:49 +00:00
comment.c 8.4 pgindent run, with new combined Linux/FreeBSD/MinGW typedef list 2009-06-11 14:49:15 +00:00
constraint.c Support deferrable uniqueness constraints. 2009-07-29 20:56:21 +00:00
conversioncmds.c 8.4 pgindent run, with new combined Linux/FreeBSD/MinGW typedef list 2009-06-11 14:49:15 +00:00
copy.c Define a new, more extensible syntax for COPY options. 2009-09-21 20:10:21 +00:00
dbcommands.c Remove flatfiles.c, which is now obsolete. 2009-09-01 02:54:52 +00:00
define.c Define a new, more extensible syntax for COPY options. 2009-09-21 20:10:21 +00:00
discard.c Update copyright for 2009. 2009-01-01 17:24:05 +00:00
explain.c Include resjunk columns in EXPLAIN VERBOSE output lists. Per discussion. 2009-08-22 02:06:32 +00:00
foreigncmds.c 8.4 pgindent run, with new combined Linux/FreeBSD/MinGW typedef list 2009-06-11 14:49:15 +00:00
functioncmds.c Implement the DO statement to support execution of PL code without having 2009-09-22 23:43:43 +00:00
indexcmds.c Support deferrable uniqueness constraints. 2009-07-29 20:56:21 +00:00
lockcmds.c 8.4 pgindent run, with new combined Linux/FreeBSD/MinGW typedef list 2009-06-11 14:49:15 +00:00
Makefile Support deferrable uniqueness constraints. 2009-07-29 20:56:21 +00:00
opclasscmds.c Update copyright for 2009. 2009-01-01 17:24:05 +00:00
operatorcmds.c 8.4 pgindent run, with new combined Linux/FreeBSD/MinGW typedef list 2009-06-11 14:49:15 +00:00
portalcmds.c Fix snapshot management, take two. 2009-10-07 16:27:18 +00:00
prepare.c Extend EXPLAIN to support output in XML or JSON format. 2009-08-10 05:46:50 +00:00
proclang.c Implement the DO statement to support execution of PL code without having 2009-09-22 23:43:43 +00:00
schemacmds.c 8.4 pgindent run, with new combined Linux/FreeBSD/MinGW typedef list 2009-06-11 14:49:15 +00:00
sequence.c Make backend header files C++ safe 2009-07-16 06:33:46 +00:00
tablecmds.c Change CREATE TABLE so that column default expressions coming from different 2009-10-06 00:55:26 +00:00
tablespace.c Install a hopefully-temporary workaround for Snow Leopard readdir() bug. 2009-09-12 15:51:52 +00:00
trigger.c Support hex-string input and output for type BYTEA. 2009-08-04 16:08:37 +00:00
tsearchcmds.c 8.4 pgindent run, with new combined Linux/FreeBSD/MinGW typedef list 2009-06-11 14:49:15 +00:00
typecmds.c Merge the Constraint and FkConstraint node types into a single type. 2009-07-30 02:45:38 +00:00
user.c Remove flatfiles.c, which is now obsolete. 2009-09-01 02:54:52 +00:00
vacuum.c Force VACUUM to recalculate oldestXmin even when we haven't changed our 2009-09-01 04:46:49 +00:00
vacuumlazy.c Fix a violation of WAL coding rules in the recent patch to include an 2009-08-24 02:18:32 +00:00
variable.c Disallow RESET ROLE and RESET SESSION AUTHORIZATION inside security-definer 2009-09-03 22:08:05 +00:00
view.c Make backend header files C++ safe 2009-07-16 06:33:46 +00:00