londiste add-table: pass --skip-truncate to copy process
authorMarko Kreen <markokr@gmail.com>
Mon, 10 May 2010 08:38:56 +0000 (11:38 +0300)
committerMarko Kreen <markokr@gmail.com>
Mon, 10 May 2010 08:44:47 +0000 (11:44 +0300)
python/londiste/setup.py

index b3adabefde1e6533d7cc12b8d4de26c249233b46..6b832fc58f15462af3a5598ab99c8a46c364af86 100644 (file)
@@ -160,11 +160,16 @@ class LondisteSetup(CascadeAdmin):
         if self.options.expect_sync:
             q = "select * from londiste.local_set_table_state(%s, %s, NULL, 'ok')"
             self.exec_cmd(dst_curs, q, [self.set_name, tbl])
-        if self.options.copy_condition:
-            q = "select * from londiste.local_set_table_attrs(%s, %s, %s)"
-            attrs = {'copy_condition': self.options.copy_condition}
-            enc_attrs = skytools.db_urlencode(attrs)
-            self.exec_cmd(dst_curs, q, [self.set_name, tbl, enc_attrs])
+        else:
+            attrs = {}
+            if self.options.skip_truncate:
+                attrs['skip_truncate'] = 1
+            if self.options.copy_condition:
+                attrs['copy_condition'] = self.options.copy_condition
+            if attrs:
+                enc_attrs = skytools.db_urlencode(attrs)
+                q = "select * from londiste.local_set_table_attrs(%s, %s, %s)"
+                self.exec_cmd(dst_curs, q, [self.set_name, tbl, enc_attrs])
         dst_db.commit()
 
     def sync_table_list(self, dst_curs, src_tbls, dst_tbls):