IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 14169


Ignore:
Timestamp:
Jul 12, 2007, 12:27:55 PM (19 years ago)
Author:
jhoblitt
Message:

dev version

Location:
trunk/ippdb
Files:
14 edited

Legend:

Unmodified
Added
Removed
  • trunk/ippdb/Makefile.am

    r14061 r14169  
    2222    $(top_builddir)/docs/man/man3/guidePendingExpRow.3 \
    2323    $(top_builddir)/docs/man/man3/chipRunRow.3 \
    24     $(top_builddir)/docs/man/man3/chipInputImfileRow.3 \
    2524    $(top_builddir)/docs/man/man3/chipProcessedImfileRow.3 \
    2625    $(top_builddir)/docs/man/man3/chipMaskRow.3 \
     
    5150
    5251
    53 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/chipInputImfileRow.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:
     52docs/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:
    5453        $(DOXYGEN)
    5554
  • trunk/ippdb/src/ippdb.c

    r14061 r14169  
    4343#define GUIDEPENDINGEXP_TABLE_NAME "guidePendingExp"
    4444#define CHIPRUN_TABLE_NAME "chipRun"
    45 #define CHIPINPUTIMFILE_TABLE_NAME "chipInputImfile"
    4645#define CHIPPROCESSEDIMFILE_TABLE_NAME "chipProcessedImfile"
    4746#define CHIPMASK_TABLE_NAME "chipMask"
     
    25262525static void newExpRowFree(newExpRow *object);
    25272526
    2528 newExpRow *newExpRowAlloc(psS64 exp_id, const char *tmp_exp_name, const char *tmp_camera, const char *tmp_telescope, const char *state, const char *workdir, const char *workdir_state)
     2527newExpRow *newExpRowAlloc(psS64 exp_id, const char *tmp_exp_name, const char *tmp_camera, const char *tmp_telescope, const char *state, const char *workdir, const char *workdir_state, const char *reduction)
    25292528{
    25302529    newExpRow       *_object;
     
    25402539    _object->workdir = psStringCopy(workdir);
    25412540    _object->workdir_state = psStringCopy(workdir_state);
     2541    _object->reduction = psStringCopy(reduction);
    25422542
    25432543    return _object;
     
    25522552    psFree(object->workdir);
    25532553    psFree(object->workdir_state);
     2554    psFree(object->reduction);
    25542555}
    25552556
     
    25922593        return false;
    25932594    }
     2595    if (!psMetadataAdd(md, PS_LIST_TAIL, "reduction", PS_DATA_STRING, "Reduction class", "64")) {
     2596        psError(PS_ERR_UNKNOWN, false, "failed to add item reduction");
     2597        psFree(md);
     2598        return false;
     2599    }
    25942600
    25952601    bool status = psDBCreateTable(dbh, NEWEXP_TABLE_NAME, md);
     
    26052611}
    26062612
    2607 bool newExpInsert(psDB * dbh, psS64 exp_id, const char *tmp_exp_name, const char *tmp_camera, const char *tmp_telescope, const char *state, const char *workdir, const char *workdir_state)
     2613bool newExpInsert(psDB * dbh, psS64 exp_id, const char *tmp_exp_name, const char *tmp_camera, const char *tmp_telescope, const char *state, const char *workdir, const char *workdir_state, const char *reduction)
    26082614{
    26092615    psMetadata *md = psMetadataAlloc();
     
    26402646    if (!psMetadataAdd(md, PS_LIST_TAIL, "workdir_state", PS_DATA_STRING, NULL, workdir_state)) {
    26412647        psError(PS_ERR_UNKNOWN, false, "failed to add item workdir_state");
     2648        psFree(md);
     2649        return false;
     2650    }
     2651    if (!psMetadataAdd(md, PS_LIST_TAIL, "reduction", PS_DATA_STRING, NULL, reduction)) {
     2652        psError(PS_ERR_UNKNOWN, false, "failed to add item reduction");
    26422653        psFree(md);
    26432654        return false;
     
    26662677bool newExpInsertObject(psDB *dbh, newExpRow *object)
    26672678{
    2668     return newExpInsert(dbh, object->exp_id, object->tmp_exp_name, object->tmp_camera, object->tmp_telescope, object->state, object->workdir, object->workdir_state);
     2679    return newExpInsert(dbh, object->exp_id, object->tmp_exp_name, object->tmp_camera, object->tmp_telescope, object->state, object->workdir, object->workdir_state, object->reduction);
    26692680}
    26702681
     
    27742785        return false;
    27752786    }
     2787    if (!psMetadataAdd(md, PS_LIST_TAIL, "reduction", PS_DATA_STRING, NULL, object->reduction)) {
     2788        psError(PS_ERR_UNKNOWN, false, "failed to add item reduction");
     2789        psFree(md);
     2790        return false;
     2791    }
    27762792
    27772793
     
    28182834        return false;
    28192835    }
    2820 
    2821     return newExpRowAlloc(exp_id, tmp_exp_name, tmp_camera, tmp_telescope, state, workdir, workdir_state);
     2836    char* reduction = psMetadataLookupPtr(&status, md, "reduction");
     2837    if (!status) {
     2838        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item reduction");
     2839        return false;
     2840    }
     2841
     2842    return newExpRowAlloc(exp_id, tmp_exp_name, tmp_camera, tmp_telescope, state, workdir, workdir_state, reduction);
    28222843}
    28232844psArray *newExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     
    32483269static void rawExpRowFree(rawExpRow *object);
    32493270
    3250 rawExpRow *rawExpRowAlloc(psS64 exp_id, const char *exp_name, const char *camera, const char *telescope, psTime* dateobs, const char *exp_tag, const char *exp_type, const char *filelevel, const char *workdir, const char *filter, psF32 airmass, psF64 ra, psF64 decl, psF32 exp_time, psF32 sat_pixel_frac, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 alt, psF64 az, psF32 ccd_temp, psF64 posang, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *object, psF32 solang, psS16 fault)
     3271rawExpRow *rawExpRowAlloc(psS64 exp_id, const char *exp_name, const char *camera, const char *telescope, psTime* dateobs, const char *exp_tag, const char *exp_type, const char *filelevel, const char *workdir, const char *reduction, const char *filter, psF32 airmass, psF64 ra, psF64 decl, psF32 exp_time, psF32 sat_pixel_frac, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 alt, psF64 az, psF32 ccd_temp, psF64 posang, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *object, psF32 solang, psS16 fault)
    32513272{
    32523273    rawExpRow       *_object;
     
    32643285    _object->filelevel = psStringCopy(filelevel);
    32653286    _object->workdir = psStringCopy(workdir);
     3287    _object->reduction = psStringCopy(reduction);
    32663288    _object->filter = psStringCopy(filter);
    32673289    _object->airmass = airmass;
     
    32993321    psFree(object->filelevel);
    33003322    psFree(object->workdir);
     3323    psFree(object->reduction);
    33013324    psFree(object->filter);
    33023325    psFree(object->object);
     
    33513374        return false;
    33523375    }
     3376    if (!psMetadataAdd(md, PS_LIST_TAIL, "reduction", PS_DATA_STRING, "Reduction class", "64")) {
     3377        psError(PS_ERR_UNKNOWN, false, "failed to add item reduction");
     3378        psFree(md);
     3379        return false;
     3380    }
    33533381    if (!psMetadataAdd(md, PS_LIST_TAIL, "filter", PS_DATA_STRING, NULL, "64")) {
    33543382        psError(PS_ERR_UNKNOWN, false, "failed to add item filter");
     
    34693497}
    34703498
    3471 bool rawExpInsert(psDB * dbh, psS64 exp_id, const char *exp_name, const char *camera, const char *telescope, psTime* dateobs, const char *exp_tag, const char *exp_type, const char *filelevel, const char *workdir, const char *filter, psF32 airmass, psF64 ra, psF64 decl, psF32 exp_time, psF32 sat_pixel_frac, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 alt, psF64 az, psF32 ccd_temp, psF64 posang, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *object, psF32 solang, psS16 fault)
     3499bool rawExpInsert(psDB * dbh, psS64 exp_id, const char *exp_name, const char *camera, const char *telescope, psTime* dateobs, const char *exp_tag, const char *exp_type, const char *filelevel, const char *workdir, const char *reduction, const char *filter, psF32 airmass, psF64 ra, psF64 decl, psF32 exp_time, psF32 sat_pixel_frac, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 alt, psF64 az, psF32 ccd_temp, psF64 posang, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *object, psF32 solang, psS16 fault)
    34723500{
    34733501    psMetadata *md = psMetadataAlloc();
     
    35143542    if (!psMetadataAdd(md, PS_LIST_TAIL, "workdir", PS_DATA_STRING, NULL, workdir)) {
    35153543        psError(PS_ERR_UNKNOWN, false, "failed to add item workdir");
     3544        psFree(md);
     3545        return false;
     3546    }
     3547    if (!psMetadataAdd(md, PS_LIST_TAIL, "reduction", PS_DATA_STRING, NULL, reduction)) {
     3548        psError(PS_ERR_UNKNOWN, false, "failed to add item reduction");
    35163549        psFree(md);
    35173550        return false;
     
    36453678bool rawExpInsertObject(psDB *dbh, rawExpRow *object)
    36463679{
    3647     return rawExpInsert(dbh, object->exp_id, object->exp_name, object->camera, object->telescope, object->dateobs, object->exp_tag, object->exp_type, object->filelevel, object->workdir, object->filter, object->airmass, object->ra, object->decl, object->exp_time, object->sat_pixel_frac, object->bg, object->bg_stdev, object->bg_mean_stdev, object->alt, object->az, object->ccd_temp, object->posang, object->user_1, object->user_2, object->user_3, object->user_4, object->user_5, object->object, object->solang, object->fault);
     3680    return rawExpInsert(dbh, object->exp_id, object->exp_name, object->camera, object->telescope, object->dateobs, object->exp_tag, object->exp_type, object->filelevel, object->workdir, object->reduction, object->filter, object->airmass, object->ra, object->decl, object->exp_time, object->sat_pixel_frac, object->bg, object->bg_stdev, object->bg_mean_stdev, object->alt, object->az, object->ccd_temp, object->posang, object->user_1, object->user_2, object->user_3, object->user_4, object->user_5, object->object, object->solang, object->fault);
    36483681}
    36493682
     
    37633796        return false;
    37643797    }
     3798    if (!psMetadataAdd(md, PS_LIST_TAIL, "reduction", PS_DATA_STRING, NULL, object->reduction)) {
     3799        psError(PS_ERR_UNKNOWN, false, "failed to add item reduction");
     3800        psFree(md);
     3801        return false;
     3802    }
    37653803    if (!psMetadataAdd(md, PS_LIST_TAIL, "filter", PS_DATA_STRING, NULL, object->filter)) {
    37663804        psError(PS_ERR_UNKNOWN, false, "failed to add item filter");
     
    39223960        return false;
    39233961    }
     3962    char* reduction = psMetadataLookupPtr(&status, md, "reduction");
     3963    if (!status) {
     3964        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item reduction");
     3965        return false;
     3966    }
    39243967    char* filter = psMetadataLookupPtr(&status, md, "filter");
    39253968    if (!status) {
     
    40284071    }
    40294072
    4030     return rawExpRowAlloc(exp_id, exp_name, camera, telescope, dateobs, exp_tag, exp_type, filelevel, workdir, filter, airmass, ra, decl, exp_time, sat_pixel_frac, bg, bg_stdev, bg_mean_stdev, alt, az, ccd_temp, posang, user_1, user_2, user_3, user_4, user_5, object, solang, fault);
     4073    return rawExpRowAlloc(exp_id, exp_name, camera, telescope, dateobs, exp_tag, exp_type, filelevel, workdir, reduction, filter, airmass, ra, decl, exp_time, sat_pixel_frac, bg, bg_stdev, bg_mean_stdev, alt, az, ccd_temp, posang, user_1, user_2, user_3, user_4, user_5, object, solang, fault);
    40314074}
    40324075psArray *rawExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     
    53495392static void chipRunRowFree(chipRunRow *object);
    53505393
    5351 chipRunRow *chipRunRowAlloc(psS64 chip_id, const char *state, const char *workdir, const char *workdir_state, const char *label, const char *reduction, const char *expgroup, const char *dvodb)
     5394chipRunRow *chipRunRowAlloc(psS64 chip_id, psS64 exp_id, const char *state, const char *workdir, const char *workdir_state, const char *label, const char *reduction, const char *expgroup, const char *dvodb)
    53525395{
    53535396    chipRunRow      *_object;
     
    53575400
    53585401    _object->chip_id = chip_id;
     5402    _object->exp_id = exp_id;
    53595403    _object->state = psStringCopy(state);
    53605404    _object->workdir = psStringCopy(workdir);
     
    53875431        return false;
    53885432    }
    5389     if (!psMetadataAdd(md, PS_LIST_TAIL, "state", PS_DATA_STRING, "key", "64")) {
     5433    if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_id", PS_DATA_S64, "Key INDEX(chip_id, exp_id) fkey (exp_id) ref rawExp(exp_id)", 64)) {
     5434        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
     5435        psFree(md);
     5436        return false;
     5437    }
     5438    if (!psMetadataAdd(md, PS_LIST_TAIL, "state", PS_DATA_STRING, "Key", "64")) {
    53905439        psError(PS_ERR_UNKNOWN, false, "failed to add item state");
    53915440        psFree(md);
     
    53975446        return false;
    53985447    }
    5399     if (!psMetadataAdd(md, PS_LIST_TAIL, "workdir_state", PS_DATA_STRING, "key", "64")) {
     5448    if (!psMetadataAdd(md, PS_LIST_TAIL, "workdir_state", PS_DATA_STRING, "Key", "64")) {
    54005449        psError(PS_ERR_UNKNOWN, false, "failed to add item workdir_state");
    54015450        psFree(md);
    54025451        return false;
    54035452    }
    5404     if (!psMetadataAdd(md, PS_LIST_TAIL, "label", PS_DATA_STRING, "key", "64")) {
     5453    if (!psMetadataAdd(md, PS_LIST_TAIL, "label", PS_DATA_STRING, "Key", "64")) {
    54055454        psError(PS_ERR_UNKNOWN, false, "failed to add item label");
    54065455        psFree(md);
     
    54125461        return false;
    54135462    }
    5414     if (!psMetadataAdd(md, PS_LIST_TAIL, "expgroup", PS_DATA_STRING, "key", "64")) {
     5463    if (!psMetadataAdd(md, PS_LIST_TAIL, "expgroup", PS_DATA_STRING, "Key", "64")) {
    54155464        psError(PS_ERR_UNKNOWN, false, "failed to add item expgroup");
    54165465        psFree(md);
     
    54355484}
    54365485
    5437 bool chipRunInsert(psDB * dbh, psS64 chip_id, const char *state, const char *workdir, const char *workdir_state, const char *label, const char *reduction, const char *expgroup, const char *dvodb)
     5486bool chipRunInsert(psDB * dbh, psS64 chip_id, psS64 exp_id, const char *state, const char *workdir, const char *workdir_state, const char *label, const char *reduction, const char *expgroup, const char *dvodb)
    54385487{
    54395488    psMetadata *md = psMetadataAlloc();
    54405489    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_id", PS_DATA_S64, NULL, chip_id)) {
    54415490        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_id");
     5491        psFree(md);
     5492        return false;
     5493    }
     5494    if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_id", PS_DATA_S64, NULL, exp_id)) {
     5495        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    54425496        psFree(md);
    54435497        return false;
     
    55015555bool chipRunInsertObject(psDB *dbh, chipRunRow *object)
    55025556{
    5503     return chipRunInsert(dbh, object->chip_id, object->state, object->workdir, object->workdir_state, object->label, object->reduction, object->expgroup, object->dvodb);
     5557    return chipRunInsert(dbh, object->chip_id, object->exp_id, object->state, object->workdir, object->workdir_state, object->label, object->reduction, object->expgroup, object->dvodb);
    55045558}
    55055559
     
    55795633        return false;
    55805634    }
     5635    if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_id", PS_DATA_S64, NULL, object->exp_id)) {
     5636        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
     5637        psFree(md);
     5638        return false;
     5639    }
    55815640    if (!psMetadataAdd(md, PS_LIST_TAIL, "state", PS_DATA_STRING, NULL, object->state)) {
    55825641        psError(PS_ERR_UNKNOWN, false, "failed to add item state");
     
    56285687        return false;
    56295688    }
     5689    psS64 exp_id = psMetadataLookupS64(&status, md, "exp_id");
     5690    if (!status) {
     5691        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_id");
     5692        return false;
     5693    }
    56305694    char* state = psMetadataLookupPtr(&status, md, "state");
    56315695    if (!status) {
     
    56645728    }
    56655729
    5666     return chipRunRowAlloc(chip_id, state, workdir, workdir_state, label, reduction, expgroup, dvodb);
     5730    return chipRunRowAlloc(chip_id, exp_id, state, workdir, workdir_state, label, reduction, expgroup, dvodb);
    56675731}
    56685732psArray *chipRunSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     
    57645828
    57655829    psMetadata *md = chipRunMetadataFromObject(object);
    5766 
    5767     if (!ippdbPrintMetadataRaw(stream, md, mdcf)) {
    5768         psError(PS_ERR_UNKNOWN, false, "failed to print metadata");
    5769         psFree(md);
    5770     }
    5771 
    5772     psFree(md);
    5773 
    5774     return true;
    5775 }
    5776 static void chipInputImfileRowFree(chipInputImfileRow *object);
    5777 
    5778 chipInputImfileRow *chipInputImfileRowAlloc(psS64 chip_id, psS64 exp_id, const char *class_id)
    5779 {
    5780     chipInputImfileRow *_object;
    5781 
    5782     _object = psAlloc(sizeof(chipInputImfileRow));
    5783     psMemSetDeallocator(_object, (psFreeFunc)chipInputImfileRowFree);
    5784 
    5785     _object->chip_id = chip_id;
    5786     _object->exp_id = exp_id;
    5787     _object->class_id = psStringCopy(class_id);
    5788 
    5789     return _object;
    5790 }
    5791 
    5792 static void chipInputImfileRowFree(chipInputImfileRow *object)
    5793 {
    5794     psFree(object->class_id);
    5795 }
    5796 
    5797 bool chipInputImfileCreateTable(psDB *dbh)
    5798 {
    5799     psMetadata *md = psMetadataAlloc();
    5800     if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_id", PS_DATA_S64, "Primary Key fkey (chip_id) ref chipRun(chip_id)", 0)) {
    5801         psError(PS_ERR_UNKNOWN, false, "failed to add item chip_id");
    5802         psFree(md);
    5803         return false;
    5804     }
    5805     if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_id", PS_DATA_S64, "Primary Key fkey (exp_id, class_id) ref rawImfile (exp_id, class_id)", 64)) {
    5806         psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    5807         psFree(md);
    5808         return false;
    5809     }
    5810     if (!psMetadataAdd(md, PS_LIST_TAIL, "class_id", PS_DATA_STRING, "Primary Key", "64")) {
    5811         psError(PS_ERR_UNKNOWN, false, "failed to add item class_id");
    5812         psFree(md);
    5813         return false;
    5814     }
    5815 
    5816     bool status = psDBCreateTable(dbh, CHIPINPUTIMFILE_TABLE_NAME, md);
    5817 
    5818     psFree(md);
    5819 
    5820     return status;
    5821 }
    5822 
    5823 bool chipInputImfileDropTable(psDB *dbh)
    5824 {
    5825     return psDBDropTable(dbh, CHIPINPUTIMFILE_TABLE_NAME);
    5826 }
    5827 
    5828 bool chipInputImfileInsert(psDB * dbh, psS64 chip_id, psS64 exp_id, const char *class_id)
    5829 {
    5830     psMetadata *md = psMetadataAlloc();
    5831     if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_id", PS_DATA_S64, NULL, chip_id)) {
    5832         psError(PS_ERR_UNKNOWN, false, "failed to add item chip_id");
    5833         psFree(md);
    5834         return false;
    5835     }
    5836     if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_id", PS_DATA_S64, NULL, exp_id)) {
    5837         psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    5838         psFree(md);
    5839         return false;
    5840     }
    5841     if (!psMetadataAdd(md, PS_LIST_TAIL, "class_id", PS_DATA_STRING, NULL, class_id)) {
    5842         psError(PS_ERR_UNKNOWN, false, "failed to add item class_id");
    5843         psFree(md);
    5844         return false;
    5845     }
    5846 
    5847     bool status = psDBInsertOneRow(dbh, CHIPINPUTIMFILE_TABLE_NAME, md);
    5848     psFree(md);
    5849 
    5850     return status;
    5851 }
    5852 
    5853 long long chipInputImfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
    5854 {
    5855     long long       deleted = 0;
    5856 
    5857     long long count = psDBDeleteRows(dbh, CHIPINPUTIMFILE_TABLE_NAME, where, limit);
    5858     if (count < 0) {
    5859         psError(PS_ERR_UNKNOWN, true, "failed to delete row from chipInputImfile");
    5860         return count;
    5861 
    5862         deleted += count;
    5863     }
    5864 
    5865     return deleted;
    5866 }
    5867 bool chipInputImfileInsertObject(psDB *dbh, chipInputImfileRow *object)
    5868 {
    5869     return chipInputImfileInsert(dbh, object->chip_id, object->exp_id, object->class_id);
    5870 }
    5871 
    5872 bool chipInputImfileInsertObjects(psDB *dbh, psArray *objects)
    5873 {
    5874     for (long i = 0; i < psArrayLength(objects); i++) {
    5875         if (!chipInputImfileInsertObject(dbh, objects->data[i])) {
    5876             return false;
    5877         }
    5878     }
    5879 
    5880     return true;
    5881 }
    5882 
    5883 bool chipInputImfileInsertFits(psDB *dbh, const psFits *fits)
    5884 {
    5885     psArray         *rowSet;
    5886 
    5887     // move to (the first?) extension named  CHIPINPUTIMFILE_TABLE_NAME
    5888     if (!psFitsMoveExtName(fits, CHIPINPUTIMFILE_TABLE_NAME)) {
    5889         psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", CHIPINPUTIMFILE_TABLE_NAME);
    5890         return false;
    5891     }
    5892 
    5893     // check HDU type
    5894     if (psFitsGetExtType(fits) != PS_FITS_TYPE_BINARY_TABLE)  {
    5895         psError(PS_ERR_UNKNOWN, true, "FITS HDU type is not PS_FITS_TYPE_BINARY_TABLE");
    5896         return false;
    5897     }
    5898 
    5899     // read fits table
    5900     rowSet = psFitsReadTable(fits);
    5901     if (!rowSet) {
    5902         psError(PS_ERR_UNKNOWN, true, "FITS read error or FITS table is empty");
    5903         psFree(rowSet);
    5904         return false;
    5905     }
    5906 
    5907     if (!psDBInsertRows(dbh, CHIPINPUTIMFILE_TABLE_NAME, rowSet)) {
    5908         psError(PS_ERR_UNKNOWN, false, "databse insert failed");
    5909         psFree(rowSet);
    5910         return false;
    5911     }
    5912 
    5913     psFree(rowSet);
    5914 
    5915     return true;
    5916 }
    5917 
    5918 bool chipInputImfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
    5919 {
    5920     psArray         *rowSet;
    5921 
    5922     rowSet = psDBSelectRows(dbh, CHIPINPUTIMFILE_TABLE_NAME, where, limit);
    5923     if (!rowSet) {
    5924         return false;
    5925     }
    5926 
    5927     // output to fits
    5928     if (!psFitsWriteTable(fits, NULL, rowSet, CHIPINPUTIMFILE_TABLE_NAME)) {
    5929         psError(PS_ERR_UNKNOWN, false, "FITS table write failed");
    5930         psFree(rowSet);
    5931         return false;
    5932     }
    5933 
    5934     psFree(rowSet);
    5935 
    5936     return true;
    5937 }
    5938 
    5939 psMetadata *chipInputImfileMetadataFromObject(const chipInputImfileRow *object)
    5940 {
    5941     psMetadata *md = psMetadataAlloc();
    5942     if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_id", PS_DATA_S64, NULL, object->chip_id)) {
    5943         psError(PS_ERR_UNKNOWN, false, "failed to add item chip_id");
    5944         psFree(md);
    5945         return false;
    5946     }
    5947     if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_id", PS_DATA_S64, NULL, object->exp_id)) {
    5948         psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    5949         psFree(md);
    5950         return false;
    5951     }
    5952     if (!psMetadataAdd(md, PS_LIST_TAIL, "class_id", PS_DATA_STRING, NULL, object->class_id)) {
    5953         psError(PS_ERR_UNKNOWN, false, "failed to add item class_id");
    5954         psFree(md);
    5955         return false;
    5956     }
    5957 
    5958 
    5959     return md;
    5960 }
    5961 
    5962 chipInputImfileRow *chipInputImfileObjectFromMetadata(psMetadata *md)
    5963 {
    5964 
    5965 bool status = false;
    5966     psS64 chip_id = psMetadataLookupS64(&status, md, "chip_id");
    5967     if (!status) {
    5968         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item chip_id");
    5969         return false;
    5970     }
    5971     psS64 exp_id = psMetadataLookupS64(&status, md, "exp_id");
    5972     if (!status) {
    5973         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_id");
    5974         return false;
    5975     }
    5976     char* class_id = psMetadataLookupPtr(&status, md, "class_id");
    5977     if (!status) {
    5978         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item class_id");
    5979         return false;
    5980     }
    5981 
    5982     return chipInputImfileRowAlloc(chip_id, exp_id, class_id);
    5983 }
    5984 psArray *chipInputImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
    5985 {
    5986     psArray         *rowSet;
    5987     psArray         *returnSet;
    5988     psU64           i;
    5989 
    5990     rowSet = psDBSelectRows(dbh, CHIPINPUTIMFILE_TABLE_NAME, where, limit);
    5991     if (!rowSet) {
    5992         return NULL;
    5993     }
    5994 
    5995     // convert psMetadata rows to row objects
    5996 
    5997     returnSet = psArrayAllocEmpty(rowSet->n);
    5998 
    5999     for (i = 0; i < rowSet->n; i++) {
    6000         chipInputImfileRow *object = chipInputImfileObjectFromMetadata(rowSet->data[i]);
    6001         psArrayAdd(returnSet, 0, object);
    6002         psFree(object);
    6003     }
    6004 
    6005     psFree(rowSet);
    6006 
    6007     return returnSet;
    6008 }
    6009 bool chipInputImfileDeleteObject(psDB *dbh, const chipInputImfileRow *object)
    6010 {
    6011     psMetadata *where = chipInputImfileMetadataFromObject(object);
    6012     long long count = psDBDeleteRows(dbh, CHIPINPUTIMFILE_TABLE_NAME, where, 0);
    6013     psFree(where);
    6014     if (count < 0) {
    6015         psError(PS_ERR_UNKNOWN, true, "failed to delete row from chipInputImfile");
    6016         return false;
    6017     }
    6018     if (count > 1) {
    6019         // XXX should this be a psAbort() instead?  It is possible that
    6020         // having an object match multiple rows was by design.
    6021         psError(PS_ERR_UNKNOWN, true, "chipInputImfileRow object matched more then one row.  Check your database schema");
    6022         return false;
    6023     }
    6024 
    6025     return true;
    6026 }
    6027 long long chipInputImfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
    6028 {
    6029     long long       deleted = 0;
    6030 
    6031     for (long long i = 0; i < objects->n; i++) {
    6032         chipInputImfileRow *object = objects->data[i];
    6033         psMetadata *where = chipInputImfileMetadataFromObject(object);
    6034         long long count = psDBDeleteRows(dbh, CHIPINPUTIMFILE_TABLE_NAME, where, limit);
    6035         psFree(where);
    6036         if (count < 0) {
    6037             psError(PS_ERR_UNKNOWN, true, "failed to delete row from chipInputImfile");
    6038             return count;
    6039         }
    6040 
    6041         deleted += count;
    6042     }
    6043 
    6044     return deleted;
    6045 }
    6046 bool chipInputImfilePrintObjects(FILE *stream, psArray *objects, bool mdcf)
    6047 {
    6048     PS_ASSERT_PTR_NON_NULL(objects, false);
    6049 
    6050     psMetadata *output = psMetadataAlloc();
    6051     for (long i = 0; i < psArrayLength(objects); i++) {
    6052         psMetadata *md = chipInputImfileMetadataFromObject(objects->data[i]);
    6053         if (!psMetadataAddMetadata(
    6054             output,
    6055             PS_LIST_TAIL,
    6056             CHIPINPUTIMFILE_TABLE_NAME,
    6057             PS_META_DUPLICATE_OK,
    6058             NULL,
    6059             md
    6060         )) {
    6061             psError(PS_ERR_UNKNOWN, false, "failed to add metadata");
    6062             psFree(md);
    6063             psFree(output);
    6064             return false;
    6065         }
    6066         psFree(md);
    6067     }
    6068 
    6069     if (!ippdbPrintMetadataRaw(stream, output, mdcf)) {
    6070         psError(PS_ERR_UNKNOWN, false, "failed to print metadata");
    6071         psFree(output);
    6072     }
    6073     psFree(output);
    6074 
    6075     return true;
    6076 }
    6077 bool chipInputImfilePrintObject(FILE *stream, chipInputImfileRow *object, bool mdcf)
    6078 {
    6079     PS_ASSERT_PTR_NON_NULL(object, false);
    6080 
    6081     psMetadata *md = chipInputImfileMetadataFromObject(object);
    60825830
    60835831    if (!ippdbPrintMetadataRaw(stream, md, mdcf)) {
     
    61375885{
    61385886    psMetadata *md = psMetadataAlloc();
    6139     if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_id", PS_DATA_S64, "Primary Key fkey (chip_id, exp_id, class_id) ref chipInputImfile(chip_id, exp_id, class_id)", 0)) {
     5887    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_id", PS_DATA_S64, "Primary Key fkey (chip_id, exp_id) ref chipRun(chip_id, exp_id)", 0)) {
    61405888        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_id");
    61415889        psFree(md);
    61425890        return false;
    61435891    }
    6144     if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_id", PS_DATA_S64, "Primary Key", 64)) {
     5892    if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_id", PS_DATA_S64, "Primary Key fkey (exp_id, class_id) ref rawImfile(exp_id, class_id)", 64)) {
    61455893        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    61465894        psFree(md);
     
    71646912        return false;
    71656913    }
    7166     if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_id", PS_DATA_S64, "Primary Key fkey(chip_id) ref chipRun(chip_id)", 0)) {
     6914    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_id", PS_DATA_S64, "Key INDEX(cam_id, chip_id) fkey(chip_id) ref chipRun(chip_id)", 0)) {
    71676915        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_id");
    71686916        psFree(md);
     
    95589306static void warpSkyfileRowFree(warpSkyfileRow *object);
    95599307
    9560 warpSkyfileRow *warpSkyfileRowAlloc(psS64 warp_id, const char *skycell_id, const char *tess_id, const char *uri, const char *path_base, psF64 bg, psF64 bg_stdev)
     9308warpSkyfileRow *warpSkyfileRowAlloc(psS64 warp_id, const char *skycell_id, const char *tess_id, const char *uri, const char *path_base, psF64 bg, psF64 bg_stdev, psS16 fault)
    95619309{
    95629310    warpSkyfileRow  *_object;
     
    95729320    _object->bg = bg;
    95739321    _object->bg_stdev = bg_stdev;
     9322    _object->fault = fault;
    95749323
    95759324    return _object;
     
    96229371        return false;
    96239372    }
     9373    if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, "Key", 0)) {
     9374        psError(PS_ERR_UNKNOWN, false, "failed to add item fault");
     9375        psFree(md);
     9376        return false;
     9377    }
    96249378
    96259379    bool status = psDBCreateTable(dbh, WARPSKYFILE_TABLE_NAME, md);
     
    96359389}
    96369390
    9637 bool warpSkyfileInsert(psDB * dbh, psS64 warp_id, const char *skycell_id, const char *tess_id, const char *uri, const char *path_base, psF64 bg, psF64 bg_stdev)
     9391bool warpSkyfileInsert(psDB * dbh, psS64 warp_id, const char *skycell_id, const char *tess_id, const char *uri, const char *path_base, psF64 bg, psF64 bg_stdev, psS16 fault)
    96389392{
    96399393    psMetadata *md = psMetadataAlloc();
     
    96709424    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, bg_stdev)) {
    96719425        psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev");
     9426        psFree(md);
     9427        return false;
     9428    }
     9429    if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, NULL, fault)) {
     9430        psError(PS_ERR_UNKNOWN, false, "failed to add item fault");
    96729431        psFree(md);
    96739432        return false;
     
    96969455bool warpSkyfileInsertObject(psDB *dbh, warpSkyfileRow *object)
    96979456{
    9698     return warpSkyfileInsert(dbh, object->warp_id, object->skycell_id, object->tess_id, object->uri, object->path_base, object->bg, object->bg_stdev);
     9457    return warpSkyfileInsert(dbh, object->warp_id, object->skycell_id, object->tess_id, object->uri, object->path_base, object->bg, object->bg_stdev, object->fault);
    96999458}
    97009459
     
    98049563        return false;
    98059564    }
     9565    if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, NULL, object->fault)) {
     9566        psError(PS_ERR_UNKNOWN, false, "failed to add item fault");
     9567        psFree(md);
     9568        return false;
     9569    }
    98069570
    98079571
     
    98489612        return false;
    98499613    }
    9850 
    9851     return warpSkyfileRowAlloc(warp_id, skycell_id, tess_id, uri, path_base, bg, bg_stdev);
     9614    psS16 fault = psMetadataLookupS16(&status, md, "fault");
     9615    if (!status) {
     9616        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item fault");
     9617        return false;
     9618    }
     9619
     9620    return warpSkyfileRowAlloc(warp_id, skycell_id, tess_id, uri, path_base, bg, bg_stdev, fault);
    98529621}
    98539622psArray *warpSkyfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     
    1074710516static void diffSkyfileRowFree(diffSkyfileRow *object);
    1074810517
    10749 diffSkyfileRow *diffSkyfileRowAlloc(psS64 diff_id, const char *uri, const char *path_base, psF64 bg, psF64 bg_stdev)
     10518diffSkyfileRow *diffSkyfileRowAlloc(psS64 diff_id, const char *uri, const char *path_base, psF64 bg, psF64 bg_stdev, psS16 fault)
    1075010519{
    1075110520    diffSkyfileRow  *_object;
     
    1075910528    _object->bg = bg;
    1076010529    _object->bg_stdev = bg_stdev;
     10530    _object->fault = fault;
    1076110531
    1076210532    return _object;
     
    1079710567        return false;
    1079810568    }
     10569    if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, "Key", 0)) {
     10570        psError(PS_ERR_UNKNOWN, false, "failed to add item fault");
     10571        psFree(md);
     10572        return false;
     10573    }
    1079910574
    1080010575    bool status = psDBCreateTable(dbh, DIFFSKYFILE_TABLE_NAME, md);
     
    1081010585}
    1081110586
    10812 bool diffSkyfileInsert(psDB * dbh, psS64 diff_id, const char *uri, const char *path_base, psF64 bg, psF64 bg_stdev)
     10587bool diffSkyfileInsert(psDB * dbh, psS64 diff_id, const char *uri, const char *path_base, psF64 bg, psF64 bg_stdev, psS16 fault)
    1081310588{
    1081410589    psMetadata *md = psMetadataAlloc();
     
    1083510610    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, bg_stdev)) {
    1083610611        psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev");
     10612        psFree(md);
     10613        return false;
     10614    }
     10615    if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, NULL, fault)) {
     10616        psError(PS_ERR_UNKNOWN, false, "failed to add item fault");
    1083710617        psFree(md);
    1083810618        return false;
     
    1086110641bool diffSkyfileInsertObject(psDB *dbh, diffSkyfileRow *object)
    1086210642{
    10863     return diffSkyfileInsert(dbh, object->diff_id, object->uri, object->path_base, object->bg, object->bg_stdev);
     10643    return diffSkyfileInsert(dbh, object->diff_id, object->uri, object->path_base, object->bg, object->bg_stdev, object->fault);
    1086410644}
    1086510645
     
    1095910739        return false;
    1096010740    }
     10741    if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, NULL, object->fault)) {
     10742        psError(PS_ERR_UNKNOWN, false, "failed to add item fault");
     10743        psFree(md);
     10744        return false;
     10745    }
    1096110746
    1096210747
     
    1099310778        return false;
    1099410779    }
    10995 
    10996     return diffSkyfileRowAlloc(diff_id, uri, path_base, bg, bg_stdev);
     10780    psS16 fault = psMetadataLookupS16(&status, md, "fault");
     10781    if (!status) {
     10782        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item fault");
     10783        return false;
     10784    }
     10785
     10786    return diffSkyfileRowAlloc(diff_id, uri, path_base, bg, bg_stdev, fault);
    1099710787}
    1099810788psArray *diffSkyfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     
    1180511595static void stackSumSkyfileRowFree(stackSumSkyfileRow *object);
    1180611596
    11807 stackSumSkyfileRow *stackSumSkyfileRowAlloc(psS64 stack_id, const char *uri, const char *path_base, psF64 bg, psF64 bg_stdev)
     11597stackSumSkyfileRow *stackSumSkyfileRowAlloc(psS64 stack_id, const char *uri, const char *path_base, psF64 bg, psF64 bg_stdev, psS16 fault)
    1180811598{
    1180911599    stackSumSkyfileRow *_object;
     
    1181711607    _object->bg = bg;
    1181811608    _object->bg_stdev = bg_stdev;
     11609    _object->fault = fault;
    1181911610
    1182011611    return _object;
     
    1185511646        return false;
    1185611647    }
     11648    if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, "Key", 0)) {
     11649        psError(PS_ERR_UNKNOWN, false, "failed to add item fault");
     11650        psFree(md);
     11651        return false;
     11652    }
    1185711653
    1185811654    bool status = psDBCreateTable(dbh, STACKSUMSKYFILE_TABLE_NAME, md);
     
    1186811664}
    1186911665
    11870 bool stackSumSkyfileInsert(psDB * dbh, psS64 stack_id, const char *uri, const char *path_base, psF64 bg, psF64 bg_stdev)
     11666bool stackSumSkyfileInsert(psDB * dbh, psS64 stack_id, const char *uri, const char *path_base, psF64 bg, psF64 bg_stdev, psS16 fault)
    1187111667{
    1187211668    psMetadata *md = psMetadataAlloc();
     
    1189311689    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, bg_stdev)) {
    1189411690        psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev");
     11691        psFree(md);
     11692        return false;
     11693    }
     11694    if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, NULL, fault)) {
     11695        psError(PS_ERR_UNKNOWN, false, "failed to add item fault");
    1189511696        psFree(md);
    1189611697        return false;
     
    1191911720bool stackSumSkyfileInsertObject(psDB *dbh, stackSumSkyfileRow *object)
    1192011721{
    11921     return stackSumSkyfileInsert(dbh, object->stack_id, object->uri, object->path_base, object->bg, object->bg_stdev);
     11722    return stackSumSkyfileInsert(dbh, object->stack_id, object->uri, object->path_base, object->bg, object->bg_stdev, object->fault);
    1192211723}
    1192311724
     
    1201711818        return false;
    1201811819    }
     11820    if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, NULL, object->fault)) {
     11821        psError(PS_ERR_UNKNOWN, false, "failed to add item fault");
     11822        psFree(md);
     11823        return false;
     11824    }
    1201911825
    1202011826
     
    1205111857        return false;
    1205211858    }
    12053 
    12054     return stackSumSkyfileRowAlloc(stack_id, uri, path_base, bg, bg_stdev);
     11859    psS16 fault = psMetadataLookupS16(&status, md, "fault");
     11860    if (!status) {
     11861        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item fault");
     11862        return false;
     11863    }
     11864
     11865    return stackSumSkyfileRowAlloc(stack_id, uri, path_base, bg, bg_stdev, fault);
    1205511866}
    1205611867psArray *stackSumSkyfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     
    1306312874{
    1306412875    psMetadata *md = psMetadataAlloc();
    13065     if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, "Primary Key", 0)) {
     12876    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, "Primary Key INDEX(det_id, exp_id) fkey (det_id) ref detRun(det_id)", 0)) {
    1306612877        psError(PS_ERR_UNKNOWN, false, "failed to add item det_id");
    1306712878        psFree(md);
    1306812879        return false;
    1306912880    }
    13070     if (!psMetadataAdd(md, PS_LIST_TAIL, "iteration", PS_DATA_S32, "Primary Key", 0)) {
     12881    if (!psMetadataAdd(md, PS_LIST_TAIL, "iteration", PS_DATA_S32, "Primary Key INDEX(det_id, iteration)", 0)) {
    1307112882        psError(PS_ERR_UNKNOWN, false, "failed to add item iteration");
    1307212883        psFree(md);
    1307312884        return false;
    1307412885    }
    13075     if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_id", PS_DATA_S64, "Primary Key", 64)) {
     12886    if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_id", PS_DATA_S64, "Primary Key fkey (exp_id) ref rawExp(exp_id)", 64)) {
    1307612887        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    1307712888        psFree(md);
     
    1341713228{
    1341813229    psMetadata *md = psMetadataAlloc();
    13419     if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, "Primary Key", 0)) {
     13230    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, "Primary Key fkey (det_id, exp_id) ref detInputExp(det_id, exp_id)", 0)) {
    1342013231        psError(PS_ERR_UNKNOWN, false, "failed to add item det_id");
    1342113232        psFree(md);
    1342213233        return false;
    1342313234    }
    13424     if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_id", PS_DATA_S64, "Primary Key", 64)) {
     13235    if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_id", PS_DATA_S64, "Primary Key fkey (exp_id, class_id) ref rawImfile(exp_id, class_id)", 64)) {
    1342513236        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    1342613237        psFree(md);
    1342713238        return false;
    1342813239    }
    13429     if (!psMetadataAdd(md, PS_LIST_TAIL, "class_id", PS_DATA_STRING, "Primary Key", "64")) {
     13240    if (!psMetadataAdd(md, PS_LIST_TAIL, "class_id", PS_DATA_STRING, "Primary Key INDEX(det_id, class_id)", "64")) {
    1343013241        psError(PS_ERR_UNKNOWN, false, "failed to add item class_id");
    1343113242        psFree(md);
     
    1404713858{
    1404813859    psMetadata *md = psMetadataAlloc();
    14049     if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, "Primary Key", 0)) {
     13860    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, "Primary Key fkey(det_id, exp_id) ref detInputExp(det_id, exp_id)", 0)) {
    1405013861        psError(PS_ERR_UNKNOWN, false, "failed to add item det_id");
    1405113862        psFree(md);
     
    1463614447{
    1463714448    psMetadata *md = psMetadataAlloc();
    14638     if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, "Primary Key", 0)) {
     14449    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, "Primary Key fkey(det_id, iteration) ref detInputExp(det_id, iteration)", 0)) {
    1463914450        psError(PS_ERR_UNKNOWN, false, "failed to add item det_id");
    1464014451        psFree(md);
    1464114452        return false;
    1464214453    }
    14643     if (!psMetadataAdd(md, PS_LIST_TAIL, "iteration", PS_DATA_S32, "Primary Key", 0)) {
     14454    if (!psMetadataAdd(md, PS_LIST_TAIL, "iteration", PS_DATA_S32, "Primary Key fkey(det_id, class_id) ref  detProcessedImfile(det_id, class_id)", 0)) {
    1464414455        psError(PS_ERR_UNKNOWN, false, "failed to add item iteration");
    1464514456        psFree(md);
     
    1517414985{
    1517514986    psMetadata *md = psMetadataAlloc();
    15176     if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, "Primary Key", 0)) {
     14987    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, "Primary Key fkey(det_id, iteration, class_id) ref detStackedImfile(det_id, iteration, class_id)", 0)) {
    1517714988        psError(PS_ERR_UNKNOWN, false, "failed to add item det_id");
    1517814989        psFree(md);
     
    1554315354{
    1554415355    psMetadata *md = psMetadataAlloc();
    15545     if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, "Primary Key", 0)) {
     15356    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, "Primary Key INDEX(det_id, iteration) fkey(det_id) ref detInputExp(det_id)", 0)) {
    1554615357        psError(PS_ERR_UNKNOWN, false, "failed to add item det_id");
    1554715358        psFree(md);
     
    1609015901{
    1609115902    psMetadata *md = psMetadataAlloc();
    16092     if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, "Primary Key", 0)) {
     15903    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, "Primary Key fkey(det_id, iteration) ref detNormalizedImfile(det_id, iteration)", 0)) {
    1609315904        psError(PS_ERR_UNKNOWN, false, "failed to add item det_id");
    1609415905        psFree(md);
     
    1793817749{
    1793917750    psMetadata *md = psMetadataAlloc();
    17940     if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, "Primary Key", 0)) {
     17751    if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, "Primary Key fkey(det_id, iteration) ref detInputExp(det_id, iteration)", 0)) {
    1794117752        psError(PS_ERR_UNKNOWN, false, "failed to add item det_id");
    1794217753        psFree(md);
  • trunk/ippdb/src/ippdb.h

    r14061 r14169  
    13951395    char            *workdir;
    13961396    char            *workdir_state;
     1397    char            *reduction;
    13971398} newExpRow;
    13981399
     
    14091410    const char      *state,
    14101411    const char      *workdir,
    1411     const char      *workdir_state
     1412    const char      *workdir_state,
     1413    const char      *reduction
    14121414);
    14131415
     
    14451447    const char      *state,
    14461448    const char      *workdir,
    1447     const char      *workdir_state
     1449    const char      *workdir_state,
     1450    const char      *reduction
    14481451);
    14491452
     
    18111814    char            *filelevel;
    18121815    char            *workdir;
     1816    char            *reduction;
    18131817    char            *filter;
    18141818    psF32           airmass;
     
    18491853    const char      *filelevel,
    18501854    const char      *workdir,
     1855    const char      *reduction,
    18511856    const char      *filter,
    18521857    psF32           airmass,
     
    19081913    const char      *filelevel,
    19091914    const char      *workdir,
     1915    const char      *reduction,
    19101916    const char      *filter,
    19111917    psF32           airmass,
     
    25682574typedef struct {
    25692575    psS64           chip_id;
     2576    psS64           exp_id;
    25702577    char            *state;
    25712578    char            *workdir;
     
    25842591chipRunRow *chipRunRowAlloc(
    25852592    psS64           chip_id,
     2593    psS64           exp_id,
    25862594    const char      *state,
    25872595    const char      *workdir,
     
    26212629    psDB            *dbh,               ///< Database handle
    26222630    psS64           chip_id,
     2631    psS64           exp_id,
    26232632    const char      *state,
    26242633    const char      *workdir,
     
    27752784    FILE            *stream,            ///< a stream
    27762785    chipRunRow *object,    ///< an chipRunRow object
    2777     bool            mdcf                ///< format as mdconfig or simple
    2778 );
    2779 /** chipInputImfileRow data structure
    2780  *
    2781  * Structure for representing a single row of chipInputImfile table data.
    2782  */
    2783 
    2784 typedef struct {
    2785     psS64           chip_id;
    2786     psS64           exp_id;
    2787     char            *class_id;
    2788 } chipInputImfileRow;
    2789 
    2790 /** Creates a new chipInputImfileRow object
    2791  *
    2792  *  @return A new chipInputImfileRow object or NULL on failure.
    2793  */
    2794 
    2795 chipInputImfileRow *chipInputImfileRowAlloc(
    2796     psS64           chip_id,
    2797     psS64           exp_id,
    2798     const char      *class_id
    2799 );
    2800 
    2801 /** Creates a new chipInputImfile table
    2802  *
    2803  * @return true on success
    2804  */
    2805 
    2806 bool chipInputImfileCreateTable(
    2807     psDB            *dbh                ///< Database handle
    2808 );
    2809 
    2810 /** Deletes a chipInputImfile table
    2811  *
    2812  * @return true on success
    2813  */
    2814 
    2815 bool chipInputImfileDropTable(
    2816     psDB            *dbh                ///< Database handle
    2817 );
    2818 
    2819 /** Insert a single row into a table
    2820  *
    2821  * This function constructs and inserts a single row based on it's parameters.
    2822  *
    2823  * @return true on success
    2824  */
    2825 
    2826 bool chipInputImfileInsert(
    2827     psDB            *dbh,               ///< Database handle
    2828     psS64           chip_id,
    2829     psS64           exp_id,
    2830     const char      *class_id
    2831 );
    2832 
    2833 /** Deletes up to limit rows from the database and returns the number of rows actually deleted.
    2834  *
    2835  * @return A The number of rows removed or a negative value on error
    2836  */
    2837 
    2838 long long chipInputImfileDelete(
    2839     psDB            *dbh,               ///< Database handle
    2840     const psMetadata *where,            ///< Row match criteria
    2841     unsigned long long limit            ///< Maximum number of elements to delete
    2842 );
    2843 
    2844 /** Insert a single chipInputImfileRow object into a table
    2845  *
    2846  * This function constructs and inserts a single row based on it's parameters.
    2847  *
    2848  * @return true on success
    2849  */
    2850 
    2851 bool chipInputImfileInsertObject(
    2852     psDB            *dbh,               ///< Database handle
    2853     chipInputImfileRow *object             ///< chipInputImfileRow object
    2854 );
    2855 
    2856 /** Insert an array of chipInputImfileRow object into a table
    2857  *
    2858  * This function constructs and inserts multiple rows based on it's parameters.
    2859  *
    2860  * @return true on success
    2861  */
    2862 
    2863 bool chipInputImfileInsertObjects(
    2864     psDB            *dbh,               ///< Database handle
    2865     psArray         *objects            ///< array of chipInputImfileRow objects
    2866 );
    2867 
    2868 /** Insert data from a binary FITS table chipInputImfileRow into the database
    2869  *
    2870  * This function expects a psFits object with a FITS table as the first
    2871  * extension.  The table must have at least one row of data in it, that is of
    2872  * the appropriate format (number of columns and their type).  All other
    2873  * extensions are ignored.
    2874  *
    2875  * @return true on success
    2876  */
    2877 
    2878 bool chipInputImfileInsertFits(
    2879     psDB            *dbh,               ///< Database handle
    2880     const psFits    *fits               ///< psFits object
    2881 );
    2882 
    2883 /** Selects up to limit from the database and returns them in a binary FITS table
    2884  *
    2885  * This function assumes an empty psFits object and will create a FITS table
    2886  * as the first extension.
    2887  *
    2888  *  See psDBSelectRows() for documentation on the format of where.
    2889  *
    2890  * @return true on success
    2891  */
    2892 
    2893 bool chipInputImfileSelectRowsFits(
    2894     psDB            *dbh,               ///< Database handle
    2895     psFits          *fits,              ///< psFits object
    2896     const psMetadata *where,            ///< Row match criteria
    2897     unsigned long long limit            ///< Maximum number of elements to return
    2898 );
    2899 
    2900 /** Convert a chipInputImfileRow into an equivalent psMetadata
    2901  *
    2902  * @return A psMetadata pointer or NULL on error
    2903  */
    2904 
    2905 psMetadata *chipInputImfileMetadataFromObject(
    2906     const chipInputImfileRow *object             ///< fooRow to convert into a psMetadata
    2907 );
    2908 
    2909 /** Convert a psMetadata into an equivalent fooRow
    2910  *
    2911  * @return A chipInputImfileRow pointer or NULL on error
    2912  */
    2913 
    2914 chipInputImfileRow *chipInputImfileObjectFromMetadata(
    2915     psMetadata      *md                 ///< psMetadata to convert into a fooRow
    2916 );
    2917 /** Selects up to limit rows from the database and returns as chipInputImfileRow objects in a psArray
    2918  *
    2919  *  See psDBSelectRows() for documentation on the format of where.
    2920  *
    2921  * @return A psArray pointer or NULL on error
    2922  */
    2923 
    2924 psArray *chipInputImfileSelectRowObjects(
    2925     psDB            *dbh,               ///< Database handle
    2926     const psMetadata *where,            ///< Row match criteria
    2927     unsigned long long limit            ///< Maximum number of elements to return
    2928 );
    2929 /** Deletes a row from the database coresponding to an chipInputImfile
    2930  *
    2931  *  Note that a 'where' search psMetadata is constructed from each object and
    2932  *  used to find rows to delete.
    2933  *
    2934  * @return A The number of rows removed or a negative value on error
    2935  */
    2936 
    2937 bool chipInputImfileDeleteObject(
    2938     psDB            *dbh,               ///< Database handle
    2939     const chipInputImfileRow *object    ///< Object to delete
    2940 );
    2941 /** Deletes up to limit rows from the database and returns the number of rows actually deleted.
    2942  *
    2943  *  Note that a 'where' search psMetadata is constructed from each object and
    2944  *  used to find rows to delete.
    2945  *
    2946  * @return A The number of rows removed or a negative value on error
    2947  */
    2948 
    2949 long long chipInputImfileDeleteRowObjects(
    2950     psDB            *dbh,               ///< Database handle
    2951     const psArray   *objects,           ///< Array of objects to delete
    2952     unsigned long long limit            ///< Maximum number of elements to delete
    2953 );
    2954 /** Formats and prints an array of chipInputImfileRow objects
    2955  *
    2956  * When mdcf is set the formated output is in psMetadataConfig
    2957  * format, otherwise it is in a simple tabular format.
    2958  *
    2959  * @return true on success
    2960  */
    2961 
    2962 bool chipInputImfilePrintObjects(
    2963     FILE            *stream,            ///< a stream
    2964     psArray         *objects,           ///< An array of chipInputImfileRow objects
    2965     bool            mdcf                ///< format as mdconfig or simple
    2966 );
    2967 /** Formats and prints an chipInputImfileRow object
    2968  *
    2969  * When mdcf is set the formated output is in psMetadataConfig
    2970  * format, otherwise it is in a simple tabular format.
    2971  *
    2972  * @return true on success
    2973  */
    2974 
    2975 bool chipInputImfilePrintObject(
    2976     FILE            *stream,            ///< a stream
    2977     chipInputImfileRow *object,    ///< an chipInputImfileRow object
    29782786    bool            mdcf                ///< format as mdconfig or simple
    29792787);
     
    47314539    psF64           bg;
    47324540    psF64           bg_stdev;
     4541    psS16           fault;
    47334542} warpSkyfileRow;
    47344543
     
    47454554    const char      *path_base,
    47464555    psF64           bg,
    4747     psF64           bg_stdev
     4556    psF64           bg_stdev,
     4557    psS16           fault
    47484558);
    47494559
     
    47814591    const char      *path_base,
    47824592    psF64           bg,
    4783     psF64           bg_stdev
     4593    psF64           bg_stdev,
     4594    psS16           fault
    47844595);
    47854596
     
    53655176    psF64           bg;
    53665177    psF64           bg_stdev;
     5178    psS16           fault;
    53675179} diffSkyfileRow;
    53685180
     
    53775189    const char      *path_base,
    53785190    psF64           bg,
    5379     psF64           bg_stdev
     5191    psF64           bg_stdev,
     5192    psS16           fault
    53805193);
    53815194
     
    54115224    const char      *path_base,
    54125225    psF64           bg,
    5413     psF64           bg_stdev
     5226    psF64           bg_stdev,
     5227    psS16           fault
    54145228);
    54155229
     
    59835797    psF64           bg;
    59845798    psF64           bg_stdev;
     5799    psS16           fault;
    59855800} stackSumSkyfileRow;
    59865801
     
    59955810    const char      *path_base,
    59965811    psF64           bg,
    5997     psF64           bg_stdev
     5812    psF64           bg_stdev,
     5813    psS16           fault
    59985814);
    59995815
     
    60295845    const char      *path_base,
    60305846    psF64           bg,
    6031     psF64           bg_stdev
     5847    psF64           bg_stdev,
     5848    psS16           fault
    60325849);
    60335850
  • trunk/ippdb/tests/alloc.c

    r14061 r14169  
    228228        newExpRow       *object;
    229229
    230         object = newExpRowAlloc(-64, "a string", "a string", "a string", "a string", "a string", "a string"    );
     230        object = newExpRowAlloc(-64, "a string", "a string", "a string", "a string", "a string", "a string", "a string"    );
    231231
    232232        if (!object) {
     
    262262            exit(EXIT_FAILURE);
    263263        }
     264        if (strncmp(object->reduction, "a string", MAX_STRING_LENGTH)) {
     265            psFree(object);
     266            exit(EXIT_FAILURE);
     267        }
    264268
    265269        psFree(object);
     
    294298        rawExpRow       *object;
    295299
    296         object = rawExpRowAlloc(-64, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", "a string", "a string", "a string", "a string", 32.32, 64.64, 64.64, 32.32, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", 32.32, -16    );
     300        object = rawExpRowAlloc(-64, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", "a string", "a string", "a string", "a string", "a string", 32.32, 64.64, 64.64, 32.32, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", 32.32, -16    );
    297301
    298302        if (!object) {
     
    335339            exit(EXIT_FAILURE);
    336340        }
     341        if (strncmp(object->reduction, "a string", MAX_STRING_LENGTH)) {
     342            psFree(object);
     343            exit(EXIT_FAILURE);
     344        }
    337345        if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) {
    338346            psFree(object);
     
    583591        chipRunRow      *object;
    584592
    585         object = chipRunRowAlloc(-64, "a string", "a string", "a string", "a string", "a string", "a string", "a string"    );
     593        object = chipRunRowAlloc(-64, -64, "a string", "a string", "a string", "a string", "a string", "a string", "a string"    );
    586594
    587595        if (!object) {
     
    593601            exit(EXIT_FAILURE);
    594602        }
     603        if (!object->exp_id == -64) {
     604            psFree(object);
     605            exit(EXIT_FAILURE);
     606        }
    595607        if (strncmp(object->state, "a string", MAX_STRING_LENGTH)) {
    596608            psFree(object);
     
    626638
    627639    {
    628         chipInputImfileRow *object;
    629 
    630         object = chipInputImfileRowAlloc(-64, -64, "a string"    );
     640        chipProcessedImfileRow *object;
     641
     642        object = chipProcessedImfileRowAlloc(-64, -64, "a string", "a string", 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, -32, -32, -32, -32, "a string", -16    );
    631643
    632644        if (!object) {
     
    646658            exit(EXIT_FAILURE);
    647659        }
    648 
    649         psFree(object);
    650     }
    651 
    652     {
    653         chipProcessedImfileRow *object;
    654 
    655         object = chipProcessedImfileRowAlloc(-64, -64, "a string", "a string", 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, -32, -32, -32, -32, "a string", -16    );
    656 
    657         if (!object) {
    658             exit(EXIT_FAILURE);
    659         }
    660 
     660        if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) {
     661            psFree(object);
     662            exit(EXIT_FAILURE);
     663        }
     664        if (!object->bg == 32.32) {
     665            psFree(object);
     666            exit(EXIT_FAILURE);
     667        }
     668        if (!object->bg_stdev == 32.32) {
     669            psFree(object);
     670            exit(EXIT_FAILURE);
     671        }
     672        if (!object->bg_mean_stdev == 32.32) {
     673            psFree(object);
     674            exit(EXIT_FAILURE);
     675        }
     676        if (!object->bias == 32.32) {
     677            psFree(object);
     678            exit(EXIT_FAILURE);
     679        }
     680        if (!object->bias_stdev == 32.32) {
     681            psFree(object);
     682            exit(EXIT_FAILURE);
     683        }
     684        if (!object->fringe_0 == 32.32) {
     685            psFree(object);
     686            exit(EXIT_FAILURE);
     687        }
     688        if (!object->fringe_1 == 32.32) {
     689            psFree(object);
     690            exit(EXIT_FAILURE);
     691        }
     692        if (!object->fringe_2 == 32.32) {
     693            psFree(object);
     694            exit(EXIT_FAILURE);
     695        }
     696        if (!object->sigma_ra == 32.32) {
     697            psFree(object);
     698            exit(EXIT_FAILURE);
     699        }
     700        if (!object->sigma_dec == 32.32) {
     701            psFree(object);
     702            exit(EXIT_FAILURE);
     703        }
     704        if (!object->ap_resid == 32.32) {
     705            psFree(object);
     706            exit(EXIT_FAILURE);
     707        }
     708        if (!object->ap_resid_stdev == 32.32) {
     709            psFree(object);
     710            exit(EXIT_FAILURE);
     711        }
     712        if (!object->fwhm == 32.32) {
     713            psFree(object);
     714            exit(EXIT_FAILURE);
     715        }
     716        if (!object->fwhm_range == 32.32) {
     717            psFree(object);
     718            exit(EXIT_FAILURE);
     719        }
     720        if (!object->n_stars == -32) {
     721            psFree(object);
     722            exit(EXIT_FAILURE);
     723        }
     724        if (!object->n_extended == -32) {
     725            psFree(object);
     726            exit(EXIT_FAILURE);
     727        }
     728        if (!object->n_cr == -32) {
     729            psFree(object);
     730            exit(EXIT_FAILURE);
     731        }
     732        if (!object->n_astrom == -32) {
     733            psFree(object);
     734            exit(EXIT_FAILURE);
     735        }
     736        if (strncmp(object->path_base, "a string", MAX_STRING_LENGTH)) {
     737            psFree(object);
     738            exit(EXIT_FAILURE);
     739        }
     740        if (!object->fault == -16) {
     741            psFree(object);
     742            exit(EXIT_FAILURE);
     743        }
     744
     745        psFree(object);
     746    }
     747
     748    {
     749        chipMaskRow     *object;
     750
     751        object = chipMaskRowAlloc("a string"    );
     752
     753        if (!object) {
     754            exit(EXIT_FAILURE);
     755        }
     756
     757        if (strncmp(object->label, "a string", MAX_STRING_LENGTH)) {
     758            psFree(object);
     759            exit(EXIT_FAILURE);
     760        }
     761
     762        psFree(object);
     763    }
     764
     765    {
     766        camRunRow       *object;
     767
     768        object = camRunRowAlloc(-64, -64, "a string", "a string", "a string", "a string", "a string", "a string", "a string"    );
     769
     770        if (!object) {
     771            exit(EXIT_FAILURE);
     772        }
     773
     774        if (!object->cam_id == -64) {
     775            psFree(object);
     776            exit(EXIT_FAILURE);
     777        }
    661778        if (!object->chip_id == -64) {
    662779            psFree(object);
    663780            exit(EXIT_FAILURE);
    664781        }
    665         if (!object->exp_id == -64) {
     782        if (strncmp(object->state, "a string", MAX_STRING_LENGTH)) {
     783            psFree(object);
     784            exit(EXIT_FAILURE);
     785        }
     786        if (strncmp(object->workdir, "a string", MAX_STRING_LENGTH)) {
     787            psFree(object);
     788            exit(EXIT_FAILURE);
     789        }
     790        if (strncmp(object->workdir_state, "a string", MAX_STRING_LENGTH)) {
     791            psFree(object);
     792            exit(EXIT_FAILURE);
     793        }
     794        if (strncmp(object->label, "a string", MAX_STRING_LENGTH)) {
     795            psFree(object);
     796            exit(EXIT_FAILURE);
     797        }
     798        if (strncmp(object->reduction, "a string", MAX_STRING_LENGTH)) {
     799            psFree(object);
     800            exit(EXIT_FAILURE);
     801        }
     802        if (strncmp(object->expgroup, "a string", MAX_STRING_LENGTH)) {
     803            psFree(object);
     804            exit(EXIT_FAILURE);
     805        }
     806        if (strncmp(object->dvodb, "a string", MAX_STRING_LENGTH)) {
     807            psFree(object);
     808            exit(EXIT_FAILURE);
     809        }
     810
     811        psFree(object);
     812    }
     813
     814    {
     815        camProcessedExpRow *object;
     816
     817        object = camProcessedExpRowAlloc(-64, -64, "a string", 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, -32, -32, -32, -32, "a string", -16    );
     818
     819        if (!object) {
     820            exit(EXIT_FAILURE);
     821        }
     822
     823        if (!object->cam_id == -64) {
     824            psFree(object);
     825            exit(EXIT_FAILURE);
     826        }
     827        if (!object->chip_id == -64) {
     828            psFree(object);
     829            exit(EXIT_FAILURE);
     830        }
     831        if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) {
     832            psFree(object);
     833            exit(EXIT_FAILURE);
     834        }
     835        if (!object->bg == 32.32) {
     836            psFree(object);
     837            exit(EXIT_FAILURE);
     838        }
     839        if (!object->bg_stdev == 32.32) {
     840            psFree(object);
     841            exit(EXIT_FAILURE);
     842        }
     843        if (!object->bg_mean_stdev == 32.32) {
     844            psFree(object);
     845            exit(EXIT_FAILURE);
     846        }
     847        if (!object->sigma_ra == 32.32) {
     848            psFree(object);
     849            exit(EXIT_FAILURE);
     850        }
     851        if (!object->sigma_dec == 32.32) {
     852            psFree(object);
     853            exit(EXIT_FAILURE);
     854        }
     855        if (!object->zp_mean == 32.32) {
     856            psFree(object);
     857            exit(EXIT_FAILURE);
     858        }
     859        if (!object->zp_stdev == 32.32) {
     860            psFree(object);
     861            exit(EXIT_FAILURE);
     862        }
     863        if (!object->fwhm == 32.32) {
     864            psFree(object);
     865            exit(EXIT_FAILURE);
     866        }
     867        if (!object->fwhm_range == 32.32) {
     868            psFree(object);
     869            exit(EXIT_FAILURE);
     870        }
     871        if (!object->n_stars == -32) {
     872            psFree(object);
     873            exit(EXIT_FAILURE);
     874        }
     875        if (!object->n_extended == -32) {
     876            psFree(object);
     877            exit(EXIT_FAILURE);
     878        }
     879        if (!object->n_cr == -32) {
     880            psFree(object);
     881            exit(EXIT_FAILURE);
     882        }
     883        if (!object->n_astrom == -32) {
     884            psFree(object);
     885            exit(EXIT_FAILURE);
     886        }
     887        if (strncmp(object->path_base, "a string", MAX_STRING_LENGTH)) {
     888            psFree(object);
     889            exit(EXIT_FAILURE);
     890        }
     891        if (!object->fault == -16) {
     892            psFree(object);
     893            exit(EXIT_FAILURE);
     894        }
     895
     896        psFree(object);
     897    }
     898
     899    {
     900        camMaskRow      *object;
     901
     902        object = camMaskRowAlloc("a string"    );
     903
     904        if (!object) {
     905            exit(EXIT_FAILURE);
     906        }
     907
     908        if (strncmp(object->label, "a string", MAX_STRING_LENGTH)) {
     909            psFree(object);
     910            exit(EXIT_FAILURE);
     911        }
     912
     913        psFree(object);
     914    }
     915
     916    {
     917        warpRunRow      *object;
     918
     919        object = warpRunRowAlloc(-64, "a string", "a string", "a string", "a string", "0001-01-01T00:00:00Z"    );
     920
     921        if (!object) {
     922            exit(EXIT_FAILURE);
     923        }
     924
     925        if (!object->warp_id == -64) {
     926            psFree(object);
     927            exit(EXIT_FAILURE);
     928        }
     929        if (strncmp(object->mode, "a string", MAX_STRING_LENGTH)) {
     930            psFree(object);
     931            exit(EXIT_FAILURE);
     932        }
     933        if (strncmp(object->state, "a string", MAX_STRING_LENGTH)) {
     934            psFree(object);
     935            exit(EXIT_FAILURE);
     936        }
     937        if (strncmp(object->workdir, "a string", MAX_STRING_LENGTH)) {
     938            psFree(object);
     939            exit(EXIT_FAILURE);
     940        }
     941        if (strncmp(object->dvodb, "a string", MAX_STRING_LENGTH)) {
     942            psFree(object);
     943            exit(EXIT_FAILURE);
     944        }
     945            psFree(object);
     946            exit(EXIT_FAILURE);
     947        }
     948
     949        psFree(object);
     950    }
     951
     952    {
     953        warpInputExpRow *object;
     954
     955        object = warpInputExpRowAlloc(-64, -64, true    );
     956
     957        if (!object) {
     958            exit(EXIT_FAILURE);
     959        }
     960
     961        if (!object->warp_id == -64) {
     962            psFree(object);
     963            exit(EXIT_FAILURE);
     964        }
     965        if (!object->cam_id == -64) {
     966            psFree(object);
     967            exit(EXIT_FAILURE);
     968        }
     969        if (!object->magiced == true) {
     970            psFree(object);
     971            exit(EXIT_FAILURE);
     972        }
     973
     974        psFree(object);
     975    }
     976
     977    {
     978        warpSkyCellMapRow *object;
     979
     980        object = warpSkyCellMapRowAlloc(-64, "a string", "a string", -64, "a string", -16    );
     981
     982        if (!object) {
     983            exit(EXIT_FAILURE);
     984        }
     985
     986        if (!object->warp_id == -64) {
     987            psFree(object);
     988            exit(EXIT_FAILURE);
     989        }
     990        if (strncmp(object->skycell_id, "a string", MAX_STRING_LENGTH)) {
     991            psFree(object);
     992            exit(EXIT_FAILURE);
     993        }
     994        if (strncmp(object->tess_id, "a string", MAX_STRING_LENGTH)) {
     995            psFree(object);
     996            exit(EXIT_FAILURE);
     997        }
     998        if (!object->cam_id == -64) {
    666999            psFree(object);
    6671000            exit(EXIT_FAILURE);
     
    6711004            exit(EXIT_FAILURE);
    6721005        }
     1006        if (!object->fault == -16) {
     1007            psFree(object);
     1008            exit(EXIT_FAILURE);
     1009        }
     1010
     1011        psFree(object);
     1012    }
     1013
     1014    {
     1015        warpSkyfileRow  *object;
     1016
     1017        object = warpSkyfileRowAlloc(-64, "a string", "a string", "a string", "a string", 64.64, 64.64, -16    );
     1018
     1019        if (!object) {
     1020            exit(EXIT_FAILURE);
     1021        }
     1022
     1023        if (!object->warp_id == -64) {
     1024            psFree(object);
     1025            exit(EXIT_FAILURE);
     1026        }
     1027        if (strncmp(object->skycell_id, "a string", MAX_STRING_LENGTH)) {
     1028            psFree(object);
     1029            exit(EXIT_FAILURE);
     1030        }
     1031        if (strncmp(object->tess_id, "a string", MAX_STRING_LENGTH)) {
     1032            psFree(object);
     1033            exit(EXIT_FAILURE);
     1034        }
    6731035        if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) {
    6741036            psFree(object);
    6751037            exit(EXIT_FAILURE);
    6761038        }
    677         if (!object->bg == 32.32) {
    678             psFree(object);
    679             exit(EXIT_FAILURE);
    680         }
    681         if (!object->bg_stdev == 32.32) {
    682             psFree(object);
    683             exit(EXIT_FAILURE);
    684         }
    685         if (!object->bg_mean_stdev == 32.32) {
    686             psFree(object);
    687             exit(EXIT_FAILURE);
    688         }
    689         if (!object->bias == 32.32) {
    690             psFree(object);
    691             exit(EXIT_FAILURE);
    692         }
    693         if (!object->bias_stdev == 32.32) {
    694             psFree(object);
    695             exit(EXIT_FAILURE);
    696         }
    697         if (!object->fringe_0 == 32.32) {
    698             psFree(object);
    699             exit(EXIT_FAILURE);
    700         }
    701         if (!object->fringe_1 == 32.32) {
    702             psFree(object);
    703             exit(EXIT_FAILURE);
    704         }
    705         if (!object->fringe_2 == 32.32) {
    706             psFree(object);
    707             exit(EXIT_FAILURE);
    708         }
    709         if (!object->sigma_ra == 32.32) {
    710             psFree(object);
    711             exit(EXIT_FAILURE);
    712         }
    713         if (!object->sigma_dec == 32.32) {
    714             psFree(object);
    715             exit(EXIT_FAILURE);
    716         }
    717         if (!object->ap_resid == 32.32) {
    718             psFree(object);
    719             exit(EXIT_FAILURE);
    720         }
    721         if (!object->ap_resid_stdev == 32.32) {
    722             psFree(object);
    723             exit(EXIT_FAILURE);
    724         }
    725         if (!object->fwhm == 32.32) {
    726             psFree(object);
    727             exit(EXIT_FAILURE);
    728         }
    729         if (!object->fwhm_range == 32.32) {
    730             psFree(object);
    731             exit(EXIT_FAILURE);
    732         }
    733         if (!object->n_stars == -32) {
    734             psFree(object);
    735             exit(EXIT_FAILURE);
    736         }
    737         if (!object->n_extended == -32) {
    738             psFree(object);
    739             exit(EXIT_FAILURE);
    740         }
    741         if (!object->n_cr == -32) {
    742             psFree(object);
    743             exit(EXIT_FAILURE);
    744         }
    745         if (!object->n_astrom == -32) {
    746             psFree(object);
    747             exit(EXIT_FAILURE);
    748         }
    7491039        if (strncmp(object->path_base, "a string", MAX_STRING_LENGTH)) {
    7501040            psFree(object);
    7511041            exit(EXIT_FAILURE);
    7521042        }
     1043        if (!object->bg == 64.64) {
     1044            psFree(object);
     1045            exit(EXIT_FAILURE);
     1046        }
     1047        if (!object->bg_stdev == 64.64) {
     1048            psFree(object);
     1049            exit(EXIT_FAILURE);
     1050        }
    7531051        if (!object->fault == -16) {
    7541052            psFree(object);
     
    7601058
    7611059    {
    762         chipMaskRow     *object;
    763 
    764         object = chipMaskRowAlloc("a string"    );
    765 
    766         if (!object) {
    767             exit(EXIT_FAILURE);
    768         }
    769 
    770         if (strncmp(object->label, "a string", MAX_STRING_LENGTH)) {
    771             psFree(object);
    772             exit(EXIT_FAILURE);
    773         }
    774 
    775         psFree(object);
    776     }
    777 
    778     {
    779         camRunRow       *object;
    780 
    781         object = camRunRowAlloc(-64, -64, "a string", "a string", "a string", "a string", "a string", "a string", "a string"    );
    782 
    783         if (!object) {
    784             exit(EXIT_FAILURE);
    785         }
    786 
    787         if (!object->cam_id == -64) {
    788             psFree(object);
    789             exit(EXIT_FAILURE);
    790         }
    791         if (!object->chip_id == -64) {
     1060        diffRunRow      *object;
     1061
     1062        object = diffRunRowAlloc(-64, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", "a string"    );
     1063
     1064        if (!object) {
     1065            exit(EXIT_FAILURE);
     1066        }
     1067
     1068        if (!object->diff_id == -64) {
    7921069            psFree(object);
    7931070            exit(EXIT_FAILURE);
     
    8011078            exit(EXIT_FAILURE);
    8021079        }
    803         if (strncmp(object->workdir_state, "a string", MAX_STRING_LENGTH)) {
    804             psFree(object);
    805             exit(EXIT_FAILURE);
    806         }
    807         if (strncmp(object->label, "a string", MAX_STRING_LENGTH)) {
    808             psFree(object);
    809             exit(EXIT_FAILURE);
    810         }
    811         if (strncmp(object->reduction, "a string", MAX_STRING_LENGTH)) {
    812             psFree(object);
    813             exit(EXIT_FAILURE);
    814         }
    815         if (strncmp(object->expgroup, "a string", MAX_STRING_LENGTH)) {
    816             psFree(object);
    817             exit(EXIT_FAILURE);
    818         }
    8191080        if (strncmp(object->dvodb, "a string", MAX_STRING_LENGTH)) {
    8201081            psFree(object);
    8211082            exit(EXIT_FAILURE);
    8221083        }
    823 
    824         psFree(object);
    825     }
    826 
    827     {
    828         camProcessedExpRow *object;
    829 
    830         object = camProcessedExpRowAlloc(-64, -64, "a string", 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, -32, -32, -32, -32, "a string", -16    );
    831 
    832         if (!object) {
    833             exit(EXIT_FAILURE);
    834         }
    835 
    836         if (!object->cam_id == -64) {
    837             psFree(object);
    838             exit(EXIT_FAILURE);
    839         }
    840         if (!object->chip_id == -64) {
     1084            psFree(object);
     1085            exit(EXIT_FAILURE);
     1086        }
     1087        if (strncmp(object->skycell_id, "a string", MAX_STRING_LENGTH)) {
     1088            psFree(object);
     1089            exit(EXIT_FAILURE);
     1090        }
     1091        if (strncmp(object->tess_id, "a string", MAX_STRING_LENGTH)) {
     1092            psFree(object);
     1093            exit(EXIT_FAILURE);
     1094        }
     1095
     1096        psFree(object);
     1097    }
     1098
     1099    {
     1100        diffInputSkyfileRow *object;
     1101
     1102        object = diffInputSkyfileRowAlloc(-64, -64, "a string", "a string", "a string", true    );
     1103
     1104        if (!object) {
     1105            exit(EXIT_FAILURE);
     1106        }
     1107
     1108        if (!object->diff_id == -64) {
     1109            psFree(object);
     1110            exit(EXIT_FAILURE);
     1111        }
     1112        if (!object->warp_id == -64) {
     1113            psFree(object);
     1114            exit(EXIT_FAILURE);
     1115        }
     1116        if (strncmp(object->skycell_id, "a string", MAX_STRING_LENGTH)) {
     1117            psFree(object);
     1118            exit(EXIT_FAILURE);
     1119        }
     1120        if (strncmp(object->tess_id, "a string", MAX_STRING_LENGTH)) {
     1121            psFree(object);
     1122            exit(EXIT_FAILURE);
     1123        }
     1124        if (strncmp(object->kind, "a string", MAX_STRING_LENGTH)) {
     1125            psFree(object);
     1126            exit(EXIT_FAILURE);
     1127        }
     1128        if (!object->template == true) {
     1129            psFree(object);
     1130            exit(EXIT_FAILURE);
     1131        }
     1132
     1133        psFree(object);
     1134    }
     1135
     1136    {
     1137        diffSkyfileRow  *object;
     1138
     1139        object = diffSkyfileRowAlloc(-64, "a string", "a string", 64.64, 64.64, -16    );
     1140
     1141        if (!object) {
     1142            exit(EXIT_FAILURE);
     1143        }
     1144
     1145        if (!object->diff_id == -64) {
    8411146            psFree(object);
    8421147            exit(EXIT_FAILURE);
     
    8461151            exit(EXIT_FAILURE);
    8471152        }
    848         if (!object->bg == 32.32) {
    849             psFree(object);
    850             exit(EXIT_FAILURE);
    851         }
    852         if (!object->bg_stdev == 32.32) {
    853             psFree(object);
    854             exit(EXIT_FAILURE);
    855         }
    856         if (!object->bg_mean_stdev == 32.32) {
    857             psFree(object);
    858             exit(EXIT_FAILURE);
    859         }
    860         if (!object->sigma_ra == 32.32) {
    861             psFree(object);
    862             exit(EXIT_FAILURE);
    863         }
    864         if (!object->sigma_dec == 32.32) {
    865             psFree(object);
    866             exit(EXIT_FAILURE);
    867         }
    868         if (!object->zp_mean == 32.32) {
    869             psFree(object);
    870             exit(EXIT_FAILURE);
    871         }
    872         if (!object->zp_stdev == 32.32) {
    873             psFree(object);
    874             exit(EXIT_FAILURE);
    875         }
    876         if (!object->fwhm == 32.32) {
    877             psFree(object);
    878             exit(EXIT_FAILURE);
    879         }
    880         if (!object->fwhm_range == 32.32) {
    881             psFree(object);
    882             exit(EXIT_FAILURE);
    883         }
    884         if (!object->n_stars == -32) {
    885             psFree(object);
    886             exit(EXIT_FAILURE);
    887         }
    888         if (!object->n_extended == -32) {
    889             psFree(object);
    890             exit(EXIT_FAILURE);
    891         }
    892         if (!object->n_cr == -32) {
    893             psFree(object);
    894             exit(EXIT_FAILURE);
    895         }
    896         if (!object->n_astrom == -32) {
    897             psFree(object);
    898             exit(EXIT_FAILURE);
    899         }
    9001153        if (strncmp(object->path_base, "a string", MAX_STRING_LENGTH)) {
    9011154            psFree(object);
    9021155            exit(EXIT_FAILURE);
    9031156        }
     1157        if (!object->bg == 64.64) {
     1158            psFree(object);
     1159            exit(EXIT_FAILURE);
     1160        }
     1161        if (!object->bg_stdev == 64.64) {
     1162            psFree(object);
     1163            exit(EXIT_FAILURE);
     1164        }
    9041165        if (!object->fault == -16) {
    9051166            psFree(object);
     
    9111172
    9121173    {
    913         camMaskRow      *object;
    914 
    915         object = camMaskRowAlloc("a string"    );
    916 
    917         if (!object) {
    918             exit(EXIT_FAILURE);
    919         }
    920 
    921         if (strncmp(object->label, "a string", MAX_STRING_LENGTH)) {
    922             psFree(object);
    923             exit(EXIT_FAILURE);
    924         }
    925 
    926         psFree(object);
    927     }
    928 
    929     {
    930         warpRunRow      *object;
    931 
    932         object = warpRunRowAlloc(-64, "a string", "a string", "a string", "a string", "0001-01-01T00:00:00Z"    );
    933 
    934         if (!object) {
    935             exit(EXIT_FAILURE);
    936         }
    937 
     1174        stackRunRow     *object;
     1175
     1176        object = stackRunRowAlloc(-64, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", "a string"    );
     1177
     1178        if (!object) {
     1179            exit(EXIT_FAILURE);
     1180        }
     1181
     1182        if (!object->stack_id == -64) {
     1183            psFree(object);
     1184            exit(EXIT_FAILURE);
     1185        }
     1186        if (strncmp(object->state, "a string", MAX_STRING_LENGTH)) {
     1187            psFree(object);
     1188            exit(EXIT_FAILURE);
     1189        }
     1190        if (strncmp(object->workdir, "a string", MAX_STRING_LENGTH)) {
     1191            psFree(object);
     1192            exit(EXIT_FAILURE);
     1193        }
     1194        if (strncmp(object->dvodb, "a string", MAX_STRING_LENGTH)) {
     1195            psFree(object);
     1196            exit(EXIT_FAILURE);
     1197        }
     1198            psFree(object);
     1199            exit(EXIT_FAILURE);
     1200        }
     1201        if (strncmp(object->skycell_id, "a string", MAX_STRING_LENGTH)) {
     1202            psFree(object);
     1203            exit(EXIT_FAILURE);
     1204        }
     1205        if (strncmp(object->tess_id, "a string", MAX_STRING_LENGTH)) {
     1206            psFree(object);
     1207            exit(EXIT_FAILURE);
     1208        }
     1209
     1210        psFree(object);
     1211    }
     1212
     1213    {
     1214        stackInputSkyfileRow *object;
     1215
     1216        object = stackInputSkyfileRowAlloc(-64, -64    );
     1217
     1218        if (!object) {
     1219            exit(EXIT_FAILURE);
     1220        }
     1221
     1222        if (!object->stack_id == -64) {
     1223            psFree(object);
     1224            exit(EXIT_FAILURE);
     1225        }
    9381226        if (!object->warp_id == -64) {
    9391227            psFree(object);
    9401228            exit(EXIT_FAILURE);
    9411229        }
    942         if (strncmp(object->mode, "a string", MAX_STRING_LENGTH)) {
    943             psFree(object);
    944             exit(EXIT_FAILURE);
    945         }
    946         if (strncmp(object->state, "a string", MAX_STRING_LENGTH)) {
    947             psFree(object);
    948             exit(EXIT_FAILURE);
    949         }
    950         if (strncmp(object->workdir, "a string", MAX_STRING_LENGTH)) {
    951             psFree(object);
    952             exit(EXIT_FAILURE);
    953         }
    954         if (strncmp(object->dvodb, "a string", MAX_STRING_LENGTH)) {
    955             psFree(object);
    956             exit(EXIT_FAILURE);
    957         }
    958             psFree(object);
    959             exit(EXIT_FAILURE);
    960         }
    961 
    962         psFree(object);
    963     }
    964 
    965     {
    966         warpInputExpRow *object;
    967 
    968         object = warpInputExpRowAlloc(-64, -64, true    );
    969 
    970         if (!object) {
    971             exit(EXIT_FAILURE);
    972         }
    973 
    974         if (!object->warp_id == -64) {
    975             psFree(object);
    976             exit(EXIT_FAILURE);
    977         }
    978         if (!object->cam_id == -64) {
    979             psFree(object);
    980             exit(EXIT_FAILURE);
    981         }
    982         if (!object->magiced == true) {
    983             psFree(object);
    984             exit(EXIT_FAILURE);
    985         }
    986 
    987         psFree(object);
    988     }
    989 
    990     {
    991         warpSkyCellMapRow *object;
    992 
    993         object = warpSkyCellMapRowAlloc(-64, "a string", "a string", -64, "a string", -16    );
    994 
    995         if (!object) {
    996             exit(EXIT_FAILURE);
    997         }
    998 
    999         if (!object->warp_id == -64) {
    1000             psFree(object);
    1001             exit(EXIT_FAILURE);
    1002         }
    1003         if (strncmp(object->skycell_id, "a string", MAX_STRING_LENGTH)) {
    1004             psFree(object);
    1005             exit(EXIT_FAILURE);
    1006         }
    1007         if (strncmp(object->tess_id, "a string", MAX_STRING_LENGTH)) {
    1008             psFree(object);
    1009             exit(EXIT_FAILURE);
    1010         }
    1011         if (!object->cam_id == -64) {
    1012             psFree(object);
    1013             exit(EXIT_FAILURE);
    1014         }
    1015         if (strncmp(object->class_id, "a string", MAX_STRING_LENGTH)) {
     1230
     1231        psFree(object);
     1232    }
     1233
     1234    {
     1235        stackSumSkyfileRow *object;
     1236
     1237        object = stackSumSkyfileRowAlloc(-64, "a string", "a string", 64.64, 64.64, -16    );
     1238
     1239        if (!object) {
     1240            exit(EXIT_FAILURE);
     1241        }
     1242
     1243        if (!object->stack_id == -64) {
     1244            psFree(object);
     1245            exit(EXIT_FAILURE);
     1246        }
     1247        if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) {
     1248            psFree(object);
     1249            exit(EXIT_FAILURE);
     1250        }
     1251        if (strncmp(object->path_base, "a string", MAX_STRING_LENGTH)) {
     1252            psFree(object);
     1253            exit(EXIT_FAILURE);
     1254        }
     1255        if (!object->bg == 64.64) {
     1256            psFree(object);
     1257            exit(EXIT_FAILURE);
     1258        }
     1259        if (!object->bg_stdev == 64.64) {
    10161260            psFree(object);
    10171261            exit(EXIT_FAILURE);
    10181262        }
    10191263        if (!object->fault == -16) {
    1020             psFree(object);
    1021             exit(EXIT_FAILURE);
    1022         }
    1023 
    1024         psFree(object);
    1025     }
    1026 
    1027     {
    1028         warpSkyfileRow  *object;
    1029 
    1030         object = warpSkyfileRowAlloc(-64, "a string", "a string", "a string", "a string", 64.64, 64.64    );
    1031 
    1032         if (!object) {
    1033             exit(EXIT_FAILURE);
    1034         }
    1035 
    1036         if (!object->warp_id == -64) {
    1037             psFree(object);
    1038             exit(EXIT_FAILURE);
    1039         }
    1040         if (strncmp(object->skycell_id, "a string", MAX_STRING_LENGTH)) {
    1041             psFree(object);
    1042             exit(EXIT_FAILURE);
    1043         }
    1044         if (strncmp(object->tess_id, "a string", MAX_STRING_LENGTH)) {
    1045             psFree(object);
    1046             exit(EXIT_FAILURE);
    1047         }
    1048         if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) {
    1049             psFree(object);
    1050             exit(EXIT_FAILURE);
    1051         }
    1052         if (strncmp(object->path_base, "a string", MAX_STRING_LENGTH)) {
    1053             psFree(object);
    1054             exit(EXIT_FAILURE);
    1055         }
    1056         if (!object->bg == 64.64) {
    1057             psFree(object);
    1058             exit(EXIT_FAILURE);
    1059         }
    1060         if (!object->bg_stdev == 64.64) {
    1061             psFree(object);
    1062             exit(EXIT_FAILURE);
    1063         }
    1064 
    1065         psFree(object);
    1066     }
    1067 
    1068     {
    1069         diffRunRow      *object;
    1070 
    1071         object = diffRunRowAlloc(-64, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", "a string"    );
    1072 
    1073         if (!object) {
    1074             exit(EXIT_FAILURE);
    1075         }
    1076 
    1077         if (!object->diff_id == -64) {
    1078             psFree(object);
    1079             exit(EXIT_FAILURE);
    1080         }
    1081         if (strncmp(object->state, "a string", MAX_STRING_LENGTH)) {
    1082             psFree(object);
    1083             exit(EXIT_FAILURE);
    1084         }
    1085         if (strncmp(object->workdir, "a string", MAX_STRING_LENGTH)) {
    1086             psFree(object);
    1087             exit(EXIT_FAILURE);
    1088         }
    1089         if (strncmp(object->dvodb, "a string", MAX_STRING_LENGTH)) {
    1090             psFree(object);
    1091             exit(EXIT_FAILURE);
    1092         }
    1093             psFree(object);
    1094             exit(EXIT_FAILURE);
    1095         }
    1096         if (strncmp(object->skycell_id, "a string", MAX_STRING_LENGTH)) {
    1097             psFree(object);
    1098             exit(EXIT_FAILURE);
    1099         }
    1100         if (strncmp(object->tess_id, "a string", MAX_STRING_LENGTH)) {
    1101             psFree(object);
    1102             exit(EXIT_FAILURE);
    1103         }
    1104 
    1105         psFree(object);
    1106     }
    1107 
    1108     {
    1109         diffInputSkyfileRow *object;
    1110 
    1111         object = diffInputSkyfileRowAlloc(-64, -64, "a string", "a string", "a string", true    );
    1112 
    1113         if (!object) {
    1114             exit(EXIT_FAILURE);
    1115         }
    1116 
    1117         if (!object->diff_id == -64) {
    1118             psFree(object);
    1119             exit(EXIT_FAILURE);
    1120         }
    1121         if (!object->warp_id == -64) {
    1122             psFree(object);
    1123             exit(EXIT_FAILURE);
    1124         }
    1125         if (strncmp(object->skycell_id, "a string", MAX_STRING_LENGTH)) {
    1126             psFree(object);
    1127             exit(EXIT_FAILURE);
    1128         }
    1129         if (strncmp(object->tess_id, "a string", MAX_STRING_LENGTH)) {
    1130             psFree(object);
    1131             exit(EXIT_FAILURE);
    1132         }
    1133         if (strncmp(object->kind, "a string", MAX_STRING_LENGTH)) {
    1134             psFree(object);
    1135             exit(EXIT_FAILURE);
    1136         }
    1137         if (!object->template == true) {
    1138             psFree(object);
    1139             exit(EXIT_FAILURE);
    1140         }
    1141 
    1142         psFree(object);
    1143     }
    1144 
    1145     {
    1146         diffSkyfileRow  *object;
    1147 
    1148         object = diffSkyfileRowAlloc(-64, "a string", "a string", 64.64, 64.64    );
    1149 
    1150         if (!object) {
    1151             exit(EXIT_FAILURE);
    1152         }
    1153 
    1154         if (!object->diff_id == -64) {
    1155             psFree(object);
    1156             exit(EXIT_FAILURE);
    1157         }
    1158         if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) {
    1159             psFree(object);
    1160             exit(EXIT_FAILURE);
    1161         }
    1162         if (strncmp(object->path_base, "a string", MAX_STRING_LENGTH)) {
    1163             psFree(object);
    1164             exit(EXIT_FAILURE);
    1165         }
    1166         if (!object->bg == 64.64) {
    1167             psFree(object);
    1168             exit(EXIT_FAILURE);
    1169         }
    1170         if (!object->bg_stdev == 64.64) {
    1171             psFree(object);
    1172             exit(EXIT_FAILURE);
    1173         }
    1174 
    1175         psFree(object);
    1176     }
    1177 
    1178     {
    1179         stackRunRow     *object;
    1180 
    1181         object = stackRunRowAlloc(-64, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", "a string"    );
    1182 
    1183         if (!object) {
    1184             exit(EXIT_FAILURE);
    1185         }
    1186 
    1187         if (!object->stack_id == -64) {
    1188             psFree(object);
    1189             exit(EXIT_FAILURE);
    1190         }
    1191         if (strncmp(object->state, "a string", MAX_STRING_LENGTH)) {
    1192             psFree(object);
    1193             exit(EXIT_FAILURE);
    1194         }
    1195         if (strncmp(object->workdir, "a string", MAX_STRING_LENGTH)) {
    1196             psFree(object);
    1197             exit(EXIT_FAILURE);
    1198         }
    1199         if (strncmp(object->dvodb, "a string", MAX_STRING_LENGTH)) {
    1200             psFree(object);
    1201             exit(EXIT_FAILURE);
    1202         }
    1203             psFree(object);
    1204             exit(EXIT_FAILURE);
    1205         }
    1206         if (strncmp(object->skycell_id, "a string", MAX_STRING_LENGTH)) {
    1207             psFree(object);
    1208             exit(EXIT_FAILURE);
    1209         }
    1210         if (strncmp(object->tess_id, "a string", MAX_STRING_LENGTH)) {
    1211             psFree(object);
    1212             exit(EXIT_FAILURE);
    1213         }
    1214 
    1215         psFree(object);
    1216     }
    1217 
    1218     {
    1219         stackInputSkyfileRow *object;
    1220 
    1221         object = stackInputSkyfileRowAlloc(-64, -64    );
    1222 
    1223         if (!object) {
    1224             exit(EXIT_FAILURE);
    1225         }
    1226 
    1227         if (!object->stack_id == -64) {
    1228             psFree(object);
    1229             exit(EXIT_FAILURE);
    1230         }
    1231         if (!object->warp_id == -64) {
    1232             psFree(object);
    1233             exit(EXIT_FAILURE);
    1234         }
    1235 
    1236         psFree(object);
    1237     }
    1238 
    1239     {
    1240         stackSumSkyfileRow *object;
    1241 
    1242         object = stackSumSkyfileRowAlloc(-64, "a string", "a string", 64.64, 64.64    );
    1243 
    1244         if (!object) {
    1245             exit(EXIT_FAILURE);
    1246         }
    1247 
    1248         if (!object->stack_id == -64) {
    1249             psFree(object);
    1250             exit(EXIT_FAILURE);
    1251         }
    1252         if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) {
    1253             psFree(object);
    1254             exit(EXIT_FAILURE);
    1255         }
    1256         if (strncmp(object->path_base, "a string", MAX_STRING_LENGTH)) {
    1257             psFree(object);
    1258             exit(EXIT_FAILURE);
    1259         }
    1260         if (!object->bg == 64.64) {
    1261             psFree(object);
    1262             exit(EXIT_FAILURE);
    1263         }
    1264         if (!object->bg_stdev == 64.64) {
    12651264            psFree(object);
    12661265            exit(EXIT_FAILURE);
  • trunk/ippdb/tests/createtable.c

    r14061 r14169  
    193193        }
    194194
    195         if(!chipInputImfileCreateTable(dbh)) {
    196             exit(EXIT_FAILURE);
    197         }
    198 
    199         psDBCleanup(dbh);
    200     }
    201 
    202     {
    203         psDB            *dbh;
    204 
    205         dbh = psDBInit("localhost", "test", NULL, "test");
    206         if (!dbh) {
    207             exit(EXIT_FAILURE);
    208         }
    209 
    210195        if(!chipProcessedImfileCreateTable(dbh)) {
    211196            exit(EXIT_FAILURE);
  • trunk/ippdb/tests/dbcleanup.c

    r14061 r14169  
    2323    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS guidePendingExp");
    2424    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS chipRun");
    25     p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS chipInputImfile");
    2625    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS chipProcessedImfile");
    2726    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS chipMask");
  • trunk/ippdb/tests/dbsetup.c

    r14061 r14169  
    4848    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS chipRun");
    4949    chipRunCreateTable(dbh);
    50 
    51     p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS chipInputImfile");
    52     chipInputImfileCreateTable(dbh);
    5350
    5451    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS chipProcessedImfile");
  • trunk/ippdb/tests/droptable.c

    r14061 r14169  
    193193        }
    194194
    195         if (!chipInputImfileDropTable(dbh)) {
    196             exit(EXIT_FAILURE);
    197         }
    198 
    199         psDBCleanup(dbh);
    200     }
    201 
    202     {
    203         psDB            *dbh;
    204 
    205         dbh = psDBInit("localhost", "test", NULL, "test");
    206         if (!dbh) {
    207             exit(EXIT_FAILURE);
    208         }
    209 
    210195        if (!chipProcessedImfileDropTable(dbh)) {
    211196            exit(EXIT_FAILURE);
  • trunk/ippdb/tests/insert.c

    r14061 r14169  
    103103        }
    104104
    105         if (!newExpInsert(dbh, -64, "a string", "a string", "a string", "a string", "a string", "a string")) {
     105        if (!newExpInsert(dbh, -64, "a string", "a string", "a string", "a string", "a string", "a string", "a string")) {
    106106            exit(EXIT_FAILURE);
    107107        }
     
    133133        }
    134134
    135         if (!rawExpInsert(dbh, -64, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", "a string", "a string", "a string", "a string", 32.32, 64.64, 64.64, 32.32, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", 32.32, -16)) {
     135        if (!rawExpInsert(dbh, -64, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", "a string", "a string", "a string", "a string", "a string", 32.32, 64.64, 64.64, 32.32, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", 32.32, -16)) {
    136136            exit(EXIT_FAILURE);
    137137        }
     
    178178        }
    179179
    180         if (!chipRunInsert(dbh, -64, "a string", "a string", "a string", "a string", "a string", "a string", "a string")) {
    181             exit(EXIT_FAILURE);
    182         }
    183 
    184         psDBCleanup(dbh);
    185     }
    186 
    187     {
    188         psDB            *dbh;
    189 
    190         dbh = psDBInit("localhost", "test", NULL, "test");
    191         if (!dbh) {
    192             exit(EXIT_FAILURE);
    193         }
    194 
    195         if (!chipInputImfileInsert(dbh, -64, -64, "a string")) {
     180        if (!chipRunInsert(dbh, -64, -64, "a string", "a string", "a string", "a string", "a string", "a string", "a string")) {
    196181            exit(EXIT_FAILURE);
    197182        }
     
    328313        }
    329314
    330         if (!warpSkyfileInsert(dbh, -64, "a string", "a string", "a string", "a string", 64.64, 64.64)) {
     315        if (!warpSkyfileInsert(dbh, -64, "a string", "a string", "a string", "a string", 64.64, 64.64, -16)) {
    331316            exit(EXIT_FAILURE);
    332317        }
     
    373358        }
    374359
    375         if (!diffSkyfileInsert(dbh, -64, "a string", "a string", 64.64, 64.64)) {
     360        if (!diffSkyfileInsert(dbh, -64, "a string", "a string", 64.64, 64.64, -16)) {
    376361            exit(EXIT_FAILURE);
    377362        }
     
    418403        }
    419404
    420         if (!stackSumSkyfileInsert(dbh, -64, "a string", "a string", 64.64, 64.64)) {
     405        if (!stackSumSkyfileInsert(dbh, -64, "a string", "a string", 64.64, 64.64, -16)) {
    421406            exit(EXIT_FAILURE);
    422407        }
  • trunk/ippdb/tests/insertfits.c

    r14061 r14169  
    336336        }
    337337
    338         if (!chipInputImfileInsertFits(dbh, fits)) {
    339             exit(EXIT_FAILURE);
    340         }
    341 
    342         if (!psFitsClose(fits)) {
    343             exit(EXIT_FAILURE);
    344         }
    345 
    346         psDBCleanup(dbh);
    347     }
    348 
    349     {
    350         psDB            *dbh;
    351         psFits          *fits;
    352 
    353         dbh = psDBInit("localhost", "test", NULL, "test");
    354         if (!dbh) {
    355             exit(EXIT_FAILURE);
    356         }
    357 
    358         // open a temp
    359         fits = psFitsOpen(TMP_FILENAME, "r");
    360         if (!fits) {
    361             exit(EXIT_FAILURE);
    362         }
    363 
    364338        if (!chipProcessedImfileInsertFits(dbh, fits)) {
    365339            exit(EXIT_FAILURE);
  • trunk/ippdb/tests/insertobject.c

    r14061 r14169  
    146146        }
    147147
    148         object = newExpRowAlloc(-64, "a string", "a string", "a string", "a string", "a string", "a string");
     148        object = newExpRowAlloc(-64, "a string", "a string", "a string", "a string", "a string", "a string", "a string");
    149149        if (!object) {
    150150            exit(EXIT_FAILURE);
     
    190190        }
    191191
    192         object = rawExpRowAlloc(-64, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", "a string", "a string", "a string", "a string", 32.32, 64.64, 64.64, 32.32, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", 32.32, -16);
     192        object = rawExpRowAlloc(-64, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", "a string", "a string", "a string", "a string", "a string", 32.32, 64.64, 64.64, 32.32, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", 32.32, -16);
    193193        if (!object) {
    194194            exit(EXIT_FAILURE);
     
    256256        }
    257257
    258         object = chipRunRowAlloc(-64, "a string", "a string", "a string", "a string", "a string", "a string", "a string");
     258        object = chipRunRowAlloc(-64, -64, "a string", "a string", "a string", "a string", "a string", "a string", "a string");
    259259        if (!object) {
    260260            exit(EXIT_FAILURE);
     
    271271    {
    272272        psDB            *dbh;
    273         chipInputImfileRow *object;
    274 
    275         dbh = psDBInit("localhost", "test", NULL, "test");
    276         if (!dbh) {
    277             exit(EXIT_FAILURE);
    278         }
    279 
    280         object = chipInputImfileRowAlloc(-64, -64, "a string");
    281         if (!object) {
    282             exit(EXIT_FAILURE);
    283         }
    284 
    285         if (!chipInputImfileInsertObject(dbh, object)) {
    286             exit(EXIT_FAILURE);
    287         }
    288 
    289         psFree(object);
    290         psDBCleanup(dbh);
    291     }
    292 
    293     {
    294         psDB            *dbh;
    295273        chipProcessedImfileRow *object;
    296274
     
    476454        }
    477455
    478         object = warpSkyfileRowAlloc(-64, "a string", "a string", "a string", "a string", 64.64, 64.64);
     456        object = warpSkyfileRowAlloc(-64, "a string", "a string", "a string", "a string", 64.64, 64.64, -16);
    479457        if (!object) {
    480458            exit(EXIT_FAILURE);
     
    542520        }
    543521
    544         object = diffSkyfileRowAlloc(-64, "a string", "a string", 64.64, 64.64);
     522        object = diffSkyfileRowAlloc(-64, "a string", "a string", 64.64, 64.64, -16);
    545523        if (!object) {
    546524            exit(EXIT_FAILURE);
     
    608586        }
    609587
    610         object = stackSumSkyfileRowAlloc(-64, "a string", "a string", 64.64, 64.64);
     588        object = stackSumSkyfileRowAlloc(-64, "a string", "a string", 64.64, 64.64, -16);
    611589        if (!object) {
    612590            exit(EXIT_FAILURE);
  • trunk/ippdb/tests/metadatafromobject.c

    r14061 r14169  
    276276        bool            status;
    277277
    278         object = newExpRowAlloc(-64, "a string", "a string", "a string", "a string", "a string", "a string");
     278        object = newExpRowAlloc(-64, "a string", "a string", "a string", "a string", "a string", "a string", "a string");
    279279        if (!object) {
    280280            exit(EXIT_FAILURE);
     
    315315            exit(EXIT_FAILURE);
    316316        }
     317        if (strncmp(psMetadataLookupPtr(&status, md, "reduction"), "a string", MAX_STRING_LENGTH)) {
     318            psFree(md);
     319            exit(EXIT_FAILURE);
     320        }
    317321
    318322        psFree(md);
     
    356360        bool            status;
    357361
    358         object = rawExpRowAlloc(-64, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", "a string", "a string", "a string", "a string", 32.32, 64.64, 64.64, 32.32, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", 32.32, -16);
     362        object = rawExpRowAlloc(-64, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", "a string", "a string", "a string", "a string", "a string", 32.32, 64.64, 64.64, 32.32, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", 32.32, -16);
    359363        if (!object) {
    360364            exit(EXIT_FAILURE);
     
    402406            exit(EXIT_FAILURE);
    403407        }
     408        if (strncmp(psMetadataLookupPtr(&status, md, "reduction"), "a string", MAX_STRING_LENGTH)) {
     409            psFree(md);
     410            exit(EXIT_FAILURE);
     411        }
    404412        if (strncmp(psMetadataLookupPtr(&status, md, "filter"), "a string", MAX_STRING_LENGTH)) {
    405413            psFree(md);
     
    663671        bool            status;
    664672
    665         object = chipRunRowAlloc(-64, "a string", "a string", "a string", "a string", "a string", "a string", "a string");
     673        object = chipRunRowAlloc(-64, -64, "a string", "a string", "a string", "a string", "a string", "a string", "a string");
    666674        if (!object) {
    667675            exit(EXIT_FAILURE);
     
    678686            exit(EXIT_FAILURE);
    679687        }
     688            psFree(md);
     689            exit(EXIT_FAILURE);
     690        }
    680691        if (strncmp(psMetadataLookupPtr(&status, md, "state"), "a string", MAX_STRING_LENGTH)) {
    681692            psFree(md);
     
    712723    {
    713724        psMetadata      *md;
    714         chipInputImfileRow *object;
    715         bool            status;
    716 
    717         object = chipInputImfileRowAlloc(-64, -64, "a string");
    718         if (!object) {
    719             exit(EXIT_FAILURE);
    720         }
    721 
    722         md = chipInputImfileMetadataFromObject(object);
     725        chipProcessedImfileRow *object;
     726        bool            status;
     727
     728        object = chipProcessedImfileRowAlloc(-64, -64, "a string", "a string", 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, -32, -32, -32, -32, "a string", -16);
     729        if (!object) {
     730            exit(EXIT_FAILURE);
     731        }
     732
     733        md = chipProcessedImfileMetadataFromObject(object);
    723734        if (!md) {
    724735            exit(EXIT_FAILURE);
     
    737748            exit(EXIT_FAILURE);
    738749        }
    739 
    740         psFree(md);
    741     }
    742 
    743     {
    744         psMetadata      *md;
    745         chipProcessedImfileRow *object;
    746         bool            status;
    747 
    748         object = chipProcessedImfileRowAlloc(-64, -64, "a string", "a string", 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, -32, -32, -32, -32, "a string", -16);
    749         if (!object) {
    750             exit(EXIT_FAILURE);
    751         }
    752 
    753         md = chipProcessedImfileMetadataFromObject(object);
    754         if (!md) {
    755             exit(EXIT_FAILURE);
    756         }
    757 
    758         psFree(object);
    759 
     750        if (strncmp(psMetadataLookupPtr(&status, md, "uri"), "a string", MAX_STRING_LENGTH)) {
     751            psFree(md);
     752            exit(EXIT_FAILURE);
     753        }
     754        if (!psMetadataLookupF32(&status, md, "bg") == 32.32) {
     755            psFree(md);
     756            exit(EXIT_FAILURE);
     757        }
     758        if (!psMetadataLookupF32(&status, md, "bg_stdev") == 32.32) {
     759            psFree(md);
     760            exit(EXIT_FAILURE);
     761        }
     762        if (!psMetadataLookupF32(&status, md, "bg_mean_stdev") == 32.32) {
     763            psFree(md);
     764            exit(EXIT_FAILURE);
     765        }
     766        if (!psMetadataLookupF32(&status, md, "bias") == 32.32) {
     767            psFree(md);
     768            exit(EXIT_FAILURE);
     769        }
     770        if (!psMetadataLookupF32(&status, md, "bias_stdev") == 32.32) {
     771            psFree(md);
     772            exit(EXIT_FAILURE);
     773        }
     774        if (!psMetadataLookupF32(&status, md, "fringe_0") == 32.32) {
     775            psFree(md);
     776            exit(EXIT_FAILURE);
     777        }
     778        if (!psMetadataLookupF32(&status, md, "fringe_1") == 32.32) {
     779            psFree(md);
     780            exit(EXIT_FAILURE);
     781        }
     782        if (!psMetadataLookupF32(&status, md, "fringe_2") == 32.32) {
     783            psFree(md);
     784            exit(EXIT_FAILURE);
     785        }
     786        if (!psMetadataLookupF32(&status, md, "sigma_ra") == 32.32) {
     787            psFree(md);
     788            exit(EXIT_FAILURE);
     789        }
     790        if (!psMetadataLookupF32(&status, md, "sigma_dec") == 32.32) {
     791            psFree(md);
     792            exit(EXIT_FAILURE);
     793        }
     794        if (!psMetadataLookupF32(&status, md, "ap_resid") == 32.32) {
     795            psFree(md);
     796            exit(EXIT_FAILURE);
     797        }
     798        if (!psMetadataLookupF32(&status, md, "ap_resid_stdev") == 32.32) {
     799            psFree(md);
     800            exit(EXIT_FAILURE);
     801        }
     802        if (!psMetadataLookupF32(&status, md, "fwhm") == 32.32) {
     803            psFree(md);
     804            exit(EXIT_FAILURE);
     805        }
     806        if (!psMetadataLookupF32(&status, md, "fwhm_range") == 32.32) {
     807            psFree(md);
     808            exit(EXIT_FAILURE);
     809        }
     810        if (!psMetadataLookupS32(&status, md, "n_stars") == -32) {
     811            psFree(md);
     812            exit(EXIT_FAILURE);
     813        }
     814        if (!psMetadataLookupS32(&status, md, "n_extended") == -32) {
     815            psFree(md);
     816            exit(EXIT_FAILURE);
     817        }
     818        if (!psMetadataLookupS32(&status, md, "n_cr") == -32) {
     819            psFree(md);
     820            exit(EXIT_FAILURE);
     821        }
     822        if (!psMetadataLookupS32(&status, md, "n_astrom") == -32) {
     823            psFree(md);
     824            exit(EXIT_FAILURE);
     825        }
     826        if (strncmp(psMetadataLookupPtr(&status, md, "path_base"), "a string", MAX_STRING_LENGTH)) {
     827            psFree(md);
     828            exit(EXIT_FAILURE);
     829        }
     830            psFree(md);
     831            exit(EXIT_FAILURE);
     832        }
     833
     834        psFree(md);
     835    }
     836
     837    {
     838        psMetadata      *md;
     839        chipMaskRow     *object;
     840        bool            status;
     841
     842        object = chipMaskRowAlloc("a string");
     843        if (!object) {
     844            exit(EXIT_FAILURE);
     845        }
     846
     847        md = chipMaskMetadataFromObject(object);
     848        if (!md) {
     849            exit(EXIT_FAILURE);
     850        }
     851
     852        psFree(object);
     853
     854        if (strncmp(psMetadataLookupPtr(&status, md, "label"), "a string", MAX_STRING_LENGTH)) {
     855            psFree(md);
     856            exit(EXIT_FAILURE);
     857        }
     858
     859        psFree(md);
     860    }
     861
     862    {
     863        psMetadata      *md;
     864        camRunRow       *object;
     865        bool            status;
     866
     867        object = camRunRowAlloc(-64, -64, "a string", "a string", "a string", "a string", "a string", "a string", "a string");
     868        if (!object) {
     869            exit(EXIT_FAILURE);
     870        }
     871
     872        md = camRunMetadataFromObject(object);
     873        if (!md) {
     874            exit(EXIT_FAILURE);
     875        }
     876
     877        psFree(object);
     878
     879            psFree(md);
     880            exit(EXIT_FAILURE);
     881        }
     882            psFree(md);
     883            exit(EXIT_FAILURE);
     884        }
     885        if (strncmp(psMetadataLookupPtr(&status, md, "state"), "a string", MAX_STRING_LENGTH)) {
     886            psFree(md);
     887            exit(EXIT_FAILURE);
     888        }
     889        if (strncmp(psMetadataLookupPtr(&status, md, "workdir"), "a string", MAX_STRING_LENGTH)) {
     890            psFree(md);
     891            exit(EXIT_FAILURE);
     892        }
     893        if (strncmp(psMetadataLookupPtr(&status, md, "workdir_state"), "a string", MAX_STRING_LENGTH)) {
     894            psFree(md);
     895            exit(EXIT_FAILURE);
     896        }
     897        if (strncmp(psMetadataLookupPtr(&status, md, "label"), "a string", MAX_STRING_LENGTH)) {
     898            psFree(md);
     899            exit(EXIT_FAILURE);
     900        }
     901        if (strncmp(psMetadataLookupPtr(&status, md, "reduction"), "a string", MAX_STRING_LENGTH)) {
     902            psFree(md);
     903            exit(EXIT_FAILURE);
     904        }
     905        if (strncmp(psMetadataLookupPtr(&status, md, "expgroup"), "a string", MAX_STRING_LENGTH)) {
     906            psFree(md);
     907            exit(EXIT_FAILURE);
     908        }
     909        if (strncmp(psMetadataLookupPtr(&status, md, "dvodb"), "a string", MAX_STRING_LENGTH)) {
     910            psFree(md);
     911            exit(EXIT_FAILURE);
     912        }
     913
     914        psFree(md);
     915    }
     916
     917    {
     918        psMetadata      *md;
     919        camProcessedExpRow *object;
     920        bool            status;
     921
     922        object = camProcessedExpRowAlloc(-64, -64, "a string", 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, -32, -32, -32, -32, "a string", -16);
     923        if (!object) {
     924            exit(EXIT_FAILURE);
     925        }
     926
     927        md = camProcessedExpMetadataFromObject(object);
     928        if (!md) {
     929            exit(EXIT_FAILURE);
     930        }
     931
     932        psFree(object);
     933
     934            psFree(md);
     935            exit(EXIT_FAILURE);
     936        }
     937            psFree(md);
     938            exit(EXIT_FAILURE);
     939        }
     940        if (strncmp(psMetadataLookupPtr(&status, md, "uri"), "a string", MAX_STRING_LENGTH)) {
     941            psFree(md);
     942            exit(EXIT_FAILURE);
     943        }
     944        if (!psMetadataLookupF32(&status, md, "bg") == 32.32) {
     945            psFree(md);
     946            exit(EXIT_FAILURE);
     947        }
     948        if (!psMetadataLookupF32(&status, md, "bg_stdev") == 32.32) {
     949            psFree(md);
     950            exit(EXIT_FAILURE);
     951        }
     952        if (!psMetadataLookupF32(&status, md, "bg_mean_stdev") == 32.32) {
     953            psFree(md);
     954            exit(EXIT_FAILURE);
     955        }
     956        if (!psMetadataLookupF32(&status, md, "sigma_ra") == 32.32) {
     957            psFree(md);
     958            exit(EXIT_FAILURE);
     959        }
     960        if (!psMetadataLookupF32(&status, md, "sigma_dec") == 32.32) {
     961            psFree(md);
     962            exit(EXIT_FAILURE);
     963        }
     964        if (!psMetadataLookupF32(&status, md, "zp_mean") == 32.32) {
     965            psFree(md);
     966            exit(EXIT_FAILURE);
     967        }
     968        if (!psMetadataLookupF32(&status, md, "zp_stdev") == 32.32) {
     969            psFree(md);
     970            exit(EXIT_FAILURE);
     971        }
     972        if (!psMetadataLookupF32(&status, md, "fwhm") == 32.32) {
     973            psFree(md);
     974            exit(EXIT_FAILURE);
     975        }
     976        if (!psMetadataLookupF32(&status, md, "fwhm_range") == 32.32) {
     977            psFree(md);
     978            exit(EXIT_FAILURE);
     979        }
     980        if (!psMetadataLookupS32(&status, md, "n_stars") == -32) {
     981            psFree(md);
     982            exit(EXIT_FAILURE);
     983        }
     984        if (!psMetadataLookupS32(&status, md, "n_extended") == -32) {
     985            psFree(md);
     986            exit(EXIT_FAILURE);
     987        }
     988        if (!psMetadataLookupS32(&status, md, "n_cr") == -32) {
     989            psFree(md);
     990            exit(EXIT_FAILURE);
     991        }
     992        if (!psMetadataLookupS32(&status, md, "n_astrom") == -32) {
     993            psFree(md);
     994            exit(EXIT_FAILURE);
     995        }
     996        if (strncmp(psMetadataLookupPtr(&status, md, "path_base"), "a string", MAX_STRING_LENGTH)) {
     997            psFree(md);
     998            exit(EXIT_FAILURE);
     999        }
     1000            psFree(md);
     1001            exit(EXIT_FAILURE);
     1002        }
     1003
     1004        psFree(md);
     1005    }
     1006
     1007    {
     1008        psMetadata      *md;
     1009        camMaskRow      *object;
     1010        bool            status;
     1011
     1012        object = camMaskRowAlloc("a string");
     1013        if (!object) {
     1014            exit(EXIT_FAILURE);
     1015        }
     1016
     1017        md = camMaskMetadataFromObject(object);
     1018        if (!md) {
     1019            exit(EXIT_FAILURE);
     1020        }
     1021
     1022        psFree(object);
     1023
     1024        if (strncmp(psMetadataLookupPtr(&status, md, "label"), "a string", MAX_STRING_LENGTH)) {
     1025            psFree(md);
     1026            exit(EXIT_FAILURE);
     1027        }
     1028
     1029        psFree(md);
     1030    }
     1031
     1032    {
     1033        psMetadata      *md;
     1034        warpRunRow      *object;
     1035        bool            status;
     1036
     1037        object = warpRunRowAlloc(-64, "a string", "a string", "a string", "a string", "0001-01-01T00:00:00Z");
     1038        if (!object) {
     1039            exit(EXIT_FAILURE);
     1040        }
     1041
     1042        md = warpRunMetadataFromObject(object);
     1043        if (!md) {
     1044            exit(EXIT_FAILURE);
     1045        }
     1046
     1047        psFree(object);
     1048
     1049            psFree(md);
     1050            exit(EXIT_FAILURE);
     1051        }
     1052        if (strncmp(psMetadataLookupPtr(&status, md, "mode"), "a string", MAX_STRING_LENGTH)) {
     1053            psFree(md);
     1054            exit(EXIT_FAILURE);
     1055        }
     1056        if (strncmp(psMetadataLookupPtr(&status, md, "state"), "a string", MAX_STRING_LENGTH)) {
     1057            psFree(md);
     1058            exit(EXIT_FAILURE);
     1059        }
     1060        if (strncmp(psMetadataLookupPtr(&status, md, "workdir"), "a string", MAX_STRING_LENGTH)) {
     1061            psFree(md);
     1062            exit(EXIT_FAILURE);
     1063        }
     1064        if (strncmp(psMetadataLookupPtr(&status, md, "dvodb"), "a string", MAX_STRING_LENGTH)) {
     1065            psFree(md);
     1066            exit(EXIT_FAILURE);
     1067        }
     1068            psFree(md);
     1069            exit(EXIT_FAILURE);
     1070        }
     1071
     1072        psFree(md);
     1073    }
     1074
     1075    {
     1076        psMetadata      *md;
     1077        warpInputExpRow *object;
     1078        bool            status;
     1079
     1080        object = warpInputExpRowAlloc(-64, -64, true);
     1081        if (!object) {
     1082            exit(EXIT_FAILURE);
     1083        }
     1084
     1085        md = warpInputExpMetadataFromObject(object);
     1086        if (!md) {
     1087            exit(EXIT_FAILURE);
     1088        }
     1089
     1090        psFree(object);
     1091
     1092            psFree(md);
     1093            exit(EXIT_FAILURE);
     1094        }
     1095            psFree(md);
     1096            exit(EXIT_FAILURE);
     1097        }
     1098        if (!psMetadataLookupBool(&status, md, "magiced") == true) {
     1099            psFree(md);
     1100            exit(EXIT_FAILURE);
     1101        }
     1102
     1103        psFree(md);
     1104    }
     1105
     1106    {
     1107        psMetadata      *md;
     1108        warpSkyCellMapRow *object;
     1109        bool            status;
     1110
     1111        object = warpSkyCellMapRowAlloc(-64, "a string", "a string", -64, "a string", -16);
     1112        if (!object) {
     1113            exit(EXIT_FAILURE);
     1114        }
     1115
     1116        md = warpSkyCellMapMetadataFromObject(object);
     1117        if (!md) {
     1118            exit(EXIT_FAILURE);
     1119        }
     1120
     1121        psFree(object);
     1122
     1123            psFree(md);
     1124            exit(EXIT_FAILURE);
     1125        }
     1126        if (strncmp(psMetadataLookupPtr(&status, md, "skycell_id"), "a string", MAX_STRING_LENGTH)) {
     1127            psFree(md);
     1128            exit(EXIT_FAILURE);
     1129        }
     1130        if (strncmp(psMetadataLookupPtr(&status, md, "tess_id"), "a string", MAX_STRING_LENGTH)) {
    7601131            psFree(md);
    7611132            exit(EXIT_FAILURE);
     
    7681139            exit(EXIT_FAILURE);
    7691140        }
     1141            psFree(md);
     1142            exit(EXIT_FAILURE);
     1143        }
     1144
     1145        psFree(md);
     1146    }
     1147
     1148    {
     1149        psMetadata      *md;
     1150        warpSkyfileRow  *object;
     1151        bool            status;
     1152
     1153        object = warpSkyfileRowAlloc(-64, "a string", "a string", "a string", "a string", 64.64, 64.64, -16);
     1154        if (!object) {
     1155            exit(EXIT_FAILURE);
     1156        }
     1157
     1158        md = warpSkyfileMetadataFromObject(object);
     1159        if (!md) {
     1160            exit(EXIT_FAILURE);
     1161        }
     1162
     1163        psFree(object);
     1164
     1165            psFree(md);
     1166            exit(EXIT_FAILURE);
     1167        }
     1168        if (strncmp(psMetadataLookupPtr(&status, md, "skycell_id"), "a string", MAX_STRING_LENGTH)) {
     1169            psFree(md);
     1170            exit(EXIT_FAILURE);
     1171        }
     1172        if (strncmp(psMetadataLookupPtr(&status, md, "tess_id"), "a string", MAX_STRING_LENGTH)) {
     1173            psFree(md);
     1174            exit(EXIT_FAILURE);
     1175        }
    7701176        if (strncmp(psMetadataLookupPtr(&status, md, "uri"), "a string", MAX_STRING_LENGTH)) {
    7711177            psFree(md);
    7721178            exit(EXIT_FAILURE);
    7731179        }
    774         if (!psMetadataLookupF32(&status, md, "bg") == 32.32) {
    775             psFree(md);
    776             exit(EXIT_FAILURE);
    777         }
    778         if (!psMetadataLookupF32(&status, md, "bg_stdev") == 32.32) {
    779             psFree(md);
    780             exit(EXIT_FAILURE);
    781         }
    782         if (!psMetadataLookupF32(&status, md, "bg_mean_stdev") == 32.32) {
    783             psFree(md);
    784             exit(EXIT_FAILURE);
    785         }
    786         if (!psMetadataLookupF32(&status, md, "bias") == 32.32) {
    787             psFree(md);
    788             exit(EXIT_FAILURE);
    789         }
    790         if (!psMetadataLookupF32(&status, md, "bias_stdev") == 32.32) {
    791             psFree(md);
    792             exit(EXIT_FAILURE);
    793         }
    794         if (!psMetadataLookupF32(&status, md, "fringe_0") == 32.32) {
    795             psFree(md);
    796             exit(EXIT_FAILURE);
    797         }
    798         if (!psMetadataLookupF32(&status, md, "fringe_1") == 32.32) {
    799             psFree(md);
    800             exit(EXIT_FAILURE);
    801         }
    802         if (!psMetadataLookupF32(&status, md, "fringe_2") == 32.32) {
    803             psFree(md);
    804             exit(EXIT_FAILURE);
    805         }
    806         if (!psMetadataLookupF32(&status, md, "sigma_ra") == 32.32) {
    807             psFree(md);
    808             exit(EXIT_FAILURE);
    809         }
    810         if (!psMetadataLookupF32(&status, md, "sigma_dec") == 32.32) {
    811             psFree(md);
    812             exit(EXIT_FAILURE);
    813         }
    814         if (!psMetadataLookupF32(&status, md, "ap_resid") == 32.32) {
    815             psFree(md);
    816             exit(EXIT_FAILURE);
    817         }
    818         if (!psMetadataLookupF32(&status, md, "ap_resid_stdev") == 32.32) {
    819             psFree(md);
    820             exit(EXIT_FAILURE);
    821         }
    822         if (!psMetadataLookupF32(&status, md, "fwhm") == 32.32) {
    823             psFree(md);
    824             exit(EXIT_FAILURE);
    825         }
    826         if (!psMetadataLookupF32(&status, md, "fwhm_range") == 32.32) {
    827             psFree(md);
    828             exit(EXIT_FAILURE);
    829         }
    830         if (!psMetadataLookupS32(&status, md, "n_stars") == -32) {
    831             psFree(md);
    832             exit(EXIT_FAILURE);
    833         }
    834         if (!psMetadataLookupS32(&status, md, "n_extended") == -32) {
    835             psFree(md);
    836             exit(EXIT_FAILURE);
    837         }
    838         if (!psMetadataLookupS32(&status, md, "n_cr") == -32) {
    839             psFree(md);
    840             exit(EXIT_FAILURE);
    841         }
    842         if (!psMetadataLookupS32(&status, md, "n_astrom") == -32) {
    843             psFree(md);
    844             exit(EXIT_FAILURE);
    845         }
    8461180        if (strncmp(psMetadataLookupPtr(&status, md, "path_base"), "a string", MAX_STRING_LENGTH)) {
    8471181            psFree(md);
    8481182            exit(EXIT_FAILURE);
    8491183        }
    850             psFree(md);
    851             exit(EXIT_FAILURE);
    852         }
    853 
    854         psFree(md);
    855     }
    856 
    857     {
    858         psMetadata      *md;
    859         chipMaskRow     *object;
    860         bool            status;
    861 
    862         object = chipMaskRowAlloc("a string");
    863         if (!object) {
    864             exit(EXIT_FAILURE);
    865         }
    866 
    867         md = chipMaskMetadataFromObject(object);
    868         if (!md) {
    869             exit(EXIT_FAILURE);
    870         }
    871 
    872         psFree(object);
    873 
    874         if (strncmp(psMetadataLookupPtr(&status, md, "label"), "a string", MAX_STRING_LENGTH)) {
    875             psFree(md);
    876             exit(EXIT_FAILURE);
    877         }
    878 
    879         psFree(md);
    880     }
    881 
    882     {
    883         psMetadata      *md;
    884         camRunRow       *object;
    885         bool            status;
    886 
    887         object = camRunRowAlloc(-64, -64, "a string", "a string", "a string", "a string", "a string", "a string", "a string");
    888         if (!object) {
    889             exit(EXIT_FAILURE);
    890         }
    891 
    892         md = camRunMetadataFromObject(object);
    893         if (!md) {
    894             exit(EXIT_FAILURE);
    895         }
    896 
    897         psFree(object);
    898 
    899             psFree(md);
    900             exit(EXIT_FAILURE);
    901         }
     1184        if (!psMetadataLookupF64(&status, md, "bg") == 64.64) {
     1185            psFree(md);
     1186            exit(EXIT_FAILURE);
     1187        }
     1188        if (!psMetadataLookupF64(&status, md, "bg_stdev") == 64.64) {
     1189            psFree(md);
     1190            exit(EXIT_FAILURE);
     1191        }
     1192            psFree(md);
     1193            exit(EXIT_FAILURE);
     1194        }
     1195
     1196        psFree(md);
     1197    }
     1198
     1199    {
     1200        psMetadata      *md;
     1201        diffRunRow      *object;
     1202        bool            status;
     1203
     1204        object = diffRunRowAlloc(-64, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", "a string");
     1205        if (!object) {
     1206            exit(EXIT_FAILURE);
     1207        }
     1208
     1209        md = diffRunMetadataFromObject(object);
     1210        if (!md) {
     1211            exit(EXIT_FAILURE);
     1212        }
     1213
     1214        psFree(object);
     1215
    9021216            psFree(md);
    9031217            exit(EXIT_FAILURE);
     
    9111225            exit(EXIT_FAILURE);
    9121226        }
    913         if (strncmp(psMetadataLookupPtr(&status, md, "workdir_state"), "a string", MAX_STRING_LENGTH)) {
    914             psFree(md);
    915             exit(EXIT_FAILURE);
    916         }
    917         if (strncmp(psMetadataLookupPtr(&status, md, "label"), "a string", MAX_STRING_LENGTH)) {
    918             psFree(md);
    919             exit(EXIT_FAILURE);
    920         }
    921         if (strncmp(psMetadataLookupPtr(&status, md, "reduction"), "a string", MAX_STRING_LENGTH)) {
    922             psFree(md);
    923             exit(EXIT_FAILURE);
    924         }
    925         if (strncmp(psMetadataLookupPtr(&status, md, "expgroup"), "a string", MAX_STRING_LENGTH)) {
    926             psFree(md);
    927             exit(EXIT_FAILURE);
    928         }
    9291227        if (strncmp(psMetadataLookupPtr(&status, md, "dvodb"), "a string", MAX_STRING_LENGTH)) {
    9301228            psFree(md);
    9311229            exit(EXIT_FAILURE);
    9321230        }
    933 
    934         psFree(md);
    935     }
    936 
    937     {
    938         psMetadata      *md;
    939         camProcessedExpRow *object;
    940         bool            status;
    941 
    942         object = camProcessedExpRowAlloc(-64, -64, "a string", 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, -32, -32, -32, -32, "a string", -16);
    943         if (!object) {
    944             exit(EXIT_FAILURE);
    945         }
    946 
    947         md = camProcessedExpMetadataFromObject(object);
    948         if (!md) {
    949             exit(EXIT_FAILURE);
    950         }
    951 
    952         psFree(object);
    953 
    954             psFree(md);
    955             exit(EXIT_FAILURE);
    956         }
     1231            psFree(md);
     1232            exit(EXIT_FAILURE);
     1233        }
     1234        if (strncmp(psMetadataLookupPtr(&status, md, "skycell_id"), "a string", MAX_STRING_LENGTH)) {
     1235            psFree(md);
     1236            exit(EXIT_FAILURE);
     1237        }
     1238        if (strncmp(psMetadataLookupPtr(&status, md, "tess_id"), "a string", MAX_STRING_LENGTH)) {
     1239            psFree(md);
     1240            exit(EXIT_FAILURE);
     1241        }
     1242
     1243        psFree(md);
     1244    }
     1245
     1246    {
     1247        psMetadata      *md;
     1248        diffInputSkyfileRow *object;
     1249        bool            status;
     1250
     1251        object = diffInputSkyfileRowAlloc(-64, -64, "a string", "a string", "a string", true);
     1252        if (!object) {
     1253            exit(EXIT_FAILURE);
     1254        }
     1255
     1256        md = diffInputSkyfileMetadataFromObject(object);
     1257        if (!md) {
     1258            exit(EXIT_FAILURE);
     1259        }
     1260
     1261        psFree(object);
     1262
     1263            psFree(md);
     1264            exit(EXIT_FAILURE);
     1265        }
     1266            psFree(md);
     1267            exit(EXIT_FAILURE);
     1268        }
     1269        if (strncmp(psMetadataLookupPtr(&status, md, "skycell_id"), "a string", MAX_STRING_LENGTH)) {
     1270            psFree(md);
     1271            exit(EXIT_FAILURE);
     1272        }
     1273        if (strncmp(psMetadataLookupPtr(&status, md, "tess_id"), "a string", MAX_STRING_LENGTH)) {
     1274            psFree(md);
     1275            exit(EXIT_FAILURE);
     1276        }
     1277        if (strncmp(psMetadataLookupPtr(&status, md, "kind"), "a string", MAX_STRING_LENGTH)) {
     1278            psFree(md);
     1279            exit(EXIT_FAILURE);
     1280        }
     1281        if (!psMetadataLookupBool(&status, md, "template") == true) {
     1282            psFree(md);
     1283            exit(EXIT_FAILURE);
     1284        }
     1285
     1286        psFree(md);
     1287    }
     1288
     1289    {
     1290        psMetadata      *md;
     1291        diffSkyfileRow  *object;
     1292        bool            status;
     1293
     1294        object = diffSkyfileRowAlloc(-64, "a string", "a string", 64.64, 64.64, -16);
     1295        if (!object) {
     1296            exit(EXIT_FAILURE);
     1297        }
     1298
     1299        md = diffSkyfileMetadataFromObject(object);
     1300        if (!md) {
     1301            exit(EXIT_FAILURE);
     1302        }
     1303
     1304        psFree(object);
     1305
    9571306            psFree(md);
    9581307            exit(EXIT_FAILURE);
     
    9621311            exit(EXIT_FAILURE);
    9631312        }
    964         if (!psMetadataLookupF32(&status, md, "bg") == 32.32) {
    965             psFree(md);
    966             exit(EXIT_FAILURE);
    967         }
    968         if (!psMetadataLookupF32(&status, md, "bg_stdev") == 32.32) {
    969             psFree(md);
    970             exit(EXIT_FAILURE);
    971         }
    972         if (!psMetadataLookupF32(&status, md, "bg_mean_stdev") == 32.32) {
    973             psFree(md);
    974             exit(EXIT_FAILURE);
    975         }
    976         if (!psMetadataLookupF32(&status, md, "sigma_ra") == 32.32) {
    977             psFree(md);
    978             exit(EXIT_FAILURE);
    979         }
    980         if (!psMetadataLookupF32(&status, md, "sigma_dec") == 32.32) {
    981             psFree(md);
    982             exit(EXIT_FAILURE);
    983         }
    984         if (!psMetadataLookupF32(&status, md, "zp_mean") == 32.32) {
    985             psFree(md);
    986             exit(EXIT_FAILURE);
    987         }
    988         if (!psMetadataLookupF32(&status, md, "zp_stdev") == 32.32) {
    989             psFree(md);
    990             exit(EXIT_FAILURE);
    991         }
    992         if (!psMetadataLookupF32(&status, md, "fwhm") == 32.32) {
    993             psFree(md);
    994             exit(EXIT_FAILURE);
    995         }
    996         if (!psMetadataLookupF32(&status, md, "fwhm_range") == 32.32) {
    997             psFree(md);
    998             exit(EXIT_FAILURE);
    999         }
    1000         if (!psMetadataLookupS32(&status, md, "n_stars") == -32) {
    1001             psFree(md);
    1002             exit(EXIT_FAILURE);
    1003         }
    1004         if (!psMetadataLookupS32(&status, md, "n_extended") == -32) {
    1005             psFree(md);
    1006             exit(EXIT_FAILURE);
    1007         }
    1008         if (!psMetadataLookupS32(&status, md, "n_cr") == -32) {
    1009             psFree(md);
    1010             exit(EXIT_FAILURE);
    1011         }
    1012         if (!psMetadataLookupS32(&status, md, "n_astrom") == -32) {
    1013             psFree(md);
    1014             exit(EXIT_FAILURE);
    1015         }
    10161313        if (strncmp(psMetadataLookupPtr(&status, md, "path_base"), "a string", MAX_STRING_LENGTH)) {
    10171314            psFree(md);
    10181315            exit(EXIT_FAILURE);
    10191316        }
    1020             psFree(md);
    1021             exit(EXIT_FAILURE);
    1022         }
    1023 
    1024         psFree(md);
    1025     }
    1026 
    1027     {
    1028         psMetadata      *md;
    1029         camMaskRow      *object;
    1030         bool            status;
    1031 
    1032         object = camMaskRowAlloc("a string");
    1033         if (!object) {
    1034             exit(EXIT_FAILURE);
    1035         }
    1036 
    1037         md = camMaskMetadataFromObject(object);
    1038         if (!md) {
    1039             exit(EXIT_FAILURE);
    1040         }
    1041 
    1042         psFree(object);
    1043 
    1044         if (strncmp(psMetadataLookupPtr(&status, md, "label"), "a string", MAX_STRING_LENGTH)) {
    1045             psFree(md);
    1046             exit(EXIT_FAILURE);
    1047         }
    1048 
    1049         psFree(md);
    1050     }
    1051 
    1052     {
    1053         psMetadata      *md;
    1054         warpRunRow      *object;
    1055         bool            status;
    1056 
    1057         object = warpRunRowAlloc(-64, "a string", "a string", "a string", "a string", "0001-01-01T00:00:00Z");
    1058         if (!object) {
    1059             exit(EXIT_FAILURE);
    1060         }
    1061 
    1062         md = warpRunMetadataFromObject(object);
    1063         if (!md) {
    1064             exit(EXIT_FAILURE);
    1065         }
    1066 
    1067         psFree(object);
    1068 
    1069             psFree(md);
    1070             exit(EXIT_FAILURE);
    1071         }
    1072         if (strncmp(psMetadataLookupPtr(&status, md, "mode"), "a string", MAX_STRING_LENGTH)) {
     1317        if (!psMetadataLookupF64(&status, md, "bg") == 64.64) {
     1318            psFree(md);
     1319            exit(EXIT_FAILURE);
     1320        }
     1321        if (!psMetadataLookupF64(&status, md, "bg_stdev") == 64.64) {
     1322            psFree(md);
     1323            exit(EXIT_FAILURE);
     1324        }
     1325            psFree(md);
     1326            exit(EXIT_FAILURE);
     1327        }
     1328
     1329        psFree(md);
     1330    }
     1331
     1332    {
     1333        psMetadata      *md;
     1334        stackRunRow     *object;
     1335        bool            status;
     1336
     1337        object = stackRunRowAlloc(-64, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", "a string");
     1338        if (!object) {
     1339            exit(EXIT_FAILURE);
     1340        }
     1341
     1342        md = stackRunMetadataFromObject(object);
     1343        if (!md) {
     1344            exit(EXIT_FAILURE);
     1345        }
     1346
     1347        psFree(object);
     1348
    10731349            psFree(md);
    10741350            exit(EXIT_FAILURE);
     
    10891365            exit(EXIT_FAILURE);
    10901366        }
    1091 
    1092         psFree(md);
    1093     }
    1094 
    1095     {
    1096         psMetadata      *md;
    1097         warpInputExpRow *object;
    1098         bool            status;
    1099 
    1100         object = warpInputExpRowAlloc(-64, -64, true);
    1101         if (!object) {
    1102             exit(EXIT_FAILURE);
    1103         }
    1104 
    1105         md = warpInputExpMetadataFromObject(object);
    1106         if (!md) {
    1107             exit(EXIT_FAILURE);
    1108         }
    1109 
    1110         psFree(object);
    1111 
    1112             psFree(md);
    1113             exit(EXIT_FAILURE);
    1114         }
    1115             psFree(md);
    1116             exit(EXIT_FAILURE);
    1117         }
    1118         if (!psMetadataLookupBool(&status, md, "magiced") == true) {
    1119             psFree(md);
    1120             exit(EXIT_FAILURE);
    1121         }
    1122 
    1123         psFree(md);
    1124     }
    1125 
    1126     {
    1127         psMetadata      *md;
    1128         warpSkyCellMapRow *object;
    1129         bool            status;
    1130 
    1131         object = warpSkyCellMapRowAlloc(-64, "a string", "a string", -64, "a string", -16);
    1132         if (!object) {
    1133             exit(EXIT_FAILURE);
    1134         }
    1135 
    1136         md = warpSkyCellMapMetadataFromObject(object);
    1137         if (!md) {
    1138             exit(EXIT_FAILURE);
    1139         }
    1140 
    1141         psFree(object);
    1142 
    1143             psFree(md);
    1144             exit(EXIT_FAILURE);
    1145         }
    11461367        if (strncmp(psMetadataLookupPtr(&status, md, "skycell_id"), "a string", MAX_STRING_LENGTH)) {
    11471368            psFree(md);
     
    11521373            exit(EXIT_FAILURE);
    11531374        }
    1154             psFree(md);
    1155             exit(EXIT_FAILURE);
    1156         }
    1157         if (strncmp(psMetadataLookupPtr(&status, md, "class_id"), "a string", MAX_STRING_LENGTH)) {
    1158             psFree(md);
    1159             exit(EXIT_FAILURE);
    1160         }
    1161             psFree(md);
    1162             exit(EXIT_FAILURE);
    1163         }
    1164 
    1165         psFree(md);
    1166     }
    1167 
    1168     {
    1169         psMetadata      *md;
    1170         warpSkyfileRow  *object;
    1171         bool            status;
    1172 
    1173         object = warpSkyfileRowAlloc(-64, "a string", "a string", "a string", "a string", 64.64, 64.64);
    1174         if (!object) {
    1175             exit(EXIT_FAILURE);
    1176         }
    1177 
    1178         md = warpSkyfileMetadataFromObject(object);
    1179         if (!md) {
    1180             exit(EXIT_FAILURE);
    1181         }
    1182 
    1183         psFree(object);
    1184 
    1185             psFree(md);
    1186             exit(EXIT_FAILURE);
    1187         }
    1188         if (strncmp(psMetadataLookupPtr(&status, md, "skycell_id"), "a string", MAX_STRING_LENGTH)) {
    1189             psFree(md);
    1190             exit(EXIT_FAILURE);
    1191         }
    1192         if (strncmp(psMetadataLookupPtr(&status, md, "tess_id"), "a string", MAX_STRING_LENGTH)) {
     1375
     1376        psFree(md);
     1377    }
     1378
     1379    {
     1380        psMetadata      *md;
     1381        stackInputSkyfileRow *object;
     1382        bool            status;
     1383
     1384        object = stackInputSkyfileRowAlloc(-64, -64);
     1385        if (!object) {
     1386            exit(EXIT_FAILURE);
     1387        }
     1388
     1389        md = stackInputSkyfileMetadataFromObject(object);
     1390        if (!md) {
     1391            exit(EXIT_FAILURE);
     1392        }
     1393
     1394        psFree(object);
     1395
     1396            psFree(md);
     1397            exit(EXIT_FAILURE);
     1398        }
     1399            psFree(md);
     1400            exit(EXIT_FAILURE);
     1401        }
     1402
     1403        psFree(md);
     1404    }
     1405
     1406    {
     1407        psMetadata      *md;
     1408        stackSumSkyfileRow *object;
     1409        bool            status;
     1410
     1411        object = stackSumSkyfileRowAlloc(-64, "a string", "a string", 64.64, 64.64, -16);
     1412        if (!object) {
     1413            exit(EXIT_FAILURE);
     1414        }
     1415
     1416        md = stackSumSkyfileMetadataFromObject(object);
     1417        if (!md) {
     1418            exit(EXIT_FAILURE);
     1419        }
     1420
     1421        psFree(object);
     1422
    11931423            psFree(md);
    11941424            exit(EXIT_FAILURE);
     
    12101440            exit(EXIT_FAILURE);
    12111441        }
    1212 
    1213         psFree(md);
    1214     }
    1215 
    1216     {
    1217         psMetadata      *md;
    1218         diffRunRow      *object;
    1219         bool            status;
    1220 
    1221         object = diffRunRowAlloc(-64, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", "a string");
    1222         if (!object) {
    1223             exit(EXIT_FAILURE);
    1224         }
    1225 
    1226         md = diffRunMetadataFromObject(object);
    1227         if (!md) {
    1228             exit(EXIT_FAILURE);
    1229         }
    1230 
    1231         psFree(object);
    1232 
    1233             psFree(md);
    1234             exit(EXIT_FAILURE);
    1235         }
    1236         if (strncmp(psMetadataLookupPtr(&status, md, "state"), "a string", MAX_STRING_LENGTH)) {
    1237             psFree(md);
    1238             exit(EXIT_FAILURE);
    1239         }
    1240         if (strncmp(psMetadataLookupPtr(&status, md, "workdir"), "a string", MAX_STRING_LENGTH)) {
    1241             psFree(md);
    1242             exit(EXIT_FAILURE);
    1243         }
    1244         if (strncmp(psMetadataLookupPtr(&status, md, "dvodb"), "a string", MAX_STRING_LENGTH)) {
    1245             psFree(md);
    1246             exit(EXIT_FAILURE);
    1247         }
    1248             psFree(md);
    1249             exit(EXIT_FAILURE);
    1250         }
    1251         if (strncmp(psMetadataLookupPtr(&status, md, "skycell_id"), "a string", MAX_STRING_LENGTH)) {
    1252             psFree(md);
    1253             exit(EXIT_FAILURE);
    1254         }
    1255         if (strncmp(psMetadataLookupPtr(&status, md, "tess_id"), "a string", MAX_STRING_LENGTH)) {
    1256             psFree(md);
    1257             exit(EXIT_FAILURE);
    1258         }
    1259 
    1260         psFree(md);
    1261     }
    1262 
    1263     {
    1264         psMetadata      *md;
    1265         diffInputSkyfileRow *object;
    1266         bool            status;
    1267 
    1268         object = diffInputSkyfileRowAlloc(-64, -64, "a string", "a string", "a string", true);
    1269         if (!object) {
    1270             exit(EXIT_FAILURE);
    1271         }
    1272 
    1273         md = diffInputSkyfileMetadataFromObject(object);
    1274         if (!md) {
    1275             exit(EXIT_FAILURE);
    1276         }
    1277 
    1278         psFree(object);
    1279 
    1280             psFree(md);
    1281             exit(EXIT_FAILURE);
    1282         }
    1283             psFree(md);
    1284             exit(EXIT_FAILURE);
    1285         }
    1286         if (strncmp(psMetadataLookupPtr(&status, md, "skycell_id"), "a string", MAX_STRING_LENGTH)) {
    1287             psFree(md);
    1288             exit(EXIT_FAILURE);
    1289         }
    1290         if (strncmp(psMetadataLookupPtr(&status, md, "tess_id"), "a string", MAX_STRING_LENGTH)) {
    1291             psFree(md);
    1292             exit(EXIT_FAILURE);
    1293         }
    1294         if (strncmp(psMetadataLookupPtr(&status, md, "kind"), "a string", MAX_STRING_LENGTH)) {
    1295             psFree(md);
    1296             exit(EXIT_FAILURE);
    1297         }
    1298         if (!psMetadataLookupBool(&status, md, "template") == true) {
    1299             psFree(md);
    1300             exit(EXIT_FAILURE);
    1301         }
    1302 
    1303         psFree(md);
    1304     }
    1305 
    1306     {
    1307         psMetadata      *md;
    1308         diffSkyfileRow  *object;
    1309         bool            status;
    1310 
    1311         object = diffSkyfileRowAlloc(-64, "a string", "a string", 64.64, 64.64);
    1312         if (!object) {
    1313             exit(EXIT_FAILURE);
    1314         }
    1315 
    1316         md = diffSkyfileMetadataFromObject(object);
    1317         if (!md) {
    1318             exit(EXIT_FAILURE);
    1319         }
    1320 
    1321         psFree(object);
    1322 
    1323             psFree(md);
    1324             exit(EXIT_FAILURE);
    1325         }
    1326         if (strncmp(psMetadataLookupPtr(&status, md, "uri"), "a string", MAX_STRING_LENGTH)) {
    1327             psFree(md);
    1328             exit(EXIT_FAILURE);
    1329         }
    1330         if (strncmp(psMetadataLookupPtr(&status, md, "path_base"), "a string", MAX_STRING_LENGTH)) {
    1331             psFree(md);
    1332             exit(EXIT_FAILURE);
    1333         }
    1334         if (!psMetadataLookupF64(&status, md, "bg") == 64.64) {
    1335             psFree(md);
    1336             exit(EXIT_FAILURE);
    1337         }
    1338         if (!psMetadataLookupF64(&status, md, "bg_stdev") == 64.64) {
    1339             psFree(md);
    1340             exit(EXIT_FAILURE);
    1341         }
    1342 
    1343         psFree(md);
    1344     }
    1345 
    1346     {
    1347         psMetadata      *md;
    1348         stackRunRow     *object;
    1349         bool            status;
    1350 
    1351         object = stackRunRowAlloc(-64, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", "a string");
    1352         if (!object) {
    1353             exit(EXIT_FAILURE);
    1354         }
    1355 
    1356         md = stackRunMetadataFromObject(object);
    1357         if (!md) {
    1358             exit(EXIT_FAILURE);
    1359         }
    1360 
    1361         psFree(object);
    1362 
    1363             psFree(md);
    1364             exit(EXIT_FAILURE);
    1365         }
    1366         if (strncmp(psMetadataLookupPtr(&status, md, "state"), "a string", MAX_STRING_LENGTH)) {
    1367             psFree(md);
    1368             exit(EXIT_FAILURE);
    1369         }
    1370         if (strncmp(psMetadataLookupPtr(&status, md, "workdir"), "a string", MAX_STRING_LENGTH)) {
    1371             psFree(md);
    1372             exit(EXIT_FAILURE);
    1373         }
    1374         if (strncmp(psMetadataLookupPtr(&status, md, "dvodb"), "a string", MAX_STRING_LENGTH)) {
    1375             psFree(md);
    1376             exit(EXIT_FAILURE);
    1377         }
    1378             psFree(md);
    1379             exit(EXIT_FAILURE);
    1380         }
    1381         if (strncmp(psMetadataLookupPtr(&status, md, "skycell_id"), "a string", MAX_STRING_LENGTH)) {
    1382             psFree(md);
    1383             exit(EXIT_FAILURE);
    1384         }
    1385         if (strncmp(psMetadataLookupPtr(&status, md, "tess_id"), "a string", MAX_STRING_LENGTH)) {
    1386             psFree(md);
    1387             exit(EXIT_FAILURE);
    1388         }
    1389 
    1390         psFree(md);
    1391     }
    1392 
    1393     {
    1394         psMetadata      *md;
    1395         stackInputSkyfileRow *object;
    1396         bool            status;
    1397 
    1398         object = stackInputSkyfileRowAlloc(-64, -64);
    1399         if (!object) {
    1400             exit(EXIT_FAILURE);
    1401         }
    1402 
    1403         md = stackInputSkyfileMetadataFromObject(object);
    1404         if (!md) {
    1405             exit(EXIT_FAILURE);
    1406         }
    1407 
    1408         psFree(object);
    1409 
    1410             psFree(md);
    1411             exit(EXIT_FAILURE);
    1412         }
    1413             psFree(md);
    1414             exit(EXIT_FAILURE);
    1415         }
    1416 
    1417         psFree(md);
    1418     }
    1419 
    1420     {
    1421         psMetadata      *md;
    1422         stackSumSkyfileRow *object;
    1423         bool            status;
    1424 
    1425         object = stackSumSkyfileRowAlloc(-64, "a string", "a string", 64.64, 64.64);
    1426         if (!object) {
    1427             exit(EXIT_FAILURE);
    1428         }
    1429 
    1430         md = stackSumSkyfileMetadataFromObject(object);
    1431         if (!md) {
    1432             exit(EXIT_FAILURE);
    1433         }
    1434 
    1435         psFree(object);
    1436 
    1437             psFree(md);
    1438             exit(EXIT_FAILURE);
    1439         }
    1440         if (strncmp(psMetadataLookupPtr(&status, md, "uri"), "a string", MAX_STRING_LENGTH)) {
    1441             psFree(md);
    1442             exit(EXIT_FAILURE);
    1443         }
    1444         if (strncmp(psMetadataLookupPtr(&status, md, "path_base"), "a string", MAX_STRING_LENGTH)) {
    1445             psFree(md);
    1446             exit(EXIT_FAILURE);
    1447         }
    1448         if (!psMetadataLookupF64(&status, md, "bg") == 64.64) {
    1449             psFree(md);
    1450             exit(EXIT_FAILURE);
    1451         }
    1452         if (!psMetadataLookupF64(&status, md, "bg_stdev") == 64.64) {
    14531442            psFree(md);
    14541443            exit(EXIT_FAILURE);
  • trunk/ippdb/tests/objectfrommetadata.c

    r14061 r14169  
    422422            exit(EXIT_FAILURE);
    423423        }
     424        if (!psMetadataAddStr(md, PS_LIST_TAIL, "reduction", 0, NULL, "a string")) {
     425            psFree(md);
     426            exit(EXIT_FAILURE);
     427        }
    424428
    425429        object = newExpObjectFromMetadata(md);
     
    458462            exit(EXIT_FAILURE);
    459463        }
     464        if (strncmp(object->reduction, "a string", MAX_STRING_LENGTH)) {
     465            psFree(object);
     466            exit(EXIT_FAILURE);
     467        }
    460468
    461469        psFree(object);
     
    541549            exit(EXIT_FAILURE);
    542550        }
     551        if (!psMetadataAddStr(md, PS_LIST_TAIL, "reduction", 0, NULL, "a string")) {
     552            psFree(md);
     553            exit(EXIT_FAILURE);
     554        }
    543555        if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, "a string")) {
    544556            psFree(md);
     
    667679            exit(EXIT_FAILURE);
    668680        }
     681        if (strncmp(object->reduction, "a string", MAX_STRING_LENGTH)) {
     682            psFree(object);
     683            exit(EXIT_FAILURE);
     684        }
    669685        if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) {
    670686            psFree(object);
     
    10521068            exit(EXIT_FAILURE);
    10531069        }
     1070            psFree(md);
     1071            exit(EXIT_FAILURE);
     1072        }
    10541073        if (!psMetadataAddStr(md, PS_LIST_TAIL, "state", 0, NULL, "a string")) {
    10551074            psFree(md);
     
    10921111            exit(EXIT_FAILURE);
    10931112        }
     1113            psFree(object);
     1114            exit(EXIT_FAILURE);
     1115        }
    10941116        if (strncmp(object->state, "a string", MAX_STRING_LENGTH)) {
    10951117            psFree(object);
     
    11261148    {
    11271149        psMetadata      *md;
    1128         chipInputImfileRow *object;
     1150        chipProcessedImfileRow *object;
    11291151
    11301152        md = psMetadataAlloc();
     
    11391161            exit(EXIT_FAILURE);
    11401162        }
    1141 
    1142         object = chipInputImfileObjectFromMetadata(md);
     1163        if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, "a string")) {
     1164            psFree(md);
     1165            exit(EXIT_FAILURE);
     1166        }
     1167        if (!psMetadataAddF32(md, PS_LIST_TAIL, "bg", 0, NULL, 32.32)) {
     1168            psFree(md);
     1169            exit(EXIT_FAILURE);
     1170        }
     1171        if (!psMetadataAddF32(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, 32.32)) {
     1172            psFree(md);
     1173            exit(EXIT_FAILURE);
     1174        }
     1175        if (!psMetadataAddF32(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, 32.32)) {
     1176            psFree(md);
     1177            exit(EXIT_FAILURE);
     1178        }
     1179        if (!psMetadataAddF32(md, PS_LIST_TAIL, "bias", 0, NULL, 32.32)) {
     1180            psFree(md);
     1181            exit(EXIT_FAILURE);
     1182        }
     1183        if (!psMetadataAddF32(md, PS_LIST_TAIL, "bias_stdev", 0, NULL, 32.32)) {
     1184            psFree(md);
     1185            exit(EXIT_FAILURE);
     1186        }
     1187        if (!psMetadataAddF32(md, PS_LIST_TAIL, "fringe_0", 0, NULL, 32.32)) {
     1188            psFree(md);
     1189            exit(EXIT_FAILURE);
     1190        }
     1191        if (!psMetadataAddF32(md, PS_LIST_TAIL, "fringe_1", 0, NULL, 32.32)) {
     1192            psFree(md);
     1193            exit(EXIT_FAILURE);
     1194        }
     1195        if (!psMetadataAddF32(md, PS_LIST_TAIL, "fringe_2", 0, NULL, 32.32)) {
     1196            psFree(md);
     1197            exit(EXIT_FAILURE);
     1198        }
     1199        if (!psMetadataAddF32(md, PS_LIST_TAIL, "sigma_ra", 0, NULL, 32.32)) {
     1200            psFree(md);
     1201            exit(EXIT_FAILURE);
     1202        }
     1203        if (!psMetadataAddF32(md, PS_LIST_TAIL, "sigma_dec", 0, NULL, 32.32)) {
     1204            psFree(md);
     1205            exit(EXIT_FAILURE);
     1206        }
     1207        if (!psMetadataAddF32(md, PS_LIST_TAIL, "ap_resid", 0, NULL, 32.32)) {
     1208            psFree(md);
     1209            exit(EXIT_FAILURE);
     1210        }
     1211        if (!psMetadataAddF32(md, PS_LIST_TAIL, "ap_resid_stdev", 0, NULL, 32.32)) {
     1212            psFree(md);
     1213            exit(EXIT_FAILURE);
     1214        }
     1215        if (!psMetadataAddF32(md, PS_LIST_TAIL, "fwhm", 0, NULL, 32.32)) {
     1216            psFree(md);
     1217            exit(EXIT_FAILURE);
     1218        }
     1219        if (!psMetadataAddF32(md, PS_LIST_TAIL, "fwhm_range", 0, NULL, 32.32)) {
     1220            psFree(md);
     1221            exit(EXIT_FAILURE);
     1222        }
     1223        if (!psMetadataAddS32(md, PS_LIST_TAIL, "n_stars", 0, NULL, -32)) {
     1224            psFree(md);
     1225            exit(EXIT_FAILURE);
     1226        }
     1227        if (!psMetadataAddS32(md, PS_LIST_TAIL, "n_extended", 0, NULL, -32)) {
     1228            psFree(md);
     1229            exit(EXIT_FAILURE);
     1230        }
     1231        if (!psMetadataAddS32(md, PS_LIST_TAIL, "n_cr", 0, NULL, -32)) {
     1232            psFree(md);
     1233            exit(EXIT_FAILURE);
     1234        }
     1235        if (!psMetadataAddS32(md, PS_LIST_TAIL, "n_astrom", 0, NULL, -32)) {
     1236            psFree(md);
     1237            exit(EXIT_FAILURE);
     1238        }
     1239        if (!psMetadataAddStr(md, PS_LIST_TAIL, "path_base", 0, NULL, "a string")) {
     1240            psFree(md);
     1241            exit(EXIT_FAILURE);
     1242        }
     1243            psFree(md);
     1244            exit(EXIT_FAILURE);
     1245        }
     1246
     1247        object = chipProcessedImfileObjectFromMetadata(md);
    11431248        if (!object) {
    11441249            psFree(md);
     
    11581263            exit(EXIT_FAILURE);
    11591264        }
    1160 
    1161         psFree(object);
    1162     }
    1163 
    1164     {
    1165         psMetadata      *md;
    1166         chipProcessedImfileRow *object;
    1167 
    1168         md = psMetadataAlloc();
     1265        if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) {
     1266            psFree(object);
     1267            exit(EXIT_FAILURE);
     1268        }
     1269        if (!object->bg == 32.32) {
     1270            psFree(object);
     1271            exit(EXIT_FAILURE);
     1272        }
     1273        if (!object->bg_stdev == 32.32) {
     1274            psFree(object);
     1275            exit(EXIT_FAILURE);
     1276        }
     1277        if (!object->bg_mean_stdev == 32.32) {
     1278            psFree(object);
     1279            exit(EXIT_FAILURE);
     1280        }
     1281        if (!object->bias == 32.32) {
     1282            psFree(object);
     1283            exit(EXIT_FAILURE);
     1284        }
     1285        if (!object->bias_stdev == 32.32) {
     1286            psFree(object);
     1287            exit(EXIT_FAILURE);
     1288        }
     1289        if (!object->fringe_0 == 32.32) {
     1290            psFree(object);
     1291            exit(EXIT_FAILURE);
     1292        }
     1293        if (!object->fringe_1 == 32.32) {
     1294            psFree(object);
     1295            exit(EXIT_FAILURE);
     1296        }
     1297        if (!object->fringe_2 == 32.32) {
     1298            psFree(object);
     1299            exit(EXIT_FAILURE);
     1300        }
     1301        if (!object->sigma_ra == 32.32) {
     1302            psFree(object);
     1303            exit(EXIT_FAILURE);
     1304        }
     1305        if (!object->sigma_dec == 32.32) {
     1306            psFree(object);
     1307            exit(EXIT_FAILURE);
     1308        }
     1309        if (!object->ap_resid == 32.32) {
     1310            psFree(object);
     1311            exit(EXIT_FAILURE);
     1312        }
     1313        if (!object->ap_resid_stdev == 32.32) {
     1314            psFree(object);
     1315            exit(EXIT_FAILURE);
     1316        }
     1317        if (!object->fwhm == 32.32) {
     1318            psFree(object);
     1319            exit(EXIT_FAILURE);
     1320        }
     1321        if (!object->fwhm_range == 32.32) {
     1322            psFree(object);
     1323            exit(EXIT_FAILURE);
     1324        }
     1325        if (!object->n_stars == -32) {
     1326            psFree(object);
     1327            exit(EXIT_FAILURE);
     1328        }
     1329        if (!object->n_extended == -32) {
     1330            psFree(object);
     1331            exit(EXIT_FAILURE);
     1332        }
     1333        if (!object->n_cr == -32) {
     1334            psFree(object);
     1335            exit(EXIT_FAILURE);
     1336        }
     1337        if (!object->n_astrom == -32) {
     1338            psFree(object);
     1339            exit(EXIT_FAILURE);
     1340        }
     1341        if (strncmp(object->path_base, "a string", MAX_STRING_LENGTH)) {
     1342            psFree(object);
     1343            exit(EXIT_FAILURE);
     1344        }
     1345            psFree(object);
     1346            exit(EXIT_FAILURE);
     1347        }
     1348
     1349        psFree(object);
     1350    }
     1351
     1352    {
     1353        psMetadata      *md;
     1354        chipMaskRow     *object;
     1355
     1356        md = psMetadataAlloc();
     1357        if (!psMetadataAddStr(md, PS_LIST_TAIL, "label", 0, NULL, "a string")) {
     1358            psFree(md);
     1359            exit(EXIT_FAILURE);
     1360        }
     1361
     1362        object = chipMaskObjectFromMetadata(md);
     1363        if (!object) {
     1364            psFree(md);
     1365            exit(EXIT_FAILURE);
     1366        }
     1367
     1368        psFree(md);
     1369
     1370        if (strncmp(object->label, "a string", MAX_STRING_LENGTH)) {
     1371            psFree(object);
     1372            exit(EXIT_FAILURE);
     1373        }
     1374
     1375        psFree(object);
     1376    }
     1377
     1378    {
     1379        psMetadata      *md;
     1380        camRunRow       *object;
     1381
     1382        md = psMetadataAlloc();
     1383            psFree(md);
     1384            exit(EXIT_FAILURE);
     1385        }
     1386            psFree(md);
     1387            exit(EXIT_FAILURE);
     1388        }
     1389        if (!psMetadataAddStr(md, PS_LIST_TAIL, "state", 0, NULL, "a string")) {
     1390            psFree(md);
     1391            exit(EXIT_FAILURE);
     1392        }
     1393        if (!psMetadataAddStr(md, PS_LIST_TAIL, "workdir", 0, NULL, "a string")) {
     1394            psFree(md);
     1395            exit(EXIT_FAILURE);
     1396        }
     1397        if (!psMetadataAddStr(md, PS_LIST_TAIL, "workdir_state", 0, NULL, "a string")) {
     1398            psFree(md);
     1399            exit(EXIT_FAILURE);
     1400        }
     1401        if (!psMetadataAddStr(md, PS_LIST_TAIL, "label", 0, NULL, "a string")) {
     1402            psFree(md);
     1403            exit(EXIT_FAILURE);
     1404        }
     1405        if (!psMetadataAddStr(md, PS_LIST_TAIL, "reduction", 0, NULL, "a string")) {
     1406            psFree(md);
     1407            exit(EXIT_FAILURE);
     1408        }
     1409        if (!psMetadataAddStr(md, PS_LIST_TAIL, "expgroup", 0, NULL, "a string")) {
     1410            psFree(md);
     1411            exit(EXIT_FAILURE);
     1412        }
     1413        if (!psMetadataAddStr(md, PS_LIST_TAIL, "dvodb", 0, NULL, "a string")) {
     1414            psFree(md);
     1415            exit(EXIT_FAILURE);
     1416        }
     1417
     1418        object = camRunObjectFromMetadata(md);
     1419        if (!object) {
     1420            psFree(md);
     1421            exit(EXIT_FAILURE);
     1422        }
     1423
     1424        psFree(md);
     1425
     1426            psFree(object);
     1427            exit(EXIT_FAILURE);
     1428        }
     1429            psFree(object);
     1430            exit(EXIT_FAILURE);
     1431        }
     1432        if (strncmp(object->state, "a string", MAX_STRING_LENGTH)) {
     1433            psFree(object);
     1434            exit(EXIT_FAILURE);
     1435        }
     1436        if (strncmp(object->workdir, "a string", MAX_STRING_LENGTH)) {
     1437            psFree(object);
     1438            exit(EXIT_FAILURE);
     1439        }
     1440        if (strncmp(object->workdir_state, "a string", MAX_STRING_LENGTH)) {
     1441            psFree(object);
     1442            exit(EXIT_FAILURE);
     1443        }
     1444        if (strncmp(object->label, "a string", MAX_STRING_LENGTH)) {
     1445            psFree(object);
     1446            exit(EXIT_FAILURE);
     1447        }
     1448        if (strncmp(object->reduction, "a string", MAX_STRING_LENGTH)) {
     1449            psFree(object);
     1450            exit(EXIT_FAILURE);
     1451        }
     1452        if (strncmp(object->expgroup, "a string", MAX_STRING_LENGTH)) {
     1453            psFree(object);
     1454            exit(EXIT_FAILURE);
     1455        }
     1456        if (strncmp(object->dvodb, "a string", MAX_STRING_LENGTH)) {
     1457            psFree(object);
     1458            exit(EXIT_FAILURE);
     1459        }
     1460
     1461        psFree(object);
     1462    }
     1463
     1464    {
     1465        psMetadata      *md;
     1466        camProcessedExpRow *object;
     1467
     1468        md = psMetadataAlloc();
     1469            psFree(md);
     1470            exit(EXIT_FAILURE);
     1471        }
     1472            psFree(md);
     1473            exit(EXIT_FAILURE);
     1474        }
     1475        if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, "a string")) {
     1476            psFree(md);
     1477            exit(EXIT_FAILURE);
     1478        }
     1479        if (!psMetadataAddF32(md, PS_LIST_TAIL, "bg", 0, NULL, 32.32)) {
     1480            psFree(md);
     1481            exit(EXIT_FAILURE);
     1482        }
     1483        if (!psMetadataAddF32(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, 32.32)) {
     1484            psFree(md);
     1485            exit(EXIT_FAILURE);
     1486        }
     1487        if (!psMetadataAddF32(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, 32.32)) {
     1488            psFree(md);
     1489            exit(EXIT_FAILURE);
     1490        }
     1491        if (!psMetadataAddF32(md, PS_LIST_TAIL, "sigma_ra", 0, NULL, 32.32)) {
     1492            psFree(md);
     1493            exit(EXIT_FAILURE);
     1494        }
     1495        if (!psMetadataAddF32(md, PS_LIST_TAIL, "sigma_dec", 0, NULL, 32.32)) {
     1496            psFree(md);
     1497            exit(EXIT_FAILURE);
     1498        }
     1499        if (!psMetadataAddF32(md, PS_LIST_TAIL, "zp_mean", 0, NULL, 32.32)) {
     1500            psFree(md);
     1501            exit(EXIT_FAILURE);
     1502        }
     1503        if (!psMetadataAddF32(md, PS_LIST_TAIL, "zp_stdev", 0, NULL, 32.32)) {
     1504            psFree(md);
     1505            exit(EXIT_FAILURE);
     1506        }
     1507        if (!psMetadataAddF32(md, PS_LIST_TAIL, "fwhm", 0, NULL, 32.32)) {
     1508            psFree(md);
     1509            exit(EXIT_FAILURE);
     1510        }
     1511        if (!psMetadataAddF32(md, PS_LIST_TAIL, "fwhm_range", 0, NULL, 32.32)) {
     1512            psFree(md);
     1513            exit(EXIT_FAILURE);
     1514        }
     1515        if (!psMetadataAddS32(md, PS_LIST_TAIL, "n_stars", 0, NULL, -32)) {
     1516            psFree(md);
     1517            exit(EXIT_FAILURE);
     1518        }
     1519        if (!psMetadataAddS32(md, PS_LIST_TAIL, "n_extended", 0, NULL, -32)) {
     1520            psFree(md);
     1521            exit(EXIT_FAILURE);
     1522        }
     1523        if (!psMetadataAddS32(md, PS_LIST_TAIL, "n_cr", 0, NULL, -32)) {
     1524            psFree(md);
     1525            exit(EXIT_FAILURE);
     1526        }
     1527        if (!psMetadataAddS32(md, PS_LIST_TAIL, "n_astrom", 0, NULL, -32)) {
     1528            psFree(md);
     1529            exit(EXIT_FAILURE);
     1530        }
     1531        if (!psMetadataAddStr(md, PS_LIST_TAIL, "path_base", 0, NULL, "a string")) {
     1532            psFree(md);
     1533            exit(EXIT_FAILURE);
     1534        }
     1535            psFree(md);
     1536            exit(EXIT_FAILURE);
     1537        }
     1538
     1539        object = camProcessedExpObjectFromMetadata(md);
     1540        if (!object) {
     1541            psFree(md);
     1542            exit(EXIT_FAILURE);
     1543        }
     1544
     1545        psFree(md);
     1546
     1547            psFree(object);
     1548            exit(EXIT_FAILURE);
     1549        }
     1550            psFree(object);
     1551            exit(EXIT_FAILURE);
     1552        }
     1553        if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) {
     1554            psFree(object);
     1555            exit(EXIT_FAILURE);
     1556        }
     1557        if (!object->bg == 32.32) {
     1558            psFree(object);
     1559            exit(EXIT_FAILURE);
     1560        }
     1561        if (!object->bg_stdev == 32.32) {
     1562            psFree(object);
     1563            exit(EXIT_FAILURE);
     1564        }
     1565        if (!object->bg_mean_stdev == 32.32) {
     1566            psFree(object);
     1567            exit(EXIT_FAILURE);
     1568        }
     1569        if (!object->sigma_ra == 32.32) {
     1570            psFree(object);
     1571            exit(EXIT_FAILURE);
     1572        }
     1573        if (!object->sigma_dec == 32.32) {
     1574            psFree(object);
     1575            exit(EXIT_FAILURE);
     1576        }
     1577        if (!object->zp_mean == 32.32) {
     1578            psFree(object);
     1579            exit(EXIT_FAILURE);
     1580        }
     1581        if (!object->zp_stdev == 32.32) {
     1582            psFree(object);
     1583            exit(EXIT_FAILURE);
     1584        }
     1585        if (!object->fwhm == 32.32) {
     1586            psFree(object);
     1587            exit(EXIT_FAILURE);
     1588        }
     1589        if (!object->fwhm_range == 32.32) {
     1590            psFree(object);
     1591            exit(EXIT_FAILURE);
     1592        }
     1593        if (!object->n_stars == -32) {
     1594            psFree(object);
     1595            exit(EXIT_FAILURE);
     1596        }
     1597        if (!object->n_extended == -32) {
     1598            psFree(object);
     1599            exit(EXIT_FAILURE);
     1600        }
     1601        if (!object->n_cr == -32) {
     1602            psFree(object);
     1603            exit(EXIT_FAILURE);
     1604        }
     1605        if (!object->n_astrom == -32) {
     1606            psFree(object);
     1607            exit(EXIT_FAILURE);
     1608        }
     1609        if (strncmp(object->path_base, "a string", MAX_STRING_LENGTH)) {
     1610            psFree(object);
     1611            exit(EXIT_FAILURE);
     1612        }
     1613            psFree(object);
     1614            exit(EXIT_FAILURE);
     1615        }
     1616
     1617        psFree(object);
     1618    }
     1619
     1620    {
     1621        psMetadata      *md;
     1622        camMaskRow      *object;
     1623
     1624        md = psMetadataAlloc();
     1625        if (!psMetadataAddStr(md, PS_LIST_TAIL, "label", 0, NULL, "a string")) {
     1626            psFree(md);
     1627            exit(EXIT_FAILURE);
     1628        }
     1629
     1630        object = camMaskObjectFromMetadata(md);
     1631        if (!object) {
     1632            psFree(md);
     1633            exit(EXIT_FAILURE);
     1634        }
     1635
     1636        psFree(md);
     1637
     1638        if (strncmp(object->label, "a string", MAX_STRING_LENGTH)) {
     1639            psFree(object);
     1640            exit(EXIT_FAILURE);
     1641        }
     1642
     1643        psFree(object);
     1644    }
     1645
     1646    {
     1647        psMetadata      *md;
     1648        warpRunRow      *object;
     1649
     1650        md = psMetadataAlloc();
     1651            psFree(md);
     1652            exit(EXIT_FAILURE);
     1653        }
     1654        if (!psMetadataAddStr(md, PS_LIST_TAIL, "mode", 0, NULL, "a string")) {
     1655            psFree(md);
     1656            exit(EXIT_FAILURE);
     1657        }
     1658        if (!psMetadataAddStr(md, PS_LIST_TAIL, "state", 0, NULL, "a string")) {
     1659            psFree(md);
     1660            exit(EXIT_FAILURE);
     1661        }
     1662        if (!psMetadataAddStr(md, PS_LIST_TAIL, "workdir", 0, NULL, "a string")) {
     1663            psFree(md);
     1664            exit(EXIT_FAILURE);
     1665        }
     1666        if (!psMetadataAddStr(md, PS_LIST_TAIL, "dvodb", 0, NULL, "a string")) {
     1667            psFree(md);
     1668            exit(EXIT_FAILURE);
     1669        }
     1670            psFree(md);
     1671            exit(EXIT_FAILURE);
     1672        }
     1673
     1674        object = warpRunObjectFromMetadata(md);
     1675        if (!object) {
     1676            psFree(md);
     1677            exit(EXIT_FAILURE);
     1678        }
     1679
     1680        psFree(md);
     1681
     1682            psFree(object);
     1683            exit(EXIT_FAILURE);
     1684        }
     1685        if (strncmp(object->mode, "a string", MAX_STRING_LENGTH)) {
     1686            psFree(object);
     1687            exit(EXIT_FAILURE);
     1688        }
     1689        if (strncmp(object->state, "a string", MAX_STRING_LENGTH)) {
     1690            psFree(object);
     1691            exit(EXIT_FAILURE);
     1692        }
     1693        if (strncmp(object->workdir, "a string", MAX_STRING_LENGTH)) {
     1694            psFree(object);
     1695            exit(EXIT_FAILURE);
     1696        }
     1697        if (strncmp(object->dvodb, "a string", MAX_STRING_LENGTH)) {
     1698            psFree(object);
     1699            exit(EXIT_FAILURE);
     1700        }
     1701            psFree(object);
     1702            exit(EXIT_FAILURE);
     1703        }
     1704
     1705        psFree(object);
     1706    }
     1707
     1708    {
     1709        psMetadata      *md;
     1710        warpInputExpRow *object;
     1711
     1712        md = psMetadataAlloc();
     1713            psFree(md);
     1714            exit(EXIT_FAILURE);
     1715        }
     1716            psFree(md);
     1717            exit(EXIT_FAILURE);
     1718        }
     1719        if (!psMetadataAdd(md, PS_LIST_TAIL, "magiced", PS_DATA_BOOL, NULL, true)) {
     1720            psFree(md);
     1721            exit(EXIT_FAILURE);
     1722        }
     1723
     1724        object = warpInputExpObjectFromMetadata(md);
     1725        if (!object) {
     1726            psFree(md);
     1727            exit(EXIT_FAILURE);
     1728        }
     1729
     1730        psFree(md);
     1731
     1732            psFree(object);
     1733            exit(EXIT_FAILURE);
     1734        }
     1735            psFree(object);
     1736            exit(EXIT_FAILURE);
     1737        }
     1738        if (!object->magiced == true) {
     1739            psFree(object);
     1740            exit(EXIT_FAILURE);
     1741        }
     1742
     1743        psFree(object);
     1744    }
     1745
     1746    {
     1747        psMetadata      *md;
     1748        warpSkyCellMapRow *object;
     1749
     1750        md = psMetadataAlloc();
     1751            psFree(md);
     1752            exit(EXIT_FAILURE);
     1753        }
     1754        if (!psMetadataAddStr(md, PS_LIST_TAIL, "skycell_id", 0, NULL, "a string")) {
     1755            psFree(md);
     1756            exit(EXIT_FAILURE);
     1757        }
     1758        if (!psMetadataAddStr(md, PS_LIST_TAIL, "tess_id", 0, NULL, "a string")) {
    11691759            psFree(md);
    11701760            exit(EXIT_FAILURE);
     
    11771767            exit(EXIT_FAILURE);
    11781768        }
     1769            psFree(md);
     1770            exit(EXIT_FAILURE);
     1771        }
     1772
     1773        object = warpSkyCellMapObjectFromMetadata(md);
     1774        if (!object) {
     1775            psFree(md);
     1776            exit(EXIT_FAILURE);
     1777        }
     1778
     1779        psFree(md);
     1780
     1781            psFree(object);
     1782            exit(EXIT_FAILURE);
     1783        }
     1784        if (strncmp(object->skycell_id, "a string", MAX_STRING_LENGTH)) {
     1785            psFree(object);
     1786            exit(EXIT_FAILURE);
     1787        }
     1788        if (strncmp(object->tess_id, "a string", MAX_STRING_LENGTH)) {
     1789            psFree(object);
     1790            exit(EXIT_FAILURE);
     1791        }
     1792            psFree(object);
     1793            exit(EXIT_FAILURE);
     1794        }
     1795        if (strncmp(object->class_id, "a string", MAX_STRING_LENGTH)) {
     1796            psFree(object);
     1797            exit(EXIT_FAILURE);
     1798        }
     1799            psFree(object);
     1800            exit(EXIT_FAILURE);
     1801        }
     1802
     1803        psFree(object);
     1804    }
     1805
     1806    {
     1807        psMetadata      *md;
     1808        warpSkyfileRow  *object;
     1809
     1810        md = psMetadataAlloc();
     1811            psFree(md);
     1812            exit(EXIT_FAILURE);
     1813        }
     1814        if (!psMetadataAddStr(md, PS_LIST_TAIL, "skycell_id", 0, NULL, "a string")) {
     1815            psFree(md);
     1816            exit(EXIT_FAILURE);
     1817        }
     1818        if (!psMetadataAddStr(md, PS_LIST_TAIL, "tess_id", 0, NULL, "a string")) {
     1819            psFree(md);
     1820            exit(EXIT_FAILURE);
     1821        }
    11791822        if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, "a string")) {
    11801823            psFree(md);
    11811824            exit(EXIT_FAILURE);
    11821825        }
    1183         if (!psMetadataAddF32(md, PS_LIST_TAIL, "bg", 0, NULL, 32.32)) {
    1184             psFree(md);
    1185             exit(EXIT_FAILURE);
    1186         }
    1187         if (!psMetadataAddF32(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, 32.32)) {
    1188             psFree(md);
    1189             exit(EXIT_FAILURE);
    1190         }
    1191         if (!psMetadataAddF32(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, 32.32)) {
    1192             psFree(md);
    1193             exit(EXIT_FAILURE);
    1194         }
    1195         if (!psMetadataAddF32(md, PS_LIST_TAIL, "bias", 0, NULL, 32.32)) {
    1196             psFree(md);
    1197             exit(EXIT_FAILURE);
    1198         }
    1199         if (!psMetadataAddF32(md, PS_LIST_TAIL, "bias_stdev", 0, NULL, 32.32)) {
    1200             psFree(md);
    1201             exit(EXIT_FAILURE);
    1202         }
    1203         if (!psMetadataAddF32(md, PS_LIST_TAIL, "fringe_0", 0, NULL, 32.32)) {
    1204             psFree(md);
    1205             exit(EXIT_FAILURE);
    1206         }
    1207         if (!psMetadataAddF32(md, PS_LIST_TAIL, "fringe_1", 0, NULL, 32.32)) {
    1208             psFree(md);
    1209             exit(EXIT_FAILURE);
    1210         }
    1211         if (!psMetadataAddF32(md, PS_LIST_TAIL, "fringe_2", 0, NULL, 32.32)) {
    1212             psFree(md);
    1213             exit(EXIT_FAILURE);
    1214         }
    1215         if (!psMetadataAddF32(md, PS_LIST_TAIL, "sigma_ra", 0, NULL, 32.32)) {
    1216             psFree(md);
    1217             exit(EXIT_FAILURE);
    1218         }
    1219         if (!psMetadataAddF32(md, PS_LIST_TAIL, "sigma_dec", 0, NULL, 32.32)) {
    1220             psFree(md);
    1221             exit(EXIT_FAILURE);
    1222         }
    1223         if (!psMetadataAddF32(md, PS_LIST_TAIL, "ap_resid", 0, NULL, 32.32)) {
    1224             psFree(md);
    1225             exit(EXIT_FAILURE);
    1226         }
    1227         if (!psMetadataAddF32(md, PS_LIST_TAIL, "ap_resid_stdev", 0, NULL, 32.32)) {
    1228             psFree(md);
    1229             exit(EXIT_FAILURE);
    1230         }
    1231         if (!psMetadataAddF32(md, PS_LIST_TAIL, "fwhm", 0, NULL, 32.32)) {
    1232             psFree(md);
    1233             exit(EXIT_FAILURE);
    1234         }
    1235         if (!psMetadataAddF32(md, PS_LIST_TAIL, "fwhm_range", 0, NULL, 32.32)) {
    1236             psFree(md);
    1237             exit(EXIT_FAILURE);
    1238         }
    1239         if (!psMetadataAddS32(md, PS_LIST_TAIL, "n_stars", 0, NULL, -32)) {
    1240             psFree(md);
    1241             exit(EXIT_FAILURE);
    1242         }
    1243         if (!psMetadataAddS32(md, PS_LIST_TAIL, "n_extended", 0, NULL, -32)) {
    1244             psFree(md);
    1245             exit(EXIT_FAILURE);
    1246         }
    1247         if (!psMetadataAddS32(md, PS_LIST_TAIL, "n_cr", 0, NULL, -32)) {
    1248             psFree(md);
    1249             exit(EXIT_FAILURE);
    1250         }
    1251         if (!psMetadataAddS32(md, PS_LIST_TAIL, "n_astrom", 0, NULL, -32)) {
    1252             psFree(md);
    1253             exit(EXIT_FAILURE);
    1254         }
    12551826        if (!psMetadataAddStr(md, PS_LIST_TAIL, "path_base", 0, NULL, "a string")) {
    12561827            psFree(md);
    12571828            exit(EXIT_FAILURE);
    12581829        }
    1259             psFree(md);
    1260             exit(EXIT_FAILURE);
    1261         }
    1262 
    1263         object = chipProcessedImfileObjectFromMetadata(md);
    1264         if (!object) {
    1265             psFree(md);
    1266             exit(EXIT_FAILURE);
    1267         }
    1268 
    1269         psFree(md);
    1270 
    1271             psFree(object);
    1272             exit(EXIT_FAILURE);
    1273         }
    1274             psFree(object);
    1275             exit(EXIT_FAILURE);
    1276         }
    1277         if (strncmp(object->class_id, "a string", MAX_STRING_LENGTH)) {
     1830        if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg", 0, NULL, 64.64)) {
     1831            psFree(md);
     1832            exit(EXIT_FAILURE);
     1833        }
     1834        if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, 64.64)) {
     1835            psFree(md);
     1836            exit(EXIT_FAILURE);
     1837        }
     1838            psFree(md);
     1839            exit(EXIT_FAILURE);
     1840        }
     1841
     1842        object = warpSkyfileObjectFromMetadata(md);
     1843        if (!object) {
     1844            psFree(md);
     1845            exit(EXIT_FAILURE);
     1846        }
     1847
     1848        psFree(md);
     1849
     1850            psFree(object);
     1851            exit(EXIT_FAILURE);
     1852        }
     1853        if (strncmp(object->skycell_id, "a string", MAX_STRING_LENGTH)) {
     1854            psFree(object);
     1855            exit(EXIT_FAILURE);
     1856        }
     1857        if (strncmp(object->tess_id, "a string", MAX_STRING_LENGTH)) {
    12781858            psFree(object);
    12791859            exit(EXIT_FAILURE);
     
    12831863            exit(EXIT_FAILURE);
    12841864        }
    1285         if (!object->bg == 32.32) {
    1286             psFree(object);
    1287             exit(EXIT_FAILURE);
    1288         }
    1289         if (!object->bg_stdev == 32.32) {
    1290             psFree(object);
    1291             exit(EXIT_FAILURE);
    1292         }
    1293         if (!object->bg_mean_stdev == 32.32) {
    1294             psFree(object);
    1295             exit(EXIT_FAILURE);
    1296         }
    1297         if (!object->bias == 32.32) {
    1298             psFree(object);
    1299             exit(EXIT_FAILURE);
    1300         }
    1301         if (!object->bias_stdev == 32.32) {
    1302             psFree(object);
    1303             exit(EXIT_FAILURE);
    1304         }
    1305         if (!object->fringe_0 == 32.32) {
    1306             psFree(object);
    1307             exit(EXIT_FAILURE);
    1308         }
    1309         if (!object->fringe_1 == 32.32) {
    1310             psFree(object);
    1311             exit(EXIT_FAILURE);
    1312         }
    1313         if (!object->fringe_2 == 32.32) {
    1314             psFree(object);
    1315             exit(EXIT_FAILURE);
    1316         }
    1317         if (!object->sigma_ra == 32.32) {
    1318             psFree(object);
    1319             exit(EXIT_FAILURE);
    1320         }
    1321         if (!object->sigma_dec == 32.32) {
    1322             psFree(object);
    1323             exit(EXIT_FAILURE);
    1324         }
    1325         if (!object->ap_resid == 32.32) {
    1326             psFree(object);
    1327             exit(EXIT_FAILURE);
    1328         }
    1329         if (!object->ap_resid_stdev == 32.32) {
    1330             psFree(object);
    1331             exit(EXIT_FAILURE);
    1332         }
    1333         if (!object->fwhm == 32.32) {
    1334             psFree(object);
    1335             exit(EXIT_FAILURE);
    1336         }
    1337         if (!object->fwhm_range == 32.32) {
    1338             psFree(object);
    1339             exit(EXIT_FAILURE);
    1340         }
    1341         if (!object->n_stars == -32) {
    1342             psFree(object);
    1343             exit(EXIT_FAILURE);
    1344         }
    1345         if (!object->n_extended == -32) {
    1346             psFree(object);
    1347             exit(EXIT_FAILURE);
    1348         }
    1349         if (!object->n_cr == -32) {
    1350             psFree(object);
    1351             exit(EXIT_FAILURE);
    1352         }
    1353         if (!object->n_astrom == -32) {
    1354             psFree(object);
    1355             exit(EXIT_FAILURE);
    1356         }
    13571865        if (strncmp(object->path_base, "a string", MAX_STRING_LENGTH)) {
    13581866            psFree(object);
    13591867            exit(EXIT_FAILURE);
    13601868        }
    1361             psFree(object);
    1362             exit(EXIT_FAILURE);
    1363         }
    1364 
    1365         psFree(object);
    1366     }
    1367 
    1368     {
    1369         psMetadata      *md;
    1370         chipMaskRow     *object;
    1371 
    1372         md = psMetadataAlloc();
    1373         if (!psMetadataAddStr(md, PS_LIST_TAIL, "label", 0, NULL, "a string")) {
    1374             psFree(md);
    1375             exit(EXIT_FAILURE);
    1376         }
    1377 
    1378         object = chipMaskObjectFromMetadata(md);
    1379         if (!object) {
    1380             psFree(md);
    1381             exit(EXIT_FAILURE);
    1382         }
    1383 
    1384         psFree(md);
    1385 
    1386         if (strncmp(object->label, "a string", MAX_STRING_LENGTH)) {
    1387             psFree(object);
    1388             exit(EXIT_FAILURE);
    1389         }
    1390 
    1391         psFree(object);
    1392     }
    1393 
    1394     {
    1395         psMetadata      *md;
    1396         camRunRow       *object;
    1397 
    1398         md = psMetadataAlloc();
    1399             psFree(md);
    1400             exit(EXIT_FAILURE);
    1401         }
     1869        if (!object->bg == 64.64) {
     1870            psFree(object);
     1871            exit(EXIT_FAILURE);
     1872        }
     1873        if (!object->bg_stdev == 64.64) {
     1874            psFree(object);
     1875            exit(EXIT_FAILURE);
     1876        }
     1877            psFree(object);
     1878            exit(EXIT_FAILURE);
     1879        }
     1880
     1881        psFree(object);
     1882    }
     1883
     1884    {
     1885        psMetadata      *md;
     1886        diffRunRow      *object;
     1887
     1888        md = psMetadataAlloc();
    14021889            psFree(md);
    14031890            exit(EXIT_FAILURE);
     
    14111898            exit(EXIT_FAILURE);
    14121899        }
    1413         if (!psMetadataAddStr(md, PS_LIST_TAIL, "workdir_state", 0, NULL, "a string")) {
    1414             psFree(md);
    1415             exit(EXIT_FAILURE);
    1416         }
    1417         if (!psMetadataAddStr(md, PS_LIST_TAIL, "label", 0, NULL, "a string")) {
    1418             psFree(md);
    1419             exit(EXIT_FAILURE);
    1420         }
    1421         if (!psMetadataAddStr(md, PS_LIST_TAIL, "reduction", 0, NULL, "a string")) {
    1422             psFree(md);
    1423             exit(EXIT_FAILURE);
    1424         }
    1425         if (!psMetadataAddStr(md, PS_LIST_TAIL, "expgroup", 0, NULL, "a string")) {
    1426             psFree(md);
    1427             exit(EXIT_FAILURE);
    1428         }
    14291900        if (!psMetadataAddStr(md, PS_LIST_TAIL, "dvodb", 0, NULL, "a string")) {
    14301901            psFree(md);
    14311902            exit(EXIT_FAILURE);
    14321903        }
    1433 
    1434         object = camRunObjectFromMetadata(md);
    1435         if (!object) {
    1436             psFree(md);
    1437             exit(EXIT_FAILURE);
    1438         }
    1439 
    1440         psFree(md);
    1441 
    1442             psFree(object);
    1443             exit(EXIT_FAILURE);
    1444         }
     1904            psFree(md);
     1905            exit(EXIT_FAILURE);
     1906        }
     1907        if (!psMetadataAddStr(md, PS_LIST_TAIL, "skycell_id", 0, NULL, "a string")) {
     1908            psFree(md);
     1909            exit(EXIT_FAILURE);
     1910        }
     1911        if (!psMetadataAddStr(md, PS_LIST_TAIL, "tess_id", 0, NULL, "a string")) {
     1912            psFree(md);
     1913            exit(EXIT_FAILURE);
     1914        }
     1915
     1916        object = diffRunObjectFromMetadata(md);
     1917        if (!object) {
     1918            psFree(md);
     1919            exit(EXIT_FAILURE);
     1920        }
     1921
     1922        psFree(md);
     1923
    14451924            psFree(object);
    14461925            exit(EXIT_FAILURE);
     
    14541933            exit(EXIT_FAILURE);
    14551934        }
    1456         if (strncmp(object->workdir_state, "a string", MAX_STRING_LENGTH)) {
    1457             psFree(object);
    1458             exit(EXIT_FAILURE);
    1459         }
    1460         if (strncmp(object->label, "a string", MAX_STRING_LENGTH)) {
    1461             psFree(object);
    1462             exit(EXIT_FAILURE);
    1463         }
    1464         if (strncmp(object->reduction, "a string", MAX_STRING_LENGTH)) {
    1465             psFree(object);
    1466             exit(EXIT_FAILURE);
    1467         }
    1468         if (strncmp(object->expgroup, "a string", MAX_STRING_LENGTH)) {
    1469             psFree(object);
    1470             exit(EXIT_FAILURE);
    1471         }
    14721935        if (strncmp(object->dvodb, "a string", MAX_STRING_LENGTH)) {
    14731936            psFree(object);
    14741937            exit(EXIT_FAILURE);
    14751938        }
    1476 
    1477         psFree(object);
    1478     }
    1479 
    1480     {
    1481         psMetadata      *md;
    1482         camProcessedExpRow *object;
    1483 
    1484         md = psMetadataAlloc();
    1485             psFree(md);
    1486             exit(EXIT_FAILURE);
    1487         }
     1939            psFree(object);
     1940            exit(EXIT_FAILURE);
     1941        }
     1942        if (strncmp(object->skycell_id, "a string", MAX_STRING_LENGTH)) {
     1943            psFree(object);
     1944            exit(EXIT_FAILURE);
     1945        }
     1946        if (strncmp(object->tess_id, "a string", MAX_STRING_LENGTH)) {
     1947            psFree(object);
     1948            exit(EXIT_FAILURE);
     1949        }
     1950
     1951        psFree(object);
     1952    }
     1953
     1954    {
     1955        psMetadata      *md;
     1956        diffInputSkyfileRow *object;
     1957
     1958        md = psMetadataAlloc();
     1959            psFree(md);
     1960            exit(EXIT_FAILURE);
     1961        }
     1962            psFree(md);
     1963            exit(EXIT_FAILURE);
     1964        }
     1965        if (!psMetadataAddStr(md, PS_LIST_TAIL, "skycell_id", 0, NULL, "a string")) {
     1966            psFree(md);
     1967            exit(EXIT_FAILURE);
     1968        }
     1969        if (!psMetadataAddStr(md, PS_LIST_TAIL, "tess_id", 0, NULL, "a string")) {
     1970            psFree(md);
     1971            exit(EXIT_FAILURE);
     1972        }
     1973        if (!psMetadataAddStr(md, PS_LIST_TAIL, "kind", 0, NULL, "a string")) {
     1974            psFree(md);
     1975            exit(EXIT_FAILURE);
     1976        }
     1977        if (!psMetadataAdd(md, PS_LIST_TAIL, "template", PS_DATA_BOOL, NULL, true)) {
     1978            psFree(md);
     1979            exit(EXIT_FAILURE);
     1980        }
     1981
     1982        object = diffInputSkyfileObjectFromMetadata(md);
     1983        if (!object) {
     1984            psFree(md);
     1985            exit(EXIT_FAILURE);
     1986        }
     1987
     1988        psFree(md);
     1989
     1990            psFree(object);
     1991            exit(EXIT_FAILURE);
     1992        }
     1993            psFree(object);
     1994            exit(EXIT_FAILURE);
     1995        }
     1996        if (strncmp(object->skycell_id, "a string", MAX_STRING_LENGTH)) {
     1997            psFree(object);
     1998            exit(EXIT_FAILURE);
     1999        }
     2000        if (strncmp(object->tess_id, "a string", MAX_STRING_LENGTH)) {
     2001            psFree(object);
     2002            exit(EXIT_FAILURE);
     2003        }
     2004        if (strncmp(object->kind, "a string", MAX_STRING_LENGTH)) {
     2005            psFree(object);
     2006            exit(EXIT_FAILURE);
     2007        }
     2008        if (!object->template == true) {
     2009            psFree(object);
     2010            exit(EXIT_FAILURE);
     2011        }
     2012
     2013        psFree(object);
     2014    }
     2015
     2016    {
     2017        psMetadata      *md;
     2018        diffSkyfileRow  *object;
     2019
     2020        md = psMetadataAlloc();
    14882021            psFree(md);
    14892022            exit(EXIT_FAILURE);
     
    14932026            exit(EXIT_FAILURE);
    14942027        }
    1495         if (!psMetadataAddF32(md, PS_LIST_TAIL, "bg", 0, NULL, 32.32)) {
    1496             psFree(md);
    1497             exit(EXIT_FAILURE);
    1498         }
    1499         if (!psMetadataAddF32(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, 32.32)) {
    1500             psFree(md);
    1501             exit(EXIT_FAILURE);
    1502         }
    1503         if (!psMetadataAddF32(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, 32.32)) {
    1504             psFree(md);
    1505             exit(EXIT_FAILURE);
    1506         }
    1507         if (!psMetadataAddF32(md, PS_LIST_TAIL, "sigma_ra", 0, NULL, 32.32)) {
    1508             psFree(md);
    1509             exit(EXIT_FAILURE);
    1510         }
    1511         if (!psMetadataAddF32(md, PS_LIST_TAIL, "sigma_dec", 0, NULL, 32.32)) {
    1512             psFree(md);
    1513             exit(EXIT_FAILURE);
    1514         }
    1515         if (!psMetadataAddF32(md, PS_LIST_TAIL, "zp_mean", 0, NULL, 32.32)) {
    1516             psFree(md);
    1517             exit(EXIT_FAILURE);
    1518         }
    1519         if (!psMetadataAddF32(md, PS_LIST_TAIL, "zp_stdev", 0, NULL, 32.32)) {
    1520             psFree(md);
    1521             exit(EXIT_FAILURE);
    1522         }
    1523         if (!psMetadataAddF32(md, PS_LIST_TAIL, "fwhm", 0, NULL, 32.32)) {
    1524             psFree(md);
    1525             exit(EXIT_FAILURE);
    1526         }
    1527         if (!psMetadataAddF32(md, PS_LIST_TAIL, "fwhm_range", 0, NULL, 32.32)) {
    1528             psFree(md);
    1529             exit(EXIT_FAILURE);
    1530         }
    1531         if (!psMetadataAddS32(md, PS_LIST_TAIL, "n_stars", 0, NULL, -32)) {
    1532             psFree(md);
    1533             exit(EXIT_FAILURE);
    1534         }
    1535         if (!psMetadataAddS32(md, PS_LIST_TAIL, "n_extended", 0, NULL, -32)) {
    1536             psFree(md);
    1537             exit(EXIT_FAILURE);
    1538         }
    1539         if (!psMetadataAddS32(md, PS_LIST_TAIL, "n_cr", 0, NULL, -32)) {
    1540             psFree(md);
    1541             exit(EXIT_FAILURE);
    1542         }
    1543         if (!psMetadataAddS32(md, PS_LIST_TAIL, "n_astrom", 0, NULL, -32)) {
    1544             psFree(md);
    1545             exit(EXIT_FAILURE);
    1546         }
    15472028        if (!psMetadataAddStr(md, PS_LIST_TAIL, "path_base", 0, NULL, "a string")) {
    15482029            psFree(md);
    15492030            exit(EXIT_FAILURE);
    15502031        }
    1551             psFree(md);
    1552             exit(EXIT_FAILURE);
    1553         }
    1554 
    1555         object = camProcessedExpObjectFromMetadata(md);
    1556         if (!object) {
    1557             psFree(md);
    1558             exit(EXIT_FAILURE);
    1559         }
    1560 
    1561         psFree(md);
    1562 
    1563             psFree(object);
    1564             exit(EXIT_FAILURE);
    1565         }
     2032        if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg", 0, NULL, 64.64)) {
     2033            psFree(md);
     2034            exit(EXIT_FAILURE);
     2035        }
     2036        if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, 64.64)) {
     2037            psFree(md);
     2038            exit(EXIT_FAILURE);
     2039        }
     2040            psFree(md);
     2041            exit(EXIT_FAILURE);
     2042        }
     2043
     2044        object = diffSkyfileObjectFromMetadata(md);
     2045        if (!object) {
     2046            psFree(md);
     2047            exit(EXIT_FAILURE);
     2048        }
     2049
     2050        psFree(md);
     2051
    15662052            psFree(object);
    15672053            exit(EXIT_FAILURE);
     
    15712057            exit(EXIT_FAILURE);
    15722058        }
    1573         if (!object->bg == 32.32) {
    1574             psFree(object);
    1575             exit(EXIT_FAILURE);
    1576         }
    1577         if (!object->bg_stdev == 32.32) {
    1578             psFree(object);
    1579             exit(EXIT_FAILURE);
    1580         }
    1581         if (!object->bg_mean_stdev == 32.32) {
    1582             psFree(object);
    1583             exit(EXIT_FAILURE);
    1584         }
    1585         if (!object->sigma_ra == 32.32) {
    1586             psFree(object);
    1587             exit(EXIT_FAILURE);
    1588         }
    1589         if (!object->sigma_dec == 32.32) {
    1590             psFree(object);
    1591             exit(EXIT_FAILURE);
    1592         }
    1593         if (!object->zp_mean == 32.32) {
    1594             psFree(object);
    1595             exit(EXIT_FAILURE);
    1596         }
    1597         if (!object->zp_stdev == 32.32) {
    1598             psFree(object);
    1599             exit(EXIT_FAILURE);
    1600         }
    1601         if (!object->fwhm == 32.32) {
    1602             psFree(object);
    1603             exit(EXIT_FAILURE);
    1604         }
    1605         if (!object->fwhm_range == 32.32) {
    1606             psFree(object);
    1607             exit(EXIT_FAILURE);
    1608         }
    1609         if (!object->n_stars == -32) {
    1610             psFree(object);
    1611             exit(EXIT_FAILURE);
    1612         }
    1613         if (!object->n_extended == -32) {
    1614             psFree(object);
    1615             exit(EXIT_FAILURE);
    1616         }
    1617         if (!object->n_cr == -32) {
    1618             psFree(object);
    1619             exit(EXIT_FAILURE);
    1620         }
    1621         if (!object->n_astrom == -32) {
    1622             psFree(object);
    1623             exit(EXIT_FAILURE);
    1624         }
    16252059        if (strncmp(object->path_base, "a string", MAX_STRING_LENGTH)) {
    16262060            psFree(object);
    16272061            exit(EXIT_FAILURE);
    16282062        }
    1629             psFree(object);
    1630             exit(EXIT_FAILURE);
    1631         }
    1632 
    1633         psFree(object);
    1634     }
    1635 
    1636     {
    1637         psMetadata      *md;
    1638         camMaskRow      *object;
    1639 
    1640         md = psMetadataAlloc();
    1641         if (!psMetadataAddStr(md, PS_LIST_TAIL, "label", 0, NULL, "a string")) {
    1642             psFree(md);
    1643             exit(EXIT_FAILURE);
    1644         }
    1645 
    1646         object = camMaskObjectFromMetadata(md);
    1647         if (!object) {
    1648             psFree(md);
    1649             exit(EXIT_FAILURE);
    1650         }
    1651 
    1652         psFree(md);
    1653 
    1654         if (strncmp(object->label, "a string", MAX_STRING_LENGTH)) {
    1655             psFree(object);
    1656             exit(EXIT_FAILURE);
    1657         }
    1658 
    1659         psFree(object);
    1660     }
    1661 
    1662     {
    1663         psMetadata      *md;
    1664         warpRunRow      *object;
    1665 
    1666         md = psMetadataAlloc();
    1667             psFree(md);
    1668             exit(EXIT_FAILURE);
    1669         }
    1670         if (!psMetadataAddStr(md, PS_LIST_TAIL, "mode", 0, NULL, "a string")) {
     2063        if (!object->bg == 64.64) {
     2064            psFree(object);
     2065            exit(EXIT_FAILURE);
     2066        }
     2067        if (!object->bg_stdev == 64.64) {
     2068            psFree(object);
     2069            exit(EXIT_FAILURE);
     2070        }
     2071            psFree(object);
     2072            exit(EXIT_FAILURE);
     2073        }
     2074
     2075        psFree(object);
     2076    }
     2077
     2078    {
     2079        psMetadata      *md;
     2080        stackRunRow     *object;
     2081
     2082        md = psMetadataAlloc();
    16712083            psFree(md);
    16722084            exit(EXIT_FAILURE);
     
    16872099            exit(EXIT_FAILURE);
    16882100        }
    1689 
    1690         object = warpRunObjectFromMetadata(md);
    1691         if (!object) {
    1692             psFree(md);
    1693             exit(EXIT_FAILURE);
    1694         }
    1695 
    1696         psFree(md);
    1697 
    1698             psFree(object);
    1699             exit(EXIT_FAILURE);
    1700         }
    1701         if (strncmp(object->mode, "a string", MAX_STRING_LENGTH)) {
     2101        if (!psMetadataAddStr(md, PS_LIST_TAIL, "skycell_id", 0, NULL, "a string")) {
     2102            psFree(md);
     2103            exit(EXIT_FAILURE);
     2104        }
     2105        if (!psMetadataAddStr(md, PS_LIST_TAIL, "tess_id", 0, NULL, "a string")) {
     2106            psFree(md);
     2107            exit(EXIT_FAILURE);
     2108        }
     2109
     2110        object = stackRunObjectFromMetadata(md);
     2111        if (!object) {
     2112            psFree(md);
     2113            exit(EXIT_FAILURE);
     2114        }
     2115
     2116        psFree(md);
     2117
    17022118            psFree(object);
    17032119            exit(EXIT_FAILURE);
     
    17182134            exit(EXIT_FAILURE);
    17192135        }
    1720 
    1721         psFree(object);
    1722     }
    1723 
    1724     {
    1725         psMetadata      *md;
    1726         warpInputExpRow *object;
    1727 
    1728         md = psMetadataAlloc();
    1729             psFree(md);
    1730             exit(EXIT_FAILURE);
    1731         }
    1732             psFree(md);
    1733             exit(EXIT_FAILURE);
    1734         }
    1735         if (!psMetadataAdd(md, PS_LIST_TAIL, "magiced", PS_DATA_BOOL, NULL, true)) {
    1736             psFree(md);
    1737             exit(EXIT_FAILURE);
    1738         }
    1739 
    1740         object = warpInputExpObjectFromMetadata(md);
    1741         if (!object) {
    1742             psFree(md);
    1743             exit(EXIT_FAILURE);
    1744         }
    1745 
    1746         psFree(md);
    1747 
    1748             psFree(object);
    1749             exit(EXIT_FAILURE);
    1750         }
    1751             psFree(object);
    1752             exit(EXIT_FAILURE);
    1753         }
    1754         if (!object->magiced == true) {
    1755             psFree(object);
    1756             exit(EXIT_FAILURE);
    1757         }
    1758 
    1759         psFree(object);
    1760     }
    1761 
    1762     {
    1763         psMetadata      *md;
    1764         warpSkyCellMapRow *object;
    1765 
    1766         md = psMetadataAlloc();
    1767             psFree(md);
    1768             exit(EXIT_FAILURE);
    1769         }
    1770         if (!psMetadataAddStr(md, PS_LIST_TAIL, "skycell_id", 0, NULL, "a string")) {
    1771             psFree(md);
    1772             exit(EXIT_FAILURE);
    1773         }
    1774         if (!psMetadataAddStr(md, PS_LIST_TAIL, "tess_id", 0, NULL, "a string")) {
    1775             psFree(md);
    1776             exit(EXIT_FAILURE);
    1777         }
    1778             psFree(md);
    1779             exit(EXIT_FAILURE);
    1780         }
    1781         if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, "a string")) {
    1782             psFree(md);
    1783             exit(EXIT_FAILURE);
    1784         }
    1785             psFree(md);
    1786             exit(EXIT_FAILURE);
    1787         }
    1788 
    1789         object = warpSkyCellMapObjectFromMetadata(md);
    1790         if (!object) {
    1791             psFree(md);
    1792             exit(EXIT_FAILURE);
    1793         }
    1794 
    1795         psFree(md);
    1796 
    1797             psFree(object);
    1798             exit(EXIT_FAILURE);
    1799         }
    18002136        if (strncmp(object->skycell_id, "a string", MAX_STRING_LENGTH)) {
    18012137            psFree(object);
     
    18062142            exit(EXIT_FAILURE);
    18072143        }
    1808             psFree(object);
    1809             exit(EXIT_FAILURE);
    1810         }
    1811         if (strncmp(object->class_id, "a string", MAX_STRING_LENGTH)) {
    1812             psFree(object);
    1813             exit(EXIT_FAILURE);
    1814         }
    1815             psFree(object);
    1816             exit(EXIT_FAILURE);
    1817         }
    1818 
    1819         psFree(object);
    1820     }
    1821 
    1822     {
    1823         psMetadata      *md;
    1824         warpSkyfileRow  *object;
    1825 
    1826         md = psMetadataAlloc();
    1827             psFree(md);
    1828             exit(EXIT_FAILURE);
    1829         }
    1830         if (!psMetadataAddStr(md, PS_LIST_TAIL, "skycell_id", 0, NULL, "a string")) {
    1831             psFree(md);
    1832             exit(EXIT_FAILURE);
    1833         }
    1834         if (!psMetadataAddStr(md, PS_LIST_TAIL, "tess_id", 0, NULL, "a string")) {
     2144
     2145        psFree(object);
     2146    }
     2147
     2148    {
     2149        psMetadata      *md;
     2150        stackInputSkyfileRow *object;
     2151
     2152        md = psMetadataAlloc();
     2153            psFree(md);
     2154            exit(EXIT_FAILURE);
     2155        }
     2156            psFree(md);
     2157            exit(EXIT_FAILURE);
     2158        }
     2159
     2160        object = stackInputSkyfileObjectFromMetadata(md);
     2161        if (!object) {
     2162            psFree(md);
     2163            exit(EXIT_FAILURE);
     2164        }
     2165
     2166        psFree(md);
     2167
     2168            psFree(object);
     2169            exit(EXIT_FAILURE);
     2170        }
     2171            psFree(object);
     2172            exit(EXIT_FAILURE);
     2173        }
     2174
     2175        psFree(object);
     2176    }
     2177
     2178    {
     2179        psMetadata      *md;
     2180        stackSumSkyfileRow *object;
     2181
     2182        md = psMetadataAlloc();
    18352183            psFree(md);
    18362184            exit(EXIT_FAILURE);
     
    18522200            exit(EXIT_FAILURE);
    18532201        }
    1854 
    1855         object = warpSkyfileObjectFromMetadata(md);
    1856         if (!object) {
    1857             psFree(md);
    1858             exit(EXIT_FAILURE);
    1859         }
    1860 
    1861         psFree(md);
    1862 
    1863             psFree(object);
    1864             exit(EXIT_FAILURE);
    1865         }
    1866         if (strncmp(object->skycell_id, "a string", MAX_STRING_LENGTH)) {
    1867             psFree(object);
    1868             exit(EXIT_FAILURE);
    1869         }
    1870         if (strncmp(object->tess_id, "a string", MAX_STRING_LENGTH)) {
     2202            psFree(md);
     2203            exit(EXIT_FAILURE);
     2204        }
     2205
     2206        object = stackSumSkyfileObjectFromMetadata(md);
     2207        if (!object) {
     2208            psFree(md);
     2209            exit(EXIT_FAILURE);
     2210        }
     2211
     2212        psFree(md);
     2213
    18712214            psFree(object);
    18722215            exit(EXIT_FAILURE);
     
    18882231            exit(EXIT_FAILURE);
    18892232        }
    1890 
    1891         psFree(object);
    1892     }
    1893 
    1894     {
    1895         psMetadata      *md;
    1896         diffRunRow      *object;
    1897 
    1898         md = psMetadataAlloc();
    1899             psFree(md);
    1900             exit(EXIT_FAILURE);
    1901         }
    1902         if (!psMetadataAddStr(md, PS_LIST_TAIL, "state", 0, NULL, "a string")) {
    1903             psFree(md);
    1904             exit(EXIT_FAILURE);
    1905         }
    1906         if (!psMetadataAddStr(md, PS_LIST_TAIL, "workdir", 0, NULL, "a string")) {
    1907             psFree(md);
    1908             exit(EXIT_FAILURE);
    1909         }
    1910         if (!psMetadataAddStr(md, PS_LIST_TAIL, "dvodb", 0, NULL, "a string")) {
    1911             psFree(md);
    1912             exit(EXIT_FAILURE);
    1913         }
    1914             psFree(md);
    1915             exit(EXIT_FAILURE);
    1916         }
    1917         if (!psMetadataAddStr(md, PS_LIST_TAIL, "skycell_id", 0, NULL, "a string")) {
    1918             psFree(md);
    1919             exit(EXIT_FAILURE);
    1920         }
    1921         if (!psMetadataAddStr(md, PS_LIST_TAIL, "tess_id", 0, NULL, "a string")) {
    1922             psFree(md);
    1923             exit(EXIT_FAILURE);
    1924         }
    1925 
    1926         object = diffRunObjectFromMetadata(md);
    1927         if (!object) {
    1928             psFree(md);
    1929             exit(EXIT_FAILURE);
    1930         }
    1931 
    1932         psFree(md);
    1933 
    1934             psFree(object);
    1935             exit(EXIT_FAILURE);
    1936         }
    1937         if (strncmp(object->state, "a string", MAX_STRING_LENGTH)) {
    1938             psFree(object);
    1939             exit(EXIT_FAILURE);
    1940         }
    1941         if (strncmp(object->workdir, "a string", MAX_STRING_LENGTH)) {
    1942             psFree(object);
    1943             exit(EXIT_FAILURE);
    1944         }
    1945         if (strncmp(object->dvodb, "a string", MAX_STRING_LENGTH)) {
    1946             psFree(object);
    1947             exit(EXIT_FAILURE);
    1948         }
    1949             psFree(object);
    1950             exit(EXIT_FAILURE);
    1951         }
    1952         if (strncmp(object->skycell_id, "a string", MAX_STRING_LENGTH)) {
    1953             psFree(object);
    1954             exit(EXIT_FAILURE);
    1955         }
    1956         if (strncmp(object->tess_id, "a string", MAX_STRING_LENGTH)) {
    1957             psFree(object);
    1958             exit(EXIT_FAILURE);
    1959         }
    1960 
    1961         psFree(object);
    1962     }
    1963 
    1964     {
    1965         psMetadata      *md;
    1966         diffInputSkyfileRow *object;
    1967 
    1968         md = psMetadataAlloc();
    1969             psFree(md);
    1970             exit(EXIT_FAILURE);
    1971         }
    1972             psFree(md);
    1973             exit(EXIT_FAILURE);
    1974         }
    1975         if (!psMetadataAddStr(md, PS_LIST_TAIL, "skycell_id", 0, NULL, "a string")) {
    1976             psFree(md);
    1977             exit(EXIT_FAILURE);
    1978         }
    1979         if (!psMetadataAddStr(md, PS_LIST_TAIL, "tess_id", 0, NULL, "a string")) {
    1980             psFree(md);
    1981             exit(EXIT_FAILURE);
    1982         }
    1983         if (!psMetadataAddStr(md, PS_LIST_TAIL, "kind", 0, NULL, "a string")) {
    1984             psFree(md);
    1985             exit(EXIT_FAILURE);
    1986         }
    1987         if (!psMetadataAdd(md, PS_LIST_TAIL, "template", PS_DATA_BOOL, NULL, true)) {
    1988             psFree(md);
    1989             exit(EXIT_FAILURE);
    1990         }
    1991 
    1992         object = diffInputSkyfileObjectFromMetadata(md);
    1993         if (!object) {
    1994             psFree(md);
    1995             exit(EXIT_FAILURE);
    1996         }
    1997 
    1998         psFree(md);
    1999 
    2000             psFree(object);
    2001             exit(EXIT_FAILURE);
    2002         }
    2003             psFree(object);
    2004             exit(EXIT_FAILURE);
    2005         }
    2006         if (strncmp(object->skycell_id, "a string", MAX_STRING_LENGTH)) {
    2007             psFree(object);
    2008             exit(EXIT_FAILURE);
    2009         }
    2010         if (strncmp(object->tess_id, "a string", MAX_STRING_LENGTH)) {
    2011             psFree(object);
    2012             exit(EXIT_FAILURE);
    2013         }
    2014         if (strncmp(object->kind, "a string", MAX_STRING_LENGTH)) {
    2015             psFree(object);
    2016             exit(EXIT_FAILURE);
    2017         }
    2018         if (!object->template == true) {
    2019             psFree(object);
    2020             exit(EXIT_FAILURE);
    2021         }
    2022 
    2023         psFree(object);
    2024     }
    2025 
    2026     {
    2027         psMetadata      *md;
    2028         diffSkyfileRow  *object;
    2029 
    2030         md = psMetadataAlloc();
    2031             psFree(md);
    2032             exit(EXIT_FAILURE);
    2033         }
    2034         if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, "a string")) {
    2035             psFree(md);
    2036             exit(EXIT_FAILURE);
    2037         }
    2038         if (!psMetadataAddStr(md, PS_LIST_TAIL, "path_base", 0, NULL, "a string")) {
    2039             psFree(md);
    2040             exit(EXIT_FAILURE);
    2041         }
    2042         if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg", 0, NULL, 64.64)) {
    2043             psFree(md);
    2044             exit(EXIT_FAILURE);
    2045         }
    2046         if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, 64.64)) {
    2047             psFree(md);
    2048             exit(EXIT_FAILURE);
    2049         }
    2050 
    2051         object = diffSkyfileObjectFromMetadata(md);
    2052         if (!object) {
    2053             psFree(md);
    2054             exit(EXIT_FAILURE);
    2055         }
    2056 
    2057         psFree(md);
    2058 
    2059             psFree(object);
    2060             exit(EXIT_FAILURE);
    2061         }
    2062         if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) {
    2063             psFree(object);
    2064             exit(EXIT_FAILURE);
    2065         }
    2066         if (strncmp(object->path_base, "a string", MAX_STRING_LENGTH)) {
    2067             psFree(object);
    2068             exit(EXIT_FAILURE);
    2069         }
    2070         if (!object->bg == 64.64) {
    2071             psFree(object);
    2072             exit(EXIT_FAILURE);
    2073         }
    2074         if (!object->bg_stdev == 64.64) {
    2075             psFree(object);
    2076             exit(EXIT_FAILURE);
    2077         }
    2078 
    2079         psFree(object);
    2080     }
    2081 
    2082     {
    2083         psMetadata      *md;
    2084         stackRunRow     *object;
    2085 
    2086         md = psMetadataAlloc();
    2087             psFree(md);
    2088             exit(EXIT_FAILURE);
    2089         }
    2090         if (!psMetadataAddStr(md, PS_LIST_TAIL, "state", 0, NULL, "a string")) {
    2091             psFree(md);
    2092             exit(EXIT_FAILURE);
    2093         }
    2094         if (!psMetadataAddStr(md, PS_LIST_TAIL, "workdir", 0, NULL, "a string")) {
    2095             psFree(md);
    2096             exit(EXIT_FAILURE);
    2097         }
    2098         if (!psMetadataAddStr(md, PS_LIST_TAIL, "dvodb", 0, NULL, "a string")) {
    2099             psFree(md);
    2100             exit(EXIT_FAILURE);
    2101         }
    2102             psFree(md);
    2103             exit(EXIT_FAILURE);
    2104         }
    2105         if (!psMetadataAddStr(md, PS_LIST_TAIL, "skycell_id", 0, NULL, "a string")) {
    2106             psFree(md);
    2107             exit(EXIT_FAILURE);
    2108         }
    2109         if (!psMetadataAddStr(md, PS_LIST_TAIL, "tess_id", 0, NULL, "a string")) {
    2110             psFree(md);
    2111             exit(EXIT_FAILURE);
    2112         }
    2113 
    2114         object = stackRunObjectFromMetadata(md);
    2115         if (!object) {
    2116             psFree(md);
    2117             exit(EXIT_FAILURE);
    2118         }
    2119 
    2120         psFree(md);
    2121 
    2122             psFree(object);
    2123             exit(EXIT_FAILURE);
    2124         }
    2125         if (strncmp(object->state, "a string", MAX_STRING_LENGTH)) {
    2126             psFree(object);
    2127             exit(EXIT_FAILURE);
    2128         }
    2129         if (strncmp(object->workdir, "a string", MAX_STRING_LENGTH)) {
    2130             psFree(object);
    2131             exit(EXIT_FAILURE);
    2132         }
    2133         if (strncmp(object->dvodb, "a string", MAX_STRING_LENGTH)) {
    2134             psFree(object);
    2135             exit(EXIT_FAILURE);
    2136         }
    2137             psFree(object);
    2138             exit(EXIT_FAILURE);
    2139         }
    2140         if (strncmp(object->skycell_id, "a string", MAX_STRING_LENGTH)) {
    2141             psFree(object);
    2142             exit(EXIT_FAILURE);
    2143         }
    2144         if (strncmp(object->tess_id, "a string", MAX_STRING_LENGTH)) {
    2145             psFree(object);
    2146             exit(EXIT_FAILURE);
    2147         }
    2148 
    2149         psFree(object);
    2150     }
    2151 
    2152     {
    2153         psMetadata      *md;
    2154         stackInputSkyfileRow *object;
    2155 
    2156         md = psMetadataAlloc();
    2157             psFree(md);
    2158             exit(EXIT_FAILURE);
    2159         }
    2160             psFree(md);
    2161             exit(EXIT_FAILURE);
    2162         }
    2163 
    2164         object = stackInputSkyfileObjectFromMetadata(md);
    2165         if (!object) {
    2166             psFree(md);
    2167             exit(EXIT_FAILURE);
    2168         }
    2169 
    2170         psFree(md);
    2171 
    2172             psFree(object);
    2173             exit(EXIT_FAILURE);
    2174         }
    2175             psFree(object);
    2176             exit(EXIT_FAILURE);
    2177         }
    2178 
    2179         psFree(object);
    2180     }
    2181 
    2182     {
    2183         psMetadata      *md;
    2184         stackSumSkyfileRow *object;
    2185 
    2186         md = psMetadataAlloc();
    2187             psFree(md);
    2188             exit(EXIT_FAILURE);
    2189         }
    2190         if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, "a string")) {
    2191             psFree(md);
    2192             exit(EXIT_FAILURE);
    2193         }
    2194         if (!psMetadataAddStr(md, PS_LIST_TAIL, "path_base", 0, NULL, "a string")) {
    2195             psFree(md);
    2196             exit(EXIT_FAILURE);
    2197         }
    2198         if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg", 0, NULL, 64.64)) {
    2199             psFree(md);
    2200             exit(EXIT_FAILURE);
    2201         }
    2202         if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, 64.64)) {
    2203             psFree(md);
    2204             exit(EXIT_FAILURE);
    2205         }
    2206 
    2207         object = stackSumSkyfileObjectFromMetadata(md);
    2208         if (!object) {
    2209             psFree(md);
    2210             exit(EXIT_FAILURE);
    2211         }
    2212 
    2213         psFree(md);
    2214 
    2215             psFree(object);
    2216             exit(EXIT_FAILURE);
    2217         }
    2218         if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) {
    2219             psFree(object);
    2220             exit(EXIT_FAILURE);
    2221         }
    2222         if (strncmp(object->path_base, "a string", MAX_STRING_LENGTH)) {
    2223             psFree(object);
    2224             exit(EXIT_FAILURE);
    2225         }
    2226         if (!object->bg == 64.64) {
    2227             psFree(object);
    2228             exit(EXIT_FAILURE);
    2229         }
    2230         if (!object->bg_stdev == 64.64) {
    22312233            psFree(object);
    22322234            exit(EXIT_FAILURE);
  • trunk/ippdb/tests/selectrowsfits.c

    r14061 r14169  
    285285        }
    286286
    287         if (!chipInputImfileSelectRowsFits(dbh, fits, NULL, 1)) {
    288             exit(EXIT_FAILURE);
    289         }
    290 
    291         psFree(fits);
    292         psDBCleanup(dbh);
    293     }
    294 
    295     {
    296         psDB            *dbh;
    297         psFits          *fits;
    298 
    299         dbh = psDBInit("localhost", "test", NULL, "test");
    300         if (!dbh) {
    301             exit(EXIT_FAILURE);
    302         }
    303 
    304         fits = psFitsOpen(TMP_FILENAME, "w");
    305         if (!fits) {
    306             exit(EXIT_FAILURE);
    307         }
    308 
    309287        if (!chipProcessedImfileSelectRowsFits(dbh, fits, NULL, 1)) {
    310288            exit(EXIT_FAILURE);
Note: See TracChangeset for help on using the changeset viewer.