Index: trunk/psLib/src/db/psDB.c
===================================================================
--- trunk/psLib/src/db/psDB.c	(revision 7900)
+++ trunk/psLib/src/db/psDB.c	(revision 7975)
@@ -12,6 +12,6 @@
  *  @author Joshua Hoblitt
  *
- *  @version $Revision: 1.70 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-07-14 02:04:19 $
+ *  @version $Revision: 1.71 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-07-26 01:15:56 $
  *
  *  Copyright 2005 Joshua Hoblitt, University of Hawaii
@@ -71,4 +71,5 @@
 static psDBMysqlRow *psDBMysqlRowAlloc(psU32 paramCount);
 static void psDBMysqlRowFree(psDBMysqlRow *row);
+static void psDBMysqlRowRecycle(psDBMysqlRow *mysqlRow);
 
 // SQL generation functions
@@ -857,4 +858,6 @@
     for (long j = 0; j < rowSet->n; j++) {
         psMetadata *rowData = rowSet->data[j];
+
+        psDBMysqlRowRecycle(mysqlRow);
 
         if (!psDBPackMySQLRow(mysqlRow, rowData)) {
@@ -1175,4 +1178,15 @@
     MYSQL_BIND *bind = mysqlRow->bind;
 
+    psDBMysqlRowRecycle(mysqlRow);
+
+    psFree(bind);
+}
+
+static void psDBMysqlRowRecycle(psDBMysqlRow *mysqlRow)
+{
+    PS_ASSERT_PTR_NON_NULL(mysqlRow, );
+
+    MYSQL_BIND *bind = mysqlRow->bind;
+
     for (psU32 i = 0; i < mysqlRow->n; i++) {
         // buffer_length is only defined for pointers to character buffers
@@ -1182,6 +1196,4 @@
         }
     }
-
-    psFree(bind);
 }
 
