Index: trunk/ippScripts/scripts/addstar_run.pl
===================================================================
--- trunk/ippScripts/scripts/addstar_run.pl	(revision 28210)
+++ trunk/ippScripts/scripts/addstar_run.pl	(revision 28211)
@@ -48,7 +48,7 @@
     'reduction=s'       => \$reduction, # Reduction class
     'dvodb|w=s'         => \$dvodb,  # output DVO database
-    'minidvodb'         => \$minidvodb,  # use minidvodb?
     'minidvodb_name|w=s'=> \$minidvodb_name,  # miniDVO database name
     'minidvodb_group|w=s' => \$minidvodb_group, # miniDVO database group
+    'minidvodb'         => \$minidvodb,  # use minidvodb?
     'image-only'        => \$image_only,   # Print to stdout
     'verbose'           => \$verbose,   # Print to stdout
@@ -104,6 +104,9 @@
 if (defined $dvodb) {
     $dvodbReal = $ipprc->dvo_catdir( $dvodb ); # catdir for DVO
-    $dvodbReal = $ipprc->convert_filename_absolute( $dvodbReal );
-}
+    $dvodbReal = $ipprc->convert_filename_absolute( $dvodbReal ) or &my_die("can't get path for dvodb", $add_id, $PS_EXIT_CONFIG_ERROR);
+}
+
+
+
 
 my $dtime_addstar = 0;
@@ -179,5 +182,6 @@
 $fpaCommand .= " -path_base $outroot";
 $fpaCommand .= " -dtime_addstar $dtime_addstar";
-$fpaCommand .= " -dvodb_path $dvodbReal";
+$fpaCommand .= " -dvodb_path $dvodbReal" if defined $dvodbReal;
+$fpaCommand .= " -minidvodb_name $minidvodb_name" if defined $minidvodb_name;
 $fpaCommand .= " -dbname $dbname" if defined $dbname;
 print $fpaCommand;
@@ -212,4 +216,5 @@
         $command .= " -path_base $outroot" if defined $outroot;
         $command .= (" -dtime_addstar " . ((DateTime->now->mjd - $mjd_start) * 86400));
+	$fpaCommand .= " -minidvodb_name $minidvodb_name" if defined $minidvodb_name;
         $command .= " -dbname $dbname" if defined $dbname;
         system ($command);
Index: trunk/ippScripts/scripts/minidvodb_merge.pl
===================================================================
--- trunk/ippScripts/scripts/minidvodb_merge.pl	(revision 28210)
+++ trunk/ippScripts/scripts/minidvodb_merge.pl	(revision 28211)
@@ -4,5 +4,5 @@
 use strict;
 use Carp;
-
+ 
 ## report the program and machine
 use Sys::Hostname;
@@ -90,8 +90,8 @@
             my $command  = "$addstar -resort";
             $command .= " -D CAMERA $camera";
-            $command .= " -D CATDIR $mergedvodbReal";
+            $command .= " -D CATDIR $minidvodb";
 
             my $mjd_addstar_start = DateTime->now->mjd;   # MJD of starting script
-
+	    print "\n$command\n";
             my ( $success, $error_code, $full_buf, $stdout_buf, $stderr_buf ) =
                 run(command => $command, verbose => $verbose);
@@ -102,4 +102,5 @@
             $dtime_addstar = 86400.0*(DateTime->now->mjd - $mjd_addstar_start);  $dtime_resort = $dtime_addstar;
             # MJD of starting script
+	    $dtime_resort = $dtime_addstar;
             print "addstar -resort time $dtime_addstar\n";
         }
@@ -110,6 +111,6 @@
             my $command  = "$relphot -averages -update";
             $command .= " -D CAMERA $relphot_camera";
-            $command .= " -D CATDIR $mergedvodbReal";
-
+            $command .= " -D CATDIR $minidvodb";
+	    print "$command\n";
             my $mjd_relphot_start = DateTime->now->mjd;   # MJD of starting script
 
@@ -129,5 +130,5 @@
             my $mdcParser = PS::IPP::Metadata::Config->new;
 
-            my $command = "$addtool -listminidvodbrun -state mergedsdfsad -minidvodb_group " . $minidvodb_group;
+            my $command = "$addtool -listminidvodbrun -state merged -minidvodb_group " . $minidvodb_group;
             $command .= " -dbname $dbname" if defined $dbname;
 
@@ -152,28 +153,36 @@
             }
         }
+	{
+	    if (!-e "$mergedvodb/Image.dat") {
+		$this_is_the_first = 1; #the first time it copied maybe it failed? we want it to copy this time
+	
+	    }
+
+	}
 
         {
             my $merge_command;
+	    my $mjd_merge_start = DateTime->now->mjd;   # MJD of starting script
             if ($this_is_the_first) {
-                $merge_command = "cp -rp $minidvodb $mergedvodb"
-            } else {
-                $merge_command = "$dvomerge $minidvodb into $mergedvodb"
-            }
-
-            my $mjd_merge_start = DateTime->now->mjd;   # MJD of starting script
-
-            my ( $success, $error_code, $full_buf, $stdout_buf, $stderr_buf ) =
-                run(command => $merge_command, verbose => $verbose);
-            unless ($success) {
-                $error_code = (($error_code >> 8) or $PS_EXIT_PROG_ERROR);
-                &my_die("Unable to merge: $error_code", $mergedvodb, $error_code);
-            }
-
-            $dtime_merge = 86400.0*(DateTime->now->mjd - $mjd_merge_start);   # MJD of starting script
-            print "merge time $dtime_merge\n";
-        }
-
-
-        {
+		$merge_command = "cp -rp $minidvodb/* $mergedvodb";
+		print "$merge_command\n";
+	    } else {
+                $merge_command = "$dvomerge $minidvodb into $mergedvodb";
+	    }
+	    
+	    print "\n$merge_command\n";
+	    my ( $success, $error_code, $full_buf, $stdout_buf, $stderr_buf ) =
+		run(command => $merge_command, verbose => $verbose);
+	    unless ($success) {
+		    $error_code = (($error_code >> 8) or $PS_EXIT_PROG_ERROR);
+		    &my_die("Unable to merge: $error_code", $mergedvodb, $error_code);
+	    }
+		
+	    $dtime_merge = 86400.0*(DateTime->now->mjd - $mjd_merge_start);   # MJD of starting script
+	    print "merge time $dtime_merge\n";
+#	}
+	}
+
+	{
             my $command = "addtool -minidvodb_id $minidvodb_id";
             $command .= " -addminidvodbprocessed";
@@ -181,6 +190,6 @@
             $command .= " -minidvodb_group $minidvodb_group";
             $command .= " -dtime_relphot $dtime_relphot"  if defined $dtime_relphot;
-            $command .= " -dtime_relphot $dtime_resort" if defined $dtime_resort;
-            $command .= " -dtime_relphot $dtime_merge" if defined $dtime_merge;
+            $command .= " -dtime_resort $dtime_resort" if defined $dtime_resort;
+            $command .= " -dtime_merge $dtime_merge" if defined $dtime_merge;
             $command .= " -dbname $dbname" if defined $dbname;
             #print $command;
@@ -220,6 +229,6 @@
         $command .= " -minidvodb_group $minidvodb_group";
         $command .= " -dtime_relphot $dtime_relphot" if defined $dtime_relphot;
-        $command .= " -dtime_relphot $dtime_resort" if defined $dtime_resort;
-        $command .= " -dtime_relphot $dtime_merge" if defined $dtime_merge;
+        $command .= " -dtime_resort $dtime_resort" if defined $dtime_resort;
+        $command .= " -dtime_merge $dtime_merge" if defined $dtime_merge;
         $command .= " -dbname $dbname" if defined $dbname;
 
Index: trunk/ippTasks/addstar.pro
===================================================================
--- trunk/ippTasks/addstar.pro	(revision 28210)
+++ trunk/ippTasks/addstar.pro	(revision 28211)
@@ -171,7 +171,7 @@
     if ("$MINIDVODB" == "T")
     $run = $run --minidvodb
-    $run = $run --minidvodb_group
+    $run = $run --minidvodb_group $MINIDVODB_GROUP
 	if (("$MINIDVODB_NAME" != "NULL") && ("$MINIDVODB_NAME" != "(null)"))
-           $run = $run --minidvodb_name  #have addstar_run.pl grab the 'active' name if it is NULL
+           $run = $run --minidvodb_name $MINIDVODB_NAME #have addstar_run.pl grab the 'active' name if it is NULL
 	end
     end 
Index: trunk/ippTasks/minidvodb.pro
===================================================================
--- trunk/ippTasks/minidvodb.pro	(revision 28210)
+++ trunk/ippTasks/minidvodb.pro	(revision 28211)
@@ -227,4 +227,5 @@
     end
 #using check as opposed to list because it sees if it is done with the addRun state yet.  
+    book setword MINIDVODB $minidvodb_group STATE DONE
     $run = addtool -checkminidvodbrunaddrun -state waiting
     $run = $run -minidvodb_group $minidvodb_group
@@ -369,6 +370,7 @@
       if ($MINIDVODB_DB >= $DB:n) set MINIDVODB_DB = 0
     end
-    #finds the minidvodbs in a state of 'to_be_merged'    
-    $run = addtool -listminidvodbrun -state to_be_merged
+    #finds the minidvodbs in a state of 'to_be_merged' 
+    book setword MINIDVODB_MERGE $minidvodb_group STATE DONE
+    $run = addtool -listminidvodbrun -state to_be_merged -limit 1
     $run = $run -minidvodb_group $minidvodb_group
     if ($DB:n == 0)
@@ -418,5 +420,10 @@
   periods      -poll $RUNPOLL
   periods      -exec $RUNEXEC
-  periods      -timeout 60
+  periods      -timeout 20000
+  
+  #we only want one running at a time
+
+  host         local
+  npending     1
 
   task.exec
@@ -447,5 +454,5 @@
       # save the DB name for the exit tasks
       option $DB:$MINIDVODB_DB
-      $run = $run -dbname $DB:$MINIDVODB_DB
+      $run = $run --dbname $DB:$MINIDVODB_DB
       $MINIDVODB_DB ++
       if ($MINIDVODB_DB >= $DB:n) set MINIDVODB_DB = 0
@@ -605,10 +612,10 @@
       end
       book getpage MINIDVODB_ACTIVE 0 -var minidvodb_group -key STATE NEW
-
+      
       # Select different database
       $MINIDVODB_DB ++
       if ($MINIDVODB_DB >= $DB:n) set MINIDVODB_DB = 0
     end
-
+    book setword MINIDVODB_ACTIVE $minidvodb_group STATE DONE
     
     $run = addtool -listminidvodbrun -state new
Index: trunk/ippTasks/survey.pro
===================================================================
--- trunk/ippTasks/survey.pro	(revision 28210)
+++ trunk/ippTasks/survey.pro	(revision 28211)
@@ -650,5 +650,5 @@
     end
     
-    $run = $run -definebyquery -destreaked -label $label -set_dvodb $dvodb -set_minidvodb_group $minidvodb_group
+    $run = $run -definebyquery -destreaked -label $label -set_dvodb $dvodb -set_minidvodb_group $minidvodb_group -set_minidvodb -set_label $minidvodb_group
     echo $run
     command $run
Index: trunk/ippTools/src/addtool.c
===================================================================
--- trunk/ippTools/src/addtool.c	(revision 28210)
+++ trunk/ippTools/src/addtool.c	(revision 28211)
@@ -136,6 +136,6 @@
     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_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);
@@ -405,4 +405,5 @@
     PXOPT_LOOKUP_F32(dtime_addstar, config->args, "-dtime_addstar", false, false);
     PXOPT_LOOKUP_STR(dvodb_path, config->args, "-dvodb_path", false, false);
+    PXOPT_LOOKUP_STR(minidvodb_name, config->args, "-minidvodb_name", false, false);
     PXOPT_LOOKUP_S16(fault,         config->args, "-fault", false, false);
 
@@ -470,4 +471,22 @@
         return false;
     }
+
+    //if there is a minidvodb_name, set it in addRun (it's not known until it is processed)
+    if (minidvodb_name) {
+      psString setName = NULL;
+      psStringAppend (&setName, "UPDATE addRun set minidvodb_name = '%s' where add_id = %" PRId64, minidvodb_name, row->add_id); 
+      if (!p_psDBRunQuery(config->dbh, setName)) {
+	if (!psDBRollback(config->dbh)) {
+	  psError(PS_ERR_UNKNOWN, false, "database error");
+        }
+        psError(PS_ERR_UNKNOWN, false, "database error");
+	
+	return false;
+      }
+    }
+
+
+
+
 
     // since there is only one exp per 'new' set addRun.state = 'full'
Index: trunk/ippTools/src/addtoolConfig.c
===================================================================
--- trunk/ippTools/src/addtoolConfig.c	(revision 28210)
+++ trunk/ippTools/src/addtoolConfig.c	(revision 28211)
@@ -102,4 +102,5 @@
     psMetadataAddStr(addprocessedexpArgs, PS_LIST_TAIL, "-path_base", 0,            "define base output location", NULL);
      psMetadataAddStr(addprocessedexpArgs, PS_LIST_TAIL, "-dvodb_path", 0,            "define base output location", NULL);
+      psMetadataAddStr(addprocessedexpArgs, PS_LIST_TAIL, "-minidvodb_name", 0,            "define minidvodb_name", NULL);
     psMetadataAddF32(addprocessedexpArgs, PS_LIST_TAIL, "-dtime_addstar", 0, "define elapsed time for DVO insertion (seconds)", NAN);
     psMetadataAddS16(addprocessedexpArgs, PS_LIST_TAIL, "-fault",  0,            "set fault code", 0);
