Index: trunk/ippTools/src/disttool.c
===================================================================
--- trunk/ippTools/src/disttool.c	(revision 27476)
+++ trunk/ippTools/src/disttool.c	(revision 27483)
@@ -140,4 +140,5 @@
     PXOPT_LOOKUP_BOOL(no_magic, config->args, "-no_magic", false);
     PXOPT_LOOKUP_STR(set_label, config->args, "-set_label", false, false);
+    PXOPT_LOOKUP_STR(set_data_group, config->args, "-set_data_group", false, false);
     PXOPT_LOOKUP_STR(set_note, config->args, "-set_note", false, false);
 
@@ -188,5 +189,5 @@
         // for raw stage we select by camRun.label and dist_group because rawExp doesn't have those columns
         if (label) {
-            psStringAppend(&query, " AND (camRun.label = '%s')", label);
+            psStringAppend(&query, " AND (magicDSRun.label = '%s')", label);
         }
         if (dist_group) {
@@ -387,5 +388,5 @@
         psS64 target_id = psMetadataLookupS64(NULL, md, "target_id");
         psString stage_label = psMetadataLookupStr(NULL, md, "label");
-        psString data_group = psMetadataLookupStr(NULL, md, "data_group");
+        psString stage_data_group = psMetadataLookupStr(NULL, md, "data_group");
         bool clean = psMetadataLookupBool(NULL, md, "clean");
 
@@ -399,4 +400,11 @@
             new_label = stage_label;
         }
+        psString new_data_group;
+        if (set_data_group != NULL) {
+            new_data_group = set_data_group;
+        } else {
+            new_data_group = stage_data_group;
+        }
+
         distRunRow *row = distRunRowAlloc(
                 0,      // dist_id
@@ -414,5 +422,5 @@
                 NULL,    // time_stamp
                 0,       // fault
-                data_group,
+                new_data_group,
                 set_note // note does not propagate
                 );
@@ -472,10 +480,11 @@
     PXOPT_LOOKUP_STR(state, config->args, "-set_state", false, false);
     PXOPT_LOOKUP_STR(label, config->args, "-set_label", false, false);
+    PXOPT_LOOKUP_STR(data_group, config->args, "-set_data_group", false, false);
     PXOPT_LOOKUP_STR(outdir, config->args, "-set_outdir", false, false);
     PXOPT_LOOKUP_S16(fault, config->args, "-fault", false, false);
     PXOPT_LOOKUP_STR(set_note, config->args, "-set_note", false, false);
 
-    if ((!state) && (!label) && (!fault)) {
-        psError(PXTOOLS_ERR_CONFIG, false, "parameters (-fault or -set_state or -set_label) are required");
+    if ((!state) && (!label) && (!fault) &&(!data_group)) {
+        psError(PXTOOLS_ERR_CONFIG, false, "parameters (-fault or -set_state or -set_label -set_data_group) are required");
         psFree(where);
         return false;
@@ -497,4 +506,8 @@
     if (fault) {
         psStringAppend(&query, " , distRun.fault = %d", fault);
+    }
+
+    if (data_group) {
+        psStringAppend(&query, " , distRun.data_group = '%s'", data_group);
     }
 
Index: trunk/ippTools/src/disttoolConfig.c
===================================================================
--- trunk/ippTools/src/disttoolConfig.c	(revision 27476)
+++ trunk/ippTools/src/disttoolConfig.c	(revision 27483)
@@ -51,4 +51,5 @@
     psMetadataAddBool(definebyqueryArgs, PS_LIST_TAIL, "-use_alternate", 0, "use alternate inputs", false);
     psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-set_label",    0, "define label for run", NULL);
+    psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-set_data_group",    0, "define data_group for run", NULL);
     psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-set_note",    0, "select by dist_group", NULL);
 
@@ -70,5 +71,7 @@
     psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-set_state", 0, "new value for state", NULL);
     psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-set_label", 0, "new value for label", NULL);
+    psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-set_data_group", 0, "new value for label", NULL);
     psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-set_outdir", 0, "new value for outdir", NULL);
+    psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-set_note", 0,         "define new note", NULL);
     psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-stage",     0, "value for stage", NULL);
     psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-state",     0, "value for state", NULL);
@@ -77,5 +80,4 @@
     psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-dist_group",     0, "limit updates to data_group", NULL);
     psMetadataAddS16(updaterunArgs, PS_LIST_TAIL, "-fault",      0, "define fault code", 0);
-    psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-set_note", 0,         "define new note", NULL);
     // -revertrun
     psMetadata *revertrunArgs = psMetadataAlloc();
