IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 24414


Ignore:
Timestamp:
Jun 15, 2009, 2:07:24 PM (17 years ago)
Author:
jhoblitt
Message:

optimize faketool_pendingimfile.sql by removing the sub-query

Location:
trunk/ippTools
Files:
2 edited

Legend:

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

    r19933 r24414  
    1 SELECT DISTINCT * FROM (
    2     -- the subselect is so where criteria can be specified without knowing
    3     -- which table the field came from
    4     SELECT
    5         fakeRun.*,
    6         chipProcessedImfile.exp_id,
    7         chipProcessedImfile.class_id,
    8         chipProcessedImfile.uri,
    9         chipProcessedImfile.bg,
    10         chipProcessedImfile.bg_stdev,
    11         chipProcessedImfile.bg_mean_stdev,
    12         chipProcessedImfile.fringe_0,
    13         chipProcessedImfile.fringe_1,
    14         chipProcessedImfile.fringe_2,
    15         chipProcessedImfile.ap_resid,
    16         chipProcessedImfile.ap_resid_stdev,
    17         chipProcessedImfile.n_stars,
    18         chipProcessedImfile.n_extended,
    19         chipProcessedImfile.n_cr,
    20         chipProcessedImfile.path_base as chip_path_base,
    21         camProcessedExp.path_base as cam_path_base,
    22         rawExp.exp_name,
    23         rawExp.exp_tag,
    24         rawExp.camera,
    25         rawExp.telescope,
    26         rawExp.filelevel
    27     FROM fakeRun
    28     JOIN camRun USING(cam_id)
    29     JOIN camProcessedExp USING(cam_id)
    30     JOIN chipRun USING(chip_id)
    31     JOIN chipProcessedImfile USING(chip_id)
    32     JOIN rawExp
    33         ON chipProcessedImfile.exp_id = rawExp.exp_id
    34     LEFT JOIN fakeProcessedImfile
    35         ON fakeRun.fake_id = fakeProcessedImfile.fake_id
    36         AND chipProcessedImfile.class_id = fakeProcessedImfile.class_id
    37     LEFT JOIN fakeMask
    38         ON fakeRun.label = fakeMask.label
    39     WHERE
    40         ((fakeRun.state = 'new'
    41             AND fakeProcessedImfile.fake_id IS NULL
    42             AND fakeProcessedImfile.class_id IS NULL
    43         )
    44         OR (fakeRun.state = 'update'
    45             AND fakeProcessedImfile.data_state = 'cleaned')
    46         )
    47         AND fakeMask.label IS NULL
    48     ) as fakePendingImfile
     1-- the subselect is so where criteria can be specified without knowing
     2-- which table the field came from
     3SELECT DISTINCT
     4    fakeRun.*,
     5    chipProcessedImfile.exp_id,
     6    chipProcessedImfile.class_id,
     7    chipProcessedImfile.uri,
     8    chipProcessedImfile.bg,
     9    chipProcessedImfile.bg_stdev,
     10    chipProcessedImfile.bg_mean_stdev,
     11    chipProcessedImfile.fringe_0,
     12    chipProcessedImfile.fringe_1,
     13    chipProcessedImfile.fringe_2,
     14    chipProcessedImfile.ap_resid,
     15    chipProcessedImfile.ap_resid_stdev,
     16    chipProcessedImfile.n_stars,
     17    chipProcessedImfile.n_extended,
     18    chipProcessedImfile.n_cr,
     19    chipProcessedImfile.path_base as chip_path_base,
     20    camProcessedExp.path_base as cam_path_base,
     21    rawExp.exp_name,
     22    rawExp.exp_tag,
     23    rawExp.camera,
     24    rawExp.telescope,
     25    rawExp.filelevel
     26FROM fakeRun
     27JOIN camRun USING(cam_id)
     28JOIN camProcessedExp USING(cam_id)
     29JOIN chipRun USING(chip_id)
     30JOIN chipProcessedImfile USING(chip_id)
     31JOIN rawExp
     32    ON chipProcessedImfile.exp_id = rawExp.exp_id
     33LEFT JOIN fakeProcessedImfile
     34    ON fakeRun.fake_id = fakeProcessedImfile.fake_id
     35    AND chipProcessedImfile.class_id = fakeProcessedImfile.class_id
     36LEFT JOIN fakeMask
     37    ON fakeRun.label = fakeMask.label
     38WHERE
     39    ((fakeRun.state = 'new'
     40        AND fakeProcessedImfile.fake_id IS NULL
     41        AND fakeProcessedImfile.class_id IS NULL
     42    )
     43    OR (fakeRun.state = 'update'
     44        AND fakeProcessedImfile.data_state = 'cleaned')
     45    )
     46    AND fakeMask.label IS NULL
  • trunk/ippTools/src/faketool.c

    r24186 r24414  
    455455
    456456    if (where && psListLength(where->list)) {
    457         psString whereClause = psDBGenerateWhereConditionSQL(where, NULL);
    458         psStringAppend(&query, " WHERE %s", whereClause);
     457        psString whereClause = psDBGenerateWhereConditionSQL(where, "fakeRun");
     458        psStringAppend(&query, " AND %s", whereClause);
    459459        psFree(whereClause);
    460460    }
Note: See TracChangeset for help on using the changeset viewer.