Index: trunk/ippTools/src/stacktool.c
===================================================================
--- trunk/ippTools/src/stacktool.c	(revision 18676)
+++ trunk/ippTools/src/stacktool.c	(revision 18680)
@@ -243,4 +243,5 @@
     }
 
+    psArray *list = psArrayAllocEmpty(16); // List of runs, to print
     for (long i = 0; i < output->n; i++) {
         psMetadata *row = output->data[i]; // Row from select
@@ -253,4 +254,5 @@
             psFree(output);
             psFree(insert);
+            psFree(list);
             if (!psDBRollback(config->dbh)) {
                 psError(PS_ERR_UNKNOWN, false, "database error");
@@ -264,4 +266,5 @@
             psFree(output);
             psFree(insert);
+            psFree(list);
             if (!psDBRollback(config->dbh)) {
                 psError(PS_ERR_UNKNOWN, false, "database error");
@@ -275,4 +278,5 @@
             psFree(output);
             psFree(insert);
+            psFree(list);
             if (!psDBRollback(config->dbh)) {
                 psError(PS_ERR_UNKNOWN, false, "database error");
@@ -291,4 +295,5 @@
             psFree(run);
             psFree(insert);
+            psFree(list);
             if (!psDBRollback(config->dbh)) {
                 psError(PS_ERR_UNKNOWN, false, "database error");
@@ -301,13 +306,5 @@
         run->stack_id = stack_id;
 
-        if (!stackRunPrintObject(stdout, run, !simple)) {
-            psError(PS_ERR_UNKNOWN, false, "failed to print object");
-            psFree(run);
-            psFree(insert);
-            if (!psDBRollback(config->dbh)) {
-                psError(PS_ERR_UNKNOWN, false, "database error");
-            }
-            return false;
-        }
+        psArrayAdd(list, list->n, row);
         psFree(run);
 
@@ -326,4 +323,5 @@
             psFree(insert);
             psFree(output);
+            psFree(list);
             if (!psDBRollback(config->dbh)) {
                 psError(PS_ERR_UNKNOWN, false, "database error");
@@ -333,11 +331,17 @@
         psFree(thisInsert);
     }
+    psFree(output);
 
     if (!psDBCommit(config->dbh)) {
         psError(PS_ERR_UNKNOWN, false, "database error");
-        return false;
-    }
-
-    psFree(output);
+        psFree(list);
+        return false;
+    }
+
+    if (!stackRunPrintObjects(stdout, list, !simple)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to print object");
+        return false;
+    }
+
 
     return true;
