Index: trunk/psLib/test/dataIO/.cvsignore
===================================================================
--- trunk/psLib/test/dataIO/.cvsignore	(revision 3684)
+++ trunk/psLib/test/dataIO/.cvsignore	(revision 3690)
@@ -6,4 +6,5 @@
 temp
 tst_psLookupTable_01
+tst_psDB
 tst_psFits
 multi.fits
Index: trunk/psLib/test/dataIO/Makefile.am
===================================================================
--- trunk/psLib/test/dataIO/Makefile.am	(revision 3684)
+++ trunk/psLib/test/dataIO/Makefile.am	(revision 3690)
@@ -2,4 +2,6 @@
 #
 EXTRA_DIST = verified
+
+EXTRA_PROGRAMS = tst_psDB
 
 INCLUDES = \
@@ -18,5 +20,6 @@
 TESTS = \
 	tst_psLookupTable_01 \
-	tst_psFits
+	tst_psFits \
+	@TST_PSDB@
 
 check_PROGRAMS = $(TESTS)
@@ -32,4 +35,5 @@
 tst_psLookupTable_01_SOURCES =  tst_psLookupTable_01.c
 tst_psFits_SOURCES =  tst_psFits.c
+tst_psDB_SOURCES = tst_psDB.c
 
 %.dat: verified/%.dat
Index: trunk/psLib/test/dataIO/verified/tst_psDB.stderr
===================================================================
--- trunk/psLib/test/dataIO/verified/tst_psDB.stderr	(revision 3690)
+++ trunk/psLib/test/dataIO/verified/tst_psDB.stderr	(revision 3690)
@@ -0,0 +1,305 @@
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psDB.c                                                 *
+*            TestPoint: psDB{dbInit}                                               *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+<DATE><TIME>|<HOST>|I|TPDBInit
+    psDBInit/psDBCleanup shall initialize/cleanup database connection.
+<DATE><TIME>|<HOST>|I|_init_psDB
+    initialize database connection...
+
+---> TESTPOINT PASSED (psDB{dbInit} | tst_psDB.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psDB.c                                                 *
+*            TestPoint: psDB{dbChange}                                             *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+<DATE><TIME>|<HOST>|I|_init_psDB
+    initialize database connection...
+<DATE><TIME>|<HOST>|I|TPDBChange
+    psDBChange shall change to a new test database.
+
+---> TESTPOINT PASSED (psDB{dbChange} | tst_psDB.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psDB.c                                                 *
+*            TestPoint: psDB{dbCreateTable}                                        *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+<DATE><TIME>|<HOST>|I|_init_psDB
+    initialize database connection...
+<DATE><TIME>|<HOST>|I|TPDBCreateTable
+    psDBCreateTable shall create a new table in the new test database.
+
+---> TESTPOINT PASSED (psDB{dbCreateTable} | tst_psDB.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psDB.c                                                 *
+*            TestPoint: psDB{dbDropTable}                                          *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+<DATE><TIME>|<HOST>|I|_init_psDB
+    initialize database connection...
+<DATE><TIME>|<HOST>|I|TPDBDropTable
+    psDBDropTable shall create/drop a new table in the new test database.
+<DATE><TIME>|<HOST>|I|TPDBDropTable
+    psDBDropTable: insert should fail here...
+<DATE><TIME>|<HOST>|E|psDBInsertRows (FILE:LINENO)
+    Failed to prepare query.  Error: Table 'test.table2' doesn't exist
+<DATE><TIME>|<HOST>|E|psDBInsertOneRow (FILE:LINENO)
+    Insert failed.
+
+---> TESTPOINT PASSED (psDB{dbDropTable} | tst_psDB.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psDB.c                                                 *
+*            TestPoint: psDB{dbSelectColumn}                                       *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+<DATE><TIME>|<HOST>|I|_init_psDB
+    initialize database connection...
+<DATE><TIME>|<HOST>|I|TPDBSelectColumn
+    psDBSelectColumn shall select data from a test table.
+<DATE><TIME>|<HOST>|I|TPDBSelectColumn
+    psDBSelectColumn: [hello world!]
+<DATE><TIME>|<HOST>|I|TPDBSelectColumn
+    psDBSelectColumn: [hello world!]
+<DATE><TIME>|<HOST>|I|TPDBSelectColumn
+    psDBSelectColumn: [hello world!]
+<DATE><TIME>|<HOST>|I|TPDBSelectColumn
+    found expected string output.
+
+---> TESTPOINT PASSED (psDB{dbSelectColumn} | tst_psDB.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psDB.c                                                 *
+*            TestPoint: psDB{dbSelectColumnNum}                                    *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+<DATE><TIME>|<HOST>|I|_init_psDB
+    initialize database connection...
+<DATE><TIME>|<HOST>|I|TPDBSelectColumnNum
+    psDBSelectColumnNum shall select data from a test table.
+<DATE><TIME>|<HOST>|I|TPDBSelectColumnNum
+    str=[1974]
+<DATE><TIME>|<HOST>|I|TPDBSelectColumnNum
+    str=[1974]
+<DATE><TIME>|<HOST>|I|TPDBSelectColumnNum
+    str=[1974]
+<DATE><TIME>|<HOST>|I|TPDBSelectColumnNum
+    found expected S32 output.
+
+---> TESTPOINT PASSED (psDB{dbSelectColumnNum} | tst_psDB.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psDB.c                                                 *
+*            TestPoint: psDB{dbSelectRows}                                         *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+<DATE><TIME>|<HOST>|I|_init_psDB
+    initialize database connection...
+<DATE><TIME>|<HOST>|I|TPDBSelectRows
+    psDBSelectRows shall select data from a test table.
+<DATE><TIME>|<HOST>|I|_print_row
+    [key_string]=[hello world!]
+<DATE><TIME>|<HOST>|I|_print_row
+    [key_s32]=[1974]
+<DATE><TIME>|<HOST>|I|_print_row
+    [key_f32]=[3.14159]
+<DATE><TIME>|<HOST>|I|_print_row
+    [key_f64]=[2.71828]
+<DATE><TIME>|<HOST>|I|_print_row
+    [key_string]=[hello world!]
+<DATE><TIME>|<HOST>|I|_print_row
+    [key_s32]=[1974]
+<DATE><TIME>|<HOST>|I|_print_row
+    [key_f32]=[3.14159]
+<DATE><TIME>|<HOST>|I|_print_row
+    [key_f64]=[2.71828]
+<DATE><TIME>|<HOST>|I|_print_row
+    [key_string]=[hello world!]
+<DATE><TIME>|<HOST>|I|_print_row
+    [key_s32]=[1974]
+<DATE><TIME>|<HOST>|I|_print_row
+    [key_f32]=[3.14159]
+<DATE><TIME>|<HOST>|I|_print_row
+    [key_f64]=[2.71828]
+<DATE><TIME>|<HOST>|I|TPDBSelectRows
+    found expected output.
+
+---> TESTPOINT PASSED (psDB{dbSelectRows} | tst_psDB.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psDB.c                                                 *
+*            TestPoint: psDB{dbInsertOneRow}                                       *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+<DATE><TIME>|<HOST>|I|_init_psDB
+    initialize database connection...
+<DATE><TIME>|<HOST>|I|TPDBInsertOneRow
+    psDBInsertOneRow shall insert a row into a test table.
+
+---> TESTPOINT PASSED (psDB{dbInsertOneRow} | tst_psDB.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psDB.c                                                 *
+*            TestPoint: psDB{dbInsertRows}                                         *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+<DATE><TIME>|<HOST>|I|_init_psDB
+    initialize database connection...
+<DATE><TIME>|<HOST>|I|TPDBInsertRows
+    psDBInsertRows shall insert rows into a test table.
+<DATE><TIME>|<HOST>|I|_print_row
+    [key_string]=[hello world!]
+<DATE><TIME>|<HOST>|I|_print_row
+    [key_s32]=[1974]
+<DATE><TIME>|<HOST>|I|_print_row
+    [key_f32]=[3.14159]
+<DATE><TIME>|<HOST>|I|_print_row
+    [key_f64]=[2.71828]
+<DATE><TIME>|<HOST>|I|_print_row
+    [key_string]=[hello world!]
+<DATE><TIME>|<HOST>|I|_print_row
+    [key_s32]=[1974]
+<DATE><TIME>|<HOST>|I|_print_row
+    [key_f32]=[3.14159]
+<DATE><TIME>|<HOST>|I|_print_row
+    [key_f64]=[2.71828]
+<DATE><TIME>|<HOST>|I|_print_row
+    [key_string]=[hello world!]
+<DATE><TIME>|<HOST>|I|_print_row
+    [key_s32]=[1974]
+<DATE><TIME>|<HOST>|I|_print_row
+    [key_f32]=[3.14159]
+<DATE><TIME>|<HOST>|I|_print_row
+    [key_f64]=[2.71828]
+<DATE><TIME>|<HOST>|I|TPDBInsertRows
+    found expected output.
+
+---> TESTPOINT PASSED (psDB{dbInsertRows} | tst_psDB.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psDB.c                                                 *
+*            TestPoint: psDB{dbDumpRows}                                           *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+<DATE><TIME>|<HOST>|I|_init_psDB
+    initialize database connection...
+<DATE><TIME>|<HOST>|I|TPDBDumpRows
+    psDBDumpRows shall dump all rows from a test table.
+<DATE><TIME>|<HOST>|I|_print_row
+    [key_string]=[hello world!]
+<DATE><TIME>|<HOST>|I|_print_row
+    [key_s32]=[1974]
+<DATE><TIME>|<HOST>|I|_print_row
+    [key_f32]=[3.14159]
+<DATE><TIME>|<HOST>|I|_print_row
+    [key_f64]=[2.71828]
+<DATE><TIME>|<HOST>|I|_print_row
+    [key_string]=[hello world!]
+<DATE><TIME>|<HOST>|I|_print_row
+    [key_s32]=[1974]
+<DATE><TIME>|<HOST>|I|_print_row
+    [key_f32]=[3.14159]
+<DATE><TIME>|<HOST>|I|_print_row
+    [key_f64]=[2.71828]
+<DATE><TIME>|<HOST>|I|_print_row
+    [key_string]=[hello world!]
+<DATE><TIME>|<HOST>|I|_print_row
+    [key_s32]=[1974]
+<DATE><TIME>|<HOST>|I|_print_row
+    [key_f32]=[3.14159]
+<DATE><TIME>|<HOST>|I|_print_row
+    [key_f64]=[2.71828]
+<DATE><TIME>|<HOST>|I|TPDBDumpRows
+    found expected output.
+
+---> TESTPOINT PASSED (psDB{dbDumpRows} | tst_psDB.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psDB.c                                                 *
+*            TestPoint: psDB{dbDumpCols}                                           *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+<DATE><TIME>|<HOST>|I|_init_psDB
+    initialize database connection...
+<DATE><TIME>|<HOST>|I|TPDBDumpCols
+    psDBDumpCols shall dump all cols from a test table.
+<DATE><TIME>|<HOST>|I|_print_row
+    [key_string]=[]
+<DATE><TIME>|<HOST>|I|_print_row
+    [key_s32]=[0]
+<DATE><TIME>|<HOST>|I|_print_row
+    [key_f32]=[0]
+<DATE><TIME>|<HOST>|I|_print_row
+    [key_f64]=[0]
+
+---> TESTPOINT PASSED (psDB{dbDumpCols} | tst_psDB.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psDB.c                                                 *
+*            TestPoint: psDB{dbUpdateRows}                                         *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+<DATE><TIME>|<HOST>|I|_init_psDB
+    initialize database connection...
+<DATE><TIME>|<HOST>|I|TPDBUpdateRows
+    psDBUpdateRows shall update rows in a test table.
+<DATE><TIME>|<HOST>|I|_print_row
+    [key_string]=[foobar]
+<DATE><TIME>|<HOST>|I|_print_row
+    [key_s32]=[-18]
+<DATE><TIME>|<HOST>|I|_print_row
+    [key_f32]=[3.33]
+<DATE><TIME>|<HOST>|I|_print_row
+    [key_f64]=[1.23457]
+<DATE><TIME>|<HOST>|I|_print_row
+    [key_string]=[foobar]
+<DATE><TIME>|<HOST>|I|_print_row
+    [key_s32]=[-18]
+<DATE><TIME>|<HOST>|I|_print_row
+    [key_f32]=[3.33]
+<DATE><TIME>|<HOST>|I|_print_row
+    [key_f64]=[1.23457]
+<DATE><TIME>|<HOST>|I|_print_row
+    [key_string]=[foobar]
+<DATE><TIME>|<HOST>|I|_print_row
+    [key_s32]=[-18]
+<DATE><TIME>|<HOST>|I|_print_row
+    [key_f32]=[3.33]
+<DATE><TIME>|<HOST>|I|_print_row
+    [key_f64]=[1.23457]
+<DATE><TIME>|<HOST>|I|TPDBUpdateRows
+    found expected output.
+
+---> TESTPOINT PASSED (psDB{dbUpdateRows} | tst_psDB.c)
+
+/***************************** TESTPOINT ******************************************\
+*             TestFile: tst_psDB.c                                                 *
+*            TestPoint: psDB{dbDeleteRows}                                         *
+*             TestType: Positive                                                   *
+\**********************************************************************************/
+
+<DATE><TIME>|<HOST>|I|_init_psDB
+    initialize database connection...
+<DATE><TIME>|<HOST>|I|TPDBDeleteRows
+    psDBDeleteRows shall delete rows from a test table.
+<DATE><TIME>|<HOST>|I|TPDBDeleteRows
+    found expected empty table.
+
+---> TESTPOINT PASSED (psDB{dbDeleteRows} | tst_psDB.c)
+
