Index: branches/cleanup/ippTools/src/faketoolConfig.c
===================================================================
--- branches/cleanup/ippTools/src/faketoolConfig.c	(revision 18153)
+++ branches/cleanup/ippTools/src/faketoolConfig.c	(revision 18357)
@@ -47,6 +47,6 @@
     psMetadata *queueArgs = psMetadataAlloc();
     // XXX need to allow multiple exp_ids
-    psMetadataAddStr(queueArgs, PS_LIST_TAIL, "-exp_id",  0,
-            "search by exp_id", NULL);
+    psMetadataAddS64(queueArgs, PS_LIST_TAIL, "-exp_id",  0,
+            "search by exp_id", 0);
     psMetadataAddStr(queueArgs, PS_LIST_TAIL, "-exp_name",  0,
             "search by exp_name", NULL);
@@ -145,8 +145,8 @@
     // -updaterun
     psMetadata *updaterunArgs = psMetadataAlloc();
-    psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-fake_id", 0,
-            "search by fake ID", NULL);
-    psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-exp_id",  0,
-            "search by exp_id", NULL);
+    psMetadataAddS64(updaterunArgs, PS_LIST_TAIL, "-fake_id", 0,
+            "search by fake ID", 0);
+    psMetadataAddS64(updaterunArgs, PS_LIST_TAIL, "-exp_id",  0,
+            "search by exp_id", 0);
     psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-exp_name",  0,
             "search by exp_name", NULL);
@@ -231,11 +231,10 @@
             "allow everything to be queued without search terms", false);
 
-
     // -pendingexp
     psMetadata *pendingexpArgs = psMetadataAlloc();
-    psMetadataAddStr(pendingexpArgs, PS_LIST_TAIL, "-cam_id", 0,
-            "search by camtool ID", NULL);
-    psMetadataAddStr(pendingexpArgs, PS_LIST_TAIL, "-chip_id", 0,
-            "search by chiptool ID", NULL);
+    psMetadataAddS64(pendingexpArgs, PS_LIST_TAIL, "-cam_id", 0,
+            "search by camtool ID", 0);
+    psMetadataAddS64(pendingexpArgs, PS_LIST_TAIL, "-chip_id", 0,
+            "search by chiptool ID", 0);
     psMetadataAddU64(pendingexpArgs, PS_LIST_TAIL, "-limit",  0,
             "limit result set to N items", 0);
@@ -245,8 +244,8 @@
     // -pendingimfile
     psMetadata *pendingimfileArgs = psMetadataAlloc();
-    psMetadataAddStr(pendingimfileArgs, PS_LIST_TAIL, "-fake_id",  0,
-            "search by fake ID", NULL);
-    psMetadataAddStr(pendingimfileArgs, PS_LIST_TAIL, "-exp_id",  0,
-            "search by exposure ID", NULL);
+    psMetadataAddS64(pendingimfileArgs, PS_LIST_TAIL, "-fake_id",  0,
+            "search by fake ID", 0);
+    psMetadataAddS64(pendingimfileArgs, PS_LIST_TAIL, "-exp_id",  0,
+            "search by exposure ID", 0);
     psMetadataAddStr(pendingimfileArgs, PS_LIST_TAIL, "-class_id",  0,
             "search by class ID", NULL);
@@ -262,8 +261,8 @@
     // -addprocessedimfile
     psMetadata *addprocessedimfileArgs = psMetadataAlloc();
-    psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-fake_id",  0,
-            "define fake ID (required)", NULL);
-    psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-exp_id",  0,
-            "define exposure ID (required)", NULL);
+    psMetadataAddS64(addprocessedimfileArgs, PS_LIST_TAIL, "-fake_id",  0,
+            "define fake ID (required)", 0);
+    psMetadataAddS64(addprocessedimfileArgs, PS_LIST_TAIL, "-exp_id",  0,
+            "define exposure ID (required)", 0);
     psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-class_id",  0,
             "define class ID (required)", NULL);
@@ -281,8 +280,8 @@
     // -processedimfile
     psMetadata *processedimfileArgs = psMetadataAlloc();
-    psMetadataAddStr(processedimfileArgs, PS_LIST_TAIL, "-fake_id",  0,
-            "define fake ID", NULL);
-    psMetadataAddStr(processedimfileArgs, PS_LIST_TAIL, "-exp_id",  0,
-            "define exposure ID", NULL);
+    psMetadataAddS64(processedimfileArgs, PS_LIST_TAIL, "-fake_id",  0,
+            "define fake ID", 0);
+    psMetadataAddS64(processedimfileArgs, PS_LIST_TAIL, "-exp_id",  0,
+            "define exposure ID", 0);
     psMetadataAddStr(processedimfileArgs, PS_LIST_TAIL, "-class_id",  0,
             "define class ID", NULL);
@@ -300,8 +299,8 @@
     // -updateprocessedimfile
     psMetadata *updateprocessedimfileArgs = psMetadataAlloc();
-    psMetadataAddStr(updateprocessedimfileArgs, PS_LIST_TAIL, "-fake_id",  0,
-            "search by fake ID", NULL);
-    psMetadataAddStr(updateprocessedimfileArgs, PS_LIST_TAIL, "-exp_id",  0,
-            "search by exposure ID", NULL);
+    psMetadataAddS64(updateprocessedimfileArgs, PS_LIST_TAIL, "-fake_id",  0,
+            "search by fake ID", 0);
+    psMetadataAddS64(updateprocessedimfileArgs, PS_LIST_TAIL, "-exp_id",  0,
+            "search by exposure ID", 0);
     psMetadataAddStr(updateprocessedimfileArgs, PS_LIST_TAIL, "-class_id",  0,
             "search by class ID", NULL);
@@ -311,8 +310,8 @@
     // -revertprocessedimfile
     psMetadata *revertprocessedimfileArgs = psMetadataAlloc();
-    psMetadataAddStr(revertprocessedimfileArgs, PS_LIST_TAIL, "-fake_id", 0,
-            "search by fake ID", NULL);
-    psMetadataAddStr(revertprocessedimfileArgs, PS_LIST_TAIL, "-exp_id",  0,
-            "search by exp_id", NULL);
+    psMetadataAddS64(revertprocessedimfileArgs, PS_LIST_TAIL, "-fake_id", 0,
+            "search by fake ID", 0);
+    psMetadataAddS64(revertprocessedimfileArgs, PS_LIST_TAIL, "-exp_id",  0,
+            "search by exp_id", 0);
     psMetadataAddStr(revertprocessedimfileArgs, PS_LIST_TAIL, "-exp_name",  0,
             "search by exp_name", NULL);
@@ -458,5 +457,5 @@
 
     // define Database handle, if used
-    config->dbh = pmConfigDB(config->modules);
+    config->dbh = psMemIncrRefCounter(pmConfigDB(config->modules));
     if (!config->dbh) {
         psError(PS_ERR_UNKNOWN, false, "Can't configure database");
