---------------------
PatchSet 4
Date: 2005/06/20 12:00:35
Author: jhoblitt
Branch: HEAD
Tag: (none)
Log:
change psDBSelectRows() & psDBDumpCols() to preserve the database's ordering of fields
Members:
src/dataIO/psDB.c:1.2->1.3
RCS file: /tmp/cvsroot/pslib/src/dataIO/psDB.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -p -r1.2 -r1.3
|
|
|
psArray *psDBSelectRows(psDB *dbh, const
|
| 481 | 481 | |
| 482 | 482 | // copy field data and convert NULLs to the appropriate NaN value |
| 483 | 483 | if (pType == PS_META_STR) { |
| 484 | | psMetadataAddStr(md, 0, field[i].name, "", data); |
| | 484 | psMetadataAddStr(md, PS_LIST_TAIL, field[i].name, "", data); |
| 485 | 485 | } else if (pType == PS_META_S32) { |
| 486 | | psMetadataAddS32(md, 0, field[i].name, "", atoll(data)); |
| | 486 | psMetadataAddS32(md, PS_LIST_TAIL, field[i].name, "", atoll(data)); |
| 487 | 487 | } else if (pType == PS_META_F32) { |
| 488 | | psMetadataAddF32(md, 0, field[i].name, "", atof(data)); |
| | 488 | psMetadataAddF32(md, PS_LIST_TAIL, field[i].name, "", atof(data)); |
| 489 | 489 | } else if (pType == PS_META_F64) { |
| 490 | | psMetadataAddF64(md, 0, field[i].name, "", atof(data)); |
| | 490 | psMetadataAddF64(md, PS_LIST_TAIL, field[i].name, "", atof(data)); |
| 491 | 491 | } else if (pType == PS_META_BOOL) { |
| 492 | | psMetadataAdd(md, 0, field[i].name, pType, "", atoi(data)); |
| | 492 | psMetadataAdd(md, PS_LIST_TAIL, field[i].name, pType, "", atoi(data)); |
| 493 | 493 | } else { |
| 494 | 494 | // XXX: assume binary string ... |
| 495 | | psMetadataAddStr(md, 0, field[i].name, "", data); |
| | 495 | psMetadataAddStr(md, PS_LIST_TAIL, field[i].name, "", data); |
| 496 | 496 | } |
| 497 | 497 | |
| 498 | 498 | psFree(data); |
| … |
… |
psMetadata *psDBDumpCols(psDB *dbh, cons
|
| 674 | 674 | if (pType == PS_META_STR) { |
| 675 | 675 | // PS_META_UNKNOWN -> PS_META_ARRAY ? |
| 676 | 676 | column = psDBSelectColumn(dbh, tableName, field[i].name, 0); |
| 677 | | psMetadataAddStr(table, 0, field[i].name, "", column); |
| | 677 | psMetadataAddStr(table, PS_LIST_TAIL, field[i].name, "", column); |
| 678 | 678 | psFree(column); |
| 679 | 679 | } else { |
| 680 | 680 | column = psDBSelectColumnNum(dbh, tableName, field[i].name, pType, 0); |
| 681 | | psMetadataAddVector(table, 0, field[i].name, "", column); |
| | 681 | psMetadataAddVector(table, PS_LIST_TAIL, field[i].name, "", column); |
| 682 | 682 | psFree(column); |
| 683 | 683 | } |
| 684 | 684 | } |