Index: trunk/ippTools/src/addtool.c
===================================================================
--- trunk/ippTools/src/addtool.c	(revision 30728)
+++ trunk/ippTools/src/addtool.c	(revision 30729)
@@ -324,5 +324,5 @@
     // pxUpdateRun gets parameters from config->args and runs the update query
     bool result = pxUpdateRun(config, where, &query, "addRun", "add_id",
-        "addProcessedExp", false);
+        "addProcessedExp", false, false);
 
     psFree(query);
Index: trunk/ippTools/src/bgtool.c
===================================================================
--- trunk/ippTools/src/bgtool.c	(revision 30728)
+++ trunk/ippTools/src/bgtool.c	(revision 30729)
@@ -501,5 +501,5 @@
     psString query = psStringCopy("UPDATE chipBackgroundRun");
     bool result = pxUpdateRun(config, where, &query, "chipBackgroundRun", "chip_bg_id",
-                              "chipBackgroundImfile", true);
+                              "chipBackgroundImfile", true, true);
 
     psFree(query);
@@ -1471,5 +1471,5 @@
     psString query = psStringCopy("UPDATE warpBackgroundRun");
     bool result = pxUpdateRun(config, where, &query, "warpBackgroundRun", "warp_bg_id",
-                              "warpBackgroundSkyfile", true);
+                              "warpBackgroundSkyfile", true, true);
 
     psFree(query);
Index: trunk/ippTools/src/camtool.c
===================================================================
--- trunk/ippTools/src/camtool.c	(revision 30728)
+++ trunk/ippTools/src/camtool.c	(revision 30729)
@@ -283,5 +283,5 @@
 
     // pxUpdateRun gets parameters from config->args and updates
-    bool result = pxUpdateRun(config, where, &query, "camRun", "cam_id", "camProcessedExp", true);
+    bool result = pxUpdateRun(config, where, &query, "camRun", "cam_id", "camProcessedExp", true, true);
     if (!result) {
         psError(psErrorCodeLast(), false, "pxUpdateRun failed");
Index: trunk/ippTools/src/chiptool.c
===================================================================
--- trunk/ippTools/src/chiptool.c	(revision 30728)
+++ trunk/ippTools/src/chiptool.c	(revision 30729)
@@ -443,5 +443,5 @@
 
     // pxUpdateRun gets parameters from config->args and updates
-    bool result = pxUpdateRun(config, where, &query, "chipRun", "chip_id", "chipProcessedImfile", true);
+    bool result = pxUpdateRun(config, where, &query, "chipRun", "chip_id", "chipProcessedImfile", true, true);
     if (!result) {
         psError(psErrorCodeLast(), false, "pxUpdateRun failed");
Index: trunk/ippTools/src/chiptoolConfig.c
===================================================================
--- trunk/ippTools/src/chiptoolConfig.c	(revision 30728)
+++ trunk/ippTools/src/chiptoolConfig.c	(revision 30729)
@@ -99,4 +99,5 @@
     psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-set_dist_group", 0,   "set dist group", NULL);
     psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-set_note", 0,         "set note", NULL);
+    pxmagicAddArguments(updaterunArgs);
 
     // -setimfiletoupdate
Index: trunk/ippTools/src/diffphottool.c
===================================================================
--- trunk/ippTools/src/diffphottool.c	(revision 30728)
+++ trunk/ippTools/src/diffphottool.c	(revision 30729)
@@ -228,5 +228,5 @@
 
     // pxUpdateRun gets parameters from config->args and updates
-    bool result = pxUpdateRun(config, where, &query, "diffPhotRun", "diff_phot_id", "diffPhotSkyfile", true);
+    bool result = pxUpdateRun(config, where, &query, "diffPhotRun", "diff_phot_id", "diffPhotSkyfile", true, false);
 
     psFree(query);
Index: trunk/ippTools/src/difftool.c
===================================================================
--- trunk/ippTools/src/difftool.c	(revision 30728)
+++ trunk/ippTools/src/difftool.c	(revision 30729)
@@ -224,5 +224,5 @@
 
     // pxUpdateRun gets parameters from config->args and updates
-    bool result = pxUpdateRun(config, where, &query, "diffRun", "diff_id", "diffSkyfile", true);
+    bool result = pxUpdateRun(config, where, &query, "diffRun", "diff_id", "diffSkyfile", true, true);
 
     psFree(query);
Index: trunk/ippTools/src/difftoolConfig.c
===================================================================
--- trunk/ippTools/src/difftoolConfig.c	(revision 30728)
+++ trunk/ippTools/src/difftoolConfig.c	(revision 30729)
@@ -73,4 +73,5 @@
     psMetadataAddS16(updaterunArgs, PS_LIST_TAIL, "-set_diff_mode", 0,    "specify type of difference (WW=1,WS=2,SW=3,SS=4)", 0);
     psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-set_note", 0,         "define new note", NULL);
+    pxmagicAddArguments(updaterunArgs);
 
     // -addinputskyfile
Index: trunk/ippTools/src/faketool.c
===================================================================
--- trunk/ippTools/src/faketool.c	(revision 30728)
+++ trunk/ippTools/src/faketool.c	(revision 30729)
@@ -348,5 +348,5 @@
 
     // pxUpdateRun gets parameters from config->args and updates
-    bool result = pxUpdateRun(config, where, &query, "fakeRun", "fake_id", "fakeProcessedImfile", true);
+    bool result = pxUpdateRun(config, where, &query, "fakeRun", "fake_id", "fakeProcessedImfile", true, false);
     if (!result) {
         psError(psErrorCodeLast(), false, "pxUpdateRun failed");
Index: trunk/ippTools/src/pxtools.c
===================================================================
--- trunk/ippTools/src/pxtools.c	(revision 30728)
+++ trunk/ippTools/src/pxtools.c	(revision 30729)
@@ -278,5 +278,5 @@
 
 // shared code for updating the various strings for a Run
-bool pxUpdateRun(pxConfig *config, psMetadata *where, psString *pQuery, psString runTable, psString idColumn, psString fileTable, bool has_dist_group)
+bool pxUpdateRun(pxConfig *config, psMetadata *where, psString *pQuery, psString runTable, psString idColumn, psString fileTable, bool has_dist_group, bool has_magicked)
 {
     PS_ASSERT_PTR_NON_NULL(config, false);
@@ -360,4 +360,7 @@
     if (fileWhere) {
         psStringAppend(pQuery, "%s", fileWhere);
+    }
+    if (has_magicked) {
+        pxmagicAddWhere(config, pQuery, runTable);
     }
 
Index: trunk/ippTools/src/pxtools.h
===================================================================
--- trunk/ippTools/src/pxtools.h	(revision 30728)
+++ trunk/ippTools/src/pxtools.h	(revision 30729)
@@ -84,5 +84,5 @@
 bool pxGetOptions(FILE *stream, int argc, char **argv, pxConfig *config, psMetadata *modes, psMetadata *argSets);
 
-bool pxUpdateRun(pxConfig *config, psMetadata *where, psString *pQuery, psString runTable, psString idColumn, psString fileTable, bool has_dist_group);
+bool pxUpdateRun(pxConfig *config, psMetadata *where, psString *pQuery, psString runTable, psString idColumn, psString fileTable, bool has_dist_group, bool has_magicked);
 
 #define PXOPT_ADD_MODE(option, comment, modeval, argset) \
Index: trunk/ippTools/src/stacktool.c
===================================================================
--- trunk/ippTools/src/stacktool.c	(revision 30728)
+++ trunk/ippTools/src/stacktool.c	(revision 30729)
@@ -750,5 +750,5 @@
 
     // pxUpdateRun gets parameters from config->args and updates
-    bool result = pxUpdateRun(config, where, &query, "stackRun", "stack_id", "stackSumSkyfile", true);
+    bool result = pxUpdateRun(config, where, &query, "stackRun", "stack_id", "stackSumSkyfile", true, false);
 
     psFree(query);
Index: trunk/ippTools/src/staticskytool.c
===================================================================
--- trunk/ippTools/src/staticskytool.c	(revision 30728)
+++ trunk/ippTools/src/staticskytool.c	(revision 30729)
@@ -360,5 +360,5 @@
 
     // pxUpdateRun gets parameters from config->args and updates
-    bool result = pxUpdateRun(config, where, &query, "staticskyRun", "sky_id", "staticskyResult", true);
+    bool result = pxUpdateRun(config, where, &query, "staticskyRun", "sky_id", "staticskyResult", true, false);
     psFree(query);
     psFree(where);
Index: trunk/ippTools/src/warptool.c
===================================================================
--- trunk/ippTools/src/warptool.c	(revision 30728)
+++ trunk/ippTools/src/warptool.c	(revision 30729)
@@ -435,5 +435,5 @@
 
     // pxUpdateRun gets parameters from config->args and updates
-    bool result = pxUpdateRun(config, where, &query, "warpRun", "warp_id", "warpSkyfile", true);
+    bool result = pxUpdateRun(config, where, &query, "warpRun", "warp_id", "warpSkyfile", true, true);
 
     psFree(query);
Index: trunk/ippTools/src/warptoolConfig.c
===================================================================
--- trunk/ippTools/src/warptoolConfig.c	(revision 30728)
+++ trunk/ippTools/src/warptoolConfig.c	(revision 30729)
@@ -149,4 +149,5 @@
     psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-set_dist_group", 0,   "define new dist_group", NULL);
     psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-set_note", 0,         "define new note", NULL);
+    pxmagicAddArguments(updaterunArgs);
 
     // -exp
