IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 14451


Ignore:
Timestamp:
Aug 8, 2007, 12:28:29 PM (19 years ago)
Author:
jhoblitt
Message:

rebuilt with jbhuild 1.03

Location:
trunk/ippdb
Files:
15 edited

Legend:

Unmodified
Added
Removed
  • trunk/ippdb/Makefile.am

    r14169 r14451  
    4747    $(top_builddir)/docs/man/man3/detResidImfileRow.3 \
    4848    $(top_builddir)/docs/man/man3/detResidExpRow.3 \
    49     $(top_builddir)/docs/man/man3/detRunSummaryRow.3
     49    $(top_builddir)/docs/man/man3/detRunSummaryRow.3 \
     50    $(top_builddir)/docs/man/man3/detRegisteredImfileRow.3
    5051
    5152
    52 docs/man/man3/ippdb.3 docs/man/man3/summitExpRow.3 docs/man/man3/summitImfileRow.3 docs/man/man3/pzPendingExpRow.3 docs/man/man3/pzPendingImfileRow.3 docs/man/man3/pzDoneExpRow.3 docs/man/man3/pzDoneImfileRow.3 docs/man/man3/newExpRow.3 docs/man/man3/newImfileRow.3 docs/man/man3/rawExpRow.3 docs/man/man3/rawImfileRow.3 docs/man/man3/guidePendingExpRow.3 docs/man/man3/chipRunRow.3 docs/man/man3/chipProcessedImfileRow.3 docs/man/man3/chipMaskRow.3 docs/man/man3/camRunRow.3 docs/man/man3/camProcessedExpRow.3 docs/man/man3/camMaskRow.3 docs/man/man3/warpRunRow.3 docs/man/man3/warpInputExpRow.3 docs/man/man3/warpSkyCellMapRow.3 docs/man/man3/warpSkyfileRow.3 docs/man/man3/diffRunRow.3 docs/man/man3/diffInputSkyfileRow.3 docs/man/man3/diffSkyfileRow.3 docs/man/man3/stackRunRow.3 docs/man/man3/stackInputSkyfileRow.3 docs/man/man3/stackSumSkyfileRow.3 docs/man/man3/detRunRow.3 docs/man/man3/detInputExpRow.3 docs/man/man3/detProcessedImfileRow.3 docs/man/man3/detProcessedExpRow.3 docs/man/man3/detStackedImfileRow.3 docs/man/man3/detNormalizedStatImfileRow.3 docs/man/man3/detNormalizedImfileRow.3 docs/man/man3/detNormalizedExpRow.3 docs/man/man3/detResidImfileRow.3 docs/man/man3/detResidExpRow.3 docs/man/man3/detRunSummaryRow.3:
     53docs/man/man3/ippdb.3 docs/man/man3/summitExpRow.3 docs/man/man3/summitImfileRow.3 docs/man/man3/pzPendingExpRow.3 docs/man/man3/pzPendingImfileRow.3 docs/man/man3/pzDoneExpRow.3 docs/man/man3/pzDoneImfileRow.3 docs/man/man3/newExpRow.3 docs/man/man3/newImfileRow.3 docs/man/man3/rawExpRow.3 docs/man/man3/rawImfileRow.3 docs/man/man3/guidePendingExpRow.3 docs/man/man3/chipRunRow.3 docs/man/man3/chipProcessedImfileRow.3 docs/man/man3/chipMaskRow.3 docs/man/man3/camRunRow.3 docs/man/man3/camProcessedExpRow.3 docs/man/man3/camMaskRow.3 docs/man/man3/warpRunRow.3 docs/man/man3/warpInputExpRow.3 docs/man/man3/warpSkyCellMapRow.3 docs/man/man3/warpSkyfileRow.3 docs/man/man3/diffRunRow.3 docs/man/man3/diffInputSkyfileRow.3 docs/man/man3/diffSkyfileRow.3 docs/man/man3/stackRunRow.3 docs/man/man3/stackInputSkyfileRow.3 docs/man/man3/stackSumSkyfileRow.3 docs/man/man3/detRunRow.3 docs/man/man3/detInputExpRow.3 docs/man/man3/detProcessedImfileRow.3 docs/man/man3/detProcessedExpRow.3 docs/man/man3/detStackedImfileRow.3 docs/man/man3/detNormalizedStatImfileRow.3 docs/man/man3/detNormalizedImfileRow.3 docs/man/man3/detNormalizedExpRow.3 docs/man/man3/detResidImfileRow.3 docs/man/man3/detResidExpRow.3 docs/man/man3/detRunSummaryRow.3 docs/man/man3/detRegisteredImfileRow.3:
    5354        $(DOXYGEN)
    5455
  • trunk/ippdb/configure.ac

    r14252 r14451  
    11dnl
    2 dnl This file was generated by glueforge 1.01
     2dnl This file was generated by glueforge 1.03
    33dnl
    44dnl Do NOT directly edit this file.
     
    2424
    2525PKG_CHECK_MODULES([PSLIB], [pslib >= 0.9.0])
     26 
     27dnl check to make sure that pslib declares HAVE_PSDB
     28TMP_CFLAGS=${CFLAGS}
     29CFLAGS="${CFLAGS=} ${PSLIB_CFLAGS}"
     30
     31AC_MSG_CHECKING([pslib's psDB support])
     32AC_RUN_IFELSE(
     33  [AC_LANG_PROGRAM([], [dnl
     34#ifndef HAVE_PSDB
     35    return 1;
     36#endif])],
     37  [AC_MSG_RESULT([yes])],
     38  [AC_MSG_FAILURE([pslib was built without psDB support (HAVE_PSDB)])])
     39
     40CFLAGS=${TMP_CFLAGS}
     41
    2642
    2743AC_PATH_PROG([PERL], [perl], [missing])
     
    3551dnl is this the best was to setup recursive CFLAGS?
    3652IPP_STDOPTS
    37 ippdb_CFLAGS="-Wall -Werror -pedantic -fno-strict-aliasing"
     53dnl -Werror causes problems on OSX as inttypes.h uses some non standard C types
     54ippdb_CFLAGS="-Wall -pedantic -fno-strict-aliasing"
    3855AC_SUBST([ippdb_CFLAGS])
    3956
  • trunk/ippdb/src/ippdb.c

    r14252 r14451  
    2020/*
    2121 *
    22  * This file was generated by glueforge 1.01
     22 * This file was generated by glueforge 1.03
    2323 *
    2424 * Do NOT directly edit this file.
     
    6969#define DETRESIDEXP_TABLE_NAME "detResidExp"
    7070#define DETRUNSUMMARY_TABLE_NAME "detRunSummary"
     71#define DETREGISTEREDIMFILE_TABLE_NAME "detRegisteredImfile"
    7172#define MAX_STRING_LENGTH 1024
    7273
     
    59655966        return false;
    59665967    }
    5967     if (!psMetadataAdd(md, PS_LIST_TAIL, "fwhm", PS_DATA_F32, NULL, 0.0)) {
     5968    if (!psMetadataAdd(md, PS_LIST_TAIL, "fwhm", PS_DATA_F32, "# replace this with fwhm_major", 0.0)) {
    59685969        psError(PS_ERR_UNKNOWN, false, "failed to add item fwhm");
    59695970        psFree(md);
    59705971        return false;
    59715972    }
    5972     if (!psMetadataAdd(md, PS_LIST_TAIL, "fwhm_range", PS_DATA_F32, NULL, 0.0)) {
     5973    if (!psMetadataAdd(md, PS_LIST_TAIL, "fwhm_range", PS_DATA_F32, "# replace this with fwhm_minor", 0.0)) {
    59735974        psError(PS_ERR_UNKNOWN, false, "failed to add item fwhm_range");
    59745975        psFree(md);
     
    1206412065        return false;
    1206512066    }
    12066     if (!psMetadataAdd(md, PS_LIST_TAIL, "iteration", PS_DATA_S32, "Key", 0)) {
     12067    if (!psMetadataAdd(md, PS_LIST_TAIL, "iteration", PS_DATA_S32, "Key INDEX(det_id, iteration)", 0)) {
    1206712068        psError(PS_ERR_UNKNOWN, false, "failed to add item iteration");
    1206812069        psFree(md);
     
    1641616417static void detResidImfileRowFree(detResidImfileRow *object);
    1641716418
    16418 detResidImfileRow *detResidImfileRowAlloc(psS64 det_id, psS32 iteration, psS64 exp_id, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 bin_stdev, psF64 fringe_0, psF64 fringe_1, psF64 fringe_2, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, psS16 fault)
     16419detResidImfileRow *detResidImfileRowAlloc(psS64 det_id, psS32 iteration, psS64 exp_id, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 bg_skewness, psF64 bg_kurtosis, psF64 bin_stdev, psF64 fringe_0, psF64 fringe_1, psF64 fringe_2, psF64 fringe_resid_0, psF64 fringe_resid_1, psF64 fringe_resid_2, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, psS16 fault)
    1641916420{
    1642016421    detResidImfileRow *_object;
     
    1643216433    _object->bg_stdev = bg_stdev;
    1643316434    _object->bg_mean_stdev = bg_mean_stdev;
     16435    _object->bg_skewness = bg_skewness;
     16436    _object->bg_kurtosis = bg_kurtosis;
    1643416437    _object->bin_stdev = bin_stdev;
    1643516438    _object->fringe_0 = fringe_0;
    1643616439    _object->fringe_1 = fringe_1;
    1643716440    _object->fringe_2 = fringe_2;
     16441    _object->fringe_resid_0 = fringe_resid_0;
     16442    _object->fringe_resid_1 = fringe_resid_1;
     16443    _object->fringe_resid_2 = fringe_resid_2;
    1643816444    _object->user_1 = user_1;
    1643916445    _object->user_2 = user_2;
     
    1650316509        return false;
    1650416510    }
     16511    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_skewness", PS_DATA_F64, NULL, 0.0)) {
     16512        psError(PS_ERR_UNKNOWN, false, "failed to add item bg_skewness");
     16513        psFree(md);
     16514        return false;
     16515    }
     16516    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_kurtosis", PS_DATA_F64, NULL, 0.0)) {
     16517        psError(PS_ERR_UNKNOWN, false, "failed to add item bg_kurtosis");
     16518        psFree(md);
     16519        return false;
     16520    }
    1650516521    if (!psMetadataAdd(md, PS_LIST_TAIL, "bin_stdev", PS_DATA_F64, NULL, 0.0)) {
    1650616522        psError(PS_ERR_UNKNOWN, false, "failed to add item bin_stdev");
     
    1652316539        return false;
    1652416540    }
     16541    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_resid_0", PS_DATA_F64, NULL, 0.0)) {
     16542        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_resid_0");
     16543        psFree(md);
     16544        return false;
     16545    }
     16546    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_resid_1", PS_DATA_F64, NULL, 0.0)) {
     16547        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_resid_1");
     16548        psFree(md);
     16549        return false;
     16550    }
     16551    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_resid_2", PS_DATA_F64, NULL, 0.0)) {
     16552        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_resid_2");
     16553        psFree(md);
     16554        return false;
     16555    }
    1652516556    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_1", PS_DATA_F64, NULL, 0.0)) {
    1652616557        psError(PS_ERR_UNKNOWN, false, "failed to add item user_1");
     
    1657116602}
    1657216603
    16573 bool detResidImfileInsert(psDB * dbh, psS64 det_id, psS32 iteration, psS64 exp_id, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 bin_stdev, psF64 fringe_0, psF64 fringe_1, psF64 fringe_2, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, psS16 fault)
     16604bool detResidImfileInsert(psDB * dbh, psS64 det_id, psS32 iteration, psS64 exp_id, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 bg_skewness, psF64 bg_kurtosis, psF64 bin_stdev, psF64 fringe_0, psF64 fringe_1, psF64 fringe_2, psF64 fringe_resid_0, psF64 fringe_resid_1, psF64 fringe_resid_2, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, psS16 fault)
    1657416605{
    1657516606    psMetadata *md = psMetadataAlloc();
     
    1661916650        return false;
    1662016651    }
     16652    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_skewness", PS_DATA_F64, NULL, bg_skewness)) {
     16653        psError(PS_ERR_UNKNOWN, false, "failed to add item bg_skewness");
     16654        psFree(md);
     16655        return false;
     16656    }
     16657    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_kurtosis", PS_DATA_F64, NULL, bg_kurtosis)) {
     16658        psError(PS_ERR_UNKNOWN, false, "failed to add item bg_kurtosis");
     16659        psFree(md);
     16660        return false;
     16661    }
    1662116662    if (!psMetadataAdd(md, PS_LIST_TAIL, "bin_stdev", PS_DATA_F64, NULL, bin_stdev)) {
    1662216663        psError(PS_ERR_UNKNOWN, false, "failed to add item bin_stdev");
     
    1663616677    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_2", PS_DATA_F64, NULL, fringe_2)) {
    1663716678        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_2");
     16679        psFree(md);
     16680        return false;
     16681    }
     16682    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_resid_0", PS_DATA_F64, NULL, fringe_resid_0)) {
     16683        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_resid_0");
     16684        psFree(md);
     16685        return false;
     16686    }
     16687    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_resid_1", PS_DATA_F64, NULL, fringe_resid_1)) {
     16688        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_resid_1");
     16689        psFree(md);
     16690        return false;
     16691    }
     16692    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_resid_2", PS_DATA_F64, NULL, fringe_resid_2)) {
     16693        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_resid_2");
    1663816694        psFree(md);
    1663916695        return false;
     
    1669716753bool detResidImfileInsertObject(psDB *dbh, detResidImfileRow *object)
    1669816754{
    16699     return detResidImfileInsert(dbh, object->det_id, object->iteration, object->exp_id, object->class_id, object->uri, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev, object->bin_stdev, object->fringe_0, object->fringe_1, object->fringe_2, object->user_1, object->user_2, object->user_3, object->user_4, object->user_5, object->path_base, object->fault);
     16755    return detResidImfileInsert(dbh, object->det_id, object->iteration, object->exp_id, object->class_id, object->uri, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev, object->bg_skewness, object->bg_kurtosis, object->bin_stdev, object->fringe_0, object->fringe_1, object->fringe_2, object->fringe_resid_0, object->fringe_resid_1, object->fringe_resid_2, object->user_1, object->user_2, object->user_3, object->user_4, object->user_5, object->path_base, object->fault);
    1670016756}
    1670116757
     
    1681516871        return false;
    1681616872    }
     16873    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_skewness", PS_DATA_F64, NULL, object->bg_skewness)) {
     16874        psError(PS_ERR_UNKNOWN, false, "failed to add item bg_skewness");
     16875        psFree(md);
     16876        return false;
     16877    }
     16878    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_kurtosis", PS_DATA_F64, NULL, object->bg_kurtosis)) {
     16879        psError(PS_ERR_UNKNOWN, false, "failed to add item bg_kurtosis");
     16880        psFree(md);
     16881        return false;
     16882    }
    1681716883    if (!psMetadataAdd(md, PS_LIST_TAIL, "bin_stdev", PS_DATA_F64, NULL, object->bin_stdev)) {
    1681816884        psError(PS_ERR_UNKNOWN, false, "failed to add item bin_stdev");
     
    1683516901        return false;
    1683616902    }
     16903    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_resid_0", PS_DATA_F64, NULL, object->fringe_resid_0)) {
     16904        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_resid_0");
     16905        psFree(md);
     16906        return false;
     16907    }
     16908    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_resid_1", PS_DATA_F64, NULL, object->fringe_resid_1)) {
     16909        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_resid_1");
     16910        psFree(md);
     16911        return false;
     16912    }
     16913    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_resid_2", PS_DATA_F64, NULL, object->fringe_resid_2)) {
     16914        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_resid_2");
     16915        psFree(md);
     16916        return false;
     16917    }
    1683716918    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_1", PS_DATA_F64, NULL, object->user_1)) {
    1683816919        psError(PS_ERR_UNKNOWN, false, "failed to add item user_1");
     
    1692417005        return false;
    1692517006    }
     17007    psF64 bg_skewness = psMetadataLookupF64(&status, md, "bg_skewness");
     17008    if (!status) {
     17009        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_skewness");
     17010        return false;
     17011    }
     17012    psF64 bg_kurtosis = psMetadataLookupF64(&status, md, "bg_kurtosis");
     17013    if (!status) {
     17014        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_kurtosis");
     17015        return false;
     17016    }
    1692617017    psF64 bin_stdev = psMetadataLookupF64(&status, md, "bin_stdev");
    1692717018    if (!status) {
     
    1694417035        return false;
    1694517036    }
     17037    psF64 fringe_resid_0 = psMetadataLookupF64(&status, md, "fringe_resid_0");
     17038    if (!status) {
     17039        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item fringe_resid_0");
     17040        return false;
     17041    }
     17042    psF64 fringe_resid_1 = psMetadataLookupF64(&status, md, "fringe_resid_1");
     17043    if (!status) {
     17044        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item fringe_resid_1");
     17045        return false;
     17046    }
     17047    psF64 fringe_resid_2 = psMetadataLookupF64(&status, md, "fringe_resid_2");
     17048    if (!status) {
     17049        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item fringe_resid_2");
     17050        return false;
     17051    }
    1694617052    psF64 user_1 = psMetadataLookupF64(&status, md, "user_1");
    1694717053    if (!status) {
     
    1698017086    }
    1698117087
    16982     return detResidImfileRowAlloc(det_id, iteration, exp_id, class_id, uri, recipe, bg, bg_stdev, bg_mean_stdev, bin_stdev, fringe_0, fringe_1, fringe_2, user_1, user_2, user_3, user_4, user_5, path_base, fault);
     17088    return detResidImfileRowAlloc(det_id, iteration, exp_id, class_id, uri, recipe, bg, bg_stdev, bg_mean_stdev, bg_skewness, bg_kurtosis, bin_stdev, fringe_0, fringe_1, fringe_2, fringe_resid_0, fringe_resid_1, fringe_resid_2, user_1, user_2, user_3, user_4, user_5, path_base, fault);
    1698317089}
    1698417090psArray *detResidImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     
    1709217198static void detResidExpRowFree(detResidExpRow *object);
    1709317199
    17094 detResidExpRow *detResidExpRowAlloc(psS64 det_id, psS32 iteration, psS64 exp_id, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 bin_stdev, psF64 fringe_0, psF64 fringe_1, psF64 fringe_2, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, bool accept, psS16 fault)
     17200detResidExpRow *detResidExpRowAlloc(psS64 det_id, psS32 iteration, psS64 exp_id, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 bg_skewness, psF64 bg_kurtosis, psF64 bin_stdev, psF64 fringe_0, psF64 fringe_1, psF64 fringe_2, psF64 fringe_resid_0, psF64 fringe_resid_1, psF64 fringe_resid_2, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, bool accept, psS16 fault)
    1709517201{
    1709617202    detResidExpRow  *_object;
     
    1710617212    _object->bg_stdev = bg_stdev;
    1710717213    _object->bg_mean_stdev = bg_mean_stdev;
     17214    _object->bg_skewness = bg_skewness;
     17215    _object->bg_kurtosis = bg_kurtosis;
    1710817216    _object->bin_stdev = bin_stdev;
    1710917217    _object->fringe_0 = fringe_0;
    1711017218    _object->fringe_1 = fringe_1;
    1711117219    _object->fringe_2 = fringe_2;
     17220    _object->fringe_resid_0 = fringe_resid_0;
     17221    _object->fringe_resid_1 = fringe_resid_1;
     17222    _object->fringe_resid_2 = fringe_resid_2;
    1711217223    _object->user_1 = user_1;
    1711317224    _object->user_2 = user_2;
     
    1716617277        return false;
    1716717278    }
     17279    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_skewness", PS_DATA_F64, NULL, 0.0)) {
     17280        psError(PS_ERR_UNKNOWN, false, "failed to add item bg_skewness");
     17281        psFree(md);
     17282        return false;
     17283    }
     17284    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_kurtosis", PS_DATA_F64, NULL, 0.0)) {
     17285        psError(PS_ERR_UNKNOWN, false, "failed to add item bg_kurtosis");
     17286        psFree(md);
     17287        return false;
     17288    }
    1716817289    if (!psMetadataAdd(md, PS_LIST_TAIL, "bin_stdev", PS_DATA_F64, NULL, 0.0)) {
    1716917290        psError(PS_ERR_UNKNOWN, false, "failed to add item bin_stdev");
     
    1718617307        return false;
    1718717308    }
     17309    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_resid_0", PS_DATA_F64, NULL, 0.0)) {
     17310        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_resid_0");
     17311        psFree(md);
     17312        return false;
     17313    }
     17314    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_resid_1", PS_DATA_F64, NULL, 0.0)) {
     17315        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_resid_1");
     17316        psFree(md);
     17317        return false;
     17318    }
     17319    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_resid_2", PS_DATA_F64, NULL, 0.0)) {
     17320        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_resid_2");
     17321        psFree(md);
     17322        return false;
     17323    }
    1718817324    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_1", PS_DATA_F64, NULL, 0.0)) {
    1718917325        psError(PS_ERR_UNKNOWN, false, "failed to add item user_1");
     
    1723917375}
    1724017376
    17241 bool detResidExpInsert(psDB * dbh, psS64 det_id, psS32 iteration, psS64 exp_id, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 bin_stdev, psF64 fringe_0, psF64 fringe_1, psF64 fringe_2, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, bool accept, psS16 fault)
     17377bool detResidExpInsert(psDB * dbh, psS64 det_id, psS32 iteration, psS64 exp_id, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 bg_skewness, psF64 bg_kurtosis, psF64 bin_stdev, psF64 fringe_0, psF64 fringe_1, psF64 fringe_2, psF64 fringe_resid_0, psF64 fringe_resid_1, psF64 fringe_resid_2, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, bool accept, psS16 fault)
    1724217378{
    1724317379    psMetadata *md = psMetadataAlloc();
     
    1727717413        return false;
    1727817414    }
     17415    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_skewness", PS_DATA_F64, NULL, bg_skewness)) {
     17416        psError(PS_ERR_UNKNOWN, false, "failed to add item bg_skewness");
     17417        psFree(md);
     17418        return false;
     17419    }
     17420    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_kurtosis", PS_DATA_F64, NULL, bg_kurtosis)) {
     17421        psError(PS_ERR_UNKNOWN, false, "failed to add item bg_kurtosis");
     17422        psFree(md);
     17423        return false;
     17424    }
    1727917425    if (!psMetadataAdd(md, PS_LIST_TAIL, "bin_stdev", PS_DATA_F64, NULL, bin_stdev)) {
    1728017426        psError(PS_ERR_UNKNOWN, false, "failed to add item bin_stdev");
     
    1729417440    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_2", PS_DATA_F64, NULL, fringe_2)) {
    1729517441        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_2");
     17442        psFree(md);
     17443        return false;
     17444    }
     17445    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_resid_0", PS_DATA_F64, NULL, fringe_resid_0)) {
     17446        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_resid_0");
     17447        psFree(md);
     17448        return false;
     17449    }
     17450    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_resid_1", PS_DATA_F64, NULL, fringe_resid_1)) {
     17451        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_resid_1");
     17452        psFree(md);
     17453        return false;
     17454    }
     17455    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_resid_2", PS_DATA_F64, NULL, fringe_resid_2)) {
     17456        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_resid_2");
    1729617457        psFree(md);
    1729717458        return false;
     
    1736017521bool detResidExpInsertObject(psDB *dbh, detResidExpRow *object)
    1736117522{
    17362     return detResidExpInsert(dbh, object->det_id, object->iteration, object->exp_id, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev, object->bin_stdev, object->fringe_0, object->fringe_1, object->fringe_2, object->user_1, object->user_2, object->user_3, object->user_4, object->user_5, object->path_base, object->accept, object->fault);
     17523    return detResidExpInsert(dbh, object->det_id, object->iteration, object->exp_id, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev, object->bg_skewness, object->bg_kurtosis, object->bin_stdev, object->fringe_0, object->fringe_1, object->fringe_2, object->fringe_resid_0, object->fringe_resid_1, object->fringe_resid_2, object->user_1, object->user_2, object->user_3, object->user_4, object->user_5, object->path_base, object->accept, object->fault);
    1736317524}
    1736417525
     
    1746817629        return false;
    1746917630    }
     17631    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_skewness", PS_DATA_F64, NULL, object->bg_skewness)) {
     17632        psError(PS_ERR_UNKNOWN, false, "failed to add item bg_skewness");
     17633        psFree(md);
     17634        return false;
     17635    }
     17636    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_kurtosis", PS_DATA_F64, NULL, object->bg_kurtosis)) {
     17637        psError(PS_ERR_UNKNOWN, false, "failed to add item bg_kurtosis");
     17638        psFree(md);
     17639        return false;
     17640    }
    1747017641    if (!psMetadataAdd(md, PS_LIST_TAIL, "bin_stdev", PS_DATA_F64, NULL, object->bin_stdev)) {
    1747117642        psError(PS_ERR_UNKNOWN, false, "failed to add item bin_stdev");
     
    1748817659        return false;
    1748917660    }
     17661    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_resid_0", PS_DATA_F64, NULL, object->fringe_resid_0)) {
     17662        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_resid_0");
     17663        psFree(md);
     17664        return false;
     17665    }
     17666    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_resid_1", PS_DATA_F64, NULL, object->fringe_resid_1)) {
     17667        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_resid_1");
     17668        psFree(md);
     17669        return false;
     17670    }
     17671    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_resid_2", PS_DATA_F64, NULL, object->fringe_resid_2)) {
     17672        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_resid_2");
     17673        psFree(md);
     17674        return false;
     17675    }
    1749017676    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_1", PS_DATA_F64, NULL, object->user_1)) {
    1749117677        psError(PS_ERR_UNKNOWN, false, "failed to add item user_1");
     
    1757217758        return false;
    1757317759    }
     17760    psF64 bg_skewness = psMetadataLookupF64(&status, md, "bg_skewness");
     17761    if (!status) {
     17762        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_skewness");
     17763        return false;
     17764    }
     17765    psF64 bg_kurtosis = psMetadataLookupF64(&status, md, "bg_kurtosis");
     17766    if (!status) {
     17767        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_kurtosis");
     17768        return false;
     17769    }
    1757417770    psF64 bin_stdev = psMetadataLookupF64(&status, md, "bin_stdev");
    1757517771    if (!status) {
     
    1759217788        return false;
    1759317789    }
     17790    psF64 fringe_resid_0 = psMetadataLookupF64(&status, md, "fringe_resid_0");
     17791    if (!status) {
     17792        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item fringe_resid_0");
     17793        return false;
     17794    }
     17795    psF64 fringe_resid_1 = psMetadataLookupF64(&status, md, "fringe_resid_1");
     17796    if (!status) {
     17797        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item fringe_resid_1");
     17798        return false;
     17799    }
     17800    psF64 fringe_resid_2 = psMetadataLookupF64(&status, md, "fringe_resid_2");
     17801    if (!status) {
     17802        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item fringe_resid_2");
     17803        return false;
     17804    }
    1759417805    psF64 user_1 = psMetadataLookupF64(&status, md, "user_1");
    1759517806    if (!status) {
     
    1763317844    }
    1763417845
    17635     return detResidExpRowAlloc(det_id, iteration, exp_id, recipe, bg, bg_stdev, bg_mean_stdev, bin_stdev, fringe_0, fringe_1, fringe_2, user_1, user_2, user_3, user_4, user_5, path_base, accept, fault);
     17846    return detResidExpRowAlloc(det_id, iteration, exp_id, recipe, bg, bg_stdev, bg_mean_stdev, bg_skewness, bg_kurtosis, bin_stdev, fringe_0, fringe_1, fringe_2, fringe_resid_0, fringe_resid_1, fringe_resid_2, user_1, user_2, user_3, user_4, user_5, path_base, accept, fault);
    1763617847}
    1763717848psArray *detResidExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     
    1814218353    return true;
    1814318354}
     18355static void detRegisteredImfileRowFree(detRegisteredImfileRow *object);
     18356
     18357detRegisteredImfileRow *detRegisteredImfileRowAlloc(psS64 det_id, psS32 iteration, const char *class_id, const char *uri, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, psS16 fault)
     18358{
     18359    detRegisteredImfileRow *_object;
     18360
     18361    _object = psAlloc(sizeof(detRegisteredImfileRow));
     18362    psMemSetDeallocator(_object, (psFreeFunc)detRegisteredImfileRowFree);
     18363
     18364    _object->det_id = det_id;
     18365    _object->iteration = iteration;
     18366    _object->class_id = psStringCopy(class_id);
     18367    _object->uri = psStringCopy(uri);
     18368    _object->bg = bg;
     18369    _object->bg_stdev = bg_stdev;
     18370    _object->bg_mean_stdev = bg_mean_stdev;
     18371    _object->user_1 = user_1;
     18372    _object->user_2 = user_2;
     18373    _object->user_3 = user_3;
     18374    _object->user_4 = user_4;
     18375    _object->user_5 = user_5;
     18376    _object->path_base = psStringCopy(path_base);
     18377    _object->fault = fault;
     18378
     18379    return _object;
     18380}
     18381
     18382static void detRegisteredImfileRowFree(detRegisteredImfileRow *object)
     18383{
     18384    psFree(object->class_id);
     18385    psFree(object->uri);
     18386    psFree(object->path_base);
     18387}
     18388
     18389bool detRegisteredImfileCreateTable(psDB *dbh)
     18390{
     18391    psMetadata *md = psMetadataAlloc();
     18392    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, "Primary Key fkey(det_id, iteration) ref detRun(det_id, iteration)", 0)) {
     18393        psError(PS_ERR_UNKNOWN, false, "failed to add item det_id");
     18394        psFree(md);
     18395        return false;
     18396    }
     18397    if (!psMetadataAdd(md, PS_LIST_TAIL, "iteration", PS_DATA_S32, "Primary Key", 0)) {
     18398        psError(PS_ERR_UNKNOWN, false, "failed to add item iteration");
     18399        psFree(md);
     18400        return false;
     18401    }
     18402    if (!psMetadataAdd(md, PS_LIST_TAIL, "class_id", PS_DATA_STRING, "Primary Key", "64")) {
     18403        psError(PS_ERR_UNKNOWN, false, "failed to add item class_id");
     18404        psFree(md);
     18405        return false;
     18406    }
     18407    if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, "255")) {
     18408        psError(PS_ERR_UNKNOWN, false, "failed to add item uri");
     18409        psFree(md);
     18410        return false;
     18411    }
     18412    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, 0.0)) {
     18413        psError(PS_ERR_UNKNOWN, false, "failed to add item bg");
     18414        psFree(md);
     18415        return false;
     18416    }
     18417    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, 0.0)) {
     18418        psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev");
     18419        psFree(md);
     18420        return false;
     18421    }
     18422    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, 0.0)) {
     18423        psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev");
     18424        psFree(md);
     18425        return false;
     18426    }
     18427    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_1", PS_DATA_F64, NULL, 0.0)) {
     18428        psError(PS_ERR_UNKNOWN, false, "failed to add item user_1");
     18429        psFree(md);
     18430        return false;
     18431    }
     18432    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_2", PS_DATA_F64, NULL, 0.0)) {
     18433        psError(PS_ERR_UNKNOWN, false, "failed to add item user_2");
     18434        psFree(md);
     18435        return false;
     18436    }
     18437    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_3", PS_DATA_F64, NULL, 0.0)) {
     18438        psError(PS_ERR_UNKNOWN, false, "failed to add item user_3");
     18439        psFree(md);
     18440        return false;
     18441    }
     18442    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_4", PS_DATA_F64, NULL, 0.0)) {
     18443        psError(PS_ERR_UNKNOWN, false, "failed to add item user_4");
     18444        psFree(md);
     18445        return false;
     18446    }
     18447    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_5", PS_DATA_F64, NULL, 0.0)) {
     18448        psError(PS_ERR_UNKNOWN, false, "failed to add item user_5");
     18449        psFree(md);
     18450        return false;
     18451    }
     18452    if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, "255")) {
     18453        psError(PS_ERR_UNKNOWN, false, "failed to add item path_base");
     18454        psFree(md);
     18455        return false;
     18456    }
     18457    if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, "Key NOT NULL", 0)) {
     18458        psError(PS_ERR_UNKNOWN, false, "failed to add item fault");
     18459        psFree(md);
     18460        return false;
     18461    }
     18462
     18463    bool status = psDBCreateTable(dbh, DETREGISTEREDIMFILE_TABLE_NAME, md);
     18464
     18465    psFree(md);
     18466
     18467    return status;
     18468}
     18469
     18470bool detRegisteredImfileDropTable(psDB *dbh)
     18471{
     18472    return psDBDropTable(dbh, DETREGISTEREDIMFILE_TABLE_NAME);
     18473}
     18474
     18475bool detRegisteredImfileInsert(psDB * dbh, psS64 det_id, psS32 iteration, const char *class_id, const char *uri, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, psS16 fault)
     18476{
     18477    psMetadata *md = psMetadataAlloc();
     18478    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, NULL, det_id)) {
     18479        psError(PS_ERR_UNKNOWN, false, "failed to add item det_id");
     18480        psFree(md);
     18481        return false;
     18482    }
     18483    if (!psMetadataAdd(md, PS_LIST_TAIL, "iteration", PS_DATA_S32, NULL, iteration)) {
     18484        psError(PS_ERR_UNKNOWN, false, "failed to add item iteration");
     18485        psFree(md);
     18486        return false;
     18487    }
     18488    if (!psMetadataAdd(md, PS_LIST_TAIL, "class_id", PS_DATA_STRING, NULL, class_id)) {
     18489        psError(PS_ERR_UNKNOWN, false, "failed to add item class_id");
     18490        psFree(md);
     18491        return false;
     18492    }
     18493    if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, uri)) {
     18494        psError(PS_ERR_UNKNOWN, false, "failed to add item uri");
     18495        psFree(md);
     18496        return false;
     18497    }
     18498    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, bg)) {
     18499        psError(PS_ERR_UNKNOWN, false, "failed to add item bg");
     18500        psFree(md);
     18501        return false;
     18502    }
     18503    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, bg_stdev)) {
     18504        psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev");
     18505        psFree(md);
     18506        return false;
     18507    }
     18508    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, bg_mean_stdev)) {
     18509        psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev");
     18510        psFree(md);
     18511        return false;
     18512    }
     18513    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_1", PS_DATA_F64, NULL, user_1)) {
     18514        psError(PS_ERR_UNKNOWN, false, "failed to add item user_1");
     18515        psFree(md);
     18516        return false;
     18517    }
     18518    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_2", PS_DATA_F64, NULL, user_2)) {
     18519        psError(PS_ERR_UNKNOWN, false, "failed to add item user_2");
     18520        psFree(md);
     18521        return false;
     18522    }
     18523    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_3", PS_DATA_F64, NULL, user_3)) {
     18524        psError(PS_ERR_UNKNOWN, false, "failed to add item user_3");
     18525        psFree(md);
     18526        return false;
     18527    }
     18528    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_4", PS_DATA_F64, NULL, user_4)) {
     18529        psError(PS_ERR_UNKNOWN, false, "failed to add item user_4");
     18530        psFree(md);
     18531        return false;
     18532    }
     18533    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_5", PS_DATA_F64, NULL, user_5)) {
     18534        psError(PS_ERR_UNKNOWN, false, "failed to add item user_5");
     18535        psFree(md);
     18536        return false;
     18537    }
     18538    if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, path_base)) {
     18539        psError(PS_ERR_UNKNOWN, false, "failed to add item path_base");
     18540        psFree(md);
     18541        return false;
     18542    }
     18543    if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, NULL, fault)) {
     18544        psError(PS_ERR_UNKNOWN, false, "failed to add item fault");
     18545        psFree(md);
     18546        return false;
     18547    }
     18548
     18549    bool status = psDBInsertOneRow(dbh, DETREGISTEREDIMFILE_TABLE_NAME, md);
     18550    psFree(md);
     18551
     18552    return status;
     18553}
     18554
     18555long long detRegisteredImfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
     18556{
     18557    long long       deleted = 0;
     18558
     18559    long long count = psDBDeleteRows(dbh, DETREGISTEREDIMFILE_TABLE_NAME, where, limit);
     18560    if (count < 0) {
     18561        psError(PS_ERR_UNKNOWN, true, "failed to delete row from detRegisteredImfile");
     18562        return count;
     18563
     18564        deleted += count;
     18565    }
     18566
     18567    return deleted;
     18568}
     18569bool detRegisteredImfileInsertObject(psDB *dbh, detRegisteredImfileRow *object)
     18570{
     18571    return detRegisteredImfileInsert(dbh, object->det_id, object->iteration, object->class_id, object->uri, object->bg, object->bg_stdev, object->bg_mean_stdev, object->user_1, object->user_2, object->user_3, object->user_4, object->user_5, object->path_base, object->fault);
     18572}
     18573
     18574bool detRegisteredImfileInsertObjects(psDB *dbh, psArray *objects)
     18575{
     18576    for (long i = 0; i < psArrayLength(objects); i++) {
     18577        if (!detRegisteredImfileInsertObject(dbh, objects->data[i])) {
     18578            return false;
     18579        }
     18580    }
     18581
     18582    return true;
     18583}
     18584
     18585bool detRegisteredImfileInsertFits(psDB *dbh, const psFits *fits)
     18586{
     18587    psArray         *rowSet;
     18588
     18589    // move to (the first?) extension named  DETREGISTEREDIMFILE_TABLE_NAME
     18590    if (!psFitsMoveExtName(fits, DETREGISTEREDIMFILE_TABLE_NAME)) {
     18591        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", DETREGISTEREDIMFILE_TABLE_NAME);
     18592        return false;
     18593    }
     18594
     18595    // check HDU type
     18596    if (psFitsGetExtType(fits) != PS_FITS_TYPE_BINARY_TABLE)  {
     18597        psError(PS_ERR_UNKNOWN, true, "FITS HDU type is not PS_FITS_TYPE_BINARY_TABLE");
     18598        return false;
     18599    }
     18600
     18601    // read fits table
     18602    rowSet = psFitsReadTable(fits);
     18603    if (!rowSet) {
     18604        psError(PS_ERR_UNKNOWN, true, "FITS read error or FITS table is empty");
     18605        psFree(rowSet);
     18606        return false;
     18607    }
     18608
     18609    if (!psDBInsertRows(dbh, DETREGISTEREDIMFILE_TABLE_NAME, rowSet)) {
     18610        psError(PS_ERR_UNKNOWN, false, "databse insert failed");
     18611        psFree(rowSet);
     18612        return false;
     18613    }
     18614
     18615    psFree(rowSet);
     18616
     18617    return true;
     18618}
     18619
     18620bool detRegisteredImfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
     18621{
     18622    psArray         *rowSet;
     18623
     18624    rowSet = psDBSelectRows(dbh, DETREGISTEREDIMFILE_TABLE_NAME, where, limit);
     18625    if (!rowSet) {
     18626        return false;
     18627    }
     18628
     18629    // output to fits
     18630    if (!psFitsWriteTable(fits, NULL, rowSet, DETREGISTEREDIMFILE_TABLE_NAME)) {
     18631        psError(PS_ERR_UNKNOWN, false, "FITS table write failed");
     18632        psFree(rowSet);
     18633        return false;
     18634    }
     18635
     18636    psFree(rowSet);
     18637
     18638    return true;
     18639}
     18640
     18641psMetadata *detRegisteredImfileMetadataFromObject(const detRegisteredImfileRow *object)
     18642{
     18643    psMetadata *md = psMetadataAlloc();
     18644    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, NULL, object->det_id)) {
     18645        psError(PS_ERR_UNKNOWN, false, "failed to add item det_id");
     18646        psFree(md);
     18647        return false;
     18648    }
     18649    if (!psMetadataAdd(md, PS_LIST_TAIL, "iteration", PS_DATA_S32, NULL, object->iteration)) {
     18650        psError(PS_ERR_UNKNOWN, false, "failed to add item iteration");
     18651        psFree(md);
     18652        return false;
     18653    }
     18654    if (!psMetadataAdd(md, PS_LIST_TAIL, "class_id", PS_DATA_STRING, NULL, object->class_id)) {
     18655        psError(PS_ERR_UNKNOWN, false, "failed to add item class_id");
     18656        psFree(md);
     18657        return false;
     18658    }
     18659    if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, object->uri)) {
     18660        psError(PS_ERR_UNKNOWN, false, "failed to add item uri");
     18661        psFree(md);
     18662        return false;
     18663    }
     18664    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, object->bg)) {
     18665        psError(PS_ERR_UNKNOWN, false, "failed to add item bg");
     18666        psFree(md);
     18667        return false;
     18668    }
     18669    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, object->bg_stdev)) {
     18670        psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev");
     18671        psFree(md);
     18672        return false;
     18673    }
     18674    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, object->bg_mean_stdev)) {
     18675        psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev");
     18676        psFree(md);
     18677        return false;
     18678    }
     18679    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_1", PS_DATA_F64, NULL, object->user_1)) {
     18680        psError(PS_ERR_UNKNOWN, false, "failed to add item user_1");
     18681        psFree(md);
     18682        return false;
     18683    }
     18684    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_2", PS_DATA_F64, NULL, object->user_2)) {
     18685        psError(PS_ERR_UNKNOWN, false, "failed to add item user_2");
     18686        psFree(md);
     18687        return false;
     18688    }
     18689    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_3", PS_DATA_F64, NULL, object->user_3)) {
     18690        psError(PS_ERR_UNKNOWN, false, "failed to add item user_3");
     18691        psFree(md);
     18692        return false;
     18693    }
     18694    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_4", PS_DATA_F64, NULL, object->user_4)) {
     18695        psError(PS_ERR_UNKNOWN, false, "failed to add item user_4");
     18696        psFree(md);
     18697        return false;
     18698    }
     18699    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_5", PS_DATA_F64, NULL, object->user_5)) {
     18700        psError(PS_ERR_UNKNOWN, false, "failed to add item user_5");
     18701        psFree(md);
     18702        return false;
     18703    }
     18704    if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, object->path_base)) {
     18705        psError(PS_ERR_UNKNOWN, false, "failed to add item path_base");
     18706        psFree(md);
     18707        return false;
     18708    }
     18709    if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, NULL, object->fault)) {
     18710        psError(PS_ERR_UNKNOWN, false, "failed to add item fault");
     18711        psFree(md);
     18712        return false;
     18713    }
     18714
     18715
     18716    return md;
     18717}
     18718
     18719detRegisteredImfileRow *detRegisteredImfileObjectFromMetadata(psMetadata *md)
     18720{
     18721
     18722bool status = false;
     18723    psS64 det_id = psMetadataLookupS64(&status, md, "det_id");
     18724    if (!status) {
     18725        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item det_id");
     18726        return false;
     18727    }
     18728    psS32 iteration = psMetadataLookupS32(&status, md, "iteration");
     18729    if (!status) {
     18730        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iteration");
     18731        return false;
     18732    }
     18733    char* class_id = psMetadataLookupPtr(&status, md, "class_id");
     18734    if (!status) {
     18735        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item class_id");
     18736        return false;
     18737    }
     18738    char* uri = psMetadataLookupPtr(&status, md, "uri");
     18739    if (!status) {
     18740        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item uri");
     18741        return false;
     18742    }
     18743    psF64 bg = psMetadataLookupF64(&status, md, "bg");
     18744    if (!status) {
     18745        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg");
     18746        return false;
     18747    }
     18748    psF64 bg_stdev = psMetadataLookupF64(&status, md, "bg_stdev");
     18749    if (!status) {
     18750        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_stdev");
     18751        return false;
     18752    }
     18753    psF64 bg_mean_stdev = psMetadataLookupF64(&status, md, "bg_mean_stdev");
     18754    if (!status) {
     18755        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_mean_stdev");
     18756        return false;
     18757    }
     18758    psF64 user_1 = psMetadataLookupF64(&status, md, "user_1");
     18759    if (!status) {
     18760        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_1");
     18761        return false;
     18762    }
     18763    psF64 user_2 = psMetadataLookupF64(&status, md, "user_2");
     18764    if (!status) {
     18765        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_2");
     18766        return false;
     18767    }
     18768    psF64 user_3 = psMetadataLookupF64(&status, md, "user_3");
     18769    if (!status) {
     18770        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_3");
     18771        return false;
     18772    }
     18773    psF64 user_4 = psMetadataLookupF64(&status, md, "user_4");
     18774    if (!status) {
     18775        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_4");
     18776        return false;
     18777    }
     18778    psF64 user_5 = psMetadataLookupF64(&status, md, "user_5");
     18779    if (!status) {
     18780        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_5");
     18781        return false;
     18782    }
     18783    char* path_base = psMetadataLookupPtr(&status, md, "path_base");
     18784    if (!status) {
     18785        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item path_base");
     18786        return false;
     18787    }
     18788    psS16 fault = psMetadataLookupS16(&status, md, "fault");
     18789    if (!status) {
     18790        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item fault");
     18791        return false;
     18792    }
     18793
     18794    return detRegisteredImfileRowAlloc(det_id, iteration, class_id, uri, bg, bg_stdev, bg_mean_stdev, user_1, user_2, user_3, user_4, user_5, path_base, fault);
     18795}
     18796psArray *detRegisteredImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     18797{
     18798    psArray         *rowSet;
     18799    psArray         *returnSet;
     18800    psU64           i;
     18801
     18802    rowSet = psDBSelectRows(dbh, DETREGISTEREDIMFILE_TABLE_NAME, where, limit);
     18803    if (!rowSet) {
     18804        return NULL;
     18805    }
     18806
     18807    // convert psMetadata rows to row objects
     18808
     18809    returnSet = psArrayAllocEmpty(rowSet->n);
     18810
     18811    for (i = 0; i < rowSet->n; i++) {
     18812        detRegisteredImfileRow *object = detRegisteredImfileObjectFromMetadata(rowSet->data[i]);
     18813        psArrayAdd(returnSet, 0, object);
     18814        psFree(object);
     18815    }
     18816
     18817    psFree(rowSet);
     18818
     18819    return returnSet;
     18820}
     18821bool detRegisteredImfileDeleteObject(psDB *dbh, const detRegisteredImfileRow *object)
     18822{
     18823    psMetadata *where = detRegisteredImfileMetadataFromObject(object);
     18824    long long count = psDBDeleteRows(dbh, DETREGISTEREDIMFILE_TABLE_NAME, where, 0);
     18825    psFree(where);
     18826    if (count < 0) {
     18827        psError(PS_ERR_UNKNOWN, true, "failed to delete row from detRegisteredImfile");
     18828        return false;
     18829    }
     18830    if (count > 1) {
     18831        // XXX should this be a psAbort() instead?  It is possible that
     18832        // having an object match multiple rows was by design.
     18833        psError(PS_ERR_UNKNOWN, true, "detRegisteredImfileRow object matched more then one row.  Check your database schema");
     18834        return false;
     18835    }
     18836
     18837    return true;
     18838}
     18839long long detRegisteredImfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
     18840{
     18841    long long       deleted = 0;
     18842
     18843    for (long long i = 0; i < objects->n; i++) {
     18844        detRegisteredImfileRow *object = objects->data[i];
     18845        psMetadata *where = detRegisteredImfileMetadataFromObject(object);
     18846        long long count = psDBDeleteRows(dbh, DETREGISTEREDIMFILE_TABLE_NAME, where, limit);
     18847        psFree(where);
     18848        if (count < 0) {
     18849            psError(PS_ERR_UNKNOWN, true, "failed to delete row from detRegisteredImfile");
     18850            return count;
     18851        }
     18852
     18853        deleted += count;
     18854    }
     18855
     18856    return deleted;
     18857}
     18858bool detRegisteredImfilePrintObjects(FILE *stream, psArray *objects, bool mdcf)
     18859{
     18860    PS_ASSERT_PTR_NON_NULL(objects, false);
     18861
     18862    psMetadata *output = psMetadataAlloc();
     18863    for (long i = 0; i < psArrayLength(objects); i++) {
     18864        psMetadata *md = detRegisteredImfileMetadataFromObject(objects->data[i]);
     18865        if (!psMetadataAddMetadata(
     18866            output,
     18867            PS_LIST_TAIL,
     18868            DETREGISTEREDIMFILE_TABLE_NAME,
     18869            PS_META_DUPLICATE_OK,
     18870            NULL,
     18871            md
     18872        )) {
     18873            psError(PS_ERR_UNKNOWN, false, "failed to add metadata");
     18874            psFree(md);
     18875            psFree(output);
     18876            return false;
     18877        }
     18878        psFree(md);
     18879    }
     18880
     18881    if (!ippdbPrintMetadataRaw(stream, output, mdcf)) {
     18882        psError(PS_ERR_UNKNOWN, false, "failed to print metadata");
     18883        psFree(output);
     18884    }
     18885    psFree(output);
     18886
     18887    return true;
     18888}
     18889bool detRegisteredImfilePrintObject(FILE *stream, detRegisteredImfileRow *object, bool mdcf)
     18890{
     18891    PS_ASSERT_PTR_NON_NULL(object, false);
     18892
     18893    psMetadata *md = detRegisteredImfileMetadataFromObject(object);
     18894
     18895    if (!ippdbPrintMetadataRaw(stream, md, mdcf)) {
     18896        psError(PS_ERR_UNKNOWN, false, "failed to print metadata");
     18897        psFree(md);
     18898    }
     18899
     18900    psFree(md);
     18901
     18902    return true;
     18903}
  • trunk/ippdb/src/ippdb.h

    r14252 r14451  
    2020/*
    2121 *
    22  * This file was generated by glueforge 1.01
     22 * This file was generated by glueforge 1.03
    2323 *
    2424 * Do NOT directly edit this file.
     
    78897889    psF64           bg_stdev;
    78907890    psF64           bg_mean_stdev;
     7891    psF64           bg_skewness;
     7892    psF64           bg_kurtosis;
    78917893    psF64           bin_stdev;
    78927894    psF64           fringe_0;
    78937895    psF64           fringe_1;
    78947896    psF64           fringe_2;
     7897    psF64           fringe_resid_0;
     7898    psF64           fringe_resid_1;
     7899    psF64           fringe_resid_2;
    78957900    psF64           user_1;
    78967901    psF64           user_2;
     
    79177922    psF64           bg_stdev,
    79187923    psF64           bg_mean_stdev,
     7924    psF64           bg_skewness,
     7925    psF64           bg_kurtosis,
    79197926    psF64           bin_stdev,
    79207927    psF64           fringe_0,
    79217928    psF64           fringe_1,
    79227929    psF64           fringe_2,
     7930    psF64           fringe_resid_0,
     7931    psF64           fringe_resid_1,
     7932    psF64           fringe_resid_2,
    79237933    psF64           user_1,
    79247934    psF64           user_2,
     
    79667976    psF64           bg_stdev,
    79677977    psF64           bg_mean_stdev,
     7978    psF64           bg_skewness,
     7979    psF64           bg_kurtosis,
    79687980    psF64           bin_stdev,
    79697981    psF64           fringe_0,
    79707982    psF64           fringe_1,
    79717983    psF64           fringe_2,
     7984    psF64           fringe_resid_0,
     7985    psF64           fringe_resid_1,
     7986    psF64           fringe_resid_2,
    79727987    psF64           user_1,
    79737988    psF64           user_2,
     
    81398154    psF64           bg_stdev;
    81408155    psF64           bg_mean_stdev;
     8156    psF64           bg_skewness;
     8157    psF64           bg_kurtosis;
    81418158    psF64           bin_stdev;
    81428159    psF64           fringe_0;
    81438160    psF64           fringe_1;
    81448161    psF64           fringe_2;
     8162    psF64           fringe_resid_0;
     8163    psF64           fringe_resid_1;
     8164    psF64           fringe_resid_2;
    81458165    psF64           user_1;
    81468166    psF64           user_2;
     
    81668186    psF64           bg_stdev,
    81678187    psF64           bg_mean_stdev,
     8188    psF64           bg_skewness,
     8189    psF64           bg_kurtosis,
    81688190    psF64           bin_stdev,
    81698191    psF64           fringe_0,
    81708192    psF64           fringe_1,
    81718193    psF64           fringe_2,
     8194    psF64           fringe_resid_0,
     8195    psF64           fringe_resid_1,
     8196    psF64           fringe_resid_2,
    81728197    psF64           user_1,
    81738198    psF64           user_2,
     
    82148239    psF64           bg_stdev,
    82158240    psF64           bg_mean_stdev,
     8241    psF64           bg_skewness,
     8242    psF64           bg_kurtosis,
    82168243    psF64           bin_stdev,
    82178244    psF64           fringe_0,
    82188245    psF64           fringe_1,
    82198246    psF64           fringe_2,
     8247    psF64           fringe_resid_0,
     8248    psF64           fringe_resid_1,
     8249    psF64           fringe_resid_2,
    82208250    psF64           user_1,
    82218251    psF64           user_2,
     
    85888618    bool            mdcf                ///< format as mdconfig or simple
    85898619);
     8620/** detRegisteredImfileRow data structure
     8621 *
     8622 * Structure for representing a single row of detRegisteredImfile table data.
     8623 */
     8624
     8625typedef struct {
     8626    psS64           det_id;
     8627    psS32           iteration;
     8628    char            *class_id;
     8629    char            *uri;
     8630    psF64           bg;
     8631    psF64           bg_stdev;
     8632    psF64           bg_mean_stdev;
     8633    psF64           user_1;
     8634    psF64           user_2;
     8635    psF64           user_3;
     8636    psF64           user_4;
     8637    psF64           user_5;
     8638    char            *path_base;
     8639    psS16           fault;
     8640} detRegisteredImfileRow;
     8641
     8642/** Creates a new detRegisteredImfileRow object
     8643 *
     8644 *  @return A new detRegisteredImfileRow object or NULL on failure.
     8645 */
     8646
     8647detRegisteredImfileRow *detRegisteredImfileRowAlloc(
     8648    psS64           det_id,
     8649    psS32           iteration,
     8650    const char      *class_id,
     8651    const char      *uri,
     8652    psF64           bg,
     8653    psF64           bg_stdev,
     8654    psF64           bg_mean_stdev,
     8655    psF64           user_1,
     8656    psF64           user_2,
     8657    psF64           user_3,
     8658    psF64           user_4,
     8659    psF64           user_5,
     8660    const char      *path_base,
     8661    psS16           fault
     8662);
     8663
     8664/** Creates a new detRegisteredImfile table
     8665 *
     8666 * @return true on success
     8667 */
     8668
     8669bool detRegisteredImfileCreateTable(
     8670    psDB            *dbh                ///< Database handle
     8671);
     8672
     8673/** Deletes a detRegisteredImfile table
     8674 *
     8675 * @return true on success
     8676 */
     8677
     8678bool detRegisteredImfileDropTable(
     8679    psDB            *dbh                ///< Database handle
     8680);
     8681
     8682/** Insert a single row into a table
     8683 *
     8684 * This function constructs and inserts a single row based on it's parameters.
     8685 *
     8686 * @return true on success
     8687 */
     8688
     8689bool detRegisteredImfileInsert(
     8690    psDB            *dbh,               ///< Database handle
     8691    psS64           det_id,
     8692    psS32           iteration,
     8693    const char      *class_id,
     8694    const char      *uri,
     8695    psF64           bg,
     8696    psF64           bg_stdev,
     8697    psF64           bg_mean_stdev,
     8698    psF64           user_1,
     8699    psF64           user_2,
     8700    psF64           user_3,
     8701    psF64           user_4,
     8702    psF64           user_5,
     8703    const char      *path_base,
     8704    psS16           fault
     8705);
     8706
     8707/** Deletes up to limit rows from the database and returns the number of rows actually deleted.
     8708 *
     8709 * @return A The number of rows removed or a negative value on error
     8710 */
     8711
     8712long long detRegisteredImfileDelete(
     8713    psDB            *dbh,               ///< Database handle
     8714    const psMetadata *where,            ///< Row match criteria
     8715    unsigned long long limit            ///< Maximum number of elements to delete
     8716);
     8717
     8718/** Insert a single detRegisteredImfileRow object into a table
     8719 *
     8720 * This function constructs and inserts a single row based on it's parameters.
     8721 *
     8722 * @return true on success
     8723 */
     8724
     8725bool detRegisteredImfileInsertObject(
     8726    psDB            *dbh,               ///< Database handle
     8727    detRegisteredImfileRow *object             ///< detRegisteredImfileRow object
     8728);
     8729
     8730/** Insert an array of detRegisteredImfileRow object into a table
     8731 *
     8732 * This function constructs and inserts multiple rows based on it's parameters.
     8733 *
     8734 * @return true on success
     8735 */
     8736
     8737bool detRegisteredImfileInsertObjects(
     8738    psDB            *dbh,               ///< Database handle
     8739    psArray         *objects            ///< array of detRegisteredImfileRow objects
     8740);
     8741
     8742/** Insert data from a binary FITS table detRegisteredImfileRow into the database
     8743 *
     8744 * This function expects a psFits object with a FITS table as the first
     8745 * extension.  The table must have at least one row of data in it, that is of
     8746 * the appropriate format (number of columns and their type).  All other
     8747 * extensions are ignored.
     8748 *
     8749 * @return true on success
     8750 */
     8751
     8752bool detRegisteredImfileInsertFits(
     8753    psDB            *dbh,               ///< Database handle
     8754    const psFits    *fits               ///< psFits object
     8755);
     8756
     8757/** Selects up to limit from the database and returns them in a binary FITS table
     8758 *
     8759 * This function assumes an empty psFits object and will create a FITS table
     8760 * as the first extension.
     8761 *
     8762 *  See psDBSelectRows() for documentation on the format of where.
     8763 *
     8764 * @return true on success
     8765 */
     8766
     8767bool detRegisteredImfileSelectRowsFits(
     8768    psDB            *dbh,               ///< Database handle
     8769    psFits          *fits,              ///< psFits object
     8770    const psMetadata *where,            ///< Row match criteria
     8771    unsigned long long limit            ///< Maximum number of elements to return
     8772);
     8773
     8774/** Convert a detRegisteredImfileRow into an equivalent psMetadata
     8775 *
     8776 * @return A psMetadata pointer or NULL on error
     8777 */
     8778
     8779psMetadata *detRegisteredImfileMetadataFromObject(
     8780    const detRegisteredImfileRow *object             ///< fooRow to convert into a psMetadata
     8781);
     8782
     8783/** Convert a psMetadata into an equivalent fooRow
     8784 *
     8785 * @return A detRegisteredImfileRow pointer or NULL on error
     8786 */
     8787
     8788detRegisteredImfileRow *detRegisteredImfileObjectFromMetadata(
     8789    psMetadata      *md                 ///< psMetadata to convert into a fooRow
     8790);
     8791/** Selects up to limit rows from the database and returns as detRegisteredImfileRow objects in a psArray
     8792 *
     8793 *  See psDBSelectRows() for documentation on the format of where.
     8794 *
     8795 * @return A psArray pointer or NULL on error
     8796 */
     8797
     8798psArray *detRegisteredImfileSelectRowObjects(
     8799    psDB            *dbh,               ///< Database handle
     8800    const psMetadata *where,            ///< Row match criteria
     8801    unsigned long long limit            ///< Maximum number of elements to return
     8802);
     8803/** Deletes a row from the database coresponding to an detRegisteredImfile
     8804 *
     8805 *  Note that a 'where' search psMetadata is constructed from each object and
     8806 *  used to find rows to delete.
     8807 *
     8808 * @return A The number of rows removed or a negative value on error
     8809 */
     8810
     8811bool detRegisteredImfileDeleteObject(
     8812    psDB            *dbh,               ///< Database handle
     8813    const detRegisteredImfileRow *object    ///< Object to delete
     8814);
     8815/** Deletes up to limit rows from the database and returns the number of rows actually deleted.
     8816 *
     8817 *  Note that a 'where' search psMetadata is constructed from each object and
     8818 *  used to find rows to delete.
     8819 *
     8820 * @return A The number of rows removed or a negative value on error
     8821 */
     8822
     8823long long detRegisteredImfileDeleteRowObjects(
     8824    psDB            *dbh,               ///< Database handle
     8825    const psArray   *objects,           ///< Array of objects to delete
     8826    unsigned long long limit            ///< Maximum number of elements to delete
     8827);
     8828/** Formats and prints an array of detRegisteredImfileRow objects
     8829 *
     8830 * When mdcf is set the formated output is in psMetadataConfig
     8831 * format, otherwise it is in a simple tabular format.
     8832 *
     8833 * @return true on success
     8834 */
     8835
     8836bool detRegisteredImfilePrintObjects(
     8837    FILE            *stream,            ///< a stream
     8838    psArray         *objects,           ///< An array of detRegisteredImfileRow objects
     8839    bool            mdcf                ///< format as mdconfig or simple
     8840);
     8841/** Formats and prints an detRegisteredImfileRow object
     8842 *
     8843 * When mdcf is set the formated output is in psMetadataConfig
     8844 * format, otherwise it is in a simple tabular format.
     8845 *
     8846 * @return true on success
     8847 */
     8848
     8849bool detRegisteredImfilePrintObject(
     8850    FILE            *stream,            ///< a stream
     8851    detRegisteredImfileRow *object,    ///< an detRegisteredImfileRow object
     8852    bool            mdcf                ///< format as mdconfig or simple
     8853);
    85908854
    85918855/// @}
     
    85958859#endif
    85968860
    8597 #endif // DETRUNSUMMARY_DB_H
     8861#endif // DETREGISTEREDIMFILE_DB_H
  • trunk/ippdb/tests/alloc.c

    r14252 r14451  
    18271827        detResidImfileRow *object;
    18281828
    1829         object = detResidImfileRowAlloc(-64, -32, -64, "a string", "a string", "a string", 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", -16    );
     1829        object = detResidImfileRowAlloc(-64, -32, -64, "a string", "a string", "a string", 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", -16    );
    18301830
    18311831        if (!object) {
     
    18691869            exit(EXIT_FAILURE);
    18701870        }
     1871        if (!object->bg_skewness == 64.64) {
     1872            psFree(object);
     1873            exit(EXIT_FAILURE);
     1874        }
     1875        if (!object->bg_kurtosis == 64.64) {
     1876            psFree(object);
     1877            exit(EXIT_FAILURE);
     1878        }
    18711879        if (!object->bin_stdev == 64.64) {
    18721880            psFree(object);
     
    18851893            exit(EXIT_FAILURE);
    18861894        }
     1895        if (!object->fringe_resid_0 == 64.64) {
     1896            psFree(object);
     1897            exit(EXIT_FAILURE);
     1898        }
     1899        if (!object->fringe_resid_1 == 64.64) {
     1900            psFree(object);
     1901            exit(EXIT_FAILURE);
     1902        }
     1903        if (!object->fringe_resid_2 == 64.64) {
     1904            psFree(object);
     1905            exit(EXIT_FAILURE);
     1906        }
    18871907        if (!object->user_1 == 64.64) {
    18881908            psFree(object);
     
    19201940        detResidExpRow  *object;
    19211941
    1922         object = detResidExpRowAlloc(-64, -32, -64, "a string", 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", true, -16    );
     1942        object = detResidExpRowAlloc(-64, -32, -64, "a string", 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", true, -16    );
    19231943
    19241944        if (!object) {
     
    19541974            exit(EXIT_FAILURE);
    19551975        }
     1976        if (!object->bg_skewness == 64.64) {
     1977            psFree(object);
     1978            exit(EXIT_FAILURE);
     1979        }
     1980        if (!object->bg_kurtosis == 64.64) {
     1981            psFree(object);
     1982            exit(EXIT_FAILURE);
     1983        }
    19561984        if (!object->bin_stdev == 64.64) {
    19571985            psFree(object);
     
    19701998            exit(EXIT_FAILURE);
    19711999        }
     2000        if (!object->fringe_resid_0 == 64.64) {
     2001            psFree(object);
     2002            exit(EXIT_FAILURE);
     2003        }
     2004        if (!object->fringe_resid_1 == 64.64) {
     2005            psFree(object);
     2006            exit(EXIT_FAILURE);
     2007        }
     2008        if (!object->fringe_resid_2 == 64.64) {
     2009            psFree(object);
     2010            exit(EXIT_FAILURE);
     2011        }
    19722012        if (!object->user_1 == 64.64) {
    19732013            psFree(object);
     
    20362076        }
    20372077        if (!object->accept == true) {
     2078            psFree(object);
     2079            exit(EXIT_FAILURE);
     2080        }
     2081        if (!object->fault == -16) {
     2082            psFree(object);
     2083            exit(EXIT_FAILURE);
     2084        }
     2085
     2086        psFree(object);
     2087    }
     2088
     2089    {
     2090        detRegisteredImfileRow *object;
     2091
     2092        object = detRegisteredImfileRowAlloc(-64, -32, "a string", "a string", 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", -16    );
     2093
     2094        if (!object) {
     2095            exit(EXIT_FAILURE);
     2096        }
     2097
     2098        if (!object->det_id == -64) {
     2099            psFree(object);
     2100            exit(EXIT_FAILURE);
     2101        }
     2102        if (!object->iteration == -32) {
     2103            psFree(object);
     2104            exit(EXIT_FAILURE);
     2105        }
     2106        if (strncmp(object->class_id, "a string", MAX_STRING_LENGTH)) {
     2107            psFree(object);
     2108            exit(EXIT_FAILURE);
     2109        }
     2110        if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) {
     2111            psFree(object);
     2112            exit(EXIT_FAILURE);
     2113        }
     2114        if (!object->bg == 64.64) {
     2115            psFree(object);
     2116            exit(EXIT_FAILURE);
     2117        }
     2118        if (!object->bg_stdev == 64.64) {
     2119            psFree(object);
     2120            exit(EXIT_FAILURE);
     2121        }
     2122        if (!object->bg_mean_stdev == 64.64) {
     2123            psFree(object);
     2124            exit(EXIT_FAILURE);
     2125        }
     2126        if (!object->user_1 == 64.64) {
     2127            psFree(object);
     2128            exit(EXIT_FAILURE);
     2129        }
     2130        if (!object->user_2 == 64.64) {
     2131            psFree(object);
     2132            exit(EXIT_FAILURE);
     2133        }
     2134        if (!object->user_3 == 64.64) {
     2135            psFree(object);
     2136            exit(EXIT_FAILURE);
     2137        }
     2138        if (!object->user_4 == 64.64) {
     2139            psFree(object);
     2140            exit(EXIT_FAILURE);
     2141        }
     2142        if (!object->user_5 == 64.64) {
     2143            psFree(object);
     2144            exit(EXIT_FAILURE);
     2145        }
     2146        if (strncmp(object->path_base, "a string", MAX_STRING_LENGTH)) {
    20382147            psFree(object);
    20392148            exit(EXIT_FAILURE);
  • trunk/ippdb/tests/createtable.c

    r14169 r14451  
    575575    }
    576576
     577    {
     578        psDB            *dbh;
     579
     580        dbh = psDBInit("localhost", "test", NULL, "test");
     581        if (!dbh) {
     582            exit(EXIT_FAILURE);
     583        }
     584
     585        if(!detRegisteredImfileCreateTable(dbh)) {
     586            exit(EXIT_FAILURE);
     587        }
     588
     589        psDBCleanup(dbh);
     590    }
     591
    577592    exit(EXIT_SUCCESS);
    578593}
  • trunk/ippdb/tests/dbcleanup.c

    r14169 r14451  
    4949    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS detResidExp");
    5050    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS detRunSummary");
     51    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS detRegisteredImfile");
    5152
    5253    psDBCleanup(dbh);
  • trunk/ippdb/tests/dbsetup.c

    r14169 r14451  
    127127    detRunSummaryCreateTable(dbh);
    128128
     129    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS detRegisteredImfile");
     130    detRegisteredImfileCreateTable(dbh);
     131
    129132    psDBCleanup(dbh);
    130133
  • trunk/ippdb/tests/droptable.c

    r14169 r14451  
    575575    }
    576576
     577    {
     578        psDB            *dbh;
     579
     580        dbh = psDBInit("localhost", "test", NULL, "test");
     581        if (!dbh) {
     582            exit(EXIT_FAILURE);
     583        }
     584
     585        if (!detRegisteredImfileDropTable(dbh)) {
     586            exit(EXIT_FAILURE);
     587        }
     588
     589        psDBCleanup(dbh);
     590    }
     591
    577592    exit(EXIT_SUCCESS);
    578593}
  • trunk/ippdb/tests/insert.c

    r14252 r14451  
    538538        }
    539539
    540         if (!detResidImfileInsert(dbh, -64, -32, -64, "a string", "a string", "a string", 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", -16)) {
    541             exit(EXIT_FAILURE);
    542         }
    543 
    544         psDBCleanup(dbh);
    545     }
    546 
    547     {
    548         psDB            *dbh;
    549 
    550         dbh = psDBInit("localhost", "test", NULL, "test");
    551         if (!dbh) {
    552             exit(EXIT_FAILURE);
    553         }
    554 
    555         if (!detResidExpInsert(dbh, -64, -32, -64, "a string", 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", true, -16)) {
     540        if (!detResidImfileInsert(dbh, -64, -32, -64, "a string", "a string", "a string", 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", -16)) {
     541            exit(EXIT_FAILURE);
     542        }
     543
     544        psDBCleanup(dbh);
     545    }
     546
     547    {
     548        psDB            *dbh;
     549
     550        dbh = psDBInit("localhost", "test", NULL, "test");
     551        if (!dbh) {
     552            exit(EXIT_FAILURE);
     553        }
     554
     555        if (!detResidExpInsert(dbh, -64, -32, -64, "a string", 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", true, -16)) {
    556556            exit(EXIT_FAILURE);
    557557        }
     
    569569
    570570        if (!detRunSummaryInsert(dbh, -64, -32, 64.64, 64.64, 64.64, true, -16)) {
     571            exit(EXIT_FAILURE);
     572        }
     573
     574        psDBCleanup(dbh);
     575    }
     576
     577    {
     578        psDB            *dbh;
     579
     580        dbh = psDBInit("localhost", "test", NULL, "test");
     581        if (!dbh) {
     582            exit(EXIT_FAILURE);
     583        }
     584
     585        if (!detRegisteredImfileInsert(dbh, -64, -32, "a string", "a string", 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", -16)) {
    571586            exit(EXIT_FAILURE);
    572587        }
  • trunk/ippdb/tests/insertfits.c

    r14169 r14451  
    997997    }
    998998
     999    {
     1000        psDB            *dbh;
     1001        psFits          *fits;
     1002
     1003        dbh = psDBInit("localhost", "test", NULL, "test");
     1004        if (!dbh) {
     1005            exit(EXIT_FAILURE);
     1006        }
     1007
     1008        // open a temp
     1009        fits = psFitsOpen(TMP_FILENAME, "r");
     1010        if (!fits) {
     1011            exit(EXIT_FAILURE);
     1012        }
     1013
     1014        if (!detRegisteredImfileInsertFits(dbh, fits)) {
     1015            exit(EXIT_FAILURE);
     1016        }
     1017
     1018        if (!psFitsClose(fits)) {
     1019            exit(EXIT_FAILURE);
     1020        }
     1021
     1022        psDBCleanup(dbh);
     1023    }
     1024
    9991025    exit(EXIT_SUCCESS);
    10001026}
  • trunk/ippdb/tests/insertobject.c

    r14252 r14451  
    784784        }
    785785
    786         object = detResidImfileRowAlloc(-64, -32, -64, "a string", "a string", "a string", 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", -16);
     786        object = detResidImfileRowAlloc(-64, -32, -64, "a string", "a string", "a string", 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", -16);
    787787        if (!object) {
    788788            exit(EXIT_FAILURE);
     
    806806        }
    807807
    808         object = detResidExpRowAlloc(-64, -32, -64, "a string", 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", true, -16);
     808        object = detResidExpRowAlloc(-64, -32, -64, "a string", 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", true, -16);
    809809        if (!object) {
    810810            exit(EXIT_FAILURE);
     
    834834
    835835        if (!detRunSummaryInsertObject(dbh, object)) {
     836            exit(EXIT_FAILURE);
     837        }
     838
     839        psFree(object);
     840        psDBCleanup(dbh);
     841    }
     842
     843    {
     844        psDB            *dbh;
     845        detRegisteredImfileRow *object;
     846
     847        dbh = psDBInit("localhost", "test", NULL, "test");
     848        if (!dbh) {
     849            exit(EXIT_FAILURE);
     850        }
     851
     852        object = detRegisteredImfileRowAlloc(-64, -32, "a string", "a string", 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", -16);
     853        if (!object) {
     854            exit(EXIT_FAILURE);
     855        }
     856
     857        if (!detRegisteredImfileInsertObject(dbh, object)) {
    836858            exit(EXIT_FAILURE);
    837859        }
  • trunk/ippdb/tests/metadatafromobject.c

    r14252 r14451  
    20532053        bool            status;
    20542054
    2055         object = detResidImfileRowAlloc(-64, -32, -64, "a string", "a string", "a string", 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", -16);
     2055        object = detResidImfileRowAlloc(-64, -32, -64, "a string", "a string", "a string", 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", -16);
    20562056        if (!object) {
    20572057            exit(EXIT_FAILURE);
     
    20992099            exit(EXIT_FAILURE);
    21002100        }
     2101        if (!psMetadataLookupF64(&status, md, "bg_skewness") == 64.64) {
     2102            psFree(md);
     2103            exit(EXIT_FAILURE);
     2104        }
     2105        if (!psMetadataLookupF64(&status, md, "bg_kurtosis") == 64.64) {
     2106            psFree(md);
     2107            exit(EXIT_FAILURE);
     2108        }
    21012109        if (!psMetadataLookupF64(&status, md, "bin_stdev") == 64.64) {
    21022110            psFree(md);
     
    21152123            exit(EXIT_FAILURE);
    21162124        }
     2125        if (!psMetadataLookupF64(&status, md, "fringe_resid_0") == 64.64) {
     2126            psFree(md);
     2127            exit(EXIT_FAILURE);
     2128        }
     2129        if (!psMetadataLookupF64(&status, md, "fringe_resid_1") == 64.64) {
     2130            psFree(md);
     2131            exit(EXIT_FAILURE);
     2132        }
     2133        if (!psMetadataLookupF64(&status, md, "fringe_resid_2") == 64.64) {
     2134            psFree(md);
     2135            exit(EXIT_FAILURE);
     2136        }
    21172137        if (!psMetadataLookupF64(&status, md, "user_1") == 64.64) {
    21182138            psFree(md);
     
    21512171        bool            status;
    21522172
    2153         object = detResidExpRowAlloc(-64, -32, -64, "a string", 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", true, -16);
     2173        object = detResidExpRowAlloc(-64, -32, -64, "a string", 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", true, -16);
    21542174        if (!object) {
    21552175            exit(EXIT_FAILURE);
     
    21892209            exit(EXIT_FAILURE);
    21902210        }
     2211        if (!psMetadataLookupF64(&status, md, "bg_skewness") == 64.64) {
     2212            psFree(md);
     2213            exit(EXIT_FAILURE);
     2214        }
     2215        if (!psMetadataLookupF64(&status, md, "bg_kurtosis") == 64.64) {
     2216            psFree(md);
     2217            exit(EXIT_FAILURE);
     2218        }
    21912219        if (!psMetadataLookupF64(&status, md, "bin_stdev") == 64.64) {
    21922220            psFree(md);
     
    22052233            exit(EXIT_FAILURE);
    22062234        }
     2235        if (!psMetadataLookupF64(&status, md, "fringe_resid_0") == 64.64) {
     2236            psFree(md);
     2237            exit(EXIT_FAILURE);
     2238        }
     2239        if (!psMetadataLookupF64(&status, md, "fringe_resid_1") == 64.64) {
     2240            psFree(md);
     2241            exit(EXIT_FAILURE);
     2242        }
     2243        if (!psMetadataLookupF64(&status, md, "fringe_resid_2") == 64.64) {
     2244            psFree(md);
     2245            exit(EXIT_FAILURE);
     2246        }
    22072247        if (!psMetadataLookupF64(&status, md, "user_1") == 64.64) {
    22082248            psFree(md);
     
    22772317        }
    22782318        if (!psMetadataLookupBool(&status, md, "accept") == true) {
     2319            psFree(md);
     2320            exit(EXIT_FAILURE);
     2321        }
     2322            psFree(md);
     2323            exit(EXIT_FAILURE);
     2324        }
     2325
     2326        psFree(md);
     2327    }
     2328
     2329    {
     2330        psMetadata      *md;
     2331        detRegisteredImfileRow *object;
     2332        bool            status;
     2333
     2334        object = detRegisteredImfileRowAlloc(-64, -32, "a string", "a string", 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", -16);
     2335        if (!object) {
     2336            exit(EXIT_FAILURE);
     2337        }
     2338
     2339        md = detRegisteredImfileMetadataFromObject(object);
     2340        if (!md) {
     2341            exit(EXIT_FAILURE);
     2342        }
     2343
     2344        psFree(object);
     2345
     2346            psFree(md);
     2347            exit(EXIT_FAILURE);
     2348        }
     2349        if (!psMetadataLookupS32(&status, md, "iteration") == -32) {
     2350            psFree(md);
     2351            exit(EXIT_FAILURE);
     2352        }
     2353        if (strncmp(psMetadataLookupPtr(&status, md, "class_id"), "a string", MAX_STRING_LENGTH)) {
     2354            psFree(md);
     2355            exit(EXIT_FAILURE);
     2356        }
     2357        if (strncmp(psMetadataLookupPtr(&status, md, "uri"), "a string", MAX_STRING_LENGTH)) {
     2358            psFree(md);
     2359            exit(EXIT_FAILURE);
     2360        }
     2361        if (!psMetadataLookupF64(&status, md, "bg") == 64.64) {
     2362            psFree(md);
     2363            exit(EXIT_FAILURE);
     2364        }
     2365        if (!psMetadataLookupF64(&status, md, "bg_stdev") == 64.64) {
     2366            psFree(md);
     2367            exit(EXIT_FAILURE);
     2368        }
     2369        if (!psMetadataLookupF64(&status, md, "bg_mean_stdev") == 64.64) {
     2370            psFree(md);
     2371            exit(EXIT_FAILURE);
     2372        }
     2373        if (!psMetadataLookupF64(&status, md, "user_1") == 64.64) {
     2374            psFree(md);
     2375            exit(EXIT_FAILURE);
     2376        }
     2377        if (!psMetadataLookupF64(&status, md, "user_2") == 64.64) {
     2378            psFree(md);
     2379            exit(EXIT_FAILURE);
     2380        }
     2381        if (!psMetadataLookupF64(&status, md, "user_3") == 64.64) {
     2382            psFree(md);
     2383            exit(EXIT_FAILURE);
     2384        }
     2385        if (!psMetadataLookupF64(&status, md, "user_4") == 64.64) {
     2386            psFree(md);
     2387            exit(EXIT_FAILURE);
     2388        }
     2389        if (!psMetadataLookupF64(&status, md, "user_5") == 64.64) {
     2390            psFree(md);
     2391            exit(EXIT_FAILURE);
     2392        }
     2393        if (strncmp(psMetadataLookupPtr(&status, md, "path_base"), "a string", MAX_STRING_LENGTH)) {
    22792394            psFree(md);
    22802395            exit(EXIT_FAILURE);
  • trunk/ippdb/tests/objectfrommetadata.c

    r14252 r14451  
    32873287            exit(EXIT_FAILURE);
    32883288        }
     3289        if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_skewness", 0, NULL, 64.64)) {
     3290            psFree(md);
     3291            exit(EXIT_FAILURE);
     3292        }
     3293        if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_kurtosis", 0, NULL, 64.64)) {
     3294            psFree(md);
     3295            exit(EXIT_FAILURE);
     3296        }
    32893297        if (!psMetadataAddF64(md, PS_LIST_TAIL, "bin_stdev", 0, NULL, 64.64)) {
    32903298            psFree(md);
     
    33003308        }
    33013309        if (!psMetadataAddF64(md, PS_LIST_TAIL, "fringe_2", 0, NULL, 64.64)) {
     3310            psFree(md);
     3311            exit(EXIT_FAILURE);
     3312        }
     3313        if (!psMetadataAddF64(md, PS_LIST_TAIL, "fringe_resid_0", 0, NULL, 64.64)) {
     3314            psFree(md);
     3315            exit(EXIT_FAILURE);
     3316        }
     3317        if (!psMetadataAddF64(md, PS_LIST_TAIL, "fringe_resid_1", 0, NULL, 64.64)) {
     3318            psFree(md);
     3319            exit(EXIT_FAILURE);
     3320        }
     3321        if (!psMetadataAddF64(md, PS_LIST_TAIL, "fringe_resid_2", 0, NULL, 64.64)) {
    33023322            psFree(md);
    33033323            exit(EXIT_FAILURE);
     
    33733393            exit(EXIT_FAILURE);
    33743394        }
     3395        if (!object->bg_skewness == 64.64) {
     3396            psFree(object);
     3397            exit(EXIT_FAILURE);
     3398        }
     3399        if (!object->bg_kurtosis == 64.64) {
     3400            psFree(object);
     3401            exit(EXIT_FAILURE);
     3402        }
    33753403        if (!object->bin_stdev == 64.64) {
    33763404            psFree(object);
     
    33863414        }
    33873415        if (!object->fringe_2 == 64.64) {
     3416            psFree(object);
     3417            exit(EXIT_FAILURE);
     3418        }
     3419        if (!object->fringe_resid_0 == 64.64) {
     3420            psFree(object);
     3421            exit(EXIT_FAILURE);
     3422        }
     3423        if (!object->fringe_resid_1 == 64.64) {
     3424            psFree(object);
     3425            exit(EXIT_FAILURE);
     3426        }
     3427        if (!object->fringe_resid_2 == 64.64) {
    33883428            psFree(object);
    33893429            exit(EXIT_FAILURE);
     
    34513491            exit(EXIT_FAILURE);
    34523492        }
     3493        if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_skewness", 0, NULL, 64.64)) {
     3494            psFree(md);
     3495            exit(EXIT_FAILURE);
     3496        }
     3497        if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_kurtosis", 0, NULL, 64.64)) {
     3498            psFree(md);
     3499            exit(EXIT_FAILURE);
     3500        }
    34533501        if (!psMetadataAddF64(md, PS_LIST_TAIL, "bin_stdev", 0, NULL, 64.64)) {
    34543502            psFree(md);
     
    34643512        }
    34653513        if (!psMetadataAddF64(md, PS_LIST_TAIL, "fringe_2", 0, NULL, 64.64)) {
     3514            psFree(md);
     3515            exit(EXIT_FAILURE);
     3516        }
     3517        if (!psMetadataAddF64(md, PS_LIST_TAIL, "fringe_resid_0", 0, NULL, 64.64)) {
     3518            psFree(md);
     3519            exit(EXIT_FAILURE);
     3520        }
     3521        if (!psMetadataAddF64(md, PS_LIST_TAIL, "fringe_resid_1", 0, NULL, 64.64)) {
     3522            psFree(md);
     3523            exit(EXIT_FAILURE);
     3524        }
     3525        if (!psMetadataAddF64(md, PS_LIST_TAIL, "fringe_resid_2", 0, NULL, 64.64)) {
    34663526            psFree(md);
    34673527            exit(EXIT_FAILURE);
     
    35333593            exit(EXIT_FAILURE);
    35343594        }
     3595        if (!object->bg_skewness == 64.64) {
     3596            psFree(object);
     3597            exit(EXIT_FAILURE);
     3598        }
     3599        if (!object->bg_kurtosis == 64.64) {
     3600            psFree(object);
     3601            exit(EXIT_FAILURE);
     3602        }
    35353603        if (!object->bin_stdev == 64.64) {
    35363604            psFree(object);
     
    35463614        }
    35473615        if (!object->fringe_2 == 64.64) {
     3616            psFree(object);
     3617            exit(EXIT_FAILURE);
     3618        }
     3619        if (!object->fringe_resid_0 == 64.64) {
     3620            psFree(object);
     3621            exit(EXIT_FAILURE);
     3622        }
     3623        if (!object->fringe_resid_1 == 64.64) {
     3624            psFree(object);
     3625            exit(EXIT_FAILURE);
     3626        }
     3627        if (!object->fringe_resid_2 == 64.64) {
    35483628            psFree(object);
    35493629            exit(EXIT_FAILURE);
     
    36543734    }
    36553735
     3736    {
     3737        psMetadata      *md;
     3738        detRegisteredImfileRow *object;
     3739
     3740        md = psMetadataAlloc();
     3741            psFree(md);
     3742            exit(EXIT_FAILURE);
     3743        }
     3744        if (!psMetadataAddS32(md, PS_LIST_TAIL, "iteration", 0, NULL, -32)) {
     3745            psFree(md);
     3746            exit(EXIT_FAILURE);
     3747        }
     3748        if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, "a string")) {
     3749            psFree(md);
     3750            exit(EXIT_FAILURE);
     3751        }
     3752        if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, "a string")) {
     3753            psFree(md);
     3754            exit(EXIT_FAILURE);
     3755        }
     3756        if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg", 0, NULL, 64.64)) {
     3757            psFree(md);
     3758            exit(EXIT_FAILURE);
     3759        }
     3760        if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, 64.64)) {
     3761            psFree(md);
     3762            exit(EXIT_FAILURE);
     3763        }
     3764        if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, 64.64)) {
     3765            psFree(md);
     3766            exit(EXIT_FAILURE);
     3767        }
     3768        if (!psMetadataAddF64(md, PS_LIST_TAIL, "user_1", 0, NULL, 64.64)) {
     3769            psFree(md);
     3770            exit(EXIT_FAILURE);
     3771        }
     3772        if (!psMetadataAddF64(md, PS_LIST_TAIL, "user_2", 0, NULL, 64.64)) {
     3773            psFree(md);
     3774            exit(EXIT_FAILURE);
     3775        }
     3776        if (!psMetadataAddF64(md, PS_LIST_TAIL, "user_3", 0, NULL, 64.64)) {
     3777            psFree(md);
     3778            exit(EXIT_FAILURE);
     3779        }
     3780        if (!psMetadataAddF64(md, PS_LIST_TAIL, "user_4", 0, NULL, 64.64)) {
     3781            psFree(md);
     3782            exit(EXIT_FAILURE);
     3783        }
     3784        if (!psMetadataAddF64(md, PS_LIST_TAIL, "user_5", 0, NULL, 64.64)) {
     3785            psFree(md);
     3786            exit(EXIT_FAILURE);
     3787        }
     3788        if (!psMetadataAddStr(md, PS_LIST_TAIL, "path_base", 0, NULL, "a string")) {
     3789            psFree(md);
     3790            exit(EXIT_FAILURE);
     3791        }
     3792            psFree(md);
     3793            exit(EXIT_FAILURE);
     3794        }
     3795
     3796        object = detRegisteredImfileObjectFromMetadata(md);
     3797        if (!object) {
     3798            psFree(md);
     3799            exit(EXIT_FAILURE);
     3800        }
     3801
     3802        psFree(md);
     3803
     3804            psFree(object);
     3805            exit(EXIT_FAILURE);
     3806        }
     3807        if (!object->iteration == -32) {
     3808            psFree(object);
     3809            exit(EXIT_FAILURE);
     3810        }
     3811        if (strncmp(object->class_id, "a string", MAX_STRING_LENGTH)) {
     3812            psFree(object);
     3813            exit(EXIT_FAILURE);
     3814        }
     3815        if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) {
     3816            psFree(object);
     3817            exit(EXIT_FAILURE);
     3818        }
     3819        if (!object->bg == 64.64) {
     3820            psFree(object);
     3821            exit(EXIT_FAILURE);
     3822        }
     3823        if (!object->bg_stdev == 64.64) {
     3824            psFree(object);
     3825            exit(EXIT_FAILURE);
     3826        }
     3827        if (!object->bg_mean_stdev == 64.64) {
     3828            psFree(object);
     3829            exit(EXIT_FAILURE);
     3830        }
     3831        if (!object->user_1 == 64.64) {
     3832            psFree(object);
     3833            exit(EXIT_FAILURE);
     3834        }
     3835        if (!object->user_2 == 64.64) {
     3836            psFree(object);
     3837            exit(EXIT_FAILURE);
     3838        }
     3839        if (!object->user_3 == 64.64) {
     3840            psFree(object);
     3841            exit(EXIT_FAILURE);
     3842        }
     3843        if (!object->user_4 == 64.64) {
     3844            psFree(object);
     3845            exit(EXIT_FAILURE);
     3846        }
     3847        if (!object->user_5 == 64.64) {
     3848            psFree(object);
     3849            exit(EXIT_FAILURE);
     3850        }
     3851        if (strncmp(object->path_base, "a string", MAX_STRING_LENGTH)) {
     3852            psFree(object);
     3853            exit(EXIT_FAILURE);
     3854        }
     3855            psFree(object);
     3856            exit(EXIT_FAILURE);
     3857        }
     3858
     3859        psFree(object);
     3860    }
     3861
    36563862    exit(EXIT_SUCCESS);
    36573863}
  • trunk/ippdb/tests/selectrowsfits.c

    r14169 r14451  
    843843    }
    844844
     845    {
     846        psDB            *dbh;
     847        psFits          *fits;
     848
     849        dbh = psDBInit("localhost", "test", NULL, "test");
     850        if (!dbh) {
     851            exit(EXIT_FAILURE);
     852        }
     853
     854        fits = psFitsOpen(TMP_FILENAME, "w");
     855        if (!fits) {
     856            exit(EXIT_FAILURE);
     857        }
     858
     859        if (!detRegisteredImfileSelectRowsFits(dbh, fits, NULL, 1)) {
     860            exit(EXIT_FAILURE);
     861        }
     862
     863        psFree(fits);
     864        psDBCleanup(dbh);
     865    }
     866
    845867    exit(EXIT_SUCCESS);
    846868}
Note: See TracChangeset for help on using the changeset viewer.