Index: trunk/ippTools/src/difftool.c
===================================================================
--- trunk/ippTools/src/difftool.c	(revision 26958)
+++ trunk/ippTools/src/difftool.c	(revision 26969)
@@ -1965,4 +1965,5 @@
   }
 
+  psArray *list = psArrayAllocEmpty(16); // List of runs defined, to print
   for (long i = 0; i < output->n; i++) {
     psMetadata *row = output->data[i]; // Output row from query
@@ -2052,5 +2053,5 @@
       return false;
     }
-    //    diffRunPrintObject(stdout,run,1);
+/*     diffRunPrintObject(stdout,run,1); */
     run->diff_id = psDBLastInsertID(config->dbh);
     for (long j = 0; j < diff_id_output->n; j++) {
@@ -2082,5 +2083,5 @@
       }
 
-      //      diffInputSkyfilePrintObject(stdout,input,1);
+/*       diffInputSkyfilePrintObject(stdout,input,1); */
       psFree(input);
     }
@@ -2092,4 +2093,5 @@
         psFree(diffQuery);
         psFree(run);
+	psFree(list);
         if (!psDBRollback(config->dbh)) {
             psError(PS_ERR_UNKNOWN, false, "database error");
@@ -2097,7 +2099,20 @@
         return false;
     }
-
+    psArrayAdd(list, list->n, run);
     psFree(run);
   }
+
+  if (!psDBCommit(config->dbh)) {
+    psError(PS_ERR_UNKNOWN, false, "database error");
+    psFree(list);
+    return false;
+  }
+  
+  if (!diffRunPrintObjects(stdout, list, !simple)) {
+    psError(PS_ERR_UNKNOWN, false, "failed to print object");
+    psFree(list);
+    return false;
+  }
+  
   psFree(query);
   psFree(stack1Query);
@@ -2105,4 +2120,5 @@
   psFree(diffQuery);
   psFree(output);
+  psFree(list);
 
   return(true);
