Index: trunk/ippTools/src/pxadmin.c
===================================================================
--- trunk/ippTools/src/pxadmin.c	(revision 23310)
+++ trunk/ippTools/src/pxadmin.c	(revision 25851)
@@ -2,5 +2,5 @@
  * pxadmin.c
  *
- * Copyright (C) 2006-2008  Joshua Hoblitt
+ * Copyright (C) 2006-2009  Joshua Hoblitt
  *
  * This program is free software; you can redistribute it and/or modify it
@@ -31,4 +31,5 @@
 bool createMirrorMode(pxConfig *config);
 bool deleteMode(pxConfig *config);
+static bool insert_dbversion(pxConfig * config, const char *versionString);
 static bool runMultipleStatments(pxConfig *config, const char *query);
 
@@ -113,4 +114,9 @@
     psFree(query);
 
+    if (!insert_dbversion(config, PACKAGE_VERSION)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to set database version");
+        return false;
+    }
+
     // COMMIT
     if (!psDBCommit(config->dbh)) {
@@ -148,4 +154,9 @@
     }
     psFree(query);
+
+    if (!insert_dbversion(config, PACKAGE_VERSION)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to set database version");
+        return false;
+    }
 
     // COMMIT
@@ -262,2 +273,35 @@
     return true;
 }
+
+#ifdef notdef
+static bool update_dbversion(pxConfig * config, const char *versionString)
+{
+    psString query = pxDataGet("pxadmin_update_version.sql");
+    if (!query) {
+        psError(PS_ERR_UNKNOWN, false, "failed to retrieve SQL statement");
+        psFree(query);
+        return false;
+    }
+    if (!p_psDBRunQueryF(config->dbh, query, versionString)) {
+        psError(PS_ERR_UNKNOWN, false, "database error");
+        psFree(query);
+        return false;
+    }
+    return true;
+}
+#endif
+static bool insert_dbversion(pxConfig * config, const char *versionString)
+{
+    psString query = "INSERT INTO dbversion VALUES('%s', CURRENT_TIMESTAMP())";
+    if (!query) {
+        psError(PS_ERR_UNKNOWN, false, "failed to retrieve SQL statement");
+        psFree(query);
+        return false;
+    }
+    if (!p_psDBRunQueryF(config->dbh, query, versionString)) {
+        psError(PS_ERR_UNKNOWN, false, "database error");
+        psFree(query);
+        return false;
+    }
+    return true;
+}
