Index: /trunk/Ohana/src/libdvo/src/dvo_catalog_mef.c
===================================================================
--- /trunk/Ohana/src/libdvo/src/dvo_catalog_mef.c	(revision 20981)
+++ /trunk/Ohana/src/libdvo/src/dvo_catalog_mef.c	(revision 20982)
@@ -30,8 +30,14 @@
   /* the OBJID is a counter that uniquely defines an average entry and never changes.  if
      it is not defined for a legacy database, we can generate them using the existing index values.
-     XXX if it is missing, give an error and require the user to upgrade the DB? */
-  if (!gfits_scan (&catalog[0].header, "OBJID",    "%d", 1, &catalog[0].objID)) return (FALSE);
-  if (!gfits_scan (&catalog[0].header, "CATID",    "%d", 1, &catalog[0].catID)) return (FALSE);
-
+     If it is missing, give a warning and recommend the user upgrade the DB */
+  if (!gfits_scan (&catalog[0].header, "OBJID",    "%d", 1, &catalog[0].objID)) {
+    if (VERBOSE) fprintf (stderr, "WARNING: OBJID is not set for %s: upgrade for full feature set\n", catalog[0].filename);
+    catalog[0].objID = 0;
+  }
+  if (!gfits_scan (&catalog[0].header, "CATID",    "%d", 1, &catalog[0].catID)) {
+    if (VERBOSE) fprintf (stderr, "WARNING: CATID is not set for %s: upgrade for full feature set\n", catalog[0].filename);
+    catalog[0].catID = 0;
+  }
+  
   /* save the current number so we can do partial updates */
   catalog[0].Naves_disk = Naverage;
Index: /trunk/Ohana/src/libdvo/src/dvo_catalog_raw.c
===================================================================
--- /trunk/Ohana/src/libdvo/src/dvo_catalog_raw.c	(revision 20981)
+++ /trunk/Ohana/src/libdvo/src/dvo_catalog_raw.c	(revision 20982)
@@ -28,7 +28,13 @@
   /* the OBJID is a counter that uniquely defines an average entry and never changes.  if
      it is not defined for a legacy database, we can generate them using the existing index values.
-     XXX if it is missing, give an error and require the user to upgrade the DB? */
-  if (!gfits_scan (&catalog[0].header, "OBJID",    "%d", 1, &catalog[0].objID)) return (FALSE);
-  if (!gfits_scan (&catalog[0].header, "CATID",    "%d", 1, &catalog[0].catID)) return (FALSE);
+     If it is missing, give a warning and recommend the user upgrade the DB */
+  if (!gfits_scan (&catalog[0].header, "OBJID",    "%d", 1, &catalog[0].objID)) {
+    if (VERBOSE) fprintf (stderr, "WARNING: OBJID is not set for this database: upgrade for full feature set\n");
+    catalog[0].objID = 0;
+  }
+  if (!gfits_scan (&catalog[0].header, "CATID",    "%d", 1, &catalog[0].catID)) {
+    if (VERBOSE) fprintf (stderr, "WARNING: CATID is not set for this database: upgrade for full feature set\n");
+    catalog[0].catID = 0;
+  }
 
   /* determine catalog format */
Index: /trunk/Ohana/src/libdvo/src/dvo_catalog_split.c
===================================================================
--- /trunk/Ohana/src/libdvo/src/dvo_catalog_split.c	(revision 20981)
+++ /trunk/Ohana/src/libdvo/src/dvo_catalog_split.c	(revision 20982)
@@ -177,7 +177,13 @@
   /* the OBJID is a counter that uniquely defines an average entry and never changes.  if
      it is not defined for a legacy database, we can generate them using the existing index values.
-     XXX if it is missing, give an error and require the user to upgrade the DB? */
-  if (!gfits_scan (&catalog[0].header, "OBJID",    "%d", 1, &catalog[0].objID)) return (FALSE);
-  if (!gfits_scan (&catalog[0].header, "CATID",    "%d", 1, &catalog[0].catID)) return (FALSE);
+     If it is missing, give a warning and recommend the user upgrade the DB */
+  if (!gfits_scan (&catalog[0].header, "OBJID",    "%d", 1, &catalog[0].objID)) {
+    if (VERBOSE) fprintf (stderr, "WARNING: OBJID is not set for this database: upgrade for full feature set\n");
+    catalog[0].objID = 0;
+  }
+  if (!gfits_scan (&catalog[0].header, "CATID",    "%d", 1, &catalog[0].catID)) {
+    if (VERBOSE) fprintf (stderr, "WARNING: CATID is not set for this database: upgrade for full feature set\n");
+    catalog[0].catID = 0;
+  }
 
   /* save the current number so we can do partial updates */
