Index: /trunk/archive/psdb/psDB.c
===================================================================
--- /trunk/archive/psdb/psDB.c	(revision 3223)
+++ /trunk/archive/psdb/psDB.c	(revision 3224)
@@ -8,6 +8,6 @@
  *  @author Joshua Hoblitt
  *
- *  @version $Revision: 1.25 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2005-02-15 07:28:50 $
+ *  @version $Revision: 1.26 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2005-02-15 07:57:53 $
  *
  *  Copyright 2005 Joshua Hoblitt, University of Hawaii
@@ -352,5 +352,4 @@
     psArray         *resultSet;         // return array
     int             i;                  // field index
-    psMetadataItem  *item;              // field of a row
     psMetadata      *md;                // a row
     psHash          *mysqlToSQLTable;   // type lookup table
@@ -448,7 +447,5 @@
 
             // add new field to row
-            item = psMetadataItemAlloc(field[i].name, pType, type, NULL, data);
-            psMetadataAddItem(md, item, i);
-            psFree(item);
+            psMetadataAdd(md, i, field[i].name, pType, type, NULL, data);
 
             psFree(data);
@@ -592,5 +589,4 @@
     psU32           fieldCount;
     psMetadata      *table;
-    psMetadataItem  *item;
     psU32           pType;
     psU32           i;
@@ -615,16 +611,12 @@
             // PS_META_UNKNOWN -> PS_META_ARRAY ?
             column = psDBSelectColumn(dbh, tableName, field[i].name, 0);
-            item = psMetadataItemAlloc(field[i].name, PS_TYPE_PTR, PS_META_UNKNOWN, "psArray", column);
-            psMetadataAddItem(table, item, 0);
+            psMetadataAdd(table, 0, field[i].name, PS_TYPE_PTR, PS_META_UNKNOWN, "psArray", column);
             // FIXME
             //psFree(column);
-            psFree(item);
         } else {
             column = psDBSelectColumnNum(dbh, tableName, field[i].name, pType, 0);
-            item = psMetadataItemAlloc(field[i].name, PS_TYPE_PTR, PS_META_VEC, "psVector", column);
-            psMetadataAddItem(table, item, 0);
+            psMetadataAdd(table, 0, field[i].name, PS_TYPE_PTR, PS_META_VEC, "psVector", column);
             // FIXME
             //psFree(column);
-            psFree(item);
         }
     }
Index: /trunk/archive/psdb/test.c
===================================================================
--- /trunk/archive/psdb/test.c	(revision 3223)
+++ /trunk/archive/psdb/test.c	(revision 3224)
@@ -30,19 +30,10 @@
     {
         psMetadata      *md;
-        psMetadataItem  *item;
-
-        md = psMetadataAlloc();
-        item = psMetadataItemAlloc("foo", PS_TYPE_S32, PS_META_PRIMITIVE, "Primary Key"); 
-        psMetadataAddItem(md, item, 0);
-        psFree(item);
-        item = psMetadataItemAlloc("bar", PS_TYPE_BOOL,PS_META_PRIMITIVE, "Key"); 
-        psMetadataAddItem(md, item, 1);
-        psFree(item);
-        item = psMetadataItemAlloc("baz", PS_TYPE_F64, PS_META_PRIMITIVE, NULL);
-        psMetadataAddItem(md, item, 2);
-        psFree(item);
-        item = psMetadataItemAlloc("boing", PS_TYPE_PTR, PS_META_STR, NULL, "60");
-        psMetadataAddItem(md, item, 3);
-        psFree(item);
+
+        md = psMetadataAlloc();
+        psMetadataAdd(md, 0, "foo", PS_TYPE_S32, PS_META_PRIMITIVE, "Primary Key"); 
+        psMetadataAdd(md, 1, "bar", PS_TYPE_BOOL,PS_META_PRIMITIVE, "Key"); 
+        psMetadataAdd(md, 2, "baz", PS_TYPE_F64, PS_META_PRIMITIVE, NULL);
+        psMetadataAdd(md, 3, "boing", PS_TYPE_PTR, PS_META_STR, NULL, "60");
 
         OK(psDBCreateTable(dbh, "bar", md), "psDBCreateTable()");
@@ -56,11 +47,10 @@
     {
         psMetadata      *md;
-        psMetadataItem  *item;
-
-        md = psMetadataAlloc();
-        item = psMetadataItemAlloc("hair", PS_TYPE_F32, PS_META_PRIMITIVE, NULL);
-        psMetadataAddItem(md, item, 0);
-        psFree(item);
+
+        md = psMetadataAlloc();
+        psMetadataAdd(md, 0, "hair", PS_TYPE_F32, PS_META_PRIMITIVE, NULL);
+
         psDBCreateTable(dbh, "yak", md);
+
         psFree(md);
     }
@@ -69,11 +59,10 @@
     {
         psMetadata      *md;
-        psMetadataItem  *item;
-
-        md = psMetadataAlloc();
-        item = psMetadataItemAlloc("color", PS_TYPE_PTR, PS_META_STR, NULL, "100");
-        psMetadataAddItem(md, item, 3);
-        psFree(item);
+
+        md = psMetadataAlloc();
+        psMetadataAdd(md, 0, "color", PS_TYPE_PTR, PS_META_STR, NULL, "100");
+
         psDBCreateTable(dbh, "horse", md);
+
         psFree(md);
     }
@@ -122,7 +111,5 @@
 
         md = psMetadataAlloc();
-        item = psMetadataItemAlloc("color", PS_TYPE_PTR, PS_META_STR, NULL, "red"); 
-        psMetadataAddItem(md, item, 0);
-        psFree(item);
+        psMetadataAdd(md, 0, "color", PS_TYPE_PTR, PS_META_STR, NULL, "red"); 
 
         resultSet = psDBSelectRows(dbh, "horse", md);
@@ -150,10 +137,7 @@
     {
         psMetadata      *md;
-        psMetadataItem  *item;
-
-        md = psMetadataAlloc();
-        item = psMetadataItemAlloc("color", PS_TYPE_PTR, PS_META_STR, NULL, "brown"); 
-        psMetadataAddItem(md, item, 0);
-        psFree(item);
+
+        md = psMetadataAlloc();
+        psMetadataAdd(md, 0, "color", PS_TYPE_PTR, PS_META_STR, NULL, "brown"); 
 
         OK(psDBInsertOneRow(dbh, "horse", md),"psDBInsertOneRow()");
@@ -166,5 +150,4 @@
         psArray         *rowSet;
         psMetadata      *row;
-        psMetadataItem  *field;
 
         rowSet = psArrayAlloc(3);
@@ -172,23 +155,20 @@
 
         row = psMetadataAlloc();
-        field = psMetadataItemAlloc("color", PS_TYPE_PTR, PS_META_STR, NULL, "brown"); 
-        psMetadataAddItem(row, field, 0);
-        psFree(field);
+        psMetadataAdd(row, 0, "color", PS_TYPE_PTR, PS_META_STR, NULL, "brown"); 
         psArrayAdd(rowSet, 0, row);
-//        psFree(row);
+        // FIXME
+        // psFree(row);
 
         row = psMetadataAlloc();
-        field = psMetadataItemAlloc("color", PS_TYPE_PTR, PS_META_STR, NULL, ""); 
-        psMetadataAddItem(row, field, 0);
-        psFree(field);
+        psMetadataAdd(row, 0, "color", PS_TYPE_PTR, PS_META_STR, NULL, ""); 
         psArrayAdd(rowSet, 0, row);
-//        psFree(row);
+        // FIXME
+        // psFree(row);
 
         row = psMetadataAlloc();
-        field = psMetadataItemAlloc("color", PS_TYPE_PTR, PS_META_STR, NULL, "pink"); 
-        psMetadataAddItem(row, field, 0);
-        psFree(field);
+        psMetadataAdd(row, 0, "color", PS_TYPE_PTR, PS_META_STR, NULL, "pink"); 
         psArrayAdd(rowSet, 0, row);
-//        psFree(row);
+        // FIXME
+        // psFree(row);
 
         OK(psDBInsertRows(dbh, "horse", rowSet), "psDBInsertRows()");
@@ -229,16 +209,11 @@
         psMetadata      *where;
         psMetadata      *value;
-        psMetadataItem  *item;
         psU64           rowsAffected;
 
         where = psMetadataAlloc();
-        item = psMetadataItemAlloc("color", PS_TYPE_PTR, PS_META_STR, NULL, "pink"); 
-        psMetadataAddItem(where, item, 0);
-        psFree(item);
+        psMetadataAdd(where, 0, "color", PS_TYPE_PTR, PS_META_STR, NULL, "pink"); 
 
         value = psMetadataAlloc();
-        item = psMetadataItemAlloc("color", PS_TYPE_PTR, PS_META_STR, NULL, "HOT pink"); 
-        psMetadataAddItem(value, item, 0);
-        psFree(item);
+        psMetadataAdd(value, 0, "color", PS_TYPE_PTR, PS_META_STR, NULL, "HOT pink"); 
 
         rowsAffected = psDBUpdateRows(dbh, "horse", where, value);
