IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
May 3, 2010, 8:41:49 AM (16 years ago)
Author:
eugene
Message:

updates from trunk

Location:
branches/tap_branches
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/tap_branches

  • branches/tap_branches/ippTools/src

    • Property svn:ignore
      •  

        old new  
        1616difftool
        1717disttool
         18dqstatstool
        1819faketool
        1920flatcorr
  • branches/tap_branches/ippTools/src/dettool.c

    r25324 r27838  
    9494        MODECASE(DETTOOL_MODE_PENDINGCLEANUP_PROCESSEDEXP, pendingcleanup_processedexpMode);
    9595        MODECASE(DETTOOL_MODE_DONECLEANUP_PROCESSEDEXP, donecleanup_processedexpMode);
     96        MODECASE(DETTOOL_MODE_UPDATESTATE_PROCESSED, updatestateprocessedMode);
    9697        // stacked
    9798        MODECASE(DETTOOL_MODE_TOSTACKED,        tostackedMode);
     
    142143        MODECASE(DETTOOL_MODE_PENDINGCLEANUP_RESIDEXP, pendingcleanup_residexpMode);
    143144        MODECASE(DETTOOL_MODE_DONECLEANUP_RESIDEXP, donecleanup_residexpMode);
     145        MODECASE(DETTOOL_MODE_UPDATESTATE_RESID, updatestateresidMode);
    144146        // detrunsummary
    145147        MODECASE(DETTOOL_MODE_TODETRUNSUMMARY,  todetrunsummaryMode);
     
    150152        MODECASE(DETTOOL_MODE_UPDATEDETRUN,     updatedetrunMode);
    151153        MODECASE(DETTOOL_MODE_RERUN,            rerunMode);
    152         MODECASE(DETTOOL_MODE_PENDINGCLEANUP_DETRUNSUMMARY, pendingcleanup_detrunsummaryMode);
     154        MODECASE(DETTOOL_MODE_PENDINGCLEANUP_DETRUNSUMMARY, pendingcleanup_detrunsummaryMode);
    153155        // register
    154156        MODECASE(DETTOOL_MODE_REGISTER_DETREND, register_detrendMode);
     
    185187    psString query = pxDataGet("dettool_pending.sql");
    186188    if (!query) {
    187         psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement");
    188         return false;
    189     }
    190    
     189        psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement");
     190        return false;
     191    }
     192
    191193    psMetadata *where = psMetadataAlloc();
    192194    PXOPT_COPY_S64(config->args, where, "-exp_id", "exp_id", "==");
     
    258260        psError(PS_ERR_UNKNOWN, false, "verify mode requires both -ref_det_id and -ref_iter");
    259261        return false;
    260     } 
     262    }
    261263    if (strcmp(mode, "verify") && ((ref_det_id != 0) || (ref_iter != -1))) {
    262264        psError(PS_ERR_UNKNOWN, false, "master mode cannot have -ref_det_id or -ref_iter set");
    263265        return false;
    264     } 
    265        
     266    }
     267
    266268    PXOPT_LOOKUP_STR(camera, config->args, "-inst", false, false);
    267269    PXOPT_LOOKUP_STR(telescope, config->args, "-telescope", false, false);
     
    308310        psMetadataItem *mItem = NULL;
    309311        while ((mItem = psListGetAndIncrement(iter))) {
    310             psS64 exp_id = mItem->data.S64;
     312            psS64 exp_id = mItem->data.S64;
    311313            if (!psMetadataAddS64(where, PS_LIST_TAIL, "exp_id", PS_META_DUPLICATE_OK, "==", exp_id)) {
    312314                psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
     
    317319        }
    318320        psFree(iter);
    319     } 
     321    }
    320322    if (item->type == PS_DATA_S64) {
    321         psS64 exp_id = item->data.S64;
    322         if (!psMetadataAddS64(where, PS_LIST_TAIL, "exp_id", PS_META_DUPLICATE_OK, "==", exp_id)) {
    323             psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    324             psFree(where);
    325             return false;
    326         }
    327     } 
     323        psS64 exp_id = item->data.S64;
     324        if (!psMetadataAddS64(where, PS_LIST_TAIL, "exp_id", PS_META_DUPLICATE_OK, "==", exp_id)) {
     325            psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
     326            psFree(where);
     327            return false;
     328        }
     329    }
    328330
    329331    if (psListLength(where->list) < 1) {
     
    505507        psError(PS_ERR_UNKNOWN, false, "verify mode requires both -ref_det_id and -ref_iter");
    506508        return false;
    507     } 
     509    }
    508510    if (strcmp(mode, "verify") && ((ref_det_id != 0) || (ref_iter != -1))) {
    509511        psError(PS_ERR_UNKNOWN, false, "master mode cannot have -ref_det_id or -ref_iter set");
    510512        return false;
    511     } 
     513    }
    512514
    513515    PXOPT_LOOKUP_STR(filelevel, config->args, "-filelevel", false, false);
     
    550552    PXOPT_COPY_F32(config->args, where, "-select_airmass_max", "airmass", "<=");
    551553    PXOPT_COPY_F32(config->args, where, "-select_sat_pixel_frac_max", "sat_pixel_frac", "<=");
     554    PXOPT_COPY_F32(config->args, where, "-select_sat_pixel_frac_min", "sat_pixel_frac", ">=");
    552555    PXOPT_COPY_F32(config->args, where, "-select_exp_time_min", "exp_time", ">=");
    553556    PXOPT_COPY_F32(config->args, where, "-select_exp_time_max", "exp_time", "<=");
     
    673676                 label,
    674677                 ref_det_id,
    675                 ref_iter
     678                ref_iter
    676679        );
    677680    psS64 det_id = psDBLastInsertID(config->dbh);
     
    742745{
    743746    PS_ASSERT_PTR_NON_NULL(config, false);
    744    
     747
    745748    // XXX this mode is not well-tested: probably need to specify iteration here
    746749    PXOPT_LOOKUP_S64(det_id, config->args, "-det_id", true, false); // required
     
    759762        psError(PS_ERR_UNKNOWN, false, "verify mode requires both -ref_det_id and -ref_iter");
    760763        return false;
    761     } 
     764    }
    762765    if (strcmp(mode, "verify") && ((ref_det_id != 0) || (ref_iter != -1))) {
    763766        psError(PS_ERR_UNKNOWN, false, "master mode cannot have -ref_det_id or -ref_iter set");
    764767        return false;
    765     } 
     768    }
    766769
    767770    // the new detRun may have different values for these limits:
     
    817820
    818821    if (iteration < 0) {
    819         iteration = detRun->iteration;
     822        iteration = detRun->iteration;
    820823    }
    821824
     
    977980    psString query = pxDataGet("dettool_definebydetrun.sql");
    978981    if (!query) {
    979         psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement");
     982        psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement");
    980983        return false;
    981984    }
     
    989992
    990993    if (only_accepted) {
    991         psStringAppend(&query, " AND accept = 1");
     994        psStringAppend(&query, " AND accept = 1");
    992995    }
    993996
     
    10681071    psString query = pxDataGet("dettool_runs.sql");
    10691072    if (!query) {
    1070         psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement");
     1073        psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement");
    10711074        return false;
    10721075    }
     
    11381141    psString query = pxDataGet("dettool_childlessrun.sql");
    11391142    if (!query) {
    1140         psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement");
     1143        psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement");
    11411144        psFree(where);
    11421145        return false;
     
    12121215    psString query = pxDataGet("dettool_input.sql");
    12131216    if (!query) {
    1214         psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement");
     1217        psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement");
    12151218        psFree(where);
    12161219        return false;
     
    12641267    psString query = pxDataGet("dettool_raw.sql");
    12651268    if (!query) {
    1266         psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement");
     1269        psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement");
    12671270        return false;
    12681271    }
     
    13381341}
    13391342
    1340 // used by updatedetrunMode 
     1343// used by updatedetrunMode
    13411344bool startNewIteration(pxConfig *config, psS64 det_id)
    13421345{
     
    13451348    psString query = pxDataGet("dettool_start_new_iteration.sql");
    13461349    if (!query) {
    1347         psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement");
     1350        psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement");
    13481351        return false;
    13491352    }
     
    15641567        }
    15651568        detInputExpRow *newInputExp = detInputExpRowAlloc(
    1566             det_id,
     1569            det_id,
    15671570            newIteration,
    15681571            inputExp->exp_id,
     
    16621665                      solang_max,
    16631666                      label,
    1664                       ref_det_id,
    1665                       ref_iter
     1667                      ref_det_id,
     1668                      ref_iter
    16661669            )) {
    16671670        psError(PS_ERR_UNKNOWN, false, "database error");
     
    17131716{
    17141717    PS_ASSERT_PTR_NON_NULL(config, false);
    1715    
     1718
    17161719    PXOPT_LOOKUP_S64(det_id, config->args, "-det_id", true, false); // required
    17171720    PXOPT_LOOKUP_STR(class_id, config->args, "-class_id", true, false); // required
     
    17281731
    17291732    if (!detRegisteredImfileInsert(config->dbh,
    1730                                    det_id,
    1731                                    0,  // the iteration is fixed at 0
    1732                                    class_id,
    1733                                    uri,
    1734                                    bg,
    1735                                    bg_stdev,
    1736                                    bg_mean_stdev,
    1737                                    user_1,
    1738                                    user_2,
    1739                                    user_3,
    1740                                    user_4,
    1741                                    user_5,
    1742                                    path_base,
    1743                                    "full",                                 
    1744                                    0       // fault code
    1745             )) {
     1733                                   det_id,
     1734                                   0,  // the iteration is fixed at 0
     1735                                   class_id,
     1736                                   uri,
     1737                                   bg,
     1738                                   bg_stdev,
     1739                                   bg_mean_stdev,
     1740                                   user_1,
     1741                                   user_2,
     1742                                   user_3,
     1743                                   user_4,
     1744                                   user_5,
     1745                                   path_base,
     1746                                   "full",
     1747                                   0       // fault code
     1748            )) {
    17461749        psError(PS_ERR_UNKNOWN, false, "database error");
    17471750        return false;
     
    18581861
    18591862
    1860 bool setProcessedImfileDataState(pxConfig *config, psS64 det_id, psS64 exp_id, const char *class_id, const char *data_state)
     1863bool setProcessedImfileDataState(pxConfig *config, psMetadata *where, const char *data_state)
    18611864{
    18621865    PS_ASSERT_PTR_NON_NULL(config, false);
     1866    PS_ASSERT_PTR_NON_NULL(where, false);
    18631867    PS_ASSERT_PTR_NON_NULL(data_state, false);
    1864     PS_ASSERT_PTR_NON_NULL(class_id, false);
    18651868
    18661869    if (!isValidDataState (data_state)) return false;
    1867    
    1868     char *query = "UPDATE detProcessedImfile SET data_state = '%s'"
    1869         " WHERE det_id = %" PRId64
    1870         " AND exp_id = %" PRId64
    1871         " AND class_id = '%s'";
    1872     if (!p_psDBRunQueryF(config->dbh, query, data_state, det_id, exp_id, class_id)) {
    1873         psError(PS_ERR_UNKNOWN, false,
    1874                 "failed to change state for det_id %" PRId64 ", exp_id %" PRId64 ", class_id %s",
    1875                 det_id, exp_id, class_id);
    1876         return false;
    1877     }
    1878 
    1879     return true;
    1880 }
    1881 
    1882 bool setProcessedExpDataState(pxConfig *config, psS64 det_id, psS64 exp_id, const char *data_state)
     1870
     1871    psString query = psStringCopy("UPDATE detProcessedImfile SET data_state = '%s'");
     1872    if (where && psListLength(where->list) > 0) {
     1873      psString whereClause = psDBGenerateWhereSQL(where,NULL);
     1874      psStringAppend(&query," %s",whereClause);
     1875      psFree(whereClause);
     1876    } else {
     1877      psError(PS_ERR_UNKNOWN, true, "search parameters are required");
     1878      return(false);
     1879    }
     1880
     1881    if (!p_psDBRunQueryF(config->dbh, query, data_state)) {
     1882      psFree(query);
     1883      psError(PS_ERR_UNKNOWN, false, "database error");
     1884      return(false);
     1885    }
     1886    psFree(query);
     1887    return(true);
     1888}
     1889
     1890bool setProcessedExpDataState(pxConfig *config, psMetadata *where, const char *data_state)
    18831891{
    18841892    PS_ASSERT_PTR_NON_NULL(config, false);
     1893    PS_ASSERT_PTR_NON_NULL(where, false);
    18851894    PS_ASSERT_PTR_NON_NULL(data_state, false);
    18861895
    18871896    if (!isValidDataState (data_state)) return false;
    18881897
    1889     char *query = "UPDATE detProcessedExp SET data_state = '%s'"
    1890         " WHERE det_id = %" PRId64
    1891         " AND exp_id = %" PRId64;
    1892     if (!p_psDBRunQueryF(config->dbh, query, data_state, det_id, exp_id)) {
    1893         psError(PS_ERR_UNKNOWN, false,
    1894                 "failed to change state for det_id %" PRId64 ", exp_id %" PRId64,
    1895                 det_id, exp_id);
    1896         return false;
    1897     }
    1898 
    1899     return true;
    1900 }
    1901 
    1902 
     1898    psString query = psStringCopy("UPDATE detProcessedExp SET data_state = '%s'");
     1899    if (where && psListLength(where->list) > 0) {
     1900      psString whereClause = psDBGenerateWhereSQL(where,NULL);
     1901      psStringAppend(&query," %s",whereClause);
     1902      psFree(whereClause);
     1903    } else {
     1904      psError(PS_ERR_UNKNOWN, true, "search parameters are required");
     1905      return(false);
     1906    }
     1907
     1908    if (!p_psDBRunQueryF(config->dbh, query, data_state)) {
     1909      psFree(query);
     1910      psError(PS_ERR_UNKNOWN, false, "database error");
     1911      return(false);
     1912    }
     1913    psFree(query);
     1914    return(true);
     1915}
     1916
     1917bool setResidImfileDataState(pxConfig *config, psMetadata *where, const char *data_state)
     1918{
     1919    PS_ASSERT_PTR_NON_NULL(config, false);
     1920    PS_ASSERT_PTR_NON_NULL(where,false);
     1921    PS_ASSERT_PTR_NON_NULL(data_state, false);
     1922
     1923    if (!isValidDataState (data_state)) return false;
     1924
     1925    psString query = psStringCopy("UPDATE detResidImfile SET data_state = '%s'");
     1926    if (where && psListLength(where->list) > 0) {
     1927      psString whereClause = psDBGenerateWhereSQL(where,NULL);
     1928      psStringAppend(&query," %s",whereClause);
     1929      psFree(whereClause);
     1930    } else {
     1931      psError(PS_ERR_UNKNOWN, true, "search parameters are required");
     1932      return(false);
     1933    }
     1934
     1935    if (!p_psDBRunQueryF(config->dbh, query, data_state)) {
     1936      psFree(query);
     1937      psError(PS_ERR_UNKNOWN, false, "database error");
     1938      return(false);
     1939    }
     1940    psFree(query);
     1941    return(true);
     1942}
     1943// This function apparently not used anymore.
     1944bool setResidExpDataState(pxConfig *config, psMetadata *where, const char *data_state)
     1945{
     1946    PS_ASSERT_PTR_NON_NULL(config, false);
     1947    PS_ASSERT_PTR_NON_NULL(where,false);
     1948    PS_ASSERT_PTR_NON_NULL(data_state, false);
     1949
     1950    if (!isValidDataState (data_state)) return false;
     1951
     1952    psString query = psStringCopy("UPDATE detResidExp SET data_state = '%s'");
     1953    if (where && psListLength(where->list) > 0) {
     1954      psString whereClause = psDBGenerateWhereSQL(where,NULL);
     1955      psStringAppend(&query," %s",whereClause);
     1956      psFree(whereClause);
     1957    } else {
     1958      psError(PS_ERR_UNKNOWN, true, "search parameters are required");
     1959      return(false);
     1960    }
     1961
     1962    if (!p_psDBRunQueryF(config->dbh, query, data_state)) {
     1963      psFree(query);
     1964      psError(PS_ERR_UNKNOWN, false, "database error");
     1965      return(false);
     1966    }
     1967    psFree(query);
     1968    return(true);
     1969}
     1970
     1971// Not yet updated for cleaning
    19031972bool setStackedImfileDataState(pxConfig *config, psS64 det_id, psS32 iteration, const char *class_id, const char *data_state)
    19041973{
     
    19101979
    19111980    char *query = "UPDATE detStackedImfile SET data_state = '%s'"
    1912         " WHERE det_id = %" PRId64
    1913         " AND iteration = %" PRId32
    1914         " AND class_id = '%s'";
     1981        " WHERE det_id = %" PRId64
     1982        " AND iteration = %" PRId32
     1983        " AND class_id = '%s'";
    19151984    if (!p_psDBRunQueryF(config->dbh, query, data_state, det_id, iteration, class_id)) {
    19161985        psError(PS_ERR_UNKNOWN, false,
    1917                 "failed to change state for det_id %" PRId64 ", iteration %" PRId32 "class_id %s", 
    1918                 det_id, iteration, class_id);
     1986                "failed to change state for det_id %" PRId64 ", iteration %" PRId32 "class_id %s",
     1987                det_id, iteration, class_id);
    19191988        return false;
    19201989    }
     
    19322001
    19332002    char *query = "UPDATE detNormalizedStatImfile SET data_state = '%s'"
    1934         " WHERE det_id = %" PRId64
    1935         " AND iteration = %" PRId32
    1936         " AND class_id = '%s'";
     2003        " WHERE det_id = %" PRId64
     2004        " AND iteration = %" PRId32
     2005        " AND class_id = '%s'";
    19372006/*     fprintf(stderr,"DETTOOL SAYS: %s\n",query); */
    19382007    if (!p_psDBRunQueryF(config->dbh, query, data_state, det_id, iteration,class_id)) {
    19392008        psError(PS_ERR_UNKNOWN, false,
    1940                 "failed to change state for det_id %" PRId64 ", iteration %" PRId32, 
    1941                 det_id, iteration);
     2009                "failed to change state for det_id %" PRId64 ", iteration %" PRId32,
     2010                det_id, iteration);
    19422011        return false;
    19432012    }
     
    19552024
    19562025    char *query = "UPDATE detNormalizedImfile SET data_state = '%s'"
    1957         " WHERE det_id = %" PRId64
    1958         " AND iteration = %" PRId32
    1959         " AND class_id = '%s'";
     2026        " WHERE det_id = %" PRId64
     2027        " AND iteration = %" PRId32
     2028        " AND class_id = '%s'";
    19602029    if (!p_psDBRunQueryF(config->dbh, query, data_state, det_id, iteration, class_id)) {
    19612030        psError(PS_ERR_UNKNOWN, false,
    1962                 "failed to change state for det_id %" PRId64 ", iteration %" PRId32 " class %s", 
    1963                 det_id, iteration, class_id);
     2031                "failed to change state for det_id %" PRId64 ", iteration %" PRId32 " class %s",
     2032                det_id, iteration, class_id);
    19642033        return false;
    19652034    }
     
    19762045
    19772046    char *query = "UPDATE detNormalizedExp SET data_state = '%s'"
    1978         " WHERE det_id = %" PRId64
    1979         " AND iteration = %" PRId32;
     2047        " WHERE det_id = %" PRId64
     2048        " AND iteration = %" PRId32;
    19802049    if (!p_psDBRunQueryF(config->dbh, query, data_state, det_id, iteration)) {
    19812050        psError(PS_ERR_UNKNOWN, false,
    1982                 "failed to change state for det_id %" PRId64 ", iteration %" PRId32, 
    1983                 det_id, iteration);
     2051                "failed to change state for det_id %" PRId64 ", iteration %" PRId32,
     2052                det_id, iteration);
    19842053        return false;
    19852054    }
     
    19872056    return true;
    19882057}
    1989 
    1990 bool setResidImfileDataState(pxConfig *config, psS64 det_id, psS32 iteration, psS64 exp_id, const char *class_id, const char *data_state)
    1991 {
    1992     PS_ASSERT_PTR_NON_NULL(config, false);
    1993     PS_ASSERT_PTR_NON_NULL(data_state, false);
    1994     PS_ASSERT_PTR_NON_NULL(class_id, false);
    1995 
    1996     if (!isValidDataState (data_state)) return false;
    1997 
    1998     char *query = "UPDATE detResidImfile SET data_state = '%s'"
    1999         " WHERE det_id = %" PRId64
    2000         " AND iteration = %" PRId32
    2001         " AND exp_id = %" PRId64
    2002         " AND class_id = '%s'";
    2003     if (!p_psDBRunQueryF(config->dbh, query, data_state, det_id, iteration, exp_id, class_id)) {
    2004         psError(PS_ERR_UNKNOWN, false,
    2005                 "failed to change state for det_id %" PRId64 ", iteration %" PRId32 ", exp_id %" PRId64 ", class_id %s",
    2006                 det_id, iteration, exp_id, class_id);
    2007         return false;
    2008     }
    2009 
    2010     return true;
    2011 }
    2012 
    2013 bool setResidExpDataState(pxConfig *config, psS64 det_id, psS32 iteration, psS64 exp_id, const char *data_state)
    2014 {
    2015     PS_ASSERT_PTR_NON_NULL(config, false);
    2016     PS_ASSERT_PTR_NON_NULL(data_state, false);
    2017 
    2018     if (!isValidDataState (data_state)) return false;
    2019 
    2020     char *query = "UPDATE detResidExp SET data_state = '%s'"
    2021         " WHERE det_id = %" PRId64
    2022         " AND iteration = %" PRId32
    2023         " AND exp_id = %" PRId64;
    2024     if (!p_psDBRunQueryF(config->dbh, query, data_state, det_id, iteration, exp_id)) {
    2025         psError(PS_ERR_UNKNOWN, false,
    2026                 "failed to change state for det_id %" PRId64 ", iteration %" PRId32 ", exp_id %" PRId64,
    2027                 det_id, iteration, exp_id);
    2028         return false;
    2029     }
    2030 
    2031     return true;
    2032 }
     2058// End not yet modified for cleanup.
    20332059
    20342060bool exportrunMode(pxConfig *config)
     
    20382064    char sqlFilename[80];
    20392065  } ExportTable;
    2040  
     2066
    20412067  int numExportTables = 12;
    20422068
     
    20742100    psString query = pxDataGet(tables[i].sqlFilename);
    20752101    if (!query) {
    2076       psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement");
     2102      psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement");
    20772103      return false;
    20782104    }
     
    21162142    }
    21172143    psFree(output);
    2118  
     2144
    21192145  }
    21202146
     
    21272153{
    21282154  unsigned int nFail;
    2129  
     2155
    21302156  int numImportTables = 11;
    2131  
     2157
    21322158  char tables[11] [80] = {"detInputExp", "detNormalizedExp",
    21332159    "detNormalizedImfile", "detNormalizedStatImfile", "detProcessedExp",
     
    21362162
    21372163  PS_ASSERT_PTR_NON_NULL(config, NULL);
    2138  
     2164
    21392165  PXOPT_LOOKUP_STR(infile, config->args, "-infile", true,  false);
    21402166
     
    21432169  fprintf (stdout, "---- input ----\n");
    21442170  psMetadataPrint (stderr, input, 1);
    2145  
     2171
    21462172  psMetadataItem *item = psMetadataLookup (input, "detRun");
    21472173  psAssert (item, "entry not in input?");
     
    21532179  detRunRow *detRun = detRunObjectFromMetadata (entry->data.md);
    21542180  detRunInsertObject (config->dbh, detRun);
    2155  
     2181
    21562182  // fprintf (stdout, "---- det run ----\n");
    21572183  // psMetadataPrint (stderr, entry->data.md, 1);
     
    21612187    psAssert (item, "entry not in input?");
    21622188    psAssert (item->type == PS_DATA_METADATA_MULTI, "entry not multi?");
    2163  
     2189
    21642190    switch (i) {
    21652191      case 0:
     
    21752201        }
    21762202        break;
    2177  
     2203
    21782204      case 1:
    21792205        for (int i = 0; i < item->data.list->n; i++) {
     
    21882214        }
    21892215        break;
    2190        
     2216
    21912217      case 2:
    21922218        for (int i = 0; i < item->data.list->n; i++) {
     
    22012227        }
    22022228        break;
    2203  
     2229
    22042230      case 3:
    22052231        for (int i = 0; i < item->data.list->n; i++) {
     
    22142240        }
    22152241        break;
    2216        
     2242
    22172243      case 4:
    22182244        for (int i = 0; i < item->data.list->n; i++) {
     
    22272253        }
    22282254        break;
    2229        
     2255
    22302256      case 5:
    22312257        for (int i = 0; i < item->data.list->n; i++) {
     
    22402266        }
    22412267        break;
    2242        
     2268
    22432269      case 6:
    22442270        for (int i = 0; i < item->data.list->n; i++) {
     
    22532279        }
    22542280        break;
    2255        
     2281
    22562282      case 7:
    22572283        for (int i = 0; i < item->data.list->n; i++) {
     
    22662292        }
    22672293        break;
    2268        
     2294
    22692295      case 8:
    22702296        for (int i = 0; i < item->data.list->n; i++) {
     
    22792305        }
    22802306        break;
    2281        
     2307
    22822308      case 9:
    22832309        for (int i = 0; i < item->data.list->n; i++) {
     
    22922318        }
    22932319        break;
    2294        
     2320
    22952321      case 10:
    22962322        for (int i = 0; i < item->data.list->n; i++) {
Note: See TracChangeset for help on using the changeset viewer.