Changeset 3180 for trunk/archive/psdb/test.c
- Timestamp:
- Feb 9, 2005, 4:29:07 PM (21 years ago)
- File:
-
- 1 edited
-
trunk/archive/psdb/test.c (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/archive/psdb/test.c
r3175 r3180 5 5 #include "psDB.h" 6 6 #include "psleak.h" 7 8 #define OK(test, name) \ 9 printf("%s... ", name); \ 10 test ? printf("OK\n") : printf("FAILED\n"); 7 11 8 12 int main (int argv, char **argc) … … 14 18 15 19 psDB *dbh; 16 psMetadata *md;17 psMetadataItem *item;18 psListIterator *cursor;19 psArray *column;20 psArray *resultSet;21 psVector *columnNum;22 int i;23 20 24 21 // open db 25 22 dbh = psDBInit("localhost", "test", NULL, "test"); 26 27 // psDBCreate(dbh, "foobar"); 28 // psDBChange(dbh, "foobar"); 29 // psDBDrop(dbh, "foobar"); 23 OK(dbh, "psDBInit()"); 24 25 OK(psDBCreate(dbh, "foobar"), "psDBCreate()"); 26 OK(psDBChange(dbh, "foobar"), "psDBChange()"); 27 OK(psDBDrop(dbh, "foobar"), "psDBDrop()"); 30 28 31 29 // psDBCreateTable() & psDBDropTable() 32 md = psMetadataAlloc(); 33 item = psMetadataItemAlloc("foo", PS_TYPE_S32, PS_META_PRIMITIVE, "Primary Key"); 34 psMetadataAddItem(md, item, 0); 35 psFree(item); 36 item = psMetadataItemAlloc("bar", PS_TYPE_BOOL,PS_META_PRIMITIVE, "Key"); 37 psMetadataAddItem(md, item, 1); 38 psFree(item); 39 item = psMetadataItemAlloc("baz", PS_TYPE_F64, PS_META_PRIMITIVE, NULL); 40 psMetadataAddItem(md, item, 2); 41 psFree(item); 42 item = psMetadataItemAlloc("boing", PS_TYPE_PTR, PS_META_STR, NULL, "60"); 43 psMetadataAddItem(md, item, 3); 44 psFree(item); 45 46 psDBCreateTable(dbh, "bar", md); 47 psDBDropTable(dbh, "bar"); 48 49 psFree(md); 30 { 31 psMetadata *md; 32 psMetadataItem *item; 33 34 md = psMetadataAlloc(); 35 item = psMetadataItemAlloc("foo", PS_TYPE_S32, PS_META_PRIMITIVE, "Primary Key"); 36 psMetadataAddItem(md, item, 0); 37 psFree(item); 38 item = psMetadataItemAlloc("bar", PS_TYPE_BOOL,PS_META_PRIMITIVE, "Key"); 39 psMetadataAddItem(md, item, 1); 40 psFree(item); 41 item = psMetadataItemAlloc("baz", PS_TYPE_F64, PS_META_PRIMITIVE, NULL); 42 psMetadataAddItem(md, item, 2); 43 psFree(item); 44 item = psMetadataItemAlloc("boing", PS_TYPE_PTR, PS_META_STR, NULL, "60"); 45 psMetadataAddItem(md, item, 3); 46 psFree(item); 47 48 OK(psDBCreateTable(dbh, "bar", md), "psDBCreateTable()"); 49 50 psFree(md); 51 52 OK(psDBDropTable(dbh, "bar"), "psDBDropTable()"); 53 } 50 54 51 // setup horses table for later tests 55 // setup horse table for later tests 56 { 57 psMetadata *md; 58 psMetadataItem *item; 59 60 md = psMetadataAlloc(); 61 item = psMetadataItemAlloc("hair", PS_TYPE_F32, PS_META_PRIMITIVE, NULL); 62 psMetadataAddItem(md, item, 0); 63 psFree(item); 64 psDBCreateTable(dbh, "yak", md); 65 psFree(md); 66 } 67 68 // setup yak table for later tests 52 69 { 53 70 psMetadata *md; … … 58 75 psMetadataAddItem(md, item, 3); 59 76 psFree(item); 60 psDBCreateTable(dbh, "horse s", md);77 psDBCreateTable(dbh, "horse", md); 61 78 psFree(md); 62 79 } 63 80 64 81 // psDBSelectColumn() 65 column = psDBSelectColumn(dbh, "horses", "color", 42); 66 for (i = 0; i < column->n; i++) { 67 printf("horse color is: %s\n", (char *)column->data[i]); 68 printf("length is: %d\n", (int)strlen(column->data[i])); 69 } 70 psFree(column); 82 { 83 psArray *column; 84 int i; 85 86 column = psDBSelectColumn(dbh, "horse", "color", 42); 87 OK(column, "psDBSelectColumn()"); 88 89 for (i = 0; i < column->n; i++) { 90 printf("horse color is: %s\n", (char *)column->data[i]); 91 printf("length is: %d\n", (int)strlen(column->data[i])); 92 } 93 94 psFree(column); 95 } 71 96 72 97 // psDBSelectColumnNum() 73 columnNum = psDBSelectColumnNum(dbh, "baz", "yak", PS_TYPE_F32, 42); 74 for (i = 0; i < columnNum->n; i++) { 75 printf("yak count is: %f\n", columnNum->data.F32[i]); 76 if (isnan(columnNum->data.F32[i])){ 77 printf("and it's a nan\n"); 98 { 99 psVector *column; 100 int i; 101 102 column = psDBSelectColumnNum(dbh, "yak", "hair", PS_TYPE_F32, 42); 103 OK(column, "psDBSelectColumnNum()"); 104 105 for (i = 0; i < column->n; i++) { 106 printf("yak count is: %f\n", column->data.F32[i]); 107 if (isnan(column->data.F32[i])){ 108 printf("and it's a nan\n"); 109 } 78 110 } 79 } 80 psFree(columnNum); 111 112 psFree(column); 113 } 81 114 82 115 // psDBSelectRows() 83 md = psMetadataAlloc(); 84 item = psMetadataItemAlloc("color", PS_TYPE_PTR, PS_META_STR, NULL, "red"); 85 psMetadataAddItem(md, item, 0); 86 psFree(item); 87 88 resultSet = psDBSelectRows(dbh, "horses", md); 89 psFree(md); 90 printf("row count is: %d\n", resultSet->n); 91 for (i = 0; i < resultSet->n; i++) { 92 md = (psMetadata *)resultSet->data[0]; 93 94 cursor = psListIteratorAlloc(md->list, 0); 95 96 while ((item = psListGetNext(cursor))) { 97 printf("colum name is: %s\n", item->name); 98 printf("data is: %s\n", (char *)item->data.V); 116 { 117 psMetadata *md; 118 psMetadataItem *item; 119 psArray *resultSet; 120 psListIterator *cursor; 121 int i; 122 123 md = psMetadataAlloc(); 124 item = psMetadataItemAlloc("color", PS_TYPE_PTR, PS_META_STR, NULL, "red"); 125 psMetadataAddItem(md, item, 0); 126 psFree(item); 127 128 resultSet = psDBSelectRows(dbh, "horse", md); 129 OK(resultSet, "psDBSelectRows()"); 130 131 psFree(md); 132 printf("row count is: %d\n", resultSet->n); 133 for (i = 0; i < resultSet->n; i++) { 134 md = (psMetadata *)resultSet->data[0]; 135 136 cursor = psListIteratorAlloc(md->list, 0); 137 138 while ((item = psListGetNext(cursor))) { 139 printf("colum name is: %s\n", item->name); 140 printf("data is: %s\n", (char *)item->data.V); 141 } 142 143 psFree(cursor); 99 144 } 100 101 psFree(cursor); 102 } 103 psFree(resultSet); 145 psFree(resultSet); 146 147 } 104 148 105 149 //psDBInsertOneRow(); 106 107 md = psMetadataAlloc(); 108 item = psMetadataItemAlloc("color", PS_TYPE_PTR, PS_META_STR, NULL, "brown"); 109 psMetadataAddItem(md, item, 0); 110 psFree(item); 111 112 if (psDBInsertOneRow(dbh, "horses", md)) { 113 printf("psDBInsertOneRow succeeded\n"); 114 } 115 116 psFree(md); 150 { 151 psMetadata *md; 152 psMetadataItem *item; 153 154 md = psMetadataAlloc(); 155 item = psMetadataItemAlloc("color", PS_TYPE_PTR, PS_META_STR, NULL, "brown"); 156 psMetadataAddItem(md, item, 0); 157 psFree(item); 158 159 OK(psDBInsertOneRow(dbh, "horse", md),"psDBInsertOneRow()"); 160 161 psFree(md); 162 } 117 163 118 164 //psDBInsertRows(); 119 120 165 { 121 166 psArray *rowSet; … … 131 176 psFree(field); 132 177 psArrayAdd(rowSet, 0, row); 133 psFree(row);178 // psFree(row); 134 179 135 180 row = psMetadataAlloc(); … … 138 183 psFree(field); 139 184 psArrayAdd(rowSet, 0, row); 140 psFree(row);185 // psFree(row); 141 186 142 187 row = psMetadataAlloc(); … … 145 190 psFree(field); 146 191 psArrayAdd(rowSet, 0, row); 147 psFree(row); 148 149 if (psDBInsertRows(dbh, "horses", rowSet)) { 150 printf("psDBInsertRows() succeeded\n"); 151 } 192 // psFree(row); 193 194 OK(psDBInsertRows(dbh, "horse", rowSet), "psDBInsertRows()"); 152 195 153 196 psFree(rowSet); … … 155 198 156 199 //psDBDumpRows(); 157 resultSet = psDBDumpRows(dbh, "horses"); 158 psFree(resultSet); 200 { 201 psArray *resultSet; 202 203 resultSet = psDBDumpRows(dbh, "horse"); 204 OK(resultSet, "psDBDumpRows()"); 205 psFree(resultSet); 206 } 159 207 160 208 // cleanup other tests 161 psDBDropTable(dbh, "horses"); 209 psDBDropTable(dbh, "horse"); 210 psDBDropTable(dbh, "yak"); 162 211 163 212 // close db
Note:
See TracChangeset
for help on using the changeset viewer.
