IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 3209


Ignore:
Timestamp:
Feb 13, 2005, 12:23:07 PM (21 years ago)
Author:
jhoblitt
Message:

merge psDBGenerateSelectColumnSQL() & psDBGenerateSelectRowsSQL() into psDBGenerateSelectRowSQL()

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/archive/psdb/psDB.c

    r3208 r3209  
    88 *  @author Joshua Hoblitt
    99 *
    10  *  @version $Revision: 1.20 $ $Name: not supported by cvs2svn $
    11  *  @date $Date: 2005-02-13 22:09:46 $
     10 *  @version $Revision: 1.21 $ $Name: not supported by cvs2svn $
     11 *  @date $Date: 2005-02-13 22:23:07 $
    1212 *
    1313 *  Copyright 2005 Joshua Hoblitt, University of Hawaii
     
    6262static char    *psDBGenerateInsertRowSQL(const char *tableName, psMetadata *row);
    6363static char    *psDBGenerateCreateTableSQL(const char *tableName, psMetadata *where);
    64 static char    *psDBGenerateSelectColumnSQL(const char *tableName, const char *col, const psU64 limit);
    65 static char    *psDBGenerateSelectRowsSQL(const char *tableName, psMetadata *where);
     64static char    *psDBGenerateSelectRowSQL(const char *tableName, const char *col, psMetadata *where, const psU64 limit);
    6665static char    *psDBGenerateUpdateRowSQL(const char *tableName, psMetadata *where, psMetadata *values);
    6766static char    *psDBGenerateSetSQL(psMetadata *set);
     
    192191    psPtr           data;               // copy of result field
    193192
    194     query = psDBGenerateSelectColumnSQL(tableName, col, limit);
     193    query = psDBGenerateSelectRowSQL(tableName, col, NULL, limit);
    195194    if (!query) {
    196195        return NULL;
     
    354353    psPtr           data;               // copy of result field
    355354
    356     query = psDBGenerateSelectRowsSQL(tableName, where);
     355    query = psDBGenerateSelectRowSQL(tableName, NULL, where, 0);
    357356    if (!query) {
    358357        return NULL;
     
    979978}
    980979
    981 static char *psDBGenerateSelectColumnSQL(const char *tableName, const char *col, const psU64 limit)
     980static char *psDBGenerateSelectRowSQL(const char *tableName, const char *col, psMetadata *where, const psU64 limit)
    982981{
    983982    char            *query = NULL;
     983    char            *whereSQL;
    984984    char            *limitString;
    985985
    986     psStringAppend(&query, "SELECT %s FROM %s", col, tableName);
     986    // select all columns if col is NULL
     987    if (col) {
     988        psStringAppend(&query, "SELECT %s FROM %s", col, tableName);
     989    } else {
     990        psStringAppend(&query, "SELECT * FROM %s", tableName);
     991    }
     992
     993    // select all rows if where is NULL
     994    if (where) {
     995        whereSQL = psDBGenerateWhereSQL(where);
     996        if (!whereSQL) {
     997            psFree(query);
     998
     999            return NULL;
     1000        }
     1001        psStringAppend(&query, " %s", whereSQL);
     1002        psFree(whereSQL);
     1003    }
    9871004
    9881005    // treat limit == 0 as "no limit"
     
    9911008        psStringAppend(&query, " LIMIT %s", limitString);
    9921009        psFree(limitString);
    993     }
    994 
    995     return query;
    996 }
    997 
    998 static char *psDBGenerateSelectRowsSQL(const char *tableName, psMetadata *where)
    999 {
    1000     char            *query = NULL;
    1001     char            *whereSQL;
    1002 
    1003     psStringAppend(&query, "SELECT * FROM %s", tableName);
    1004 
    1005     // select everything if where is NULL
    1006     if (where) {
    1007         whereSQL = psDBGenerateWhereSQL(where);
    1008         if (!whereSQL) {
    1009             psFree(query);
    1010 
    1011             return NULL;
    1012         }
    1013         psStringAppend(&query, " %s", whereSQL);
    1014         psFree(whereSQL);
    10151010    }
    10161011
Note: See TracChangeset for help on using the changeset viewer.