IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 25515


Ignore:
Timestamp:
Sep 23, 2009, 3:15:52 PM (17 years ago)
Author:
Paul Price
Message:

Fixing query for advance mode.

Location:
trunk/ippTools
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/ippTools/share/difftool_completed_runs.sql

    r23438 r25515  
    1 SELECT DISTINCT
    2     diff_id,
    3     all_magicked as magicked
    4 FROM (
    5     SELECT
    6         COUNT(diffInputSkyfile.skycell_id), COUNT(diffSkyfile.skycell_id),
    7         diffSkyfile.*,
    8         SUM(!diffSkyfile.magicked) = 0 as all_magicked
    9     FROM diffRun
    10     JOIN diffInputSkyfile USING(diff_id)
    11     LEFT JOIN diffSkyfile USING(diff_id, skycell_id)
    12     WHERE
    13         diffRun.state = 'new'
    14     GROUP BY
    15         diffInputSkyfile.diff_id
    16     HAVING
    17         COUNT(diffInputSkyfile.skycell_id) = COUNT(diffSkyfile.skycell_id)
    18         AND SUM(diffSkyfile.fault) = 0
    19     ) as Foo
     1SELECT
     2    COUNT(diffInputSkyfile.skycell_id),
     3    COUNT(diffSkyfile.skycell_id),
     4    diffSkyfile.*,
     5    SUM(!diffSkyfile.magicked) = 0 as all_magicked
     6FROM diffRun
     7JOIN diffInputSkyfile USING(diff_id)
     8LEFT JOIN diffSkyfile USING(diff_id, skycell_id)
     9WHERE
     10    diffRun.state = 'new'
     11-- WHERE hook %s
     12GROUP BY
     13    diffInputSkyfile.diff_id
     14HAVING
     15    COUNT(diffInputSkyfile.skycell_id) = COUNT(diffSkyfile.skycell_id)
     16    AND SUM(diffSkyfile.fault) = 0
  • trunk/ippTools/src/difftool.c

    r25509 r25515  
    583583    }
    584584
     585    psString whereString = psStringCopy("");
    585586    if (psListLength(where->list)) {
    586587        psString whereClause = psDBGenerateWhereConditionSQL(where, NULL);
    587         psStringAppend(&query, " WHERE %s", whereClause);
     588        psStringAppend(&whereString, "\n AND %s", whereClause);
    588589        psFree(whereClause);
    589590    }
     
    599600    if (!psDBTransaction(config->dbh)) {
    600601        psError(PS_ERR_UNKNOWN, false, "database error");
    601         return false;
    602     }
    603 
    604     if (!p_psDBRunQuery(config->dbh, query)) {
     602        psFree(whereString);
     603        return false;
     604    }
     605
     606    if (!p_psDBRunQueryF(config->dbh, query, whereString)) {
    605607        psError(PS_ERR_UNKNOWN, false, "database error");
    606608        psFree(query);
     609        psFree(whereString);
    607610        if (!psDBRollback(config->dbh)) {
    608611            psError(PS_ERR_UNKNOWN, false, "database error");
     
    611614    }
    612615    psFree(query);
     616    psFree(whereString);
    613617
    614618    psArray *output = p_psDBFetchResult(config->dbh);
Note: See TracChangeset for help on using the changeset viewer.