londiste copy: support startup isolation level
authorMarko Kreen <markokr@gmail.com>
Mon, 26 Sep 2011 13:15:28 +0000 (16:15 +0300)
committerMarko Kreen <markokr@gmail.com>
Mon, 26 Sep 2011 13:15:28 +0000 (16:15 +0300)
when switching back from serializable level, use old level.

This will help support autocommit on source side.

python/londiste/table_copy.py

index a4ad26342cb2433764d05e06333204ea11852155..987e4126214f3d4244bb770acb4b309285c8266e 100644 (file)
@@ -90,6 +90,7 @@ class CopyTable(Replicator):
             cmode = 0
 
         # change to SERIALIZABLE isolation level
+        oldiso = src_db.isolation_level
         src_db.set_isolation_level(skytools.I_SERIALIZABLE)
         src_db.commit()
 
@@ -158,8 +159,8 @@ class CopyTable(Replicator):
         snapshot = src_curs.fetchone()[0]
         src_db.commit()
 
-        # restore READ COMMITTED behaviour
-        src_db.set_isolation_level(1)
+        # restore old behaviour
+        src_db.set_isolation_level(oldiso)
         src_db.commit()
 
         tbl_stat.change_state(TABLE_CATCHING_UP)