IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 18991


Ignore:
Timestamp:
Aug 8, 2008, 5:08:29 PM (18 years ago)
Author:
eugene
Message:

adding cleanup operations to dettool

Location:
branches/eam_branch_20080719/ippTools
Files:
7 added
14 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branch_20080719/ippTools/share/dettool_pendingcleanup_processedimfile.sql

    r18943 r18991  
    77WHERE
    88    detRunSummary.data_state = 'goto_cleaned'
     9AND detProcessedImfile.data_state = 'full'
  • branches/eam_branch_20080719/ippTools/src/dettool.c

    r18643 r18991  
    3939static detInputExpRow *rawDetrenTodetInputExpRow(rawExpRow *rawExp, psS64 det_id, psS32 iteration);
    4040static psS32 incrementIteration(pxConfig *config, psS64 det_id);
    41 static bool isValidMode(pxConfig *config, const char *mode);
    4241
    4342# define MODECASE(caseName, func) \
     
    7776        MODECASE(DETTOOL_MODE_PROCESSEDIMFILE,  processedimfileMode);
    7877        MODECASE(DETTOOL_MODE_REVERTPROCESSEDIMFILE, revertprocessedimfileMode);
     78        MODECASE(DETTOOL_MODE_UPDATEPROCESSEDIMFILE, updateprocessedimfileMode);
    7979        MODECASE(DETTOOL_MODE_PENDINGCLEANUP_PROCESSEDIMFILE, pendingcleanup_processedimfileMode);
    8080        MODECASE(DETTOOL_MODE_DONECLEANUP_PROCESSEDIMFILE, donecleanup_processedimfileMode);
     
    8484        MODECASE(DETTOOL_MODE_PROCESSEDEXP,     processedexpMode);
    8585        MODECASE(DETTOOL_MODE_REVERTPROCESSEDEXP, revertprocessedexpMode);
     86        MODECASE(DETTOOL_MODE_UPDATEPROCESSEDEXP, updateprocessedexpMode);
    8687        MODECASE(DETTOOL_MODE_PENDINGCLEANUP_PROCESSEDEXP, pendingcleanup_processedexpMode);
    8788        MODECASE(DETTOOL_MODE_DONECLEANUP_PROCESSEDEXP, donecleanup_processedexpMode);
     
    9192        MODECASE(DETTOOL_MODE_STACKED,          stackedMode);
    9293        MODECASE(DETTOOL_MODE_REVERTSTACKED,    revertstackedMode);
     94        MODECASE(DETTOOL_MODE_UPDATESTACKED,    updatestackedMode);
    9395        MODECASE(DETTOOL_MODE_PENDINGCLEANUP_STACKED, pendingcleanup_stackedMode);
    9496        MODECASE(DETTOOL_MODE_DONECLEANUP_STACKED, donecleanup_stackedMode);
     
    98100        MODECASE(DETTOOL_MODE_NORMALIZEDSTAT,   normalizedstatMode);
    99101        MODECASE(DETTOOL_MODE_REVERTNORMALIZEDSTAT, revertnormalizedstatMode);
     102        MODECASE(DETTOOL_MODE_UPDATENORMALIZEDSTAT, updatenormalizedstatMode);
    100103        MODECASE(DETTOOL_MODE_PENDINGCLEANUP_NORMALIZEDSTAT, pendingcleanup_normalizedstatMode);
    101104        MODECASE(DETTOOL_MODE_DONECLEANUP_NORMALIZEDSTAT, donecleanup_normalizedstatMode);
     
    105108        MODECASE(DETTOOL_MODE_NORMALIZEDIMFILE, normalizedimfileMode);
    106109        MODECASE(DETTOOL_MODE_REVERTNORMALIZEDIMFILE, revertnormalizedimfileMode);
     110        MODECASE(DETTOOL_MODE_UPDATENORMALIZEDIMFILE, updatenormalizedimfileMode);
    107111        MODECASE(DETTOOL_MODE_PENDINGCLEANUP_NORMALIZEDIMFILE, pendingcleanup_normalizedimfileMode);
    108112        MODECASE(DETTOOL_MODE_DONECLEANUP_NORMALIZEDIMFILE, donecleanup_normalizedimfileMode);
     
    112116        MODECASE(DETTOOL_MODE_NORMALIZEDEXP,    normalizedexpMode);
    113117        MODECASE(DETTOOL_MODE_REVERTNORMALIZEDEXP, revertnormalizedexpMode);
     118        MODECASE(DETTOOL_MODE_UPDATENORMALIZEDEXP, updatenormalizedexpMode);
    114119        MODECASE(DETTOOL_MODE_PENDINGCLEANUP_NORMALIZEDEXP, pendingcleanup_normalizedexpMode);
    115120        MODECASE(DETTOOL_MODE_DONECLEANUP_NORMALIZEDEXP, donecleanup_normalizedexpMode);
     
    119124        MODECASE(DETTOOL_MODE_RESIDIMFILE,      residimfileMode);
    120125        MODECASE(DETTOOL_MODE_REVERTRESIDIMFILE,revertresidimfileMode);
     126        MODECASE(DETTOOL_MODE_UPDATERESIDIMFILE, updateresidimfileMode);
    121127        MODECASE(DETTOOL_MODE_PENDINGCLEANUP_RESIDIMFILE, pendingcleanup_residimfileMode);
    122128        MODECASE(DETTOOL_MODE_DONECLEANUP_RESIDIMFILE, donecleanup_residimfileMode);
     
    174180   
    175181    psMetadata *where = psMetadataAlloc();
    176     PXOPT_COPY_STR(config->args, where, "-exp_id", "exp_id", "==");
     182    PXOPT_COPY_S64(config->args, where, "-exp_id", "exp_id", "==");
    177183    PXOPT_COPY_STR(config->args, where, "-exp_type", "exp_type", "==");
    178184    PXOPT_COPY_STR(config->args, where, "-inst", "camera", "==");
     
    688694
    689695   
    690     PXOPT_LOOKUP_STR(det_id, config->args, "-det_id", true, false); // required
     696    PXOPT_LOOKUP_S64(det_id, config->args, "-det_id", true, false); // required
    691697    PXOPT_LOOKUP_STR(det_type, config->args, "-set_det_type", false, false); // optional
    692698    PXOPT_LOOKUP_STR(mode, config->args, "-set_mode", false, false); // optional
     
    724730    {
    725731        psMetadata *where = psMetadataAlloc();
    726         psMetadataAddS64(where, PS_LIST_TAIL, "det_id", 0, "==", (psS64)atoll(det_id));
     732        psMetadataAddS64(where, PS_LIST_TAIL, "det_id", 0, "==", det_id);
    727733        detRuns = detRunSelectRowObjects(config->dbh, where, 0);
    728734        psFree(where);
     
    734740    // sanity check the result... we should have only found one det_id
    735741    if (psArrayLength(detRuns) != 1) {
    736         psAbort("found more then one detRun matching det_id %" PRId64 " (this should not happen)", (psS64)atoll(det_id));
     742        psAbort("found more then one detRun matching det_id %" PRId64 " (this should not happen)", det_id);
    737743        return false;                   // unreachable
    738744    }
     
    905911    psFree(time_filter);
    906912
    907     if (!p_psDBRunQuery(config->dbh, query, (psS64)newDet_id, (psS64)atoll(det_id))) {
     913    if (!p_psDBRunQuery(config->dbh, query, (psS64)newDet_id, det_id)) {
    908914        psError(PS_ERR_UNKNOWN, false, "database error");
    909915        psFree(query);
     
    953959    psMetadata *where = psMetadataAlloc();
    954960    PXOPT_COPY_STR(config->args, where, "-det_type", "det_type", "==");
    955     PXOPT_COPY_STR(config->args, where, "-det_id",   "det_id", "==");
     961    PXOPT_COPY_S64(config->args, where, "-det_id",   "det_id", "==");
    956962
    957963    PXOPT_COPY_STR(config->args, where, "-inst", "camera", "==");
     
    11181124
    11191125    psMetadata *where = psMetadataAlloc();
    1120     PXOPT_COPY_STR(config->args, where, "-det_id",    "det_id", "==");
     1126    PXOPT_COPY_S64(config->args, where, "-det_id",    "det_id", "==");
    11211127    PXOPT_COPY_S32(config->args, where, "-iteration", "iteration", "==");
    11221128    PXOPT_COPY_S64(config->args, where, "-exp_id",    "exp_id", "==");
     
    12211227    PS_ASSERT_PTR_NON_NULL(config, false);
    12221228
    1223     PXOPT_LOOKUP_STR(det_id, config->args, "-det_id", true, false); // required
     1229    PXOPT_LOOKUP_S64(det_id, config->args, "-det_id", true, false); // required
    12241230    PXOPT_LOOKUP_BOOL(again, config->args, "-again", false);
    12251231    PXOPT_LOOKUP_STR(state, config->args, "-state", false, false);
     
    12371243    if (state) {
    12381244        // set detRun.state to state
    1239         return setDetRunState(config, (psS64)atoll(det_id), state);
     1245        return setDetRunState(config, det_id, state);
    12401246    }
    12411247
    12421248    // else
    12431249    // -again
    1244     if (!startNewIteration(config, (psS64)atoll(det_id))) {
     1250    if (!startNewIteration(config, det_id)) {
    12451251        psError(PS_ERR_UNKNOWN, false, "failed to start new iteration");
    12461252        return false;
     
    13631369
    13641370    // det_id is required
    1365     PXOPT_LOOKUP_STR(det_id, config->args, "-det_id", true, false);
     1371    PXOPT_LOOKUP_S64(det_id, config->args, "-det_id", true, false);
    13661372
    13671373    // we have to support multipe exp_ids
     
    14081414
    14091415    // add the det_id & iteration == 0 to the where clause
    1410     if (!psMetadataAddS64(where, PS_LIST_TAIL, "det_id", 0, "==",
    1411                 (psS64)atoll(det_id))) {
     1416    if (!psMetadataAddS64(where, PS_LIST_TAIL, "det_id", 0, "==", det_id)) {
    14121417        psError(PS_ERR_UNKNOWN, false, "failed to add item det_id");
    14131418        psFree(where);
     
    14461451
    14471452    // up the detRuns iteration count
    1448     psS32 newIteration = incrementIteration(config, (psS64)atoll(det_id));
     1453    psS32 newIteration = incrementIteration(config, det_id);
    14491454    if (!newIteration) {
    14501455        // rollback
     
    14701475            }
    14711476            // invalid exp_id
    1472             psError(PS_ERR_UNKNOWN, false, "exp_id %s is invalid for det_id %s",
     1477            psError(PS_ERR_UNKNOWN, false, "exp_id %s is invalid for det_id %" PRId64,
    14731478                    (char *)mItem->data.V, det_id);
    14741479            psFree(iter);
     
    14771482        }
    14781483        detInputExpRow *newInputExp = detInputExpRowAlloc(
    1479             (psS64)atoll(det_id),
     1484            det_id,
    14801485            newIteration,
    14811486            inputExp->exp_id,
     
    15361541    PXOPT_LOOKUP_TIME(use_begin, config->args, "-use_begin", false, false);
    15371542    PXOPT_LOOKUP_TIME(use_end, config->args, "-use_end", false, false);
    1538     PXOPT_LOOKUP_STR(parent, config->args, "-parent", false, false);
     1543    PXOPT_LOOKUP_S64(parent, config->args, "-parent", false, false);
    15391544    PXOPT_LOOKUP_STR(label, config->args, "-label", false, false);
    15401545    PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
     
    15741579                      solang_max,
    15751580                      label,      // label
    1576                       parent ? (psS64)atoll(parent) : 0
     1581                      parent
    15771582            )) {
    15781583        psError(PS_ERR_UNKNOWN, false, "database error");
     
    16251630    PS_ASSERT_PTR_NON_NULL(config, false);
    16261631   
    1627     PXOPT_LOOKUP_STR(det_id, config->args, "-det_id", true, false); // required
     1632    PXOPT_LOOKUP_S64(det_id, config->args, "-det_id", true, false); // required
    16281633    PXOPT_LOOKUP_STR(class_id, config->args, "-class_id", true, false); // required
    16291634    PXOPT_LOOKUP_STR(uri, config->args, "-uri", true, false); // required
     
    16391644
    16401645    if (!detRegisteredImfileInsert(config->dbh,
    1641         (psS64)atoll(det_id),
     1646        det_id,
    16421647        0,  // the iteration is fixed at 0
    16431648        class_id,
     
    17271732}
    17281733
    1729 static bool isValidMode(pxConfig *config, const char *mode)
     1734bool isValidDataState (const char *data_state) {
     1735
     1736    // check that state is a valid string value
     1737    if (!strncmp(data_state, "run", 4)) return true;
     1738    if (!strncmp(data_state, "stop", 5)) return true;
     1739    if (!strncmp(data_state, "drop", 5)) return true;
     1740    if (!strncmp(data_state, "register", 4)) return true;
     1741
     1742    psError(PS_ERR_UNKNOWN, true, "invalid data state: %s", data_state);
     1743    return false;
     1744}
     1745
     1746bool isValidMode(pxConfig *config, const char *mode)
    17301747{
    17311748    PS_ASSERT_PTR_NON_NULL(config, false);
     
    17461763}
    17471764
     1765
     1766bool setProcessedImfileDataState(pxConfig *config, psS64 det_id, psS64 exp_id, const char *class_id, const char *data_state)
     1767{
     1768    PS_ASSERT_PTR_NON_NULL(config, false);
     1769    PS_ASSERT_PTR_NON_NULL(data_state, false);
     1770    PS_ASSERT_PTR_NON_NULL(class_id, false);
     1771
     1772    if (!isValidDataState (data_state)) return false;
     1773
     1774    char *query = "UPDATE detProcessedImfile SET data_state = '%s'"
     1775        " WHERE det_id = %" PRId64
     1776        " AND exp_id = %" PRId64
     1777        " AND class_id = '%s'";
     1778    if (!p_psDBRunQuery(config->dbh, query, data_state, det_id, exp_id, class_id)) {
     1779        psError(PS_ERR_UNKNOWN, false,
     1780                "failed to change state for det_id %" PRId64 ", exp_id %" PRId64 ", class_id %s",
     1781                det_id, exp_id, class_id);
     1782        return false;
     1783    }
     1784
     1785    return true;
     1786}
     1787
     1788bool setProcessedExpDataState(pxConfig *config, psS64 det_id, psS64 exp_id, const char *data_state)
     1789{
     1790    PS_ASSERT_PTR_NON_NULL(config, false);
     1791    PS_ASSERT_PTR_NON_NULL(data_state, false);
     1792
     1793    if (!isValidDataState (data_state)) return false;
     1794
     1795    char *query = "UPDATE detProcessedExp SET data_state = '%s'"
     1796        " WHERE det_id = %" PRId64
     1797        " AND exp_id = %" PRId64;
     1798    if (!p_psDBRunQuery(config->dbh, query, data_state, det_id, exp_id)) {
     1799        psError(PS_ERR_UNKNOWN, false,
     1800                "failed to change state for det_id %" PRId64 ", exp_id %" PRId64,
     1801                det_id, exp_id);
     1802        return false;
     1803    }
     1804
     1805    return true;
     1806}
     1807
     1808
     1809bool setStackedImfileDataState(pxConfig *config, psS64 det_id, psS32 iteration, const char *data_state)
     1810{
     1811    PS_ASSERT_PTR_NON_NULL(config, false);
     1812    PS_ASSERT_PTR_NON_NULL(data_state, false);
     1813
     1814    if (!isValidDataState (data_state)) return false;
     1815
     1816    char *query = "UPDATE detStackedImfile SET data_state = '%s'"
     1817        " WHERE det_id = %" PRId64
     1818        " AND iteration = %" PRId32;
     1819    if (!p_psDBRunQuery(config->dbh, query, data_state, det_id, iteration)) {
     1820        psError(PS_ERR_UNKNOWN, false,
     1821                "failed to change state for det_id %" PRId64 ", iteration %" PRId32,
     1822                det_id, iteration);
     1823        return false;
     1824    }
     1825
     1826    return true;
     1827}
     1828
     1829bool setNormStatImfileDataState(pxConfig *config, psS64 det_id, psS32 iteration, const char *class_id, const char *data_state)
     1830{
     1831    PS_ASSERT_PTR_NON_NULL(config, false);
     1832    PS_ASSERT_PTR_NON_NULL(class_id, false);
     1833    PS_ASSERT_PTR_NON_NULL(data_state, false);
     1834
     1835    if (!isValidDataState (data_state)) return false;
     1836
     1837    char *query = "UPDATE detNormalizedStatImfile SET data_state = '%s'"
     1838        " WHERE det_id = %" PRId64
     1839        " AND iteration = %" PRId32
     1840        " AND class_id = %s";
     1841    if (!p_psDBRunQuery(config->dbh, query, data_state, det_id, iteration)) {
     1842        psError(PS_ERR_UNKNOWN, false,
     1843                "failed to change state for det_id %" PRId64 ", iteration %" PRId32,
     1844                det_id, iteration);
     1845        return false;
     1846    }
     1847
     1848    return true;
     1849}
     1850
     1851bool setNormImfileDataState(pxConfig *config, psS64 det_id, psS32 iteration, const char *class_id, const char *data_state)
     1852{
     1853    PS_ASSERT_PTR_NON_NULL(config, false);
     1854    PS_ASSERT_PTR_NON_NULL(class_id, false);
     1855    PS_ASSERT_PTR_NON_NULL(data_state, false);
     1856
     1857    if (!isValidDataState (data_state)) return false;
     1858
     1859    char *query = "UPDATE detNormalizedImfile SET data_state = '%s'"
     1860        " WHERE det_id = %" PRId64
     1861        " AND iteration = %" PRId32
     1862        " AND class_id = %s";
     1863    if (!p_psDBRunQuery(config->dbh, query, data_state, det_id, iteration, class_id)) {
     1864        psError(PS_ERR_UNKNOWN, false,
     1865                "failed to change state for det_id %" PRId64 ", iteration %" PRId32 " class %s",
     1866                det_id, iteration, class_id);
     1867        return false;
     1868    }
     1869
     1870    return true;
     1871}
     1872
     1873bool setNormExpDataState(pxConfig *config, psS64 det_id, psS32 iteration, const char *data_state)
     1874{
     1875    PS_ASSERT_PTR_NON_NULL(config, false);
     1876    PS_ASSERT_PTR_NON_NULL(data_state, false);
     1877
     1878    if (!isValidDataState (data_state)) return false;
     1879
     1880    char *query = "UPDATE detNormalizedExp SET data_state = '%s'"
     1881        " WHERE det_id = %" PRId64
     1882        " AND iteration = %" PRId32;
     1883    if (!p_psDBRunQuery(config->dbh, query, data_state, det_id, iteration)) {
     1884        psError(PS_ERR_UNKNOWN, false,
     1885                "failed to change state for det_id %" PRId64 ", iteration %" PRId32,
     1886                det_id, iteration);
     1887        return false;
     1888    }
     1889
     1890    return true;
     1891}
     1892
     1893bool setResidImfileDataState(pxConfig *config, psS64 det_id, psS32 iteration, psS64 exp_id, const char *class_id, const char *data_state)
     1894{
     1895    PS_ASSERT_PTR_NON_NULL(config, false);
     1896    PS_ASSERT_PTR_NON_NULL(data_state, false);
     1897    PS_ASSERT_PTR_NON_NULL(class_id, false);
     1898
     1899    if (!isValidDataState (data_state)) return false;
     1900
     1901    char *query = "UPDATE detResidImfile SET data_state = '%s'"
     1902        " WHERE det_id = %" PRId64
     1903        " AND iteration = %" PRId32
     1904        " AND exp_id = %" PRId64
     1905        " AND class_id = '%s'";
     1906    if (!p_psDBRunQuery(config->dbh, query, data_state, det_id, iteration, exp_id, class_id)) {
     1907        psError(PS_ERR_UNKNOWN, false,
     1908                "failed to change state for det_id %" PRId64 ", iteration %" PRId32 ", exp_id %" PRId64 ", class_id %s",
     1909                det_id, iteration, exp_id, class_id);
     1910        return false;
     1911    }
     1912
     1913    return true;
     1914}
     1915
     1916bool setResidExpDataState(pxConfig *config, psS64 det_id, psS32 iteration, psS64 exp_id, const char *data_state)
     1917{
     1918    PS_ASSERT_PTR_NON_NULL(config, false);
     1919    PS_ASSERT_PTR_NON_NULL(data_state, false);
     1920
     1921    if (!isValidDataState (data_state)) return false;
     1922
     1923    char *query = "UPDATE detResidExp SET data_state = '%s'"
     1924        " WHERE det_id = %" PRId64
     1925        " AND iteration = %" PRId32
     1926        " AND exp_id = %" PRId64;
     1927    if (!p_psDBRunQuery(config->dbh, query, data_state, det_id, iteration, exp_id)) {
     1928        psError(PS_ERR_UNKNOWN, false,
     1929                "failed to change state for det_id %" PRId64 ", iteration %" PRId32 ", exp_id %" PRId64,
     1930                det_id, iteration, exp_id);
     1931        return false;
     1932    }
     1933
     1934    return true;
     1935}
    17481936
    17491937#if 0
  • branches/eam_branch_20080719/ippTools/src/dettool.h

    r18643 r18991  
    4646    DETTOOL_MODE_PROCESSEDIMFILE,
    4747    DETTOOL_MODE_REVERTPROCESSEDIMFILE,
     48    DETTOOL_MODE_UPDATEPROCESSEDIMFILE,
    4849    DETTOOL_MODE_PENDINGCLEANUP_PROCESSEDIMFILE,
    4950    DETTOOL_MODE_DONECLEANUP_PROCESSEDIMFILE,
     
    5354    DETTOOL_MODE_PROCESSEDEXP,
    5455    DETTOOL_MODE_REVERTPROCESSEDEXP,
     56    DETTOOL_MODE_UPDATEPROCESSEDEXP,
    5557    DETTOOL_MODE_PENDINGCLEANUP_PROCESSEDEXP,
    5658    DETTOOL_MODE_DONECLEANUP_PROCESSEDEXP,
     
    6062    DETTOOL_MODE_STACKED,
    6163    DETTOOL_MODE_REVERTSTACKED,
     64    DETTOOL_MODE_UPDATESTACKED,
    6265    DETTOOL_MODE_PENDINGCLEANUP_STACKED,
    6366    DETTOOL_MODE_DONECLEANUP_STACKED,
     
    6770    DETTOOL_MODE_NORMALIZEDSTAT,
    6871    DETTOOL_MODE_REVERTNORMALIZEDSTAT,
     72    DETTOOL_MODE_UPDATENORMALIZEDSTAT,
    6973    DETTOOL_MODE_PENDINGCLEANUP_NORMALIZEDSTAT,
    7074    DETTOOL_MODE_DONECLEANUP_NORMALIZEDSTAT,
     
    7478    DETTOOL_MODE_NORMALIZEDIMFILE,
    7579    DETTOOL_MODE_REVERTNORMALIZEDIMFILE,
     80    DETTOOL_MODE_UPDATENORMALIZEDIMFILE,
    7681    DETTOOL_MODE_PENDINGCLEANUP_NORMALIZEDIMFILE,
    7782    DETTOOL_MODE_DONECLEANUP_NORMALIZEDIMFILE,
     
    8186    DETTOOL_MODE_NORMALIZEDEXP,
    8287    DETTOOL_MODE_REVERTNORMALIZEDEXP,
     88    DETTOOL_MODE_UPDATENORMALIZEDEXP,
    8389    DETTOOL_MODE_PENDINGCLEANUP_NORMALIZEDEXP,
    8490    DETTOOL_MODE_DONECLEANUP_NORMALIZEDEXP,
     
    8894    DETTOOL_MODE_RESIDIMFILE,
    8995    DETTOOL_MODE_REVERTRESIDIMFILE,
     96    DETTOOL_MODE_UPDATERESIDIMFILE,
    9097    DETTOOL_MODE_PENDINGCLEANUP_RESIDIMFILE,
    9198    DETTOOL_MODE_DONECLEANUP_RESIDIMFILE,
     
    95102    DETTOOL_MODE_RESIDEXP,
    96103    DETTOOL_MODE_REVERTRESIDEXP,
     104    DETTOOL_MODE_UPDATERESIDEXP,
    97105    DETTOOL_MODE_PENDINGCLEANUP_RESIDEXP,
    98106    DETTOOL_MODE_DONECLEANUP_RESIDEXP,
     
    102110    DETTOOL_MODE_DETRUNSUMMARY,
    103111    DETTOOL_MODE_REVERTDETRUNSUMMARY,
    104     DETTOOL_MODE_UPDATERESIDEXP,
    105112    DETTOOL_MODE_UPDATEDETRUNSUMMARY,
    106113    DETTOOL_MODE_UPDATEDETRUN,
     
    126133bool processedimfileMode(pxConfig *config);
    127134bool revertprocessedimfileMode(pxConfig *config);
     135bool updateprocessedimfileMode(pxConfig *config);
    128136bool pendingcleanup_processedimfileMode(pxConfig *config);
    129137bool donecleanup_processedimfileMode(pxConfig *config);
     
    134142bool processedexpMode(pxConfig *config);
    135143bool revertprocessedexpMode(pxConfig *config);
     144bool updateprocessedexpMode(pxConfig *config);
    136145bool pendingcleanup_processedexpMode(pxConfig *config);
    137146bool donecleanup_processedexpMode(pxConfig *config);
     
    142151bool stackedMode(pxConfig *config);
    143152bool revertstackedMode(pxConfig *config);
     153bool updatestackedMode(pxConfig *config);
    144154bool pendingcleanup_stackedMode(pxConfig *config);
    145155bool donecleanup_stackedMode(pxConfig *config);
     
    150160bool normalizedstatMode(pxConfig *config);
    151161bool revertnormalizedstatMode(pxConfig *config);
     162bool updatenormalizedstatMode(pxConfig *config);
    152163bool pendingcleanup_normalizedstatMode(pxConfig *config);
    153164bool donecleanup_normalizedstatMode(pxConfig *config);
     
    158169bool normalizedimfileMode(pxConfig *config);
    159170bool revertnormalizedimfileMode(pxConfig *config);
     171bool updatenormalizedimfileMode(pxConfig *config);
    160172bool pendingcleanup_normalizedimfileMode(pxConfig *config);
    161173bool donecleanup_normalizedimfileMode(pxConfig *config);
     
    166178bool normalizedexpMode(pxConfig *config);
    167179bool revertnormalizedexpMode(pxConfig *config);
     180bool updatenormalizedexpMode(pxConfig *config);
    168181bool pendingcleanup_normalizedexpMode(pxConfig *config);
    169182bool donecleanup_normalizedexpMode(pxConfig *config);
     
    174187bool residimfileMode(pxConfig *config);
    175188bool revertresidimfileMode(pxConfig *config);
     189bool updateresidimfileMode(pxConfig *config);
    176190bool pendingcleanup_residimfileMode(pxConfig *config);
    177191bool donecleanup_residimfileMode(pxConfig *config);
     
    196210bool startNewIteration(pxConfig *config, psS64 det_id);
    197211bool setDetRunState(pxConfig *config, psS64 det_id, const char *state);
     212bool isValidDataState (const char *data_state);
     213bool isValidMode(pxConfig *config, const char *mode);
     214
     215// functions to set the 'data_state' for stages
     216bool setProcessedImfileDataState(pxConfig *config, psS64 det_id, psS64 exp_id, const char *class_id, const char *data_state);
     217bool setProcessedExpDataState(pxConfig *config, psS64 det_id, psS64 exp_id, const char *data_state);
     218bool setStackedImfileDataState(pxConfig *config, psS64 det_id, psS32 iteration, const char *data_state);
     219bool setNormStatImfileDataState(pxConfig *config, psS64 det_id, psS32 iteration, const char *class_id, const char *data_state);
     220bool setNormImfileDataState(pxConfig *config, psS64 det_id, psS32 iteration, const char *class_id, const char *data_state);
     221bool setNormExpDataState(pxConfig *config, psS64 det_id, psS32 iteration, const char *data_state);
     222bool setResidImfileDataState(pxConfig *config, psS64 det_id, psS32 iteration, psS64 exp_id, const char *class_id, const char *data_state);
     223bool setResidExpDataState(pxConfig *config, psS64 det_id, psS32 iteration, psS64 exp_id, const char *data_state);
    198224
    199225#endif // DETTOOL_H
  • branches/eam_branch_20080719/ippTools/src/dettoolConfig.c

    r18943 r18991  
    4141    // XXX EAM : is this used?  does it make sense?
    4242    psMetadata *pendingArgs = psMetadataAlloc();
    43     psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-exp_id",  0,            "search by exposure ID", NULL);
     43    psMetadataAddS64(pendingArgs, PS_LIST_TAIL, "-exp_id",  0,            "search by exposure ID", 0);
    4444    psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-exp_type",  0,            "search by exposure type", NULL);
    4545    psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-inst",  0,            "search by camera", NULL);
     
    5151    // -definebytag
    5252    psMetadata *definebytagArgs = psMetadataAlloc();
    53     psMetadataAddStr(definebytagArgs, PS_LIST_TAIL, "-exp_id",            PS_META_DUPLICATE_OK,           "include this exposure (multiple OK, required)", NULL);
     53    psMetadataAddS64(definebytagArgs, PS_LIST_TAIL, "-exp_id",            PS_META_DUPLICATE_OK,           "include this exposure (multiple OK, required)", 0);
    5454    psMetadataAddStr(definebytagArgs, PS_LIST_TAIL, "-det_type",  0,            "define the type of detrend run (required)", NULL);
    5555    psMetadataAddStr(definebytagArgs, PS_LIST_TAIL, "-mode",  0,            "define the mode of this detrend run", "master");
     
    132132    // -definebydetrun
    133133    psMetadata *definebydetrunArgs = psMetadataAlloc();
    134     psMetadataAddStr(definebydetrunArgs, PS_LIST_TAIL, "-det_id",  0,            "det ID to base a new detRun on (required)", NULL);
     134    psMetadataAddS64(definebydetrunArgs, PS_LIST_TAIL, "-det_id",  0,            "det ID to base a new detRun on (required)", 0);
    135135    psMetadataAddStr(definebydetrunArgs, PS_LIST_TAIL, "-set_det_type",  0,            "define the type of detrend run", NULL);
    136136    psMetadataAddStr(definebydetrunArgs, PS_LIST_TAIL, "-set_mode",  0,            "define the mode of this detrend run", "master");
     
    163163    // -makecorrection
    164164    psMetadata *makecorrectionArgs = psMetadataAlloc();
    165     psMetadataAddStr(makecorrectionArgs, PS_LIST_TAIL, "-det_id",  0,            "det ID to be corrected (required)", NULL);
     165    psMetadataAddS64(makecorrectionArgs, PS_LIST_TAIL, "-det_id",  0,            "det ID to be corrected (required)", 0);
    166166    psMetadataAddBool(makecorrectionArgs, PS_LIST_TAIL, "-simple", 0,            "use the simple output format", false);
    167167
     
    173173    // -tocorrectimfile
    174174    psMetadata *tocorrectimfileArgs = psMetadataAlloc();
    175     psMetadataAddStr(tocorrectimfileArgs, PS_LIST_TAIL, "-det_id", 0,            "search for detrend ID", NULL);
     175    psMetadataAddS64(tocorrectimfileArgs, PS_LIST_TAIL, "-det_id", 0,            "search for detrend ID", 0);
    176176    psMetadataAddU64(tocorrectimfileArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
    177177    psMetadataAddBool(tocorrectimfileArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
     
    179179    // -addcorrectimfile
    180180    psMetadata *addcorrectimfileArgs = psMetadataAlloc();
    181     psMetadataAddStr(addcorrectimfileArgs, PS_LIST_TAIL, "-det_id",  0,            "define detrend ID (required)", NULL);
     181    psMetadataAddS64(addcorrectimfileArgs, PS_LIST_TAIL, "-det_id",  0,            "define detrend ID (required)", 0);
    182182    psMetadataAddStr(addcorrectimfileArgs, PS_LIST_TAIL, "-class_id",  0,            "search for class ID (required)", NULL);
    183183    psMetadataAddStr(addcorrectimfileArgs, PS_LIST_TAIL, "-uri",  0,            "define resid file URI", NULL);
     
    195195    psMetadata *runsArgs = psMetadataAlloc();
    196196    psMetadataAddStr(runsArgs, PS_LIST_TAIL, "-det_type",  0,            "search for type of detrend run", NULL);
    197     psMetadataAddStr(runsArgs, PS_LIST_TAIL, "-det_id", 0,            "search for detrend ID", NULL);
     197    psMetadataAddS64(runsArgs, PS_LIST_TAIL, "-det_id", 0,            "search for detrend ID", 0);
    198198    psMetadataAddStr(runsArgs, PS_LIST_TAIL, "-inst", 0,            "search for camera (instrument)", NULL);
    199199    psMetadataAddStr(runsArgs, PS_LIST_TAIL, "-telescope", 0,            "search for telescope", NULL);
     
    215215    // -input
    216216    psMetadata *inputArgs = psMetadataAlloc();
    217     psMetadataAddStr(inputArgs, PS_LIST_TAIL, "-det_id", 0,            "search for detrend ID", NULL);
     217    psMetadataAddS64(inputArgs, PS_LIST_TAIL, "-det_id", 0,            "search for detrend ID", 0);
    218218    psMetadataAddS32(inputArgs, PS_LIST_TAIL, "-iteration",  0,            "define iteration number", 0);
    219219    psMetadataAddS64(inputArgs, PS_LIST_TAIL, "-exp_id",  0,            "search for exp ID", 0);
     
    226226    // -toprocessedimfile
    227227    psMetadata *toprocessedimfileArgs = psMetadataAlloc();
    228     psMetadataAddStr(toprocessedimfileArgs, PS_LIST_TAIL, "-det_id",  0,            "search for detrend ID", NULL);
    229     psMetadataAddStr(toprocessedimfileArgs, PS_LIST_TAIL, "-exp_id",  0,            "search for exp ID", NULL);
     228    psMetadataAddS64(toprocessedimfileArgs, PS_LIST_TAIL, "-det_id",  0,            "search for detrend ID", 0);
     229    psMetadataAddS64(toprocessedimfileArgs, PS_LIST_TAIL, "-exp_id",  0,            "search for exp ID", 0);
    230230    psMetadataAddStr(toprocessedimfileArgs, PS_LIST_TAIL, "-class_id",  0,            "search for class ID", NULL);
    231231    psMetadataAddU64(toprocessedimfileArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
     
    234234    // -addprocessedimfile
    235235    psMetadata *addprocessedimfileArgs = psMetadataAlloc();
    236     psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-det_id",  0,            "define detrend ID (required)", NULL);
    237     psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-exp_id",  0,            "define exp ID (required)", NULL);
     236    psMetadataAddS64(addprocessedimfileArgs, PS_LIST_TAIL, "-det_id",  0,            "define detrend ID (required)", 0);
     237    psMetadataAddS64(addprocessedimfileArgs, PS_LIST_TAIL, "-exp_id",  0,            "define exp ID (required)", 0);
    238238    psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-class_id",  0,            "define class ID (required)", NULL);
    239239    psMetadataAddS16(addprocessedimfileArgs, PS_LIST_TAIL, "-code",  0,            "set fault code", 0);
     
    255255    // -processedimfile
    256256    psMetadata *processedimfileArgs = psMetadataAlloc();
    257     psMetadataAddStr(processedimfileArgs, PS_LIST_TAIL, "-det_id",  0,            "search for detrend ID", NULL);
    258     psMetadataAddStr(processedimfileArgs, PS_LIST_TAIL, "-exp_id",  0,            "search for exp ID", NULL);
     257    psMetadataAddS64(processedimfileArgs, PS_LIST_TAIL, "-det_id",  0,            "search for detrend ID", 0);
     258    psMetadataAddS64(processedimfileArgs, PS_LIST_TAIL, "-exp_id",  0,            "search for exp ID", 0);
    259259    psMetadataAddStr(processedimfileArgs, PS_LIST_TAIL, "-class_id",  0,            "search for class ID", NULL);
    260260    psMetadataAddStr(processedimfileArgs, PS_LIST_TAIL, "-select_state",  0,            "search for state", NULL);
     
    265265    psMetadataAddBool(processedimfileArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
    266266
     267    // -updateprocessedimfile
     268    psMetadata *updateprocessedimfileArgs = psMetadataAlloc();
     269    psMetadataAddS64(updateprocessedimfileArgs, PS_LIST_TAIL, "-det_id",               0,            "search by chip ID", 0);
     270    psMetadataAddS64(updateprocessedimfileArgs, PS_LIST_TAIL, "-exp_id",               0,            "search by exp_id", 0);
     271    psMetadataAddStr(updateprocessedimfileArgs, PS_LIST_TAIL, "-class_id",             0,            "search by exp_name", NULL);
     272    psMetadataAddStr(updateprocessedimfileArgs, PS_LIST_TAIL, "-data_state",           0,            "search for telescope", NULL);
     273
    267274    // -pendingcleanup_processedimfile
    268275    psMetadata *pendingcleanup_processedimfileArgs = psMetadataAlloc();
     
    271278
    272279    // -donecleanup_processedimfile
    273     psMetadata *donecleanupArgs = psMetadataAlloc();
    274     psMetadataAddBool(donecleanupArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
    275     psMetadataAddU64(donecleanupArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
    276 
    277     // XXX these don't seem to be used anymore
    278     // psMetadataAddBool(processedimfileArgs, PS_LIST_TAIL, "-chip",  0,            "restrict results to completed 'chip' sets", false);
    279     // psMetadataAddBool(processedimfileArgs, PS_LIST_TAIL, "-exp",  0,            "restrict results to complete 'exposures'", false);
     280    psMetadata *donecleanup_processedimfileArgs = psMetadataAlloc();
     281    psMetadataAddBool(donecleanup_processedimfileArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
     282    psMetadataAddU64(donecleanup_processedimfileArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
    280283
    281284    // -revertprocessedimfile
    282285    psMetadata *revertprocessedimfileArgs = psMetadataAlloc();
    283     psMetadataAddStr(revertprocessedimfileArgs, PS_LIST_TAIL, "-det_id",  0,            "search for detrend ID (required)", NULL);
    284     psMetadataAddStr(revertprocessedimfileArgs, PS_LIST_TAIL, "-exp_id",  0,            "search by exposure ID", NULL);
     286    psMetadataAddS64(revertprocessedimfileArgs, PS_LIST_TAIL, "-det_id",  0,            "search for detrend ID (required)", 0);
     287    psMetadataAddS64(revertprocessedimfileArgs, PS_LIST_TAIL, "-exp_id",  0,            "search by exposure ID", 0);
    285288    psMetadataAddStr(revertprocessedimfileArgs, PS_LIST_TAIL, "-class_id",  0,            "search by class ID", NULL);
    286289    psMetadataAddS16(revertprocessedimfileArgs, PS_LIST_TAIL, "-code",  0,            "search by fault code", 0);
     
    293296    // -addproccessedexp
    294297    psMetadata *addprocessedexpArgs = psMetadataAlloc();
    295     psMetadataAddStr(addprocessedexpArgs, PS_LIST_TAIL, "-det_id",  0,            "define detrend ID (required)", NULL);
    296     psMetadataAddStr(addprocessedexpArgs, PS_LIST_TAIL, "-exp_id",  0,            "define detrend ID (required)", NULL);
     298    psMetadataAddS64(addprocessedexpArgs, PS_LIST_TAIL, "-det_id",  0,            "define detrend ID (required)", 0);
     299    psMetadataAddS64(addprocessedexpArgs, PS_LIST_TAIL, "-exp_id",  0,            "define detrend ID (required)", 0);
    297300    psMetadataAddStr(addprocessedexpArgs, PS_LIST_TAIL, "-recip",  0,            "define recipe", NULL);
    298301    psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-bg",  0,            "define exposure background", NAN);
     
    312315    // -proccessedexp
    313316    psMetadata *processedexpArgs = psMetadataAlloc();
    314     psMetadataAddStr(processedexpArgs, PS_LIST_TAIL, "-det_id",  0,            "search by detrend ID", NULL);
    315     psMetadataAddStr(processedexpArgs, PS_LIST_TAIL, "-exp_id",  0,            "search by exp ID", NULL);
     317    psMetadataAddS64(processedexpArgs, PS_LIST_TAIL, "-det_id",  0,            "search by detrend ID", 0);
     318    psMetadataAddS64(processedexpArgs, PS_LIST_TAIL, "-exp_id",  0,            "search by exp ID", 0);
    316319    psMetadataAddU64(processedexpArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
    317320    psMetadataAddBool(processedexpArgs, PS_LIST_TAIL, "-faulted",  0,            "only return imfiles with a fault status set", false);
     
    320323    // -revertprocessedexp
    321324    psMetadata *revertprocessedexpArgs = psMetadataAlloc();
    322     psMetadataAddStr(revertprocessedexpArgs, PS_LIST_TAIL, "-det_id",  0,            "search by detrend ID (required)", NULL);
    323     psMetadataAddStr(revertprocessedexpArgs, PS_LIST_TAIL, "-exp_id",  0,            "search by exposure ID", NULL);
     325    psMetadataAddS64(revertprocessedexpArgs, PS_LIST_TAIL, "-det_id",  0,            "search by detrend ID (required)", 0);
     326    psMetadataAddS64(revertprocessedexpArgs, PS_LIST_TAIL, "-exp_id",  0,            "search by exposure ID", 0);
    324327    psMetadataAddS16(revertprocessedexpArgs, PS_LIST_TAIL, "-code",  0,            "search by fault code", 0);
     328
     329    // -updateprocessedexp
     330    psMetadata *updateprocessedexpArgs = psMetadataAlloc();
     331    psMetadataAddS64(updateprocessedexpArgs, PS_LIST_TAIL, "-det_id",               0,            "search by chip ID", 0);
     332    psMetadataAddS64(updateprocessedexpArgs, PS_LIST_TAIL, "-exp_id",               0,            "search by exp_id", 0);
     333    psMetadataAddStr(updateprocessedexpArgs, PS_LIST_TAIL, "-class_id",             0,            "search by exp_name", NULL);
     334    psMetadataAddStr(updateprocessedexpArgs, PS_LIST_TAIL, "-data_state",           0,            "search for telescope", NULL);
     335
     336    // -pendingcleanup_processedexp
     337    psMetadata *pendingcleanup_processedexpArgs = psMetadataAlloc();
     338    psMetadataAddBool(pendingcleanup_processedexpArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
     339    psMetadataAddU64(pendingcleanup_processedexpArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
     340
     341    // -donecleanup_processedexp
     342    psMetadata *donecleanup_processedexpArgs = psMetadataAlloc();
     343    psMetadataAddBool(donecleanup_processedexpArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
     344    psMetadataAddU64(donecleanup_processedexpArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
    325345
    326346    // -tostacked
     
    331351    // -addstacked
    332352    psMetadata *addstackedArgs = psMetadataAlloc();
    333     psMetadataAddStr(addstackedArgs, PS_LIST_TAIL, "-det_id",  0,            "define detrend ID (required)", NULL);
     353    psMetadataAddS64(addstackedArgs, PS_LIST_TAIL, "-det_id",  0,            "define detrend ID (required)", 0);
    334354    psMetadataAddS32(addstackedArgs, PS_LIST_TAIL, "-iteration",  0,            "define iteration number (required)", 0);
    335355    psMetadataAddStr(addstackedArgs, PS_LIST_TAIL, "-class_id",  0,            "define class ID (required)", NULL);
     
    348368    // -stacked
    349369    psMetadata *stackedArgs = psMetadataAlloc();
    350     psMetadataAddStr(stackedArgs, PS_LIST_TAIL, "-det_id",  0,            "search for detrend ID", NULL);
     370    psMetadataAddS64(stackedArgs, PS_LIST_TAIL, "-det_id",  0,            "search for detrend ID", 0);
    351371    psMetadataAddS32(stackedArgs, PS_LIST_TAIL, "-iteration",  0,            "search for iteration number", 0);
    352372    psMetadataAddStr(stackedArgs, PS_LIST_TAIL, "-class_id",  0,            "search for class ID", NULL);
     
    358378    // -revertstacked
    359379    psMetadata *revertstackedArgs= psMetadataAlloc();
    360     psMetadataAddStr(revertstackedArgs, PS_LIST_TAIL, "-det_id",  0,            "search for detrend ID (required)", NULL);
     380    psMetadataAddS64(revertstackedArgs, PS_LIST_TAIL, "-det_id",  0,            "search for detrend ID (required)", 0);
    361381    psMetadataAddS32(revertstackedArgs, PS_LIST_TAIL, "-iteration",  0,            "search by iteration number", 0);
    362382    psMetadataAddStr(revertstackedArgs, PS_LIST_TAIL, "-class_id",  0,            "search by class ID", NULL);
    363383    psMetadataAddS16(revertstackedArgs, PS_LIST_TAIL, "-code",  0,            "search by fault code", 0);
     384
     385    // -updatestacked
     386    psMetadata *updatestackedArgs = psMetadataAlloc();
     387    psMetadataAddS64(updatestackedArgs, PS_LIST_TAIL, "-det_id",               0,            "search by chip ID", 0);
     388    psMetadataAddS64(updatestackedArgs, PS_LIST_TAIL, "-exp_id",               0,            "search by exp_id", 0);
     389    psMetadataAddStr(updatestackedArgs, PS_LIST_TAIL, "-class_id",             0,            "search by exp_name", NULL);
     390    psMetadataAddStr(updatestackedArgs, PS_LIST_TAIL, "-data_state",           0,            "search for telescope", NULL);
     391
     392    // -pendingcleanup_stacked
     393    psMetadata *pendingcleanup_stackedArgs = psMetadataAlloc();
     394    psMetadataAddBool(pendingcleanup_stackedArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
     395    psMetadataAddU64(pendingcleanup_stackedArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
     396
     397    // -donecleanup_stacked
     398    psMetadata *donecleanup_stackedArgs = psMetadataAlloc();
     399    psMetadataAddBool(donecleanup_stackedArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
     400    psMetadataAddU64(donecleanup_stackedArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
    364401
    365402    // -tonormalizedstat
     
    370407    // -addnormalizedstat
    371408    psMetadata *addnormstatArgs = psMetadataAlloc();
    372     psMetadataAddStr(addnormstatArgs, PS_LIST_TAIL, "-det_id",  0,            "define detrend ID (required)", NULL);
     409    psMetadataAddS64(addnormstatArgs, PS_LIST_TAIL, "-det_id",  0,            "define detrend ID (required)", 0);
    373410    psMetadataAddS32(addnormstatArgs, PS_LIST_TAIL, "-iteration",  0,            "define iteration number", 0);
    374411    psMetadataAddStr(addnormstatArgs, PS_LIST_TAIL, "-class_id",  0,            "define class ID (required)", NULL);
     
    378415    // -normalizedstat
    379416    psMetadata *normalizedstatArgs = psMetadataAlloc();
    380     psMetadataAddStr(normalizedstatArgs, PS_LIST_TAIL, "-det_id",  0,            "search by detrend ID", NULL);
     417    psMetadataAddS64(normalizedstatArgs, PS_LIST_TAIL, "-det_id",  0,            "search by detrend ID", 0);
    381418    psMetadataAddS32(normalizedstatArgs, PS_LIST_TAIL, "-iteration",  0,            "search by iteration number", 0);
    382419    psMetadataAddStr(normalizedstatArgs, PS_LIST_TAIL, "-class_id",  0,            "search by class ID", NULL);
     
    387424    // -revertnormalizedstat
    388425    psMetadata *revertnormalizedstatArgs= psMetadataAlloc();
    389     psMetadataAddStr(revertnormalizedstatArgs, PS_LIST_TAIL, "-det_id",  0,            "search by detrend ID (required)", NULL);
     426    psMetadataAddS64(revertnormalizedstatArgs, PS_LIST_TAIL, "-det_id",  0,            "search by detrend ID (required)", 0);
    390427    psMetadataAddS32(revertnormalizedstatArgs, PS_LIST_TAIL, "-iteration",  0,            "search by iteration number", 0);
    391428    psMetadataAddStr(revertnormalizedstatArgs, PS_LIST_TAIL, "-class_id",  0,            "search by class ID", NULL);
    392429    psMetadataAddS16(revertnormalizedstatArgs, PS_LIST_TAIL, "-code",  0,            "search by fault code", 0);
     430
     431    // -updatenormalizedstat
     432    psMetadata *updatenormalizedstatArgs = psMetadataAlloc();
     433    psMetadataAddS64(updatenormalizedstatArgs, PS_LIST_TAIL, "-det_id",               0,            "search by chip ID", 0);
     434    psMetadataAddS64(updatenormalizedstatArgs, PS_LIST_TAIL, "-exp_id",               0,            "search by exp_id", 0);
     435    psMetadataAddStr(updatenormalizedstatArgs, PS_LIST_TAIL, "-class_id",             0,            "search by exp_name", NULL);
     436    psMetadataAddStr(updatenormalizedstatArgs, PS_LIST_TAIL, "-data_state",           0,            "search for telescope", NULL);
     437
     438    // -pendingcleanup_normalizedstat
     439    psMetadata *pendingcleanup_normalizedstatArgs = psMetadataAlloc();
     440    psMetadataAddBool(pendingcleanup_normalizedstatArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
     441    psMetadataAddU64(pendingcleanup_normalizedstatArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
     442
     443    // -donecleanup_normalizedstat
     444    psMetadata *donecleanup_normalizedstatArgs = psMetadataAlloc();
     445    psMetadataAddBool(donecleanup_normalizedstatArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
     446    psMetadataAddU64(donecleanup_normalizedstatArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
    393447
    394448    // -tonormalize
     
    399453    // -addnormalizedimfile
    400454    psMetadata *addnormalizedimfileArgs = psMetadataAlloc();
    401     psMetadataAddStr(addnormalizedimfileArgs, PS_LIST_TAIL, "-det_id", 0,            "define detrend ID (required)", NULL);
     455    psMetadataAddS64(addnormalizedimfileArgs, PS_LIST_TAIL, "-det_id", 0,            "define detrend ID (required)", 0);
    402456    psMetadataAddS32(addnormalizedimfileArgs, PS_LIST_TAIL, "-iteration", 0,            "define iteration number", 0);
    403457    psMetadataAddStr(addnormalizedimfileArgs, PS_LIST_TAIL, "-class_id", 0,            "define class ID (required)", NULL);
     
    416470    // -normalizedimfile
    417471    psMetadata *normalizedimfileArgs = psMetadataAlloc();
    418     psMetadataAddStr(normalizedimfileArgs, PS_LIST_TAIL, "-det_id",  0,            "search for detrend ID", NULL);
     472    psMetadataAddS64(normalizedimfileArgs, PS_LIST_TAIL, "-det_id",  0,            "search for detrend ID", 0);
    419473    psMetadataAddS32(normalizedimfileArgs, PS_LIST_TAIL, "-iteration",  0,            "search for iteration number", 0);
    420474    psMetadataAddStr(normalizedimfileArgs, PS_LIST_TAIL, "-class_id",  0,            "search for class ID", NULL);
     
    426480    // -revertnormalizedimfile
    427481    psMetadata *revertnormalizedimfileArgs = psMetadataAlloc();
    428     psMetadataAddStr(revertnormalizedimfileArgs, PS_LIST_TAIL, "-det_id", 0,            "search by detrend ID (required)", NULL);
     482    psMetadataAddS64(revertnormalizedimfileArgs, PS_LIST_TAIL, "-det_id", 0,            "search by detrend ID (required)", 0);
    429483    psMetadataAddS32(revertnormalizedimfileArgs, PS_LIST_TAIL, "-iteration", 0,            "search by iteration number", 0);
    430484    psMetadataAddStr(revertnormalizedimfileArgs, PS_LIST_TAIL, "-class_id", 0,            "search by class ID", NULL);
    431485    psMetadataAddS16(revertnormalizedimfileArgs, PS_LIST_TAIL, "-code",  0,            "search by fault code", 0);
     486
     487    // -updatenormalizedimfile
     488    psMetadata *updatenormalizedimfileArgs = psMetadataAlloc();
     489    psMetadataAddS64(updatenormalizedimfileArgs, PS_LIST_TAIL, "-det_id",               0,            "search by chip ID", 0);
     490    psMetadataAddS64(updatenormalizedimfileArgs, PS_LIST_TAIL, "-exp_id",               0,            "search by exp_id", 0);
     491    psMetadataAddStr(updatenormalizedimfileArgs, PS_LIST_TAIL, "-class_id",             0,            "search by exp_name", NULL);
     492    psMetadataAddStr(updatenormalizedimfileArgs, PS_LIST_TAIL, "-data_state",           0,            "search for telescope", NULL);
     493
     494    // -pendingcleanup_normalizedimfile
     495    psMetadata *pendingcleanup_normalizedimfileArgs = psMetadataAlloc();
     496    psMetadataAddBool(pendingcleanup_normalizedimfileArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
     497    psMetadataAddU64(pendingcleanup_normalizedimfileArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
     498
     499    // -donecleanup_normalizedimfile
     500    psMetadata *donecleanup_normalizedimfileArgs = psMetadataAlloc();
     501    psMetadataAddBool(donecleanup_normalizedimfileArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
     502    psMetadataAddU64(donecleanup_normalizedimfileArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
    432503
    433504    // -tonormalizedexp
     
    438509    // -addnormalizedexp
    439510    psMetadata *addnormalizedexpArgs = psMetadataAlloc();
    440     psMetadataAddStr(addnormalizedexpArgs, PS_LIST_TAIL, "-det_id",  0,            "define detrend ID (required)", NULL);
     511    psMetadataAddS64(addnormalizedexpArgs, PS_LIST_TAIL, "-det_id",  0,            "define detrend ID (required)", 0);
    441512    psMetadataAddS32(addnormalizedexpArgs, PS_LIST_TAIL, "-iteration",  0,            "define iteration number", 0);
    442513    psMetadataAddS16(addnormalizedexpArgs, PS_LIST_TAIL, "-code",  0,            "set fault code", 0);
     
    454525    // -normalizedexp
    455526    psMetadata *normalizedexpArgs = psMetadataAlloc();
    456     psMetadataAddStr(normalizedexpArgs, PS_LIST_TAIL, "-det_id",  0,            "search by detrend ID", NULL);
     527    psMetadataAddS64(normalizedexpArgs, PS_LIST_TAIL, "-det_id",  0,            "search by detrend ID", 0);
    457528    psMetadataAddS32(normalizedexpArgs, PS_LIST_TAIL, "-iteration",  0,            "search by iteration number", 0);
    458529    psMetadataAddStr(normalizedexpArgs, PS_LIST_TAIL, "-recip",  0,            "search for recipe", NULL);
     
    463534    // -revertnormalizedexp
    464535    psMetadata *revertnormalizedexpArgs = psMetadataAlloc();
    465     psMetadataAddStr(revertnormalizedexpArgs, PS_LIST_TAIL, "-det_id", 0,            "search by detrend ID (required)", NULL);
     536    psMetadataAddS64(revertnormalizedexpArgs, PS_LIST_TAIL, "-det_id", 0,            "search by detrend ID (required)", 0);
    466537    psMetadataAddS32(revertnormalizedexpArgs, PS_LIST_TAIL, "-iteration", 0,            "search by iteration number", 0);
    467538    psMetadataAddS16(revertnormalizedexpArgs, PS_LIST_TAIL, "-code",  0,            "search by fault code", 0);
     539
     540    // -updatenormalizedexp
     541    psMetadata *updatenormalizedexpArgs = psMetadataAlloc();
     542    psMetadataAddS64(updatenormalizedexpArgs, PS_LIST_TAIL, "-det_id",               0,            "search by chip ID", 0);
     543    psMetadataAddS64(updatenormalizedexpArgs, PS_LIST_TAIL, "-exp_id",               0,            "search by exp_id", 0);
     544    psMetadataAddStr(updatenormalizedexpArgs, PS_LIST_TAIL, "-class_id",             0,            "search by exp_name", NULL);
     545    psMetadataAddStr(updatenormalizedexpArgs, PS_LIST_TAIL, "-data_state",           0,            "search for telescope", NULL);
     546
     547    // -pendingcleanup_normalizedexp
     548    psMetadata *pendingcleanup_normalizedexpArgs = psMetadataAlloc();
     549    psMetadataAddBool(pendingcleanup_normalizedexpArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
     550    psMetadataAddU64(pendingcleanup_normalizedexpArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
     551
     552    // -donecleanup_normalizedexp
     553    psMetadata *donecleanup_normalizedexpArgs = psMetadataAlloc();
     554    psMetadataAddBool(donecleanup_normalizedexpArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
     555    psMetadataAddU64(donecleanup_normalizedexpArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
    468556
    469557    // -toresidimfile
     
    474562    // -addresidimfile
    475563    psMetadata *addresidimfileArgs = psMetadataAlloc();
    476     psMetadataAddStr(addresidimfileArgs, PS_LIST_TAIL, "-det_id",  0,            "define detrend ID (required)", NULL);
     564    psMetadataAddS64(addresidimfileArgs, PS_LIST_TAIL, "-det_id",  0,            "define detrend ID (required)", 0);
    477565    psMetadataAddS32(addresidimfileArgs, PS_LIST_TAIL, "-iteration",  0,            "define iteration number", 0);
    478     psMetadataAddStr(addresidimfileArgs, PS_LIST_TAIL, "-exp_id",  0,            "define detrend ID (required)", NULL);
     566    psMetadataAddS64(addresidimfileArgs, PS_LIST_TAIL, "-exp_id",  0,            "define detrend ID (required)", 0);
    479567    psMetadataAddStr(addresidimfileArgs, PS_LIST_TAIL, "-class_id",  0,            "define class ID (required)", NULL);
    480568    psMetadataAddS16(addresidimfileArgs, PS_LIST_TAIL, "-code",  0,            "set fault code", 0);
     
    502590    // -residimfile
    503591    psMetadata *residimfileArgs = psMetadataAlloc();
    504     psMetadataAddStr(residimfileArgs, PS_LIST_TAIL, "-det_id",  0,            "search for detrend ID", NULL);
     592    psMetadataAddS64(residimfileArgs, PS_LIST_TAIL, "-det_id",  0,            "search for detrend ID", 0);
    505593    psMetadataAddS32(residimfileArgs, PS_LIST_TAIL, "-iteration",  0,            "search for iteration number", 0);
    506     psMetadataAddStr(residimfileArgs, PS_LIST_TAIL, "-exp_id",  0,            "search by detrend ID", NULL);
     594    psMetadataAddS64(residimfileArgs, PS_LIST_TAIL, "-exp_id",  0,            "search by detrend ID", 0);
    507595    psMetadataAddStr(residimfileArgs, PS_LIST_TAIL, "-class_id",  0,            "search for class ID", NULL);
    508596    psMetadataAddStr(residimfileArgs, PS_LIST_TAIL, "-recip",  0,            "search for recipe", NULL);
     
    514602    // -revertresidimfile
    515603    psMetadata *revertresidimfileArgs =  psMetadataAlloc();
    516     psMetadataAddStr(revertresidimfileArgs, PS_LIST_TAIL, "-det_id", 0,          "search by detrend ID (required)", NULL);
     604    psMetadataAddS64(revertresidimfileArgs, PS_LIST_TAIL, "-det_id", 0,          "search by detrend ID (required)", 0);
    517605    psMetadataAddS32(revertresidimfileArgs, PS_LIST_TAIL, "-iteration", 0,       "search by iteration number", 0);
    518     psMetadataAddStr(revertresidimfileArgs, PS_LIST_TAIL, "-exp_id",  0,         "search by detrend ID", NULL);
     606    psMetadataAddS64(revertresidimfileArgs, PS_LIST_TAIL, "-exp_id",  0,         "search by detrend ID", 0);
    519607    psMetadataAddStr(revertresidimfileArgs, PS_LIST_TAIL, "-class_id",  0,       "search for class ID", NULL);
    520608    psMetadataAddS16(revertresidimfileArgs, PS_LIST_TAIL, "-code",  0,           "search by fault code", 0);
     609
     610    // -updateresidimfile
     611    psMetadata *updateresidimfileArgs = psMetadataAlloc();
     612    psMetadataAddS64(updateresidimfileArgs, PS_LIST_TAIL, "-det_id",               0,            "search by chip ID", 0);
     613    psMetadataAddS64(updateresidimfileArgs, PS_LIST_TAIL, "-exp_id",               0,            "search by exp_id", 0);
     614    psMetadataAddStr(updateresidimfileArgs, PS_LIST_TAIL, "-class_id",             0,            "search by exp_name", NULL);
     615    psMetadataAddStr(updateresidimfileArgs, PS_LIST_TAIL, "-data_state",           0,            "search for telescope", NULL);
     616
     617    // -pendingcleanup_residimfile
     618    psMetadata *pendingcleanup_residimfileArgs = psMetadataAlloc();
     619    psMetadataAddBool(pendingcleanup_residimfileArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
     620    psMetadataAddU64(pendingcleanup_residimfileArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
     621
     622    // -donecleanup_residimfile
     623    psMetadata *donecleanup_residimfileArgs = psMetadataAlloc();
     624    psMetadataAddBool(donecleanup_residimfileArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
     625    psMetadataAddU64(donecleanup_residimfileArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
    521626
    522627    // -toresidexp
     
    527632    // -addresidexp
    528633    psMetadata *addresidexpArgs = psMetadataAlloc();
    529     psMetadataAddStr(addresidexpArgs, PS_LIST_TAIL, "-det_id",  0,            "define detrend ID (required)", NULL);
     634    psMetadataAddS64(addresidexpArgs, PS_LIST_TAIL, "-det_id",  0,            "define detrend ID (required)", 0);
    530635    psMetadataAddS32(addresidexpArgs, PS_LIST_TAIL, "-iteration",  0,            "define iteration number", 0);
    531     psMetadataAddStr(addresidexpArgs, PS_LIST_TAIL, "-exp_id",  0,            "define detrend ID (required)", NULL);
     636    psMetadataAddS64(addresidexpArgs, PS_LIST_TAIL, "-exp_id",  0,            "define detrend ID (required)", 0);
    532637    psMetadataAddS16(addresidexpArgs, PS_LIST_TAIL, "-code",  0,            "set fault code", 0);
    533638    psMetadataAddStr(addresidexpArgs, PS_LIST_TAIL, "-recip",  0,            "define recipe", NULL);
     
    554659    // -residexp
    555660    psMetadata *residexpArgs = psMetadataAlloc();
    556     psMetadataAddStr(residexpArgs, PS_LIST_TAIL, "-det_id",  0,            "search for detrend ID", NULL);
     661    psMetadataAddS64(residexpArgs, PS_LIST_TAIL, "-det_id",  0,            "search for detrend ID", 0);
    557662    psMetadataAddS32(residexpArgs, PS_LIST_TAIL, "-iteration",  0,            "search for iteration number", 0);
    558     psMetadataAddStr(residexpArgs, PS_LIST_TAIL, "-exp_id",  0,            "search for exp ID", NULL);
     663    psMetadataAddS64(residexpArgs, PS_LIST_TAIL, "-exp_id",  0,            "search for exp ID", 0);
    559664    psMetadataAddStr(residexpArgs, PS_LIST_TAIL, "-recip",  0,            "search for recipe", NULL);
    560665    psMetadataAddBool(residexpArgs, PS_LIST_TAIL, "-reject",  0,            "search for acceptable residuals", false);
     
    565670    // -revertresidexp
    566671    psMetadata *revertresidexpArgs = psMetadataAlloc();
    567     psMetadataAddStr(revertresidexpArgs, PS_LIST_TAIL, "-det_id", 0,            "search by detrend ID (required)", NULL);
     672    psMetadataAddS64(revertresidexpArgs, PS_LIST_TAIL, "-det_id", 0,            "search by detrend ID (required)", 0);
    568673    psMetadataAddS32(revertresidexpArgs, PS_LIST_TAIL, "-iteration", 0,            "search by iteration number", 0);
    569     psMetadataAddStr(revertresidexpArgs, PS_LIST_TAIL, "-exp_id",  0,            "search by detrend ID", NULL);
     674    psMetadataAddS64(revertresidexpArgs, PS_LIST_TAIL, "-exp_id",  0,            "search by detrend ID", 0);
    570675    psMetadataAddS16(revertresidexpArgs, PS_LIST_TAIL, "-code",  0,            "search by fault code", 0);
    571676
    572677    // -updateresidexp
    573678    psMetadata *updateresidexpArgs = psMetadataAlloc();
    574     psMetadataAddStr(updateresidexpArgs, PS_LIST_TAIL, "-det_id",  0,            "define detrend ID", NULL);
     679    psMetadataAddS64(updateresidexpArgs, PS_LIST_TAIL, "-det_id",  0,            "define detrend ID", 0);
    575680    psMetadataAddS32(updateresidexpArgs, PS_LIST_TAIL, "-iteration",  0,            "define iteration number", 0);
    576     psMetadataAddStr(updateresidexpArgs, PS_LIST_TAIL, "-exp_id",  0,            "define exp ID", NULL);
     681    psMetadataAddS64(updateresidexpArgs, PS_LIST_TAIL, "-exp_id",  0,            "define exp ID", 0);
    577682    psMetadataAddStr(updateresidexpArgs, PS_LIST_TAIL, "-recip",  0,            "define recipe", NULL);
    578683    psMetadataAddF64(updateresidexpArgs, PS_LIST_TAIL, "-bg",  0,            "define exposure background", NAN);
     
    582687    psMetadataAddBool(updateresidexpArgs, PS_LIST_TAIL, "-reject",  0,            "exposure is not to be stacked in the next iteration", false);
    583688
     689    // -pendingcleanup_residexp
     690    psMetadata *pendingcleanup_residexpArgs = psMetadataAlloc();
     691    psMetadataAddBool(pendingcleanup_residexpArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
     692    psMetadataAddU64(pendingcleanup_residexpArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
     693
     694    // -donecleanup_residexp
     695    psMetadata *donecleanup_residexpArgs = psMetadataAlloc();
     696    psMetadataAddBool(donecleanup_residexpArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
     697    psMetadataAddU64(donecleanup_residexpArgs, PS_LIST_TAIL, "-limit",  0,            "limit result set to N items", 0);
     698
    584699    // -todetrunsummary
    585700    psMetadata *todetrunsummaryArgs = psMetadataAlloc();
     
    589704    // -adddetrunsummary
    590705    psMetadata *adddetrunsummaryArgs = psMetadataAlloc();
    591     psMetadataAddStr(adddetrunsummaryArgs, PS_LIST_TAIL, "-det_id",  0,            "define detrend ID (required)", NULL);
     706    psMetadataAddS64(adddetrunsummaryArgs, PS_LIST_TAIL, "-det_id",  0,            "define detrend ID (required)", 0);
    592707    psMetadataAddS32(adddetrunsummaryArgs, PS_LIST_TAIL, "-iteration",  0,            "define iteration number", 0);
    593708    psMetadataAddF64(adddetrunsummaryArgs, PS_LIST_TAIL, "-bg",  0,            "define exposure background", NAN);
     
    600715    // -detrunsummary
    601716    psMetadata *detrunsummaryArgs = psMetadataAlloc();
    602     psMetadataAddStr(detrunsummaryArgs, PS_LIST_TAIL, "-det_id",  0,            "search for detrend ID", NULL);
     717    psMetadataAddS64(detrunsummaryArgs, PS_LIST_TAIL, "-det_id",  0,            "search for detrend ID", 0);
    603718    psMetadataAddS32(detrunsummaryArgs, PS_LIST_TAIL, "-iteration",  0,            "search for iteration number", 0);
    604719    psMetadataAddU64(detrunsummaryArgs, PS_LIST_TAIL, "-limit",  0,                     "limit result set to N items", 0);
     
    609724    // -revertdetrunsummary
    610725    psMetadata *revertdetrunsummaryArgs = psMetadataAlloc();
    611     psMetadataAddStr(revertdetrunsummaryArgs, PS_LIST_TAIL, "-det_id", 0,            "search by detrend ID (required)", NULL);
     726    psMetadataAddS64(revertdetrunsummaryArgs, PS_LIST_TAIL, "-det_id", 0,            "search by detrend ID (required)", 0);
    612727    psMetadataAddS32(revertdetrunsummaryArgs, PS_LIST_TAIL, "-iteration", 0,            "search by iteration number", 0);
    613728    psMetadataAddS16(revertdetrunsummaryArgs, PS_LIST_TAIL, "-code",  0,            "search by fault code", 0);
     
    615730    // -updatedetrunsummary
    616731    psMetadata *updatedetrunsummaryArgs = psMetadataAlloc();
    617     psMetadataAddStr(updatedetrunsummaryArgs, PS_LIST_TAIL, "-det_id",  0,            "search for detrend master for detrend ID (required)", NULL);
     732    psMetadataAddS64(updatedetrunsummaryArgs, PS_LIST_TAIL, "-det_id",  0,            "search for detrend master for detrend ID (required)", 0);
    618733    psMetadataAddBool(updatedetrunsummaryArgs, PS_LIST_TAIL, "-accept",  0,            "declare that this detrun iteration is accepted as a master", false);
    619734    psMetadataAddBool(updatedetrunsummaryArgs, PS_LIST_TAIL, "-reject",  0,            "reject this detrun iteration as a master", false);
     
    621736    // -updatedetrun
    622737    psMetadata *updatedetrunArgs = psMetadataAlloc();
    623     psMetadataAddStr(updatedetrunArgs, PS_LIST_TAIL, "-det_id",  0,            "search for detrend master for detrend ID (required)", NULL);
     738    psMetadataAddS64(updatedetrunArgs, PS_LIST_TAIL, "-det_id",  0,            "search for detrend master for detrend ID (required)", 0);
    624739    psMetadataAddBool(updatedetrunArgs, PS_LIST_TAIL, "-again",  0,            "start a new iteration of this detrend run", false);
    625740    psMetadataAddStr(updatedetrunArgs, PS_LIST_TAIL, "-state",  0,            "set the state of this detrend run", false);
     
    627742    // -rerun
    628743    psMetadata *rerunArgs = psMetadataAlloc();
    629     psMetadataAddStr(rerunArgs, PS_LIST_TAIL, "-det_id",  0,            "search for detrend master for detrend ID (required)", NULL);
    630     psMetadataAddStr(rerunArgs, PS_LIST_TAIL, "-exp_id",  PS_META_DUPLICATE_OK,            "include this exposure (multiple OK, required)", NULL);
     744    psMetadataAddS64(rerunArgs, PS_LIST_TAIL, "-det_id",  0,            "search for detrend master for detrend ID (required)", 0);
     745    psMetadataAddS64(rerunArgs, PS_LIST_TAIL, "-exp_id",  PS_META_DUPLICATE_OK,            "include this exposure (multiple OK, required)", 0);
    631746
    632747    // -register_detrend
     
    654769    psMetadataAddTime(register_detrendArgs, PS_LIST_TAIL, "-use_begin",  0,            "start of detrend run applicable period", NULL);
    655770    psMetadataAddTime(register_detrendArgs, PS_LIST_TAIL, "-use_end",  0,            "end of detrend run applicable period", NULL);
    656     psMetadataAddStr(register_detrendArgs, PS_LIST_TAIL, "-parent",  0,            "define parent det_id", NULL);
     771    psMetadataAddS64(register_detrendArgs, PS_LIST_TAIL, "-parent",  0,            "define parent det_id", 0);
    657772    psMetadataAddStr(register_detrendArgs, PS_LIST_TAIL, "-label",  0,            "define detrun label", NULL);
    658773    psMetadataAddBool(register_detrendArgs, PS_LIST_TAIL, "-simple",  0,            "use the simple output format", false);
     
    660775    // -register_detrend_imfile
    661776    psMetadata *register_detrend_imfileArgs = psMetadataAlloc();
    662     psMetadataAddStr(register_detrend_imfileArgs, PS_LIST_TAIL, "-det_id",  0,            "define detrend ID (required)", NULL);
     777    psMetadataAddS64(register_detrend_imfileArgs, PS_LIST_TAIL, "-det_id",  0,            "define detrend ID (required)", 0);
    663778    psMetadataAddStr(register_detrend_imfileArgs, PS_LIST_TAIL, "-class_id",  0,            "search for class ID (required)", NULL);
    664779    psMetadataAddStr(register_detrend_imfileArgs, PS_LIST_TAIL, "-uri",  0,            "define resid file URI (required)", NULL);
     
    690805    PXOPT_ADD_MODE("-childlessrun",    "", DETTOOL_MODE_CHILDLESSRUN,  childlessrunArgs);
    691806    PXOPT_ADD_MODE("-input",           "", DETTOOL_MODE_INPUT,         inputArgs);
    692     PXOPT_ADD_MODE("-toprocessedimfile", "", DETTOOL_MODE_TOPROCESSEDIMFILE, toprocessedimfileArgs);
    693     PXOPT_ADD_MODE("-addprocessedimfile", "", DETTOOL_MODE_ADDPROCESSEDIMFILE,  addprocessedimfileArgs);
    694     PXOPT_ADD_MODE("-processedimfile", "", DETTOOL_MODE_PROCESSEDIMFILE, processedimfileArgs);
    695     PXOPT_ADD_MODE("-revertprocessedimfile", "", DETTOOL_MODE_REVERTPROCESSEDIMFILE, revertprocessedimfileArgs);
     807
     808    PXOPT_ADD_MODE("-toprocessedimfile", "",              DETTOOL_MODE_TOPROCESSEDIMFILE, toprocessedimfileArgs);
     809    PXOPT_ADD_MODE("-addprocessedimfile", "",             DETTOOL_MODE_ADDPROCESSEDIMFILE,  addprocessedimfileArgs);
     810    PXOPT_ADD_MODE("-processedimfile", "",                DETTOOL_MODE_PROCESSEDIMFILE, processedimfileArgs);
     811    PXOPT_ADD_MODE("-revertprocessedimfile", "",          DETTOOL_MODE_REVERTPROCESSEDIMFILE, revertprocessedimfileArgs);
     812    PXOPT_ADD_MODE("-updateprocessedimfile", "",          DETTOOL_MODE_UPDATEPROCESSEDIMFILE, updateprocessedimfileArgs);
     813    PXOPT_ADD_MODE("-pendingcleanup_processedimfile", "", DETTOOL_MODE_PENDINGCLEANUP_PROCESSEDIMFILE, pendingcleanup_processedimfileArgs);
     814    PXOPT_ADD_MODE("-donecleanup_processedimfile", "",    DETTOOL_MODE_DONECLEANUP_PROCESSEDIMFILE, donecleanup_processedimfileArgs);
     815
    696816    PXOPT_ADD_MODE("-toprocessedexp",  "", DETTOOL_MODE_TOPROCESSEDEXP,  toprocessedexpArgs);
    697817    PXOPT_ADD_MODE("-addprocessedexp", "", DETTOOL_MODE_ADDPROCESSEDEXP, addprocessedexpArgs);
     818    PXOPT_ADD_MODE("-processedexp",    "", DETTOOL_MODE_PROCESSEDEXP, processedexpArgs);
    698819    PXOPT_ADD_MODE("-revertprocessedexp", "", DETTOOL_MODE_REVERTPROCESSEDEXP, revertprocessedexpArgs);
    699     PXOPT_ADD_MODE("-processedexp",    "", DETTOOL_MODE_PROCESSEDEXP, processedexpArgs);
     820    PXOPT_ADD_MODE("-updateprocessedexp", "", DETTOOL_MODE_UPDATEPROCESSEDEXP, updateprocessedexpArgs);
     821    PXOPT_ADD_MODE("-pendingcleanup_processedexp", "", DETTOOL_MODE_PENDINGCLEANUP_PROCESSEDEXP, pendingcleanup_processedexpArgs);
     822    PXOPT_ADD_MODE("-donecleanup_processedexp", "",    DETTOOL_MODE_DONECLEANUP_PROCESSEDEXP, donecleanup_processedexpArgs);
     823
    700824    PXOPT_ADD_MODE("-tostacked",       "", DETTOOL_MODE_TOSTACKED,     tostackedArgs);
    701825    PXOPT_ADD_MODE("-addstacked",      "", DETTOOL_MODE_ADDSTACKED,    addstackedArgs);
    702826    PXOPT_ADD_MODE("-stacked",         "", DETTOOL_MODE_STACKED,       stackedArgs);
    703827    PXOPT_ADD_MODE("-revertstacked",   "", DETTOOL_MODE_REVERTSTACKED,  revertstackedArgs);
     828    PXOPT_ADD_MODE("-updatestacked",   "", DETTOOL_MODE_UPDATESTACKED,  updatestackedArgs);
     829    PXOPT_ADD_MODE("-pendingcleanup_stacked", "", DETTOOL_MODE_PENDINGCLEANUP_STACKED, pendingcleanup_stackedArgs);
     830    PXOPT_ADD_MODE("-donecleanup_stacked", "",    DETTOOL_MODE_DONECLEANUP_STACKED, donecleanup_stackedArgs);
     831
     832    PXOPT_ADD_MODE("-tonormalizedstat",      "", DETTOOL_MODE_TONORMALIZEDSTAT,    tonormalizedstatArgs);
     833    PXOPT_ADD_MODE("-addnormalizedstat",     "", DETTOOL_MODE_ADDNORMALIZEDSTAT,   addnormstatArgs);
     834    PXOPT_ADD_MODE("-normalizedstat",        "", DETTOOL_MODE_NORMALIZEDSTAT,   normalizedstatArgs);
     835    PXOPT_ADD_MODE("-revertnormalizedstat",  "", DETTOOL_MODE_REVERTNORMALIZEDSTAT,   revertnormalizedstatArgs);
     836    PXOPT_ADD_MODE("-updatenormalizedstat",  "", DETTOOL_MODE_REVERTNORMALIZEDSTAT,   revertnormalizedstatArgs);
     837    PXOPT_ADD_MODE("-pendingcleanup_normalizedstat", "", DETTOOL_MODE_PENDINGCLEANUP_NORMALIZEDSTAT, pendingcleanup_normalizedstatArgs);
     838    PXOPT_ADD_MODE("-donecleanup_normalizedstat", "",    DETTOOL_MODE_DONECLEANUP_NORMALIZEDSTAT, donecleanup_normalizedstatArgs);
     839
    704840    PXOPT_ADD_MODE("-tonormalize",     "", DETTOOL_MODE_TONORMALIZE,   tonormalizeArgs);
    705     PXOPT_ADD_MODE("-addnormalizedstat",     "", DETTOOL_MODE_ADDNORMALIZEDSTAT,   addnormstatArgs);
    706     PXOPT_ADD_MODE("-normalizedstat",  "", DETTOOL_MODE_NORMALIZEDSTAT,   normalizedstatArgs);
    707     PXOPT_ADD_MODE("-revertnormalizedstat",  "", DETTOOL_MODE_REVERTNORMALIZEDSTAT,   revertnormalizedstatArgs);
    708 
    709     PXOPT_ADD_MODE("-tonormalizedstat",      "", DETTOOL_MODE_TONORMALIZEDSTAT,    tonormalizedstatArgs);
    710841    PXOPT_ADD_MODE("-addnormalizedimfile", "", DETTOOL_MODE_ADDNORMALIZEDIMFILE,addnormalizedimfileArgs);
    711842    PXOPT_ADD_MODE("-normalizedimfile","", DETTOOL_MODE_NORMALIZEDIMFILE, normalizedimfileArgs);
    712843    PXOPT_ADD_MODE("-revertnormalizedimfile","", DETTOOL_MODE_REVERTNORMALIZEDIMFILE, revertnormalizedimfileArgs);
     844    PXOPT_ADD_MODE("-updatenormalizedimfile","", DETTOOL_MODE_UPDATENORMALIZEDIMFILE, updatenormalizedimfileArgs);
     845    PXOPT_ADD_MODE("-pendingcleanup_normalizedimfile", "", DETTOOL_MODE_PENDINGCLEANUP_NORMALIZEDIMFILE, pendingcleanup_normalizedimfileArgs);
     846    PXOPT_ADD_MODE("-donecleanup_normalizedimfile", "",    DETTOOL_MODE_DONECLEANUP_NORMALIZEDIMFILE, donecleanup_normalizedimfileArgs);
     847
    713848    PXOPT_ADD_MODE("-tonormalizedexp", "", DETTOOL_MODE_TONORMALIZEDEXP, tonormalizedexpArgs);
    714849    PXOPT_ADD_MODE("-addnormalizedexp", "", DETTOOL_MODE_ADDNORMALIZEDEXP, addnormalizedexpArgs);
    715850    PXOPT_ADD_MODE("-normalizedexp",   "", DETTOOL_MODE_NORMALIZEDEXP, normalizedexpArgs);
    716851    PXOPT_ADD_MODE("-revertnormalizedexp","", DETTOOL_MODE_REVERTNORMALIZEDEXP, revertnormalizedexpArgs);
     852    PXOPT_ADD_MODE("-updatenormalizedexp","", DETTOOL_MODE_UPDATENORMALIZEDEXP, updatenormalizedexpArgs);
     853    PXOPT_ADD_MODE("-pendingcleanup_normalizedexp", "", DETTOOL_MODE_PENDINGCLEANUP_NORMALIZEDEXP, pendingcleanup_normalizedexpArgs);
     854    PXOPT_ADD_MODE("-donecleanup_normalizedexp", "",    DETTOOL_MODE_DONECLEANUP_NORMALIZEDEXP, donecleanup_normalizedexpArgs);
     855
    717856    PXOPT_ADD_MODE("-toresidimfile",   "", DETTOOL_MODE_TORESIDIMFILE, toresidimfileArgs);
    718857    PXOPT_ADD_MODE("-addresidimfile",  "", DETTOOL_MODE_ADDRESIDIMFILE, addresidimfileArgs);
    719858    PXOPT_ADD_MODE("-residimfile",     "", DETTOOL_MODE_RESIDIMFILE, residimfileArgs);
    720859    PXOPT_ADD_MODE("-revertresidimfile", "", DETTOOL_MODE_REVERTRESIDIMFILE, revertresidimfileArgs);
     860    PXOPT_ADD_MODE("-updateresidimfile", "", DETTOOL_MODE_UPDATERESIDIMFILE, updateresidimfileArgs);
     861    PXOPT_ADD_MODE("-pendingcleanup_residimfile", "", DETTOOL_MODE_PENDINGCLEANUP_RESIDIMFILE, pendingcleanup_residimfileArgs);
     862    PXOPT_ADD_MODE("-donecleanup_residimfile", "",    DETTOOL_MODE_DONECLEANUP_RESIDIMFILE, donecleanup_residimfileArgs);
     863
    721864    PXOPT_ADD_MODE("-toresidexp",      "", DETTOOL_MODE_TORESIDEXP,    toresidexpArgs);
    722865    PXOPT_ADD_MODE("-addresidexp",     "", DETTOOL_MODE_ADDRESIDEXP,  addresidexpArgs);
    723866    PXOPT_ADD_MODE("-residexp",        "", DETTOOL_MODE_RESIDEXP,     residexpArgs);
    724867    PXOPT_ADD_MODE("-revertresidexp",  "", DETTOOL_MODE_REVERTRESIDEXP, revertresidexpArgs);
     868    PXOPT_ADD_MODE("-updateresidexp",  "", DETTOOL_MODE_UPDATERESIDEXP, updateresidexpArgs);
     869    PXOPT_ADD_MODE("-pendingcleanup_residexp", "", DETTOOL_MODE_PENDINGCLEANUP_RESIDEXP, pendingcleanup_residexpArgs);
     870    PXOPT_ADD_MODE("-donecleanup_residexp", "",    DETTOOL_MODE_DONECLEANUP_RESIDEXP, donecleanup_residexpArgs);
     871
    725872    PXOPT_ADD_MODE("-todetrunsummary",  "", DETTOOL_MODE_TODETRUNSUMMARY,  todetrunsummaryArgs);
    726873    PXOPT_ADD_MODE("-updateresidexp", "", DETTOOL_MODE_UPDATERESIDEXP,updateresidexpArgs);
     
    729876    PXOPT_ADD_MODE("-revertdetrunsummary", "", DETTOOL_MODE_REVERTDETRUNSUMMARY, revertdetrunsummaryArgs);
    730877    PXOPT_ADD_MODE("-updatedetrunsummary", "", DETTOOL_MODE_UPDATEDETRUNSUMMARY, updatedetrunsummaryArgs);
     878
    731879    PXOPT_ADD_MODE("-updatedetrun", "", DETTOOL_MODE_UPDATEDETRUN, updatedetrunArgs);
    732880    PXOPT_ADD_MODE("-rerun",           "", DETTOOL_MODE_RERUN,         rerunArgs);
  • branches/eam_branch_20080719/ippTools/src/dettool_correction.c

    r18561 r18991  
    2424    PS_ASSERT_PTR_NON_NULL(config, false);
    2525
    26     PXOPT_LOOKUP_STR(det_id, config->args, "-det_id", true, false); // required
     26    PXOPT_LOOKUP_S64(det_id, config->args, "-det_id", true, false); // required
    2727    PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); // optional
    2828
    2929    // build the needed where
    3030    psMetadata *where = psMetadataAlloc();
    31     psMetadataAddS64(where, PS_LIST_TAIL, "det_id", 0, "==", (psS64)atoll(det_id));
     31    psMetadataAddS64(where, PS_LIST_TAIL, "det_id", 0, "==", det_id);
    3232    psArray *runs = detRunSelectRowObjects(config->dbh, where, 1);
    3333    psFree (where);
  • branches/eam_branch_20080719/ippTools/src/dettool_detrunsummary.c

    r18641 r18991  
    9494        return false;
    9595    }
     96    psString data_state = psMetadataLookupStr(&status, row, "data_state");
     97    if (!status) {
     98        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for iteration");
     99        return false;
     100    }
    96101
    97102    // optional
     
    107112            det_id,
    108113            iteration,
     114            data_state,
    109115            bg,
    110116            bg_stdev,
     
    115121}
    116122
     123// XXX data_state should be set to 'full' here
    117124bool adddetrunsummaryMode(pxConfig *config)
    118125{
     
    121128    // build a query to search by det_id, iteration, exp_id
    122129    psMetadata *where = psMetadataAlloc();
    123     PXOPT_COPY_STR(config->args, where, "-det_id", "det_id", "==");
     130    PXOPT_COPY_S64(config->args, where, "-det_id", "det_id", "==");
    124131    PXOPT_COPY_S32(config->args, where, "-iteration", "iteration", "==");
    125132
    126     PXOPT_LOOKUP_STR(det_id, config->args, "-det_id", true, false); // required
     133    PXOPT_LOOKUP_S64(det_id, config->args, "-det_id", true, false); // required
    127134    PXOPT_LOOKUP_BOOL(again, config->args, "-again", false);
    128135
     
    200207    // XXX it should be an error for -again and -code to both be set
    201208    if (again) {
    202         if (!startNewIteration(config, (psS64)atoll(det_id))) {
     209        if (!startNewIteration(config, det_id)) {
    203210            if (!psDBRollback(config->dbh)) {
    204211                psError(PS_ERR_UNKNOWN, false, "database error");
     
    209216    } else {
    210217        // set detRun.state to stop
    211         if (!setDetRunState(config, (psS64)atoll(det_id), "stop")) {
     218        if (!setDetRunState(config, det_id, "stop")) {
    212219            if (!psDBRollback(config->dbh)) {
    213220                psError(PS_ERR_UNKNOWN, false, "database error");
     
    230237
    231238    psMetadata *where = psMetadataAlloc();
    232     PXOPT_COPY_STR(config->args, where, "-det_id",    "det_id", "==");
     239    PXOPT_COPY_S64(config->args, where, "-det_id",    "det_id", "==");
    233240    PXOPT_COPY_S32(config->args, where, "-iteration", "iteration", "==");
    234241
     
    302309
    303310    psMetadata *where = psMetadataAlloc();
    304     PXOPT_COPY_STR(config->args, where, "-det_id",    "det_id", "==");
     311    PXOPT_COPY_S64(config->args, where, "-det_id",    "det_id", "==");
    305312    PXOPT_COPY_S32(config->args, where, "-iteration", "iteration", "==");
    306313    PXOPT_COPY_STR(config->args, where, "-code",      "fault", "==");
     
    334341}
    335342
    336 
     343// XXX need to add -data_state here
    337344bool updatedetrunsummaryMode(pxConfig *config)
    338345{
    339346    PS_ASSERT_PTR_NON_NULL(config, false);
    340347   
    341     PXOPT_LOOKUP_STR(det_id, config->args, "-det_id", true, false); // required
     348    PXOPT_LOOKUP_S64(det_id, config->args, "-det_id", true, false); // required
    342349    PXOPT_LOOKUP_BOOL(accept, config->args, "-accept", false);
    343350    PXOPT_LOOKUP_BOOL(reject, config->args, "-reject", false);
     
    354361
    355362    char *query = "UPDATE detRunSummary SET accept = %d WHERE det_id = %"PRId64;
    356     if (!p_psDBRunQuery(config->dbh, query, accept, (psS64)atoll(det_id))) {
    357         psError(PS_ERR_UNKNOWN, false, "database error");
    358         return false;
    359     }
    360 
    361     return true;
    362 }
    363 
    364 
     363    if (!p_psDBRunQuery(config->dbh, query, accept, det_id)) {
     364        psError(PS_ERR_UNKNOWN, false, "database error");
     365        return false;
     366    }
     367
     368    return true;
     369}
     370
     371
  • branches/eam_branch_20080719/ippTools/src/dettool_normalizedexp.c

    r18643 r18991  
    7373    PS_ASSERT_PTR_NON_NULL(config, false);
    7474   
    75     PXOPT_LOOKUP_STR(det_id, config->args, "-det_id", true, false); // required
     75    PXOPT_LOOKUP_S64(det_id, config->args, "-det_id", true, false); // required
    7676    PXOPT_LOOKUP_S32(iteration, config->args, "-iteration", false, false);
    7777    PXOPT_LOOKUP_S16(code, config->args, "-code", false, false);
     
    9494
    9595    // XXX in some other places, we put the arguments in the .sql and supply them to RunQuery
    96     psStringAppend(&query, " WHERE det_id = %s AND iteration = %d", det_id, iteration);
     96    psStringAppend(&query, " WHERE det_id = %" PRId64 " AND iteration = %d", det_id, iteration);
    9797
    9898    if (!p_psDBRunQuery(config->dbh, query)) {
     
    116116
    117117    // insert the new row into the detProcessedImfile table
    118     if (!detNormalizedExpInsert(config->dbh,
    119         (psS64)atoll(det_id),
    120         iteration,
    121         recipe,
    122         bg,
    123         bg_stdev,
    124         bg_mean_stdev,
    125         user_1,
    126         user_2,
    127         user_3,
    128         user_4,
    129         user_5,
    130         path_base,
    131         code
    132     )) {
     118    if (!detNormalizedExpInsert(
     119            config->dbh,
     120            det_id,
     121            iteration,
     122            recipe,
     123            bg,
     124            bg_stdev,
     125            bg_mean_stdev,
     126            user_1,
     127            user_2,
     128            user_3,
     129            user_4,
     130            user_5,
     131            path_base,
     132            "full",
     133            code
     134            )) {
    133135        psError(PS_ERR_UNKNOWN, false, "database error");
    134136        return false;
     
    144146
    145147    psMetadata *where = psMetadataAlloc();
    146     PXOPT_COPY_STR(config->args, where, "-det_id",    "det_id", "==");
     148    PXOPT_COPY_S64(config->args, where, "-det_id",    "det_id", "==");
    147149    PXOPT_COPY_S32(config->args, where, "-iteration", "iteration", "==");
    148150    PXOPT_COPY_STR(config->args, where, "-recip",  "recipe", "==");
     
    217219
    218220    psMetadata *where = psMetadataAlloc();
    219     PXOPT_COPY_STR(config->args, where, "-det_id",    "det_id", "==");
     221    PXOPT_COPY_S64(config->args, where, "-det_id",    "det_id", "==");
    220222    PXOPT_COPY_S32(config->args, where, "-iteration", "iteration", "==");
    221223    PXOPT_COPY_S16(config->args, where, "-code",      "fault", "==");
     
    249251}
    250252
     253bool updatenormalizedexpMode(pxConfig *config)
     254{
     255    PS_ASSERT_PTR_NON_NULL(config, NULL);
     256
     257    PXOPT_LOOKUP_S64(det_id, config->args, "-det_id", true, false);
     258    PXOPT_LOOKUP_S32(iteration, config->args, "-iteration", true, false);
     259    PXOPT_LOOKUP_STR(data_state, config->args, "-data_state", true, false);
     260
     261    if (!setNormExpDataState(config, det_id, iteration, data_state)) {
     262        return false;
     263    }
     264    return true;
     265}
     266
    251267bool pendingcleanup_normalizedexpMode(pxConfig *config)
    252268{
    253269    PS_ASSERT_PTR_NON_NULL(config, NULL);
    254270
    255     PXOPT_LOOKUP_S64(chip_id, config->args, "-chip_id", false, false);
    256271    PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false);
    257272    PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
    258273
    259274    psMetadata *where = psMetadataAlloc();
    260     if (chip_id) {
    261         PXOPT_COPY_S64(config->args, where, "-chip_id", "chip_id", "==");
    262     }
    263     PXOPT_COPY_STR(config->args, where, "-label", "label", "==");
     275    PXOPT_COPY_S64(config->args, where, "-det_id", "detNormalizedExp.det_id", "==");
     276    PXOPT_COPY_S32(config->args, where, "-iteration", "detNormalizedExp.iteration", "==");
    264277
    265278    psString query = pxDataGet("dettool_pendingcleanup_normalizedexp.sql");
     
    302315
    303316    // negative simple so the default is true
    304     if (!ippdbPrintMetadatas(stdout, output, "detPendingCleanup_normalizedexp", !simple)) {
     317    if (!ippdbPrintMetadatas(stdout, output, "detCleanupNormExp", !simple)) {
    305318        psError(PS_ERR_UNKNOWN, false, "failed to print array");
    306319        psFree(output);
  • branches/eam_branch_20080719/ippTools/src/dettool_normalizedimfile.c

    r18643 r18991  
    7676
    7777    // required
    78     PXOPT_LOOKUP_STR(det_id, config->args, "-det_id", true, false);
     78    PXOPT_LOOKUP_S64(det_id, config->args, "-det_id", true, false);
    7979    PXOPT_LOOKUP_S32(iteration, config->args, "-iteration", false, false);
    8080    PXOPT_LOOKUP_STR(class_id, config->args, "-class_id", true, false);
     
    9696    PXOPT_LOOKUP_STR(path_base, config->args, "-path_base", false, false);
    9797
    98     if (!detNormalizedImfileInsert(config->dbh,
    99         (psS64)atoll(det_id),
    100         iteration,
    101         class_id,
    102         uri,
    103         bg,
    104         bg_stdev,
    105         bg_mean_stdev,
    106         user_1,
    107         user_2,
    108         user_3,
    109         user_4,
    110         user_5,
    111         path_base,
    112         code
    113     )) {
     98    if (!detNormalizedImfileInsert(
     99            config->dbh,
     100            det_id,
     101            iteration,
     102            class_id,
     103            uri,
     104            bg,
     105            bg_stdev,
     106            bg_mean_stdev,
     107            user_1,
     108            user_2,
     109            user_3,
     110            user_4,
     111            user_5,
     112            path_base,
     113            "full",
     114            code
     115            )) {
    114116        psError(PS_ERR_UNKNOWN, false, "database error");
    115117        return false;
     
    124126
    125127    psMetadata *where = psMetadataAlloc();
    126     PXOPT_COPY_STR(config->args, where, "-det_id",    "det_id", "==");
     128    PXOPT_COPY_S64(config->args, where, "-det_id",    "det_id", "==");
    127129    PXOPT_COPY_S32(config->args, where, "-iteration", "iteration", "==");
    128130    PXOPT_COPY_STR(config->args, where, "-class_id",  "class_id", "==");
     
    196198
    197199    psMetadata *where = psMetadataAlloc();
    198     PXOPT_COPY_STR(config->args, where, "-det_id",    "det_id", "==");
     200    PXOPT_COPY_S64(config->args, where, "-det_id",    "det_id", "==");
    199201    PXOPT_COPY_S32(config->args, where, "-iteration", "iteration", "==");
    200202    PXOPT_COPY_STR(config->args, where, "-class_id",  "class_id", "==");
     
    229231}
    230232
     233bool updatenormalizedimfileMode(pxConfig *config)
     234{
     235    PS_ASSERT_PTR_NON_NULL(config, NULL);
     236
     237    PXOPT_LOOKUP_S64(det_id, config->args, "-det_id", true, false);
     238    PXOPT_LOOKUP_S32(iteration, config->args, "-iteration", true, false);
     239    PXOPT_LOOKUP_STR(class_id, config->args, "-class_id",  true, false);
     240    PXOPT_LOOKUP_STR(data_state, config->args, "-data_state", true, false);
     241
     242    if (!setNormImfileDataState(config, det_id, iteration, class_id, data_state)) {
     243        return false;
     244    }
     245    return true;
     246}
     247
    231248bool pendingcleanup_normalizedimfileMode(pxConfig *config)
    232249{
    233250    PS_ASSERT_PTR_NON_NULL(config, NULL);
    234251
    235     PXOPT_LOOKUP_S64(chip_id, config->args, "-chip_id", false, false);
    236252    PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false);
    237253    PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
    238254
    239255    psMetadata *where = psMetadataAlloc();
    240     if (chip_id) {
    241         PXOPT_COPY_S64(config->args, where, "-chip_id", "chip_id", "==");
    242     }
    243     PXOPT_COPY_STR(config->args, where, "-label", "label", "==");
     256    PXOPT_COPY_S64(config->args, where, "-det_id", "detNormalizedImfile.det_id", "==");
     257    PXOPT_COPY_S32(config->args, where, "-iteration", "detNormalizedImfile.iteration", "==");
     258    PXOPT_COPY_STR(config->args, where, "-class_id", "detNormalizedImfile.det_id", "==");
    244259
    245260    psString query = pxDataGet("dettool_pendingcleanup_normalizedimfile.sql");
     
    282297
    283298    // negative simple so the default is true
    284     if (!ippdbPrintMetadatas(stdout, output, "detPendingCleanup_normalizedimfile", !simple)) {
     299    if (!ippdbPrintMetadatas(stdout, output, "detCleanupNormImfile", !simple)) {
    285300        psError(PS_ERR_UNKNOWN, false, "failed to print array");
    286301        psFree(output);
  • branches/eam_branch_20080719/ippTools/src/dettool_normalizedstat.c

    r18643 r18991  
    7575
    7676    // required
    77     PXOPT_LOOKUP_STR(det_id, config->args, "-det_id", true, false);
     77    PXOPT_LOOKUP_S64(det_id, config->args, "-det_id", true, false);
    7878    PXOPT_LOOKUP_STR(class_id, config->args, "-class_id", true, false);
    7979
     
    8686
    8787    if (!detNormalizedStatImfileInsert(config->dbh,
    88         (psS64)atoll(det_id),
     88        det_id,
    8989        iteration,
    9090        class_id,
     
    105105
    106106    psMetadata *where = psMetadataAlloc();
    107     PXOPT_COPY_STR(config->args, where, "-det_id",    "det_id", "==");
     107    PXOPT_COPY_S64(config->args, where, "-det_id",    "det_id", "==");
    108108    PXOPT_COPY_S32(config->args, where, "-iteration", "iteration", "==");
    109109    PXOPT_COPY_STR(config->args, where, "-class_id",  "class_id", "==");
     
    176176
    177177    psMetadata *where = psMetadataAlloc();
    178     PXOPT_COPY_STR(config->args, where, "-det_id",    "det_id", "==");
     178    PXOPT_COPY_S64(config->args, where, "-det_id",    "det_id", "==");
    179179    PXOPT_COPY_S32(config->args, where, "-iteration", "iteration", "==");
    180180    PXOPT_COPY_STR(config->args, where, "-class_id",  "class_id", "==");
     
    209209}
    210210
     211bool updatenormalizedstatMode(pxConfig *config)
     212{
     213    PS_ASSERT_PTR_NON_NULL(config, NULL);
     214
     215    PXOPT_LOOKUP_S64(det_id, config->args, "-det_id", true, false);
     216    PXOPT_LOOKUP_S32(iteration, config->args, "-iteration", true, false);
     217    PXOPT_LOOKUP_STR(class_id, config->args, "-class_id",  true, false);
     218    PXOPT_LOOKUP_STR(data_state, config->args, "-data_state", true, false);
     219
     220    if (!setNormStatImfileDataState(config, det_id, iteration, class_id, data_state)) {
     221        return false;
     222    }
     223    return true;
     224}
     225
    211226bool pendingcleanup_normalizedstatMode(pxConfig *config)
    212227{
    213228    PS_ASSERT_PTR_NON_NULL(config, NULL);
    214229
    215     PXOPT_LOOKUP_S64(chip_id, config->args, "-chip_id", false, false);
    216230    PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false);
    217231    PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
    218232
    219233    psMetadata *where = psMetadataAlloc();
    220     if (chip_id) {
    221         PXOPT_COPY_S64(config->args, where, "-chip_id", "chip_id", "==");
    222     }
    223     PXOPT_COPY_STR(config->args, where, "-label", "label", "==");
     234    PXOPT_COPY_S64(config->args, where, "-det_id", "detNormalizedStatImfile.det_id", "==");
     235    PXOPT_COPY_S32(config->args, where, "-iteration", "detNormalizedStatImfile.iteration", "==");
     236    PXOPT_COPY_STR(config->args, where, "-class_id", "detNormalizedStatImfile.det_id", "==");
    224237
    225238    psString query = pxDataGet("dettool_pendingcleanup_normalizedstat.sql");
     
    262275
    263276    // negative simple so the default is true
    264     if (!ippdbPrintMetadatas(stdout, output, "detPendingCleanup_normalizedstat", !simple)) {
     277    if (!ippdbPrintMetadatas(stdout, output, "detCleanupNormStatImfile", !simple)) {
    265278        psError(PS_ERR_UNKNOWN, false, "failed to print array");
    266279        psFree(output);
  • branches/eam_branch_20080719/ippTools/src/dettool_processedexp.c

    r18643 r18991  
    7676    // det_id, exp_id, recip, -bg, -bg_stdev
    7777    // are required
    78     PXOPT_LOOKUP_STR(det_id, config->args, "-det_id", true, false);
    79     PXOPT_LOOKUP_STR(exp_id, config->args, "-exp_id", true, false);
     78    PXOPT_LOOKUP_S64(det_id, config->args, "-det_id", true, false);
     79    PXOPT_LOOKUP_S64(exp_id, config->args, "-exp_id", true, false);
    8080
    8181    // default values
     
    126126    // create a new detProcessedImfile object
    127127    detProcessedExpRow *detRow = detProcessedExpRowAlloc(
    128         (psS64)atoll(det_id),
    129         (psS64)atoll(exp_id),
     128        det_id,
     129        exp_id,
    130130        recipe,
    131131        bg,
     
    141141        user_5,
    142142        path_base,
     143        "full",
    143144        code
    144145    );
     
    161162
    162163    psMetadata *where = psMetadataAlloc();
    163     PXOPT_COPY_STR(config->args, where, "-det_id", "det_id", "==");
    164     PXOPT_COPY_STR(config->args, where, "-exp_id", "exp_id", "==");
     164    PXOPT_COPY_S64(config->args, where, "-det_id", "det_id", "==");
     165    PXOPT_COPY_S64(config->args, where, "-exp_id", "exp_id", "==");
    165166
    166167    PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false);
     
    228229
    229230    psMetadata *where = psMetadataAlloc();
    230     PXOPT_COPY_STR(config->args, where, "-det_id", "det_id", "==");
    231     PXOPT_COPY_STR(config->args, where, "-exp_id", "exp_id", "==");
     231    PXOPT_COPY_S64(config->args, where, "-det_id", "det_id", "==");
     232    PXOPT_COPY_S64(config->args, where, "-exp_id", "exp_id", "==");
    232233    PXOPT_COPY_S16(config->args, where, "-code",   "fault", "==");
    233234
     
    260261}
    261262
     263bool updateprocessedexpMode(pxConfig *config)
     264{
     265    PS_ASSERT_PTR_NON_NULL(config, NULL);
     266
     267    PXOPT_LOOKUP_S64(det_id, config->args, "-det_id", true, false);
     268    PXOPT_LOOKUP_S64(exp_id, config->args, "-exp_id", true, false);
     269    PXOPT_LOOKUP_STR(data_state, config->args, "-data_state", true, false);
     270    if (!setProcessedExpDataState(config, det_id, exp_id, data_state)) {
     271        return false;
     272    }
     273    return true;
     274}
     275
    262276bool pendingcleanup_processedexpMode(pxConfig *config)
    263277{
    264278    PS_ASSERT_PTR_NON_NULL(config, NULL);
    265279
    266     PXOPT_LOOKUP_S64(chip_id, config->args, "-chip_id", false, false);
    267280    PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false);
    268281    PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
    269282
    270283    psMetadata *where = psMetadataAlloc();
    271     if (chip_id) {
    272         PXOPT_COPY_S64(config->args, where, "-chip_id", "chip_id", "==");
    273     }
    274     PXOPT_COPY_STR(config->args, where, "-label", "label", "==");
     284    PXOPT_COPY_S64(config->args, where, "-det_id", "detProcessedExp.det_id", "==");
     285    PXOPT_COPY_STR(config->args, where, "-label", "detProcessedExp.label", "==");
    275286
    276287    psString query = pxDataGet("dettool_pendingcleanup_processedexp.sql");
     
    313324
    314325    // negative simple so the default is true
    315     if (!ippdbPrintMetadatas(stdout, output, "detPendingCleanup_processedexp", !simple)) {
     326    if (!ippdbPrintMetadatas(stdout, output, "detCleanupProcessedExp", !simple)) {
    316327        psError(PS_ERR_UNKNOWN, false, "failed to print array");
    317328        psFree(output);
     
    324335}
    325336
    326 
     337// XXX SQL missing
    327338bool donecleanup_processedexpMode(pxConfig *config)
    328339{
     
    374385
    375386    // negative simple so the default is true
    376     if (!ippdbPrintMetadatas(stdout, output, "detDoneCleanup_processedexp", !simple)) {
     387    if (!ippdbPrintMetadatas(stdout, output, "detDoneCleanupProcessedExp", !simple)) {
    377388        psError(PS_ERR_UNKNOWN, false, "failed to print array");
    378389        psFree(output);
  • branches/eam_branch_20080719/ippTools/src/dettool_processedimfile.c

    r18643 r18991  
    2525
    2626    psMetadata *where = psMetadataAlloc();
    27     PXOPT_COPY_STR(config->args, where, "-det_id",   "det_id", "==");
    28     PXOPT_COPY_STR(config->args, where, "-exp_id",   "exp_id", "==");
     27    PXOPT_COPY_S64(config->args, where, "-det_id",   "det_id", "==");
     28    PXOPT_COPY_S64(config->args, where, "-exp_id",   "exp_id", "==");
    2929    PXOPT_COPY_STR(config->args, where, "-class_id", "class_id", "==");
    3030
     
    8787
    8888    // det_id, exp_id, class_id, uri, recipe, -bg, -bg_stdev are required
    89     PXOPT_LOOKUP_STR(det_id, config->args, "-det_id", true, false);
    90     PXOPT_LOOKUP_STR(exp_id, config->args, "-exp_id", true, false);
     89    PXOPT_LOOKUP_S64(det_id, config->args, "-det_id", true, false);
     90    PXOPT_LOOKUP_S64(exp_id, config->args, "-exp_id", true, false);
    9191    PXOPT_LOOKUP_STR(class_id, config->args, "-class_id", true, false);
    9292
     
    114114    // find the matching rawImfile by exp_id/class_id
    115115    psMetadata *where = psMetadataAlloc();
    116     PXOPT_COPY_STR(config->args, where, "-exp_id",   "exp_id", "==");
     116    PXOPT_COPY_S64(config->args, where, "-exp_id",   "exp_id", "==");
    117117    PXOPT_COPY_STR(config->args, where, "-class_id", "class_id", "==");
    118118
     
    127127    // create a new detProcessedImfile object
    128128    detProcessedImfileRow *detRow = detProcessedImfileRowAlloc(
    129         (psS64)atoll(det_id),
    130         (psS64)atoll(exp_id),
     129        det_id,
     130        exp_id,
    131131        class_id,
    132132        uri,
     
    144144        user_5,
    145145        path_base,
     146        "full",
    146147        code
    147148    );
     
    172173
    173174    psMetadata *where = psMetadataAlloc();
    174     PXOPT_COPY_STR(config->args, where, "-det_id", "det_id", "==");
    175     PXOPT_COPY_STR(config->args, where, "-exp_id", "exp_id", "==");
     175    PXOPT_COPY_S64(config->args, where, "-det_id", "det_id", "==");
     176    PXOPT_COPY_S64(config->args, where, "-exp_id", "exp_id", "==");
    176177    PXOPT_COPY_STR(config->args, where, "-class_id", "class_id", "==");
    177178
     
    261262
    262263    psMetadata *where = psMetadataAlloc();
    263     PXOPT_COPY_STR(config->args, where, "-det_id", "det_id", "==");
    264     PXOPT_COPY_STR(config->args, where, "-exp_id", "exp_id", "==");
     264    PXOPT_COPY_S64(config->args, where, "-det_id", "det_id", "==");
     265    PXOPT_COPY_S64(config->args, where, "-exp_id", "exp_id", "==");
    265266    PXOPT_COPY_STR(config->args, where, "-class_id", "class_id", "==");
    266267    PXOPT_COPY_S16(config->args, where, "-code", "fault", "==");
     
    294295}
    295296
     297bool updateprocessedimfileMode(pxConfig *config)
     298{
     299    PS_ASSERT_PTR_NON_NULL(config, NULL);
     300
     301    PXOPT_LOOKUP_S64(det_id, config->args, "-det_id", true, false);
     302    PXOPT_LOOKUP_S64(exp_id, config->args, "-exp_id", true, false);
     303    PXOPT_LOOKUP_STR(class_id, config->args, "-class_id", true, false);
     304    PXOPT_LOOKUP_STR(data_state, config->args, "-data_state", true, false);
     305
     306    if (!setProcessedImfileDataState(config, det_id, exp_id, class_id, data_state)) {
     307        return false;
     308    }
     309    return true;
     310}
     311
    296312bool pendingcleanup_processedimfileMode(pxConfig *config)
    297313{
    298314    PS_ASSERT_PTR_NON_NULL(config, NULL);
    299315
    300     PXOPT_LOOKUP_S64(chip_id, config->args, "-chip_id", false, false);
    301316    PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false);
    302317    PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
    303318
    304319    psMetadata *where = psMetadataAlloc();
    305     if (chip_id) {
    306         PXOPT_COPY_S64(config->args, where, "-chip_id", "chip_id", "==");
    307     }
    308     PXOPT_COPY_STR(config->args, where, "-label", "label", "==");
     320    PXOPT_COPY_S64(config->args, where, "-det_id", "detProcessedImfile.det_id", "==");
    309321
    310322    psString query = pxDataGet("dettool_pendingcleanup_processedimfile.sql");
     
    347359
    348360    // negative simple so the default is true
    349     if (!ippdbPrintMetadatas(stdout, output, "detPendingCleanup_processedimfile", !simple)) {
     361    if (!ippdbPrintMetadatas(stdout, output, "detCleanupProcessedImfile", !simple)) {
    350362        psError(PS_ERR_UNKNOWN, false, "failed to print array");
    351363        psFree(output);
     
    358370}
    359371
    360 
     372// XXX SQL missing
    361373bool donecleanup_processedimfileMode(pxConfig *config)
    362374{
  • branches/eam_branch_20080719/ippTools/src/dettool_residexp.c

    r18643 r18991  
    8888    // limit search by det_id, iteration, exp_id
    8989    psMetadata *where = psMetadataAlloc();
    90     PXOPT_COPY_STR(config->args, where, "-det_id", "det_id", "==");
     90    PXOPT_COPY_S64(config->args, where, "-det_id", "det_id", "==");
    9191    PXOPT_COPY_S32(config->args, where, "-iteration", "iteration", "==");
    92     PXOPT_COPY_STR(config->args, where, "-exp_id", "exp_id", "==");
    93 
    94     PXOPT_LOOKUP_STR(det_id, config->args, "-det_id", true, false); // required
     92    PXOPT_COPY_S64(config->args, where, "-exp_id", "exp_id", "==");
     93
     94    PXOPT_LOOKUP_S64(det_id, config->args, "-det_id", true, false); // required
    9595    PXOPT_LOOKUP_S32(iteration, config->args, "-iteration", false, false);
    96     PXOPT_LOOKUP_STR(exp_id, config->args, "-exp_id", true, false); // required
     96    PXOPT_LOOKUP_S64(exp_id, config->args, "-exp_id", true, false); // required
    9797    PXOPT_LOOKUP_S16(code, config->args, "-code", false, false);
    9898    PXOPT_LOOKUP_STR(recipe, config->args, "-recip", (code == 0), false); // Required if code == 0
     
    150150    psFree(output);
    151151
    152     if (!detResidExpInsert(config->dbh,
    153             (psS64)atoll(det_id),
     152    if (!detResidExpInsert(
     153            config->dbh,
     154            det_id,
    154155            iteration,
    155             (psS64)atoll(exp_id),
     156            exp_id,
    156157            recipe,
    157158            bg,
     
    173174            user_5,
    174175            path_base,
     176            "full",
    175177            !reject,
    176178            code
     
    188190
    189191    psMetadata *where = psMetadataAlloc();
    190     PXOPT_COPY_STR(config->args, where, "-det_id",    "det_id", "==");
     192    PXOPT_COPY_S64(config->args, where, "-det_id",    "det_id", "==");
    191193    PXOPT_COPY_S32(config->args, where, "-iteration", "iteration", "==");
    192     PXOPT_COPY_STR(config->args, where, "-exp_id",    "exp_id", "==");
     194    PXOPT_COPY_S64(config->args, where, "-exp_id",    "exp_id", "==");
    193195    PXOPT_COPY_STR(config->args, where, "-recip",     "recipe", "==");
    194196
     
    268270
    269271    psMetadata *where = psMetadataAlloc();
    270     PXOPT_COPY_STR(config->args, where, "-det_id",    "det_id", "==");
     272    PXOPT_COPY_S64(config->args, where, "-det_id",    "det_id", "==");
    271273    PXOPT_COPY_S32(config->args, where, "-iteration", "iteration", "==");
    272     PXOPT_COPY_STR(config->args, where, "-exp_id",    "exp_id", "==");
     274    PXOPT_COPY_S64(config->args, where, "-exp_id",    "exp_id", "==");
    273275    PXOPT_COPY_S16(config->args, where, "-code",      "fault", "==");
    274276
     
    310312    // build a query to search by det_id, iteration, exp_id
    311313    psMetadata *where = psMetadataAlloc();
    312     PXOPT_COPY_STR(config->args, where, "-det_id", "det_id", "==");
     314    PXOPT_COPY_S64(config->args, where, "-det_id", "det_id", "==");
    313315    PXOPT_COPY_S32(config->args, where, "-iteration", "iteration", "==");
    314     PXOPT_COPY_STR(config->args, where, "-exp_id", "exp_id", "==");
     316    PXOPT_COPY_S64(config->args, where, "-exp_id", "exp_id", "==");
    315317
    316318    // find the values we're going to set
     
    323325    PXOPT_COPY_F64(config->args, set, "-bg_mean_stdev", "bg_mean_stdev", "==");
    324326    PXOPT_COPY_STR(config->args, set, "-path_base", "path_base", "==");
     327    PXOPT_COPY_STR(config->args, set, "-data_state", "data_state", "==");
     328
     329    // double-check the allowed data_state values
     330    PXOPT_LOOKUP_STR(data_state, config->args, "-data_state", false, false);
     331    if (data_state) {
     332        if (!isValidDataState (data_state)) return false;
     333    }
    325334
    326335    // this can't be PXOPT_ macro-ized as reject is !'d
     
    348357    PS_ASSERT_PTR_NON_NULL(config, NULL);
    349358
    350     PXOPT_LOOKUP_S64(chip_id, config->args, "-chip_id", false, false);
    351359    PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false);
    352360    PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
    353361
    354362    psMetadata *where = psMetadataAlloc();
    355     if (chip_id) {
    356         PXOPT_COPY_S64(config->args, where, "-chip_id", "chip_id", "==");
    357     }
    358     PXOPT_COPY_STR(config->args, where, "-label", "label", "==");
     363    PXOPT_COPY_S64(config->args, where, "-det_id", "detProcessedImfile.det_id", "==");
    359364
    360365    psString query = pxDataGet("dettool_pendingcleanup_residexp.sql");
     
    397402
    398403    // negative simple so the default is true
    399     if (!ippdbPrintMetadatas(stdout, output, "detPendingCleanup_residexp", !simple)) {
     404    if (!ippdbPrintMetadatas(stdout, output, "detCleanupResidExp", !simple)) {
    400405        psError(PS_ERR_UNKNOWN, false, "failed to print array");
    401406        psFree(output);
  • branches/eam_branch_20080719/ippTools/src/dettool_residimfile.c

    r18643 r18991  
    7676
    7777   
    78     PXOPT_LOOKUP_STR(det_id, config->args, "-det_id", true, false); // required
     78    PXOPT_LOOKUP_S64(det_id, config->args, "-det_id", true, false); // required
    7979    PXOPT_LOOKUP_S32(iteration, config->args, "-iteration", false, false);
    80     PXOPT_LOOKUP_STR(exp_id, config->args, "-exp_id", true, false); // required
     80    PXOPT_LOOKUP_S64(exp_id, config->args, "-exp_id", true, false); // required
    8181    PXOPT_LOOKUP_STR(class_id, config->args, "-class_id", true, false); // required
    8282    PXOPT_LOOKUP_S16(code, config->args, "-code", false, false);
     
    102102    PXOPT_LOOKUP_STR(path_base, config->args, "-path_base", false, false);
    103103
    104     if (!detResidImfileInsert(config->dbh,
    105             (psS64)atoll(det_id),
     104    if (!detResidImfileInsert(
     105            config->dbh,
     106            det_id,
    106107            iteration,
    107             (psS64)atoll(exp_id),
     108            exp_id,
    108109            class_id,
    109110            uri,
     
    127128            user_5,
    128129            path_base,
     130            "full",
    129131            code
    130132    )) {
     
    142144
    143145    psMetadata *where = psMetadataAlloc();
    144     PXOPT_COPY_STR(config->args, where, "-det_id",     "det_id", "==");
     146    PXOPT_COPY_S64(config->args, where, "-det_id",     "det_id", "==");
    145147    PXOPT_COPY_S32(config->args, where, "-iteration",  "iteration", "==");
    146     PXOPT_COPY_STR(config->args, where, "-exp_id",     "exp_id", "==");
     148    PXOPT_COPY_S64(config->args, where, "-exp_id",     "exp_id", "==");
    147149    PXOPT_COPY_STR(config->args, where, "-class_id",   "class_id", "==");
    148150    PXOPT_COPY_STR(config->args, where, "-recip",      "recipe", "==");
     
    225227
    226228    psMetadata *where = psMetadataAlloc();
    227     PXOPT_COPY_STR(config->args, where, "-det_id",    "det_id", "==");
     229    PXOPT_COPY_S64(config->args, where, "-det_id",    "det_id", "==");
    228230    PXOPT_COPY_S32(config->args, where, "-iteration", "iteration", "==");
    229     PXOPT_COPY_STR(config->args, where, "-exp_id",  "exp_id", "==");
     231    PXOPT_COPY_S64(config->args, where, "-exp_id",  "exp_id", "==");
    230232    PXOPT_COPY_STR(config->args, where, "-class_id",  "class_id", "==");
    231233    PXOPT_COPY_S16(config->args, where, "-code",      "fault", "==");
     
    259261}
    260262
     263bool updateresidimfileMode(pxConfig *config)
     264{
     265    PS_ASSERT_PTR_NON_NULL(config, NULL);
     266
     267    PXOPT_LOOKUP_S64(det_id, config->args, "-det_id", true, false);
     268    PXOPT_LOOKUP_S32(iteration, config->args, "-iteration", true, false);
     269    PXOPT_LOOKUP_S64(exp_id, config->args, "-exp_id", true, false);
     270    PXOPT_LOOKUP_STR(class_id, config->args, "-class_id", true, false);
     271    PXOPT_LOOKUP_STR(data_state, config->args, "-data_state", true, false);
     272    if (!setResidImfileDataState(config, det_id, iteration, exp_id, class_id, data_state)) {
     273        return false;
     274    }
     275    return true;
     276}
     277
    261278bool pendingcleanup_residimfileMode(pxConfig *config)
    262279{
    263280    PS_ASSERT_PTR_NON_NULL(config, NULL);
    264281
    265     PXOPT_LOOKUP_S64(chip_id, config->args, "-chip_id", false, false);
    266282    PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false);
    267283    PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
    268284
    269285    psMetadata *where = psMetadataAlloc();
    270     if (chip_id) {
    271         PXOPT_COPY_S64(config->args, where, "-chip_id", "chip_id", "==");
    272     }
    273     PXOPT_COPY_STR(config->args, where, "-label", "label", "==");
     286    PXOPT_COPY_S64(config->args, where, "-det_id", "detProcessedImfile.det_id", "==");
    274287
    275288    psString query = pxDataGet("dettool_pendingcleanup_residimfile.sql");
     
    312325
    313326    // negative simple so the default is true
    314     if (!ippdbPrintMetadatas(stdout, output, "detPendingCleanup_residimfile", !simple)) {
     327    if (!ippdbPrintMetadatas(stdout, output, "detCleanupResidImfile", !simple)) {
    315328        psError(PS_ERR_UNKNOWN, false, "failed to print array");
    316329        psFree(output);
  • branches/eam_branch_20080719/ippTools/src/dettool_stack.c

    r18643 r18991  
    7878
    7979    psMetadata *where = psMetadataAlloc();
    80     PXOPT_COPY_STR(config->args, where, "-det_id",    "det_id", "==");
     80    PXOPT_COPY_S64(config->args, where, "-det_id",    "det_id", "==");
    8181    PXOPT_COPY_S32(config->args, where, "-iteration", "iteration", "==");
    8282
     
    123123
    124124    // det_id, iteration, class_id, uri, & recipe are required
    125     PXOPT_LOOKUP_STR(det_id, config->args, "-det_id", true, false);
     125    PXOPT_LOOKUP_S64(det_id, config->args, "-det_id", true, false);
    126126    PXOPT_LOOKUP_S32(iteration, config->args, "-iteration", true, false);
    127127    PXOPT_LOOKUP_STR(class_id, config->args, "-class_id", true, false);
     
    175175    // create a new detStackedImfile object
    176176    detStackedImfileRow *stackedImfile = detStackedImfileRowAlloc(
    177             (psS64)atoll(det_id),
     177            det_id,
    178178            iteration,
    179179            class_id,
     
    208208
    209209    psMetadata *where = psMetadataAlloc();
    210     PXOPT_COPY_STR(config->args, where, "-det_id",    "det_id", "==");
     210    PXOPT_COPY_S64(config->args, where, "-det_id",    "det_id", "==");
    211211    PXOPT_COPY_S32(config->args, where, "-iteration", "iteration", "==");
    212212    PXOPT_COPY_STR(config->args, where, "-class_id",  "class_id", "==");
     
    282282
    283283    psMetadata *where = psMetadataAlloc();
    284     PXOPT_COPY_STR(config->args, where, "-det_id",    "det_id", "==");
     284    PXOPT_COPY_S64(config->args, where, "-det_id",    "det_id", "==");
    285285    PXOPT_COPY_S32(config->args, where, "-iteration", "iteration", "==");
    286286    PXOPT_COPY_STR(config->args, where, "-class_id",  "class_id", "==");
     
    315315}
    316316
     317bool updatestackedMode(pxConfig *config)
     318{
     319    PS_ASSERT_PTR_NON_NULL(config, NULL);
     320
     321    PXOPT_LOOKUP_S64(det_id, config->args, "-det_id", true, false);
     322    PXOPT_LOOKUP_S32(iteration, config->args, "-iteration", true, false);
     323    PXOPT_LOOKUP_STR(data_state, config->args, "-data_state", true, false);
     324
     325    if (!setStackedImfileDataState(config, det_id, iteration, data_state)) {
     326        return false;
     327    }
     328    return true;
     329}
     330
    317331bool pendingcleanup_stackedMode(pxConfig *config)
    318332{
    319333    PS_ASSERT_PTR_NON_NULL(config, NULL);
    320334
    321     PXOPT_LOOKUP_S64(chip_id, config->args, "-chip_id", false, false);
    322335    PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false);
    323336    PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
    324337
    325338    psMetadata *where = psMetadataAlloc();
    326     if (chip_id) {
    327         PXOPT_COPY_S64(config->args, where, "-chip_id", "chip_id", "==");
    328     }
    329     PXOPT_COPY_STR(config->args, where, "-label", "label", "==");
     339    PXOPT_COPY_S64(config->args, where, "-det_id", "detStackedImfile.det_id", "==");
     340    PXOPT_COPY_S32(config->args, where, "-iteration", "detStackedImfile.iteration", "==");
    330341
    331342    psString query = pxDataGet("dettool_pendingcleanup_stacked.sql");
     
    368379
    369380    // negative simple so the default is true
    370     if (!ippdbPrintMetadatas(stdout, output, "detPendingCleanup_stacked", !simple)) {
     381    if (!ippdbPrintMetadatas(stdout, output, "detCleanupStackedImfile", !simple)) {
    371382        psError(PS_ERR_UNKNOWN, false, "failed to print array");
    372383        psFree(output);
     
    379390}
    380391
    381 
     392// XXX SQL missing
    382393bool donecleanup_stackedMode(pxConfig *config)
    383394{
Note: See TracChangeset for help on using the changeset viewer.