londiste add-table: --trigger-arg switch to set custom params
authorMarko Kreen <markokr@gmail.com>
Fri, 7 May 2010 11:30:32 +0000 (14:30 +0300)
committerMarko Kreen <markokr@gmail.com>
Fri, 7 May 2010 11:30:32 +0000 (14:30 +0300)
python/londiste.py
python/londiste/setup.py

index a224be2f4a7faedf7c28727207c86735670a04b2..1939b2d0ff3c91d0d08becef4ca1e0a688dc5fbe 100755 (executable)
@@ -109,6 +109,8 @@ class Londiste(skytools.DBScript):
                 help = "takeover: old node was root")
         g.add_option("--dead-branch", action = 'store_true',
                 help = "takeover: old node was branch")
+        p.add_option("--trigger-arg", action="append",
+                help="add: Custom trigger arg")
         p.add_option_group(g)
         return p
 
index b7e7b966dd8cdb320fbbd7bfd5f3f622667f43f6..b3adabefde1e6533d7cc12b8d4de26c249233b46 100644 (file)
@@ -51,6 +51,8 @@ class LondisteSetup(CascadeAdmin):
                     help="include all tables", default=False)
         p.add_option("--create-only",
                     help="pkey,fkeys,indexes")
+        p.add_option("--trigger-arg", action="append",
+                    help="Custom trigger arg")
         return p
 
     def extra_init(self, node_type, node_db, provider_db):
@@ -152,8 +154,9 @@ class LondisteSetup(CascadeAdmin):
             return
 
         # actual table registration
-        q = "select * from londiste.local_add_table(%s, %s)"
-        self.exec_cmd(dst_curs, q, [self.set_name, tbl])
+        tgargs = self.options.trigger_arg # None by default
+        q = "select * from londiste.local_add_table(%s, %s, %s)"
+        self.exec_cmd(dst_curs, q, [self.set_name, tbl, tgargs])
         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])