Index: trunk/psLib/src/db/psDB.c
===================================================================
--- trunk/psLib/src/db/psDB.c	(revision 10101)
+++ trunk/psLib/src/db/psDB.c	(revision 10108)
@@ -12,6 +12,6 @@
  *  @author Joshua Hoblitt
  *
- *  @version $Revision: 1.114 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-11-17 22:06:57 $
+ *  @version $Revision: 1.115 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-11-20 20:57:51 $
  *
  *  Copyright (C) 2005-2006  Joshua Hoblitt, University of Hawaii
@@ -1784,5 +1784,5 @@
     char            *key;               // hash tmp value
     char            *value;             // hash tmp value
-    char            *sqlType;           // copy of lookup table result
+    psString        sqlType;            // copy of lookup table result
     psU32           pType;              // psElemType of a field
 
@@ -1791,5 +1791,5 @@
     // lookup MySQL column type
     key     = psDBIntToString((psU64)type);
-    sqlType = psHashLookup(mysqlToSQLTable, key);
+    sqlType = psMemIncrRefCounter(psHashLookup(mysqlToSQLTable, key));
     psFree(key);
 
@@ -1804,8 +1804,11 @@
     // mysql -> ascii -> ptype
     if (flags & UNSIGNED_FLAG) {
-        psStringPrepend(&sqlType, "UNSIGNED ");
-    }
-
-    //psLogMsg( __func__, PS_LOG_INFO, "sqlType=[%s]\n", sqlType );
+        psString new = NULL;
+        psStringAppend(&new, "%s UNSIGNED", sqlType);
+        psFree(sqlType);
+        sqlType = new;
+    }
+
+    //psTrace("psLib.db", 9, "sqlType=[%s]\n", sqlType );
 
     // convert MySQL type to PS type
@@ -1814,8 +1817,9 @@
 
     if (!value) {
-        psError(PS_ERR_UNEXPECTED_NULL, true, "type lookup failed.");
-
+        psError(PS_ERR_UNEXPECTED_NULL, true, "type lookup of %s failed.", sqlType);
+        psFree(sqlType);
         return 0;
     }
+    psFree(sqlType);
 
     pType = (psU32)atol(value);
