IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 25400


Ignore:
Timestamp:
Sep 15, 2009, 3:58:41 PM (17 years ago)
Author:
eugene
Message:

updates from trunk

Location:
branches/eam_branches/20090715/ippTools
Files:
2 deleted
47 edited
23 copied

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/20090715/ippTools/share/Makefile.am

    r25022 r25400  
    44
    55dist_pkgdata_DATA = \
     6     addtool_find_pendingexp.sql \
     7     addtool_queue_cam_id.sql \
     8     addtool_reset_faulted_runs.sql \
     9     addtool_revertprocessedexp.sql \
    610     camtool_donecleanup.sql \
    711     camtool_find_chip_id.sql \
     
    4347     dettool_normalizedstat.sql \
    4448     dettool_pending.sql \
     49     dettool_pendingcleanup_detrunsummary.sql \
    4550     dettool_pendingcleanup_normalizedexp.sql \
    4651     dettool_pendingcleanup_normalizedimfile.sql \
     
    175180     magicdstool_torevert_warp.sql \
    176181     magicdstool_torevert_diff.sql \
    177      pstamptool_addjob_otherjob.sql \
    178      pstamptool_addjob_stampjob.sql \
     182     pstamptool_completedreq.sql \
    179183     pstamptool_datastore.sql \
    180184     pstamptool_pendingjob.sql \
    181185     pstamptool_pendingreq.sql \
    182186     pstamptool_project.sql \
     187     pstamptool_revertjob.sql \
     188     pstamptool_revertreq.sql \
     189     pstamptool_revertreq_deletejobs.sql \
    183190     pxadmin_create_tables.sql \
    184191     pxadmin_create_mirror_tables.sql \
  • branches/eam_branches/20090715/ippTools/share/camtool_pendingcleanupexp.sql

    r19528 r25400  
    1313    USING(cam_id)
    1414WHERE
    15     (camRun.state = 'goto_cleaned' OR camRun.state = 'goto_purged')
     15    (camRun.state = 'goto_cleaned' OR camRun.state = 'goto_purged' OR camRun.state = 'goto_scrubbed')
    1616
  • branches/eam_branches/20090715/ippTools/share/camtool_pendingcleanuprun.sql

    r19528 r25400  
    99USING (exp_id)
    1010WHERE
    11     (camRun.state = 'goto_cleaned' OR camRun.state = 'goto_purged')
     11    (camRun.state = 'goto_cleaned' OR camRun.state = 'goto_purged' OR camRun.state = 'goto_scrubbed')
  • branches/eam_branches/20090715/ippTools/share/chiptool_processedimfile.sql

    r25022 r25400  
    99    chipProcessedImfile.path_base,
    1010    chipProcessedImfile.magicked,
     11    chipProcessedImfile.data_state,
    1112    chipRun.state,
    1213    chipRun.workdir,
  • branches/eam_branches/20090715/ippTools/share/dettool_pendingcleanup_normalizedexp.sql

    r19092 r25400  
    11SELECT
    22    detNormalizedExp.*,
    3     detRunSummary.data_state
     3    rawExp.camera   
    44FROM detRunSummary
    55JOIN detNormalizedExp
    66    USING(det_id,iteration)
     7JOIN detInputExp
     8     USING(det_id,iteration)
     9JOIN rawExp
     10     USING(exp_id)
    711WHERE
    8     detRunSummary.data_state = 'goto_cleaned'
    9 AND detNormalizedExp.data_state = 'full'
     12    ((detRunSummary.data_state = 'goto_cleaned'
     13      AND detNormalizedExp.data_state = 'full')
     14     OR (detRunSummary.data_state = 'goto_scrubbed'
     15      AND detNormalizedExp.data_state = 'full')
     16     OR (detRunSummary.data_state = 'goto_purged'
     17      AND detNormalizedExp.data_state = 'full')
     18     OR detNormalizedExp.data_state = 'goto_cleaned'
     19     OR detNormalizedExp.data_state = 'goto_scrubbed'
     20     OR detNormalizedExp.data_state = 'goto_purged')
     21
  • branches/eam_branches/20090715/ippTools/share/dettool_pendingcleanup_normalizedimfile.sql

    r19092 r25400  
    1 SELECT
     1SELECT DISTINCT
    22    detNormalizedImfile.*,
    3     detRunSummary.data_state
     3    rawExp.camera
    44FROM detRunSummary
    55JOIN detNormalizedImfile
    66    USING(det_id,iteration)
     7JOIN detInputExp
     8     USING(det_id,iteration)
     9JOIN rawExp
     10     USING(exp_id)
    711WHERE
    8     detRunSummary.data_state = 'goto_cleaned'
    9 AND detNormalizedImfile.data_state = 'full'
     12    ((detRunSummary.data_state = 'goto_cleaned'
     13      AND detNormalizedImfile.data_state = 'full')
     14     OR (detRunSummary.data_state = 'goto_scrubbed'
     15      AND detNormalizedImfile.data_state = 'full')
     16     OR (detRunSummary.data_state = 'goto_purged'
     17      AND detNormalizedImfile.data_state = 'full')
     18     OR detNormalizedImfile.data_state = 'goto_cleaned'
     19     OR detNormalizedImfile.data_state = 'goto_scrubbed'
     20     OR detNormalizedImfile.data_state = 'goto_purged')
     21
  • branches/eam_branches/20090715/ippTools/share/dettool_pendingcleanup_normalizedstat.sql

    r19092 r25400  
    1 SELECT
     1SELECT DISTINCT
    22    detNormalizedStatImfile.*,
    3     detRunSummary.data_state
     3    rawExp.camera
    44FROM detRunSummary
    55JOIN detNormalizedStatImfile
    66    USING(det_id,iteration)
     7JOIN detInputExp
     8     USING(det_id,iteration)
     9JOIN rawExp
     10     USING(exp_id)
    711WHERE
    8     detRunSummary.data_state = 'goto_cleaned'
    9 AND detNormalizedStatImfile.data_state = 'full'
     12    ((detRunSummary.data_state = 'goto_cleaned'
     13      AND detNormalizedStatImfile.data_state = 'full')
     14     OR (detRunSummary.data_state = 'goto_scrubbed'
     15      AND detNormalizedStatImfile.data_state = 'full')
     16     OR (detRunSummary.data_state = 'goto_purged'
     17      AND detNormalizedStatImfile.data_state = 'full')
     18     OR detNormalizedStatImfile.data_state = 'goto_cleaned'
     19     OR detNormalizedStatImfile.data_state = 'goto_scrubbed'
     20     OR detNormalizedStatImfile.data_state = 'goto_purged')
     21
  • branches/eam_branches/20090715/ippTools/share/dettool_pendingcleanup_processedexp.sql

    r19092 r25400  
    22SELECT
    33    detProcessedExp.*,
    4     detRunSummary.data_state
     4    rawExp.camera
    55FROM detRunSummary
    66JOIN detProcessedExp
    77    USING(det_id)
     8JOIN rawExp
     9     USING(exp_id)
    810WHERE
    9     detRunSummary.data_state = 'goto_cleaned'
    10 AND detProcessedExp.data_state = 'full'
     11    ((detRunSummary.data_state = 'goto_cleaned'
     12      AND detProcessedExp.data_state = 'full')
     13     OR (detRunSummary.data_state = 'goto_scrubbed'
     14         AND detProcessedExp.data_state = 'full')
     15     OR (detRunSummary.data_state = 'goto_purged'
     16         AND detProcessedExp.data_state = 'full')
     17     OR detProcessedExp.data_state = 'goto_cleaned'
     18     OR detProcessedExp.data_state = 'goto_scrubbed'
     19     OR detProcessedExp.data_state = 'goto_purged')
  • branches/eam_branches/20090715/ippTools/share/dettool_pendingcleanup_processedimfile.sql

    r19092 r25400  
    1 -- need to restrict to a single detRunSummary (require all to say 'cleaned'?)
    21SELECT
    32    detProcessedImfile.*,
    4     detRunSummary.data_state
     3    rawExp.camera
    54FROM detRunSummary
    65JOIN detProcessedImfile
    76    USING(det_id)
     7JOIN detInputExp
     8     USING(det_id,iteration,exp_id)
     9JOIN rawExp
     10     USING(exp_id)
    811WHERE
    9     detRunSummary.data_state = 'goto_cleaned'
    10 AND detProcessedImfile.data_state = 'full'
     12     (detProcessedImfile.data_state = 'goto_cleaned'
     13     OR detProcessedImfile.data_state = 'goto_scrubbed'
     14     OR detProcessedImfile.data_state = 'goto_purged')
     15
  • branches/eam_branches/20090715/ippTools/share/dettool_pendingcleanup_residexp.sql

    r19092 r25400  
    11SELECT
    22    detResidExp.*,
    3     detRunSummary.data_state
     3    rawExp.camera
    44FROM detRunSummary
    55JOIN detResidExp
    66    USING(det_id,iteration)
     7JOIN detInputExp
     8     USING(det_id,iteration,exp_id)
     9JOIN rawExp
     10    USING(exp_id)
    711WHERE
    8     detRunSummary.data_state = 'goto_cleaned'
    9 AND detResidExp.data_state = 'full'
     12    ((detRunSummary.data_state = 'goto_cleaned'
     13      AND detResidExp.data_state = 'full')
     14     OR (detRunSummary.data_state = 'goto_scrubbed'
     15         AND detResidExp.data_state = 'full')
     16     OR (detRunSummary.data_state = 'goto_purged'
     17         AND detResidExp.data_state = 'full')
     18     OR detResidExp.data_state = 'goto_cleaned'
     19     OR detResidExp.data_state = 'goto_scrubbed'
     20     OR detResidExp.data_state = 'goto_purged')
  • branches/eam_branches/20090715/ippTools/share/dettool_pendingcleanup_residimfile.sql

    r19092 r25400  
    11SELECT
    22    detResidImfile.*,
    3     detRunSummary.data_state
     3    rawExp.camera
    44FROM detRunSummary
    55JOIN detResidImfile
    66    USING(det_id,iteration)
     7JOIN detInputExp
     8    USING(det_id,iteration,exp_id)
     9JOIN rawExp
     10    USING(exp_id)
    711WHERE
    8     detRunSummary.data_state = 'goto_cleaned'
    9 AND detResidImfile.data_state = 'full'
     12    ((detRunSummary.data_state = 'goto_cleaned'
     13      AND detResidImfile.data_state = 'full')
     14     OR (detRunSummary.data_state = 'goto_scrubbed'
     15      AND detResidImfile.data_state = 'full')
     16     OR (detRunSummary.data_state = 'goto_purged'
     17      AND detResidImfile.data_state = 'full')
     18     OR detResidImfile.data_state = 'goto_cleaned'
     19     OR detResidImfile.data_state = 'goto_scrubbed'
     20     OR detResidImfile.data_state = 'goto_purged')
     21
     22
  • branches/eam_branches/20090715/ippTools/share/dettool_pendingcleanup_stacked.sql

    r19092 r25400  
    1 SELECT
     1SELECT DISTINCT
    22    detStackedImfile.*,
    3     detRunSummary.data_state
     3    rawExp.camera
    44FROM detRunSummary
    55JOIN detStackedImfile
    6     USING(det_id,iteration)
     6     USING(det_id,iteration)
     7JOIN detInputExp
     8     USING(det_id,iteration)
     9JOIN rawExp
     10     USING(exp_id)
    711WHERE
    8     detRunSummary.data_state = 'goto_cleaned'
    9 AND detStackedImfile.data_state = 'full'
     12    ((detRunSummary.data_state = 'goto_cleaned'
     13      AND detStackedImfile.data_state = 'full')
     14     OR (detRunSummary.data_state = 'goto_scrubbed'
     15      AND detStackedImfile.data_state = 'full')
     16     OR (detRunSummary.data_state = 'goto_purged'
     17      AND detStackedImfile.data_state = 'full')
     18     OR detStackedImfile.data_state = 'goto_cleaned'
     19     OR detStackedImfile.data_state = 'goto_scrubbed'
     20     OR detStackedImfile.data_state = 'goto_purged')
  • branches/eam_branches/20090715/ippTools/share/difftool_definewarpstack_part1.sql

    r24572 r25400  
    1515    SELECT DISTINCT
    1616        diffRun.*,
     17        warp_id,
    1718        exp_id
    1819    FROM diffRun
     
    2425    JOIN chipRun USING(chip_id)
    2526    WHERE warp1 IS NOT NULL
    26 ) AS diffExp USING(exp_id)
     27) AS diffExp USING(exp_id, warp_id)
    2728WHERE
    2829    warpSkyfile.fault = 0
  • branches/eam_branches/20090715/ippTools/share/difftool_skyfile.sql

    r24512 r25400  
    66    diffRun.workdir,
    77    diffRun.bothways,
    8     camProcessedExp.zpt_obs,
    9     camProcessedExp.zpt_stdev,
    10     camProcessedExp.zpt_lq,
    11     camProcessedExp.zpt_uq,
    12     rawExp.exp_time,
    13     rawExp.camera,
    148    warp1,
    159    stack1,
    1610    warp2,
    17     stack2
     11    stack2,
     12    -- The following are only valid for warps
     13    -- XXX This needs to be more clever to handle diffs between stacks
     14    -- Zero points are appropriate for both forward and backward diffs
     15    camProcessedInput.zpt_obs,
     16    camProcessedInput.zpt_stdev,
     17    camProcessedInput.zpt_lq,
     18    camProcessedInput.zpt_uq,
     19    rawInput.exp_time,
     20    rawInput.camera,
     21    rawInput.exp_name AS exp_name_1,
     22    rawInput.exp_id AS exp_id_1,
     23    chipInput.chip_id AS chip_id_1,
     24    camInput.cam_id AS cam_id_1,
     25    fakeInput.fake_id AS fake_id_1,
     26    camProcessedInput.sigma_ra AS sigma_ra_1,
     27    camProcessedInput.sigma_dec AS sigma_dec_1,
     28    rawTemplate.exp_name AS exp_name_2,
     29    rawTemplate.exp_id AS exp_id_2,
     30    chipTemplate.chip_id AS chip_id_2,
     31    camTemplate.cam_id AS cam_id_2,
     32    fakeTemplate.fake_id AS fake_id_2,
     33    camProcessedTemplate.sigma_ra AS sigma_ra_2,
     34    camProcessedTemplate.sigma_dec AS sigma_dec_2
    1835FROM diffRun
    1936JOIN diffSkyfile USING(diff_id)
    2037JOIN diffInputSkyfile USING(diff_id, skycell_id)
    21 JOIN warpRun
    22 -- NOTE: joining input only!
    23 -- This is so that we can get the correct zero point
    24 -- XXX This needs to be more clever to handle diffs between stacks
    25     ON warpRun.warp_id = diffInputSkyfile.warp1
    26 JOIN fakeRun USING(fake_id)
    27 JOIN camRun USING(cam_id)
    28 JOIN camProcessedExp USING(cam_id)
    29 JOIN chipRun USING(chip_id)
    30 JOIN rawExp USING(exp_id)
     38LEFT JOIN warpRun AS warpInput
     39    ON warpInput.warp_id = diffInputSkyfile.warp1
     40LEFT JOIN fakeRun AS fakeInput
     41    ON fakeInput.fake_id = warpInput.fake_id
     42LEFT JOIN camRun AS camInput
     43    ON camInput.cam_id = fakeInput.cam_id
     44LEFT JOIN camProcessedExp AS camProcessedInput
     45    ON camProcessedInput.cam_id = camInput.cam_id
     46LEFT JOIN chipRun AS chipInput
     47    ON chipInput.chip_id = camInput.chip_id
     48LEFT JOIN rawExp AS rawInput
     49    ON rawInput.exp_id = chipInput.exp_id
     50LEFT JOIN warpRun AS warpTemplate
     51    ON warpTemplate.warp_id = diffInputSkyfile.warp2
     52LEFT JOIN fakeRun AS fakeTemplate
     53    ON fakeTemplate.fake_id = warpTemplate.fake_id
     54LEFT JOIN camRun AS camTemplate
     55    ON camTemplate.cam_id = fakeTemplate.cam_id
     56LEFT JOIN camProcessedExp AS camProcessedTemplate
     57    ON camProcessedTemplate.cam_id = camTemplate.cam_id
     58LEFT JOIN chipRun AS chipTemplate
     59    ON chipTemplate.chip_id = camTemplate.chip_id
     60LEFT JOIN rawExp AS rawTemplate
     61    ON rawTemplate.exp_id = chipTemplate.exp_id
  • branches/eam_branches/20090715/ippTools/share/faketool_pendingcleanupimfile.sql

    r19092 r25400  
    1313    USING(fake_id)
    1414WHERE
    15     fakeRun.state = 'goto_cleaned'
     15    ((fakeRun.state = 'goto_cleaned' AND fakeProcessedImfile.data_state = 'full')
     16OR
     17    (fakeRun.state = 'goto_scrubbed' AND fakeProcessedImfile.data_state = 'full')
     18OR
     19    (fakeRun.state = 'goto_purged' AND fakeProcessedImfile.data_state != 'purged'))
  • branches/eam_branches/20090715/ippTools/share/faketool_pendingcleanuprun.sql

    r19092 r25400  
    1111USING (exp_id)
    1212WHERE
    13     fakeRun.state = 'goto_cleaned'
     13    (fakeRun.state = 'goto_cleaned' OR fakeRun.state = 'goto_scrubbed' OR fakeRun.state = 'goto_purged')
     14
  • branches/eam_branches/20090715/ippTools/share/pstamptool_pendingjob.sql

    r18561 r25400  
    1 SELECT
    2  *
    3  FROM pstampJob
    4  WHERE state = 'run'
     1SELECT pstampJob.*
     2FROM pstampJob
     3    JOIN pstampRequest using(req_id)
     4WHERE pstampRequest.state = 'run'
     5    AND pstampRequest.fault = 0
     6    AND pstampJob.state = 'run'
     7    AND pstampJob.fault = 0
  • branches/eam_branches/20090715/ippTools/share/pstamptool_pendingreq.sql

    r21413 r25400  
    77    USING(ds_id)
    88 WHERE pstampRequest.state = 'new'
     9    AND pstampRequest.fault = 0
  • branches/eam_branches/20090715/ippTools/share/pxadmin_create_tables.sql

    r25022 r25400  
    451451) ENGINE=innodb DEFAULT CHARSET=latin1;
    452452
     453CREATE TABLE addRun (
     454    add_id BIGINT AUTO_INCREMENT,
     455    cam_id BIGINT,
     456    state VARCHAR(64),
     457    workdir VARCHAR(255),
     458    workdir_state VARCHAR(64),
     459    label VARCHAR(64),
     460    dvodb VARCHAR(255),
     461    magicked BIGINT,
     462    PRIMARY KEY(add_id),
     463    KEY(add_id),
     464    KEY(cam_id),
     465    KEY(state),
     466    KEY(workdir_state),
     467    KEY(label),
     468    INDEX(add_id, cam_id),
     469    FOREIGN KEY(cam_id) REFERENCES camRun(cam_id)
     470) ENGINE=innodb DEFAULT CHARSET=latin1;
     471
     472CREATE TABLE addProcessedExp (
     473    add_id BIGINT AUTO_INCREMENT,
     474    dtime_addstar FLOAT,
     475    n_stars INT,
     476    path_base VARCHAR(255),
     477    fault SMALLINT NOT NULL,
     478    PRIMARY KEY(add_id),
     479    FOREIGN KEY(add_id) REFERENCES addRun(add_id)
     480) ENGINE=innodb DEFAULT CHARSET=latin1;
     481
     482CREATE TABLE addMask (
     483    label VARCHAR(64),
     484    PRIMARY KEY(label)
     485) ENGINE=innodb DEFAULT CHARSET=latin1;
     486
    453487CREATE TABLE fakeRun (
    454488    fake_id BIGINT AUTO_INCREMENT,
     
    10861120        KEY(magic_id),
    10871121        KEY(label),
    1088         FOREIGN KEY(magic_id) REFERENCES magicRun(magic_id)
     1122        FOREIGN KEY(magic_id) REFERENCES magicRun(magic_id),
    10891123        FOREIGN KEY(inv_magic_id) REFERENCES magicRun(magic_id)
    10901124) ENGINE=innodb DEFAULT CHARSET=latin1;
     
    14071441    pub_id BIGINT AUTO_INCREMENT, -- link to publishRun
    14081442    path_base VARCHAR(255),     -- base path of output
     1443    hostname VARCHAR(64),       -- name of host
     1444    dtime_script FLOAT,         -- run time for script
    14091445    fault SMALLINT NOT NULL DEFAULT 0, -- Fault code
    14101446    PRIMARY KEY(pub_id),
  • branches/eam_branches/20090715/ippTools/share/pxadmin_drop_tables.sql

    r24531 r25400  
    1919DROP TABLE IF EXISTS detRun;
    2020DROP TABLE IF EXISTS detInputExp;
     21DROP TABLE IF EXISTS addRun;
     22DROP TABLE IF EXISTS addProcessedExp;
     23DROP TABLE IF EXISTS addMask;
    2124DROP TABLE IF EXISTS fakeRun;
    2225DROP TABLE IF EXISTS fakeProcessedImfile;
  • branches/eam_branches/20090715/ippTools/src

    • Property svn:ignore
      •  

        old new  
        3434disttool
        3535receivetool
        36 
         36addtool
        3737pubtool
  • branches/eam_branches/20090715/ippTools/src/Makefile.am

    r24512 r25400  
    11bin_PROGRAMS = \
     2        addtool \
    23        caltool \
    34        camtool \
     
    2829
    2930pkginclude_HEADERS = \
     31        pxadd.h \
    3032        pxadmin.h \
    3133        pxcam.h \
     
    4244
    4345noinst_HEADERS = \
     46        addtool.h \
    4447        caltool.h \
    4548        camtool.h \
     
    6871libpxtools_la_LDFLAGS   = -release $(PACKAGE_VERSION)
    6972libpxtools_la_SOURCES   = \
     73        pxadd.c \
    7074        pxcam.c \
    7175        pxchip.c \
     
    96100    pstamptool.c \
    97101    pstamptoolConfig.c
     102
     103addtool_CFLAGS = $(PSLIB_CFLAGS) $(PSMODULES_CFLAGS) $(IPPDB_CFLAGS)
     104addtool_LDADD = $(PSLIB_LIBS) $(PSMODULES_LIBS) $(IPPDB_LIBS) libpxtools.la
     105addtool_SOURCES = \
     106    addtool.c \
     107    addtoolConfig.c
    98108
    99109caltool_CFLAGS = $(PSLIB_CFLAGS) $(PSMODULES_CFLAGS) $(IPPDB_CFLAGS)
  • branches/eam_branches/20090715/ippTools/src/camtool.c

    r24681 r25400  
    656656        return false;
    657657    }
     658
     659/*     if (!pxaddQueueByCamID(config, */
     660/*                         pendingRow->cam_id, */
     661/*                         pendingRow->workdir, */
     662/*                         pendingRow->label, */
     663/*                         pendingRow->reduction, */
     664/*                         pendingRow->dvodb */
     665/*     )) { */
     666/*         // rollback */
     667/*         if (!psDBRollback(config->dbh)) { */
     668/*             psError(PS_ERR_UNKNOWN, false, "database error"); */
     669/*         } */
     670/*         psError(PS_ERR_UNKNOWN, false, "failed to queue new addRun"); */
     671/*         psFree(pendingRow); */
     672/*         return false; */
     673/*     } */
     674
    658675    psFree(pendingRow);
    659676
  • branches/eam_branches/20090715/ippTools/src/chiptool.c

    r24562 r25400  
    5454static bool tofullimfileMode(pxConfig *config);
    5555static bool topurgedimfileMode(pxConfig *config);
     56static bool toscrubbedimfileMode(pxConfig *config);
    5657static bool exportrunMode(pxConfig *config);
    5758static bool importrunMode(pxConfig *config);
     
    9394        MODECASE(CHIPTOOL_MODE_TOFULLIMFILE,            tofullimfileMode);
    9495        MODECASE(CHIPTOOL_MODE_TOPURGEDIMFILE,          topurgedimfileMode);
     96        MODECASE(CHIPTOOL_MODE_TOSCRUBBEDIMFILE,        toscrubbedimfileMode);
    9597        MODECASE(CHIPTOOL_MODE_EXPORTRUN,               exportrunMode);
    9698        MODECASE(CHIPTOOL_MODE_IMPORTRUN,               importrunMode);
     
    13331335    return change_imfile_data_state(config, "purged", "goto_purged");
    13341336}
    1335 
     1337static bool toscrubbedimfileMode(pxConfig *config)
     1338{
     1339  return change_imfile_data_state(config, "scrubbed", "goto_scrubbed");
     1340}
    13361341bool exportrunMode(pxConfig *config)
    13371342{
  • branches/eam_branches/20090715/ippTools/src/chiptool.h

    r23339 r25400  
    4545    CHIPTOOL_MODE_TOFULLIMFILE,
    4646    CHIPTOOL_MODE_TOPURGEDIMFILE,
     47    CHIPTOOL_MODE_TOSCRUBBEDIMFILE,
    4748    CHIPTOOL_MODE_EXPORTRUN,
    4849    CHIPTOOL_MODE_IMPORTRUN
  • branches/eam_branches/20090715/ippTools/src/chiptoolConfig.c

    r24562 r25400  
    248248    psMetadataAddStr(topurgedimfileArgs, PS_LIST_TAIL, "-class_id",  0,        "class ID to update", NULL);
    249249
     250    // -toscrubbedimfile
     251    psMetadata *toscrubbedimfileArgs = psMetadataAlloc();
     252    psMetadataAddS64(toscrubbedimfileArgs, PS_LIST_TAIL, "-chip_id", 0,        "chip ID to update", 0);
     253    psMetadataAddStr(toscrubbedimfileArgs, PS_LIST_TAIL, "-class_id", 0,       "class ID to update", NULL);
     254
    250255    // -exportrun
    251256    psMetadata *exportrunArgs = psMetadataAlloc();
     
    282287    PXOPT_ADD_MODE("-tofullimfile",         "set imfile state to full",              CHIPTOOL_MODE_TOFULLIMFILE,         tofullimfileArgs);
    283288    PXOPT_ADD_MODE("-topurgedimfile",       "set imfile state to purged",            CHIPTOOL_MODE_TOPURGEDIMFILE,       topurgedimfileArgs);
     289    PXOPT_ADD_MODE("-toscrubbedimfile",     "set imfile state to scrubbed",          CHIPTOOL_MODE_TOSCRUBBEDIMFILE,     toscrubbedimfileArgs);
    284290
    285291    PXOPT_ADD_MODE("-exportrun",            "export run for import on other database", CHIPTOOL_MODE_EXPORTRUN, exportrunArgs);
  • branches/eam_branches/20090715/ippTools/src/dettool.c

    r25022 r25400  
    150150        MODECASE(DETTOOL_MODE_UPDATEDETRUN,     updatedetrunMode);
    151151        MODECASE(DETTOOL_MODE_RERUN,            rerunMode);
     152        MODECASE(DETTOOL_MODE_PENDINGCLEANUP_DETRUNSUMMARY, pendingcleanup_detrunsummaryMode);
    152153        // register
    153154        MODECASE(DETTOOL_MODE_REGISTER_DETREND, register_detrendMode);
     
    18271828    if (!strcmp(data_state, "drop")) return true;
    18281829    if (!strcmp(data_state, "register")) return true;
     1830    // These are valid data states, and are necessary for the cleanup to work correctly.
     1831    if (!strcmp(data_state, "full")) return true;
     1832    if (!strcmp(data_state, "goto_cleaned")) return true;
     1833    if (!strcmp(data_state, "goto_scrubbed")) return true;
     1834    if (!strcmp(data_state, "goto_purged")) return true;
     1835    if (!strcmp(data_state, "cleaned")) return true;
     1836    if (!strcmp(data_state, "scrubbed")) return true;
     1837    if (!strcmp(data_state, "purged")) return true;
     1838    if (!strcmp(data_state, "error_cleaned")) return true;
     1839    if (!strcmp(data_state, "error_scrubbed")) return true;
     1840    if (!strcmp(data_state, "error_purged")) return true;
    18291841
    18301842    psError(PS_ERR_UNKNOWN, true, "invalid data state: %s", data_state);
     
    18531865
    18541866    if (!isValidDataState (data_state)) return false;
    1855 
     1867   
    18561868    char *query = "UPDATE detProcessedImfile SET data_state = '%s'"
    18571869        " WHERE det_id = %" PRId64
     
    19001912        " WHERE det_id = %" PRId64
    19011913        " AND iteration = %" PRId32
    1902         " AND class_id = %s";
     1914        " AND class_id = '%s'";
    19031915    if (!p_psDBRunQueryF(config->dbh, query, data_state, det_id, iteration, class_id)) {
    19041916        psError(PS_ERR_UNKNOWN, false,
     
    19221934        " WHERE det_id = %" PRId64
    19231935        " AND iteration = %" PRId32
    1924         " AND class_id = %s";
    1925     if (!p_psDBRunQueryF(config->dbh, query, data_state, det_id, iteration)) {
     1936        " AND class_id = '%s'";
     1937/*     fprintf(stderr,"DETTOOL SAYS: %s\n",query); */
     1938    if (!p_psDBRunQueryF(config->dbh, query, data_state, det_id, iteration,class_id)) {
    19261939        psError(PS_ERR_UNKNOWN, false,
    19271940                "failed to change state for det_id %" PRId64 ", iteration %" PRId32,
     
    19441957        " WHERE det_id = %" PRId64
    19451958        " AND iteration = %" PRId32
    1946         " AND class_id = %s";
     1959        " AND class_id = '%s'";
    19471960    if (!p_psDBRunQueryF(config->dbh, query, data_state, det_id, iteration, class_id)) {
    19481961        psError(PS_ERR_UNKNOWN, false,
  • branches/eam_branches/20090715/ippTools/src/dettool.h

    r23310 r25400  
    111111    DETTOOL_MODE_REVERTDETRUNSUMMARY,
    112112    DETTOOL_MODE_UPDATEDETRUNSUMMARY,
     113    DETTOOL_MODE_PENDINGCLEANUP_DETRUNSUMMARY,
    113114    DETTOOL_MODE_UPDATEDETRUN,
    114115    DETTOOL_MODE_RERUN,
     
    209210bool revertdetrunsummaryMode(pxConfig *config);
    210211bool updatedetrunsummaryMode(pxConfig *config);
     212bool pendingcleanup_detrunsummaryMode(pxConfig *config);
    211213
    212214// other utilities
  • branches/eam_branches/20090715/ippTools/src/dettoolConfig.c

    r25022 r25400  
    4141    // XXX EAM : is this used?  does it make sense?
    4242    psMetadata *pendingArgs = psMetadataAlloc();
    43     psMetadataAddS64(pendingArgs, PS_LIST_TAIL, "-exp_id",  0,            "search by exposure ID", 0);
    44     psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-exp_type",  0,            "search by exposure type", NULL);
    45     psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-inst",  0,            "search by camera", NULL);
    46     psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-telescope",  0,            "search by telescope", NULL);
    47     psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-filter",  0,            "search by filter", NULL);
     43    psMetadataAddS64(pendingArgs, PS_LIST_TAIL, "-exp_id",  0,         "search by exposure ID", 0);
     44    psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-exp_type",  0,       "search by exposure type", NULL);
     45    psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-inst",  0,           "search by camera", NULL);
     46    psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-telescope",  0,      "search by telescope", NULL);
     47    psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-filter",  0,         "search by filter", NULL);
    4848    psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-uri",  0,            "search by URL", NULL);
    49     psMetadataAddBool(pendingArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
     49    psMetadataAddBool(pendingArgs, PS_LIST_TAIL, "-simple",  0,        "use the simple output format", false);
    5050
    5151    // -definebytag
     
    125125    psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-select_posang_min",  0,            "define min rotator position angle", NAN);
    126126    psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-select_posang_max",  0,            "define max rotator position angle", NAN);
     127
    127128    psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-select_sun_angle_min",  0,            "define min solar angle", NAN);
    128129    psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-select_sun_angle_max",  0,            "define max solar angle", NAN);
     
    137138    psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-select_moon_phase_max",  0,          "define max moon phase", NAN);
    138139    psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-comment",                0,          "search by comment field (LIKE comparison)", NULL);
     140
    139141
    140142    psMetadataAddBool(definebyqueryArgs, PS_LIST_TAIL, "-pretend",  0,            "print the exposures that would be included in the detrend run and exit", false);
     
    207209    // -addcorrectimfile
    208210    psMetadata *addcorrectimfileArgs = psMetadataAlloc();
    209     psMetadataAddS64(addcorrectimfileArgs, PS_LIST_TAIL, "-det_id",  0,            "define detrend ID (required)", 0);
    210     psMetadataAddStr(addcorrectimfileArgs, PS_LIST_TAIL, "-class_id",  0,            "search for class ID (required)", NULL);
    211     psMetadataAddStr(addcorrectimfileArgs, PS_LIST_TAIL, "-uri",  0,            "define resid file URI", NULL);
     211    psMetadataAddS64(addcorrectimfileArgs, PS_LIST_TAIL, "-det_id",  0,        "define detrend ID (required)", 0);
     212    psMetadataAddStr(addcorrectimfileArgs, PS_LIST_TAIL, "-class_id",  0,      "search for class ID (required)", NULL);
     213    psMetadataAddStr(addcorrectimfileArgs, PS_LIST_TAIL, "-uri",  0,           "define resid file URI", NULL);
    212214    psMetadataAddF64(addcorrectimfileArgs, PS_LIST_TAIL, "-bg",  0,            "define exposure background", NAN);
    213215    psMetadataAddF64(addcorrectimfileArgs, PS_LIST_TAIL, "-bg_stdev",  0,            "define exposure background stdev", NAN);
     
    306308    psMetadataAddS64(updateprocessedimfileArgs, PS_LIST_TAIL, "-exp_id",               0,            "search by exp_id", 0);
    307309    psMetadataAddStr(updateprocessedimfileArgs, PS_LIST_TAIL, "-class_id",             0,            "search by exp_name", NULL);
    308     psMetadataAddStr(updateprocessedimfileArgs, PS_LIST_TAIL, "-data_state",           0,            "search for telescope", NULL);
     310    psMetadataAddStr(updateprocessedimfileArgs, PS_LIST_TAIL, "-data_state",           0,            "set state", NULL);
    309311
    310312    // -pendingcleanup_processedimfile
     
    366368    psMetadataAddS64(updateprocessedexpArgs, PS_LIST_TAIL, "-det_id",               0,            "search by chip ID", 0);
    367369    psMetadataAddS64(updateprocessedexpArgs, PS_LIST_TAIL, "-exp_id",               0,            "search by exp_id", 0);
    368     psMetadataAddStr(updateprocessedexpArgs, PS_LIST_TAIL, "-data_state",           0,            "search for telescope", NULL);
     370    psMetadataAddStr(updateprocessedexpArgs, PS_LIST_TAIL, "-data_state",           0,            "set state", NULL);
    369371
    370372    // -pendingcleanup_processedexp
     
    426428    psMetadataAddS32(updatestackedArgs, PS_LIST_TAIL, "-iteration",  0,            "search by iteration number", 0);
    427429    psMetadataAddStr(updatestackedArgs, PS_LIST_TAIL, "-class_id",  0,            "search by class ID", NULL);
    428     psMetadataAddStr(updatestackedArgs, PS_LIST_TAIL, "-data_state",           0,            "search for telescope", NULL);
     430    psMetadataAddStr(updatestackedArgs, PS_LIST_TAIL, "-data_state",           0,            "set state", NULL);
    429431
    430432    // -pendingcleanup_stacked
     
    478480    psMetadataAddS32(updatenormalizedstatArgs, PS_LIST_TAIL, "-iteration",  0,            "search by iteration number", 0);
    479481    psMetadataAddStr(updatenormalizedstatArgs, PS_LIST_TAIL, "-class_id",             0,            "search by exp_name", NULL);
    480     psMetadataAddStr(updatenormalizedstatArgs, PS_LIST_TAIL, "-data_state",           0,            "search for telescope", NULL);
     482    psMetadataAddStr(updatenormalizedstatArgs, PS_LIST_TAIL, "-data_state",           0,            "set state", NULL);
    481483
    482484    // -pendingcleanup_normalizedstat
     
    540542    psMetadataAddS32(updatenormalizedimfileArgs, PS_LIST_TAIL, "-iteration", 0,            "search by iteration number", 0);
    541543    psMetadataAddStr(updatenormalizedimfileArgs, PS_LIST_TAIL, "-class_id",             0,            "search by exp_name", NULL);
    542     psMetadataAddStr(updatenormalizedimfileArgs, PS_LIST_TAIL, "-data_state",           0,            "search for telescope", NULL);
     544    psMetadataAddStr(updatenormalizedimfileArgs, PS_LIST_TAIL, "-data_state",           0,            "set state", NULL);
    543545
    544546    // -pendingcleanup_normalizedimfile
     
    598600    psMetadataAddS64(updatenormalizedexpArgs, PS_LIST_TAIL, "-det_id",               0,            "search by chip ID", 0);
    599601    psMetadataAddS32(updatenormalizedexpArgs, PS_LIST_TAIL, "-iteration", 0,            "search by iteration number", 0);
    600     psMetadataAddStr(updatenormalizedexpArgs, PS_LIST_TAIL, "-data_state",           0,            "search for telescope", NULL);
     602    psMetadataAddStr(updatenormalizedexpArgs, PS_LIST_TAIL, "-data_state",           0,            "set state", NULL);
    601603
    602604    // -pendingcleanup_normalizedexp
     
    678680    psMetadataAddS64(updateresidimfileArgs, PS_LIST_TAIL, "-exp_id",               0,            "search by exp_id", 0);
    679681    psMetadataAddStr(updateresidimfileArgs, PS_LIST_TAIL, "-class_id",             0,            "search by exp_name", NULL);
    680     psMetadataAddStr(updateresidimfileArgs, PS_LIST_TAIL, "-data_state",           0,            "search for telescope", NULL);
     682    psMetadataAddStr(updateresidimfileArgs, PS_LIST_TAIL, "-data_state",           0,            "set state", NULL);
    681683
    682684    // -pendingcleanup_residimfile
     
    759761    psMetadataAddStr(updateresidexpArgs, PS_LIST_TAIL, "-path_base",  0,            "define base output location", NULL);
    760762    psMetadataAddBool(updateresidexpArgs, PS_LIST_TAIL, "-reject",  0,            "exposure is not to be stacked in the next iteration", false);
    761     psMetadataAddStr(updateresidexpArgs, PS_LIST_TAIL, "-data_state",           0,            "search for telescope", NULL);
     763    psMetadataAddStr(updateresidexpArgs, PS_LIST_TAIL, "-data_state",           0,            "set state", NULL);
    762764
    763765    // -pendingcleanup_residexp
     
    813815    psMetadataAddBool(updatedetrunsummaryArgs, PS_LIST_TAIL, "-accept",  0,            "declare that this detrun iteration is accepted as a master", false);
    814816    psMetadataAddBool(updatedetrunsummaryArgs, PS_LIST_TAIL, "-reject",  0,            "reject this detrun iteration as a master", false);
     817    psMetadataAddStr(updatedetrunsummaryArgs, PS_LIST_TAIL, "-data_state", 0,          "set the data state", NULL);
     818    psMetadataAddS32(updatedetrunsummaryArgs, PS_LIST_TAIL, "-iteration", 0,           "search by iteration number", 0);
     819
     820    // -pendingcleanup_detrunsummary
     821    psMetadata *pendingcleanup_detrunsummaryArgs = psMetadataAlloc();
     822    psMetadataAddS64(pendingcleanup_detrunsummaryArgs, PS_LIST_TAIL, "-det_id", 0,     "search by detrend ID (required)", 0);
     823    psMetadataAddS32(pendingcleanup_detrunsummaryArgs, PS_LIST_TAIL, "-iteration", 0,  "search by iteration number", 0);
     824    psMetadataAddU64(pendingcleanup_detrunsummaryArgs, PS_LIST_TAIL, "-limit",  0,     "limit result set to N items", 0);
     825    psMetadataAddBool(pendingcleanup_detrunsummaryArgs, PS_LIST_TAIL, "-simple", 0,    "use the simple output format", false);
    815826
    816827    // -updatedetrun
     
    968979    PXOPT_ADD_MODE("-updatedetrunsummary", "", DETTOOL_MODE_UPDATEDETRUNSUMMARY, updatedetrunsummaryArgs);
    969980
     981    PXOPT_ADD_MODE("-pendingcleanup_detrunsummary", "", DETTOOL_MODE_PENDINGCLEANUP_DETRUNSUMMARY, pendingcleanup_detrunsummaryArgs);
     982
    970983    PXOPT_ADD_MODE("-updatedetrun", "", DETTOOL_MODE_UPDATEDETRUN, updatedetrunArgs);
    971984    PXOPT_ADD_MODE("-rerun",           "", DETTOOL_MODE_RERUN,         rerunArgs);
  • branches/eam_branches/20090715/ippTools/src/dettool_detrunsummary.c

    r23688 r25400  
    336336}
    337337
    338 // XXX need to add -data_state here
     338bool pendingcleanup_detrunsummaryMode(pxConfig *config) {
     339  PS_ASSERT_PTR_NON_NULL(config, false);
     340
     341  PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false);
     342  PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
     343
     344  psMetadata *where = psMetadataAlloc();
     345  PXOPT_COPY_S64(config->args, where, "-det_id", "det_id", "==");
     346  PXOPT_COPY_S32(config->args, where, "-iteration", "iteration", "==");
     347
     348  psString query = pxDataGet("dettool_pendingcleanup_detrunsummary.sql");
     349  if (!query) {
     350    psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement");
     351    return(false);
     352  }
     353 
     354  if (psListLength(where->list)) {
     355    psString whereClause = psDBGenerateWhereConditionSQL(where, "detRunSummary");
     356    psStringAppend(&query, " AND %s", whereClause);
     357    psFree(whereClause);
     358  }
     359  psFree(where);
     360
     361  // treat limit == 0 as "no limit"
     362  if (limit) {
     363    psString limitString = psDBGenerateLimitSQL(limit);
     364    psStringAppend(&query, " %s", limitString);
     365    psFree(limitString);
     366  }
     367  //  fprintf(stderr,">>>%s<<<\n",query);
     368  if (!p_psDBRunQuery(config->dbh, query)) {
     369    psError(PS_ERR_UNKNOWN, false, "database error");
     370    psFree(query);
     371    return(false);
     372  }
     373  psFree(query);
     374
     375  psArray *output = p_psDBFetchResult(config->dbh);
     376  if (!output) {
     377    psError(PS_ERR_UNKNOWN, false, "database error");
     378    return(false);
     379  }
     380  if (!psArrayLength(output)) {
     381    psTrace("dettool", PS_LOG_INFO, "no rows found");
     382    psFree(output);
     383    return(true);
     384  }
     385
     386  // negative simple so the default is true
     387  if (!ippdbPrintMetadatas(stdout, output, "pendingCleanupDetRun", !simple)) {
     388    psError(PS_ERR_UNKNOWN, false, "failed to print array");
     389    psFree(output);
     390    return(false);
     391  }
     392  psFree(output);
     393
     394  return(true);
     395}
     396
     397
     398// preliminary code now.
    339399bool updatedetrunsummaryMode(pxConfig *config)
    340400{
     
    344404    PXOPT_LOOKUP_BOOL(accept, config->args, "-accept", false);
    345405    PXOPT_LOOKUP_BOOL(reject, config->args, "-reject", false);
     406    PXOPT_LOOKUP_STR(data_state, config->args, "-data_state", ((accept == 0)&&(reject == 0)), false);
     407    PXOPT_LOOKUP_S32(iteration, config->args, "-iteration", ((accept == 0)&&(reject == 0)), false);
     408
    346409
    347410    if (accept && reject) {
     
    350413    }
    351414
    352     if (!(accept || reject)) {
    353         psError(PS_ERR_UNKNOWN, true, "either -accept or -reject is required");
    354         return false;
    355     }
    356 
    357     char *query = "UPDATE detRunSummary SET accept = %d WHERE det_id = %"PRId64;
    358     if (!p_psDBRunQueryF(config->dbh, query, accept, det_id)) {
    359         psError(PS_ERR_UNKNOWN, false, "database error");
    360         return false;
     415    if (!(accept || reject || (data_state != NULL))) {
     416        psError(PS_ERR_UNKNOWN, true, "either -accept or -reject is required if -data_state is not supplied");
     417        return false;
     418    }
     419
     420    if (accept || reject) {
     421      char *query = "UPDATE detRunSummary SET accept = %d WHERE det_id = %"PRId64;
     422      if (!p_psDBRunQueryF(config->dbh, query, accept, det_id)) {
     423        psError(PS_ERR_UNKNOWN, false, "database error");
     424        return false;
     425      }
     426    }
     427    else {
     428      PS_ASSERT_PTR_NON_NULL(data_state,false);
     429
     430/*       if (!isValidDataState(data_state)) return false; */
     431     
     432     
     433     
     434      char *query_detRunSummary = "UPDATE detRunSummary SET data_state = '%s'"
     435        " WHERE det_id = %" PRId64
     436        " AND iteration = %" PRId32;
     437      if (!p_psDBRunQueryF(config->dbh, query_detRunSummary, data_state, det_id,iteration)) {
     438        psError(PS_ERR_UNKNOWN, false,
     439                "failed to change state for det_id %" PRId64 ", iteration %" PRId32, det_id,iteration);
     440        return false;
     441      }
     442
     443      /* This check allows the one update to flag everything for cleanup.  The check for full is only temporary while I test for bugs. */
     444      if ((!strncmp(data_state,"goto_",5)
     445           //      || (!strcmp(data_state,"full"))
     446           //      || (!strcmp(data_state,"cleaned"))
     447           ))   {
     448        char *query_detProcessedImfile = "UPDATE detProcessedImfile SET data_state = '%s'"
     449          " WHERE det_id = %" PRId64;
     450        if (!p_psDBRunQueryF(config->dbh, query_detProcessedImfile,data_state,det_id)) {
     451          psError(PS_ERR_UNKNOWN, false,
     452                  "failed to change state for detProcessedImfile det_id %" PRId64 ", iteration %" PRId32, det_id,iteration);
     453          return(false);
     454        }
     455       
     456        char *query_detProcessedExp = "UPDATE detProcessedExp SET data_state = '%s'"
     457          " WHERE det_id = %" PRId64;
     458        if (!p_psDBRunQueryF(config->dbh, query_detProcessedExp,data_state,det_id)) {
     459          psError(PS_ERR_UNKNOWN, false,
     460                  "failed to change state for detProcessedExp det_id %" PRId64 ", iteration %" PRId32, det_id,iteration);
     461          return(false);
     462        }
     463       
     464        char *query_detNormalizedImfile = "UPDATE detNormalizedImfile SET data_state = '%s'"
     465          " WHERE det_id = %" PRId64
     466          " AND iteration = %" PRId32;
     467        if (!p_psDBRunQueryF(config->dbh, query_detNormalizedImfile,data_state,det_id,iteration)) {
     468          psError(PS_ERR_UNKNOWN, false,
     469                  "failed to change state for detNormalizedImfile det_id %" PRId64 ", iteration %" PRId32, det_id,iteration);
     470          return(false);
     471        }
     472       
     473        char *query_detNormalizedStatImfile = "UPDATE detNormalizedStatImfile SET data_state = '%s'"
     474          " WHERE det_id = %" PRId64
     475          " AND iteration = %" PRId32;
     476        if (!p_psDBRunQueryF(config->dbh, query_detNormalizedStatImfile,data_state,det_id,iteration)) {
     477          psError(PS_ERR_UNKNOWN, false,
     478                  "failed to change state for detNormalizedStatImfile det_id %" PRId64 ", iteration %" PRId32, det_id,iteration);
     479          return(false);
     480        }
     481
     482        char *query_detNormalizedExp = "UPDATE detNormalizedExp SET data_state = '%s'"
     483          " WHERE det_id = %" PRId64
     484          " AND iteration = %" PRId32;
     485        if (!p_psDBRunQueryF(config->dbh, query_detNormalizedExp,data_state,det_id,iteration)) {
     486          psError(PS_ERR_UNKNOWN, false,
     487                  "failed to change state for detNormalizedExp det_id %" PRId64 ", iteration %" PRId32, det_id,iteration);
     488          return(false);
     489        }
     490       
     491        char *query_detResidImfile = "UPDATE detResidImfile SET data_state = '%s'"
     492          " WHERE det_id = %" PRId64
     493          " AND iteration = %" PRId32;
     494        if (!p_psDBRunQueryF(config->dbh, query_detResidImfile,data_state,det_id,iteration)) {
     495          psError(PS_ERR_UNKNOWN, false,
     496                  "failed to change state for detResidImfile det_id %" PRId64 ", iteration %" PRId32, det_id,iteration);
     497          return(false);
     498        }
     499       
     500        char *query_detResidExp = "UPDATE detResidExp SET data_state = '%s'"
     501          " WHERE det_id = %" PRId64
     502          " AND iteration = %" PRId32;
     503        if (!p_psDBRunQueryF(config->dbh, query_detResidExp,data_state,det_id,iteration)) {
     504          psError(PS_ERR_UNKNOWN, false,
     505                  "failed to change state for detResidExp det_id %" PRId64 ", iteration %" PRId32, det_id,iteration);
     506          return(false);
     507        }
     508       
     509        char *query_detStackedImfile = "UPDATE detStackedImfile SET data_state = '%s'"
     510          " WHERE det_id = %" PRId64
     511          " AND iteration = %" PRId32;
     512        if (!p_psDBRunQueryF(config->dbh, query_detStackedImfile,data_state,det_id,iteration)) {
     513          psError(PS_ERR_UNKNOWN, false,
     514                  "failed to change state for detStackedImfile det_id %" PRId64 ", iteration %" PRId32, det_id,iteration);
     515          return(false);
     516        }
     517      }
     518      /* End if */
     519     
    361520    }
    362521
  • branches/eam_branches/20090715/ippTools/src/dettool_processedimfile.c

    r23688 r25400  
    314314    PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false);
    315315    PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
    316 
     316/*     int i; */
    317317    psMetadata *where = psMetadataAlloc();
    318318    PXOPT_COPY_S64(config->args, where, "-det_id", "det_id", "==");
     
    345345        return false;
    346346    }
     347/*     fprintf(stderr,"DETTOOL:procimfile: %s\n",query); */
    347348    psFree(query);
    348349
     
    350351    if (!output) {
    351352        psError(PS_ERR_UNKNOWN, false, "database error");
     353/*      fprintf(stderr,"WTF !output?\n"); */
    352354        return false;
    353355    }
    354356    if (!psArrayLength(output)) {
    355357        psTrace("dettool", PS_LOG_INFO, "no rows found");
     358/*      fprintf(stderr,"WTF no rows??\n"); */
    356359        psFree(output);
    357360        return true;
     
    359362
    360363    // negative simple so the default is true
     364/*     i = (int) ippdbPrintMetadatas(stdout, output, "detCleanupProcessedImfile", !simple); */
     365/*     fprintf(stderr,">>%d<<\n",i); */
    361366    if (!ippdbPrintMetadatas(stdout, output, "detCleanupProcessedImfile", !simple)) {
    362367        psError(PS_ERR_UNKNOWN, false, "failed to print array");
     
    364369        return false;
    365370    }
     371/*     fprintf(stderr,"DETTOOL:procimfile: %s\n",output); */
     372/*     psFree(output); */
    366373
    367374    psFree(output);
  • branches/eam_branches/20090715/ippTools/src/difftool.c

    r25022 r25400  
    584584    PXOPT_COPY_STR(config->args, where, "-tess_id", "diffRun.tess_id", "==");
    585585    PXOPT_COPY_S16(config->args, where, "-fault", "diffSkyfile.fault", "==");
    586     PXOPT_COPY_S64(config->args, where, "-exp_id", "rawExp.exp_id", "==");
    587     PXOPT_COPY_STR(config->args, where, "-exp_name", "rawExp.exp_name", "==");
    588     PXOPT_COPY_STR(config->args, where, "-warp_id", "warpRun.warp_id", "==");
     586    PXOPT_COPY_S64(config->args, where, "-exp_id", "rawInput.exp_id", "==");
     587    PXOPT_COPY_STR(config->args, where, "-exp_name", "rawInput.exp_name", "==");
     588    PXOPT_COPY_STR(config->args, where, "-warp_id", "warpInput.warp_id", "==");
    589589
    590590    PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false);
     
    11791179
    11801180        if (!available && (num != skycell_count)) {
    1181             psTrace("difftool", PS_LOG_INFO, "%" PRId64 " skyfiles with stack found for warp_id %"
    1182                 PRId64 " need %" PRId64, num, skycell_count, warp_id);
     1181            psTrace("difftool", PS_LOG_INFO, "%" PRId64 " skyfiles with stack found for warp_id %" PRId64
     1182                    " need %" PRId64, num, warp_id, skycell_count);
    11831183            continue;
    11841184        }
  • branches/eam_branches/20090715/ippTools/src/disttool.c

    r24731 r25400  
    384384        psStringAppend(&outroot, "%s/%s/%s", workdir, run_tag, stage);
    385385
    386         if (set_label == NULL) {
    387             set_label = target_label;
     386        psString new_label;
     387        if (set_label != NULL) {
     388            new_label = set_label;
     389        } else {
     390            new_label = target_label;
    388391        }
    389392        distRunRow *row = distRunRowAlloc(
     
    392395                stage,
    393396                stage_id,
    394                 set_label,
     397                new_label,
    395398                outroot,
    396399                clean,
  • branches/eam_branches/20090715/ippTools/src/faketool.c

    r25022 r25400  
    5252static bool tofullimfileMode(pxConfig *config);
    5353static bool topurgedimfileMode(pxConfig *config);
     54static bool toscrubbedimfileMode(pxConfig *config);
    5455static bool exportrunMode(pxConfig *config);
    5556static bool importrunMode(pxConfig *config);
     
    9192        MODECASE(FAKETOOL_MODE_TOFULLIMFILE,            tofullimfileMode);
    9293        MODECASE(FAKETOOL_MODE_TOPURGEDIMFILE,          topurgedimfileMode);
     94        MODECASE(FAKETOOL_MODE_TOSCRUBBEDIMFILE,        toscrubbedimfileMode);
    9395        MODECASE(FAKETOOL_MODE_EXPORTRUN,               exportrunMode);
    9496        MODECASE(FAKETOOL_MODE_IMPORTRUN,               importrunMode);
     
    12511253    return change_imfile_data_state(config, "purged", "goto_purged");
    12521254}
     1255static bool toscrubbedimfileMode(pxConfig *config)
     1256{
     1257     return change_imfile_data_state(config, "scrubbed", "goto_scrubbed");
     1258}
    12531259
    12541260bool exportrunMode(pxConfig *config)
  • branches/eam_branches/20090715/ippTools/src/faketool.h

    r23339 r25400  
    4545    FAKETOOL_MODE_TOFULLIMFILE,
    4646    FAKETOOL_MODE_TOPURGEDIMFILE,
     47    FAKETOOL_MODE_TOSCRUBBEDIMFILE,
    4748    FAKETOOL_MODE_EXPORTRUN,
    4849    FAKETOOL_MODE_IMPORTRUN
  • branches/eam_branches/20090715/ippTools/src/faketoolConfig.c

    r25022 r25400  
    301301    psMetadataAddStr(topurgedimfileArgs, PS_LIST_TAIL, "-class_id",  0,        "class ID to update", NULL);
    302302
     303    // -toscrubbedimfile
     304    psMetadata *toscrubbedimfileArgs = psMetadataAlloc();
     305    psMetadataAddS64(toscrubbedimfileArgs, PS_LIST_TAIL, "-fake_id", 0,         "fake ID to update", 0);
     306    psMetadataAddStr(toscrubbedimfileArgs, PS_LIST_TAIL, "-class_id", 0,        "class ID to update", NULL);
     307
    303308    // -exportrun
    304309    psMetadata *exportrunArgs = psMetadataAlloc();
     
    337342    PXOPT_ADD_MODE("-tofullimfile",        "set imfile state to full",               FAKETOOL_MODE_TOFULLIMFILE,         tofullimfileArgs);
    338343    PXOPT_ADD_MODE("-topurgedimfile",      "set imfile state to purged",             FAKETOOL_MODE_TOPURGEDIMFILE,       topurgedimfileArgs);
     344    PXOPT_ADD_MODE("-toscrubbedimfile",    "set imfile state to scrubbed",           FAKETOOL_MODE_TOSCRUBBEDIMFILE,     toscrubbedimfileArgs);
    339345    PXOPT_ADD_MODE("-exportrun",            "export run for import on other database", FAKETOOL_MODE_EXPORTRUN, exportrunArgs);
    340346    PXOPT_ADD_MODE("-importrun",            "import run from metadata file",           FAKETOOL_MODE_IMPORTRUN, importrunArgs);
  • branches/eam_branches/20090715/ippTools/src/pstamptool.c

    r25022 r25400  
    4444static bool pendingjobMode(pxConfig *config);
    4545static bool updatejobMode(pxConfig *config);
     46static bool revertjobMode(pxConfig *config);
    4647static bool addprojectMode(pxConfig *config);
    4748static bool projectMode(pxConfig *config);
     
    8081        MODECASE(PSTAMPTOOL_MODE_PENDINGJOB, pendingjobMode);
    8182        MODECASE(PSTAMPTOOL_MODE_UPDATEJOB, updatejobMode);
     83        MODECASE(PSTAMPTOOL_MODE_REVERTJOB, revertjobMode);
    8284        MODECASE(PSTAMPTOOL_MODE_ADDPROJECT, addprojectMode);
    8385        MODECASE(PSTAMPTOOL_MODE_MODPROJECT, modprojectMode);
     
    224226    PS_ASSERT_PTR_NON_NULL(config, false);
    225227
    226     PXOPT_LOOKUP_STR(uri,         config->args, "-uri",           true, false);
    227     // PXOPT_LOOKUP_STR(outFileset,  config->args, "-out_fileset",   true, false);
    228     PXOPT_LOOKUP_S64(ds_id,       config->args, "-ds_id",         false, false);
    229 
    230     char *query ="INSERT INTO pstampRequest"
    231                      " (state, uri, ds_id, fault)"
    232                      " VALUES( 'new', '%s', %" PRId64 ", 0 )";
    233     if (!p_psDBRunQueryF(config->dbh, query, uri, ds_id)) {
    234         psError(PS_ERR_UNKNOWN, false, "database error");
    235         return false;
    236     }
    237 
    238     psU64 affected = psDBAffectedRows(config->dbh);
    239     if (affected != 1) {
    240         psError(PS_ERR_UNKNOWN, false,
    241             "should have affected one row but %" PRIu64 " rows were modified",
    242             affected);
     228    PXOPT_LOOKUP_STR(uri,         config->args, "-uri",   true, false);
     229    PXOPT_LOOKUP_STR(name,        config->args, "-name",  false, false);
     230    PXOPT_LOOKUP_S64(ds_id,       config->args, "-ds_id", false, false);
     231
     232    if (!pstampRequestInsert(config->dbh,
     233        0,      // req_id
     234        ds_id,
     235        "new",  //state
     236        name,
     237        NULL,   // reqType
     238        NULL,   // outProduct
     239        uri,   
     240        0       // fault
     241        )) {
     242        psError(PS_ERR_UNKNOWN, false, "failed to insert request");
    243243        return false;
    244244    }
     
    315315    PS_ASSERT_PTR_NON_NULL(config, false);
    316316
    317     PXOPT_LOOKUP_S64(req_id,  config->args, "-req_id", true, false);
     317    psMetadata *where = psMetadataAlloc();
     318    PXOPT_COPY_S64(config->args, where, "-req_id", "req_id", "==");
     319    PXOPT_COPY_S64(config->args, where, "-not_req_id", "req_id", "!=");
     320    PXOPT_COPY_STR(config->args, where, "-name", "name", "==");
     321
    318322    PXOPT_LOOKUP_U64(limit,   config->args, "-limit",  false, false);
    319323    PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
    320324
    321     psString query = NULL;
    322     psStringAppend(&query, "SELECT * from pstampRequest WHERE req_id = %" PRId64, req_id);
     325    if (!psListLength(where->list)) {
     326        psError(PS_ERR_UNKNOWN, true, "-req_id or -name must be supplied");
     327        return false;
     328    }
     329
     330    psString query = psStringCopy("SELECT * from pstampRequest");
     331
     332    psString whereClause = psDBGenerateWhereConditionSQL(where, NULL);
     333    psStringAppend(&query, " WHERE %s", whereClause);
     334    psFree(whereClause);
     335    psFree(where);
    323336   
    324337    // treat limit == 0 as "no limit"
     
    342355    }
    343356    if (!psArrayLength(output)) {
    344         psTrace("pstamptool", PS_LOG_INFO, "no rows found");
    345         psFree(output);
    346         return true;
     357        psTrace("pstamptool", PS_LOG_INFO, "request not found");
     358        // This causes main to exit with PS_EXIT_DATA_ERROR which the script is looking for
     359        psError(PXTOOLS_ERR_DATA, true, "request not found");
     360        psFree(output);
     361        // we return false so that the caller can determine that a request does not exist
     362        return false;
    347363    }
    348364
     
    366382    PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
    367383
    368     psString query =
    369         "SELECT * FROM pstampRequest WHERE state = 'run' AND "
    370             "(SELECT count(*) FROM pstampJob WHERE pstampJob.req_id = pstampRequest.req_id "
    371             " AND pstampJob.state != 'stop') = 0" ;
     384    psString query = pxDataGet("pstamptool_completedreq.sql");
    372385
    373386    // treat limit == 0 as "no limit"
     
    476489    PS_ASSERT_PTR_NON_NULL(config, false);
    477490
    478     PXOPT_LOOKUP_S64(req_id,     config->args, "-req_id",     true, false);
    479 
    480     // printf("Revert request %" PRId64 "\n", req_id);
     491    psMetadata *where = psMetadataAlloc();
     492
     493    PXOPT_COPY_S64(config->args, where, "-req_id", "req_id", "==");
     494    PXOPT_COPY_S64(config->args, where, "-fault", "req_id", "==");
     495    PXOPT_COPY_STR(config->args, where, "-state", "pstampRequest.state", "==");
     496
     497    if (!psListLength(where->list)) {
     498        psFree(where);
     499        psError(PXTOOLS_ERR_DATA, false, "search parameters are required");
     500        return false;
     501    }
     502
     503    psString whereClause = psDBGenerateWhereConditionSQL(where, NULL);
     504    psFree(where);
     505
     506    // delete any jobs that were queued by requests that didn't complete parsing (pstampRequest.state = 'new'
     507    // If state =  'run' was supplied this will be a no-op
     508    psString query = pxDataGet("pstamptool_revertreq_deletejobs.sql");
     509    psStringAppend(&query, " AND %s", whereClause);
     510    if (!p_psDBRunQuery(config->dbh, query)) {
     511        psError(PS_ERR_UNKNOWN, false, "database error");
     512        return false;
     513    }
     514    psFree(query);
     515
     516    // clear fault for requests
     517    query = pxDataGet("pstamptool_revertreq.sql");
     518    psStringAppend(&query, " AND %s", whereClause);
    481519   
    482     if (!p_psDBRunQueryF(config->dbh, "DELETE FROM pstampJob where req_id = %" PRId64, req_id)) {
    483         psError(PS_ERR_UNKNOWN, false, "database error");
    484         return false;
    485     }
    486     if (!p_psDBRunQueryF(config->dbh,
    487         "UPDATE pstampRequest set state ='new', name=NULL, reqType=NULL, fault=0 where req_id = %" PRId64, req_id)) {
    488         psError(PS_ERR_UNKNOWN, false, "database error");
    489         return false;
    490     }
     520    psFree(whereClause);
     521
     522    if (!p_psDBRunQuery(config->dbh, query)) {
     523        psError(PS_ERR_UNKNOWN, false, "database error");
     524        return false;
     525    }
     526    psFree(query);
    491527
    492528    return true;
     
    496532{
    497533    bool    stampJob = false;
    498     char   *query = NULL;
    499534
    500535    PS_ASSERT_PTR_NON_NULL(config, false);
     
    503538    PXOPT_LOOKUP_STR(rownum,      config->args, "-rownum",     true, false);
    504539    PXOPT_LOOKUP_STR(job_type,    config->args, "-job_type",   false, false);
    505     PXOPT_LOOKUP_STR(outputBase,  config->args, "-outputBase", true,  false);
     540    PXOPT_LOOKUP_STR(outputBase,  config->args, "-outputBase", false,  false);
    506541    PXOPT_LOOKUP_STR(stateString, config->args, "-state",      false, false);
    507     PXOPT_LOOKUP_STR(fault,       config->args, "-fault",      false, false);
     542    PXOPT_LOOKUP_S16(fault,       config->args, "-fault",      false, false);
    508543    PXOPT_LOOKUP_S64(exp_id,      config->args, "-exp_id",     false, false);
    509544
     545    // unless the job is being inserted with stop state require outputBase
     546    if (strcmp(stateString, "stop") && !outputBase) {
     547        psError(PS_ERR_UNKNOWN, true, "-outputBase is required");
     548        return false;
     549    }
     550
    510551    // default value for job_type is defined in pstamptoolConfig.c
    511     if (!strcmp(job_type, "get_image") || !strcmp(job_type, "detect_query")) {
     552    if (!strcmp(job_type, "get_image") || !strcmp(job_type, "detect_query") || !strcmp(job_type, "none")) {
    512553        stampJob = false;
    513554    } else if (!strcmp(job_type, "stamp")) {
     
    517558        return false;
    518559    }
    519     if (stampJob) {
    520         query = pxDataGet("pstamptool_addjob_stampjob.sql");
    521     } else {
    522         query = pxDataGet("pstamptool_addjob_otherjob.sql");
    523     }
    524     if (!query) {
    525         psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement");
    526         return false;
    527     }
    528 
    529     if (!p_psDBRunQueryF(config->dbh, query, req_id, rownum, stateString, job_type, exp_id, outputBase, fault)) {
     560    if (!pstampJobInsert(config->dbh,
     561            0, // job_id
     562            req_id,
     563            rownum,
     564            stateString,
     565            job_type,
     566            fault,
     567            exp_id,
     568            outputBase
     569            )) {
    530570        psError(PS_ERR_UNKNOWN, false, "database error");
    531571        return false;
     
    715755    return true;
    716756}
     757
     758static bool revertjobMode(pxConfig *config)
     759{
     760    PS_ASSERT_PTR_NON_NULL(config, false);
     761
     762    psMetadata *where = psMetadataAlloc();
     763
     764    PXOPT_COPY_S64(config->args, where, "-job_id", "job_id", "==");
     765    PXOPT_COPY_S64(config->args, where, "-req_id", "req_id", "==");
     766    PXOPT_COPY_S64(config->args, where, "-fault",  "fault", "==");
     767
     768    if (!psListLength(where->list)) {
     769        psFree(where);
     770        psError(PXTOOLS_ERR_DATA, false, "search parameters are required");
     771        return false;
     772    }
     773
     774    psString query = pxDataGet("pstamptool_revertjob.sql");
     775    psString whereClause = psDBGenerateWhereConditionSQL(where, "pstampJob");
     776    psStringAppend(&query, " AND %s", whereClause);
     777    psFree(whereClause);
     778    psFree(where);
     779   
     780    if (!p_psDBRunQuery(config->dbh, query)) {
     781        psError(PS_ERR_UNKNOWN, false, "database error");
     782        return false;
     783    }
     784
     785    return true;
     786}
    717787static bool addprojectMode(pxConfig *config)
    718788{
  • branches/eam_branches/20090715/ippTools/src/pstamptool.h

    r19760 r25400  
    3939    PSTAMPTOOL_MODE_JOBRESULT,
    4040    PSTAMPTOOL_MODE_UPDATEJOB,
     41    PSTAMPTOOL_MODE_REVERTJOB,
    4142    PSTAMPTOOL_MODE_ADDPROJECT,
    4243    PSTAMPTOOL_MODE_MODPROJECT,
  • branches/eam_branches/20090715/ippTools/src/pstamptoolConfig.c

    r25022 r25400  
    6363    // -addreq
    6464    psMetadata *addreqArgs = psMetadataAlloc();
    65     psMetadataAddStr(addreqArgs, PS_LIST_TAIL, "-uri", 0,            "define request file uri (required)", NULL);
    66     psMetadataAddS64(addreqArgs, PS_LIST_TAIL, "-ds_id", 0,            "define request ds_id", 0);
    67     // psMetadataAddStr(addreqArgs, PS_LIST_TAIL, "-out_fileset", 0,            "define request output_fileset", NULL);
     65    psMetadataAddStr(addreqArgs, PS_LIST_TAIL, "-uri", 0,     "define request file uri (required)", NULL);
     66    psMetadataAddS64(addreqArgs, PS_LIST_TAIL, "-ds_id", 0,   "define request ds_id", 0);
     67    psMetadataAddStr(addreqArgs, PS_LIST_TAIL, "-name", 0,   "define request name", NULL);
    6868
    6969    // -pendingreq
     
    7575    // -listreq
    7676    psMetadata *listreqArgs = psMetadataAlloc();
    77     psMetadataAddS64(listreqArgs, PS_LIST_TAIL, "-req_id", 0,            "define req_id (required)", 0);
     77    psMetadataAddS64(listreqArgs, PS_LIST_TAIL, "-req_id", 0,            "list by req_id", 0);
     78    psMetadataAddStr(listreqArgs, PS_LIST_TAIL, "-name", 0,              "list by name", NULL);
     79    psMetadataAddS64(listreqArgs, PS_LIST_TAIL, "-not_req_id", 0,        "req_id to not list", 0);
    7880    psMetadataAddU64(listreqArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
    79     psMetadataAddBool(listreqArgs, PS_LIST_TAIL, "-simple", 0,            "use the simple output format", false);
     81    psMetadataAddBool(listreqArgs, PS_LIST_TAIL, "-simple", 0,           "use the simple output format", false);
    8082
    8183    // -completedreq
     
    9698    // -revertreq
    9799    psMetadata *revertreqArgs = psMetadataAlloc();
    98     psMetadataAddS64(revertreqArgs, PS_LIST_TAIL, "-req_id", 0,            "req_id for which to revert", 0);
     100    psMetadataAddS64(revertreqArgs, PS_LIST_TAIL, "-req_id", 0,     "req_id to revert", 0);
     101    psMetadataAddS16(revertreqArgs, PS_LIST_TAIL, "-fault",  0,     "fault to revert", 0);
     102    psMetadataAddStr(revertreqArgs, PS_LIST_TAIL, "-state", 0,      "state to revert", NULL);
    99103
    100104    // -addjob
     
    106110    psMetadataAddStr(addjobArgs, PS_LIST_TAIL, "-state", 0,            "new state", "run");
    107111    psMetadataAddS64(addjobArgs, PS_LIST_TAIL, "-exp_id", 0,           "exposure id", 0);
    108     psMetadataAddStr(addjobArgs, PS_LIST_TAIL, "-fault", 0,            "new result", NULL);
     112    psMetadataAddS16(addjobArgs, PS_LIST_TAIL, "-fault", 0,            "new result", 0);
    109113
    110114    // -listjob
     
    127131    psMetadataAddStr(updatejobArgs, PS_LIST_TAIL, "-state", 0,            "new state", NULL);
    128132    psMetadataAddStr(updatejobArgs, PS_LIST_TAIL, "-fault", 0,            "new result", NULL);
     133
     134    // -revertjob
     135    psMetadata *revertjobArgs = psMetadataAlloc();
     136    psMetadataAddS64(revertjobArgs, PS_LIST_TAIL, "-req_id", 0,     "req_id to revert", 0);
     137    psMetadataAddS64(revertjobArgs, PS_LIST_TAIL, "-job_id", 0,     "job_id to revert", 0);
     138    psMetadataAddS16(revertjobArgs, PS_LIST_TAIL, "-fault",  0,     "fault to revert", 0);
    129139
    130140    // -addproject
     
    158168    PXOPT_ADD_MODE("-addreq",          "", PSTAMPTOOL_MODE_ADDREQ,       addreqArgs);
    159169    PXOPT_ADD_MODE("-pendingreq",      "", PSTAMPTOOL_MODE_PENDINGREQ,   pendingreqArgs);
    160     PXOPT_ADD_MODE("-updatereq",    "", PSTAMPTOOL_MODE_UPDATEREQ, updatereqArgs);
     170    PXOPT_ADD_MODE("-updatereq",       "", PSTAMPTOOL_MODE_UPDATEREQ, updatereqArgs);
    161171    PXOPT_ADD_MODE("-listreq",         "", PSTAMPTOOL_MODE_LISTREQ,      listreqArgs);
    162172    PXOPT_ADD_MODE("-completedreq",    "", PSTAMPTOOL_MODE_COMPLETEDREQ, completedreqArgs);
     
    166176    PXOPT_ADD_MODE("-listjob",         "", PSTAMPTOOL_MODE_LISTJOB,      listjobArgs);
    167177    PXOPT_ADD_MODE("-pendingjob",      "", PSTAMPTOOL_MODE_PENDINGJOB,   pendingjobArgs);
    168     PXOPT_ADD_MODE("-updatejob",    "", PSTAMPTOOL_MODE_UPDATEJOB, updatejobArgs);
     178    PXOPT_ADD_MODE("-updatejob",       "", PSTAMPTOOL_MODE_UPDATEJOB,    updatejobArgs);
     179    PXOPT_ADD_MODE("-revertjob",       "", PSTAMPTOOL_MODE_REVERTJOB,    revertjobArgs);
    169180
    170181    PXOPT_ADD_MODE("-adddatastore",    "", PSTAMPTOOL_MODE_ADDDATASTORE, adddatastoreArgs);
  • branches/eam_branches/20090715/ippTools/src/pubtool.c

    r24512 r25400  
    259259    // required
    260260    PXOPT_LOOKUP_S64(pub_id, config->args, "-pub_id", true, false);
    261     PXOPT_LOOKUP_STR(path_base, config->args, "-path_base",  true, false);
     261    PXOPT_LOOKUP_STR(path_base, config->args, "-path_base", true, false);
    262262
    263263    // optional
     264    PXOPT_LOOKUP_STR(hostname, config->args, "-hostname", false, false);
     265    PXOPT_LOOKUP_F32(dtime_script, config->args, "-dtime_script", false, false);
    264266    PXOPT_LOOKUP_S32(fault, config->args, "-fault", false, false);
    265267
     
    269271    }
    270272
    271     if (!publishDoneInsert(config->dbh, pub_id, path_base, fault)) {
     273    if (!publishDoneInsert(config->dbh, pub_id, path_base, hostname, dtime_script, fault)) {
    272274        psError(PS_ERR_UNKNOWN, false, "Unable to add file");
    273275        if (!psDBRollback(config->dbh)) {
     
    332334    psFree(query);
    333335
    334     return true;
    335 }
    336 
     336    psLogMsg("pubtool", PS_LOG_INFO, "Deleted %" PRIu64 " rows", psDBAffectedRows(config->dbh));
     337
     338    return true;
     339}
     340
  • branches/eam_branches/20090715/ippTools/src/pubtoolConfig.c

    r24512 r25400  
    6868    psMetadataAddS64(addArgs, PS_LIST_TAIL, "-pub_id", 0, "define pub_id (required)", 0);
    6969    psMetadataAddStr(addArgs, PS_LIST_TAIL, "-path_base", 0, "define path_base (required)", NULL);
     70    psMetadataAddStr(addArgs, PS_LIST_TAIL, "-hostname", 0, "define hostname", NULL);
     71    psMetadataAddF32(addArgs, PS_LIST_TAIL, "-dtime_script", 0, "define time for script", NAN);
    7072    psMetadataAddS32(addArgs, PS_LIST_TAIL, "-fault", 0, "define fault code", 0);
    7173
  • branches/eam_branches/20090715/ippTools/src/pxtools.c

    r23918 r25400  
    3737    if (!strcmp(state, "goto_cleaned")) return true;
    3838    if (!strcmp(state, "error_cleaned")) return true;
     39    if (!strcmp(state, "goto_purged")) return true;
     40    if (!strcmp(state, "error_purged")) return true;
    3941    if (!strcmp(state, "goto_scrubbed")) return true;
    4042    if (!strcmp(state, "error_scrubbed")) return true;
     
    4244    if (!strcmp(state, "update")) return true;
    4345    if (!strcmp(state, "purged")) return true;
    44     if (!strcmp(state, "goto_purged")) return true;
    45     if (!strcmp(state, "error_purged")) return true;
    46 
     46    if (!strcmp(state, "scrubbed")) return true;
    4747    return false;
    4848}
    4949
    50 // 'scrubbed' is a virtual state equivalent to cleaned, but allows files to be removed
    51 // even if the config files is missing
     50// 'scrubbed' is no longer a virtual state equivalent to cleaned, but allows files to be removed
     51// even if the config files is missing.  This change was prompted as files that are cleaned can
     52// be regenerated, but that is not certain after being scrubbed.
    5253
    5354
  • branches/eam_branches/20090715/ippTools/src/pxtools.h

    r24733 r25400  
    3737#include "pxtoolsErrorCodes.h"
    3838
     39#include "pxadd.h"
    3940#include "pxcam.h"
    4041#include "pxchip.h"
  • branches/eam_branches/20090715/ippTools/src/regtool.c

    r25022 r25400  
    331331    PXOPT_LOOKUP_BOOL(faulted, config->args, "-faulted", false);
    332332    PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
     333    PXOPT_LOOKUP_BOOL(ordered_by_date, config->args, "-ordered_by_date", false);
    333334
    334335    psString query = pxDataGet("regtool_processedimfile.sql");
     
    352353        // don't list faulted rows
    353354        psStringAppend(&query, " %s", "AND rawImfile.fault = 0");
     355    }
     356
     357    // add the ORDER BY statement if desired
     358    if (ordered_by_date) {
     359        psStringAppend(&query, " ORDER BY dateobs");
    354360    }
    355361
  • branches/eam_branches/20090715/ippTools/src/warptool.c

    r25022 r25400  
    5353static bool tocleanedskyfileMode(pxConfig *config);
    5454static bool topurgedskyfileMode(pxConfig *config);
     55static bool toscrubbedskyfileMode(pxConfig *config);
    5556static bool tofullskyfileMode(pxConfig *config);
    5657static bool updateskyfileMode(pxConfig *config);
     
    102103        MODECASE(WARPTOOL_MODE_TOCLEANEDSKYFILE,   tocleanedskyfileMode);
    103104        MODECASE(WARPTOOL_MODE_TOPURGEDSKYFILE,    topurgedskyfileMode);
     105        MODECASE(WARPTOOL_MODE_TOSCRUBBEDSKYFILE,  toscrubbedskyfileMode);
    104106        MODECASE(WARPTOOL_MODE_TOFULLSKYFILE,      tofullskyfileMode);
    105107        MODECASE(WARPTOOL_MODE_UPDATESKYFILE,      updateskyfileMode);
     
    16681670    return change_skyfile_data_state(config, "purged", "goto_purged");
    16691671}
     1672static bool toscrubbedskyfileMode(pxConfig *config)
     1673{
     1674     return change_skyfile_data_state(config, "scrubbed", "goto_scrubbed");
     1675}
    16701676
    16711677static bool updateskyfileMode(pxConfig *config)
  • branches/eam_branches/20090715/ippTools/src/warptool.h

    r24426 r25400  
    4949    WARPTOOL_MODE_TOCLEANEDSKYFILE,
    5050    WARPTOOL_MODE_TOPURGEDSKYFILE,
     51    WARPTOOL_MODE_TOSCRUBBEDSKYFILE,
    5152    WARPTOOL_MODE_TOFULLSKYFILE,
    5253    WARPTOOL_MODE_UPDATESKYFILE,
  • branches/eam_branches/20090715/ippTools/src/warptoolConfig.c

    r25022 r25400  
    279279    psMetadataAddStr(topurgedskyfileArgs, PS_LIST_TAIL, "-skycell_id", 0, "skycell ID to update", NULL);
    280280
     281    // -toscrubbedskyfile
     282    psMetadata *toscrubbedskyfileArgs = psMetadataAlloc();
     283    psMetadataAddS64(toscrubbedskyfileArgs, PS_LIST_TAIL, "-warp_id", 0, "warptool ID to update", 0);
     284    psMetadataAddStr(toscrubbedskyfileArgs, PS_LIST_TAIL, "-skycell_id", 0, "skycell ID to update", NULL);
     285
    281286    // -tofullskyfile
    282287    psMetadata *tofullskyfileArgs = psMetadataAlloc();
     
    328333    PXOPT_ADD_MODE("-tocleanedskyfile", "set skyfile as cleaned", WARPTOOL_MODE_TOCLEANEDSKYFILE, tocleanedskyfileArgs);
    329334    PXOPT_ADD_MODE("-topurgedskyfile", "set skyfile as purged", WARPTOOL_MODE_TOPURGEDSKYFILE, topurgedskyfileArgs);
     335    PXOPT_ADD_MODE("-toscrubbedskyfile", "set skyfile as scrubbed", WARPTOOL_MODE_TOSCRUBBEDSKYFILE, toscrubbedskyfileArgs);
    330336    PXOPT_ADD_MODE("-tofullskyfile", "set skyfile as full (updated)", WARPTOOL_MODE_TOFULLSKYFILE, tofullskyfileArgs);
    331337    PXOPT_ADD_MODE("-updateskyfile", "update fault code for skyfile", WARPTOOL_MODE_UPDATESKYFILE, updateskyfileArgs);
Note: See TracChangeset for help on using the changeset viewer.