Index: /branches/haf_branches/ipp.rsync.20101015/dbconfig/changes.txt
===================================================================
--- /branches/haf_branches/ipp.rsync.20101015/dbconfig/changes.txt	(revision 29439)
+++ /branches/haf_branches/ipp.rsync.20101015/dbconfig/changes.txt	(revision 29440)
@@ -1945,2 +1945,20 @@
 ALTER TABLE diffSummary DROP PRIMARY KEY, ADD PRIMARY KEY (diff_id, projection_cell);
 ALTER TABLE stackSummary DROP PRIMARY KEY, ADD PRIMARY KEY (sass_id, projection_cell);
+
+
+-- minidvodb copy table (for tracking copying of minidvodbs to other machines
+
+
+CREATE TABLE minidvodbCopy (
+    minidvodbcopy_id     BIGINT AUTO_INCREMENT,
+    minidvodb_id     BIGINT,
+    minidvodb_rsync_path VARCHAR(255) NOT NULL,
+    destination_host VARCHAR(255) NOT NULL,
+    fault  SMALLINT NOT NULL,
+    state   VARCHAR(64) NOT NULL,
+    epoch TIMESTAMP,
+    dtime FLOAT,
+    PRIMARY KEY(minidvodbcopy_id),
+    KEY(minidvodb_id),
+    FOREIGN KEY(minidvodb_id) REFERENCES minidvodbRun(minidvodb_id)
+) ENGINE=innodb DEFAULT CHARSET=latin1;
Index: /branches/haf_branches/ipp.rsync.20101015/dbconfig/minidvodb.md
===================================================================
--- /branches/haf_branches/ipp.rsync.20101015/dbconfig/minidvodb.md	(revision 29439)
+++ /branches/haf_branches/ipp.rsync.20101015/dbconfig/minidvodb.md	(revision 29440)
@@ -21,6 +21,8 @@
 
 minidvodbCopy METADATA
+    minidvodbcopy_id	S64 0
     minidvodb_id    S64    0
     minidvodb_rsync_path   STR    255
+    destination_host	   STR	  255
     fault           S16	   0
     state           STR    64
Index: /branches/haf_branches/ipp.rsync.20101015/ippTools/share/Makefile.am
===================================================================
--- /branches/haf_branches/ipp.rsync.20101015/ippTools/share/Makefile.am	(revision 29439)
+++ /branches/haf_branches/ipp.rsync.20101015/ippTools/share/Makefile.am	(revision 29440)
@@ -264,4 +264,6 @@
 	magicdstool_torevert_warp.sql \
 	magicdstool_torevert_diff.sql \
+	minidvodbtool_find_minidvodb_id_dvo.sql \
+	minidvodbtool_revertminidvodbcopy.sql \
 	pstamptool_completedreq.sql \
 	pstamptool_datastore.sql \
Index: /branches/haf_branches/ipp.rsync.20101015/ippTools/share/minidvodbtool_find_minidvodb_id_dvo.sql
===================================================================
--- /branches/haf_branches/ipp.rsync.20101015/ippTools/share/minidvodbtool_find_minidvodb_id_dvo.sql	(revision 29440)
+++ /branches/haf_branches/ipp.rsync.20101015/ippTools/share/minidvodbtool_find_minidvodb_id_dvo.sql	(revision 29440)
@@ -0,0 +1,8 @@
+SELECT minidvodbRun.* FROM minidvodbRun
+JOIN minidvodbProcessed USING(minidvodb_id)
+WHERE minidvodbRun.state = 'merged'
+    AND minidvodb_id NOT IN (SELECT minidvodb_id
+       FROM minidvodbCopy
+       JOIN minidvodbRun USING(minidvodb_id)
+       WHERE %s
+      )
Index: /branches/haf_branches/ipp.rsync.20101015/ippTools/share/minidvodbtool_revertminidvodbcopy.sql
===================================================================
--- /branches/haf_branches/ipp.rsync.20101015/ippTools/share/minidvodbtool_revertminidvodbcopy.sql	(revision 29440)
+++ /branches/haf_branches/ipp.rsync.20101015/ippTools/share/minidvodbtool_revertminidvodbcopy.sql	(revision 29440)
@@ -0,0 +1,7 @@
+DELETE minidvodbCopy
+    SET state = 'new',
+    SET fault = 0
+WHERE
+    minidvodbCopy.state = 'new'
+    AND minidvodbCopy.fault >0    
+AND addRun.state = 'new'
Index: /branches/haf_branches/ipp.rsync.20101015/ippTools/src/Makefile.am
===================================================================
--- /branches/haf_branches/ipp.rsync.20101015/ippTools/src/Makefile.am	(revision 29439)
+++ /branches/haf_branches/ipp.rsync.20101015/ippTools/src/Makefile.am	(revision 29440)
@@ -40,4 +40,5 @@
 	pxdqstats.h
 	pxmagic.h \
+	pxminidvodb.h \
 	pxregister.h \
 	pxspace.h \
@@ -92,4 +93,5 @@
 	pxdqstats.c \
 	pxmagic.c \
+	pxminidvodb.c \
 	pxregister.c \
 	pxspace.c \
Index: /branches/haf_branches/ipp.rsync.20101015/ippTools/src/minidvodbtool.c
===================================================================
--- /branches/haf_branches/ipp.rsync.20101015/ippTools/src/minidvodbtool.c	(revision 29439)
+++ /branches/haf_branches/ipp.rsync.20101015/ippTools/src/minidvodbtool.c	(revision 29440)
@@ -28,4 +28,5 @@
 #include "pxtools.h"
 #include "pxadd.h"
+#include "pxminidvodb.h"
 #include "minidvodbtool.h"
 
@@ -90,8 +91,7 @@
     psMetadata *where = psMetadataAlloc();
     pxcamGetSearchArgs (config, where);
-    PXOPT_COPY_S64(config->args, where,  "-cam_id",    "camRun.cam_id", "==");
-    pxAddLabelSearchArgs (config, where, "-label",     "camRun.label", "=="); // define using camRun label
-    pxAddLabelSearchArgs (config, where, "-data_group","camRun.data_group", "=="); // define using camRun label
-    PXOPT_COPY_STR(config->args, where,  "-reduction", "camRun.reduction", "==");
+    PXOPT_COPY_S64(config->args, where,  "-minidvodb_id",    "minidvodbRun.minidvodbRun_id", "==");
+    pxAddLabelSearchArgs (config, where, "-minidvodb_group",     "minidvodbRun.minidvodb_group", "=="); // define using camRun label
+   
 
 
@@ -102,15 +102,6 @@
     }
 
-    PXOPT_LOOKUP_STR(workdir,     config->args, "-set_workdir", false, false);
-    PXOPT_LOOKUP_STR(dvodb,       config->args, "-set_dvodb", 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(reduction,   config->args, "-set_reduction", false, false);
-    PXOPT_LOOKUP_STR(note,        config->args, "-set_note", false, false);
-    PXOPT_LOOKUP_STR(minidvodb_name,  config->args, "-set_minidvodb_name", false, false);
-    PXOPT_LOOKUP_STR(minidvodb_group, config->args, "-set_minidvodb_group", false, false);
-    PXOPT_LOOKUP_BOOL(image_only, config->args, "-image_only", false);
-    PXOPT_LOOKUP_BOOL(minidvodb,  config->args, "-set_minidvodb", false);
-    PXOPT_LOOKUP_BOOL(destreaked, config->args, "-destreaked", false);
+    PXOPT_LOOKUP_STR(destination_host,     config->args, "-set_destination_host", false, false);
+    PXOPT_LOOKUP_STR(minidvodb_rsync_path, config->args, "-set_minidvodb_rsync_path", false, false);
     PXOPT_LOOKUP_BOOL(pretend,    config->args, "-pretend", false);
     PXOPT_LOOKUP_BOOL(simple,     config->args, "-simple", false);
@@ -120,17 +111,15 @@
     psString dvodb_string = NULL;
     psString bare_query = NULL;
-    if (dvodb) {
-      psTrace("addtool.c", PS_LOG_INFO, "dvodb argument found (%s) using addtool_find_cam_id_dvo.sql\n", dvodb);
+    if (destination_host) {
+      psTrace("minidvodbtool.c", PS_LOG_INFO, "destination_host argument found (%s) using minidvodbtool_find_minidvodb_id_dvo.sql\n", destination_host);
         // find the cam_id of all the exposures that we want to queue up.
-        bare_query = pxDataGet("addtool_find_cam_id_dvo.sql");
+        bare_query = pxDataGet("minidvodbtool_find_minidvodb_id_dvo.sql");
 	// user supplied dvodb
-	psStringAppend(&dvodb_string, "addRun.dvodb = '%s'", dvodb);
+	psStringAppend(&dvodb_string, "minidvodbCopy.destination_host = '%s'", destination_host);
     } else {
-        psTrace("addtool.c", PS_LOG_INFO, "dvodb argument not found using addtool_find_cam_id.sql\n");
-        // find the cam_id of all the exposures that we want to queue up.
-        bare_query = pxDataGet("addtool_find_cam_id.sql");
-        // inherit dvodb from camRun, avoid matching NULL
-        psStringAppend(&dvodb_string, "(camRun.dvodb IS NOT NULL AND previous_dvodb = camRun.dvodb)");
-    }
+      psError(PS_ERR_UNKNOWN, false, "cannot queue minidvodbcopy run without a defined destination_host");
+       
+            return false;
+         }
     if (!bare_query) {
         psError(PXTOOLS_ERR_SYS, false, "failed to retrieve SQL statement");
@@ -155,9 +144,5 @@
     psFree(where);
 
-    if (destreaked) {
-        psStringAppend(&query, " AND (camRun.magicked > 0)");
-    }
-
-    if (!p_psDBRunQuery(config->dbh, query)) {
+   if (!p_psDBRunQuery(config->dbh, query)) {
         psError(PS_ERR_UNKNOWN, false, "database error");
         psFree(query);
@@ -179,5 +164,5 @@
     if (pretend) {
         // negative simple so the default is true
-        if (!ippdbPrintMetadatas(stdout, output, "addRun", !simple)) {
+        if (!ippdbPrintMetadatas(stdout, output, "minidvodbCopy", !simple)) {
             psError(PS_ERR_UNKNOWN, false, "failed to print array");
             psFree(output);
@@ -192,18 +177,18 @@
         psMetadata *md = output->data[i];
 
-        camRunRow *row = camRunObjectFromMetadata(md);
+        minidvodbRunRow *row = minidvodbRunObjectFromMetadata(md);
         if (!row) {
-            psError(PS_ERR_UNKNOWN, false, "failed to convert metadata into camRun");
+            psError(PS_ERR_UNKNOWN, false, "failed to convert metadata into minidvodbRun");
             psFree(output);
             return false;
         }
 
-        if (!dvodb && !row->dvodb) {
-            psError(PS_ERR_UNKNOWN, false, "cannot queue addstar run without a defined dvodb: label: %s, cam_id %" PRId64, row->label, row->cam_id);
+        if (!minidvodb_rsync_path) {
+            psError(PS_ERR_UNKNOWN, false, "cannot queue minidvodbcopy run without a defined minidvodb_rsync_path: minidvodb_id %" PRId64, row->minidvodb_id);
             psFree(output);
             return false;
         }
-        if (!workdir && !row->workdir) {
-            psError(PS_ERR_UNKNOWN, false, "cannot queue addstar run without a defined workdir: label: %s, cam_id %" PRId64, row->label, row->cam_id);
+        if (!destination_host) {
+            psError(PS_ERR_UNKNOWN, false, "cannot queue minidvodbcopy run without a defined destination_host: minidvodb_id %" PRId64, row->minidvodb_id);
             psFree(output);
             return false;
@@ -230,5 +215,5 @@
         psMetadata *md = output->data[i];
 
-        camRunRow *row = camRunObjectFromMetadata(md);
+        minidvodbRunRow *row = minidvodbRunObjectFromMetadata(md);
         if (!row) {
             psError(PS_ERR_UNKNOWN, false, "failed to convert metadata into camRun");
@@ -238,16 +223,8 @@
 
         // queue the exp
-        if (!pxaddQueueByCamID(config,
-                               row->cam_id,
-                               workdir     ? workdir   : row->workdir,
-                               reduction   ? reduction : row->reduction,
-                               label       ? label     : row->label,
-                               data_group  ? data_group : (row->data_group ? row->data_group :  (label ? label : row->label)),
-                               dvodb       ? dvodb     : row->dvodb,
-                               note        ? note      : NULL,
-                               image_only,
-                               minidvodb,
-                               minidvodb_group,
-                               minidvodb_name
+        if (!pxaddQueueByMinidvodbID(config,
+                               row->minidvodb_id,
+				     destination_host ? destination_host : "NULL",
+				     minidvodb_rsync_path ?minidvodb_rsync_path : "NULL"
         )) {
             if (!psDBRollback(config->dbh)) {
@@ -255,5 +232,5 @@
             }
             psError(PS_ERR_UNKNOWN, false,
-                    "failed to trying to queue chip_id: %" PRId64, row->cam_id);
+                    "failed to trying to queue minidvodb_id: %" PRId64, row->minidvodb_id);
             psFree(row);
             psFree(output);
@@ -553,6 +530,6 @@
   psMetadata *where = psMetadataAlloc();
   PS_ASSERT_PTR_NON_NULL(config, false);
-  PXOPT_COPY_S64(config->args, where, "-minidvodb_id", "minidvodbCopy.minidvodb_id", "==");
-  PXOPT_COPY_STR(config->args, where, "-minidvodb_group", "addRun.minidvodb_group", "==");
+  PXOPT_COPY_S64(config->args, where, "-minidvodbcopy_id", "minidvodbCopy.minidvodbcopy_id", "==");
+  PXOPT_COPY_STR(config->args, where, "-destination_host", "destination host", "==");
 
   if (!psListLength(where->list) && !psMetadataLookupBool(NULL, config->args, "-all")) {
@@ -614,14 +591,22 @@
   PS_ASSERT_PTR_NON_NULL(config, false);
   psMetadata *where = psMetadataAlloc();
-
-  PXOPT_LOOKUP_U64(minidvodb_id,  config->args, "-minidvodb_id", true, false);
-  PXOPT_LOOKUP_U64(merge_order,  config->args, "-set_merge_order", false, false);
-  PXOPT_LOOKUP_S16(fault,  config->args, "-set_fault", false, false);
-  PXOPT_LOOKUP_F32(dtime_relphot,  config->args, "-set_dtime_relphot", false, false);
-  PXOPT_LOOKUP_F32(dtime_resort,  config->args, "-set_dtime_resort", false, false);
-  PXOPT_LOOKUP_F32(dtime_merge,  config->args, "-set_dtime_merge", false, false);
-
+  PXOPT_LOOKUP_U64(minidvodbcopy_id,  config->args, "-minidvodbcopy_id", false, false);
+  PXOPT_LOOKUP_U64(minidvodb_id,  config->args, "-minidvodb_id", false, false);
+  PXOPT_LOOKUP_STR(state,  config->args, "-state", false, false);
+  PXOPT_LOOKUP_STR(host,  config->args, "-host", false, false);
+  PXOPT_LOOKUP_STR(rsync_path,  config->args, "-minidvodb_rsync_path", false, false);
+  PXOPT_LOOKUP_S16(fault,  config->args, "-fault", false, false);
+  
+  PXOPT_LOOKUP_S16(set_fault,  config->args, "-set_fault", false, false);
+  PXOPT_LOOKUP_STR(set_rsync_path,  config->args, "-set_minidvodb_rsync_path", false, false);
+  PXOPT_LOOKUP_STR(set_host,  config->args, "-set_destination_host", false, false);
+  PXOPT_LOOKUP_STR(set_state,  config->args, "-set_state", false, false);
+  PXOPT_LOOKUP_F32(dtime,  config->args, "-set_dtime", false, false);
+  PXOPT_COPY_S64(config->args, where, "-minidvodbcopy_id",     "minidvodbCopy.minidvodbcopy_id", "==");
   PXOPT_COPY_S64(config->args, where, "-minidvodb_id",     "minidvodbCopy.minidvodb_id", "==");
-  PXOPT_COPY_STR(config->args, where, "-minidvodb_name",     "minidvodbRun.minidvodb_name", "==");
+  
+  PXOPT_COPY_STR(config->args, where, "-state",     "minidvodbCopy.state", "==");
+  PXOPT_COPY_STR(config->args, where, "-host",     "minidvodbCopy.destination_host", "==");
+  PXOPT_COPY_STR(config->args, where, "-minidvodb_rsync_path",     "minidvodbCopy.minidvodb_rsync_path", "==");
 
 
@@ -635,41 +620,46 @@
   int cnt = 0;
   psString comma = ",";
-  if (fault) {
-    psStringAppend(&query, " fault = %d", fault);
+  if (set_fault) {
+    psStringAppend(&query, " fault = %d", set_fault);
   cnt++;
   }
 
-  if (merge_order) {
+  if (set_rsync_path) {
     if (cnt) {
       psStringAppend(&query, "%s", comma);
     }
 
-    psStringAppend(&query, " merge_order = %" PRId64, merge_order);
+    psStringAppend(&query, " minidvodb_rsync_path = %s" , set_rsync_path);
     cnt++;
   }
 
-  if (dtime_relphot) {
+  if (set_host) {
     if (cnt) {
       psStringAppend(&query, "%s", comma);
     }
-    psStringAppend(&query, " dtime_relphot = %f", dtime_relphot);
+
+    psStringAppend(&query, " destination_host = %s" , set_host);
     cnt++;
   }
 
-  if (dtime_resort) {
+
+  if (set_state) {
     if (cnt) {
       psStringAppend(&query, "%s", comma);
     }
-    psStringAppend(&query, " dtime_resort = %f", dtime_resort);
+
+    psStringAppend(&query, " state = %s" , set_state);
     cnt++;
   }
 
-  if (dtime_merge) {
+  if (dtime) {
     if (cnt) {
       psStringAppend(&query, "%s", comma);
     }
-    psStringAppend(&query, " dtime_merge = %f", dtime_merge);
+    psStringAppend(&query, " dtime = %f", dtime);
     cnt++;
- }
+  }
+
+ 
 
   psString whereClause = psDBGenerateWhereConditionSQL(where, NULL);
Index: /branches/haf_branches/ipp.rsync.20101015/ippTools/src/minidvodbtoolConfig.c
===================================================================
--- /branches/haf_branches/ipp.rsync.20101015/ippTools/src/minidvodbtoolConfig.c	(revision 29439)
+++ /branches/haf_branches/ipp.rsync.20101015/ippTools/src/minidvodbtoolConfig.c	(revision 29440)
@@ -2,5 +2,4 @@
  * addtoolConfig.c
  *
- * Copyright (C) 2009  Joshua Hoblitt, Chris Waters
  *
  * This program is free software; you can redistribute it and/or modify it
@@ -29,4 +28,5 @@
 #include "pxtools.h"
 #include "pxadd.h"
+#include "pxminidvodb.h"
 #include "minidvodbtool.h"
 
@@ -49,25 +49,15 @@
     // -definebyquery
     psMetadata *definebyqueryArgs = psMetadataAlloc();
-    psMetadataAddS64(definebyqueryArgs, PS_LIST_TAIL, "-cam_id",             0, "search by cam_id", 0);
+    psMetadataAddS64(definebyqueryArgs, PS_LIST_TAIL, "-minidvodb_id",             0, "search by cam_id", 0);
     pxcamSetSearchArgs(definebyqueryArgs);
-    psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-label", PS_META_DUPLICATE_OK, "search by camRun label", NULL);
-    psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-data_group", PS_META_DUPLICATE_OK, "search by camRun data_group", NULL);
-    psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-reduction",          0, "search by camRun reduction class", NULL);
-    psMetadataAddBool(definebyqueryArgs, PS_LIST_TAIL, "-destreaked",           0, "only queue destreaked runs", false);
+       psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-minidvodb_group", PS_META_DUPLICATE_OK, "search by camRun data_group", NULL);
 
-    psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-set_workdir",        0, "define workdir", NULL);
-    psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-set_label",          0, "define label", NULL);
+       
+    psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-set_minidvodb_rsync_path",        0, "define workdir", NULL);
+    psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-set_destination_host",          0, "define label", NULL);
     psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-set_reduction",      0, "define reduction class", NULL);
-    psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-set_dvodb",          0, "define DVO db", NULL);
-    psMetadataAddBool(definebyqueryArgs, PS_LIST_TAIL, "-image_only",        0, "addstar image metadata but not detections", false);
-    psMetadataAddBool(definebyqueryArgs, PS_LIST_TAIL, "-pretend",           0, "do not actually modify the database", false);
+   psMetadataAddBool(definebyqueryArgs, PS_LIST_TAIL, "-pretend",           0, "do not actually modify the database", false);
     psMetadataAddBool(definebyqueryArgs, PS_LIST_TAIL, "-simple",            0, "use the simple output format", false);
-    psMetadataAddBool(definebyqueryArgs, PS_LIST_TAIL, "-set_minidvodb",            0, "use minidvodb", false);
-    psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-set_minidvodb_group", 0,   "define minidvodb_group", NULL);
-    psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-set_minidvodb_name", 0,   "define minidvodb_bname", NULL);
-    psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-set_data_group", 0,   "define new data_group", NULL);
-    psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-set_dist_group", 0,   "define new dist_group", NULL);
-    psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-set_note", 0,         "define new note", NULL);
-
+   
     psMetadata *addminidvodbcopyArgs = psMetadataAlloc();
     psMetadataAddU64(addminidvodbcopyArgs, PS_LIST_TAIL, "-minidvodb_id", 0,    "define minidvodb_id (required)", 0);
@@ -90,16 +80,23 @@
 
     psMetadata *revertminidvodbcopyArgs = psMetadataAlloc();
-    psMetadataAddU64(revertminidvodbcopyArgs, PS_LIST_TAIL, "-minidvodb_id",        0, "search by minidvodb_id", 0);
-    psMetadataAddStr(revertminidvodbcopyArgs, PS_LIST_TAIL, "-minidvodb_group",        0, "search by addRun.minidvodb_group", NULL);
+    psMetadataAddU64(revertminidvodbcopyArgs, PS_LIST_TAIL, "-minidvodbcopy_id",        0, "search by minidvodbcopy_id", 0);
+    psMetadataAddStr(revertminidvodbcopyArgs, PS_LIST_TAIL, "-destination host",        0, "search by destination_host", NULL);
 
     psMetadata *updateminidvodbcopyArgs = psMetadataAlloc();
+    psMetadataAddU64(updateminidvodbcopyArgs, PS_LIST_TAIL, "-minidvodbcopy_id",        0, "search by minidvodbcopy_id", 0);
     psMetadataAddU64(updateminidvodbcopyArgs, PS_LIST_TAIL, "-minidvodb_id",        0, "search by minidvodb_id", 0);
-    psMetadataAddStr(updateminidvodbcopyArgs, PS_LIST_TAIL, "-minidvodb_name",        0, "search by minidvodb_name", NULL);
+    psMetadataAddStr(updateminidvodbcopyArgs, PS_LIST_TAIL, "-state",        0, "search by state", NULL);
+    psMetadataAddStr(updateminidvodbcopyArgs, PS_LIST_TAIL, "-host",        0, "search by host", NULL);
+    psMetadataAddStr(updateminidvodbcopyArgs, PS_LIST_TAIL, "-minidvodb_rsync_path",        0, "search by rsync", NULL);
+    psMetadataAddS16(updateminidvodbcopyArgs, PS_LIST_TAIL, "-fault",  0,            "search by fault code", 0);
+  
+
     psMetadataAddS16(updateminidvodbcopyArgs, PS_LIST_TAIL, "-set_fault",  0,            "set fault code", 0);
-    psMetadataAddU64(updateminidvodbcopyArgs, PS_LIST_TAIL, "-set_merge_order",    0,    "define merge order", 0);
-    psMetadataAddF32(updateminidvodbcopyArgs, PS_LIST_TAIL, "-set_dtime_relphot",  0,    "define elapsed time for relphot (seconds)", 0);
-    psMetadataAddF32(updateminidvodbcopyArgs, PS_LIST_TAIL, "-set_dtime_resort", 0,    "define elapsed time for resort (seconds)", 0);
-    psMetadataAddF32(updateminidvodbcopyArgs, PS_LIST_TAIL, "-set_dtime_merge",    0,    "define elapsed time for DVO merge (seconds)", 0);
-    
+  
+    psMetadataAddF32(updateminidvodbcopyArgs, PS_LIST_TAIL, "-set_dtime",  0,    "set elapsed time for transfer", 0);
+    psMetadataAddStr(updateminidvodbcopyArgs, PS_LIST_TAIL, "-set_minidvodb_rsync_path",        0, "change the minidvodb_rsync_path", NULL); 
+    psMetadataAddStr(updateminidvodbcopyArgs, PS_LIST_TAIL, "-set_destination_host",        0, "change the host", NULL);
+    psMetadataAddStr(updateminidvodbcopyArgs, PS_LIST_TAIL, "-set_state",        0, "change the state", NULL);
+
     psMetadata *argSets = psMetadataAlloc();
     psMetadata *modes = psMetadataAlloc();
Index: /branches/haf_branches/ipp.rsync.20101015/ippTools/src/pxminidvodb.c
===================================================================
--- /branches/haf_branches/ipp.rsync.20101015/ippTools/src/pxminidvodb.c	(revision 29440)
+++ /branches/haf_branches/ipp.rsync.20101015/ippTools/src/pxminidvodb.c	(revision 29440)
@@ -0,0 +1,78 @@
+/*
+ * pxadd.c
+ *
+ * Copyright (C) 2007  Joshua Hoblitt
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * program; see the file COPYING. If not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <stdlib.h>
+#include <ippdb.h>
+#include <string.h>
+
+#include "pxtools.h"
+#include "pxminidvodb.h"
+
+bool pxaddQueueByMinidvodbID(pxConfig *config,
+                       psS64 minidvodb_id,
+                       char *destination_host,
+                       char *minidvodb_rsync_path
+  )
+{
+    PS_ASSERT_PTR_NON_NULL(config, false);
+
+    // load the SQL to enqueue our exp_ids from disk once
+    static psString query = NULL;
+    if (!query) {
+        query = pxDataGet("minidvodbtool_queue_minidvodb_id.sql");
+        psMemSetPersistent(query, true);
+        if (!query) {
+            psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement");
+            return false;
+        }
+    }
+
+    // queue the exp
+    // Note: cam_id is being cast here work around psS64 have a different type different
+    // on 32/64
+    //if (!p_psDBRunQueryF(config->dbh, query,
+    //			 minidvodb_rsync_path   ? minidvodb_rsync_path     : "NULL",
+    //			 destination_host  ? destination_host   : "NULL",
+    //                  	 0,  //fault
+			   //			 "new", // state
+    //			 "NULL",
+						   //                      0, //dtime
+                       
+									     //                    (long long) minidvodb_id
+    //    )) 
+    if (!p_psDBRunQueryF(config->dbh,"INSERT INTO minidvodbCopy SELECT         0,   minidvodb_id, '%s', '%s', 0, 'new', NULL, 0 FROM minidvodbRun     WHERE    minidvodbRun.minidvodb_id = %lld and minidvodbRun.state = 'merged'", minidvodb_rsync_path, destination_host, (long long) minidvodb_id))
+
+    {
+      psError(PS_ERR_UNKNOWN, false, "database error %s", query);
+        return false;
+    }
+
+    // just to be safe, we should have changed at least one row
+    if (psDBAffectedRows(config->dbh) < 1) {
+        psError(PS_ERR_UNKNOWN, false,
+                "no rows affected - should have changed at least one row \n%s", query);
+        return false;
+    }
+
+    return true;
+}
Index: /branches/haf_branches/ipp.rsync.20101015/ippTools/src/pxminidvodb.h
===================================================================
--- /branches/haf_branches/ipp.rsync.20101015/ippTools/src/pxminidvodb.h	(revision 29440)
+++ /branches/haf_branches/ipp.rsync.20101015/ippTools/src/pxminidvodb.h	(revision 29440)
@@ -0,0 +1,34 @@
+/*
+ * pxadd.h
+ *
+ * Copyright (C) 2009  Joshua Hoblitt, Chris Waters
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * program; see the file COPYING. If not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#ifndef PXMINIDVODB_H
+#define PXMINIDVODB_H 1
+
+#include <pslib.h>
+
+#include "pxtools.h"
+
+
+bool pxaddQueueByMinidvodbID(pxConfig *config,
+		       psS64 minidvodb_id,
+		       char *destination_host,
+		       char *minidvodb_rsync_path
+		       );
+
+#endif // PXMINIDVODB_H
