Index: trunk/ippToPsps/perl/ippToPsps/IppToPspsDb.pm
===================================================================
--- trunk/ippToPsps/perl/ippToPsps/IppToPspsDb.pm	(revision 28849)
+++ trunk/ippToPsps/perl/ippToPsps/IppToPspsDb.pm	(revision 28850)
@@ -56,6 +56,6 @@
 #
 ########################################################################################
-sub updateDb {
-    my ($self, $batchId, $expId, $processed, $published, $totalDetections) = @_;
+sub updateBatch {
+    my ($self, $batchId, $expId, $processed, $published, $totalDetections, $minObjId, $maxObjId) = @_;
 
 if (!$totalDetections) {$totalDetections = -1;}
@@ -63,5 +63,10 @@
     my $query = $self->{_db}->prepare(<<SQL);
     UPDATE batches 
-        SET processed = $processed, on_datastore = $published, total_detections = $totalDetections 
+        SET 
+          processed = $processed, 
+          on_datastore = $published, 
+          total_detections = $totalDetections,
+          min_obj_id =  $minObjId,
+          max_obj_id =  $maxObjId
         WHERE batch_id = $batchId 
         AND exp_id = $expId;
@@ -100,6 +105,6 @@
 #
 ########################################################################################
-sub getNewBatchId {
-    my ($self, $expId, $surveyType, $batchType) = @_;
+sub createNewBatch {
+    my ($self, $expId, $surveyType, $batchType, $dvoDb, $datastoreProduct) = @_;
 
     my $query = $self->{_db}->prepare(<<SQL);
@@ -118,8 +123,7 @@
     $query = $self->{_db}->prepare(<<SQL);
     INSERT INTO batches
-        (batch_id, exp_id, survey_id, batch_type)
+        (batch_id, exp_id, survey_id, batch_type, dvo_db, datastore_product)
         VALUES
-        ($batchId, $expId, '$surveyType', '$batchType');
-
+        ($batchId, $expId, '$surveyType', '$batchType', '$dvoDb', '$datastoreProduct');
 SQL
 
@@ -140,10 +144,10 @@
 
     my $currentRevision = -1;
-    my $latestRevision = 5;
+    my $latestRevision = 6;
 
     while ($currentRevision != $latestRevision) {
 
         $currentRevision = $self->getRevision();
-        if ($self->{_verbose}) {print "* Current revision = $currentRevision\n";}
+        if ($self->{_verbose}) {print "* Current database revision = $currentRevision\n";}
 
         if ($currentRevision == 0) {$self->createRevision_1();}
@@ -152,4 +156,5 @@
         elsif ($currentRevision == 3) {$self->createRevision_4();}
         elsif ($currentRevision == 4) {$self->createRevision_5();}
+        elsif ($currentRevision == 5) {$self->createRevision_6();}
     }
 }
@@ -271,4 +276,26 @@
 #######################################################################################
 # 
+# Create revision 6 of the database 
+#
+#######################################################################################
+sub createRevision_6 {
+    my ($self) = @_;
+
+    print "* Creating revision 6 of '$self->{_dbName}'\n";
+
+    my $query = $self->{_db}->prepare(<<SQL);
+    ALTER TABLE batches 
+        ADD COLUMN dvo_db VARCHAR(50) DEFAULT "UNKNOWN",
+        ADD COLUMN datastore_product VARCHAR(50)  DEFAULT "UNKNOWN",
+        ADD COLUMN min_obj_id BIGINT DEFAULT 0,
+        ADD COLUMN max_obj_id BIGINT DEFAULT 0
+SQL
+    $query->execute;
+
+    $self->setRevision(6);
+}
+
+#######################################################################################
+# 
 # Sets current revision of ippToPsps database
 #
Index: trunk/ippToPsps/perl/ippToPsps_run.pl
===================================================================
--- trunk/ippToPsps/perl/ippToPsps_run.pl	(revision 28849)
+++ trunk/ippToPsps/perl/ippToPsps_run.pl	(revision 28850)
@@ -103,4 +103,12 @@
 $fullDvoPath = $dvoPath . "/" . $dvoDb;
 
+# determine PSPS batch 'type'
+my $pspsBatchType;
+if ($batchType eq 'init') {$pspsBatchType = "IN";}
+elsif ($batchType eq 'det') {$pspsBatchType = "P2";}
+elsif ($batchType eq 'stack') {$pspsBatchType = "ST";}
+elsif ($batchType eq 'diff') {$pspsBatchType = "OB";}
+else {$pspsBatchType = "UNKNOWN";}
+
 my $gpc1Db = new ippToPsps::Gpc1Db("gpc1", "ippdb01", "ippuser", "ippuser", $verbose, $save_temps);
 my $ippToPspsDb = new ippToPsps::IppToPspsDb("ippToPsps", "ippdb01", "ipp", "ipp", $verbose, $save_temps);
@@ -181,5 +189,5 @@
         if (!$surveyType) {next;}
 
-        $batchId = $ippToPspsDb->getNewBatchId($expId, $surveyType, $batchType);
+        $batchId = $ippToPspsDb->createNewBatch($expId, $distGroup, $pspsBatchType, $dvoDb, (defined $datastoreProduct) ? $datastoreProduct : "NONE");
 
         # TODO quit here if no sensible batch ID
@@ -208,5 +216,5 @@
             }
 
-            $ippToPspsDb->updateDb($batchId, $expId, 1, $published, $totalDetections);
+            $ippToPspsDb->updateBatch($batchId, $expId, 1, $published, $totalDetections, $minObjId, $maxObjId);
         }
 
@@ -361,12 +369,4 @@
     my $timeStamp = sprintf "%4d-%02d-%02d %02d:%02d:%02d", $year+1900,$mon+1,$mday,$hour,$min,$sec;
 
-    # determine batch 'type'
-    my $type;
-    if ($batchType eq 'init') {$type = "IN";}
-    elsif ($batchType eq 'det') {$type = "P2";}
-    elsif ($batchType eq 'stack') {$type = "ST";}
-    elsif ($batchType eq 'diff') {$type = "OB";}
-    else {$type = "UNKNOWN";}
-
     # create XML file
     my $writer = new XML::Writer(OUTPUT => $output, DATA_MODE => 1, DATA_INDENT=>2);
@@ -403,5 +403,5 @@
                 $writer->startTag('manifest',
                         "name" => "$batch",
-                        "type" => $type,
+                        "type" => $pspsBatchType,
                         "survey" => $pspsSurvey,
                         "timestamp" => "$timeStamp",
@@ -413,5 +413,5 @@
                 $writer->startTag('manifest',
                         "name" => "$batch",
-                        "type" => $type,
+                        "type" => $pspsBatchType,
                         "timestamp" => "$timeStamp");
             }
