CVS User Account cvsuser
Wed Sep 22 01:37:19 PDT 2004
Log Message:
-----------
Lower the lock on sl_event for event creation from ACCESS EXCLUSIVE
to EXCLUSIVE. The purpose of this lock is to ensure that events are
assigned sequence numbers in commit order. An exclusive lock is
enough for that.

Jan

Modified Files:
--------------
    slony1-engine/src/backend:
        slony1_funcs.c (r1.19 -> r1.20)

-------------- next part --------------
Index: slony1_funcs.c
===================================================================
RCS file: /usr/local/cvsroot/slony1/slony1-engine/src/backend/slony1_funcs.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -Lsrc/backend/slony1_funcs.c -Lsrc/backend/slony1_funcs.c -u -w -r1.19 -r1.20
--- src/backend/slony1_funcs.c
+++ src/backend/slony1_funcs.c
@@ -1113,10 +1113,12 @@
 
 		plan_types[0] = INT4OID;
 		/*
-		 * Create the saved plan
+		 * Create the saved plan. We lock the sl_event table in exclusive
+		 * mode in order to ensure that all events are really assigned
+		 * sequence numbers in the order they get committed.
 		 */
 		sprintf(query,
-			"LOCK TABLE %s.sl_event; "
+			"LOCK TABLE %s.sl_event IN EXCLUSIVE MODE; "
 			"INSERT INTO %s.sl_event "
 			"(ev_origin, ev_seqno, "
 			"ev_timestamp, ev_minxid, ev_maxxid, ev_xip, "


More information about the Slony1-commit mailing list