Index: trunk/ippTools/src/warptool.c
===================================================================
--- trunk/ippTools/src/warptool.c	(revision 17782)
+++ trunk/ippTools/src/warptool.c	(revision 17789)
@@ -525,4 +525,7 @@
 
     PXOPT_LOOKUP_STR(mapfile, config->args, "-mapfile", false, false);
+    PXOPT_LOOKUP_STR(warp_id, config->args, "-warp_id", false, false);
+    PXOPT_LOOKUP_STR(cam_id, config->args, "-cam_id", false, false);
+    PXOPT_LOOKUP_S16(code, config->args, "-code", false, false);
 
     if (!psDBTransaction(config->dbh)) {
@@ -531,11 +534,16 @@
     }
 
-    if (!parseAndInsertSkyCellMap(config, mapfile)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to inject mapfile: %s into the database", mapfile);
-        // rollback
-        if (!psDBRollback(config->dbh)) {
-            psError(PS_ERR_UNKNOWN, false, "database error");
-        }
-        return false;
+    if (code == 0) {
+        if (!parseAndInsertSkyCellMap(config, mapfile)) {
+            psError(PS_ERR_UNKNOWN, false, "failed to inject mapfile: %s into the database", mapfile);
+            // rollback
+            if (!psDBRollback(config->dbh)) {
+                psError(PS_ERR_UNKNOWN, false, "database error");
+            }
+            return false;
+        }
+    } else {
+        warpSkyCellMapInsert(config->dbh, (psS64)atoll(warp_id), NULL, NULL,
+                             (psS64)atoll(cam_id), NULL, code);
     }
 
