IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ticket #448: pslib-0.6.0-preserve_field_order.patch

File pslib-0.6.0-preserve_field_order.patch, 2.6 KB (added by jhoblitt, 21 years ago)

change psDBSelectRows() & psDBDumpCols() to preserve the database's ordering of fields

  • src/dataIO/psDB.c

    ---------------------
    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  
    481481
    482482            // copy field data and convert NULLs to the appropriate NaN value
    483483            if (pType == PS_META_STR) {
    484                 psMetadataAddStr(md, 0, field[i].name, "", data);
     484                psMetadataAddStr(md, PS_LIST_TAIL, field[i].name, "", data);
    485485            } 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));
    487487            } 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));
    489489            } 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));
    491491            } 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));
    493493            } else {
    494494                // XXX: assume binary string ...
    495                 psMetadataAddStr(md, 0, field[i].name, "", data);
     495                psMetadataAddStr(md, PS_LIST_TAIL, field[i].name, "", data);
    496496            }
    497497
    498498            psFree(data);
    psMetadata *psDBDumpCols(psDB *dbh, cons  
    674674        if (pType == PS_META_STR) {
    675675            // PS_META_UNKNOWN -> PS_META_ARRAY ?
    676676            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);
    678678            psFree(column);
    679679        } else {
    680680            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);
    682682            psFree(column);
    683683        }
    684684    }