IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 33619


Ignore:
Timestamp:
Mar 28, 2012, 4:12:23 PM (14 years ago)
Author:
heather
Message:

the query was not optimal. It's still not optimal but at least it's faster

Location:
trunk/ippTools
Files:
2 edited

Legend:

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

    r33030 r33619  
    1010       (SELECT minidvodb_group as minidbg, minidvodb_name as minidbn, count(state)
    1111        AS cnt
    12         FROM addRun
     12        FROM addRun where minidvodb_group = '%s'
    1313        GROUP BY minidvodb_name )
    1414   AS foo1 ON minidvodb_name = minidbn
  • trunk/ippTools/src/addtool.c

    r33525 r33619  
    13801380  PXOPT_COPY_STR(config->args, where, "-minidvodb_name", "minidvodbRun.minidvodb_name", "==");
    13811381  PXOPT_COPY_STR(config->args, where, "-state", "minidvodbRun.state", "==");
    1382 
    1383 
     1382  PXOPT_LOOKUP_STR(minidvodb_group,  config->args, "-minidvodb_group", false, false);
     1383 
    13841384  PXOPT_LOOKUP_U64(limit,      config->args, "-limit", false, false);
    13851385  PXOPT_LOOKUP_BOOL(all_addrun_states, config->args, "-all_addrun_states", false);
     
    13931393  }
    13941394
    1395   psString query = pxDataGet("addtool_checkminidvodbaddrun.sql");
    1396 
    1397   if (!query) {
     1395  if (!minidvodb_group) {
     1396    psError(PXTOOLS_ERR_CONFIG, false, "minidvodb_group  required");
     1397    return false;
     1398  }
     1399
     1400
     1401  psString bare_query = pxDataGet("addtool_checkminidvodbaddrun.sql");
     1402 
     1403  if (!bare_query) {
    13981404        psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement");
    13991405        return false;
    14001406  }
    14011407
    1402 
     1408  psString where_string = NULL;
    14031409  if (psListLength(where->list)) {
    14041410    psString whereClause = psDBGenerateWhereConditionSQL(where, NULL);
    1405         psStringAppend(&query, " WHERE %s", whereClause);
     1411        psStringAppend(&where_string, " WHERE %s", whereClause);
    14061412        psFree(whereClause);
    1407   }
    1408 
     1413        //search params are defined above
     1414  }
     1415
     1416  psString query = NULL;
     1417  psStringAppend(&query, bare_query, minidvodb_group);
     1418  psStringAppend(&query, where_string);
     1419
     1420
     1421
     1422
     1423 
    14091424  if (!all_addrun_states) {
    14101425    psStringAppend(&query, " AND (cnt2 = cnt) ");
     
    14191434
    14201435  if (!p_psDBRunQuery(config->dbh, query)) {
    1421     psError(PS_ERR_UNKNOWN, false, "database error");
     1436    psError(PS_ERR_UNKNOWN, false, "database error,\n\n%s", query);
    14221437    psFree(query);
    14231438    return false;
Note: See TracChangeset for help on using the changeset viewer.