IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Mar 29, 2005, 9:02:44 PM (21 years ago)
Author:
asc
Message:

bugfixes and tweaks

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psLib/src/fileUtils/psDB.c

    r3554 r3560  
    1212 *  @author Joshua Hoblitt
    1313 *
    14  *  @version $Revision: 1.8 $ $Name: not supported by cvs2svn $
    15  *  @date $Date: 2005-03-30 00:05:50 $
     14 *  @version $Revision: 1.9 $ $Name: not supported by cvs2svn $
     15 *  @date $Date: 2005-03-30 07:02:44 $
    1616 *
    1717 *  Copyright 2005 Joshua Hoblitt, University of Hawaii
     
    226226    if (!query) {
    227227        psError(PS_ERR_UNEXPECTED_NULL, false, "Query generation failed.");
    228 
    229228        return NULL;
    230229    }
     
    232231    if (!psDBRunQuery(dbh, query)) {
    233232        psError(PS_ERR_UNKNOWN, false, "Query execution failed.");
    234 
    235233        psFree(query);
    236 
    237234        return NULL;
    238235    }
     
    249246        if (fieldCount != 0) {
    250247            psError(PS_ERR_UNEXPECTED_NULL, true, "Query returned no data.  Error: %s", mysql_error(dbh->mysql));
    251 
    252248            return NULL;
    253249        }
     
    276272        // add field to return array
    277273        psArrayAdd(column, 0, data);
     274        psFree(data);
    278275    }
    279276
     
    283280}
    284281
    285 // dest = assign too, source = source string psArray, conv = conversion function,
     282// dest = assign to, source = source string psArray, conv = conversion function,
    286283// type = type to cast to, pType = psElemType
    287284#define PS_STR_ARRAY_TO_PTYPE(dest, source, conv, type, pType) \
     
    436433            // copy field data and convert NULLs to the appropriate NaN value
    437434            if ((pType == PS_TYPE_PTR) || (pType == PS_META_STR)) {
    438                 pType = PS_META_STR;
    439435                data = fieldLength[i] ? psStringNCopy(row[i], fieldLength[i])
    440436                       : psDBGetPTypeNaN(pType);
     437                psMetadataAddStr(md, 0, field[i].name, "", data);
    441438            } else {
    442439                if (fieldLength[i]) {
     
    446443                    data = psDBGetPTypeNaN(pType);
    447444                }
     445                if (pType == PS_META_S32) {
     446                    psMetadataAddS32(md, 0, field[i].name, "", atoll(data));
     447                } else if (pType == PS_META_F32) {
     448                    psMetadataAddF32(md, 0, field[i].name, "", atof(data));
     449                } else if (pType == PS_META_F64) {
     450                    psMetadataAddF64(md, 0, field[i].name, "", atof(data));
     451                }
    448452            }
    449 
    450             // add new field to row
    451             psMetadataAdd(md, 0, field[i].name, pType, "no comment", data);
    452453
    453454            psFree(data);
     
    614615            // PS_META_UNKNOWN -> PS_META_ARRAY ?
    615616            column = psDBSelectColumn(dbh, tableName, field[i].name, 0);
    616             psMetadataAdd(table, 0, field[i].name, PS_META_STR, "no comment", column);
     617            psMetadataAddStr(table, 0, field[i].name, "", column);
    617618            psFree(column);
    618619        } else {
    619620            column = psDBSelectColumnNum(dbh, tableName, field[i].name, pType, 0);
    620             psMetadataAdd(table, 0, field[i].name, pType, "no comment", column);
     621            if (pType == PS_META_S32) {
     622                psMetadataAddS32(table, 0, field[i].name, "", (psS32)atoll(column));
     623            } else if (pType == PS_META_F32) {
     624                psMetadataAddF32(table, 0, field[i].name, "", (psF32)atof(column));
     625            } else if (pType == PS_META_F64) {
     626                psMetadataAddF64(table, 0, field[i].name, "", (psF64)atof(column));
     627            }
    621628            psFree(column);
    622629        }
Note: See TracChangeset for help on using the changeset viewer.