IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Oct 13, 2006, 11:13:48 AM (20 years ago)
Author:
Paul Price
Message:

Synchronising with SDRS, and cleaning up:

  • Replaced is_psType() with PS_ASSERT_PTR() throughout psLib.
  • Changed "char *" to "psString" where appropriate in psDB and a few other places (to indicate pointers on the PS memory system).
  • Removed psLogArguments and psTraceArguments (functionality in psArgumentVerbosity).
  • Renamed psMetadataLookupMD to psMetadataLookupMetadata (it was about time...). Similarly with the psPolynomial?D{From,To}MD functions.
  • Removed psMetadataRemove() since it is ambiguous about what's removed --- use psMetadataRemove{Key,Index}.
  • psArrayRemoveByPos --> psArrayRemoveIndex
  • psArrayRemove --> psArrayRemoveData
File:
1 edited

Legend:

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

    r9422 r9538  
    1212 *  @author Joshua Hoblitt
    1313 *
    14  *  @version $Revision: 1.100 $ $Name: not supported by cvs2svn $
    15  *  @date $Date: 2006-10-09 22:11:34 $
     14 *  @version $Revision: 1.101 $ $Name: not supported by cvs2svn $
     15 *  @date $Date: 2006-10-13 21:13:47 $
    1616 *
    1717 *  Copyright (C) 2005-2006  Joshua Hoblitt, University of Hawaii
     
    7676
    7777// SQL generation functions
    78 static char    *psDBGenerateCreateTableSQL(const char *tableName, const psMetadata *where);
    79 static char    *psDBGenerateSelectRowSQL(const char *tableName, const char *col,
     78static psString psDBGenerateCreateTableSQL(const char *tableName, const psMetadata *where);
     79static psString psDBGenerateSelectRowSQL(const char *tableName, const char *col,
    8080        const psMetadata *where, psU64 limit);
    81 static char    *psDBGenerateInsertRowSQL(const char *tableName, const psMetadata *row);
    82 static char    *psDBGenerateUpdateRowSQL(const char *tableName, const psMetadata *where,
     81static psString psDBGenerateInsertRowSQL(const char *tableName, const psMetadata *row);
     82static psString psDBGenerateUpdateRowSQL(const char *tableName, const psMetadata *where,
    8383        const psMetadata *values);
    84 static char    *psDBGenerateDeleteRowSQL(const char *tableName, const psMetadata *where,
     84static psString psDBGenerateDeleteRowSQL(const char *tableName, const psMetadata *where,
    8585        unsigned long long limit);
    86 static char    *psDBGenerateSetSQL(const psMetadata *set
     86static psString psDBGenerateSetSQL(const psMetadata *set
    8787                                  );
    8888static char *psDBGenerateConditionalSQL(const psMetadataItem *item, const char *tableName);
     
    9090// lookup table functions
    9191static psElemType psDBMySQLToPType(enum enum_field_types type, unsigned int flags);
    92 static char    *psDBPTypeToSQL(psElemType pType);
     92static psString psDBPTypeToSQL(psElemType pType);
    9393static mysqlType *psDBPTypeToMySQL(psElemType pType);
    9494
     
    116116static psPtr    psDBGetPTypeNaN(psElemType pType);
    117117static bool     psDBIsPTypeNaN(psElemType pType, psPtr data);
    118 
    119118
    120119// public functions
     
    228227    PS_ASSERT_PTR_NON_NULL(dbname, false);
    229228
    230     char *query = NULL;
     229    psString query = NULL;
    231230    psStringAppend(&query, "CREATE DATABASE %s", dbname);
    232231
     
    294293
    295294    // Generate SQL query string
    296     char *query = psDBGenerateCreateTableSQL(tableName, md);
     295    psString query = psDBGenerateCreateTableSQL(tableName, md);
    297296    if (!query) {
    298297        psError(PS_ERR_UNEXPECTED_NULL, false, _("Query generation failed."));
     
    320319
    321320    // Create SQL command string to drop table
    322     char *query = NULL;
     321    psString query = NULL;
    323322    psStringAppend(&query, "DROP TABLE %s", tableName);
    324323
     
    354353
    355354    // Generate SQL query string
    356     char *query = psDBGenerateSelectRowSQL(tableName, col, NULL, limit);
     355    psString query = psDBGenerateSelectRowSQL(tableName, col, NULL, limit);
    357356    if (!query) {
    358357        psError(PS_ERR_UNEXPECTED_NULL, false, _("Query generation failed."));
     
    541540
    542541    // Create select row query
    543     char *query = psDBGenerateSelectRowSQL(tableName, NULL, where, limit);
     542    psString query = psDBGenerateSelectRowSQL(tableName, NULL, where, limit);
    544543    if (!query) {
    545544        psError(PS_ERR_UNEXPECTED_NULL, false, "Query generation failed.");
     
    597596
    598597    // Generate SQL query string
    599     char *query = psDBGenerateInsertRowSQL(tableName, row);
     598    psString query = psDBGenerateInsertRowSQL(tableName, row);
    600599    if (!query) {
    601600        psError(PS_ERR_UNEXPECTED_NULL, false, _("Query generation failed."));
     
    692691
    693692    // Generate SQL query to update row
    694     char *query = psDBGenerateUpdateRowSQL(tableName, where, values);
     693    psString query = psDBGenerateUpdateRowSQL(tableName, where, values);
    695694    if (!query) {
    696695        psError(PS_ERR_UNEXPECTED_NULL, false, _("Query generation failed."));
     
    720719
    721720    // Create SQL statement string
    722     char *query = psDBGenerateDeleteRowSQL(tableName, where,limit);
     721    psString query = psDBGenerateDeleteRowSQL(tableName, where,limit);
    723722    if (!query) {
    724723        psError(PS_ERR_UNEXPECTED_NULL, false, "Query generation failed.");
     
    809808    PS_ASSERT_PTR_NON_NULL(format, false);
    810809
    811     char *query = NULL;
     810    psString query = NULL;
    812811
    813812    // Run query
     
    847846    PS_ASSERT_PTR_NON_NULL(format, -1);
    848847
    849     char *query = NULL;
     848    psString query = NULL;
    850849
    851850    // generate query string
     
    12291228/*****************************************************************************/
    12301229
    1231 static char *psDBGenerateCreateTableSQL(const char *tableName,
    1232                                         const psMetadata *table)
     1230static psString psDBGenerateCreateTableSQL(const char *tableName,
     1231        const psMetadata *table)
    12331232{
    12341233    PS_ASSERT_PTR_NON_NULL(tableName, NULL);
     
    13321331}
    13331332
    1334 static char *psDBGenerateSelectRowSQL(const char *tableName,
    1335                                       const char *col,
    1336                                       const psMetadata *where,
    1337                                       psU64 limit)
     1333static psString psDBGenerateSelectRowSQL(const char *tableName,
     1334        const char *col,
     1335        const psMetadata *where,
     1336        psU64 limit)
    13381337{
    13391338    PS_ASSERT_PTR_NON_NULL(tableName, NULL);
     
    13741373}
    13751374
    1376 static char *psDBGenerateInsertRowSQL(const char *tableName,
    1377                                       const psMetadata *row)
     1375static psString psDBGenerateInsertRowSQL(const char *tableName,
     1376        const psMetadata *row)
    13781377{
    13791378    PS_ASSERT_PTR_NON_NULL(tableName, NULL);
     
    14221421}
    14231422
    1424 static char *psDBGenerateUpdateRowSQL(const char *tableName,
    1425                                       const psMetadata *where,
    1426                                       const psMetadata *values)
     1423static psString psDBGenerateUpdateRowSQL(const char *tableName,
     1424        const psMetadata *where,
     1425        const psMetadata *values)
    14271426{
    14281427    PS_ASSERT_PTR_NON_NULL(tableName, NULL);
     
    14551454}
    14561455
    1457 static char *psDBGenerateDeleteRowSQL(const char *tableName,
    1458                                       const psMetadata *where,
    1459                                       unsigned long long limit)
     1456static psString psDBGenerateDeleteRowSQL(const char *tableName,
     1457        const psMetadata *where,
     1458        unsigned long long limit)
    14601459{
    14611460    PS_ASSERT_PTR_NON_NULL(tableName, NULL);
     
    14921491}
    14931492
    1494 char *psDBGenerateWhereSQL(const psMetadata *where, const char *tableName)
     1493psString psDBGenerateWhereSQL(const psMetadata *where, const char *tableName)
    14951494{
    14961495    PS_ASSERT_PTR_NON_NULL(where, NULL);
     
    15041503}
    15051504
    1506 char *psDBGenerateWhereConditionSQL(const psMetadata *where, const char *tableName)
     1505psString psDBGenerateWhereConditionSQL(const psMetadata *where, const char *tableName)
    15071506{
    15081507    PS_ASSERT_PTR_NON_NULL(where, NULL);
    15091508
    1510     char *query = NULL;
     1509    psString query = NULL;
    15111510
    15121511    // we need to know if an item is 'MULTI' so we have to march through the
     
    15401539            psStringAppend(&query, "(");
    15411540            while ((mItem = psListGetAndIncrement(mCursor))) {
    1542                 char *conditional = psDBGenerateConditionalSQL(mItem, tableName);
     1541                psString conditional = psDBGenerateConditionalSQL(mItem, tableName);
    15431542                if (!conditional) {
    15441543                    psError(PS_ERR_UNKNOWN, false,
     
    15641563            psStringAppend(&query, ")");
    15651564        } else {
    1566             char *conditional = psDBGenerateConditionalSQL(item, tableName);
     1565            psString conditional = psDBGenerateConditionalSQL(item, tableName);
    15671566            if (!conditional) {
    15681567                psError(PS_ERR_UNKNOWN, false,
     
    15901589}
    15911590
    1592 static char *psDBGenerateSetSQL(const psMetadata *set
    1593                                )
     1591static psString psDBGenerateSetSQL(const psMetadata *set
     1592                                  )
    15941593{
    15951594    PS_ASSERT_PTR_NON_NULL(set
    15961595                           , NULL);
    15971596
    1598     char *query = psStringCopy("SET ");
     1597    psString query = psStringCopy("SET ");
    15991598
    16001599    psListIterator *cursor = psListIteratorAlloc(set
     
    16181617}
    16191618
    1620 static char *psDBGenerateConditionalSQL(const psMetadataItem *item, const char *tableName)
     1619static psString psDBGenerateConditionalSQL(const psMetadataItem *item, const char *tableName)
    16211620{
    16221621    PS_ASSERT_PTR_NON_NULL(item, NULL);
    16231622
    1624     char *query = NULL;
     1623    psString query = NULL;
    16251624
    16261625    // stringify the psMetadataItem into a SQL search specification
     
    17251724}
    17261725
    1727 static char *psDBPTypeToSQL(psElemType pType)
     1726static psString psDBPTypeToSQL(psElemType pType)
    17281727{
    17291728    psHash          *pTypeToSQLTable;   // type lookup table
     
    19861985    PS_ASSERT_PTR_NON_NULL(lookupTable, );
    19871986
    1988     char *key = psDBIntToString((psU64)type);
    1989     char *value = psStringCopy(string);
     1987    psString key = psDBIntToString((psU64)type);
     1988    psString value = psStringCopy(string);
    19901989
    19911990    psHashAdd(lookupTable, key, value);
     
    20012000    PS_ASSERT_PTR_NON_NULL(lookupTable, );
    20022001
    2003     char *key = psDBIntToString((psU64)type);
     2002    psString key = psDBIntToString((psU64)type);
    20042003
    20052004    psHashAdd(lookupTable, key, value);
     
    21242123    return isNaN;
    21252124}
    2126 
    21272125
    21282126// string utility functions
     
    21352133    size_t length = n ? (size_t)log10((double)n) + 1 + 1
    21362134                    : 2;
    2137     char *string = psAlloc(length);
     2135    psString string = psStringAlloc(length);
    21382136    snprintf(string, length, "%li", (long int)n);
    21392137
Note: See TracChangeset for help on using the changeset viewer.