added handling deletes to keep_latest row_mode
authorEero Oja <eero.oja@skype.net>
Wed, 13 Feb 2013 15:23:25 +0000 (15:23 +0000)
committerEero Oja <eero.oja@skype.net>
Wed, 13 Feb 2013 15:23:25 +0000 (15:23 +0000)
python/londiste/handlers/dispatch.py

index 9acc43ceb51f6e04478bcdddc9e2bbf800f1af09..17e88a249b5f595d856b28bc976751c9f27871ca 100644 (file)
@@ -90,7 +90,7 @@ part_template:
 row_mode:
     how rows are applied to target table
     * plain - each event creates SQL statement to run (default)
-    * keep_latest - change updates to DELETE + INSERT, ignore deletes
+    * keep_latest - change updates to DELETE + INSERT
     * keep_all - change updates to inserts, ignore deletes
 
 event_types:
@@ -592,7 +592,7 @@ class KeepLatestRowHandler(RowHandler):
     def process(self, table, op, row):
         """Keep latest row version.
 
-        Updates are changed to delete + insert, deletes are ignored.
+        Updates are changed to delete + insert
         Makes sense only for partitioned tables.
         """
         if op == 'U':
@@ -600,6 +600,8 @@ class KeepLatestRowHandler(RowHandler):
             RowHandler.process(self, table, 'I', row)
         elif op == 'I':
             RowHandler.process(self, table, 'I', row)
+        elif op == 'D':
+            RowHandler.process(self, table, 'D', row)
 
 
 ROW_HANDLERS = {'plain': RowHandler,