IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 8084


Ignore:
Timestamp:
Aug 2, 2006, 4:32:20 PM (20 years ago)
Author:
jhoblitt
Message:

VERSION 0.0.8

Location:
branches/jhoblitt/ippdb
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • branches/jhoblitt/ippdb/configure.ac

    r8079 r8084  
    11AC_PREREQ(2.59)
    22
    3 AC_INIT([ippdb], [0.0.7], [pan-starrs.ifa.hawaii.edu])
     3AC_INIT([ippdb], [0.0.8], [pan-starrs.ifa.hawaii.edu])
    44AC_CONFIG_SRCDIR([ippdb.pc.in])
    55
  • branches/jhoblitt/ippdb/src/ippdb.c

    r8079 r8084  
    51305130static void newExpRowFree(newExpRow *object);
    51315131
    5132 newExpRow *newExpRowAlloc(const char *exp_id, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *class)
     5132newExpRow *newExpRowAlloc(const char *exp_id, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles)
    51335133{
    51345134    newExpRow       *object;
     
    51425142    object->exp_type = psStringCopy(exp_type);
    51435143    object->imfiles = imfiles;
    5144     object->class = psStringCopy(class);
    51455144
    51465145    return object;
     
    51535152    psFree(object->telescope);
    51545153    psFree(object->exp_type);
    5155     psFree(object->class);
    51565154}
    51575155
     
    51925190        return false;
    51935191    }
    5194     if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, "64")) {
    5195         psError(PS_ERR_UNKNOWN, false, "failed to add item class");
    5196         psFree(md);
    5197         return false;
    5198     }
    51995192
    52005193    status = psDBCreateTable(dbh, NEWEXP_TABLE_NAME, md);
     
    52105203}
    52115204
    5212 bool newExpInsert(psDB * dbh, const char *exp_id, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *class)
     5205bool newExpInsert(psDB * dbh, const char *exp_id, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles)
    52135206{
    52145207    psMetadata      *md;
     
    52415234        return false;
    52425235    }
    5243     if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, class)) {
    5244         psError(PS_ERR_UNKNOWN, false, "failed to add item class");
    5245         psFree(md);
    5246         return false;
    5247     }
    52485236
    52495237    status = psDBInsertOneRow(dbh, NEWEXP_TABLE_NAME, md);
     
    52535241}
    52545242
    5255 bool newExpPop(psDB *dbh, char **exp_id, char **camera, char **telescope, char **exp_type, psS32 *imfiles, char **class)
     5243bool newExpPop(psDB *dbh, char **exp_id, char **camera, char **telescope, char **exp_type, psS32 *imfiles)
    52565244{
    52575245    psArray         *rowSet;
     
    53275315        return false;
    53285316    }
    5329     *class = psMetadataLookupPtr(&status, row, "class");
    5330     if (!status) {
    5331         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item class");
    5332         psFree(row);
    5333         return false;
    5334     }
    53355317
    53365318    psFree(row);
     
    53415323bool newExpInsertObject(psDB *dbh, newExpRow *object)
    53425324{
    5343     return newExpInsert(dbh, object->exp_id, object->camera, object->telescope, object->exp_type, object->imfiles, object->class);
     5325    return newExpInsert(dbh, object->exp_id, object->camera, object->telescope, object->exp_type, object->imfiles);
    53445326}
    53455327
     
    53515333    char            exp_type[256];
    53525334    psS32           imfiles;
    5353     char            class[256];
    5354 
    5355     if (!newExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&class)) {
     5335
     5336    if (!newExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles)) {
    53565337        psError(PS_ERR_UNKNOWN, false, "failed to pop a database row");
    53575338        return NULL;
    53585339    }
    53595340
    5360     return newExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, class);
     5341    return newExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles);
    53615342}
    53625343
     
    54825463        return NULL;
    54835464    }
    5484     if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, object->class)) {
    5485         psError(PS_ERR_UNKNOWN, false, "failed to add item class");
    5486         psFree(md);
    5487         return NULL;
    5488     }
    54895465
    54905466    return md;
     
    54995475    char            *exp_type;
    55005476    psS32           imfiles;
    5501     char            *class;
    55025477
    55035478    exp_id = psMetadataLookupPtr(&status, md, "exp_id");
     
    55265501        return false;
    55275502    }
    5528     class = psMetadataLookupPtr(&status, md, "class");
    5529     if (!status) {
    5530         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item class");
    5531         return false;
    5532     }
    5533 
    5534     return newExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, class);
     5503
     5504    return newExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles);
    55355505}
    55365506psArray *newExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     
    59915961static void rawDetrendExpRowFree(rawDetrendExpRow *object);
    59925962
    5993 rawDetrendExpRow *rawDetrendExpRowAlloc(const char *exp_id, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *filter, const char *class, psF32 airmass, psF32 ra, psF32 dec, psF32 exp_time)
     5963rawDetrendExpRow *rawDetrendExpRowAlloc(const char *exp_id, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *filter, const char *class, psF32 airmass, psF64 ra, psF64 dec, psF32 exp_time, psF64 background)
    59945964{
    59955965    rawDetrendExpRow *object;
     
    60095979    object->dec = dec;
    60105980    object->exp_time = exp_time;
     5981    object->background = background;
    60115982
    60125983    return object;
     
    60746045        return false;
    60756046    }
    6076     if (!psMetadataAddF32(md, PS_LIST_TAIL, "ra", 0, NULL, 0.0)) {
     6047    if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, 0.0)) {
    60776048        psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
    60786049        psFree(md);
    60796050        return false;
    60806051    }
    6081     if (!psMetadataAddF32(md, PS_LIST_TAIL, "dec", 0, NULL, 0.0)) {
     6052    if (!psMetadataAddF64(md, PS_LIST_TAIL, "dec", 0, NULL, 0.0)) {
    60826053        psError(PS_ERR_UNKNOWN, false, "failed to add item dec");
    60836054        psFree(md);
     
    60896060        return false;
    60906061    }
     6062    if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, 0.0)) {
     6063        psError(PS_ERR_UNKNOWN, false, "failed to add item background");
     6064        psFree(md);
     6065        return false;
     6066    }
    60916067
    60926068    status = psDBCreateTable(dbh, RAWDETRENDEXP_TABLE_NAME, md);
     
    61026078}
    61036079
    6104 bool rawDetrendExpInsert(psDB * dbh, const char *exp_id, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *filter, const char *class, psF32 airmass, psF32 ra, psF32 dec, psF32 exp_time)
     6080bool rawDetrendExpInsert(psDB * dbh, const char *exp_id, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *filter, const char *class, psF32 airmass, psF64 ra, psF64 dec, psF32 exp_time, psF64 background)
    61056081{
    61066082    psMetadata      *md;
     
    61486124        return false;
    61496125    }
    6150     if (!psMetadataAddF32(md, PS_LIST_TAIL, "ra", 0, NULL, ra)) {
     6126    if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, ra)) {
    61516127        psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
    61526128        psFree(md);
    61536129        return false;
    61546130    }
    6155     if (!psMetadataAddF32(md, PS_LIST_TAIL, "dec", 0, NULL, dec)) {
     6131    if (!psMetadataAddF64(md, PS_LIST_TAIL, "dec", 0, NULL, dec)) {
    61566132        psError(PS_ERR_UNKNOWN, false, "failed to add item dec");
    61576133        psFree(md);
     
    61636139        return false;
    61646140    }
     6141    if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, background)) {
     6142        psError(PS_ERR_UNKNOWN, false, "failed to add item background");
     6143        psFree(md);
     6144        return false;
     6145    }
    61656146
    61666147    status = psDBInsertOneRow(dbh, RAWDETRENDEXP_TABLE_NAME, md);
     
    61706151}
    61716152
    6172 bool rawDetrendExpPop(psDB *dbh, char **exp_id, char **camera, char **telescope, char **exp_type, psS32 *imfiles, char **filter, char **class, psF32 *airmass, psF32 *ra, psF32 *dec, psF32 *exp_time)
     6153bool rawDetrendExpPop(psDB *dbh, char **exp_id, char **camera, char **telescope, char **exp_type, psS32 *imfiles, char **filter, char **class, psF32 *airmass, psF64 *ra, psF64 *dec, psF32 *exp_time, psF64 *background)
    61736154{
    61746155    psArray         *rowSet;
     
    62626243        return false;
    62636244    }
    6264     *ra = psMetadataLookupF32(&status, row, "ra");
     6245    *ra = psMetadataLookupF64(&status, row, "ra");
    62656246    if (!status) {
    62666247        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ra");
     
    62686249        return false;
    62696250    }
    6270     *dec = psMetadataLookupF32(&status, row, "dec");
     6251    *dec = psMetadataLookupF64(&status, row, "dec");
    62716252    if (!status) {
    62726253        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item dec");
     
    62806261        return false;
    62816262    }
     6263    *background = psMetadataLookupF64(&status, row, "background");
     6264    if (!status) {
     6265        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item background");
     6266        psFree(row);
     6267        return false;
     6268    }
    62826269
    62836270    psFree(row);
     
    62886275bool rawDetrendExpInsertObject(psDB *dbh, rawDetrendExpRow *object)
    62896276{
    6290     return rawDetrendExpInsert(dbh, object->exp_id, object->camera, object->telescope, object->exp_type, object->imfiles, object->filter, object->class, object->airmass, object->ra, object->dec, object->exp_time);
     6277    return rawDetrendExpInsert(dbh, object->exp_id, object->camera, object->telescope, object->exp_type, object->imfiles, object->filter, object->class, object->airmass, object->ra, object->dec, object->exp_time, object->background);
    62916278}
    62926279
     
    63016288    char            class[256];
    63026289    psF32           airmass;
    6303     psF32           ra;
    6304     psF32           dec;
     6290    psF64           ra;
     6291    psF64           dec;
    63056292    psF32           exp_time;
    6306 
    6307     if (!rawDetrendExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&filter, (char **)&class, &airmass, &ra, &dec, &exp_time)) {
     6293    psF64           background;
     6294
     6295    if (!rawDetrendExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&filter, (char **)&class, &airmass, &ra, &dec, &exp_time, &background)) {
    63086296        psError(PS_ERR_UNKNOWN, false, "failed to pop a database row");
    63096297        return NULL;
    63106298    }
    63116299
    6312     return rawDetrendExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, class, airmass, ra, dec, exp_time);
     6300    return rawDetrendExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, class, airmass, ra, dec, exp_time, background);
    63136301}
    63146302
     
    64496437        return NULL;
    64506438    }
    6451     if (!psMetadataAddF32(md, PS_LIST_TAIL, "ra", 0, NULL, object->ra)) {
     6439    if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, object->ra)) {
    64526440        psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
    64536441        psFree(md);
    64546442        return NULL;
    64556443    }
    6456     if (!psMetadataAddF32(md, PS_LIST_TAIL, "dec", 0, NULL, object->dec)) {
     6444    if (!psMetadataAddF64(md, PS_LIST_TAIL, "dec", 0, NULL, object->dec)) {
    64576445        psError(PS_ERR_UNKNOWN, false, "failed to add item dec");
    64586446        psFree(md);
     
    64616449    if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, object->exp_time)) {
    64626450        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time");
     6451        psFree(md);
     6452        return NULL;
     6453    }
     6454    if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, object->background)) {
     6455        psError(PS_ERR_UNKNOWN, false, "failed to add item background");
    64636456        psFree(md);
    64646457        return NULL;
     
    64796472    char            *class;
    64806473    psF32           airmass;
    6481     psF32           ra;
    6482     psF32           dec;
     6474    psF64           ra;
     6475    psF64           dec;
    64836476    psF32           exp_time;
     6477    psF64           background;
    64846478
    64856479    exp_id = psMetadataLookupPtr(&status, md, "exp_id");
     
    65236517        return false;
    65246518    }
    6525     ra = psMetadataLookupF32(&status, md, "ra");
     6519    ra = psMetadataLookupF64(&status, md, "ra");
    65266520    if (!status) {
    65276521        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ra");
    65286522        return false;
    65296523    }
    6530     dec = psMetadataLookupF32(&status, md, "dec");
     6524    dec = psMetadataLookupF64(&status, md, "dec");
    65316525    if (!status) {
    65326526        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item dec");
     
    65386532        return false;
    65396533    }
    6540 
    6541     return rawDetrendExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, class, airmass, ra, dec, exp_time);
     6534    background = psMetadataLookupF64(&status, md, "background");
     6535    if (!status) {
     6536        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item background");
     6537        return false;
     6538    }
     6539
     6540    return rawDetrendExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, class, airmass, ra, dec, exp_time, background);
    65426541}
    65436542psArray *rawDetrendExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     
    65976596static void rawScienceExpRowFree(rawScienceExpRow *object);
    65986597
    6599 rawScienceExpRow *rawScienceExpRowAlloc(const char *exp_id, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *filter, const char *class, psF32 airmass, psF32 ra, psF32 dec, psF32 exp_time)
     6598rawScienceExpRow *rawScienceExpRowAlloc(const char *exp_id, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *filter, const char *class, psF32 airmass, psF64 ra, psF64 dec, psF32 exp_time, psF64 background)
    66006599{
    66016600    rawScienceExpRow *object;
     
    66156614    object->dec = dec;
    66166615    object->exp_time = exp_time;
     6616    object->background = background;
    66176617
    66186618    return object;
     
    66806680        return false;
    66816681    }
    6682     if (!psMetadataAddF32(md, PS_LIST_TAIL, "ra", 0, NULL, 0.0)) {
     6682    if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, 0.0)) {
    66836683        psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
    66846684        psFree(md);
    66856685        return false;
    66866686    }
    6687     if (!psMetadataAddF32(md, PS_LIST_TAIL, "dec", 0, NULL, 0.0)) {
     6687    if (!psMetadataAddF64(md, PS_LIST_TAIL, "dec", 0, NULL, 0.0)) {
    66886688        psError(PS_ERR_UNKNOWN, false, "failed to add item dec");
    66896689        psFree(md);
     
    66956695        return false;
    66966696    }
     6697    if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, 0.0)) {
     6698        psError(PS_ERR_UNKNOWN, false, "failed to add item background");
     6699        psFree(md);
     6700        return false;
     6701    }
    66976702
    66986703    status = psDBCreateTable(dbh, RAWSCIENCEEXP_TABLE_NAME, md);
     
    67086713}
    67096714
    6710 bool rawScienceExpInsert(psDB * dbh, const char *exp_id, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *filter, const char *class, psF32 airmass, psF32 ra, psF32 dec, psF32 exp_time)
     6715bool rawScienceExpInsert(psDB * dbh, const char *exp_id, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *filter, const char *class, psF32 airmass, psF64 ra, psF64 dec, psF32 exp_time, psF64 background)
    67116716{
    67126717    psMetadata      *md;
     
    67546759        return false;
    67556760    }
    6756     if (!psMetadataAddF32(md, PS_LIST_TAIL, "ra", 0, NULL, ra)) {
     6761    if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, ra)) {
    67576762        psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
    67586763        psFree(md);
    67596764        return false;
    67606765    }
    6761     if (!psMetadataAddF32(md, PS_LIST_TAIL, "dec", 0, NULL, dec)) {
     6766    if (!psMetadataAddF64(md, PS_LIST_TAIL, "dec", 0, NULL, dec)) {
    67626767        psError(PS_ERR_UNKNOWN, false, "failed to add item dec");
    67636768        psFree(md);
     
    67696774        return false;
    67706775    }
     6776    if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, background)) {
     6777        psError(PS_ERR_UNKNOWN, false, "failed to add item background");
     6778        psFree(md);
     6779        return false;
     6780    }
    67716781
    67726782    status = psDBInsertOneRow(dbh, RAWSCIENCEEXP_TABLE_NAME, md);
     
    67766786}
    67776787
    6778 bool rawScienceExpPop(psDB *dbh, char **exp_id, char **camera, char **telescope, char **exp_type, psS32 *imfiles, char **filter, char **class, psF32 *airmass, psF32 *ra, psF32 *dec, psF32 *exp_time)
     6788bool rawScienceExpPop(psDB *dbh, char **exp_id, char **camera, char **telescope, char **exp_type, psS32 *imfiles, char **filter, char **class, psF32 *airmass, psF64 *ra, psF64 *dec, psF32 *exp_time, psF64 *background)
    67796789{
    67806790    psArray         *rowSet;
     
    68686878        return false;
    68696879    }
    6870     *ra = psMetadataLookupF32(&status, row, "ra");
     6880    *ra = psMetadataLookupF64(&status, row, "ra");
    68716881    if (!status) {
    68726882        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ra");
     
    68746884        return false;
    68756885    }
    6876     *dec = psMetadataLookupF32(&status, row, "dec");
     6886    *dec = psMetadataLookupF64(&status, row, "dec");
    68776887    if (!status) {
    68786888        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item dec");
     
    68866896        return false;
    68876897    }
     6898    *background = psMetadataLookupF64(&status, row, "background");
     6899    if (!status) {
     6900        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item background");
     6901        psFree(row);
     6902        return false;
     6903    }
    68886904
    68896905    psFree(row);
     
    68946910bool rawScienceExpInsertObject(psDB *dbh, rawScienceExpRow *object)
    68956911{
    6896     return rawScienceExpInsert(dbh, object->exp_id, object->camera, object->telescope, object->exp_type, object->imfiles, object->filter, object->class, object->airmass, object->ra, object->dec, object->exp_time);
     6912    return rawScienceExpInsert(dbh, object->exp_id, object->camera, object->telescope, object->exp_type, object->imfiles, object->filter, object->class, object->airmass, object->ra, object->dec, object->exp_time, object->background);
    68976913}
    68986914
     
    69076923    char            class[256];
    69086924    psF32           airmass;
    6909     psF32           ra;
    6910     psF32           dec;
     6925    psF64           ra;
     6926    psF64           dec;
    69116927    psF32           exp_time;
    6912 
    6913     if (!rawScienceExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&filter, (char **)&class, &airmass, &ra, &dec, &exp_time)) {
     6928    psF64           background;
     6929
     6930    if (!rawScienceExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&filter, (char **)&class, &airmass, &ra, &dec, &exp_time, &background)) {
    69146931        psError(PS_ERR_UNKNOWN, false, "failed to pop a database row");
    69156932        return NULL;
    69166933    }
    69176934
    6918     return rawScienceExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, class, airmass, ra, dec, exp_time);
     6935    return rawScienceExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, class, airmass, ra, dec, exp_time, background);
    69196936}
    69206937
     
    70557072        return NULL;
    70567073    }
    7057     if (!psMetadataAddF32(md, PS_LIST_TAIL, "ra", 0, NULL, object->ra)) {
     7074    if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, object->ra)) {
    70587075        psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
    70597076        psFree(md);
    70607077        return NULL;
    70617078    }
    7062     if (!psMetadataAddF32(md, PS_LIST_TAIL, "dec", 0, NULL, object->dec)) {
     7079    if (!psMetadataAddF64(md, PS_LIST_TAIL, "dec", 0, NULL, object->dec)) {
    70637080        psError(PS_ERR_UNKNOWN, false, "failed to add item dec");
    70647081        psFree(md);
     
    70677084    if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, object->exp_time)) {
    70687085        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time");
     7086        psFree(md);
     7087        return NULL;
     7088    }
     7089    if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, object->background)) {
     7090        psError(PS_ERR_UNKNOWN, false, "failed to add item background");
    70697091        psFree(md);
    70707092        return NULL;
     
    70857107    char            *class;
    70867108    psF32           airmass;
    7087     psF32           ra;
    7088     psF32           dec;
     7109    psF64           ra;
     7110    psF64           dec;
    70897111    psF32           exp_time;
     7112    psF64           background;
    70907113
    70917114    exp_id = psMetadataLookupPtr(&status, md, "exp_id");
     
    71297152        return false;
    71307153    }
    7131     ra = psMetadataLookupF32(&status, md, "ra");
     7154    ra = psMetadataLookupF64(&status, md, "ra");
    71327155    if (!status) {
    71337156        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ra");
    71347157        return false;
    71357158    }
    7136     dec = psMetadataLookupF32(&status, md, "dec");
     7159    dec = psMetadataLookupF64(&status, md, "dec");
    71377160    if (!status) {
    71387161        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item dec");
     
    71447167        return false;
    71457168    }
    7146 
    7147     return rawScienceExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, class, airmass, ra, dec, exp_time);
     7169    background = psMetadataLookupF64(&status, md, "background");
     7170    if (!status) {
     7171        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item background");
     7172        return false;
     7173    }
     7174
     7175    return rawScienceExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, class, airmass, ra, dec, exp_time, background);
    71487176}
    71497177psArray *rawScienceExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     
    72037231static void rawImfileRowFree(rawImfileRow *object);
    72047232
    7205 rawImfileRow *rawImfileRowAlloc(const char *exp_id, const char *class, const char *class_id, const char *uri, const char *stats)
     7233rawImfileRow *rawImfileRowAlloc(const char *exp_id, const char *class, const char *class_id, const char *uri)
    72067234{
    72077235    rawImfileRow    *object;
     
    72147242    object->class_id = psStringCopy(class_id);
    72157243    object->uri = psStringCopy(uri);
    7216     object->stats = psStringCopy(stats);
    72177244
    72187245    return object;
     
    72257252    psFree(object->class_id);
    72267253    psFree(object->uri);
    7227     psFree(object->stats);
    72287254}
    72297255
     
    72597285        return false;
    72607286    }
    7261     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, "255")) {
    7262         psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
    7263         psFree(md);
    7264         return false;
    7265     }
    72667287
    72677288    status = psDBCreateTable(dbh, RAWIMFILE_TABLE_NAME, md);
     
    72777298}
    72787299
    7279 bool rawImfileInsert(psDB * dbh, const char *exp_id, const char *class, const char *class_id, const char *uri, const char *stats)
     7300bool rawImfileInsert(psDB * dbh, const char *exp_id, const char *class, const char *class_id, const char *uri)
    72807301{
    72817302    psMetadata      *md;
     
    73037324        return false;
    73047325    }
    7305     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, stats)) {
    7306         psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
    7307         psFree(md);
    7308         return false;
    7309     }
    73107326
    73117327    status = psDBInsertOneRow(dbh, RAWIMFILE_TABLE_NAME, md);
     
    73157331}
    73167332
    7317 bool rawImfilePop(psDB *dbh, char **exp_id, char **class, char **class_id, char **uri, char **stats)
     7333bool rawImfilePop(psDB *dbh, char **exp_id, char **class, char **class_id, char **uri)
    73187334{
    73197335    psArray         *rowSet;
     
    73837399        return false;
    73847400    }
    7385     *stats = psMetadataLookupPtr(&status, row, "stats");
    7386     if (!status) {
    7387         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item stats");
    7388         psFree(row);
    7389         return false;
    7390     }
    73917401
    73927402    psFree(row);
     
    73977407bool rawImfileInsertObject(psDB *dbh, rawImfileRow *object)
    73987408{
    7399     return rawImfileInsert(dbh, object->exp_id, object->class, object->class_id, object->uri, object->stats);
     7409    return rawImfileInsert(dbh, object->exp_id, object->class, object->class_id, object->uri);
    74007410}
    74017411
     
    74067416    char            class_id[256];
    74077417    char            uri[256];
    7408     char            stats[256];
    7409 
    7410     if (!rawImfilePop(dbh, (char **)&exp_id, (char **)&class, (char **)&class_id, (char **)&uri, (char **)&stats)) {
     7418
     7419    if (!rawImfilePop(dbh, (char **)&exp_id, (char **)&class, (char **)&class_id, (char **)&uri)) {
    74117420        psError(PS_ERR_UNKNOWN, false, "failed to pop a database row");
    74127421        return NULL;
    74137422    }
    74147423
    7415     return rawImfileRowAlloc(exp_id, class, class_id, uri, stats);
     7424    return rawImfileRowAlloc(exp_id, class, class_id, uri);
    74167425}
    74177426
     
    75327541        return NULL;
    75337542    }
    7534     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, object->stats)) {
    7535         psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
    7536         psFree(md);
    7537         return NULL;
    7538     }
    75397543
    75407544    return md;
     
    75487552    char            *class_id;
    75497553    char            *uri;
    7550     char            *stats;
    75517554
    75527555    exp_id = psMetadataLookupPtr(&status, md, "exp_id");
     
    75707573        return false;
    75717574    }
    7572     stats = psMetadataLookupPtr(&status, md, "stats");
    7573     if (!status) {
    7574         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item stats");
    7575         return false;
    7576     }
    7577 
    7578     return rawImfileRowAlloc(exp_id, class, class_id, uri, stats);
     7575
     7576    return rawImfileRowAlloc(exp_id, class, class_id, uri);
    75797577}
    75807578psArray *rawImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     
    76347632static void p1PendingExpRowFree(p1PendingExpRow *object);
    76357633
    7636 p1PendingExpRow *p1PendingExpRowAlloc(const char *exp_id, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *filter, const char *class, psF32 airmass, psF32 ra, psF32 dec, psF32 exp_time, const char *recipe, psS32 p1_version)
     7634p1PendingExpRow *p1PendingExpRowAlloc(const char *exp_id, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *filter, psF32 airmass, psF64 ra, psF64 dec, psF32 exp_time, psF64 background, const char *recipe, psS32 p1_version)
    76377635{
    76387636    p1PendingExpRow *object;
     
    76477645    object->imfiles = imfiles;
    76487646    object->filter = psStringCopy(filter);
    7649     object->class = psStringCopy(class);
    76507647    object->airmass = airmass;
    76517648    object->ra = ra;
    76527649    object->dec = dec;
    76537650    object->exp_time = exp_time;
     7651    object->background = background;
    76547652    object->recipe = psStringCopy(recipe);
    76557653    object->p1_version = p1_version;
     
    76657663    psFree(object->exp_type);
    76667664    psFree(object->filter);
    7667     psFree(object->class);
    76687665    psFree(object->recipe);
    76697666}
     
    77107707        return false;
    77117708    }
    7712     if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, "255")) {
    7713         psError(PS_ERR_UNKNOWN, false, "failed to add item class");
    7714         psFree(md);
    7715         return false;
    7716     }
    77177709    if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, 0.0)) {
    77187710        psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
     
    77207712        return false;
    77217713    }
    7722     if (!psMetadataAddF32(md, PS_LIST_TAIL, "ra", 0, NULL, 0.0)) {
     7714    if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, 0.0)) {
    77237715        psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
    77247716        psFree(md);
    77257717        return false;
    77267718    }
    7727     if (!psMetadataAddF32(md, PS_LIST_TAIL, "dec", 0, NULL, 0.0)) {
     7719    if (!psMetadataAddF64(md, PS_LIST_TAIL, "dec", 0, NULL, 0.0)) {
    77287720        psError(PS_ERR_UNKNOWN, false, "failed to add item dec");
    77297721        psFree(md);
     
    77357727        return false;
    77367728    }
     7729    if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, 0.0)) {
     7730        psError(PS_ERR_UNKNOWN, false, "failed to add item background");
     7731        psFree(md);
     7732        return false;
     7733    }
    77377734    if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, "64")) {
    77387735        psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
     
    77587755}
    77597756
    7760 bool p1PendingExpInsert(psDB * dbh, const char *exp_id, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *filter, const char *class, psF32 airmass, psF32 ra, psF32 dec, psF32 exp_time, const char *recipe, psS32 p1_version)
     7757bool p1PendingExpInsert(psDB * dbh, const char *exp_id, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *filter, psF32 airmass, psF64 ra, psF64 dec, psF32 exp_time, psF64 background, const char *recipe, psS32 p1_version)
    77617758{
    77627759    psMetadata      *md;
     
    77947791        return false;
    77957792    }
    7796     if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, class)) {
    7797         psError(PS_ERR_UNKNOWN, false, "failed to add item class");
    7798         psFree(md);
    7799         return false;
    7800     }
    78017793    if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, airmass)) {
    78027794        psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
     
    78047796        return false;
    78057797    }
    7806     if (!psMetadataAddF32(md, PS_LIST_TAIL, "ra", 0, NULL, ra)) {
     7798    if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, ra)) {
    78077799        psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
    78087800        psFree(md);
    78097801        return false;
    78107802    }
    7811     if (!psMetadataAddF32(md, PS_LIST_TAIL, "dec", 0, NULL, dec)) {
     7803    if (!psMetadataAddF64(md, PS_LIST_TAIL, "dec", 0, NULL, dec)) {
    78127804        psError(PS_ERR_UNKNOWN, false, "failed to add item dec");
    78137805        psFree(md);
     
    78197811        return false;
    78207812    }
     7813    if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, background)) {
     7814        psError(PS_ERR_UNKNOWN, false, "failed to add item background");
     7815        psFree(md);
     7816        return false;
     7817    }
    78217818    if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, recipe)) {
    78227819        psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
     
    78367833}
    78377834
    7838 bool p1PendingExpPop(psDB *dbh, char **exp_id, char **camera, char **telescope, char **exp_type, psS32 *imfiles, char **filter, char **class, psF32 *airmass, psF32 *ra, psF32 *dec, psF32 *exp_time, char **recipe, psS32 *p1_version)
     7835bool p1PendingExpPop(psDB *dbh, char **exp_id, char **camera, char **telescope, char **exp_type, psS32 *imfiles, char **filter, psF32 *airmass, psF64 *ra, psF64 *dec, psF32 *exp_time, psF64 *background, char **recipe, psS32 *p1_version)
    78397836{
    78407837    psArray         *rowSet;
     
    79167913        return false;
    79177914    }
    7918     *class = psMetadataLookupPtr(&status, row, "class");
    7919     if (!status) {
    7920         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item class");
    7921         psFree(row);
    7922         return false;
    7923     }
    79247915    *airmass = psMetadataLookupF32(&status, row, "airmass");
    79257916    if (!status) {
     
    79287919        return false;
    79297920    }
    7930     *ra = psMetadataLookupF32(&status, row, "ra");
     7921    *ra = psMetadataLookupF64(&status, row, "ra");
    79317922    if (!status) {
    79327923        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ra");
     
    79347925        return false;
    79357926    }
    7936     *dec = psMetadataLookupF32(&status, row, "dec");
     7927    *dec = psMetadataLookupF64(&status, row, "dec");
    79377928    if (!status) {
    79387929        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item dec");
     
    79467937        return false;
    79477938    }
     7939    *background = psMetadataLookupF64(&status, row, "background");
     7940    if (!status) {
     7941        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item background");
     7942        psFree(row);
     7943        return false;
     7944    }
    79487945    *recipe = psMetadataLookupPtr(&status, row, "recipe");
    79497946    if (!status) {
     
    79667963bool p1PendingExpInsertObject(psDB *dbh, p1PendingExpRow *object)
    79677964{
    7968     return p1PendingExpInsert(dbh, object->exp_id, object->camera, object->telescope, object->exp_type, object->imfiles, object->filter, object->class, object->airmass, object->ra, object->dec, object->exp_time, object->recipe, object->p1_version);
     7965    return p1PendingExpInsert(dbh, object->exp_id, object->camera, object->telescope, object->exp_type, object->imfiles, object->filter, object->airmass, object->ra, object->dec, object->exp_time, object->background, object->recipe, object->p1_version);
    79697966}
    79707967
     
    79777974    psS32           imfiles;
    79787975    char            filter[256];
    7979     char            class[256];
    79807976    psF32           airmass;
    7981     psF32           ra;
    7982     psF32           dec;
     7977    psF64           ra;
     7978    psF64           dec;
    79837979    psF32           exp_time;
     7980    psF64           background;
    79847981    char            recipe[256];
    79857982    psS32           p1_version;
    79867983
    7987     if (!p1PendingExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&filter, (char **)&class, &airmass, &ra, &dec, &exp_time, (char **)&recipe, &p1_version)) {
     7984    if (!p1PendingExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&filter, &airmass, &ra, &dec, &exp_time, &background, (char **)&recipe, &p1_version)) {
    79887985        psError(PS_ERR_UNKNOWN, false, "failed to pop a database row");
    79897986        return NULL;
    79907987    }
    79917988
    7992     return p1PendingExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, class, airmass, ra, dec, exp_time, recipe, p1_version);
     7989    return p1PendingExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, airmass, ra, dec, exp_time, background, recipe, p1_version);
    79937990}
    79947991
     
    81198116        return NULL;
    81208117    }
    8121     if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, object->class)) {
    8122         psError(PS_ERR_UNKNOWN, false, "failed to add item class");
    8123         psFree(md);
    8124         return NULL;
    8125     }
    81268118    if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, object->airmass)) {
    81278119        psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
     
    81298121        return NULL;
    81308122    }
    8131     if (!psMetadataAddF32(md, PS_LIST_TAIL, "ra", 0, NULL, object->ra)) {
     8123    if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, object->ra)) {
    81328124        psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
    81338125        psFree(md);
    81348126        return NULL;
    81358127    }
    8136     if (!psMetadataAddF32(md, PS_LIST_TAIL, "dec", 0, NULL, object->dec)) {
     8128    if (!psMetadataAddF64(md, PS_LIST_TAIL, "dec", 0, NULL, object->dec)) {
    81378129        psError(PS_ERR_UNKNOWN, false, "failed to add item dec");
    81388130        psFree(md);
     
    81418133    if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, object->exp_time)) {
    81428134        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time");
     8135        psFree(md);
     8136        return NULL;
     8137    }
     8138    if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, object->background)) {
     8139        psError(PS_ERR_UNKNOWN, false, "failed to add item background");
    81438140        psFree(md);
    81448141        return NULL;
     
    81678164    psS32           imfiles;
    81688165    char            *filter;
    8169     char            *class;
    81708166    psF32           airmass;
    8171     psF32           ra;
    8172     psF32           dec;
     8167    psF64           ra;
     8168    psF64           dec;
    81738169    psF32           exp_time;
     8170    psF64           background;
    81748171    char            *recipe;
    81758172    psS32           p1_version;
     
    82058202        return false;
    82068203    }
    8207     class = psMetadataLookupPtr(&status, md, "class");
    8208     if (!status) {
    8209         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item class");
    8210         return false;
    8211     }
    82128204    airmass = psMetadataLookupF32(&status, md, "airmass");
    82138205    if (!status) {
     
    82158207        return false;
    82168208    }
    8217     ra = psMetadataLookupF32(&status, md, "ra");
     8209    ra = psMetadataLookupF64(&status, md, "ra");
    82188210    if (!status) {
    82198211        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ra");
    82208212        return false;
    82218213    }
    8222     dec = psMetadataLookupF32(&status, md, "dec");
     8214    dec = psMetadataLookupF64(&status, md, "dec");
    82238215    if (!status) {
    82248216        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item dec");
     
    82308222        return false;
    82318223    }
     8224    background = psMetadataLookupF64(&status, md, "background");
     8225    if (!status) {
     8226        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item background");
     8227        return false;
     8228    }
    82328229    recipe = psMetadataLookupPtr(&status, md, "recipe");
    82338230    if (!status) {
     
    82418238    }
    82428239
    8243     return p1PendingExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, class, airmass, ra, dec, exp_time, recipe, p1_version);
     8240    return p1PendingExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, airmass, ra, dec, exp_time, background, recipe, p1_version);
    82448241}
    82458242psArray *p1PendingExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     
    82998296static void p2PendingExpRowFree(p2PendingExpRow *object);
    83008297
    8301 p2PendingExpRow *p2PendingExpRowAlloc(const char *exp_id, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *filter, const char *class, psF32 airmass, psF32 ra, psF32 dec, psF32 exp_time, const char *recipe, psS32 p1_version, psS32 p2_version)
     8298p2PendingExpRow *p2PendingExpRowAlloc(const char *exp_id, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *filter, psF32 airmass, psF32 ra, psF64 dec, psF64 exp_time, psF64 background, const char *recipe, psS32 p1_version, psS32 p2_version)
    83028299{
    83038300    p2PendingExpRow *object;
     
    83128309    object->imfiles = imfiles;
    83138310    object->filter = psStringCopy(filter);
    8314     object->class = psStringCopy(class);
    83158311    object->airmass = airmass;
    83168312    object->ra = ra;
    83178313    object->dec = dec;
    83188314    object->exp_time = exp_time;
     8315    object->background = background;
    83198316    object->recipe = psStringCopy(recipe);
    83208317    object->p1_version = p1_version;
     
    83318328    psFree(object->exp_type);
    83328329    psFree(object->filter);
    8333     psFree(object->class);
    83348330    psFree(object->recipe);
    83358331}
     
    83768372        return false;
    83778373    }
    8378     if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, "255")) {
    8379         psError(PS_ERR_UNKNOWN, false, "failed to add item class");
    8380         psFree(md);
    8381         return false;
    8382     }
    83838374    if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, 0.0)) {
    83848375        psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
     
    83918382        return false;
    83928383    }
    8393     if (!psMetadataAddF32(md, PS_LIST_TAIL, "dec", 0, NULL, 0.0)) {
     8384    if (!psMetadataAddF64(md, PS_LIST_TAIL, "dec", 0, NULL, 0.0)) {
    83948385        psError(PS_ERR_UNKNOWN, false, "failed to add item dec");
    83958386        psFree(md);
    83968387        return false;
    83978388    }
    8398     if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, 0.0)) {
     8389    if (!psMetadataAddF64(md, PS_LIST_TAIL, "exp_time", 0, NULL, 0.0)) {
    83998390        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time");
     8391        psFree(md);
     8392        return false;
     8393    }
     8394    if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, 0.0)) {
     8395        psError(PS_ERR_UNKNOWN, false, "failed to add item background");
    84008396        psFree(md);
    84018397        return false;
     
    84298425}
    84308426
    8431 bool p2PendingExpInsert(psDB * dbh, const char *exp_id, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *filter, const char *class, psF32 airmass, psF32 ra, psF32 dec, psF32 exp_time, const char *recipe, psS32 p1_version, psS32 p2_version)
     8427bool p2PendingExpInsert(psDB * dbh, const char *exp_id, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *filter, psF32 airmass, psF32 ra, psF64 dec, psF64 exp_time, psF64 background, const char *recipe, psS32 p1_version, psS32 p2_version)
    84328428{
    84338429    psMetadata      *md;
     
    84658461        return false;
    84668462    }
    8467     if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, class)) {
    8468         psError(PS_ERR_UNKNOWN, false, "failed to add item class");
    8469         psFree(md);
    8470         return false;
    8471     }
    84728463    if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, airmass)) {
    84738464        psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
     
    84808471        return false;
    84818472    }
    8482     if (!psMetadataAddF32(md, PS_LIST_TAIL, "dec", 0, NULL, dec)) {
     8473    if (!psMetadataAddF64(md, PS_LIST_TAIL, "dec", 0, NULL, dec)) {
    84838474        psError(PS_ERR_UNKNOWN, false, "failed to add item dec");
    84848475        psFree(md);
    84858476        return false;
    84868477    }
    8487     if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, exp_time)) {
     8478    if (!psMetadataAddF64(md, PS_LIST_TAIL, "exp_time", 0, NULL, exp_time)) {
    84888479        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time");
     8480        psFree(md);
     8481        return false;
     8482    }
     8483    if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, background)) {
     8484        psError(PS_ERR_UNKNOWN, false, "failed to add item background");
    84898485        psFree(md);
    84908486        return false;
     
    85128508}
    85138509
    8514 bool p2PendingExpPop(psDB *dbh, char **exp_id, char **camera, char **telescope, char **exp_type, psS32 *imfiles, char **filter, char **class, psF32 *airmass, psF32 *ra, psF32 *dec, psF32 *exp_time, char **recipe, psS32 *p1_version, psS32 *p2_version)
     8510bool p2PendingExpPop(psDB *dbh, char **exp_id, char **camera, char **telescope, char **exp_type, psS32 *imfiles, char **filter, psF32 *airmass, psF32 *ra, psF64 *dec, psF64 *exp_time, psF64 *background, char **recipe, psS32 *p1_version, psS32 *p2_version)
    85158511{
    85168512    psArray         *rowSet;
     
    85928588        return false;
    85938589    }
    8594     *class = psMetadataLookupPtr(&status, row, "class");
    8595     if (!status) {
    8596         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item class");
    8597         psFree(row);
    8598         return false;
    8599     }
    86008590    *airmass = psMetadataLookupF32(&status, row, "airmass");
    86018591    if (!status) {
     
    86108600        return false;
    86118601    }
    8612     *dec = psMetadataLookupF32(&status, row, "dec");
     8602    *dec = psMetadataLookupF64(&status, row, "dec");
    86138603    if (!status) {
    86148604        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item dec");
     
    86168606        return false;
    86178607    }
    8618     *exp_time = psMetadataLookupF32(&status, row, "exp_time");
     8608    *exp_time = psMetadataLookupF64(&status, row, "exp_time");
    86198609    if (!status) {
    86208610        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_time");
     
    86228612        return false;
    86238613    }
     8614    *background = psMetadataLookupF64(&status, row, "background");
     8615    if (!status) {
     8616        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item background");
     8617        psFree(row);
     8618        return false;
     8619    }
    86248620    *recipe = psMetadataLookupPtr(&status, row, "recipe");
    86258621    if (!status) {
     
    86488644bool p2PendingExpInsertObject(psDB *dbh, p2PendingExpRow *object)
    86498645{
    8650     return p2PendingExpInsert(dbh, object->exp_id, object->camera, object->telescope, object->exp_type, object->imfiles, object->filter, object->class, object->airmass, object->ra, object->dec, object->exp_time, object->recipe, object->p1_version, object->p2_version);
     8646    return p2PendingExpInsert(dbh, object->exp_id, object->camera, object->telescope, object->exp_type, object->imfiles, object->filter, object->airmass, object->ra, object->dec, object->exp_time, object->background, object->recipe, object->p1_version, object->p2_version);
    86518647}
    86528648
     
    86598655    psS32           imfiles;
    86608656    char            filter[256];
    8661     char            class[256];
    86628657    psF32           airmass;
    86638658    psF32           ra;
    8664     psF32           dec;
    8665     psF32           exp_time;
     8659    psF64           dec;
     8660    psF64           exp_time;
     8661    psF64           background;
    86668662    char            recipe[256];
    86678663    psS32           p1_version;
    86688664    psS32           p2_version;
    86698665
    8670     if (!p2PendingExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&filter, (char **)&class, &airmass, &ra, &dec, &exp_time, (char **)&recipe, &p1_version, &p2_version)) {
     8666    if (!p2PendingExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&filter, &airmass, &ra, &dec, &exp_time, &background, (char **)&recipe, &p1_version, &p2_version)) {
    86718667        psError(PS_ERR_UNKNOWN, false, "failed to pop a database row");
    86728668        return NULL;
    86738669    }
    86748670
    8675     return p2PendingExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, class, airmass, ra, dec, exp_time, recipe, p1_version, p2_version);
     8671    return p2PendingExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, airmass, ra, dec, exp_time, background, recipe, p1_version, p2_version);
    86768672}
    86778673
     
    88028798        return NULL;
    88038799    }
    8804     if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, object->class)) {
    8805         psError(PS_ERR_UNKNOWN, false, "failed to add item class");
    8806         psFree(md);
    8807         return NULL;
    8808     }
    88098800    if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, object->airmass)) {
    88108801        psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
     
    88178808        return NULL;
    88188809    }
    8819     if (!psMetadataAddF32(md, PS_LIST_TAIL, "dec", 0, NULL, object->dec)) {
     8810    if (!psMetadataAddF64(md, PS_LIST_TAIL, "dec", 0, NULL, object->dec)) {
    88208811        psError(PS_ERR_UNKNOWN, false, "failed to add item dec");
    88218812        psFree(md);
    88228813        return NULL;
    88238814    }
    8824     if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, object->exp_time)) {
     8815    if (!psMetadataAddF64(md, PS_LIST_TAIL, "exp_time", 0, NULL, object->exp_time)) {
    88258816        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time");
     8817        psFree(md);
     8818        return NULL;
     8819    }
     8820    if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, object->background)) {
     8821        psError(PS_ERR_UNKNOWN, false, "failed to add item background");
    88268822        psFree(md);
    88278823        return NULL;
     
    88558851    psS32           imfiles;
    88568852    char            *filter;
    8857     char            *class;
    88588853    psF32           airmass;
    88598854    psF32           ra;
    8860     psF32           dec;
    8861     psF32           exp_time;
     8855    psF64           dec;
     8856    psF64           exp_time;
     8857    psF64           background;
    88628858    char            *recipe;
    88638859    psS32           p1_version;
     
    88948890        return false;
    88958891    }
    8896     class = psMetadataLookupPtr(&status, md, "class");
    8897     if (!status) {
    8898         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item class");
    8899         return false;
    8900     }
    89018892    airmass = psMetadataLookupF32(&status, md, "airmass");
    89028893    if (!status) {
     
    89098900        return false;
    89108901    }
    8911     dec = psMetadataLookupF32(&status, md, "dec");
     8902    dec = psMetadataLookupF64(&status, md, "dec");
    89128903    if (!status) {
    89138904        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item dec");
    89148905        return false;
    89158906    }
    8916     exp_time = psMetadataLookupF32(&status, md, "exp_time");
     8907    exp_time = psMetadataLookupF64(&status, md, "exp_time");
    89178908    if (!status) {
    89188909        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_time");
    89198910        return false;
    89208911    }
     8912    background = psMetadataLookupF64(&status, md, "background");
     8913    if (!status) {
     8914        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item background");
     8915        return false;
     8916    }
    89218917    recipe = psMetadataLookupPtr(&status, md, "recipe");
    89228918    if (!status) {
     
    89358931    }
    89368932
    8937     return p2PendingExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, class, airmass, ra, dec, exp_time, recipe, p1_version, p2_version);
     8933    return p2PendingExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, airmass, ra, dec, exp_time, background, recipe, p1_version, p2_version);
    89388934}
    89398935psArray *p2PendingExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     
    94829478static void p2DoneExpRowFree(p2DoneExpRow *object);
    94839479
    9484 p2DoneExpRow *p2DoneExpRowAlloc(const char *exp_id, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *filter, const char *class, psF32 airmass, psF32 ra, psF32 dec, psF32 exp_time, const char *recipe, psS32 p1_version, psS32 p2_version)
     9480p2DoneExpRow *p2DoneExpRowAlloc(const char *exp_id, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *filter, psF32 airmass, psF64 ra, psF64 dec, psF32 exp_time, psF64 background, const char *recipe, psS32 p1_version, psS32 p2_version)
    94859481{
    94869482    p2DoneExpRow    *object;
     
    94959491    object->imfiles = imfiles;
    94969492    object->filter = psStringCopy(filter);
    9497     object->class = psStringCopy(class);
    94989493    object->airmass = airmass;
    94999494    object->ra = ra;
    95009495    object->dec = dec;
    95019496    object->exp_time = exp_time;
     9497    object->background = background;
    95029498    object->recipe = psStringCopy(recipe);
    95039499    object->p1_version = p1_version;
     
    95149510    psFree(object->exp_type);
    95159511    psFree(object->filter);
    9516     psFree(object->class);
    95179512    psFree(object->recipe);
    95189513}
     
    95599554        return false;
    95609555    }
    9561     if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, "255")) {
    9562         psError(PS_ERR_UNKNOWN, false, "failed to add item class");
    9563         psFree(md);
    9564         return false;
    9565     }
    95669556    if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, 0.0)) {
    95679557        psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
     
    95699559        return false;
    95709560    }
    9571     if (!psMetadataAddF32(md, PS_LIST_TAIL, "ra", 0, NULL, 0.0)) {
     9561    if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, 0.0)) {
    95729562        psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
    95739563        psFree(md);
    95749564        return false;
    95759565    }
    9576     if (!psMetadataAddF32(md, PS_LIST_TAIL, "dec", 0, NULL, 0.0)) {
     9566    if (!psMetadataAddF64(md, PS_LIST_TAIL, "dec", 0, NULL, 0.0)) {
    95779567        psError(PS_ERR_UNKNOWN, false, "failed to add item dec");
    95789568        psFree(md);
     
    95849574        return false;
    95859575    }
     9576    if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, 0.0)) {
     9577        psError(PS_ERR_UNKNOWN, false, "failed to add item background");
     9578        psFree(md);
     9579        return false;
     9580    }
    95869581    if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, "64")) {
    95879582        psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
     
    96129607}
    96139608
    9614 bool p2DoneExpInsert(psDB * dbh, const char *exp_id, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *filter, const char *class, psF32 airmass, psF32 ra, psF32 dec, psF32 exp_time, const char *recipe, psS32 p1_version, psS32 p2_version)
     9609bool p2DoneExpInsert(psDB * dbh, const char *exp_id, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *filter, psF32 airmass, psF64 ra, psF64 dec, psF32 exp_time, psF64 background, const char *recipe, psS32 p1_version, psS32 p2_version)
    96159610{
    96169611    psMetadata      *md;
     
    96489643        return false;
    96499644    }
    9650     if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, class)) {
    9651         psError(PS_ERR_UNKNOWN, false, "failed to add item class");
    9652         psFree(md);
    9653         return false;
    9654     }
    96559645    if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, airmass)) {
    96569646        psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
     
    96589648        return false;
    96599649    }
    9660     if (!psMetadataAddF32(md, PS_LIST_TAIL, "ra", 0, NULL, ra)) {
     9650    if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, ra)) {
    96619651        psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
    96629652        psFree(md);
    96639653        return false;
    96649654    }
    9665     if (!psMetadataAddF32(md, PS_LIST_TAIL, "dec", 0, NULL, dec)) {
     9655    if (!psMetadataAddF64(md, PS_LIST_TAIL, "dec", 0, NULL, dec)) {
    96669656        psError(PS_ERR_UNKNOWN, false, "failed to add item dec");
    96679657        psFree(md);
     
    96739663        return false;
    96749664    }
     9665    if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, background)) {
     9666        psError(PS_ERR_UNKNOWN, false, "failed to add item background");
     9667        psFree(md);
     9668        return false;
     9669    }
    96759670    if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, recipe)) {
    96769671        psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
     
    96959690}
    96969691
    9697 bool p2DoneExpPop(psDB *dbh, char **exp_id, char **camera, char **telescope, char **exp_type, psS32 *imfiles, char **filter, char **class, psF32 *airmass, psF32 *ra, psF32 *dec, psF32 *exp_time, char **recipe, psS32 *p1_version, psS32 *p2_version)
     9692bool p2DoneExpPop(psDB *dbh, char **exp_id, char **camera, char **telescope, char **exp_type, psS32 *imfiles, char **filter, psF32 *airmass, psF64 *ra, psF64 *dec, psF32 *exp_time, psF64 *background, char **recipe, psS32 *p1_version, psS32 *p2_version)
    96989693{
    96999694    psArray         *rowSet;
     
    97759770        return false;
    97769771    }
    9777     *class = psMetadataLookupPtr(&status, row, "class");
    9778     if (!status) {
    9779         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item class");
    9780         psFree(row);
    9781         return false;
    9782     }
    97839772    *airmass = psMetadataLookupF32(&status, row, "airmass");
    97849773    if (!status) {
     
    97879776        return false;
    97889777    }
    9789     *ra = psMetadataLookupF32(&status, row, "ra");
     9778    *ra = psMetadataLookupF64(&status, row, "ra");
    97909779    if (!status) {
    97919780        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ra");
     
    97939782        return false;
    97949783    }
    9795     *dec = psMetadataLookupF32(&status, row, "dec");
     9784    *dec = psMetadataLookupF64(&status, row, "dec");
    97969785    if (!status) {
    97979786        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item dec");
     
    98059794        return false;
    98069795    }
     9796    *background = psMetadataLookupF64(&status, row, "background");
     9797    if (!status) {
     9798        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item background");
     9799        psFree(row);
     9800        return false;
     9801    }
    98079802    *recipe = psMetadataLookupPtr(&status, row, "recipe");
    98089803    if (!status) {
     
    98319826bool p2DoneExpInsertObject(psDB *dbh, p2DoneExpRow *object)
    98329827{
    9833     return p2DoneExpInsert(dbh, object->exp_id, object->camera, object->telescope, object->exp_type, object->imfiles, object->filter, object->class, object->airmass, object->ra, object->dec, object->exp_time, object->recipe, object->p1_version, object->p2_version);
     9828    return p2DoneExpInsert(dbh, object->exp_id, object->camera, object->telescope, object->exp_type, object->imfiles, object->filter, object->airmass, object->ra, object->dec, object->exp_time, object->background, object->recipe, object->p1_version, object->p2_version);
    98349829}
    98359830
     
    98429837    psS32           imfiles;
    98439838    char            filter[256];
    9844     char            class[256];
    98459839    psF32           airmass;
    9846     psF32           ra;
    9847     psF32           dec;
     9840    psF64           ra;
     9841    psF64           dec;
    98489842    psF32           exp_time;
     9843    psF64           background;
    98499844    char            recipe[256];
    98509845    psS32           p1_version;
    98519846    psS32           p2_version;
    98529847
    9853     if (!p2DoneExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&filter, (char **)&class, &airmass, &ra, &dec, &exp_time, (char **)&recipe, &p1_version, &p2_version)) {
     9848    if (!p2DoneExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&filter, &airmass, &ra, &dec, &exp_time, &background, (char **)&recipe, &p1_version, &p2_version)) {
    98549849        psError(PS_ERR_UNKNOWN, false, "failed to pop a database row");
    98559850        return NULL;
    98569851    }
    98579852
    9858     return p2DoneExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, class, airmass, ra, dec, exp_time, recipe, p1_version, p2_version);
     9853    return p2DoneExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, airmass, ra, dec, exp_time, background, recipe, p1_version, p2_version);
    98599854}
    98609855
     
    99859980        return NULL;
    99869981    }
    9987     if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, object->class)) {
    9988         psError(PS_ERR_UNKNOWN, false, "failed to add item class");
    9989         psFree(md);
    9990         return NULL;
    9991     }
    99929982    if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, object->airmass)) {
    99939983        psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
     
    99959985        return NULL;
    99969986    }
    9997     if (!psMetadataAddF32(md, PS_LIST_TAIL, "ra", 0, NULL, object->ra)) {
     9987    if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, object->ra)) {
    99989988        psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
    99999989        psFree(md);
    100009990        return NULL;
    100019991    }
    10002     if (!psMetadataAddF32(md, PS_LIST_TAIL, "dec", 0, NULL, object->dec)) {
     9992    if (!psMetadataAddF64(md, PS_LIST_TAIL, "dec", 0, NULL, object->dec)) {
    100039993        psError(PS_ERR_UNKNOWN, false, "failed to add item dec");
    100049994        psFree(md);
     
    100079997    if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, object->exp_time)) {
    100089998        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time");
     9999        psFree(md);
     10000        return NULL;
     10001    }
     10002    if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, object->background)) {
     10003        psError(PS_ERR_UNKNOWN, false, "failed to add item background");
    1000910004        psFree(md);
    1001010005        return NULL;
     
    1003810033    psS32           imfiles;
    1003910034    char            *filter;
    10040     char            *class;
    1004110035    psF32           airmass;
    10042     psF32           ra;
    10043     psF32           dec;
     10036    psF64           ra;
     10037    psF64           dec;
    1004410038    psF32           exp_time;
     10039    psF64           background;
    1004510040    char            *recipe;
    1004610041    psS32           p1_version;
     
    1007710072        return false;
    1007810073    }
    10079     class = psMetadataLookupPtr(&status, md, "class");
    10080     if (!status) {
    10081         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item class");
    10082         return false;
    10083     }
    1008410074    airmass = psMetadataLookupF32(&status, md, "airmass");
    1008510075    if (!status) {
     
    1008710077        return false;
    1008810078    }
    10089     ra = psMetadataLookupF32(&status, md, "ra");
     10079    ra = psMetadataLookupF64(&status, md, "ra");
    1009010080    if (!status) {
    1009110081        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ra");
    1009210082        return false;
    1009310083    }
    10094     dec = psMetadataLookupF32(&status, md, "dec");
     10084    dec = psMetadataLookupF64(&status, md, "dec");
    1009510085    if (!status) {
    1009610086        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item dec");
     
    1010210092        return false;
    1010310093    }
     10094    background = psMetadataLookupF64(&status, md, "background");
     10095    if (!status) {
     10096        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item background");
     10097        return false;
     10098    }
    1010410099    recipe = psMetadataLookupPtr(&status, md, "recipe");
    1010510100    if (!status) {
     
    1011810113    }
    1011910114
    10120     return p2DoneExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, class, airmass, ra, dec, exp_time, recipe, p1_version, p2_version);
     10115    return p2DoneExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, airmass, ra, dec, exp_time, background, recipe, p1_version, p2_version);
    1012110116}
    1012210117psArray *p2DoneExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     
    1066510660static void p3PendingExpRowFree(p3PendingExpRow *object);
    1066610661
    10667 p3PendingExpRow *p3PendingExpRowAlloc(const char *exp_id, const char *camera, const char *exp_type, psS32 imfiles, const char *filter, const char *class, psF32 airmass, psF32 ra, psF32 dec, psF32 exp_time, const char *recipe, psS32 p2_version, psS32 p3_version)
     10662p3PendingExpRow *p3PendingExpRowAlloc(const char *exp_id, const char *camera, const char *exp_type, psS32 imfiles, const char *filter, psF32 airmass, psF64 ra, psF64 dec, psF32 exp_time, psF64 background, const char *recipe, psS32 p2_version, psS32 p3_version)
    1066810663{
    1066910664    p3PendingExpRow *object;
     
    1067710672    object->imfiles = imfiles;
    1067810673    object->filter = psStringCopy(filter);
    10679     object->class = psStringCopy(class);
    1068010674    object->airmass = airmass;
    1068110675    object->ra = ra;
    1068210676    object->dec = dec;
    1068310677    object->exp_time = exp_time;
     10678    object->background = background;
    1068410679    object->recipe = psStringCopy(recipe);
    1068510680    object->p2_version = p2_version;
     
    1069510690    psFree(object->exp_type);
    1069610691    psFree(object->filter);
    10697     psFree(object->class);
    1069810692    psFree(object->recipe);
    1069910693}
     
    1073510729        return false;
    1073610730    }
    10737     if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, "255")) {
    10738         psError(PS_ERR_UNKNOWN, false, "failed to add item class");
    10739         psFree(md);
    10740         return false;
    10741     }
    1074210731    if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, 0.0)) {
    1074310732        psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
     
    1074510734        return false;
    1074610735    }
    10747     if (!psMetadataAddF32(md, PS_LIST_TAIL, "ra", 0, NULL, 0.0)) {
     10736    if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, 0.0)) {
    1074810737        psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
    1074910738        psFree(md);
    1075010739        return false;
    1075110740    }
    10752     if (!psMetadataAddF32(md, PS_LIST_TAIL, "dec", 0, NULL, 0.0)) {
     10741    if (!psMetadataAddF64(md, PS_LIST_TAIL, "dec", 0, NULL, 0.0)) {
    1075310742        psError(PS_ERR_UNKNOWN, false, "failed to add item dec");
    1075410743        psFree(md);
     
    1076010749        return false;
    1076110750    }
     10751    if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, 0.0)) {
     10752        psError(PS_ERR_UNKNOWN, false, "failed to add item background");
     10753        psFree(md);
     10754        return false;
     10755    }
    1076210756    if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, "64")) {
    1076310757        psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
     
    1078810782}
    1078910783
    10790 bool p3PendingExpInsert(psDB * dbh, const char *exp_id, const char *camera, const char *exp_type, psS32 imfiles, const char *filter, const char *class, psF32 airmass, psF32 ra, psF32 dec, psF32 exp_time, const char *recipe, psS32 p2_version, psS32 p3_version)
     10784bool p3PendingExpInsert(psDB * dbh, const char *exp_id, const char *camera, const char *exp_type, psS32 imfiles, const char *filter, psF32 airmass, psF64 ra, psF64 dec, psF32 exp_time, psF64 background, const char *recipe, psS32 p2_version, psS32 p3_version)
    1079110785{
    1079210786    psMetadata      *md;
     
    1081910813        return false;
    1082010814    }
    10821     if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, class)) {
    10822         psError(PS_ERR_UNKNOWN, false, "failed to add item class");
    10823         psFree(md);
    10824         return false;
    10825     }
    1082610815    if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, airmass)) {
    1082710816        psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
     
    1082910818        return false;
    1083010819    }
    10831     if (!psMetadataAddF32(md, PS_LIST_TAIL, "ra", 0, NULL, ra)) {
     10820    if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, ra)) {
    1083210821        psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
    1083310822        psFree(md);
    1083410823        return false;
    1083510824    }
    10836     if (!psMetadataAddF32(md, PS_LIST_TAIL, "dec", 0, NULL, dec)) {
     10825    if (!psMetadataAddF64(md, PS_LIST_TAIL, "dec", 0, NULL, dec)) {
    1083710826        psError(PS_ERR_UNKNOWN, false, "failed to add item dec");
    1083810827        psFree(md);
     
    1084410833        return false;
    1084510834    }
     10835    if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, background)) {
     10836        psError(PS_ERR_UNKNOWN, false, "failed to add item background");
     10837        psFree(md);
     10838        return false;
     10839    }
    1084610840    if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, recipe)) {
    1084710841        psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
     
    1086610860}
    1086710861
    10868 bool p3PendingExpPop(psDB *dbh, char **exp_id, char **camera, char **exp_type, psS32 *imfiles, char **filter, char **class, psF32 *airmass, psF32 *ra, psF32 *dec, psF32 *exp_time, char **recipe, psS32 *p2_version, psS32 *p3_version)
     10862bool p3PendingExpPop(psDB *dbh, char **exp_id, char **camera, char **exp_type, psS32 *imfiles, char **filter, psF32 *airmass, psF64 *ra, psF64 *dec, psF32 *exp_time, psF64 *background, char **recipe, psS32 *p2_version, psS32 *p3_version)
    1086910863{
    1087010864    psArray         *rowSet;
     
    1094010934        return false;
    1094110935    }
    10942     *class = psMetadataLookupPtr(&status, row, "class");
    10943     if (!status) {
    10944         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item class");
    10945         psFree(row);
    10946         return false;
    10947     }
    1094810936    *airmass = psMetadataLookupF32(&status, row, "airmass");
    1094910937    if (!status) {
     
    1095210940        return false;
    1095310941    }
    10954     *ra = psMetadataLookupF32(&status, row, "ra");
     10942    *ra = psMetadataLookupF64(&status, row, "ra");
    1095510943    if (!status) {
    1095610944        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ra");
     
    1095810946        return false;
    1095910947    }
    10960     *dec = psMetadataLookupF32(&status, row, "dec");
     10948    *dec = psMetadataLookupF64(&status, row, "dec");
    1096110949    if (!status) {
    1096210950        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item dec");
     
    1097010958        return false;
    1097110959    }
     10960    *background = psMetadataLookupF64(&status, row, "background");
     10961    if (!status) {
     10962        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item background");
     10963        psFree(row);
     10964        return false;
     10965    }
    1097210966    *recipe = psMetadataLookupPtr(&status, row, "recipe");
    1097310967    if (!status) {
     
    1099610990bool p3PendingExpInsertObject(psDB *dbh, p3PendingExpRow *object)
    1099710991{
    10998     return p3PendingExpInsert(dbh, object->exp_id, object->camera, object->exp_type, object->imfiles, object->filter, object->class, object->airmass, object->ra, object->dec, object->exp_time, object->recipe, object->p2_version, object->p3_version);
     10992    return p3PendingExpInsert(dbh, object->exp_id, object->camera, object->exp_type, object->imfiles, object->filter, object->airmass, object->ra, object->dec, object->exp_time, object->background, object->recipe, object->p2_version, object->p3_version);
    1099910993}
    1100010994
     
    1100611000    psS32           imfiles;
    1100711001    char            filter[256];
    11008     char            class[256];
    1100911002    psF32           airmass;
    11010     psF32           ra;
    11011     psF32           dec;
     11003    psF64           ra;
     11004    psF64           dec;
    1101211005    psF32           exp_time;
     11006    psF64           background;
    1101311007    char            recipe[256];
    1101411008    psS32           p2_version;
    1101511009    psS32           p3_version;
    1101611010
    11017     if (!p3PendingExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&exp_type, &imfiles, (char **)&filter, (char **)&class, &airmass, &ra, &dec, &exp_time, (char **)&recipe, &p2_version, &p3_version)) {
     11011    if (!p3PendingExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&exp_type, &imfiles, (char **)&filter, &airmass, &ra, &dec, &exp_time, &background, (char **)&recipe, &p2_version, &p3_version)) {
    1101811012        psError(PS_ERR_UNKNOWN, false, "failed to pop a database row");
    1101911013        return NULL;
    1102011014    }
    1102111015
    11022     return p3PendingExpRowAlloc(exp_id, camera, exp_type, imfiles, filter, class, airmass, ra, dec, exp_time, recipe, p2_version, p3_version);
     11016    return p3PendingExpRowAlloc(exp_id, camera, exp_type, imfiles, filter, airmass, ra, dec, exp_time, background, recipe, p2_version, p3_version);
    1102311017}
    1102411018
     
    1114411138        return NULL;
    1114511139    }
    11146     if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, object->class)) {
    11147         psError(PS_ERR_UNKNOWN, false, "failed to add item class");
    11148         psFree(md);
    11149         return NULL;
    11150     }
    1115111140    if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, object->airmass)) {
    1115211141        psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
     
    1115411143        return NULL;
    1115511144    }
    11156     if (!psMetadataAddF32(md, PS_LIST_TAIL, "ra", 0, NULL, object->ra)) {
     11145    if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, object->ra)) {
    1115711146        psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
    1115811147        psFree(md);
    1115911148        return NULL;
    1116011149    }
    11161     if (!psMetadataAddF32(md, PS_LIST_TAIL, "dec", 0, NULL, object->dec)) {
     11150    if (!psMetadataAddF64(md, PS_LIST_TAIL, "dec", 0, NULL, object->dec)) {
    1116211151        psError(PS_ERR_UNKNOWN, false, "failed to add item dec");
    1116311152        psFree(md);
     
    1116611155    if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, object->exp_time)) {
    1116711156        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time");
     11157        psFree(md);
     11158        return NULL;
     11159    }
     11160    if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, object->background)) {
     11161        psError(PS_ERR_UNKNOWN, false, "failed to add item background");
    1116811162        psFree(md);
    1116911163        return NULL;
     
    1119611190    psS32           imfiles;
    1119711191    char            *filter;
    11198     char            *class;
    1119911192    psF32           airmass;
    11200     psF32           ra;
    11201     psF32           dec;
     11193    psF64           ra;
     11194    psF64           dec;
    1120211195    psF32           exp_time;
     11196    psF64           background;
    1120311197    char            *recipe;
    1120411198    psS32           p2_version;
     
    1123011224        return false;
    1123111225    }
    11232     class = psMetadataLookupPtr(&status, md, "class");
    11233     if (!status) {
    11234         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item class");
    11235         return false;
    11236     }
    1123711226    airmass = psMetadataLookupF32(&status, md, "airmass");
    1123811227    if (!status) {
     
    1124011229        return false;
    1124111230    }
    11242     ra = psMetadataLookupF32(&status, md, "ra");
     11231    ra = psMetadataLookupF64(&status, md, "ra");
    1124311232    if (!status) {
    1124411233        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ra");
    1124511234        return false;
    1124611235    }
    11247     dec = psMetadataLookupF32(&status, md, "dec");
     11236    dec = psMetadataLookupF64(&status, md, "dec");
    1124811237    if (!status) {
    1124911238        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item dec");
     
    1125511244        return false;
    1125611245    }
     11246    background = psMetadataLookupF64(&status, md, "background");
     11247    if (!status) {
     11248        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item background");
     11249        return false;
     11250    }
    1125711251    recipe = psMetadataLookupPtr(&status, md, "recipe");
    1125811252    if (!status) {
     
    1127111265    }
    1127211266
    11273     return p3PendingExpRowAlloc(exp_id, camera, exp_type, imfiles, filter, class, airmass, ra, dec, exp_time, recipe, p2_version, p3_version);
     11267    return p3PendingExpRowAlloc(exp_id, camera, exp_type, imfiles, filter, airmass, ra, dec, exp_time, background, recipe, p2_version, p3_version);
    1127411268}
    1127511269psArray *p3PendingExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     
    1166911663static void detInputExpRowFree(detInputExpRow *object);
    1167011664
    11671 detInputExpRow *detInputExpRowAlloc(psS32 det_id, psS32 iteration, const char *exp_id, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *filter, const char *class, psF32 airmass, psF32 ra, psF32 dec, psF32 exp_time)
     11665detInputExpRow *detInputExpRowAlloc(psS32 det_id, psS32 iteration, const char *exp_id, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *filter, psF32 airmass, psF64 ra, psF64 dec, psF32 exp_time, psF64 background)
    1167211666{
    1167311667    detInputExpRow  *object;
     
    1168411678    object->imfiles = imfiles;
    1168511679    object->filter = psStringCopy(filter);
    11686     object->class = psStringCopy(class);
    1168711680    object->airmass = airmass;
    1168811681    object->ra = ra;
    1168911682    object->dec = dec;
    1169011683    object->exp_time = exp_time;
     11684    object->background = background;
    1169111685
    1169211686    return object;
     
    1170011694    psFree(object->exp_type);
    1170111695    psFree(object->filter);
    11702     psFree(object->class);
    1170311696}
    1170411697
     
    1175411747        return false;
    1175511748    }
    11756     if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, "255")) {
    11757         psError(PS_ERR_UNKNOWN, false, "failed to add item class");
    11758         psFree(md);
    11759         return false;
    11760     }
    1176111749    if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, 0.0)) {
    1176211750        psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
     
    1176411752        return false;
    1176511753    }
    11766     if (!psMetadataAddF32(md, PS_LIST_TAIL, "ra", 0, NULL, 0.0)) {
     11754    if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, 0.0)) {
    1176711755        psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
    1176811756        psFree(md);
    1176911757        return false;
    1177011758    }
    11771     if (!psMetadataAddF32(md, PS_LIST_TAIL, "dec", 0, NULL, 0.0)) {
     11759    if (!psMetadataAddF64(md, PS_LIST_TAIL, "dec", 0, NULL, 0.0)) {
    1177211760        psError(PS_ERR_UNKNOWN, false, "failed to add item dec");
    1177311761        psFree(md);
     
    1177911767        return false;
    1178011768    }
     11769    if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, 0.0)) {
     11770        psError(PS_ERR_UNKNOWN, false, "failed to add item background");
     11771        psFree(md);
     11772        return false;
     11773    }
    1178111774
    1178211775    status = psDBCreateTable(dbh, DETINPUTEXP_TABLE_NAME, md);
     
    1179211785}
    1179311786
    11794 bool detInputExpInsert(psDB * dbh, psS32 det_id, psS32 iteration, const char *exp_id, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *filter, const char *class, psF32 airmass, psF32 ra, psF32 dec, psF32 exp_time)
     11787bool detInputExpInsert(psDB * dbh, psS32 det_id, psS32 iteration, const char *exp_id, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *filter, psF32 airmass, psF64 ra, psF64 dec, psF32 exp_time, psF64 background)
    1179511788{
    1179611789    psMetadata      *md;
     
    1183811831        return false;
    1183911832    }
    11840     if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, class)) {
    11841         psError(PS_ERR_UNKNOWN, false, "failed to add item class");
    11842         psFree(md);
    11843         return false;
    11844     }
    1184511833    if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, airmass)) {
    1184611834        psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
     
    1184811836        return false;
    1184911837    }
    11850     if (!psMetadataAddF32(md, PS_LIST_TAIL, "ra", 0, NULL, ra)) {
     11838    if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, ra)) {
    1185111839        psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
    1185211840        psFree(md);
    1185311841        return false;
    1185411842    }
    11855     if (!psMetadataAddF32(md, PS_LIST_TAIL, "dec", 0, NULL, dec)) {
     11843    if (!psMetadataAddF64(md, PS_LIST_TAIL, "dec", 0, NULL, dec)) {
    1185611844        psError(PS_ERR_UNKNOWN, false, "failed to add item dec");
    1185711845        psFree(md);
     
    1186311851        return false;
    1186411852    }
     11853    if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, background)) {
     11854        psError(PS_ERR_UNKNOWN, false, "failed to add item background");
     11855        psFree(md);
     11856        return false;
     11857    }
    1186511858
    1186611859    status = psDBInsertOneRow(dbh, DETINPUTEXP_TABLE_NAME, md);
     
    1187011863}
    1187111864
    11872 bool detInputExpPop(psDB *dbh, psS32 *det_id, psS32 *iteration, char **exp_id, char **camera, char **telescope, char **exp_type, psS32 *imfiles, char **filter, char **class, psF32 *airmass, psF32 *ra, psF32 *dec, psF32 *exp_time)
     11865bool detInputExpPop(psDB *dbh, psS32 *det_id, psS32 *iteration, char **exp_id, char **camera, char **telescope, char **exp_type, psS32 *imfiles, char **filter, psF32 *airmass, psF64 *ra, psF64 *dec, psF32 *exp_time, psF64 *background)
    1187311866{
    1187411867    psArray         *rowSet;
     
    1196211955        return false;
    1196311956    }
    11964     *class = psMetadataLookupPtr(&status, row, "class");
    11965     if (!status) {
    11966         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item class");
    11967         psFree(row);
    11968         return false;
    11969     }
    1197011957    *airmass = psMetadataLookupF32(&status, row, "airmass");
    1197111958    if (!status) {
     
    1197411961        return false;
    1197511962    }
    11976     *ra = psMetadataLookupF32(&status, row, "ra");
     11963    *ra = psMetadataLookupF64(&status, row, "ra");
    1197711964    if (!status) {
    1197811965        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ra");
     
    1198011967        return false;
    1198111968    }
    11982     *dec = psMetadataLookupF32(&status, row, "dec");
     11969    *dec = psMetadataLookupF64(&status, row, "dec");
    1198311970    if (!status) {
    1198411971        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item dec");
     
    1199211979        return false;
    1199311980    }
     11981    *background = psMetadataLookupF64(&status, row, "background");
     11982    if (!status) {
     11983        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item background");
     11984        psFree(row);
     11985        return false;
     11986    }
    1199411987
    1199511988    psFree(row);
     
    1200011993bool detInputExpInsertObject(psDB *dbh, detInputExpRow *object)
    1200111994{
    12002     return detInputExpInsert(dbh, object->det_id, object->iteration, object->exp_id, object->camera, object->telescope, object->exp_type, object->imfiles, object->filter, object->class, object->airmass, object->ra, object->dec, object->exp_time);
     11995    return detInputExpInsert(dbh, object->det_id, object->iteration, object->exp_id, object->camera, object->telescope, object->exp_type, object->imfiles, object->filter, object->airmass, object->ra, object->dec, object->exp_time, object->background);
    1200311996}
    1200411997
     
    1201312006    psS32           imfiles;
    1201412007    char            filter[256];
    12015     char            class[256];
    1201612008    psF32           airmass;
    12017     psF32           ra;
    12018     psF32           dec;
     12009    psF64           ra;
     12010    psF64           dec;
    1201912011    psF32           exp_time;
    12020 
    12021     if (!detInputExpPop(dbh, &det_id, &iteration, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&filter, (char **)&class, &airmass, &ra, &dec, &exp_time)) {
     12012    psF64           background;
     12013
     12014    if (!detInputExpPop(dbh, &det_id, &iteration, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&filter, &airmass, &ra, &dec, &exp_time, &background)) {
    1202212015        psError(PS_ERR_UNKNOWN, false, "failed to pop a database row");
    1202312016        return NULL;
    1202412017    }
    1202512018
    12026     return detInputExpRowAlloc(det_id, iteration, exp_id, camera, telescope, exp_type, imfiles, filter, class, airmass, ra, dec, exp_time);
     12019    return detInputExpRowAlloc(det_id, iteration, exp_id, camera, telescope, exp_type, imfiles, filter, airmass, ra, dec, exp_time, background);
    1202712020}
    1202812021
     
    1216312156        return NULL;
    1216412157    }
    12165     if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, object->class)) {
    12166         psError(PS_ERR_UNKNOWN, false, "failed to add item class");
    12167         psFree(md);
    12168         return NULL;
    12169     }
    1217012158    if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, object->airmass)) {
    1217112159        psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
     
    1217312161        return NULL;
    1217412162    }
    12175     if (!psMetadataAddF32(md, PS_LIST_TAIL, "ra", 0, NULL, object->ra)) {
     12163    if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, object->ra)) {
    1217612164        psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
    1217712165        psFree(md);
    1217812166        return NULL;
    1217912167    }
    12180     if (!psMetadataAddF32(md, PS_LIST_TAIL, "dec", 0, NULL, object->dec)) {
     12168    if (!psMetadataAddF64(md, PS_LIST_TAIL, "dec", 0, NULL, object->dec)) {
    1218112169        psError(PS_ERR_UNKNOWN, false, "failed to add item dec");
    1218212170        psFree(md);
     
    1218512173    if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, object->exp_time)) {
    1218612174        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time");
     12175        psFree(md);
     12176        return NULL;
     12177    }
     12178    if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, object->background)) {
     12179        psError(PS_ERR_UNKNOWN, false, "failed to add item background");
    1218712180        psFree(md);
    1218812181        return NULL;
     
    1220312196    psS32           imfiles;
    1220412197    char            *filter;
    12205     char            *class;
    1220612198    psF32           airmass;
    12207     psF32           ra;
    12208     psF32           dec;
     12199    psF64           ra;
     12200    psF64           dec;
    1220912201    psF32           exp_time;
     12202    psF64           background;
    1221012203
    1221112204    det_id = psMetadataLookupS32(&status, md, "det_id");
     
    1224912242        return false;
    1225012243    }
    12251     class = psMetadataLookupPtr(&status, md, "class");
    12252     if (!status) {
    12253         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item class");
    12254         return false;
    12255     }
    1225612244    airmass = psMetadataLookupF32(&status, md, "airmass");
    1225712245    if (!status) {
     
    1225912247        return false;
    1226012248    }
    12261     ra = psMetadataLookupF32(&status, md, "ra");
     12249    ra = psMetadataLookupF64(&status, md, "ra");
    1226212250    if (!status) {
    1226312251        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ra");
    1226412252        return false;
    1226512253    }
    12266     dec = psMetadataLookupF32(&status, md, "dec");
     12254    dec = psMetadataLookupF64(&status, md, "dec");
    1226712255    if (!status) {
    1226812256        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item dec");
     
    1227412262        return false;
    1227512263    }
    12276 
    12277     return detInputExpRowAlloc(det_id, iteration, exp_id, camera, telescope, exp_type, imfiles, filter, class, airmass, ra, dec, exp_time);
     12264    background = psMetadataLookupF64(&status, md, "background");
     12265    if (!status) {
     12266        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item background");
     12267        return false;
     12268    }
     12269
     12270    return detInputExpRowAlloc(det_id, iteration, exp_id, camera, telescope, exp_type, imfiles, filter, airmass, ra, dec, exp_time, background);
    1227812271}
    1227912272psArray *detInputExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
  • branches/jhoblitt/ippdb/src/ippdb.h

    r8079 r8084  
    21032103    char            *exp_type;
    21042104    psS32           imfiles;
    2105     char            *class;
    21062105} newExpRow;
    21072106
     
    21162115    const char      *telescope,
    21172116    const char      *exp_type,
    2118     psS32           imfiles,
    2119     const char      *class
     2117    psS32           imfiles
    21202118);
    21212119
     
    21512149    const char      *telescope,
    21522150    const char      *exp_type,
    2153     psS32           imfiles,
    2154     const char      *class
     2151    psS32           imfiles
    21552152);
    21562153
     
    21662163    char            **telescope,
    21672164    char            **exp_type,
    2168     psS32           *imfiles,
    2169     char            **class
     2165    psS32           *imfiles
    21702166);
    21712167
     
    24722468    char            *class;
    24732469    psF32           airmass;
    2474     psF32           ra;
    2475     psF32           dec;
     2470    psF64           ra;
     2471    psF64           dec;
    24762472    psF32           exp_time;
     2473    psF64           background;
    24772474} rawDetrendExpRow;
    24782475
     
    24912488    const char      *class,
    24922489    psF32           airmass,
    2493     psF32           ra,
    2494     psF32           dec,
    2495     psF32           exp_time
     2490    psF64           ra,
     2491    psF64           dec,
     2492    psF32           exp_time,
     2493    psF64           background
    24962494);
    24972495
     
    25312529    const char      *class,
    25322530    psF32           airmass,
    2533     psF32           ra,
    2534     psF32           dec,
    2535     psF32           exp_time
     2531    psF64           ra,
     2532    psF64           dec,
     2533    psF32           exp_time,
     2534    psF64           background
    25362535);
    25372536
     
    25512550    char            **class,
    25522551    psF32           *airmass,
    2553     psF32           *ra,
    2554     psF32           *dec,
    2555     psF32           *exp_time
     2552    psF64           *ra,
     2553    psF64           *dec,
     2554    psF32           *exp_time,
     2555    psF64           *background
    25562556);
    25572557
     
    26792679    char            *class;
    26802680    psF32           airmass;
    2681     psF32           ra;
    2682     psF32           dec;
     2681    psF64           ra;
     2682    psF64           dec;
    26832683    psF32           exp_time;
     2684    psF64           background;
    26842685} rawScienceExpRow;
    26852686
     
    26982699    const char      *class,
    26992700    psF32           airmass,
    2700     psF32           ra,
    2701     psF32           dec,
    2702     psF32           exp_time
     2701    psF64           ra,
     2702    psF64           dec,
     2703    psF32           exp_time,
     2704    psF64           background
    27032705);
    27042706
     
    27382740    const char      *class,
    27392741    psF32           airmass,
    2740     psF32           ra,
    2741     psF32           dec,
    2742     psF32           exp_time
     2742    psF64           ra,
     2743    psF64           dec,
     2744    psF32           exp_time,
     2745    psF64           background
    27432746);
    27442747
     
    27582761    char            **class,
    27592762    psF32           *airmass,
    2760     psF32           *ra,
    2761     psF32           *dec,
    2762     psF32           *exp_time
     2763    psF64           *ra,
     2764    psF64           *dec,
     2765    psF32           *exp_time,
     2766    psF64           *background
    27632767);
    27642768
     
    28822886    char            *class_id;
    28832887    char            *uri;
    2884     char            *stats;
    28852888} rawImfileRow;
    28862889
     
    28942897    const char      *class,
    28952898    const char      *class_id,
    2896     const char      *uri,
    2897     const char      *stats
     2899    const char      *uri
    28982900);
    28992901
     
    29282930    const char      *class,
    29292931    const char      *class_id,
    2930     const char      *uri,
    2931     const char      *stats
     2932    const char      *uri
    29322933);
    29332934
     
    29422943    char            **class,
    29432944    char            **class_id,
    2944     char            **uri,
    2945     char            **stats
     2945    char            **uri
    29462946);
    29472947
     
    30673067    psS32           imfiles;
    30683068    char            *filter;
    3069     char            *class;
    30703069    psF32           airmass;
    3071     psF32           ra;
    3072     psF32           dec;
     3070    psF64           ra;
     3071    psF64           dec;
    30733072    psF32           exp_time;
     3073    psF64           background;
    30743074    char            *recipe;
    30753075    psS32           p1_version;
     
    30883088    psS32           imfiles,
    30893089    const char      *filter,
    3090     const char      *class,
    30913090    psF32           airmass,
    3092     psF32           ra,
    3093     psF32           dec,
     3091    psF64           ra,
     3092    psF64           dec,
    30943093    psF32           exp_time,
     3094    psF64           background,
    30953095    const char      *recipe,
    30963096    psS32           p1_version
     
    31303130    psS32           imfiles,
    31313131    const char      *filter,
    3132     const char      *class,
    31333132    psF32           airmass,
    3134     psF32           ra,
    3135     psF32           dec,
     3133    psF64           ra,
     3134    psF64           dec,
    31363135    psF32           exp_time,
     3136    psF64           background,
    31373137    const char      *recipe,
    31383138    psS32           p1_version
     
    31523152    psS32           *imfiles,
    31533153    char            **filter,
    3154     char            **class,
    31553154    psF32           *airmass,
    3156     psF32           *ra,
    3157     psF32           *dec,
     3155    psF64           *ra,
     3156    psF64           *dec,
    31583157    psF32           *exp_time,
     3158    psF64           *background,
    31593159    char            **recipe,
    31603160    psS32           *p1_version
     
    32823282    psS32           imfiles;
    32833283    char            *filter;
    3284     char            *class;
    32853284    psF32           airmass;
    32863285    psF32           ra;
    3287     psF32           dec;
    3288     psF32           exp_time;
     3286    psF64           dec;
     3287    psF64           exp_time;
     3288    psF64           background;
    32893289    char            *recipe;
    32903290    psS32           p1_version;
     
    33043304    psS32           imfiles,
    33053305    const char      *filter,
    3306     const char      *class,
    33073306    psF32           airmass,
    33083307    psF32           ra,
    3309     psF32           dec,
    3310     psF32           exp_time,
     3308    psF64           dec,
     3309    psF64           exp_time,
     3310    psF64           background,
    33113311    const char      *recipe,
    33123312    psS32           p1_version,
     
    33473347    psS32           imfiles,
    33483348    const char      *filter,
    3349     const char      *class,
    33503349    psF32           airmass,
    33513350    psF32           ra,
    3352     psF32           dec,
    3353     psF32           exp_time,
     3351    psF64           dec,
     3352    psF64           exp_time,
     3353    psF64           background,
    33543354    const char      *recipe,
    33553355    psS32           p1_version,
     
    33703370    psS32           *imfiles,
    33713371    char            **filter,
    3372     char            **class,
    33733372    psF32           *airmass,
    33743373    psF32           *ra,
    3375     psF32           *dec,
    3376     psF32           *exp_time,
     3374    psF64           *dec,
     3375    psF64           *exp_time,
     3376    psF64           *background,
    33773377    char            **recipe,
    33783378    psS32           *p1_version,
     
    36923692    psS32           imfiles;
    36933693    char            *filter;
    3694     char            *class;
    36953694    psF32           airmass;
    3696     psF32           ra;
    3697     psF32           dec;
     3695    psF64           ra;
     3696    psF64           dec;
    36983697    psF32           exp_time;
     3698    psF64           background;
    36993699    char            *recipe;
    37003700    psS32           p1_version;
     
    37143714    psS32           imfiles,
    37153715    const char      *filter,
    3716     const char      *class,
    37173716    psF32           airmass,
    3718     psF32           ra,
    3719     psF32           dec,
     3717    psF64           ra,
     3718    psF64           dec,
    37203719    psF32           exp_time,
     3720    psF64           background,
    37213721    const char      *recipe,
    37223722    psS32           p1_version,
     
    37573757    psS32           imfiles,
    37583758    const char      *filter,
    3759     const char      *class,
    37603759    psF32           airmass,
    3761     psF32           ra,
    3762     psF32           dec,
     3760    psF64           ra,
     3761    psF64           dec,
    37633762    psF32           exp_time,
     3763    psF64           background,
    37643764    const char      *recipe,
    37653765    psS32           p1_version,
     
    37803780    psS32           *imfiles,
    37813781    char            **filter,
    3782     char            **class,
    37833782    psF32           *airmass,
    3784     psF32           *ra,
    3785     psF32           *dec,
     3783    psF64           *ra,
     3784    psF64           *dec,
    37863785    psF32           *exp_time,
     3786    psF64           *background,
    37873787    char            **recipe,
    37883788    psS32           *p1_version,
     
    41014101    psS32           imfiles;
    41024102    char            *filter;
    4103     char            *class;
    41044103    psF32           airmass;
    4105     psF32           ra;
    4106     psF32           dec;
     4104    psF64           ra;
     4105    psF64           dec;
    41074106    psF32           exp_time;
     4107    psF64           background;
    41084108    char            *recipe;
    41094109    psS32           p2_version;
     
    41224122    psS32           imfiles,
    41234123    const char      *filter,
    4124     const char      *class,
    41254124    psF32           airmass,
    4126     psF32           ra,
    4127     psF32           dec,
     4125    psF64           ra,
     4126    psF64           dec,
    41284127    psF32           exp_time,
     4128    psF64           background,
    41294129    const char      *recipe,
    41304130    psS32           p2_version,
     
    41644164    psS32           imfiles,
    41654165    const char      *filter,
    4166     const char      *class,
    41674166    psF32           airmass,
    4168     psF32           ra,
    4169     psF32           dec,
     4167    psF64           ra,
     4168    psF64           dec,
    41704169    psF32           exp_time,
     4170    psF64           background,
    41714171    const char      *recipe,
    41724172    psS32           p2_version,
     
    41864186    psS32           *imfiles,
    41874187    char            **filter,
    4188     char            **class,
    41894188    psF32           *airmass,
    4190     psF32           *ra,
    4191     psF32           *dec,
     4189    psF64           *ra,
     4190    psF64           *dec,
    41924191    psF32           *exp_time,
     4192    psF64           *background,
    41934193    char            **recipe,
    41944194    psS32           *p2_version,
     
    44904490    psS32           imfiles;
    44914491    char            *filter;
    4492     char            *class;
    44934492    psF32           airmass;
    4494     psF32           ra;
    4495     psF32           dec;
     4493    psF64           ra;
     4494    psF64           dec;
    44964495    psF32           exp_time;
     4496    psF64           background;
    44974497} detInputExpRow;
    44984498
     
    45114511    psS32           imfiles,
    45124512    const char      *filter,
    4513     const char      *class,
    45144513    psF32           airmass,
    4515     psF32           ra,
    4516     psF32           dec,
    4517     psF32           exp_time
     4514    psF64           ra,
     4515    psF64           dec,
     4516    psF32           exp_time,
     4517    psF64           background
    45184518);
    45194519
     
    45534553    psS32           imfiles,
    45544554    const char      *filter,
    4555     const char      *class,
    45564555    psF32           airmass,
    4557     psF32           ra,
    4558     psF32           dec,
    4559     psF32           exp_time
     4556    psF64           ra,
     4557    psF64           dec,
     4558    psF32           exp_time,
     4559    psF64           background
    45604560);
    45614561
     
    45754575    psS32           *imfiles,
    45764576    char            **filter,
    4577     char            **class,
    45784577    psF32           *airmass,
    4579     psF32           *ra,
    4580     psF32           *dec,
    4581     psF32           *exp_time
     4578    psF64           *ra,
     4579    psF64           *dec,
     4580    psF32           *exp_time,
     4581    psF64           *background
    45824582);
    45834583
  • branches/jhoblitt/ippdb/tests/alloc.c

    r8079 r8084  
    421421        newExpRow       *object;
    422422
    423         object = newExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string"    );
     423        object = newExpRowAlloc("a string", "a string", "a string", "a string", -32    );
    424424
    425425        if (!object) {
     
    447447            exit(EXIT_FAILURE);
    448448        }
     449
     450        psFree(object);
     451    }
     452
     453    {
     454        newImfileRow    *object;
     455
     456        object = newImfileRowAlloc("a string", "a string", "a string", "a string"    );
     457
     458        if (!object) {
     459            exit(EXIT_FAILURE);
     460        }
     461
     462        if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
     463            psFree(object);
     464            exit(EXIT_FAILURE);
     465        }
    449466        if (strncmp(object->class, "a string", MAX_STRING_LENGTH)) {
    450467            psFree(object);
    451468            exit(EXIT_FAILURE);
    452469        }
    453 
    454         psFree(object);
    455     }
    456 
    457     {
    458         newImfileRow    *object;
    459 
    460         object = newImfileRowAlloc("a string", "a string", "a string", "a string"    );
    461 
    462         if (!object) {
    463             exit(EXIT_FAILURE);
    464         }
    465 
    466         if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
     470        if (strncmp(object->class_id, "a string", MAX_STRING_LENGTH)) {
     471            psFree(object);
     472            exit(EXIT_FAILURE);
     473        }
     474        if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) {
     475            psFree(object);
     476            exit(EXIT_FAILURE);
     477        }
     478
     479        psFree(object);
     480    }
     481
     482    {
     483        rawDetrendExpRow *object;
     484
     485        object = rawDetrendExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", "a string", 32.32, 64.64, 64.64, 32.32, 64.64    );
     486
     487        if (!object) {
     488            exit(EXIT_FAILURE);
     489        }
     490
     491        if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
     492            psFree(object);
     493            exit(EXIT_FAILURE);
     494        }
     495        if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {
     496            psFree(object);
     497            exit(EXIT_FAILURE);
     498        }
     499        if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) {
     500            psFree(object);
     501            exit(EXIT_FAILURE);
     502        }
     503        if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {
     504            psFree(object);
     505            exit(EXIT_FAILURE);
     506        }
     507        if (!object->imfiles == -32) {
     508            psFree(object);
     509            exit(EXIT_FAILURE);
     510        }
     511        if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) {
    467512            psFree(object);
    468513            exit(EXIT_FAILURE);
     
    472517            exit(EXIT_FAILURE);
    473518        }
     519        if (!object->airmass == 32.32) {
     520            psFree(object);
     521            exit(EXIT_FAILURE);
     522        }
     523        if (!object->ra == 64.64) {
     524            psFree(object);
     525            exit(EXIT_FAILURE);
     526        }
     527        if (!object->dec == 64.64) {
     528            psFree(object);
     529            exit(EXIT_FAILURE);
     530        }
     531        if (!object->exp_time == 32.32) {
     532            psFree(object);
     533            exit(EXIT_FAILURE);
     534        }
     535        if (!object->background == 64.64) {
     536            psFree(object);
     537            exit(EXIT_FAILURE);
     538        }
     539
     540        psFree(object);
     541    }
     542
     543    {
     544        rawScienceExpRow *object;
     545
     546        object = rawScienceExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", "a string", 32.32, 64.64, 64.64, 32.32, 64.64    );
     547
     548        if (!object) {
     549            exit(EXIT_FAILURE);
     550        }
     551
     552        if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
     553            psFree(object);
     554            exit(EXIT_FAILURE);
     555        }
     556        if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {
     557            psFree(object);
     558            exit(EXIT_FAILURE);
     559        }
     560        if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) {
     561            psFree(object);
     562            exit(EXIT_FAILURE);
     563        }
     564        if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {
     565            psFree(object);
     566            exit(EXIT_FAILURE);
     567        }
     568        if (!object->imfiles == -32) {
     569            psFree(object);
     570            exit(EXIT_FAILURE);
     571        }
     572        if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) {
     573            psFree(object);
     574            exit(EXIT_FAILURE);
     575        }
     576        if (strncmp(object->class, "a string", MAX_STRING_LENGTH)) {
     577            psFree(object);
     578            exit(EXIT_FAILURE);
     579        }
     580        if (!object->airmass == 32.32) {
     581            psFree(object);
     582            exit(EXIT_FAILURE);
     583        }
     584        if (!object->ra == 64.64) {
     585            psFree(object);
     586            exit(EXIT_FAILURE);
     587        }
     588        if (!object->dec == 64.64) {
     589            psFree(object);
     590            exit(EXIT_FAILURE);
     591        }
     592        if (!object->exp_time == 32.32) {
     593            psFree(object);
     594            exit(EXIT_FAILURE);
     595        }
     596        if (!object->background == 64.64) {
     597            psFree(object);
     598            exit(EXIT_FAILURE);
     599        }
     600
     601        psFree(object);
     602    }
     603
     604    {
     605        rawImfileRow    *object;
     606
     607        object = rawImfileRowAlloc("a string", "a string", "a string", "a string"    );
     608
     609        if (!object) {
     610            exit(EXIT_FAILURE);
     611        }
     612
     613        if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
     614            psFree(object);
     615            exit(EXIT_FAILURE);
     616        }
     617        if (strncmp(object->class, "a string", MAX_STRING_LENGTH)) {
     618            psFree(object);
     619            exit(EXIT_FAILURE);
     620        }
    474621        if (strncmp(object->class_id, "a string", MAX_STRING_LENGTH)) {
    475622            psFree(object);
     
    485632
    486633    {
    487         rawDetrendExpRow *object;
    488 
    489         object = rawDetrendExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", "a string", 32.32, 32.32, 32.32, 32.32    );
     634        p1PendingExpRow *object;
     635
     636        object = p1PendingExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64, "a string", -32    );
    490637
    491638        if (!object) {
     
    517664            exit(EXIT_FAILURE);
    518665        }
    519         if (strncmp(object->class, "a string", MAX_STRING_LENGTH)) {
    520             psFree(object);
    521             exit(EXIT_FAILURE);
    522         }
    523666        if (!object->airmass == 32.32) {
    524667            psFree(object);
    525668            exit(EXIT_FAILURE);
    526669        }
     670        if (!object->ra == 64.64) {
     671            psFree(object);
     672            exit(EXIT_FAILURE);
     673        }
     674        if (!object->dec == 64.64) {
     675            psFree(object);
     676            exit(EXIT_FAILURE);
     677        }
     678        if (!object->exp_time == 32.32) {
     679            psFree(object);
     680            exit(EXIT_FAILURE);
     681        }
     682        if (!object->background == 64.64) {
     683            psFree(object);
     684            exit(EXIT_FAILURE);
     685        }
     686        if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) {
     687            psFree(object);
     688            exit(EXIT_FAILURE);
     689        }
     690        if (!object->p1_version == -32) {
     691            psFree(object);
     692            exit(EXIT_FAILURE);
     693        }
     694
     695        psFree(object);
     696    }
     697
     698    {
     699        p2PendingExpRow *object;
     700
     701        object = p2PendingExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", 32.32, 32.32, 64.64, 64.64, 64.64, "a string", -32, -32    );
     702
     703        if (!object) {
     704            exit(EXIT_FAILURE);
     705        }
     706
     707        if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
     708            psFree(object);
     709            exit(EXIT_FAILURE);
     710        }
     711        if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {
     712            psFree(object);
     713            exit(EXIT_FAILURE);
     714        }
     715        if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) {
     716            psFree(object);
     717            exit(EXIT_FAILURE);
     718        }
     719        if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {
     720            psFree(object);
     721            exit(EXIT_FAILURE);
     722        }
     723        if (!object->imfiles == -32) {
     724            psFree(object);
     725            exit(EXIT_FAILURE);
     726        }
     727        if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) {
     728            psFree(object);
     729            exit(EXIT_FAILURE);
     730        }
     731        if (!object->airmass == 32.32) {
     732            psFree(object);
     733            exit(EXIT_FAILURE);
     734        }
    527735        if (!object->ra == 32.32) {
    528736            psFree(object);
    529737            exit(EXIT_FAILURE);
    530738        }
    531         if (!object->dec == 32.32) {
     739        if (!object->dec == 64.64) {
     740            psFree(object);
     741            exit(EXIT_FAILURE);
     742        }
     743        if (!object->exp_time == 64.64) {
     744            psFree(object);
     745            exit(EXIT_FAILURE);
     746        }
     747        if (!object->background == 64.64) {
     748            psFree(object);
     749            exit(EXIT_FAILURE);
     750        }
     751        if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) {
     752            psFree(object);
     753            exit(EXIT_FAILURE);
     754        }
     755        if (!object->p1_version == -32) {
     756            psFree(object);
     757            exit(EXIT_FAILURE);
     758        }
     759        if (!object->p2_version == -32) {
     760            psFree(object);
     761            exit(EXIT_FAILURE);
     762        }
     763
     764        psFree(object);
     765    }
     766
     767    {
     768        p2PendingImfileRow *object;
     769
     770        object = p2PendingImfileRowAlloc("a string", "a string", "a string", "a string", "a string", -32, -32    );
     771
     772        if (!object) {
     773            exit(EXIT_FAILURE);
     774        }
     775
     776        if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
     777            psFree(object);
     778            exit(EXIT_FAILURE);
     779        }
     780        if (strncmp(object->class_id, "a string", MAX_STRING_LENGTH)) {
     781            psFree(object);
     782            exit(EXIT_FAILURE);
     783        }
     784        if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) {
     785            psFree(object);
     786            exit(EXIT_FAILURE);
     787        }
     788        if (strncmp(object->stats, "a string", MAX_STRING_LENGTH)) {
     789            psFree(object);
     790            exit(EXIT_FAILURE);
     791        }
     792        if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) {
     793            psFree(object);
     794            exit(EXIT_FAILURE);
     795        }
     796        if (!object->p1_version == -32) {
     797            psFree(object);
     798            exit(EXIT_FAILURE);
     799        }
     800        if (!object->p2_version == -32) {
     801            psFree(object);
     802            exit(EXIT_FAILURE);
     803        }
     804
     805        psFree(object);
     806    }
     807
     808    {
     809        p2DoneExpRow    *object;
     810
     811        object = p2DoneExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64, "a string", -32, -32    );
     812
     813        if (!object) {
     814            exit(EXIT_FAILURE);
     815        }
     816
     817        if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
     818            psFree(object);
     819            exit(EXIT_FAILURE);
     820        }
     821        if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {
     822            psFree(object);
     823            exit(EXIT_FAILURE);
     824        }
     825        if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) {
     826            psFree(object);
     827            exit(EXIT_FAILURE);
     828        }
     829        if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {
     830            psFree(object);
     831            exit(EXIT_FAILURE);
     832        }
     833        if (!object->imfiles == -32) {
     834            psFree(object);
     835            exit(EXIT_FAILURE);
     836        }
     837        if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) {
     838            psFree(object);
     839            exit(EXIT_FAILURE);
     840        }
     841        if (!object->airmass == 32.32) {
     842            psFree(object);
     843            exit(EXIT_FAILURE);
     844        }
     845        if (!object->ra == 64.64) {
     846            psFree(object);
     847            exit(EXIT_FAILURE);
     848        }
     849        if (!object->dec == 64.64) {
    532850            psFree(object);
    533851            exit(EXIT_FAILURE);
     
    537855            exit(EXIT_FAILURE);
    538856        }
    539 
    540         psFree(object);
    541     }
    542 
    543     {
    544         rawScienceExpRow *object;
    545 
    546         object = rawScienceExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", "a string", 32.32, 32.32, 32.32, 32.32    );
     857        if (!object->background == 64.64) {
     858            psFree(object);
     859            exit(EXIT_FAILURE);
     860        }
     861        if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) {
     862            psFree(object);
     863            exit(EXIT_FAILURE);
     864        }
     865        if (!object->p1_version == -32) {
     866            psFree(object);
     867            exit(EXIT_FAILURE);
     868        }
     869        if (!object->p2_version == -32) {
     870            psFree(object);
     871            exit(EXIT_FAILURE);
     872        }
     873
     874        psFree(object);
     875    }
     876
     877    {
     878        p2DoneImfileRow *object;
     879
     880        object = p2DoneImfileRowAlloc("a string", "a string", "a string", "a string", "a string", -32, -32    );
     881
     882        if (!object) {
     883            exit(EXIT_FAILURE);
     884        }
     885
     886        if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
     887            psFree(object);
     888            exit(EXIT_FAILURE);
     889        }
     890        if (strncmp(object->class_id, "a string", MAX_STRING_LENGTH)) {
     891            psFree(object);
     892            exit(EXIT_FAILURE);
     893        }
     894        if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) {
     895            psFree(object);
     896            exit(EXIT_FAILURE);
     897        }
     898        if (strncmp(object->stats, "a string", MAX_STRING_LENGTH)) {
     899            psFree(object);
     900            exit(EXIT_FAILURE);
     901        }
     902        if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) {
     903            psFree(object);
     904            exit(EXIT_FAILURE);
     905        }
     906        if (!object->p1_version == -32) {
     907            psFree(object);
     908            exit(EXIT_FAILURE);
     909        }
     910        if (!object->p2_version == -32) {
     911            psFree(object);
     912            exit(EXIT_FAILURE);
     913        }
     914
     915        psFree(object);
     916    }
     917
     918    {
     919        p3PendingExpRow *object;
     920
     921        object = p3PendingExpRowAlloc("a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64, "a string", -32, -32    );
    547922
    548923        if (!object) {
     
    558933            exit(EXIT_FAILURE);
    559934        }
     935        if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {
     936            psFree(object);
     937            exit(EXIT_FAILURE);
     938        }
     939        if (!object->imfiles == -32) {
     940            psFree(object);
     941            exit(EXIT_FAILURE);
     942        }
     943        if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) {
     944            psFree(object);
     945            exit(EXIT_FAILURE);
     946        }
     947        if (!object->airmass == 32.32) {
     948            psFree(object);
     949            exit(EXIT_FAILURE);
     950        }
     951        if (!object->ra == 64.64) {
     952            psFree(object);
     953            exit(EXIT_FAILURE);
     954        }
     955        if (!object->dec == 64.64) {
     956            psFree(object);
     957            exit(EXIT_FAILURE);
     958        }
     959        if (!object->exp_time == 32.32) {
     960            psFree(object);
     961            exit(EXIT_FAILURE);
     962        }
     963        if (!object->background == 64.64) {
     964            psFree(object);
     965            exit(EXIT_FAILURE);
     966        }
     967        if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) {
     968            psFree(object);
     969            exit(EXIT_FAILURE);
     970        }
     971        if (!object->p2_version == -32) {
     972            psFree(object);
     973            exit(EXIT_FAILURE);
     974        }
     975        if (!object->p3_version == -32) {
     976            psFree(object);
     977            exit(EXIT_FAILURE);
     978        }
     979
     980        psFree(object);
     981    }
     982
     983    {
     984        detRunRow       *object;
     985
     986        object = detRunRowAlloc(-32, "a string"    );
     987
     988        if (!object) {
     989            exit(EXIT_FAILURE);
     990        }
     991
     992        if (!object->iteration == -32) {
     993            psFree(object);
     994            exit(EXIT_FAILURE);
     995        }
     996        if (strncmp(object->det_type, "a string", MAX_STRING_LENGTH)) {
     997            psFree(object);
     998            exit(EXIT_FAILURE);
     999        }
     1000
     1001        psFree(object);
     1002    }
     1003
     1004    {
     1005        detInputExpRow  *object;
     1006
     1007        object = detInputExpRowAlloc(-32, -32, "a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64    );
     1008
     1009        if (!object) {
     1010            exit(EXIT_FAILURE);
     1011        }
     1012
     1013        if (!object->det_id == -32) {
     1014            psFree(object);
     1015            exit(EXIT_FAILURE);
     1016        }
     1017        if (!object->iteration == -32) {
     1018            psFree(object);
     1019            exit(EXIT_FAILURE);
     1020        }
     1021        if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
     1022            psFree(object);
     1023            exit(EXIT_FAILURE);
     1024        }
     1025        if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {
     1026            psFree(object);
     1027            exit(EXIT_FAILURE);
     1028        }
    5601029        if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) {
    5611030            psFree(object);
     
    5741043            exit(EXIT_FAILURE);
    5751044        }
    576         if (strncmp(object->class, "a string", MAX_STRING_LENGTH)) {
    577             psFree(object);
    578             exit(EXIT_FAILURE);
    579         }
    5801045        if (!object->airmass == 32.32) {
    5811046            psFree(object);
    5821047            exit(EXIT_FAILURE);
    5831048        }
    584         if (!object->ra == 32.32) {
    585             psFree(object);
    586             exit(EXIT_FAILURE);
    587         }
    588         if (!object->dec == 32.32) {
     1049        if (!object->ra == 64.64) {
     1050            psFree(object);
     1051            exit(EXIT_FAILURE);
     1052        }
     1053        if (!object->dec == 64.64) {
    5891054            psFree(object);
    5901055            exit(EXIT_FAILURE);
     
    5941059            exit(EXIT_FAILURE);
    5951060        }
    596 
    597         psFree(object);
    598     }
    599 
    600     {
    601         rawImfileRow    *object;
    602 
    603         object = rawImfileRowAlloc("a string", "a string", "a string", "a string", "a string"    );
    604 
    605         if (!object) {
    606             exit(EXIT_FAILURE);
    607         }
    608 
    609         if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
    610             psFree(object);
    611             exit(EXIT_FAILURE);
    612         }
    613         if (strncmp(object->class, "a string", MAX_STRING_LENGTH)) {
    614             psFree(object);
    615             exit(EXIT_FAILURE);
    616         }
    617         if (strncmp(object->class_id, "a string", MAX_STRING_LENGTH)) {
    618             psFree(object);
    619             exit(EXIT_FAILURE);
    620         }
    621         if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) {
    622             psFree(object);
    623             exit(EXIT_FAILURE);
    624         }
    625         if (strncmp(object->stats, "a string", MAX_STRING_LENGTH)) {
    626             psFree(object);
    627             exit(EXIT_FAILURE);
    628         }
    629 
    630         psFree(object);
    631     }
    632 
    633     {
    634         p1PendingExpRow *object;
    635 
    636         object = p1PendingExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", "a string", 32.32, 32.32, 32.32, 32.32, "a string", -32    );
    637 
    638         if (!object) {
    639             exit(EXIT_FAILURE);
    640         }
    641 
    642         if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
    643             psFree(object);
    644             exit(EXIT_FAILURE);
    645         }
    646         if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {
    647             psFree(object);
    648             exit(EXIT_FAILURE);
    649         }
    650         if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) {
    651             psFree(object);
    652             exit(EXIT_FAILURE);
    653         }
    654         if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {
    655             psFree(object);
    656             exit(EXIT_FAILURE);
    657         }
    658         if (!object->imfiles == -32) {
    659             psFree(object);
    660             exit(EXIT_FAILURE);
    661         }
    662         if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) {
    663             psFree(object);
    664             exit(EXIT_FAILURE);
    665         }
    666         if (strncmp(object->class, "a string", MAX_STRING_LENGTH)) {
    667             psFree(object);
    668             exit(EXIT_FAILURE);
    669         }
    670         if (!object->airmass == 32.32) {
    671             psFree(object);
    672             exit(EXIT_FAILURE);
    673         }
    674         if (!object->ra == 32.32) {
    675             psFree(object);
    676             exit(EXIT_FAILURE);
    677         }
    678         if (!object->dec == 32.32) {
    679             psFree(object);
    680             exit(EXIT_FAILURE);
    681         }
    682         if (!object->exp_time == 32.32) {
    683             psFree(object);
    684             exit(EXIT_FAILURE);
    685         }
    686         if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) {
    687             psFree(object);
    688             exit(EXIT_FAILURE);
    689         }
    690         if (!object->p1_version == -32) {
    691             psFree(object);
    692             exit(EXIT_FAILURE);
    693         }
    694 
    695         psFree(object);
    696     }
    697 
    698     {
    699         p2PendingExpRow *object;
    700 
    701         object = p2PendingExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", "a string", 32.32, 32.32, 32.32, 32.32, "a string", -32, -32    );
    702 
    703         if (!object) {
    704             exit(EXIT_FAILURE);
    705         }
    706 
    707         if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
    708             psFree(object);
    709             exit(EXIT_FAILURE);
    710         }
    711         if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {
    712             psFree(object);
    713             exit(EXIT_FAILURE);
    714         }
    715         if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) {
    716             psFree(object);
    717             exit(EXIT_FAILURE);
    718         }
    719         if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {
    720             psFree(object);
    721             exit(EXIT_FAILURE);
    722         }
    723         if (!object->imfiles == -32) {
    724             psFree(object);
    725             exit(EXIT_FAILURE);
    726         }
    727         if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) {
    728             psFree(object);
    729             exit(EXIT_FAILURE);
    730         }
    731         if (strncmp(object->class, "a string", MAX_STRING_LENGTH)) {
    732             psFree(object);
    733             exit(EXIT_FAILURE);
    734         }
    735         if (!object->airmass == 32.32) {
    736             psFree(object);
    737             exit(EXIT_FAILURE);
    738         }
    739         if (!object->ra == 32.32) {
    740             psFree(object);
    741             exit(EXIT_FAILURE);
    742         }
    743         if (!object->dec == 32.32) {
    744             psFree(object);
    745             exit(EXIT_FAILURE);
    746         }
    747         if (!object->exp_time == 32.32) {
    748             psFree(object);
    749             exit(EXIT_FAILURE);
    750         }
    751         if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) {
    752             psFree(object);
    753             exit(EXIT_FAILURE);
    754         }
    755         if (!object->p1_version == -32) {
    756             psFree(object);
    757             exit(EXIT_FAILURE);
    758         }
    759         if (!object->p2_version == -32) {
    760             psFree(object);
    761             exit(EXIT_FAILURE);
    762         }
    763 
    764         psFree(object);
    765     }
    766 
    767     {
    768         p2PendingImfileRow *object;
    769 
    770         object = p2PendingImfileRowAlloc("a string", "a string", "a string", "a string", "a string", -32, -32    );
    771 
    772         if (!object) {
    773             exit(EXIT_FAILURE);
    774         }
    775 
    776         if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
    777             psFree(object);
    778             exit(EXIT_FAILURE);
    779         }
    780         if (strncmp(object->class_id, "a string", MAX_STRING_LENGTH)) {
    781             psFree(object);
    782             exit(EXIT_FAILURE);
    783         }
    784         if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) {
    785             psFree(object);
    786             exit(EXIT_FAILURE);
    787         }
    788         if (strncmp(object->stats, "a string", MAX_STRING_LENGTH)) {
    789             psFree(object);
    790             exit(EXIT_FAILURE);
    791         }
    792         if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) {
    793             psFree(object);
    794             exit(EXIT_FAILURE);
    795         }
    796         if (!object->p1_version == -32) {
    797             psFree(object);
    798             exit(EXIT_FAILURE);
    799         }
    800         if (!object->p2_version == -32) {
    801             psFree(object);
    802             exit(EXIT_FAILURE);
    803         }
    804 
    805         psFree(object);
    806     }
    807 
    808     {
    809         p2DoneExpRow    *object;
    810 
    811         object = p2DoneExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", "a string", 32.32, 32.32, 32.32, 32.32, "a string", -32, -32    );
    812 
    813         if (!object) {
    814             exit(EXIT_FAILURE);
    815         }
    816 
    817         if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
    818             psFree(object);
    819             exit(EXIT_FAILURE);
    820         }
    821         if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {
    822             psFree(object);
    823             exit(EXIT_FAILURE);
    824         }
    825         if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) {
    826             psFree(object);
    827             exit(EXIT_FAILURE);
    828         }
    829         if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {
    830             psFree(object);
    831             exit(EXIT_FAILURE);
    832         }
    833         if (!object->imfiles == -32) {
    834             psFree(object);
    835             exit(EXIT_FAILURE);
    836         }
    837         if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) {
    838             psFree(object);
    839             exit(EXIT_FAILURE);
    840         }
    841         if (strncmp(object->class, "a string", MAX_STRING_LENGTH)) {
    842             psFree(object);
    843             exit(EXIT_FAILURE);
    844         }
    845         if (!object->airmass == 32.32) {
    846             psFree(object);
    847             exit(EXIT_FAILURE);
    848         }
    849         if (!object->ra == 32.32) {
    850             psFree(object);
    851             exit(EXIT_FAILURE);
    852         }
    853         if (!object->dec == 32.32) {
    854             psFree(object);
    855             exit(EXIT_FAILURE);
    856         }
    857         if (!object->exp_time == 32.32) {
    858             psFree(object);
    859             exit(EXIT_FAILURE);
    860         }
    861         if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) {
    862             psFree(object);
    863             exit(EXIT_FAILURE);
    864         }
    865         if (!object->p1_version == -32) {
    866             psFree(object);
    867             exit(EXIT_FAILURE);
    868         }
    869         if (!object->p2_version == -32) {
    870             psFree(object);
    871             exit(EXIT_FAILURE);
    872         }
    873 
    874         psFree(object);
    875     }
    876 
    877     {
    878         p2DoneImfileRow *object;
    879 
    880         object = p2DoneImfileRowAlloc("a string", "a string", "a string", "a string", "a string", -32, -32    );
    881 
    882         if (!object) {
    883             exit(EXIT_FAILURE);
    884         }
    885 
    886         if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
    887             psFree(object);
    888             exit(EXIT_FAILURE);
    889         }
    890         if (strncmp(object->class_id, "a string", MAX_STRING_LENGTH)) {
    891             psFree(object);
    892             exit(EXIT_FAILURE);
    893         }
    894         if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) {
    895             psFree(object);
    896             exit(EXIT_FAILURE);
    897         }
    898         if (strncmp(object->stats, "a string", MAX_STRING_LENGTH)) {
    899             psFree(object);
    900             exit(EXIT_FAILURE);
    901         }
    902         if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) {
    903             psFree(object);
    904             exit(EXIT_FAILURE);
    905         }
    906         if (!object->p1_version == -32) {
    907             psFree(object);
    908             exit(EXIT_FAILURE);
    909         }
    910         if (!object->p2_version == -32) {
    911             psFree(object);
    912             exit(EXIT_FAILURE);
    913         }
    914 
    915         psFree(object);
    916     }
    917 
    918     {
    919         p3PendingExpRow *object;
    920 
    921         object = p3PendingExpRowAlloc("a string", "a string", "a string", -32, "a string", "a string", 32.32, 32.32, 32.32, 32.32, "a string", -32, -32    );
    922 
    923         if (!object) {
    924             exit(EXIT_FAILURE);
    925         }
    926 
    927         if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
    928             psFree(object);
    929             exit(EXIT_FAILURE);
    930         }
    931         if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {
    932             psFree(object);
    933             exit(EXIT_FAILURE);
    934         }
    935         if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {
    936             psFree(object);
    937             exit(EXIT_FAILURE);
    938         }
    939         if (!object->imfiles == -32) {
    940             psFree(object);
    941             exit(EXIT_FAILURE);
    942         }
    943         if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) {
    944             psFree(object);
    945             exit(EXIT_FAILURE);
    946         }
    947         if (strncmp(object->class, "a string", MAX_STRING_LENGTH)) {
    948             psFree(object);
    949             exit(EXIT_FAILURE);
    950         }
    951         if (!object->airmass == 32.32) {
    952             psFree(object);
    953             exit(EXIT_FAILURE);
    954         }
    955         if (!object->ra == 32.32) {
    956             psFree(object);
    957             exit(EXIT_FAILURE);
    958         }
    959         if (!object->dec == 32.32) {
    960             psFree(object);
    961             exit(EXIT_FAILURE);
    962         }
    963         if (!object->exp_time == 32.32) {
    964             psFree(object);
    965             exit(EXIT_FAILURE);
    966         }
    967         if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) {
    968             psFree(object);
    969             exit(EXIT_FAILURE);
    970         }
    971         if (!object->p2_version == -32) {
    972             psFree(object);
    973             exit(EXIT_FAILURE);
    974         }
    975         if (!object->p3_version == -32) {
    976             psFree(object);
    977             exit(EXIT_FAILURE);
    978         }
    979 
    980         psFree(object);
    981     }
    982 
    983     {
    984         detRunRow       *object;
    985 
    986         object = detRunRowAlloc(-32, "a string"    );
    987 
    988         if (!object) {
    989             exit(EXIT_FAILURE);
    990         }
    991 
    992         if (!object->iteration == -32) {
    993             psFree(object);
    994             exit(EXIT_FAILURE);
    995         }
    996         if (strncmp(object->det_type, "a string", MAX_STRING_LENGTH)) {
    997             psFree(object);
    998             exit(EXIT_FAILURE);
    999         }
    1000 
    1001         psFree(object);
    1002     }
    1003 
    1004     {
    1005         detInputExpRow  *object;
    1006 
    1007         object = detInputExpRowAlloc(-32, -32, "a string", "a string", "a string", "a string", -32, "a string", "a string", 32.32, 32.32, 32.32, 32.32    );
    1008 
    1009         if (!object) {
    1010             exit(EXIT_FAILURE);
    1011         }
    1012 
    1013         if (!object->det_id == -32) {
    1014             psFree(object);
    1015             exit(EXIT_FAILURE);
    1016         }
    1017         if (!object->iteration == -32) {
    1018             psFree(object);
    1019             exit(EXIT_FAILURE);
    1020         }
    1021         if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
    1022             psFree(object);
    1023             exit(EXIT_FAILURE);
    1024         }
    1025         if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {
    1026             psFree(object);
    1027             exit(EXIT_FAILURE);
    1028         }
    1029         if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) {
    1030             psFree(object);
    1031             exit(EXIT_FAILURE);
    1032         }
    1033         if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {
    1034             psFree(object);
    1035             exit(EXIT_FAILURE);
    1036         }
    1037         if (!object->imfiles == -32) {
    1038             psFree(object);
    1039             exit(EXIT_FAILURE);
    1040         }
    1041         if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) {
    1042             psFree(object);
    1043             exit(EXIT_FAILURE);
    1044         }
    1045         if (strncmp(object->class, "a string", MAX_STRING_LENGTH)) {
    1046             psFree(object);
    1047             exit(EXIT_FAILURE);
    1048         }
    1049         if (!object->airmass == 32.32) {
    1050             psFree(object);
    1051             exit(EXIT_FAILURE);
    1052         }
    1053         if (!object->ra == 32.32) {
    1054             psFree(object);
    1055             exit(EXIT_FAILURE);
    1056         }
    1057         if (!object->dec == 32.32) {
    1058             psFree(object);
    1059             exit(EXIT_FAILURE);
    1060         }
    1061         if (!object->exp_time == 32.32) {
     1061        if (!object->background == 64.64) {
    10621062            psFree(object);
    10631063            exit(EXIT_FAILURE);
  • branches/jhoblitt/ippdb/tests/insert.c

    r8079 r8084  
    178178        }
    179179
    180         if (!newExpInsert(dbh, "a string", "a string", "a string", "a string", -32, "a string")) {
     180        if (!newExpInsert(dbh, "a string", "a string", "a string", "a string", -32)) {
    181181            exit(EXIT_FAILURE);
    182182        }
     
    208208        }
    209209
    210         if (!rawDetrendExpInsert(dbh, "a string", "a string", "a string", "a string", -32, "a string", "a string", 32.32, 32.32, 32.32, 32.32)) {
    211             exit(EXIT_FAILURE);
    212         }
    213 
    214         psDBCleanup(dbh);
    215     }
    216 
    217     {
    218         psDB            *dbh;
    219 
    220         dbh = psDBInit("localhost", "test", NULL, "test");
    221         if (!dbh) {
    222             exit(EXIT_FAILURE);
    223         }
    224 
    225         if (!rawScienceExpInsert(dbh, "a string", "a string", "a string", "a string", -32, "a string", "a string", 32.32, 32.32, 32.32, 32.32)) {
    226             exit(EXIT_FAILURE);
    227         }
    228 
    229         psDBCleanup(dbh);
    230     }
    231 
    232     {
    233         psDB            *dbh;
    234 
    235         dbh = psDBInit("localhost", "test", NULL, "test");
    236         if (!dbh) {
    237             exit(EXIT_FAILURE);
    238         }
    239 
    240         if (!rawImfileInsert(dbh, "a string", "a string", "a string", "a string", "a string")) {
    241             exit(EXIT_FAILURE);
    242         }
    243 
    244         psDBCleanup(dbh);
    245     }
    246 
    247     {
    248         psDB            *dbh;
    249 
    250         dbh = psDBInit("localhost", "test", NULL, "test");
    251         if (!dbh) {
    252             exit(EXIT_FAILURE);
    253         }
    254 
    255         if (!p1PendingExpInsert(dbh, "a string", "a string", "a string", "a string", -32, "a string", "a string", 32.32, 32.32, 32.32, 32.32, "a string", -32)) {
    256             exit(EXIT_FAILURE);
    257         }
    258 
    259         psDBCleanup(dbh);
    260     }
    261 
    262     {
    263         psDB            *dbh;
    264 
    265         dbh = psDBInit("localhost", "test", NULL, "test");
    266         if (!dbh) {
    267             exit(EXIT_FAILURE);
    268         }
    269 
    270         if (!p2PendingExpInsert(dbh, "a string", "a string", "a string", "a string", -32, "a string", "a string", 32.32, 32.32, 32.32, 32.32, "a string", -32, -32)) {
     210        if (!rawDetrendExpInsert(dbh, "a string", "a string", "a string", "a string", -32, "a string", "a string", 32.32, 64.64, 64.64, 32.32, 64.64)) {
     211            exit(EXIT_FAILURE);
     212        }
     213
     214        psDBCleanup(dbh);
     215    }
     216
     217    {
     218        psDB            *dbh;
     219
     220        dbh = psDBInit("localhost", "test", NULL, "test");
     221        if (!dbh) {
     222            exit(EXIT_FAILURE);
     223        }
     224
     225        if (!rawScienceExpInsert(dbh, "a string", "a string", "a string", "a string", -32, "a string", "a string", 32.32, 64.64, 64.64, 32.32, 64.64)) {
     226            exit(EXIT_FAILURE);
     227        }
     228
     229        psDBCleanup(dbh);
     230    }
     231
     232    {
     233        psDB            *dbh;
     234
     235        dbh = psDBInit("localhost", "test", NULL, "test");
     236        if (!dbh) {
     237            exit(EXIT_FAILURE);
     238        }
     239
     240        if (!rawImfileInsert(dbh, "a string", "a string", "a string", "a string")) {
     241            exit(EXIT_FAILURE);
     242        }
     243
     244        psDBCleanup(dbh);
     245    }
     246
     247    {
     248        psDB            *dbh;
     249
     250        dbh = psDBInit("localhost", "test", NULL, "test");
     251        if (!dbh) {
     252            exit(EXIT_FAILURE);
     253        }
     254
     255        if (!p1PendingExpInsert(dbh, "a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64, "a string", -32)) {
     256            exit(EXIT_FAILURE);
     257        }
     258
     259        psDBCleanup(dbh);
     260    }
     261
     262    {
     263        psDB            *dbh;
     264
     265        dbh = psDBInit("localhost", "test", NULL, "test");
     266        if (!dbh) {
     267            exit(EXIT_FAILURE);
     268        }
     269
     270        if (!p2PendingExpInsert(dbh, "a string", "a string", "a string", "a string", -32, "a string", 32.32, 32.32, 64.64, 64.64, 64.64, "a string", -32, -32)) {
    271271            exit(EXIT_FAILURE);
    272272        }
     
    298298        }
    299299
    300         if (!p2DoneExpInsert(dbh, "a string", "a string", "a string", "a string", -32, "a string", "a string", 32.32, 32.32, 32.32, 32.32, "a string", -32, -32)) {
     300        if (!p2DoneExpInsert(dbh, "a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64, "a string", -32, -32)) {
    301301            exit(EXIT_FAILURE);
    302302        }
     
    328328        }
    329329
    330         if (!p3PendingExpInsert(dbh, "a string", "a string", "a string", -32, "a string", "a string", 32.32, 32.32, 32.32, 32.32, "a string", -32, -32)) {
     330        if (!p3PendingExpInsert(dbh, "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64, "a string", -32, -32)) {
    331331            exit(EXIT_FAILURE);
    332332        }
     
    358358        }
    359359
    360         if (!detInputExpInsert(dbh, -32, -32, "a string", "a string", "a string", "a string", -32, "a string", "a string", 32.32, 32.32, 32.32, 32.32)) {
     360        if (!detInputExpInsert(dbh, -32, -32, "a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64)) {
    361361            exit(EXIT_FAILURE);
    362362        }
  • branches/jhoblitt/ippdb/tests/insertobject.c

    r8079 r8084  
    256256        }
    257257
    258         object = newExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string");
     258        object = newExpRowAlloc("a string", "a string", "a string", "a string", -32);
    259259        if (!object) {
    260260            exit(EXIT_FAILURE);
     
    300300        }
    301301
    302         object = rawDetrendExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", "a string", 32.32, 32.32, 32.32, 32.32);
     302        object = rawDetrendExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", "a string", 32.32, 64.64, 64.64, 32.32, 64.64);
    303303        if (!object) {
    304304            exit(EXIT_FAILURE);
     
    322322        }
    323323
    324         object = rawScienceExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", "a string", 32.32, 32.32, 32.32, 32.32);
     324        object = rawScienceExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", "a string", 32.32, 64.64, 64.64, 32.32, 64.64);
    325325        if (!object) {
    326326            exit(EXIT_FAILURE);
     
    344344        }
    345345
    346         object = rawImfileRowAlloc("a string", "a string", "a string", "a string", "a string");
     346        object = rawImfileRowAlloc("a string", "a string", "a string", "a string");
    347347        if (!object) {
    348348            exit(EXIT_FAILURE);
     
    366366        }
    367367
    368         object = p1PendingExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", "a string", 32.32, 32.32, 32.32, 32.32, "a string", -32);
     368        object = p1PendingExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64, "a string", -32);
    369369        if (!object) {
    370370            exit(EXIT_FAILURE);
     
    388388        }
    389389
    390         object = p2PendingExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", "a string", 32.32, 32.32, 32.32, 32.32, "a string", -32, -32);
     390        object = p2PendingExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", 32.32, 32.32, 64.64, 64.64, 64.64, "a string", -32, -32);
    391391        if (!object) {
    392392            exit(EXIT_FAILURE);
     
    432432        }
    433433
    434         object = p2DoneExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", "a string", 32.32, 32.32, 32.32, 32.32, "a string", -32, -32);
     434        object = p2DoneExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64, "a string", -32, -32);
    435435        if (!object) {
    436436            exit(EXIT_FAILURE);
     
    476476        }
    477477
    478         object = p3PendingExpRowAlloc("a string", "a string", "a string", -32, "a string", "a string", 32.32, 32.32, 32.32, 32.32, "a string", -32, -32);
     478        object = p3PendingExpRowAlloc("a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64, "a string", -32, -32);
    479479        if (!object) {
    480480            exit(EXIT_FAILURE);
     
    520520        }
    521521
    522         object = detInputExpRowAlloc(-32, -32, "a string", "a string", "a string", "a string", -32, "a string", "a string", 32.32, 32.32, 32.32, 32.32);
     522        object = detInputExpRowAlloc(-32, -32, "a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64);
    523523        if (!object) {
    524524            exit(EXIT_FAILURE);
  • branches/jhoblitt/ippdb/tests/metadatafromobject.c

    r8079 r8084  
    512512        bool            status;
    513513
    514         object = newExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string");
     514        object = newExpRowAlloc("a string", "a string", "a string", "a string", -32);
    515515        if (!object) {
    516516            exit(EXIT_FAILURE);
     
    544544            exit(EXIT_FAILURE);
    545545        }
     546
     547        psFree(md);
     548    }
     549
     550    {
     551        psMetadata      *md;
     552        newImfileRow    *object;
     553        bool            status;
     554
     555        object = newImfileRowAlloc("a string", "a string", "a string", "a string");
     556        if (!object) {
     557            exit(EXIT_FAILURE);
     558        }
     559
     560        md = newImfileMetadataFromObject(object);
     561        if (!md) {
     562            exit(EXIT_FAILURE);
     563        }
     564
     565        psFree(object);
     566
     567        if (strncmp(psMetadataLookupPtr(&status, md, "exp_id"), "a string", MAX_STRING_LENGTH)) {
     568            psFree(md);
     569            exit(EXIT_FAILURE);
     570        }
    546571        if (strncmp(psMetadataLookupPtr(&status, md, "class"), "a string", MAX_STRING_LENGTH)) {
    547572            psFree(md);
    548573            exit(EXIT_FAILURE);
    549574        }
    550 
    551         psFree(md);
    552     }
    553 
    554     {
    555         psMetadata      *md;
    556         newImfileRow    *object;
    557         bool            status;
    558 
    559         object = newImfileRowAlloc("a string", "a string", "a string", "a string");
    560         if (!object) {
    561             exit(EXIT_FAILURE);
    562         }
    563 
    564         md = newImfileMetadataFromObject(object);
    565         if (!md) {
    566             exit(EXIT_FAILURE);
    567         }
    568 
    569         psFree(object);
    570 
    571         if (strncmp(psMetadataLookupPtr(&status, md, "exp_id"), "a string", MAX_STRING_LENGTH)) {
     575        if (strncmp(psMetadataLookupPtr(&status, md, "class_id"), "a string", MAX_STRING_LENGTH)) {
     576            psFree(md);
     577            exit(EXIT_FAILURE);
     578        }
     579        if (strncmp(psMetadataLookupPtr(&status, md, "uri"), "a string", MAX_STRING_LENGTH)) {
     580            psFree(md);
     581            exit(EXIT_FAILURE);
     582        }
     583
     584        psFree(md);
     585    }
     586
     587    {
     588        psMetadata      *md;
     589        rawDetrendExpRow *object;
     590        bool            status;
     591
     592        object = rawDetrendExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", "a string", 32.32, 64.64, 64.64, 32.32, 64.64);
     593        if (!object) {
     594            exit(EXIT_FAILURE);
     595        }
     596
     597        md = rawDetrendExpMetadataFromObject(object);
     598        if (!md) {
     599            exit(EXIT_FAILURE);
     600        }
     601
     602        psFree(object);
     603
     604        if (strncmp(psMetadataLookupPtr(&status, md, "exp_id"), "a string", MAX_STRING_LENGTH)) {
     605            psFree(md);
     606            exit(EXIT_FAILURE);
     607        }
     608        if (strncmp(psMetadataLookupPtr(&status, md, "camera"), "a string", MAX_STRING_LENGTH)) {
     609            psFree(md);
     610            exit(EXIT_FAILURE);
     611        }
     612        if (strncmp(psMetadataLookupPtr(&status, md, "telescope"), "a string", MAX_STRING_LENGTH)) {
     613            psFree(md);
     614            exit(EXIT_FAILURE);
     615        }
     616        if (strncmp(psMetadataLookupPtr(&status, md, "exp_type"), "a string", MAX_STRING_LENGTH)) {
     617            psFree(md);
     618            exit(EXIT_FAILURE);
     619        }
     620        if (!psMetadataLookupS32(&status, md, "imfiles") == -32) {
     621            psFree(md);
     622            exit(EXIT_FAILURE);
     623        }
     624        if (strncmp(psMetadataLookupPtr(&status, md, "filter"), "a string", MAX_STRING_LENGTH)) {
    572625            psFree(md);
    573626            exit(EXIT_FAILURE);
     
    577630            exit(EXIT_FAILURE);
    578631        }
     632        if (!psMetadataLookupF32(&status, md, "airmass") == 32.32) {
     633            psFree(md);
     634            exit(EXIT_FAILURE);
     635        }
     636        if (!psMetadataLookupF64(&status, md, "ra") == 64.64) {
     637            psFree(md);
     638            exit(EXIT_FAILURE);
     639        }
     640        if (!psMetadataLookupF64(&status, md, "dec") == 64.64) {
     641            psFree(md);
     642            exit(EXIT_FAILURE);
     643        }
     644        if (!psMetadataLookupF32(&status, md, "exp_time") == 32.32) {
     645            psFree(md);
     646            exit(EXIT_FAILURE);
     647        }
     648        if (!psMetadataLookupF64(&status, md, "background") == 64.64) {
     649            psFree(md);
     650            exit(EXIT_FAILURE);
     651        }
     652
     653        psFree(md);
     654    }
     655
     656    {
     657        psMetadata      *md;
     658        rawScienceExpRow *object;
     659        bool            status;
     660
     661        object = rawScienceExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", "a string", 32.32, 64.64, 64.64, 32.32, 64.64);
     662        if (!object) {
     663            exit(EXIT_FAILURE);
     664        }
     665
     666        md = rawScienceExpMetadataFromObject(object);
     667        if (!md) {
     668            exit(EXIT_FAILURE);
     669        }
     670
     671        psFree(object);
     672
     673        if (strncmp(psMetadataLookupPtr(&status, md, "exp_id"), "a string", MAX_STRING_LENGTH)) {
     674            psFree(md);
     675            exit(EXIT_FAILURE);
     676        }
     677        if (strncmp(psMetadataLookupPtr(&status, md, "camera"), "a string", MAX_STRING_LENGTH)) {
     678            psFree(md);
     679            exit(EXIT_FAILURE);
     680        }
     681        if (strncmp(psMetadataLookupPtr(&status, md, "telescope"), "a string", MAX_STRING_LENGTH)) {
     682            psFree(md);
     683            exit(EXIT_FAILURE);
     684        }
     685        if (strncmp(psMetadataLookupPtr(&status, md, "exp_type"), "a string", MAX_STRING_LENGTH)) {
     686            psFree(md);
     687            exit(EXIT_FAILURE);
     688        }
     689        if (!psMetadataLookupS32(&status, md, "imfiles") == -32) {
     690            psFree(md);
     691            exit(EXIT_FAILURE);
     692        }
     693        if (strncmp(psMetadataLookupPtr(&status, md, "filter"), "a string", MAX_STRING_LENGTH)) {
     694            psFree(md);
     695            exit(EXIT_FAILURE);
     696        }
     697        if (strncmp(psMetadataLookupPtr(&status, md, "class"), "a string", MAX_STRING_LENGTH)) {
     698            psFree(md);
     699            exit(EXIT_FAILURE);
     700        }
     701        if (!psMetadataLookupF32(&status, md, "airmass") == 32.32) {
     702            psFree(md);
     703            exit(EXIT_FAILURE);
     704        }
     705        if (!psMetadataLookupF64(&status, md, "ra") == 64.64) {
     706            psFree(md);
     707            exit(EXIT_FAILURE);
     708        }
     709        if (!psMetadataLookupF64(&status, md, "dec") == 64.64) {
     710            psFree(md);
     711            exit(EXIT_FAILURE);
     712        }
     713        if (!psMetadataLookupF32(&status, md, "exp_time") == 32.32) {
     714            psFree(md);
     715            exit(EXIT_FAILURE);
     716        }
     717        if (!psMetadataLookupF64(&status, md, "background") == 64.64) {
     718            psFree(md);
     719            exit(EXIT_FAILURE);
     720        }
     721
     722        psFree(md);
     723    }
     724
     725    {
     726        psMetadata      *md;
     727        rawImfileRow    *object;
     728        bool            status;
     729
     730        object = rawImfileRowAlloc("a string", "a string", "a string", "a string");
     731        if (!object) {
     732            exit(EXIT_FAILURE);
     733        }
     734
     735        md = rawImfileMetadataFromObject(object);
     736        if (!md) {
     737            exit(EXIT_FAILURE);
     738        }
     739
     740        psFree(object);
     741
     742        if (strncmp(psMetadataLookupPtr(&status, md, "exp_id"), "a string", MAX_STRING_LENGTH)) {
     743            psFree(md);
     744            exit(EXIT_FAILURE);
     745        }
     746        if (strncmp(psMetadataLookupPtr(&status, md, "class"), "a string", MAX_STRING_LENGTH)) {
     747            psFree(md);
     748            exit(EXIT_FAILURE);
     749        }
    579750        if (strncmp(psMetadataLookupPtr(&status, md, "class_id"), "a string", MAX_STRING_LENGTH)) {
    580751            psFree(md);
     
    591762    {
    592763        psMetadata      *md;
    593         rawDetrendExpRow *object;
    594         bool            status;
    595 
    596         object = rawDetrendExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", "a string", 32.32, 32.32, 32.32, 32.32);
    597         if (!object) {
    598             exit(EXIT_FAILURE);
    599         }
    600 
    601         md = rawDetrendExpMetadataFromObject(object);
     764        p1PendingExpRow *object;
     765        bool            status;
     766
     767        object = p1PendingExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64, "a string", -32);
     768        if (!object) {
     769            exit(EXIT_FAILURE);
     770        }
     771
     772        md = p1PendingExpMetadataFromObject(object);
    602773        if (!md) {
    603774            exit(EXIT_FAILURE);
     
    630801            exit(EXIT_FAILURE);
    631802        }
    632         if (strncmp(psMetadataLookupPtr(&status, md, "class"), "a string", MAX_STRING_LENGTH)) {
    633             psFree(md);
    634             exit(EXIT_FAILURE);
    635         }
    636803        if (!psMetadataLookupF32(&status, md, "airmass") == 32.32) {
    637804            psFree(md);
    638805            exit(EXIT_FAILURE);
    639806        }
     807        if (!psMetadataLookupF64(&status, md, "ra") == 64.64) {
     808            psFree(md);
     809            exit(EXIT_FAILURE);
     810        }
     811        if (!psMetadataLookupF64(&status, md, "dec") == 64.64) {
     812            psFree(md);
     813            exit(EXIT_FAILURE);
     814        }
     815        if (!psMetadataLookupF32(&status, md, "exp_time") == 32.32) {
     816            psFree(md);
     817            exit(EXIT_FAILURE);
     818        }
     819        if (!psMetadataLookupF64(&status, md, "background") == 64.64) {
     820            psFree(md);
     821            exit(EXIT_FAILURE);
     822        }
     823        if (strncmp(psMetadataLookupPtr(&status, md, "recipe"), "a string", MAX_STRING_LENGTH)) {
     824            psFree(md);
     825            exit(EXIT_FAILURE);
     826        }
     827        if (!psMetadataLookupS32(&status, md, "p1_version") == -32) {
     828            psFree(md);
     829            exit(EXIT_FAILURE);
     830        }
     831
     832        psFree(md);
     833    }
     834
     835    {
     836        psMetadata      *md;
     837        p2PendingExpRow *object;
     838        bool            status;
     839
     840        object = p2PendingExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", 32.32, 32.32, 64.64, 64.64, 64.64, "a string", -32, -32);
     841        if (!object) {
     842            exit(EXIT_FAILURE);
     843        }
     844
     845        md = p2PendingExpMetadataFromObject(object);
     846        if (!md) {
     847            exit(EXIT_FAILURE);
     848        }
     849
     850        psFree(object);
     851
     852        if (strncmp(psMetadataLookupPtr(&status, md, "exp_id"), "a string", MAX_STRING_LENGTH)) {
     853            psFree(md);
     854            exit(EXIT_FAILURE);
     855        }
     856        if (strncmp(psMetadataLookupPtr(&status, md, "camera"), "a string", MAX_STRING_LENGTH)) {
     857            psFree(md);
     858            exit(EXIT_FAILURE);
     859        }
     860        if (strncmp(psMetadataLookupPtr(&status, md, "telescope"), "a string", MAX_STRING_LENGTH)) {
     861            psFree(md);
     862            exit(EXIT_FAILURE);
     863        }
     864        if (strncmp(psMetadataLookupPtr(&status, md, "exp_type"), "a string", MAX_STRING_LENGTH)) {
     865            psFree(md);
     866            exit(EXIT_FAILURE);
     867        }
     868        if (!psMetadataLookupS32(&status, md, "imfiles") == -32) {
     869            psFree(md);
     870            exit(EXIT_FAILURE);
     871        }
     872        if (strncmp(psMetadataLookupPtr(&status, md, "filter"), "a string", MAX_STRING_LENGTH)) {
     873            psFree(md);
     874            exit(EXIT_FAILURE);
     875        }
     876        if (!psMetadataLookupF32(&status, md, "airmass") == 32.32) {
     877            psFree(md);
     878            exit(EXIT_FAILURE);
     879        }
    640880        if (!psMetadataLookupF32(&status, md, "ra") == 32.32) {
    641881            psFree(md);
    642882            exit(EXIT_FAILURE);
    643883        }
    644         if (!psMetadataLookupF32(&status, md, "dec") == 32.32) {
     884        if (!psMetadataLookupF64(&status, md, "dec") == 64.64) {
     885            psFree(md);
     886            exit(EXIT_FAILURE);
     887        }
     888        if (!psMetadataLookupF64(&status, md, "exp_time") == 64.64) {
     889            psFree(md);
     890            exit(EXIT_FAILURE);
     891        }
     892        if (!psMetadataLookupF64(&status, md, "background") == 64.64) {
     893            psFree(md);
     894            exit(EXIT_FAILURE);
     895        }
     896        if (strncmp(psMetadataLookupPtr(&status, md, "recipe"), "a string", MAX_STRING_LENGTH)) {
     897            psFree(md);
     898            exit(EXIT_FAILURE);
     899        }
     900        if (!psMetadataLookupS32(&status, md, "p1_version") == -32) {
     901            psFree(md);
     902            exit(EXIT_FAILURE);
     903        }
     904        if (!psMetadataLookupS32(&status, md, "p2_version") == -32) {
     905            psFree(md);
     906            exit(EXIT_FAILURE);
     907        }
     908
     909        psFree(md);
     910    }
     911
     912    {
     913        psMetadata      *md;
     914        p2PendingImfileRow *object;
     915        bool            status;
     916
     917        object = p2PendingImfileRowAlloc("a string", "a string", "a string", "a string", "a string", -32, -32);
     918        if (!object) {
     919            exit(EXIT_FAILURE);
     920        }
     921
     922        md = p2PendingImfileMetadataFromObject(object);
     923        if (!md) {
     924            exit(EXIT_FAILURE);
     925        }
     926
     927        psFree(object);
     928
     929        if (strncmp(psMetadataLookupPtr(&status, md, "exp_id"), "a string", MAX_STRING_LENGTH)) {
     930            psFree(md);
     931            exit(EXIT_FAILURE);
     932        }
     933        if (strncmp(psMetadataLookupPtr(&status, md, "class_id"), "a string", MAX_STRING_LENGTH)) {
     934            psFree(md);
     935            exit(EXIT_FAILURE);
     936        }
     937        if (strncmp(psMetadataLookupPtr(&status, md, "uri"), "a string", MAX_STRING_LENGTH)) {
     938            psFree(md);
     939            exit(EXIT_FAILURE);
     940        }
     941        if (strncmp(psMetadataLookupPtr(&status, md, "stats"), "a string", MAX_STRING_LENGTH)) {
     942            psFree(md);
     943            exit(EXIT_FAILURE);
     944        }
     945        if (strncmp(psMetadataLookupPtr(&status, md, "recipe"), "a string", MAX_STRING_LENGTH)) {
     946            psFree(md);
     947            exit(EXIT_FAILURE);
     948        }
     949        if (!psMetadataLookupS32(&status, md, "p1_version") == -32) {
     950            psFree(md);
     951            exit(EXIT_FAILURE);
     952        }
     953        if (!psMetadataLookupS32(&status, md, "p2_version") == -32) {
     954            psFree(md);
     955            exit(EXIT_FAILURE);
     956        }
     957
     958        psFree(md);
     959    }
     960
     961    {
     962        psMetadata      *md;
     963        p2DoneExpRow    *object;
     964        bool            status;
     965
     966        object = p2DoneExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64, "a string", -32, -32);
     967        if (!object) {
     968            exit(EXIT_FAILURE);
     969        }
     970
     971        md = p2DoneExpMetadataFromObject(object);
     972        if (!md) {
     973            exit(EXIT_FAILURE);
     974        }
     975
     976        psFree(object);
     977
     978        if (strncmp(psMetadataLookupPtr(&status, md, "exp_id"), "a string", MAX_STRING_LENGTH)) {
     979            psFree(md);
     980            exit(EXIT_FAILURE);
     981        }
     982        if (strncmp(psMetadataLookupPtr(&status, md, "camera"), "a string", MAX_STRING_LENGTH)) {
     983            psFree(md);
     984            exit(EXIT_FAILURE);
     985        }
     986        if (strncmp(psMetadataLookupPtr(&status, md, "telescope"), "a string", MAX_STRING_LENGTH)) {
     987            psFree(md);
     988            exit(EXIT_FAILURE);
     989        }
     990        if (strncmp(psMetadataLookupPtr(&status, md, "exp_type"), "a string", MAX_STRING_LENGTH)) {
     991            psFree(md);
     992            exit(EXIT_FAILURE);
     993        }
     994        if (!psMetadataLookupS32(&status, md, "imfiles") == -32) {
     995            psFree(md);
     996            exit(EXIT_FAILURE);
     997        }
     998        if (strncmp(psMetadataLookupPtr(&status, md, "filter"), "a string", MAX_STRING_LENGTH)) {
     999            psFree(md);
     1000            exit(EXIT_FAILURE);
     1001        }
     1002        if (!psMetadataLookupF32(&status, md, "airmass") == 32.32) {
     1003            psFree(md);
     1004            exit(EXIT_FAILURE);
     1005        }
     1006        if (!psMetadataLookupF64(&status, md, "ra") == 64.64) {
     1007            psFree(md);
     1008            exit(EXIT_FAILURE);
     1009        }
     1010        if (!psMetadataLookupF64(&status, md, "dec") == 64.64) {
    6451011            psFree(md);
    6461012            exit(EXIT_FAILURE);
     
    6501016            exit(EXIT_FAILURE);
    6511017        }
    652 
    653         psFree(md);
    654     }
    655 
    656     {
    657         psMetadata      *md;
    658         rawScienceExpRow *object;
    659         bool            status;
    660 
    661         object = rawScienceExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", "a string", 32.32, 32.32, 32.32, 32.32);
    662         if (!object) {
    663             exit(EXIT_FAILURE);
    664         }
    665 
    666         md = rawScienceExpMetadataFromObject(object);
     1018        if (!psMetadataLookupF64(&status, md, "background") == 64.64) {
     1019            psFree(md);
     1020            exit(EXIT_FAILURE);
     1021        }
     1022        if (strncmp(psMetadataLookupPtr(&status, md, "recipe"), "a string", MAX_STRING_LENGTH)) {
     1023            psFree(md);
     1024            exit(EXIT_FAILURE);
     1025        }
     1026        if (!psMetadataLookupS32(&status, md, "p1_version") == -32) {
     1027            psFree(md);
     1028            exit(EXIT_FAILURE);
     1029        }
     1030        if (!psMetadataLookupS32(&status, md, "p2_version") == -32) {
     1031            psFree(md);
     1032            exit(EXIT_FAILURE);
     1033        }
     1034
     1035        psFree(md);
     1036    }
     1037
     1038    {
     1039        psMetadata      *md;
     1040        p2DoneImfileRow *object;
     1041        bool            status;
     1042
     1043        object = p2DoneImfileRowAlloc("a string", "a string", "a string", "a string", "a string", -32, -32);
     1044        if (!object) {
     1045            exit(EXIT_FAILURE);
     1046        }
     1047
     1048        md = p2DoneImfileMetadataFromObject(object);
     1049        if (!md) {
     1050            exit(EXIT_FAILURE);
     1051        }
     1052
     1053        psFree(object);
     1054
     1055        if (strncmp(psMetadataLookupPtr(&status, md, "exp_id"), "a string", MAX_STRING_LENGTH)) {
     1056            psFree(md);
     1057            exit(EXIT_FAILURE);
     1058        }
     1059        if (strncmp(psMetadataLookupPtr(&status, md, "class_id"), "a string", MAX_STRING_LENGTH)) {
     1060            psFree(md);
     1061            exit(EXIT_FAILURE);
     1062        }
     1063        if (strncmp(psMetadataLookupPtr(&status, md, "uri"), "a string", MAX_STRING_LENGTH)) {
     1064            psFree(md);
     1065            exit(EXIT_FAILURE);
     1066        }
     1067        if (strncmp(psMetadataLookupPtr(&status, md, "stats"), "a string", MAX_STRING_LENGTH)) {
     1068            psFree(md);
     1069            exit(EXIT_FAILURE);
     1070        }
     1071        if (strncmp(psMetadataLookupPtr(&status, md, "recipe"), "a string", MAX_STRING_LENGTH)) {
     1072            psFree(md);
     1073            exit(EXIT_FAILURE);
     1074        }
     1075        if (!psMetadataLookupS32(&status, md, "p1_version") == -32) {
     1076            psFree(md);
     1077            exit(EXIT_FAILURE);
     1078        }
     1079        if (!psMetadataLookupS32(&status, md, "p2_version") == -32) {
     1080            psFree(md);
     1081            exit(EXIT_FAILURE);
     1082        }
     1083
     1084        psFree(md);
     1085    }
     1086
     1087    {
     1088        psMetadata      *md;
     1089        p3PendingExpRow *object;
     1090        bool            status;
     1091
     1092        object = p3PendingExpRowAlloc("a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64, "a string", -32, -32);
     1093        if (!object) {
     1094            exit(EXIT_FAILURE);
     1095        }
     1096
     1097        md = p3PendingExpMetadataFromObject(object);
    6671098        if (!md) {
    6681099            exit(EXIT_FAILURE);
     
    6791110            exit(EXIT_FAILURE);
    6801111        }
     1112        if (strncmp(psMetadataLookupPtr(&status, md, "exp_type"), "a string", MAX_STRING_LENGTH)) {
     1113            psFree(md);
     1114            exit(EXIT_FAILURE);
     1115        }
     1116        if (!psMetadataLookupS32(&status, md, "imfiles") == -32) {
     1117            psFree(md);
     1118            exit(EXIT_FAILURE);
     1119        }
     1120        if (strncmp(psMetadataLookupPtr(&status, md, "filter"), "a string", MAX_STRING_LENGTH)) {
     1121            psFree(md);
     1122            exit(EXIT_FAILURE);
     1123        }
     1124        if (!psMetadataLookupF32(&status, md, "airmass") == 32.32) {
     1125            psFree(md);
     1126            exit(EXIT_FAILURE);
     1127        }
     1128        if (!psMetadataLookupF64(&status, md, "ra") == 64.64) {
     1129            psFree(md);
     1130            exit(EXIT_FAILURE);
     1131        }
     1132        if (!psMetadataLookupF64(&status, md, "dec") == 64.64) {
     1133            psFree(md);
     1134            exit(EXIT_FAILURE);
     1135        }
     1136        if (!psMetadataLookupF32(&status, md, "exp_time") == 32.32) {
     1137            psFree(md);
     1138            exit(EXIT_FAILURE);
     1139        }
     1140        if (!psMetadataLookupF64(&status, md, "background") == 64.64) {
     1141            psFree(md);
     1142            exit(EXIT_FAILURE);
     1143        }
     1144        if (strncmp(psMetadataLookupPtr(&status, md, "recipe"), "a string", MAX_STRING_LENGTH)) {
     1145            psFree(md);
     1146            exit(EXIT_FAILURE);
     1147        }
     1148        if (!psMetadataLookupS32(&status, md, "p2_version") == -32) {
     1149            psFree(md);
     1150            exit(EXIT_FAILURE);
     1151        }
     1152        if (!psMetadataLookupS32(&status, md, "p3_version") == -32) {
     1153            psFree(md);
     1154            exit(EXIT_FAILURE);
     1155        }
     1156
     1157        psFree(md);
     1158    }
     1159
     1160    {
     1161        psMetadata      *md;
     1162        detRunRow       *object;
     1163        bool            status;
     1164
     1165        object = detRunRowAlloc(-32, "a string");
     1166        if (!object) {
     1167            exit(EXIT_FAILURE);
     1168        }
     1169
     1170        md = detRunMetadataFromObject(object);
     1171        if (!md) {
     1172            exit(EXIT_FAILURE);
     1173        }
     1174
     1175        psFree(object);
     1176
     1177        if (!psMetadataLookupS32(&status, md, "iteration") == -32) {
     1178            psFree(md);
     1179            exit(EXIT_FAILURE);
     1180        }
     1181        if (strncmp(psMetadataLookupPtr(&status, md, "det_type"), "a string", MAX_STRING_LENGTH)) {
     1182            psFree(md);
     1183            exit(EXIT_FAILURE);
     1184        }
     1185
     1186        psFree(md);
     1187    }
     1188
     1189    {
     1190        psMetadata      *md;
     1191        detInputExpRow  *object;
     1192        bool            status;
     1193
     1194        object = detInputExpRowAlloc(-32, -32, "a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64);
     1195        if (!object) {
     1196            exit(EXIT_FAILURE);
     1197        }
     1198
     1199        md = detInputExpMetadataFromObject(object);
     1200        if (!md) {
     1201            exit(EXIT_FAILURE);
     1202        }
     1203
     1204        psFree(object);
     1205
     1206        if (!psMetadataLookupS32(&status, md, "det_id") == -32) {
     1207            psFree(md);
     1208            exit(EXIT_FAILURE);
     1209        }
     1210        if (!psMetadataLookupS32(&status, md, "iteration") == -32) {
     1211            psFree(md);
     1212            exit(EXIT_FAILURE);
     1213        }
     1214        if (strncmp(psMetadataLookupPtr(&status, md, "exp_id"), "a string", MAX_STRING_LENGTH)) {
     1215            psFree(md);
     1216            exit(EXIT_FAILURE);
     1217        }
     1218        if (strncmp(psMetadataLookupPtr(&status, md, "camera"), "a string", MAX_STRING_LENGTH)) {
     1219            psFree(md);
     1220            exit(EXIT_FAILURE);
     1221        }
    6811222        if (strncmp(psMetadataLookupPtr(&status, md, "telescope"), "a string", MAX_STRING_LENGTH)) {
    6821223            psFree(md);
     
    6951236            exit(EXIT_FAILURE);
    6961237        }
    697         if (strncmp(psMetadataLookupPtr(&status, md, "class"), "a string", MAX_STRING_LENGTH)) {
    698             psFree(md);
    699             exit(EXIT_FAILURE);
    700         }
    7011238        if (!psMetadataLookupF32(&status, md, "airmass") == 32.32) {
    7021239            psFree(md);
    7031240            exit(EXIT_FAILURE);
    7041241        }
    705         if (!psMetadataLookupF32(&status, md, "ra") == 32.32) {
    706             psFree(md);
    707             exit(EXIT_FAILURE);
    708         }
    709         if (!psMetadataLookupF32(&status, md, "dec") == 32.32) {
     1242        if (!psMetadataLookupF64(&status, md, "ra") == 64.64) {
     1243            psFree(md);
     1244            exit(EXIT_FAILURE);
     1245        }
     1246        if (!psMetadataLookupF64(&status, md, "dec") == 64.64) {
    7101247            psFree(md);
    7111248            exit(EXIT_FAILURE);
     
    7151252            exit(EXIT_FAILURE);
    7161253        }
    717 
    718         psFree(md);
    719     }
    720 
    721     {
    722         psMetadata      *md;
    723         rawImfileRow    *object;
    724         bool            status;
    725 
    726         object = rawImfileRowAlloc("a string", "a string", "a string", "a string", "a string");
    727         if (!object) {
    728             exit(EXIT_FAILURE);
    729         }
    730 
    731         md = rawImfileMetadataFromObject(object);
    732         if (!md) {
    733             exit(EXIT_FAILURE);
    734         }
    735 
    736         psFree(object);
    737 
    738         if (strncmp(psMetadataLookupPtr(&status, md, "exp_id"), "a string", MAX_STRING_LENGTH)) {
    739             psFree(md);
    740             exit(EXIT_FAILURE);
    741         }
    742         if (strncmp(psMetadataLookupPtr(&status, md, "class"), "a string", MAX_STRING_LENGTH)) {
    743             psFree(md);
    744             exit(EXIT_FAILURE);
    745         }
    746         if (strncmp(psMetadataLookupPtr(&status, md, "class_id"), "a string", MAX_STRING_LENGTH)) {
    747             psFree(md);
    748             exit(EXIT_FAILURE);
    749         }
    750         if (strncmp(psMetadataLookupPtr(&status, md, "uri"), "a string", MAX_STRING_LENGTH)) {
    751             psFree(md);
    752             exit(EXIT_FAILURE);
    753         }
    754         if (strncmp(psMetadataLookupPtr(&status, md, "stats"), "a string", MAX_STRING_LENGTH)) {
    755             psFree(md);
    756             exit(EXIT_FAILURE);
    757         }
    758 
    759         psFree(md);
    760     }
    761 
    762     {
    763         psMetadata      *md;
    764         p1PendingExpRow *object;
    765         bool            status;
    766 
    767         object = p1PendingExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", "a string", 32.32, 32.32, 32.32, 32.32, "a string", -32);
    768         if (!object) {
    769             exit(EXIT_FAILURE);
    770         }
    771 
    772         md = p1PendingExpMetadataFromObject(object);
    773         if (!md) {
    774             exit(EXIT_FAILURE);
    775         }
    776 
    777         psFree(object);
    778 
    779         if (strncmp(psMetadataLookupPtr(&status, md, "exp_id"), "a string", MAX_STRING_LENGTH)) {
    780             psFree(md);
    781             exit(EXIT_FAILURE);
    782         }
    783         if (strncmp(psMetadataLookupPtr(&status, md, "camera"), "a string", MAX_STRING_LENGTH)) {
    784             psFree(md);
    785             exit(EXIT_FAILURE);
    786         }
    787         if (strncmp(psMetadataLookupPtr(&status, md, "telescope"), "a string", MAX_STRING_LENGTH)) {
    788             psFree(md);
    789             exit(EXIT_FAILURE);
    790         }
    791         if (strncmp(psMetadataLookupPtr(&status, md, "exp_type"), "a string", MAX_STRING_LENGTH)) {
    792             psFree(md);
    793             exit(EXIT_FAILURE);
    794         }
    795         if (!psMetadataLookupS32(&status, md, "imfiles") == -32) {
    796             psFree(md);
    797             exit(EXIT_FAILURE);
    798         }
    799         if (strncmp(psMetadataLookupPtr(&status, md, "filter"), "a string", MAX_STRING_LENGTH)) {
    800             psFree(md);
    801             exit(EXIT_FAILURE);
    802         }
    803         if (strncmp(psMetadataLookupPtr(&status, md, "class"), "a string", MAX_STRING_LENGTH)) {
    804             psFree(md);
    805             exit(EXIT_FAILURE);
    806         }
    807         if (!psMetadataLookupF32(&status, md, "airmass") == 32.32) {
    808             psFree(md);
    809             exit(EXIT_FAILURE);
    810         }
    811         if (!psMetadataLookupF32(&status, md, "ra") == 32.32) {
    812             psFree(md);
    813             exit(EXIT_FAILURE);
    814         }
    815         if (!psMetadataLookupF32(&status, md, "dec") == 32.32) {
    816             psFree(md);
    817             exit(EXIT_FAILURE);
    818         }
    819         if (!psMetadataLookupF32(&status, md, "exp_time") == 32.32) {
    820             psFree(md);
    821             exit(EXIT_FAILURE);
    822         }
    823         if (strncmp(psMetadataLookupPtr(&status, md, "recipe"), "a string", MAX_STRING_LENGTH)) {
    824             psFree(md);
    825             exit(EXIT_FAILURE);
    826         }
    827         if (!psMetadataLookupS32(&status, md, "p1_version") == -32) {
    828             psFree(md);
    829             exit(EXIT_FAILURE);
    830         }
    831 
    832         psFree(md);
    833     }
    834 
    835     {
    836         psMetadata      *md;
    837         p2PendingExpRow *object;
    838         bool            status;
    839 
    840         object = p2PendingExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", "a string", 32.32, 32.32, 32.32, 32.32, "a string", -32, -32);
    841         if (!object) {
    842             exit(EXIT_FAILURE);
    843         }
    844 
    845         md = p2PendingExpMetadataFromObject(object);
    846         if (!md) {
    847             exit(EXIT_FAILURE);
    848         }
    849 
    850         psFree(object);
    851 
    852         if (strncmp(psMetadataLookupPtr(&status, md, "exp_id"), "a string", MAX_STRING_LENGTH)) {
    853             psFree(md);
    854             exit(EXIT_FAILURE);
    855         }
    856         if (strncmp(psMetadataLookupPtr(&status, md, "camera"), "a string", MAX_STRING_LENGTH)) {
    857             psFree(md);
    858             exit(EXIT_FAILURE);
    859         }
    860         if (strncmp(psMetadataLookupPtr(&status, md, "telescope"), "a string", MAX_STRING_LENGTH)) {
    861             psFree(md);
    862             exit(EXIT_FAILURE);
    863         }
    864         if (strncmp(psMetadataLookupPtr(&status, md, "exp_type"), "a string", MAX_STRING_LENGTH)) {
    865             psFree(md);
    866             exit(EXIT_FAILURE);
    867         }
    868         if (!psMetadataLookupS32(&status, md, "imfiles") == -32) {
    869             psFree(md);
    870             exit(EXIT_FAILURE);
    871         }
    872         if (strncmp(psMetadataLookupPtr(&status, md, "filter"), "a string", MAX_STRING_LENGTH)) {
    873             psFree(md);
    874             exit(EXIT_FAILURE);
    875         }
    876         if (strncmp(psMetadataLookupPtr(&status, md, "class"), "a string", MAX_STRING_LENGTH)) {
    877             psFree(md);
    878             exit(EXIT_FAILURE);
    879         }
    880         if (!psMetadataLookupF32(&status, md, "airmass") == 32.32) {
    881             psFree(md);
    882             exit(EXIT_FAILURE);
    883         }
    884         if (!psMetadataLookupF32(&status, md, "ra") == 32.32) {
    885             psFree(md);
    886             exit(EXIT_FAILURE);
    887         }
    888         if (!psMetadataLookupF32(&status, md, "dec") == 32.32) {
    889             psFree(md);
    890             exit(EXIT_FAILURE);
    891         }
    892         if (!psMetadataLookupF32(&status, md, "exp_time") == 32.32) {
    893             psFree(md);
    894             exit(EXIT_FAILURE);
    895         }
    896         if (strncmp(psMetadataLookupPtr(&status, md, "recipe"), "a string", MAX_STRING_LENGTH)) {
    897             psFree(md);
    898             exit(EXIT_FAILURE);
    899         }
    900         if (!psMetadataLookupS32(&status, md, "p1_version") == -32) {
    901             psFree(md);
    902             exit(EXIT_FAILURE);
    903         }
    904         if (!psMetadataLookupS32(&status, md, "p2_version") == -32) {
    905             psFree(md);
    906             exit(EXIT_FAILURE);
    907         }
    908 
    909         psFree(md);
    910     }
    911 
    912     {
    913         psMetadata      *md;
    914         p2PendingImfileRow *object;
    915         bool            status;
    916 
    917         object = p2PendingImfileRowAlloc("a string", "a string", "a string", "a string", "a string", -32, -32);
    918         if (!object) {
    919             exit(EXIT_FAILURE);
    920         }
    921 
    922         md = p2PendingImfileMetadataFromObject(object);
    923         if (!md) {
    924             exit(EXIT_FAILURE);
    925         }
    926 
    927         psFree(object);
    928 
    929         if (strncmp(psMetadataLookupPtr(&status, md, "exp_id"), "a string", MAX_STRING_LENGTH)) {
    930             psFree(md);
    931             exit(EXIT_FAILURE);
    932         }
    933         if (strncmp(psMetadataLookupPtr(&status, md, "class_id"), "a string", MAX_STRING_LENGTH)) {
    934             psFree(md);
    935             exit(EXIT_FAILURE);
    936         }
    937         if (strncmp(psMetadataLookupPtr(&status, md, "uri"), "a string", MAX_STRING_LENGTH)) {
    938             psFree(md);
    939             exit(EXIT_FAILURE);
    940         }
    941         if (strncmp(psMetadataLookupPtr(&status, md, "stats"), "a string", MAX_STRING_LENGTH)) {
    942             psFree(md);
    943             exit(EXIT_FAILURE);
    944         }
    945         if (strncmp(psMetadataLookupPtr(&status, md, "recipe"), "a string", MAX_STRING_LENGTH)) {
    946             psFree(md);
    947             exit(EXIT_FAILURE);
    948         }
    949         if (!psMetadataLookupS32(&status, md, "p1_version") == -32) {
    950             psFree(md);
    951             exit(EXIT_FAILURE);
    952         }
    953         if (!psMetadataLookupS32(&status, md, "p2_version") == -32) {
    954             psFree(md);
    955             exit(EXIT_FAILURE);
    956         }
    957 
    958         psFree(md);
    959     }
    960 
    961     {
    962         psMetadata      *md;
    963         p2DoneExpRow    *object;
    964         bool            status;
    965 
    966         object = p2DoneExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", "a string", 32.32, 32.32, 32.32, 32.32, "a string", -32, -32);
    967         if (!object) {
    968             exit(EXIT_FAILURE);
    969         }
    970 
    971         md = p2DoneExpMetadataFromObject(object);
    972         if (!md) {
    973             exit(EXIT_FAILURE);
    974         }
    975 
    976         psFree(object);
    977 
    978         if (strncmp(psMetadataLookupPtr(&status, md, "exp_id"), "a string", MAX_STRING_LENGTH)) {
    979             psFree(md);
    980             exit(EXIT_FAILURE);
    981         }
    982         if (strncmp(psMetadataLookupPtr(&status, md, "camera"), "a string", MAX_STRING_LENGTH)) {
    983             psFree(md);
    984             exit(EXIT_FAILURE);
    985         }
    986         if (strncmp(psMetadataLookupPtr(&status, md, "telescope"), "a string", MAX_STRING_LENGTH)) {
    987             psFree(md);
    988             exit(EXIT_FAILURE);
    989         }
    990         if (strncmp(psMetadataLookupPtr(&status, md, "exp_type"), "a string", MAX_STRING_LENGTH)) {
    991             psFree(md);
    992             exit(EXIT_FAILURE);
    993         }
    994         if (!psMetadataLookupS32(&status, md, "imfiles") == -32) {
    995             psFree(md);
    996             exit(EXIT_FAILURE);
    997         }
    998         if (strncmp(psMetadataLookupPtr(&status, md, "filter"), "a string", MAX_STRING_LENGTH)) {
    999             psFree(md);
    1000             exit(EXIT_FAILURE);
    1001         }
    1002         if (strncmp(psMetadataLookupPtr(&status, md, "class"), "a string", MAX_STRING_LENGTH)) {
    1003             psFree(md);
    1004             exit(EXIT_FAILURE);
    1005         }
    1006         if (!psMetadataLookupF32(&status, md, "airmass") == 32.32) {
    1007             psFree(md);
    1008             exit(EXIT_FAILURE);
    1009         }
    1010         if (!psMetadataLookupF32(&status, md, "ra") == 32.32) {
    1011             psFree(md);
    1012             exit(EXIT_FAILURE);
    1013         }
    1014         if (!psMetadataLookupF32(&status, md, "dec") == 32.32) {
    1015             psFree(md);
    1016             exit(EXIT_FAILURE);
    1017         }
    1018         if (!psMetadataLookupF32(&status, md, "exp_time") == 32.32) {
    1019             psFree(md);
    1020             exit(EXIT_FAILURE);
    1021         }
    1022         if (strncmp(psMetadataLookupPtr(&status, md, "recipe"), "a string", MAX_STRING_LENGTH)) {
    1023             psFree(md);
    1024             exit(EXIT_FAILURE);
    1025         }
    1026         if (!psMetadataLookupS32(&status, md, "p1_version") == -32) {
    1027             psFree(md);
    1028             exit(EXIT_FAILURE);
    1029         }
    1030         if (!psMetadataLookupS32(&status, md, "p2_version") == -32) {
    1031             psFree(md);
    1032             exit(EXIT_FAILURE);
    1033         }
    1034 
    1035         psFree(md);
    1036     }
    1037 
    1038     {
    1039         psMetadata      *md;
    1040         p2DoneImfileRow *object;
    1041         bool            status;
    1042 
    1043         object = p2DoneImfileRowAlloc("a string", "a string", "a string", "a string", "a string", -32, -32);
    1044         if (!object) {
    1045             exit(EXIT_FAILURE);
    1046         }
    1047 
    1048         md = p2DoneImfileMetadataFromObject(object);
    1049         if (!md) {
    1050             exit(EXIT_FAILURE);
    1051         }
    1052 
    1053         psFree(object);
    1054 
    1055         if (strncmp(psMetadataLookupPtr(&status, md, "exp_id"), "a string", MAX_STRING_LENGTH)) {
    1056             psFree(md);
    1057             exit(EXIT_FAILURE);
    1058         }
    1059         if (strncmp(psMetadataLookupPtr(&status, md, "class_id"), "a string", MAX_STRING_LENGTH)) {
    1060             psFree(md);
    1061             exit(EXIT_FAILURE);
    1062         }
    1063         if (strncmp(psMetadataLookupPtr(&status, md, "uri"), "a string", MAX_STRING_LENGTH)) {
    1064             psFree(md);
    1065             exit(EXIT_FAILURE);
    1066         }
    1067         if (strncmp(psMetadataLookupPtr(&status, md, "stats"), "a string", MAX_STRING_LENGTH)) {
    1068             psFree(md);
    1069             exit(EXIT_FAILURE);
    1070         }
    1071         if (strncmp(psMetadataLookupPtr(&status, md, "recipe"), "a string", MAX_STRING_LENGTH)) {
    1072             psFree(md);
    1073             exit(EXIT_FAILURE);
    1074         }
    1075         if (!psMetadataLookupS32(&status, md, "p1_version") == -32) {
    1076             psFree(md);
    1077             exit(EXIT_FAILURE);
    1078         }
    1079         if (!psMetadataLookupS32(&status, md, "p2_version") == -32) {
    1080             psFree(md);
    1081             exit(EXIT_FAILURE);
    1082         }
    1083 
    1084         psFree(md);
    1085     }
    1086 
    1087     {
    1088         psMetadata      *md;
    1089         p3PendingExpRow *object;
    1090         bool            status;
    1091 
    1092         object = p3PendingExpRowAlloc("a string", "a string", "a string", -32, "a string", "a string", 32.32, 32.32, 32.32, 32.32, "a string", -32, -32);
    1093         if (!object) {
    1094             exit(EXIT_FAILURE);
    1095         }
    1096 
    1097         md = p3PendingExpMetadataFromObject(object);
    1098         if (!md) {
    1099             exit(EXIT_FAILURE);
    1100         }
    1101 
    1102         psFree(object);
    1103 
    1104         if (strncmp(psMetadataLookupPtr(&status, md, "exp_id"), "a string", MAX_STRING_LENGTH)) {
    1105             psFree(md);
    1106             exit(EXIT_FAILURE);
    1107         }
    1108         if (strncmp(psMetadataLookupPtr(&status, md, "camera"), "a string", MAX_STRING_LENGTH)) {
    1109             psFree(md);
    1110             exit(EXIT_FAILURE);
    1111         }
    1112         if (strncmp(psMetadataLookupPtr(&status, md, "exp_type"), "a string", MAX_STRING_LENGTH)) {
    1113             psFree(md);
    1114             exit(EXIT_FAILURE);
    1115         }
    1116         if (!psMetadataLookupS32(&status, md, "imfiles") == -32) {
    1117             psFree(md);
    1118             exit(EXIT_FAILURE);
    1119         }
    1120         if (strncmp(psMetadataLookupPtr(&status, md, "filter"), "a string", MAX_STRING_LENGTH)) {
    1121             psFree(md);
    1122             exit(EXIT_FAILURE);
    1123         }
    1124         if (strncmp(psMetadataLookupPtr(&status, md, "class"), "a string", MAX_STRING_LENGTH)) {
    1125             psFree(md);
    1126             exit(EXIT_FAILURE);
    1127         }
    1128         if (!psMetadataLookupF32(&status, md, "airmass") == 32.32) {
    1129             psFree(md);
    1130             exit(EXIT_FAILURE);
    1131         }
    1132         if (!psMetadataLookupF32(&status, md, "ra") == 32.32) {
    1133             psFree(md);
    1134             exit(EXIT_FAILURE);
    1135         }
    1136         if (!psMetadataLookupF32(&status, md, "dec") == 32.32) {
    1137             psFree(md);
    1138             exit(EXIT_FAILURE);
    1139         }
    1140         if (!psMetadataLookupF32(&status, md, "exp_time") == 32.32) {
    1141             psFree(md);
    1142             exit(EXIT_FAILURE);
    1143         }
    1144         if (strncmp(psMetadataLookupPtr(&status, md, "recipe"), "a string", MAX_STRING_LENGTH)) {
    1145             psFree(md);
    1146             exit(EXIT_FAILURE);
    1147         }
    1148         if (!psMetadataLookupS32(&status, md, "p2_version") == -32) {
    1149             psFree(md);
    1150             exit(EXIT_FAILURE);
    1151         }
    1152         if (!psMetadataLookupS32(&status, md, "p3_version") == -32) {
    1153             psFree(md);
    1154             exit(EXIT_FAILURE);
    1155         }
    1156 
    1157         psFree(md);
    1158     }
    1159 
    1160     {
    1161         psMetadata      *md;
    1162         detRunRow       *object;
    1163         bool            status;
    1164 
    1165         object = detRunRowAlloc(-32, "a string");
    1166         if (!object) {
    1167             exit(EXIT_FAILURE);
    1168         }
    1169 
    1170         md = detRunMetadataFromObject(object);
    1171         if (!md) {
    1172             exit(EXIT_FAILURE);
    1173         }
    1174 
    1175         psFree(object);
    1176 
    1177         if (!psMetadataLookupS32(&status, md, "iteration") == -32) {
    1178             psFree(md);
    1179             exit(EXIT_FAILURE);
    1180         }
    1181         if (strncmp(psMetadataLookupPtr(&status, md, "det_type"), "a string", MAX_STRING_LENGTH)) {
    1182             psFree(md);
    1183             exit(EXIT_FAILURE);
    1184         }
    1185 
    1186         psFree(md);
    1187     }
    1188 
    1189     {
    1190         psMetadata      *md;
    1191         detInputExpRow  *object;
    1192         bool            status;
    1193 
    1194         object = detInputExpRowAlloc(-32, -32, "a string", "a string", "a string", "a string", -32, "a string", "a string", 32.32, 32.32, 32.32, 32.32);
    1195         if (!object) {
    1196             exit(EXIT_FAILURE);
    1197         }
    1198 
    1199         md = detInputExpMetadataFromObject(object);
    1200         if (!md) {
    1201             exit(EXIT_FAILURE);
    1202         }
    1203 
    1204         psFree(object);
    1205 
    1206         if (!psMetadataLookupS32(&status, md, "det_id") == -32) {
    1207             psFree(md);
    1208             exit(EXIT_FAILURE);
    1209         }
    1210         if (!psMetadataLookupS32(&status, md, "iteration") == -32) {
    1211             psFree(md);
    1212             exit(EXIT_FAILURE);
    1213         }
    1214         if (strncmp(psMetadataLookupPtr(&status, md, "exp_id"), "a string", MAX_STRING_LENGTH)) {
    1215             psFree(md);
    1216             exit(EXIT_FAILURE);
    1217         }
    1218         if (strncmp(psMetadataLookupPtr(&status, md, "camera"), "a string", MAX_STRING_LENGTH)) {
    1219             psFree(md);
    1220             exit(EXIT_FAILURE);
    1221         }
    1222         if (strncmp(psMetadataLookupPtr(&status, md, "telescope"), "a string", MAX_STRING_LENGTH)) {
    1223             psFree(md);
    1224             exit(EXIT_FAILURE);
    1225         }
    1226         if (strncmp(psMetadataLookupPtr(&status, md, "exp_type"), "a string", MAX_STRING_LENGTH)) {
    1227             psFree(md);
    1228             exit(EXIT_FAILURE);
    1229         }
    1230         if (!psMetadataLookupS32(&status, md, "imfiles") == -32) {
    1231             psFree(md);
    1232             exit(EXIT_FAILURE);
    1233         }
    1234         if (strncmp(psMetadataLookupPtr(&status, md, "filter"), "a string", MAX_STRING_LENGTH)) {
    1235             psFree(md);
    1236             exit(EXIT_FAILURE);
    1237         }
    1238         if (strncmp(psMetadataLookupPtr(&status, md, "class"), "a string", MAX_STRING_LENGTH)) {
    1239             psFree(md);
    1240             exit(EXIT_FAILURE);
    1241         }
    1242         if (!psMetadataLookupF32(&status, md, "airmass") == 32.32) {
    1243             psFree(md);
    1244             exit(EXIT_FAILURE);
    1245         }
    1246         if (!psMetadataLookupF32(&status, md, "ra") == 32.32) {
    1247             psFree(md);
    1248             exit(EXIT_FAILURE);
    1249         }
    1250         if (!psMetadataLookupF32(&status, md, "dec") == 32.32) {
    1251             psFree(md);
    1252             exit(EXIT_FAILURE);
    1253         }
    1254         if (!psMetadataLookupF32(&status, md, "exp_time") == 32.32) {
     1254        if (!psMetadataLookupF64(&status, md, "background") == 64.64) {
    12551255            psFree(md);
    12561256            exit(EXIT_FAILURE);
  • branches/jhoblitt/ippdb/tests/objectfrommetadata.c

    r8079 r8084  
    767767            exit(EXIT_FAILURE);
    768768        }
     769
     770        object = newExpObjectFromMetadata(md);
     771        if (!object) {
     772            psFree(md);
     773            exit(EXIT_FAILURE);
     774        }
     775
     776        psFree(md);
     777
     778        if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
     779            psFree(object);
     780            exit(EXIT_FAILURE);
     781        }
     782        if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {
     783            psFree(object);
     784            exit(EXIT_FAILURE);
     785        }
     786        if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) {
     787            psFree(object);
     788            exit(EXIT_FAILURE);
     789        }
     790        if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {
     791            psFree(object);
     792            exit(EXIT_FAILURE);
     793        }
     794        if (!object->imfiles == -32) {
     795            psFree(object);
     796            exit(EXIT_FAILURE);
     797        }
     798
     799        psFree(object);
     800    }
     801
     802    {
     803        psMetadata      *md;
     804        newImfileRow    *object;
     805
     806        md = psMetadataAlloc();
     807        if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, "a string")) {
     808            psFree(md);
     809            exit(EXIT_FAILURE);
     810        }
    769811        if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, "a string")) {
    770812            psFree(md);
    771813            exit(EXIT_FAILURE);
    772814        }
    773 
    774         object = newExpObjectFromMetadata(md);
     815        if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, "a string")) {
     816            psFree(md);
     817            exit(EXIT_FAILURE);
     818        }
     819        if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, "a string")) {
     820            psFree(md);
     821            exit(EXIT_FAILURE);
     822        }
     823
     824        object = newImfileObjectFromMetadata(md);
    775825        if (!object) {
    776826            psFree(md);
     
    784834            exit(EXIT_FAILURE);
    785835        }
     836        if (strncmp(object->class, "a string", MAX_STRING_LENGTH)) {
     837            psFree(object);
     838            exit(EXIT_FAILURE);
     839        }
     840        if (strncmp(object->class_id, "a string", MAX_STRING_LENGTH)) {
     841            psFree(object);
     842            exit(EXIT_FAILURE);
     843        }
     844        if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) {
     845            psFree(object);
     846            exit(EXIT_FAILURE);
     847        }
     848
     849        psFree(object);
     850    }
     851
     852    {
     853        psMetadata      *md;
     854        rawDetrendExpRow *object;
     855
     856        md = psMetadataAlloc();
     857        if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, "a string")) {
     858            psFree(md);
     859            exit(EXIT_FAILURE);
     860        }
     861        if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, "a string")) {
     862            psFree(md);
     863            exit(EXIT_FAILURE);
     864        }
     865        if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, "a string")) {
     866            psFree(md);
     867            exit(EXIT_FAILURE);
     868        }
     869        if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, "a string")) {
     870            psFree(md);
     871            exit(EXIT_FAILURE);
     872        }
     873        if (!psMetadataAddS32(md, PS_LIST_TAIL, "imfiles", 0, NULL, -32)) {
     874            psFree(md);
     875            exit(EXIT_FAILURE);
     876        }
     877        if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, "a string")) {
     878            psFree(md);
     879            exit(EXIT_FAILURE);
     880        }
     881        if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, "a string")) {
     882            psFree(md);
     883            exit(EXIT_FAILURE);
     884        }
     885        if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, 32.32)) {
     886            psFree(md);
     887            exit(EXIT_FAILURE);
     888        }
     889        if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, 64.64)) {
     890            psFree(md);
     891            exit(EXIT_FAILURE);
     892        }
     893        if (!psMetadataAddF64(md, PS_LIST_TAIL, "dec", 0, NULL, 64.64)) {
     894            psFree(md);
     895            exit(EXIT_FAILURE);
     896        }
     897        if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, 32.32)) {
     898            psFree(md);
     899            exit(EXIT_FAILURE);
     900        }
     901        if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, 64.64)) {
     902            psFree(md);
     903            exit(EXIT_FAILURE);
     904        }
     905
     906        object = rawDetrendExpObjectFromMetadata(md);
     907        if (!object) {
     908            psFree(md);
     909            exit(EXIT_FAILURE);
     910        }
     911
     912        psFree(md);
     913
     914        if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
     915            psFree(object);
     916            exit(EXIT_FAILURE);
     917        }
    786918        if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {
    787919            psFree(object);
     
    800932            exit(EXIT_FAILURE);
    801933        }
     934        if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) {
     935            psFree(object);
     936            exit(EXIT_FAILURE);
     937        }
    802938        if (strncmp(object->class, "a string", MAX_STRING_LENGTH)) {
    803939            psFree(object);
    804940            exit(EXIT_FAILURE);
    805941        }
    806 
    807         psFree(object);
    808     }
    809 
    810     {
    811         psMetadata      *md;
    812         newImfileRow    *object;
     942        if (!object->airmass == 32.32) {
     943            psFree(object);
     944            exit(EXIT_FAILURE);
     945        }
     946        if (!object->ra == 64.64) {
     947            psFree(object);
     948            exit(EXIT_FAILURE);
     949        }
     950        if (!object->dec == 64.64) {
     951            psFree(object);
     952            exit(EXIT_FAILURE);
     953        }
     954        if (!object->exp_time == 32.32) {
     955            psFree(object);
     956            exit(EXIT_FAILURE);
     957        }
     958        if (!object->background == 64.64) {
     959            psFree(object);
     960            exit(EXIT_FAILURE);
     961        }
     962
     963        psFree(object);
     964    }
     965
     966    {
     967        psMetadata      *md;
     968        rawScienceExpRow *object;
    813969
    814970        md = psMetadataAlloc();
     
    817973            exit(EXIT_FAILURE);
    818974        }
     975        if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, "a string")) {
     976            psFree(md);
     977            exit(EXIT_FAILURE);
     978        }
     979        if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, "a string")) {
     980            psFree(md);
     981            exit(EXIT_FAILURE);
     982        }
     983        if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, "a string")) {
     984            psFree(md);
     985            exit(EXIT_FAILURE);
     986        }
     987        if (!psMetadataAddS32(md, PS_LIST_TAIL, "imfiles", 0, NULL, -32)) {
     988            psFree(md);
     989            exit(EXIT_FAILURE);
     990        }
     991        if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, "a string")) {
     992            psFree(md);
     993            exit(EXIT_FAILURE);
     994        }
    819995        if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, "a string")) {
    820996            psFree(md);
    821997            exit(EXIT_FAILURE);
    822998        }
     999        if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, 32.32)) {
     1000            psFree(md);
     1001            exit(EXIT_FAILURE);
     1002        }
     1003        if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, 64.64)) {
     1004            psFree(md);
     1005            exit(EXIT_FAILURE);
     1006        }
     1007        if (!psMetadataAddF64(md, PS_LIST_TAIL, "dec", 0, NULL, 64.64)) {
     1008            psFree(md);
     1009            exit(EXIT_FAILURE);
     1010        }
     1011        if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, 32.32)) {
     1012            psFree(md);
     1013            exit(EXIT_FAILURE);
     1014        }
     1015        if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, 64.64)) {
     1016            psFree(md);
     1017            exit(EXIT_FAILURE);
     1018        }
     1019
     1020        object = rawScienceExpObjectFromMetadata(md);
     1021        if (!object) {
     1022            psFree(md);
     1023            exit(EXIT_FAILURE);
     1024        }
     1025
     1026        psFree(md);
     1027
     1028        if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
     1029            psFree(object);
     1030            exit(EXIT_FAILURE);
     1031        }
     1032        if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {
     1033            psFree(object);
     1034            exit(EXIT_FAILURE);
     1035        }
     1036        if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) {
     1037            psFree(object);
     1038            exit(EXIT_FAILURE);
     1039        }
     1040        if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {
     1041            psFree(object);
     1042            exit(EXIT_FAILURE);
     1043        }
     1044        if (!object->imfiles == -32) {
     1045            psFree(object);
     1046            exit(EXIT_FAILURE);
     1047        }
     1048        if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) {
     1049            psFree(object);
     1050            exit(EXIT_FAILURE);
     1051        }
     1052        if (strncmp(object->class, "a string", MAX_STRING_LENGTH)) {
     1053            psFree(object);
     1054            exit(EXIT_FAILURE);
     1055        }
     1056        if (!object->airmass == 32.32) {
     1057            psFree(object);
     1058            exit(EXIT_FAILURE);
     1059        }
     1060        if (!object->ra == 64.64) {
     1061            psFree(object);
     1062            exit(EXIT_FAILURE);
     1063        }
     1064        if (!object->dec == 64.64) {
     1065            psFree(object);
     1066            exit(EXIT_FAILURE);
     1067        }
     1068        if (!object->exp_time == 32.32) {
     1069            psFree(object);
     1070            exit(EXIT_FAILURE);
     1071        }
     1072        if (!object->background == 64.64) {
     1073            psFree(object);
     1074            exit(EXIT_FAILURE);
     1075        }
     1076
     1077        psFree(object);
     1078    }
     1079
     1080    {
     1081        psMetadata      *md;
     1082        rawImfileRow    *object;
     1083
     1084        md = psMetadataAlloc();
     1085        if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, "a string")) {
     1086            psFree(md);
     1087            exit(EXIT_FAILURE);
     1088        }
     1089        if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, "a string")) {
     1090            psFree(md);
     1091            exit(EXIT_FAILURE);
     1092        }
    8231093        if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, "a string")) {
    8241094            psFree(md);
     
    8301100        }
    8311101
    832         object = newImfileObjectFromMetadata(md);
     1102        object = rawImfileObjectFromMetadata(md);
    8331103        if (!object) {
    8341104            psFree(md);
     
    8601130    {
    8611131        psMetadata      *md;
    862         rawDetrendExpRow *object;
     1132        p1PendingExpRow *object;
    8631133
    8641134        md = psMetadataAlloc();
     
    8871157            exit(EXIT_FAILURE);
    8881158        }
    889         if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, "a string")) {
    890             psFree(md);
    891             exit(EXIT_FAILURE);
    892         }
    8931159        if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, 32.32)) {
    8941160            psFree(md);
    8951161            exit(EXIT_FAILURE);
    8961162        }
     1163        if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, 64.64)) {
     1164            psFree(md);
     1165            exit(EXIT_FAILURE);
     1166        }
     1167        if (!psMetadataAddF64(md, PS_LIST_TAIL, "dec", 0, NULL, 64.64)) {
     1168            psFree(md);
     1169            exit(EXIT_FAILURE);
     1170        }
     1171        if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, 32.32)) {
     1172            psFree(md);
     1173            exit(EXIT_FAILURE);
     1174        }
     1175        if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, 64.64)) {
     1176            psFree(md);
     1177            exit(EXIT_FAILURE);
     1178        }
     1179        if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, "a string")) {
     1180            psFree(md);
     1181            exit(EXIT_FAILURE);
     1182        }
     1183        if (!psMetadataAddS32(md, PS_LIST_TAIL, "p1_version", 0, NULL, -32)) {
     1184            psFree(md);
     1185            exit(EXIT_FAILURE);
     1186        }
     1187
     1188        object = p1PendingExpObjectFromMetadata(md);
     1189        if (!object) {
     1190            psFree(md);
     1191            exit(EXIT_FAILURE);
     1192        }
     1193
     1194        psFree(md);
     1195
     1196        if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
     1197            psFree(object);
     1198            exit(EXIT_FAILURE);
     1199        }
     1200        if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {
     1201            psFree(object);
     1202            exit(EXIT_FAILURE);
     1203        }
     1204        if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) {
     1205            psFree(object);
     1206            exit(EXIT_FAILURE);
     1207        }
     1208        if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {
     1209            psFree(object);
     1210            exit(EXIT_FAILURE);
     1211        }
     1212        if (!object->imfiles == -32) {
     1213            psFree(object);
     1214            exit(EXIT_FAILURE);
     1215        }
     1216        if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) {
     1217            psFree(object);
     1218            exit(EXIT_FAILURE);
     1219        }
     1220        if (!object->airmass == 32.32) {
     1221            psFree(object);
     1222            exit(EXIT_FAILURE);
     1223        }
     1224        if (!object->ra == 64.64) {
     1225            psFree(object);
     1226            exit(EXIT_FAILURE);
     1227        }
     1228        if (!object->dec == 64.64) {
     1229            psFree(object);
     1230            exit(EXIT_FAILURE);
     1231        }
     1232        if (!object->exp_time == 32.32) {
     1233            psFree(object);
     1234            exit(EXIT_FAILURE);
     1235        }
     1236        if (!object->background == 64.64) {
     1237            psFree(object);
     1238            exit(EXIT_FAILURE);
     1239        }
     1240        if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) {
     1241            psFree(object);
     1242            exit(EXIT_FAILURE);
     1243        }
     1244        if (!object->p1_version == -32) {
     1245            psFree(object);
     1246            exit(EXIT_FAILURE);
     1247        }
     1248
     1249        psFree(object);
     1250    }
     1251
     1252    {
     1253        psMetadata      *md;
     1254        p2PendingExpRow *object;
     1255
     1256        md = psMetadataAlloc();
     1257        if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, "a string")) {
     1258            psFree(md);
     1259            exit(EXIT_FAILURE);
     1260        }
     1261        if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, "a string")) {
     1262            psFree(md);
     1263            exit(EXIT_FAILURE);
     1264        }
     1265        if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, "a string")) {
     1266            psFree(md);
     1267            exit(EXIT_FAILURE);
     1268        }
     1269        if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, "a string")) {
     1270            psFree(md);
     1271            exit(EXIT_FAILURE);
     1272        }
     1273        if (!psMetadataAddS32(md, PS_LIST_TAIL, "imfiles", 0, NULL, -32)) {
     1274            psFree(md);
     1275            exit(EXIT_FAILURE);
     1276        }
     1277        if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, "a string")) {
     1278            psFree(md);
     1279            exit(EXIT_FAILURE);
     1280        }
     1281        if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, 32.32)) {
     1282            psFree(md);
     1283            exit(EXIT_FAILURE);
     1284        }
    8971285        if (!psMetadataAddF32(md, PS_LIST_TAIL, "ra", 0, NULL, 32.32)) {
    8981286            psFree(md);
    8991287            exit(EXIT_FAILURE);
    9001288        }
    901         if (!psMetadataAddF32(md, PS_LIST_TAIL, "dec", 0, NULL, 32.32)) {
     1289        if (!psMetadataAddF64(md, PS_LIST_TAIL, "dec", 0, NULL, 64.64)) {
     1290            psFree(md);
     1291            exit(EXIT_FAILURE);
     1292        }
     1293        if (!psMetadataAddF64(md, PS_LIST_TAIL, "exp_time", 0, NULL, 64.64)) {
     1294            psFree(md);
     1295            exit(EXIT_FAILURE);
     1296        }
     1297        if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, 64.64)) {
     1298            psFree(md);
     1299            exit(EXIT_FAILURE);
     1300        }
     1301        if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, "a string")) {
     1302            psFree(md);
     1303            exit(EXIT_FAILURE);
     1304        }
     1305        if (!psMetadataAddS32(md, PS_LIST_TAIL, "p1_version", 0, NULL, -32)) {
     1306            psFree(md);
     1307            exit(EXIT_FAILURE);
     1308        }
     1309        if (!psMetadataAddS32(md, PS_LIST_TAIL, "p2_version", 0, NULL, -32)) {
     1310            psFree(md);
     1311            exit(EXIT_FAILURE);
     1312        }
     1313
     1314        object = p2PendingExpObjectFromMetadata(md);
     1315        if (!object) {
     1316            psFree(md);
     1317            exit(EXIT_FAILURE);
     1318        }
     1319
     1320        psFree(md);
     1321
     1322        if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
     1323            psFree(object);
     1324            exit(EXIT_FAILURE);
     1325        }
     1326        if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {
     1327            psFree(object);
     1328            exit(EXIT_FAILURE);
     1329        }
     1330        if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) {
     1331            psFree(object);
     1332            exit(EXIT_FAILURE);
     1333        }
     1334        if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {
     1335            psFree(object);
     1336            exit(EXIT_FAILURE);
     1337        }
     1338        if (!object->imfiles == -32) {
     1339            psFree(object);
     1340            exit(EXIT_FAILURE);
     1341        }
     1342        if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) {
     1343            psFree(object);
     1344            exit(EXIT_FAILURE);
     1345        }
     1346        if (!object->airmass == 32.32) {
     1347            psFree(object);
     1348            exit(EXIT_FAILURE);
     1349        }
     1350        if (!object->ra == 32.32) {
     1351            psFree(object);
     1352            exit(EXIT_FAILURE);
     1353        }
     1354        if (!object->dec == 64.64) {
     1355            psFree(object);
     1356            exit(EXIT_FAILURE);
     1357        }
     1358        if (!object->exp_time == 64.64) {
     1359            psFree(object);
     1360            exit(EXIT_FAILURE);
     1361        }
     1362        if (!object->background == 64.64) {
     1363            psFree(object);
     1364            exit(EXIT_FAILURE);
     1365        }
     1366        if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) {
     1367            psFree(object);
     1368            exit(EXIT_FAILURE);
     1369        }
     1370        if (!object->p1_version == -32) {
     1371            psFree(object);
     1372            exit(EXIT_FAILURE);
     1373        }
     1374        if (!object->p2_version == -32) {
     1375            psFree(object);
     1376            exit(EXIT_FAILURE);
     1377        }
     1378
     1379        psFree(object);
     1380    }
     1381
     1382    {
     1383        psMetadata      *md;
     1384        p2PendingImfileRow *object;
     1385
     1386        md = psMetadataAlloc();
     1387        if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, "a string")) {
     1388            psFree(md);
     1389            exit(EXIT_FAILURE);
     1390        }
     1391        if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, "a string")) {
     1392            psFree(md);
     1393            exit(EXIT_FAILURE);
     1394        }
     1395        if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, "a string")) {
     1396            psFree(md);
     1397            exit(EXIT_FAILURE);
     1398        }
     1399        if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, "a string")) {
     1400            psFree(md);
     1401            exit(EXIT_FAILURE);
     1402        }
     1403        if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, "a string")) {
     1404            psFree(md);
     1405            exit(EXIT_FAILURE);
     1406        }
     1407        if (!psMetadataAddS32(md, PS_LIST_TAIL, "p1_version", 0, NULL, -32)) {
     1408            psFree(md);
     1409            exit(EXIT_FAILURE);
     1410        }
     1411        if (!psMetadataAddS32(md, PS_LIST_TAIL, "p2_version", 0, NULL, -32)) {
     1412            psFree(md);
     1413            exit(EXIT_FAILURE);
     1414        }
     1415
     1416        object = p2PendingImfileObjectFromMetadata(md);
     1417        if (!object) {
     1418            psFree(md);
     1419            exit(EXIT_FAILURE);
     1420        }
     1421
     1422        psFree(md);
     1423
     1424        if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
     1425            psFree(object);
     1426            exit(EXIT_FAILURE);
     1427        }
     1428        if (strncmp(object->class_id, "a string", MAX_STRING_LENGTH)) {
     1429            psFree(object);
     1430            exit(EXIT_FAILURE);
     1431        }
     1432        if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) {
     1433            psFree(object);
     1434            exit(EXIT_FAILURE);
     1435        }
     1436        if (strncmp(object->stats, "a string", MAX_STRING_LENGTH)) {
     1437            psFree(object);
     1438            exit(EXIT_FAILURE);
     1439        }
     1440        if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) {
     1441            psFree(object);
     1442            exit(EXIT_FAILURE);
     1443        }
     1444        if (!object->p1_version == -32) {
     1445            psFree(object);
     1446            exit(EXIT_FAILURE);
     1447        }
     1448        if (!object->p2_version == -32) {
     1449            psFree(object);
     1450            exit(EXIT_FAILURE);
     1451        }
     1452
     1453        psFree(object);
     1454    }
     1455
     1456    {
     1457        psMetadata      *md;
     1458        p2DoneExpRow    *object;
     1459
     1460        md = psMetadataAlloc();
     1461        if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, "a string")) {
     1462            psFree(md);
     1463            exit(EXIT_FAILURE);
     1464        }
     1465        if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, "a string")) {
     1466            psFree(md);
     1467            exit(EXIT_FAILURE);
     1468        }
     1469        if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, "a string")) {
     1470            psFree(md);
     1471            exit(EXIT_FAILURE);
     1472        }
     1473        if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, "a string")) {
     1474            psFree(md);
     1475            exit(EXIT_FAILURE);
     1476        }
     1477        if (!psMetadataAddS32(md, PS_LIST_TAIL, "imfiles", 0, NULL, -32)) {
     1478            psFree(md);
     1479            exit(EXIT_FAILURE);
     1480        }
     1481        if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, "a string")) {
     1482            psFree(md);
     1483            exit(EXIT_FAILURE);
     1484        }
     1485        if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, 32.32)) {
     1486            psFree(md);
     1487            exit(EXIT_FAILURE);
     1488        }
     1489        if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, 64.64)) {
     1490            psFree(md);
     1491            exit(EXIT_FAILURE);
     1492        }
     1493        if (!psMetadataAddF64(md, PS_LIST_TAIL, "dec", 0, NULL, 64.64)) {
    9021494            psFree(md);
    9031495            exit(EXIT_FAILURE);
     
    9071499            exit(EXIT_FAILURE);
    9081500        }
    909 
    910         object = rawDetrendExpObjectFromMetadata(md);
     1501        if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, 64.64)) {
     1502            psFree(md);
     1503            exit(EXIT_FAILURE);
     1504        }
     1505        if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, "a string")) {
     1506            psFree(md);
     1507            exit(EXIT_FAILURE);
     1508        }
     1509        if (!psMetadataAddS32(md, PS_LIST_TAIL, "p1_version", 0, NULL, -32)) {
     1510            psFree(md);
     1511            exit(EXIT_FAILURE);
     1512        }
     1513        if (!psMetadataAddS32(md, PS_LIST_TAIL, "p2_version", 0, NULL, -32)) {
     1514            psFree(md);
     1515            exit(EXIT_FAILURE);
     1516        }
     1517
     1518        object = p2DoneExpObjectFromMetadata(md);
    9111519        if (!object) {
    9121520            psFree(md);
     
    9401548            exit(EXIT_FAILURE);
    9411549        }
    942         if (strncmp(object->class, "a string", MAX_STRING_LENGTH)) {
    943             psFree(object);
    944             exit(EXIT_FAILURE);
    945         }
    9461550        if (!object->airmass == 32.32) {
    9471551            psFree(object);
    9481552            exit(EXIT_FAILURE);
    9491553        }
    950         if (!object->ra == 32.32) {
    951             psFree(object);
    952             exit(EXIT_FAILURE);
    953         }
    954         if (!object->dec == 32.32) {
     1554        if (!object->ra == 64.64) {
     1555            psFree(object);
     1556            exit(EXIT_FAILURE);
     1557        }
     1558        if (!object->dec == 64.64) {
    9551559            psFree(object);
    9561560            exit(EXIT_FAILURE);
     
    9601564            exit(EXIT_FAILURE);
    9611565        }
    962 
    963         psFree(object);
    964     }
    965 
    966     {
    967         psMetadata      *md;
    968         rawScienceExpRow *object;
     1566        if (!object->background == 64.64) {
     1567            psFree(object);
     1568            exit(EXIT_FAILURE);
     1569        }
     1570        if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) {
     1571            psFree(object);
     1572            exit(EXIT_FAILURE);
     1573        }
     1574        if (!object->p1_version == -32) {
     1575            psFree(object);
     1576            exit(EXIT_FAILURE);
     1577        }
     1578        if (!object->p2_version == -32) {
     1579            psFree(object);
     1580            exit(EXIT_FAILURE);
     1581        }
     1582
     1583        psFree(object);
     1584    }
     1585
     1586    {
     1587        psMetadata      *md;
     1588        p2DoneImfileRow *object;
    9691589
    9701590        md = psMetadataAlloc();
     
    9731593            exit(EXIT_FAILURE);
    9741594        }
     1595        if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, "a string")) {
     1596            psFree(md);
     1597            exit(EXIT_FAILURE);
     1598        }
     1599        if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, "a string")) {
     1600            psFree(md);
     1601            exit(EXIT_FAILURE);
     1602        }
     1603        if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, "a string")) {
     1604            psFree(md);
     1605            exit(EXIT_FAILURE);
     1606        }
     1607        if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, "a string")) {
     1608            psFree(md);
     1609            exit(EXIT_FAILURE);
     1610        }
     1611        if (!psMetadataAddS32(md, PS_LIST_TAIL, "p1_version", 0, NULL, -32)) {
     1612            psFree(md);
     1613            exit(EXIT_FAILURE);
     1614        }
     1615        if (!psMetadataAddS32(md, PS_LIST_TAIL, "p2_version", 0, NULL, -32)) {
     1616            psFree(md);
     1617            exit(EXIT_FAILURE);
     1618        }
     1619
     1620        object = p2DoneImfileObjectFromMetadata(md);
     1621        if (!object) {
     1622            psFree(md);
     1623            exit(EXIT_FAILURE);
     1624        }
     1625
     1626        psFree(md);
     1627
     1628        if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
     1629            psFree(object);
     1630            exit(EXIT_FAILURE);
     1631        }
     1632        if (strncmp(object->class_id, "a string", MAX_STRING_LENGTH)) {
     1633            psFree(object);
     1634            exit(EXIT_FAILURE);
     1635        }
     1636        if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) {
     1637            psFree(object);
     1638            exit(EXIT_FAILURE);
     1639        }
     1640        if (strncmp(object->stats, "a string", MAX_STRING_LENGTH)) {
     1641            psFree(object);
     1642            exit(EXIT_FAILURE);
     1643        }
     1644        if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) {
     1645            psFree(object);
     1646            exit(EXIT_FAILURE);
     1647        }
     1648        if (!object->p1_version == -32) {
     1649            psFree(object);
     1650            exit(EXIT_FAILURE);
     1651        }
     1652        if (!object->p2_version == -32) {
     1653            psFree(object);
     1654            exit(EXIT_FAILURE);
     1655        }
     1656
     1657        psFree(object);
     1658    }
     1659
     1660    {
     1661        psMetadata      *md;
     1662        p3PendingExpRow *object;
     1663
     1664        md = psMetadataAlloc();
     1665        if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, "a string")) {
     1666            psFree(md);
     1667            exit(EXIT_FAILURE);
     1668        }
    9751669        if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, "a string")) {
    9761670            psFree(md);
    9771671            exit(EXIT_FAILURE);
    9781672        }
     1673        if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, "a string")) {
     1674            psFree(md);
     1675            exit(EXIT_FAILURE);
     1676        }
     1677        if (!psMetadataAddS32(md, PS_LIST_TAIL, "imfiles", 0, NULL, -32)) {
     1678            psFree(md);
     1679            exit(EXIT_FAILURE);
     1680        }
     1681        if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, "a string")) {
     1682            psFree(md);
     1683            exit(EXIT_FAILURE);
     1684        }
     1685        if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, 32.32)) {
     1686            psFree(md);
     1687            exit(EXIT_FAILURE);
     1688        }
     1689        if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, 64.64)) {
     1690            psFree(md);
     1691            exit(EXIT_FAILURE);
     1692        }
     1693        if (!psMetadataAddF64(md, PS_LIST_TAIL, "dec", 0, NULL, 64.64)) {
     1694            psFree(md);
     1695            exit(EXIT_FAILURE);
     1696        }
     1697        if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, 32.32)) {
     1698            psFree(md);
     1699            exit(EXIT_FAILURE);
     1700        }
     1701        if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, 64.64)) {
     1702            psFree(md);
     1703            exit(EXIT_FAILURE);
     1704        }
     1705        if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, "a string")) {
     1706            psFree(md);
     1707            exit(EXIT_FAILURE);
     1708        }
     1709        if (!psMetadataAddS32(md, PS_LIST_TAIL, "p2_version", 0, NULL, -32)) {
     1710            psFree(md);
     1711            exit(EXIT_FAILURE);
     1712        }
     1713        if (!psMetadataAddS32(md, PS_LIST_TAIL, "p3_version", 0, NULL, -32)) {
     1714            psFree(md);
     1715            exit(EXIT_FAILURE);
     1716        }
     1717
     1718        object = p3PendingExpObjectFromMetadata(md);
     1719        if (!object) {
     1720            psFree(md);
     1721            exit(EXIT_FAILURE);
     1722        }
     1723
     1724        psFree(md);
     1725
     1726        if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
     1727            psFree(object);
     1728            exit(EXIT_FAILURE);
     1729        }
     1730        if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {
     1731            psFree(object);
     1732            exit(EXIT_FAILURE);
     1733        }
     1734        if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {
     1735            psFree(object);
     1736            exit(EXIT_FAILURE);
     1737        }
     1738        if (!object->imfiles == -32) {
     1739            psFree(object);
     1740            exit(EXIT_FAILURE);
     1741        }
     1742        if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) {
     1743            psFree(object);
     1744            exit(EXIT_FAILURE);
     1745        }
     1746        if (!object->airmass == 32.32) {
     1747            psFree(object);
     1748            exit(EXIT_FAILURE);
     1749        }
     1750        if (!object->ra == 64.64) {
     1751            psFree(object);
     1752            exit(EXIT_FAILURE);
     1753        }
     1754        if (!object->dec == 64.64) {
     1755            psFree(object);
     1756            exit(EXIT_FAILURE);
     1757        }
     1758        if (!object->exp_time == 32.32) {
     1759            psFree(object);
     1760            exit(EXIT_FAILURE);
     1761        }
     1762        if (!object->background == 64.64) {
     1763            psFree(object);
     1764            exit(EXIT_FAILURE);
     1765        }
     1766        if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) {
     1767            psFree(object);
     1768            exit(EXIT_FAILURE);
     1769        }
     1770        if (!object->p2_version == -32) {
     1771            psFree(object);
     1772            exit(EXIT_FAILURE);
     1773        }
     1774        if (!object->p3_version == -32) {
     1775            psFree(object);
     1776            exit(EXIT_FAILURE);
     1777        }
     1778
     1779        psFree(object);
     1780    }
     1781
     1782    {
     1783        psMetadata      *md;
     1784        detRunRow       *object;
     1785
     1786        md = psMetadataAlloc();
     1787        if (!psMetadataAddS32(md, PS_LIST_TAIL, "iteration", 0, NULL, -32)) {
     1788            psFree(md);
     1789            exit(EXIT_FAILURE);
     1790        }
     1791        if (!psMetadataAddStr(md, PS_LIST_TAIL, "det_type", 0, NULL, "a string")) {
     1792            psFree(md);
     1793            exit(EXIT_FAILURE);
     1794        }
     1795
     1796        object = detRunObjectFromMetadata(md);
     1797        if (!object) {
     1798            psFree(md);
     1799            exit(EXIT_FAILURE);
     1800        }
     1801
     1802        psFree(md);
     1803
     1804        if (!object->iteration == -32) {
     1805            psFree(object);
     1806            exit(EXIT_FAILURE);
     1807        }
     1808        if (strncmp(object->det_type, "a string", MAX_STRING_LENGTH)) {
     1809            psFree(object);
     1810            exit(EXIT_FAILURE);
     1811        }
     1812
     1813        psFree(object);
     1814    }
     1815
     1816    {
     1817        psMetadata      *md;
     1818        detInputExpRow  *object;
     1819
     1820        md = psMetadataAlloc();
     1821        if (!psMetadataAddS32(md, PS_LIST_TAIL, "det_id", 0, NULL, -32)) {
     1822            psFree(md);
     1823            exit(EXIT_FAILURE);
     1824        }
     1825        if (!psMetadataAddS32(md, PS_LIST_TAIL, "iteration", 0, NULL, -32)) {
     1826            psFree(md);
     1827            exit(EXIT_FAILURE);
     1828        }
     1829        if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, "a string")) {
     1830            psFree(md);
     1831            exit(EXIT_FAILURE);
     1832        }
     1833        if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, "a string")) {
     1834            psFree(md);
     1835            exit(EXIT_FAILURE);
     1836        }
    9791837        if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, "a string")) {
    9801838            psFree(md);
     
    9931851            exit(EXIT_FAILURE);
    9941852        }
    995         if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, "a string")) {
    996             psFree(md);
    997             exit(EXIT_FAILURE);
    998         }
    9991853        if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, 32.32)) {
    10001854            psFree(md);
    10011855            exit(EXIT_FAILURE);
    10021856        }
    1003         if (!psMetadataAddF32(md, PS_LIST_TAIL, "ra", 0, NULL, 32.32)) {
    1004             psFree(md);
    1005             exit(EXIT_FAILURE);
    1006         }
    1007         if (!psMetadataAddF32(md, PS_LIST_TAIL, "dec", 0, NULL, 32.32)) {
     1857        if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, 64.64)) {
     1858            psFree(md);
     1859            exit(EXIT_FAILURE);
     1860        }
     1861        if (!psMetadataAddF64(md, PS_LIST_TAIL, "dec", 0, NULL, 64.64)) {
    10081862            psFree(md);
    10091863            exit(EXIT_FAILURE);
     
    10131867            exit(EXIT_FAILURE);
    10141868        }
    1015 
    1016         object = rawScienceExpObjectFromMetadata(md);
    1017         if (!object) {
    1018             psFree(md);
    1019             exit(EXIT_FAILURE);
    1020         }
    1021 
    1022         psFree(md);
    1023 
     1869        if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, 64.64)) {
     1870            psFree(md);
     1871            exit(EXIT_FAILURE);
     1872        }
     1873
     1874        object = detInputExpObjectFromMetadata(md);
     1875        if (!object) {
     1876            psFree(md);
     1877            exit(EXIT_FAILURE);
     1878        }
     1879
     1880        psFree(md);
     1881
     1882        if (!object->det_id == -32) {
     1883            psFree(object);
     1884            exit(EXIT_FAILURE);
     1885        }
     1886        if (!object->iteration == -32) {
     1887            psFree(object);
     1888            exit(EXIT_FAILURE);
     1889        }
    10241890        if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
    10251891            psFree(object);
     
    10461912            exit(EXIT_FAILURE);
    10471913        }
    1048         if (strncmp(object->class, "a string", MAX_STRING_LENGTH)) {
    1049             psFree(object);
    1050             exit(EXIT_FAILURE);
    1051         }
    10521914        if (!object->airmass == 32.32) {
    10531915            psFree(object);
    10541916            exit(EXIT_FAILURE);
    10551917        }
    1056         if (!object->ra == 32.32) {
    1057             psFree(object);
    1058             exit(EXIT_FAILURE);
    1059         }
    1060         if (!object->dec == 32.32) {
     1918        if (!object->ra == 64.64) {
     1919            psFree(object);
     1920            exit(EXIT_FAILURE);
     1921        }
     1922        if (!object->dec == 64.64) {
    10611923            psFree(object);
    10621924            exit(EXIT_FAILURE);
     
    10661928            exit(EXIT_FAILURE);
    10671929        }
    1068 
    1069         psFree(object);
    1070     }
    1071 
    1072     {
    1073         psMetadata      *md;
    1074         rawImfileRow    *object;
    1075 
    1076         md = psMetadataAlloc();
    1077         if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, "a string")) {
    1078             psFree(md);
    1079             exit(EXIT_FAILURE);
    1080         }
    1081         if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, "a string")) {
    1082             psFree(md);
    1083             exit(EXIT_FAILURE);
    1084         }
    1085         if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, "a string")) {
    1086             psFree(md);
    1087             exit(EXIT_FAILURE);
    1088         }
    1089         if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, "a string")) {
    1090             psFree(md);
    1091             exit(EXIT_FAILURE);
    1092         }
    1093         if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, "a string")) {
    1094             psFree(md);
    1095             exit(EXIT_FAILURE);
    1096         }
    1097 
    1098         object = rawImfileObjectFromMetadata(md);
    1099         if (!object) {
    1100             psFree(md);
    1101             exit(EXIT_FAILURE);
    1102         }
    1103 
    1104         psFree(md);
    1105 
    1106         if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
    1107             psFree(object);
    1108             exit(EXIT_FAILURE);
    1109         }
    1110         if (strncmp(object->class, "a string", MAX_STRING_LENGTH)) {
    1111             psFree(object);
    1112             exit(EXIT_FAILURE);
    1113         }
    1114         if (strncmp(object->class_id, "a string", MAX_STRING_LENGTH)) {
    1115             psFree(object);
    1116             exit(EXIT_FAILURE);
    1117         }
    1118         if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) {
    1119             psFree(object);
    1120             exit(EXIT_FAILURE);
    1121         }
    1122         if (strncmp(object->stats, "a string", MAX_STRING_LENGTH)) {
    1123             psFree(object);
    1124             exit(EXIT_FAILURE);
    1125         }
    1126 
    1127         psFree(object);
    1128     }
    1129 
    1130     {
    1131         psMetadata      *md;
    1132         p1PendingExpRow *object;
    1133 
    1134         md = psMetadataAlloc();
    1135         if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, "a string")) {
    1136             psFree(md);
    1137             exit(EXIT_FAILURE);
    1138         }
    1139         if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, "a string")) {
    1140             psFree(md);
    1141             exit(EXIT_FAILURE);
    1142         }
    1143         if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, "a string")) {
    1144             psFree(md);
    1145             exit(EXIT_FAILURE);
    1146         }
    1147         if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, "a string")) {
    1148             psFree(md);
    1149             exit(EXIT_FAILURE);
    1150         }
    1151         if (!psMetadataAddS32(md, PS_LIST_TAIL, "imfiles", 0, NULL, -32)) {
    1152             psFree(md);
    1153             exit(EXIT_FAILURE);
    1154         }
    1155         if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, "a string")) {
    1156             psFree(md);
    1157             exit(EXIT_FAILURE);
    1158         }
    1159         if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, "a string")) {
    1160             psFree(md);
    1161             exit(EXIT_FAILURE);
    1162         }
    1163         if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, 32.32)) {
    1164             psFree(md);
    1165             exit(EXIT_FAILURE);
    1166         }
    1167         if (!psMetadataAddF32(md, PS_LIST_TAIL, "ra", 0, NULL, 32.32)) {
    1168             psFree(md);
    1169             exit(EXIT_FAILURE);
    1170         }
    1171         if (!psMetadataAddF32(md, PS_LIST_TAIL, "dec", 0, NULL, 32.32)) {
    1172             psFree(md);
    1173             exit(EXIT_FAILURE);
    1174         }
    1175         if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, 32.32)) {
    1176             psFree(md);
    1177             exit(EXIT_FAILURE);
    1178         }
    1179         if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, "a string")) {
    1180             psFree(md);
    1181             exit(EXIT_FAILURE);
    1182         }
    1183         if (!psMetadataAddS32(md, PS_LIST_TAIL, "p1_version", 0, NULL, -32)) {
    1184             psFree(md);
    1185             exit(EXIT_FAILURE);
    1186         }
    1187 
    1188         object = p1PendingExpObjectFromMetadata(md);
    1189         if (!object) {
    1190             psFree(md);
    1191             exit(EXIT_FAILURE);
    1192         }
    1193 
    1194         psFree(md);
    1195 
    1196         if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
    1197             psFree(object);
    1198             exit(EXIT_FAILURE);
    1199         }
    1200         if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {
    1201             psFree(object);
    1202             exit(EXIT_FAILURE);
    1203         }
    1204         if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) {
    1205             psFree(object);
    1206             exit(EXIT_FAILURE);
    1207         }
    1208         if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {
    1209             psFree(object);
    1210             exit(EXIT_FAILURE);
    1211         }
    1212         if (!object->imfiles == -32) {
    1213             psFree(object);
    1214             exit(EXIT_FAILURE);
    1215         }
    1216         if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) {
    1217             psFree(object);
    1218             exit(EXIT_FAILURE);
    1219         }
    1220         if (strncmp(object->class, "a string", MAX_STRING_LENGTH)) {
    1221             psFree(object);
    1222             exit(EXIT_FAILURE);
    1223         }
    1224         if (!object->airmass == 32.32) {
    1225             psFree(object);
    1226             exit(EXIT_FAILURE);
    1227         }
    1228         if (!object->ra == 32.32) {
    1229             psFree(object);
    1230             exit(EXIT_FAILURE);
    1231         }
    1232         if (!object->dec == 32.32) {
    1233             psFree(object);
    1234             exit(EXIT_FAILURE);
    1235         }
    1236         if (!object->exp_time == 32.32) {
    1237             psFree(object);
    1238             exit(EXIT_FAILURE);
    1239         }
    1240         if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) {
    1241             psFree(object);
    1242             exit(EXIT_FAILURE);
    1243         }
    1244         if (!object->p1_version == -32) {
    1245             psFree(object);
    1246             exit(EXIT_FAILURE);
    1247         }
    1248 
    1249         psFree(object);
    1250     }
    1251 
    1252     {
    1253         psMetadata      *md;
    1254         p2PendingExpRow *object;
    1255 
    1256         md = psMetadataAlloc();
    1257         if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, "a string")) {
    1258             psFree(md);
    1259             exit(EXIT_FAILURE);
    1260         }
    1261         if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, "a string")) {
    1262             psFree(md);
    1263             exit(EXIT_FAILURE);
    1264         }
    1265         if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, "a string")) {
    1266             psFree(md);
    1267             exit(EXIT_FAILURE);
    1268         }
    1269         if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, "a string")) {
    1270             psFree(md);
    1271             exit(EXIT_FAILURE);
    1272         }
    1273         if (!psMetadataAddS32(md, PS_LIST_TAIL, "imfiles", 0, NULL, -32)) {
    1274             psFree(md);
    1275             exit(EXIT_FAILURE);
    1276         }
    1277         if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, "a string")) {
    1278             psFree(md);
    1279             exit(EXIT_FAILURE);
    1280         }
    1281         if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, "a string")) {
    1282             psFree(md);
    1283             exit(EXIT_FAILURE);
    1284         }
    1285         if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, 32.32)) {
    1286             psFree(md);
    1287             exit(EXIT_FAILURE);
    1288         }
    1289         if (!psMetadataAddF32(md, PS_LIST_TAIL, "ra", 0, NULL, 32.32)) {
    1290             psFree(md);
    1291             exit(EXIT_FAILURE);
    1292         }
    1293         if (!psMetadataAddF32(md, PS_LIST_TAIL, "dec", 0, NULL, 32.32)) {
    1294             psFree(md);
    1295             exit(EXIT_FAILURE);
    1296         }
    1297         if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, 32.32)) {
    1298             psFree(md);
    1299             exit(EXIT_FAILURE);
    1300         }
    1301         if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, "a string")) {
    1302             psFree(md);
    1303             exit(EXIT_FAILURE);
    1304         }
    1305         if (!psMetadataAddS32(md, PS_LIST_TAIL, "p1_version", 0, NULL, -32)) {
    1306             psFree(md);
    1307             exit(EXIT_FAILURE);
    1308         }
    1309         if (!psMetadataAddS32(md, PS_LIST_TAIL, "p2_version", 0, NULL, -32)) {
    1310             psFree(md);
    1311             exit(EXIT_FAILURE);
    1312         }
    1313 
    1314         object = p2PendingExpObjectFromMetadata(md);
    1315         if (!object) {
    1316             psFree(md);
    1317             exit(EXIT_FAILURE);
    1318         }
    1319 
    1320         psFree(md);
    1321 
    1322         if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
    1323             psFree(object);
    1324             exit(EXIT_FAILURE);
    1325         }
    1326         if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {
    1327             psFree(object);
    1328             exit(EXIT_FAILURE);
    1329         }
    1330         if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) {
    1331             psFree(object);
    1332             exit(EXIT_FAILURE);
    1333         }
    1334         if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {
    1335             psFree(object);
    1336             exit(EXIT_FAILURE);
    1337         }
    1338         if (!object->imfiles == -32) {
    1339             psFree(object);
    1340             exit(EXIT_FAILURE);
    1341         }
    1342         if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) {
    1343             psFree(object);
    1344             exit(EXIT_FAILURE);
    1345         }
    1346         if (strncmp(object->class, "a string", MAX_STRING_LENGTH)) {
    1347             psFree(object);
    1348             exit(EXIT_FAILURE);
    1349         }
    1350         if (!object->airmass == 32.32) {
    1351             psFree(object);
    1352             exit(EXIT_FAILURE);
    1353         }
    1354         if (!object->ra == 32.32) {
    1355             psFree(object);
    1356             exit(EXIT_FAILURE);
    1357         }
    1358         if (!object->dec == 32.32) {
    1359             psFree(object);
    1360             exit(EXIT_FAILURE);
    1361         }
    1362         if (!object->exp_time == 32.32) {
    1363             psFree(object);
    1364             exit(EXIT_FAILURE);
    1365         }
    1366         if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) {
    1367             psFree(object);
    1368             exit(EXIT_FAILURE);
    1369         }
    1370         if (!object->p1_version == -32) {
    1371             psFree(object);
    1372             exit(EXIT_FAILURE);
    1373         }
    1374         if (!object->p2_version == -32) {
    1375             psFree(object);
    1376             exit(EXIT_FAILURE);
    1377         }
    1378 
    1379         psFree(object);
    1380     }
    1381 
    1382     {
    1383         psMetadata      *md;
    1384         p2PendingImfileRow *object;
    1385 
    1386         md = psMetadataAlloc();
    1387         if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, "a string")) {
    1388             psFree(md);
    1389             exit(EXIT_FAILURE);
    1390         }
    1391         if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, "a string")) {
    1392             psFree(md);
    1393             exit(EXIT_FAILURE);
    1394         }
    1395         if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, "a string")) {
    1396             psFree(md);
    1397             exit(EXIT_FAILURE);
    1398         }
    1399         if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, "a string")) {
    1400             psFree(md);
    1401             exit(EXIT_FAILURE);
    1402         }
    1403         if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, "a string")) {
    1404             psFree(md);
    1405             exit(EXIT_FAILURE);
    1406         }
    1407         if (!psMetadataAddS32(md, PS_LIST_TAIL, "p1_version", 0, NULL, -32)) {
    1408             psFree(md);
    1409             exit(EXIT_FAILURE);
    1410         }
    1411         if (!psMetadataAddS32(md, PS_LIST_TAIL, "p2_version", 0, NULL, -32)) {
    1412             psFree(md);
    1413             exit(EXIT_FAILURE);
    1414         }
    1415 
    1416         object = p2PendingImfileObjectFromMetadata(md);
    1417         if (!object) {
    1418             psFree(md);
    1419             exit(EXIT_FAILURE);
    1420         }
    1421 
    1422         psFree(md);
    1423 
    1424         if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
    1425             psFree(object);
    1426             exit(EXIT_FAILURE);
    1427         }
    1428         if (strncmp(object->class_id, "a string", MAX_STRING_LENGTH)) {
    1429             psFree(object);
    1430             exit(EXIT_FAILURE);
    1431         }
    1432         if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) {
    1433             psFree(object);
    1434             exit(EXIT_FAILURE);
    1435         }
    1436         if (strncmp(object->stats, "a string", MAX_STRING_LENGTH)) {
    1437             psFree(object);
    1438             exit(EXIT_FAILURE);
    1439         }
    1440         if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) {
    1441             psFree(object);
    1442             exit(EXIT_FAILURE);
    1443         }
    1444         if (!object->p1_version == -32) {
    1445             psFree(object);
    1446             exit(EXIT_FAILURE);
    1447         }
    1448         if (!object->p2_version == -32) {
    1449             psFree(object);
    1450             exit(EXIT_FAILURE);
    1451         }
    1452 
    1453         psFree(object);
    1454     }
    1455 
    1456     {
    1457         psMetadata      *md;
    1458         p2DoneExpRow    *object;
    1459 
    1460         md = psMetadataAlloc();
    1461         if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, "a string")) {
    1462             psFree(md);
    1463             exit(EXIT_FAILURE);
    1464         }
    1465         if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, "a string")) {
    1466             psFree(md);
    1467             exit(EXIT_FAILURE);
    1468         }
    1469         if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, "a string")) {
    1470             psFree(md);
    1471             exit(EXIT_FAILURE);
    1472         }
    1473         if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, "a string")) {
    1474             psFree(md);
    1475             exit(EXIT_FAILURE);
    1476         }
    1477         if (!psMetadataAddS32(md, PS_LIST_TAIL, "imfiles", 0, NULL, -32)) {
    1478             psFree(md);
    1479             exit(EXIT_FAILURE);
    1480         }
    1481         if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, "a string")) {
    1482             psFree(md);
    1483             exit(EXIT_FAILURE);
    1484         }
    1485         if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, "a string")) {
    1486             psFree(md);
    1487             exit(EXIT_FAILURE);
    1488         }
    1489         if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, 32.32)) {
    1490             psFree(md);
    1491             exit(EXIT_FAILURE);
    1492         }
    1493         if (!psMetadataAddF32(md, PS_LIST_TAIL, "ra", 0, NULL, 32.32)) {
    1494             psFree(md);
    1495             exit(EXIT_FAILURE);
    1496         }
    1497         if (!psMetadataAddF32(md, PS_LIST_TAIL, "dec", 0, NULL, 32.32)) {
    1498             psFree(md);
    1499             exit(EXIT_FAILURE);
    1500         }
    1501         if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, 32.32)) {
    1502             psFree(md);
    1503             exit(EXIT_FAILURE);
    1504         }
    1505         if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, "a string")) {
    1506             psFree(md);
    1507             exit(EXIT_FAILURE);
    1508         }
    1509         if (!psMetadataAddS32(md, PS_LIST_TAIL, "p1_version", 0, NULL, -32)) {
    1510             psFree(md);
    1511             exit(EXIT_FAILURE);
    1512         }
    1513         if (!psMetadataAddS32(md, PS_LIST_TAIL, "p2_version", 0, NULL, -32)) {
    1514             psFree(md);
    1515             exit(EXIT_FAILURE);
    1516         }
    1517 
    1518         object = p2DoneExpObjectFromMetadata(md);
    1519         if (!object) {
    1520             psFree(md);
    1521             exit(EXIT_FAILURE);
    1522         }
    1523 
    1524         psFree(md);
    1525 
    1526         if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
    1527             psFree(object);
    1528             exit(EXIT_FAILURE);
    1529         }
    1530         if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {
    1531             psFree(object);
    1532             exit(EXIT_FAILURE);
    1533         }
    1534         if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) {
    1535             psFree(object);
    1536             exit(EXIT_FAILURE);
    1537         }
    1538         if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {
    1539             psFree(object);
    1540             exit(EXIT_FAILURE);
    1541         }
    1542         if (!object->imfiles == -32) {
    1543             psFree(object);
    1544             exit(EXIT_FAILURE);
    1545         }
    1546         if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) {
    1547             psFree(object);
    1548             exit(EXIT_FAILURE);
    1549         }
    1550         if (strncmp(object->class, "a string", MAX_STRING_LENGTH)) {
    1551             psFree(object);
    1552             exit(EXIT_FAILURE);
    1553         }
    1554         if (!object->airmass == 32.32) {
    1555             psFree(object);
    1556             exit(EXIT_FAILURE);
    1557         }
    1558         if (!object->ra == 32.32) {
    1559             psFree(object);
    1560             exit(EXIT_FAILURE);
    1561         }
    1562         if (!object->dec == 32.32) {
    1563             psFree(object);
    1564             exit(EXIT_FAILURE);
    1565         }
    1566         if (!object->exp_time == 32.32) {
    1567             psFree(object);
    1568             exit(EXIT_FAILURE);
    1569         }
    1570         if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) {
    1571             psFree(object);
    1572             exit(EXIT_FAILURE);
    1573         }
    1574         if (!object->p1_version == -32) {
    1575             psFree(object);
    1576             exit(EXIT_FAILURE);
    1577         }
    1578         if (!object->p2_version == -32) {
    1579             psFree(object);
    1580             exit(EXIT_FAILURE);
    1581         }
    1582 
    1583         psFree(object);
    1584     }
    1585 
    1586     {
    1587         psMetadata      *md;
    1588         p2DoneImfileRow *object;
    1589 
    1590         md = psMetadataAlloc();
    1591         if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, "a string")) {
    1592             psFree(md);
    1593             exit(EXIT_FAILURE);
    1594         }
    1595         if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, "a string")) {
    1596             psFree(md);
    1597             exit(EXIT_FAILURE);
    1598         }
    1599         if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, "a string")) {
    1600             psFree(md);
    1601             exit(EXIT_FAILURE);
    1602         }
    1603         if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, "a string")) {
    1604             psFree(md);
    1605             exit(EXIT_FAILURE);
    1606         }
    1607         if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, "a string")) {
    1608             psFree(md);
    1609             exit(EXIT_FAILURE);
    1610         }
    1611         if (!psMetadataAddS32(md, PS_LIST_TAIL, "p1_version", 0, NULL, -32)) {
    1612             psFree(md);
    1613             exit(EXIT_FAILURE);
    1614         }
    1615         if (!psMetadataAddS32(md, PS_LIST_TAIL, "p2_version", 0, NULL, -32)) {
    1616             psFree(md);
    1617             exit(EXIT_FAILURE);
    1618         }
    1619 
    1620         object = p2DoneImfileObjectFromMetadata(md);
    1621         if (!object) {
    1622             psFree(md);
    1623             exit(EXIT_FAILURE);
    1624         }
    1625 
    1626         psFree(md);
    1627 
    1628         if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
    1629             psFree(object);
    1630             exit(EXIT_FAILURE);
    1631         }
    1632         if (strncmp(object->class_id, "a string", MAX_STRING_LENGTH)) {
    1633             psFree(object);
    1634             exit(EXIT_FAILURE);
    1635         }
    1636         if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) {
    1637             psFree(object);
    1638             exit(EXIT_FAILURE);
    1639         }
    1640         if (strncmp(object->stats, "a string", MAX_STRING_LENGTH)) {
    1641             psFree(object);
    1642             exit(EXIT_FAILURE);
    1643         }
    1644         if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) {
    1645             psFree(object);
    1646             exit(EXIT_FAILURE);
    1647         }
    1648         if (!object->p1_version == -32) {
    1649             psFree(object);
    1650             exit(EXIT_FAILURE);
    1651         }
    1652         if (!object->p2_version == -32) {
    1653             psFree(object);
    1654             exit(EXIT_FAILURE);
    1655         }
    1656 
    1657         psFree(object);
    1658     }
    1659 
    1660     {
    1661         psMetadata      *md;
    1662         p3PendingExpRow *object;
    1663 
    1664         md = psMetadataAlloc();
    1665         if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, "a string")) {
    1666             psFree(md);
    1667             exit(EXIT_FAILURE);
    1668         }
    1669         if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, "a string")) {
    1670             psFree(md);
    1671             exit(EXIT_FAILURE);
    1672         }
    1673         if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, "a string")) {
    1674             psFree(md);
    1675             exit(EXIT_FAILURE);
    1676         }
    1677         if (!psMetadataAddS32(md, PS_LIST_TAIL, "imfiles", 0, NULL, -32)) {
    1678             psFree(md);
    1679             exit(EXIT_FAILURE);
    1680         }
    1681         if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, "a string")) {
    1682             psFree(md);
    1683             exit(EXIT_FAILURE);
    1684         }
    1685         if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, "a string")) {
    1686             psFree(md);
    1687             exit(EXIT_FAILURE);
    1688         }
    1689         if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, 32.32)) {
    1690             psFree(md);
    1691             exit(EXIT_FAILURE);
    1692         }
    1693         if (!psMetadataAddF32(md, PS_LIST_TAIL, "ra", 0, NULL, 32.32)) {
    1694             psFree(md);
    1695             exit(EXIT_FAILURE);
    1696         }
    1697         if (!psMetadataAddF32(md, PS_LIST_TAIL, "dec", 0, NULL, 32.32)) {
    1698             psFree(md);
    1699             exit(EXIT_FAILURE);
    1700         }
    1701         if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, 32.32)) {
    1702             psFree(md);
    1703             exit(EXIT_FAILURE);
    1704         }
    1705         if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, "a string")) {
    1706             psFree(md);
    1707             exit(EXIT_FAILURE);
    1708         }
    1709         if (!psMetadataAddS32(md, PS_LIST_TAIL, "p2_version", 0, NULL, -32)) {
    1710             psFree(md);
    1711             exit(EXIT_FAILURE);
    1712         }
    1713         if (!psMetadataAddS32(md, PS_LIST_TAIL, "p3_version", 0, NULL, -32)) {
    1714             psFree(md);
    1715             exit(EXIT_FAILURE);
    1716         }
    1717 
    1718         object = p3PendingExpObjectFromMetadata(md);
    1719         if (!object) {
    1720             psFree(md);
    1721             exit(EXIT_FAILURE);
    1722         }
    1723 
    1724         psFree(md);
    1725 
    1726         if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
    1727             psFree(object);
    1728             exit(EXIT_FAILURE);
    1729         }
    1730         if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {
    1731             psFree(object);
    1732             exit(EXIT_FAILURE);
    1733         }
    1734         if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {
    1735             psFree(object);
    1736             exit(EXIT_FAILURE);
    1737         }
    1738         if (!object->imfiles == -32) {
    1739             psFree(object);
    1740             exit(EXIT_FAILURE);
    1741         }
    1742         if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) {
    1743             psFree(object);
    1744             exit(EXIT_FAILURE);
    1745         }
    1746         if (strncmp(object->class, "a string", MAX_STRING_LENGTH)) {
    1747             psFree(object);
    1748             exit(EXIT_FAILURE);
    1749         }
    1750         if (!object->airmass == 32.32) {
    1751             psFree(object);
    1752             exit(EXIT_FAILURE);
    1753         }
    1754         if (!object->ra == 32.32) {
    1755             psFree(object);
    1756             exit(EXIT_FAILURE);
    1757         }
    1758         if (!object->dec == 32.32) {
    1759             psFree(object);
    1760             exit(EXIT_FAILURE);
    1761         }
    1762         if (!object->exp_time == 32.32) {
    1763             psFree(object);
    1764             exit(EXIT_FAILURE);
    1765         }
    1766         if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) {
    1767             psFree(object);
    1768             exit(EXIT_FAILURE);
    1769         }
    1770         if (!object->p2_version == -32) {
    1771             psFree(object);
    1772             exit(EXIT_FAILURE);
    1773         }
    1774         if (!object->p3_version == -32) {
    1775             psFree(object);
    1776             exit(EXIT_FAILURE);
    1777         }
    1778 
    1779         psFree(object);
    1780     }
    1781 
    1782     {
    1783         psMetadata      *md;
    1784         detRunRow       *object;
    1785 
    1786         md = psMetadataAlloc();
    1787         if (!psMetadataAddS32(md, PS_LIST_TAIL, "iteration", 0, NULL, -32)) {
    1788             psFree(md);
    1789             exit(EXIT_FAILURE);
    1790         }
    1791         if (!psMetadataAddStr(md, PS_LIST_TAIL, "det_type", 0, NULL, "a string")) {
    1792             psFree(md);
    1793             exit(EXIT_FAILURE);
    1794         }
    1795 
    1796         object = detRunObjectFromMetadata(md);
    1797         if (!object) {
    1798             psFree(md);
    1799             exit(EXIT_FAILURE);
    1800         }
    1801 
    1802         psFree(md);
    1803 
    1804         if (!object->iteration == -32) {
    1805             psFree(object);
    1806             exit(EXIT_FAILURE);
    1807         }
    1808         if (strncmp(object->det_type, "a string", MAX_STRING_LENGTH)) {
    1809             psFree(object);
    1810             exit(EXIT_FAILURE);
    1811         }
    1812 
    1813         psFree(object);
    1814     }
    1815 
    1816     {
    1817         psMetadata      *md;
    1818         detInputExpRow  *object;
    1819 
    1820         md = psMetadataAlloc();
    1821         if (!psMetadataAddS32(md, PS_LIST_TAIL, "det_id", 0, NULL, -32)) {
    1822             psFree(md);
    1823             exit(EXIT_FAILURE);
    1824         }
    1825         if (!psMetadataAddS32(md, PS_LIST_TAIL, "iteration", 0, NULL, -32)) {
    1826             psFree(md);
    1827             exit(EXIT_FAILURE);
    1828         }
    1829         if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, "a string")) {
    1830             psFree(md);
    1831             exit(EXIT_FAILURE);
    1832         }
    1833         if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, "a string")) {
    1834             psFree(md);
    1835             exit(EXIT_FAILURE);
    1836         }
    1837         if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, "a string")) {
    1838             psFree(md);
    1839             exit(EXIT_FAILURE);
    1840         }
    1841         if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, "a string")) {
    1842             psFree(md);
    1843             exit(EXIT_FAILURE);
    1844         }
    1845         if (!psMetadataAddS32(md, PS_LIST_TAIL, "imfiles", 0, NULL, -32)) {
    1846             psFree(md);
    1847             exit(EXIT_FAILURE);
    1848         }
    1849         if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, "a string")) {
    1850             psFree(md);
    1851             exit(EXIT_FAILURE);
    1852         }
    1853         if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, "a string")) {
    1854             psFree(md);
    1855             exit(EXIT_FAILURE);
    1856         }
    1857         if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, 32.32)) {
    1858             psFree(md);
    1859             exit(EXIT_FAILURE);
    1860         }
    1861         if (!psMetadataAddF32(md, PS_LIST_TAIL, "ra", 0, NULL, 32.32)) {
    1862             psFree(md);
    1863             exit(EXIT_FAILURE);
    1864         }
    1865         if (!psMetadataAddF32(md, PS_LIST_TAIL, "dec", 0, NULL, 32.32)) {
    1866             psFree(md);
    1867             exit(EXIT_FAILURE);
    1868         }
    1869         if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, 32.32)) {
    1870             psFree(md);
    1871             exit(EXIT_FAILURE);
    1872         }
    1873 
    1874         object = detInputExpObjectFromMetadata(md);
    1875         if (!object) {
    1876             psFree(md);
    1877             exit(EXIT_FAILURE);
    1878         }
    1879 
    1880         psFree(md);
    1881 
    1882         if (!object->det_id == -32) {
    1883             psFree(object);
    1884             exit(EXIT_FAILURE);
    1885         }
    1886         if (!object->iteration == -32) {
    1887             psFree(object);
    1888             exit(EXIT_FAILURE);
    1889         }
    1890         if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
    1891             psFree(object);
    1892             exit(EXIT_FAILURE);
    1893         }
    1894         if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {
    1895             psFree(object);
    1896             exit(EXIT_FAILURE);
    1897         }
    1898         if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) {
    1899             psFree(object);
    1900             exit(EXIT_FAILURE);
    1901         }
    1902         if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {
    1903             psFree(object);
    1904             exit(EXIT_FAILURE);
    1905         }
    1906         if (!object->imfiles == -32) {
    1907             psFree(object);
    1908             exit(EXIT_FAILURE);
    1909         }
    1910         if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) {
    1911             psFree(object);
    1912             exit(EXIT_FAILURE);
    1913         }
    1914         if (strncmp(object->class, "a string", MAX_STRING_LENGTH)) {
    1915             psFree(object);
    1916             exit(EXIT_FAILURE);
    1917         }
    1918         if (!object->airmass == 32.32) {
    1919             psFree(object);
    1920             exit(EXIT_FAILURE);
    1921         }
    1922         if (!object->ra == 32.32) {
    1923             psFree(object);
    1924             exit(EXIT_FAILURE);
    1925         }
    1926         if (!object->dec == 32.32) {
    1927             psFree(object);
    1928             exit(EXIT_FAILURE);
    1929         }
    1930         if (!object->exp_time == 32.32) {
     1930        if (!object->background == 64.64) {
    19311931            psFree(object);
    19321932            exit(EXIT_FAILURE);
  • branches/jhoblitt/ippdb/tests/pop.c

    r8079 r8084  
    244244        char            exp_type[256];
    245245        psS32           imfiles;
    246         char            class[256];
    247 
    248         dbh = psDBInit("localhost", "test", NULL, "test");
    249         if (!dbh) {
    250             exit(EXIT_FAILURE);
    251         }
    252 
    253         if (!newExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&class)) {
     246
     247        dbh = psDBInit("localhost", "test", NULL, "test");
     248        if (!dbh) {
     249            exit(EXIT_FAILURE);
     250        }
     251
     252        if (!newExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles)) {
    254253            exit(EXIT_FAILURE);
    255254        }
     
    287286        char            class[256];
    288287        psF32           airmass;
    289         psF32           ra;
    290         psF32           dec;
     288        psF64           ra;
     289        psF64           dec;
    291290        psF32           exp_time;
    292 
    293         dbh = psDBInit("localhost", "test", NULL, "test");
    294         if (!dbh) {
    295             exit(EXIT_FAILURE);
    296         }
    297 
    298         if (!rawDetrendExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&filter, (char **)&class, &airmass, &ra, &dec, &exp_time)) {
     291        psF64           background;
     292
     293        dbh = psDBInit("localhost", "test", NULL, "test");
     294        if (!dbh) {
     295            exit(EXIT_FAILURE);
     296        }
     297
     298        if (!rawDetrendExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&filter, (char **)&class, &airmass, &ra, &dec, &exp_time, &background)) {
    299299            exit(EXIT_FAILURE);
    300300        }
     
    313313        char            class[256];
    314314        psF32           airmass;
    315         psF32           ra;
    316         psF32           dec;
     315        psF64           ra;
     316        psF64           dec;
    317317        psF32           exp_time;
    318 
    319         dbh = psDBInit("localhost", "test", NULL, "test");
    320         if (!dbh) {
    321             exit(EXIT_FAILURE);
    322         }
    323 
    324         if (!rawScienceExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&filter, (char **)&class, &airmass, &ra, &dec, &exp_time)) {
     318        psF64           background;
     319
     320        dbh = psDBInit("localhost", "test", NULL, "test");
     321        if (!dbh) {
     322            exit(EXIT_FAILURE);
     323        }
     324
     325        if (!rawScienceExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&filter, (char **)&class, &airmass, &ra, &dec, &exp_time, &background)) {
    325326            exit(EXIT_FAILURE);
    326327        }
     
    335336        char            class_id[256];
    336337        char            uri[256];
    337         char            stats[256];
    338 
    339         dbh = psDBInit("localhost", "test", NULL, "test");
    340         if (!dbh) {
    341             exit(EXIT_FAILURE);
    342         }
    343 
    344         if (!rawImfilePop(dbh, (char **)&exp_id, (char **)&class, (char **)&class_id, (char **)&uri, (char **)&stats)) {
    345             exit(EXIT_FAILURE);
    346         }
    347 
    348         psDBCleanup(dbh);
    349     }
    350 
    351     {
    352         psDB            *dbh;
    353         char            exp_id[256];
    354         char            camera[256];
    355         char            telescope[256];
    356         char            exp_type[256];
    357         psS32           imfiles;
    358         char            filter[256];
    359         char            class[256];
     338
     339        dbh = psDBInit("localhost", "test", NULL, "test");
     340        if (!dbh) {
     341            exit(EXIT_FAILURE);
     342        }
     343
     344        if (!rawImfilePop(dbh, (char **)&exp_id, (char **)&class, (char **)&class_id, (char **)&uri)) {
     345            exit(EXIT_FAILURE);
     346        }
     347
     348        psDBCleanup(dbh);
     349    }
     350
     351    {
     352        psDB            *dbh;
     353        char            exp_id[256];
     354        char            camera[256];
     355        char            telescope[256];
     356        char            exp_type[256];
     357        psS32           imfiles;
     358        char            filter[256];
     359        psF32           airmass;
     360        psF64           ra;
     361        psF64           dec;
     362        psF32           exp_time;
     363        psF64           background;
     364        char            recipe[256];
     365        psS32           p1_version;
     366
     367        dbh = psDBInit("localhost", "test", NULL, "test");
     368        if (!dbh) {
     369            exit(EXIT_FAILURE);
     370        }
     371
     372        if (!p1PendingExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&filter, &airmass, &ra, &dec, &exp_time, &background, (char **)&recipe, &p1_version)) {
     373            exit(EXIT_FAILURE);
     374        }
     375
     376        psDBCleanup(dbh);
     377    }
     378
     379    {
     380        psDB            *dbh;
     381        char            exp_id[256];
     382        char            camera[256];
     383        char            telescope[256];
     384        char            exp_type[256];
     385        psS32           imfiles;
     386        char            filter[256];
    360387        psF32           airmass;
    361388        psF32           ra;
    362         psF32           dec;
    363         psF32           exp_time;
    364         char            recipe[256];
    365         psS32           p1_version;
    366 
    367         dbh = psDBInit("localhost", "test", NULL, "test");
    368         if (!dbh) {
    369             exit(EXIT_FAILURE);
    370         }
    371 
    372         if (!p1PendingExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&filter, (char **)&class, &airmass, &ra, &dec, &exp_time, (char **)&recipe, &p1_version)) {
    373             exit(EXIT_FAILURE);
    374         }
    375 
    376         psDBCleanup(dbh);
    377     }
    378 
    379     {
    380         psDB            *dbh;
    381         char            exp_id[256];
    382         char            camera[256];
    383         char            telescope[256];
    384         char            exp_type[256];
    385         psS32           imfiles;
    386         char            filter[256];
    387         char            class[256];
    388         psF32           airmass;
    389         psF32           ra;
    390         psF32           dec;
    391         psF32           exp_time;
     389        psF64           dec;
     390        psF64           exp_time;
     391        psF64           background;
    392392        char            recipe[256];
    393393        psS32           p1_version;
     
    399399        }
    400400
    401         if (!p2PendingExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&filter, (char **)&class, &airmass, &ra, &dec, &exp_time, (char **)&recipe, &p1_version, &p2_version)) {
     401        if (!p2PendingExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&filter, &airmass, &ra, &dec, &exp_time, &background, (char **)&recipe, &p1_version, &p2_version)) {
    402402            exit(EXIT_FAILURE);
    403403        }
     
    436436        psS32           imfiles;
    437437        char            filter[256];
    438         char            class[256];
    439438        psF32           airmass;
    440         psF32           ra;
    441         psF32           dec;
     439        psF64           ra;
     440        psF64           dec;
    442441        psF32           exp_time;
     442        psF64           background;
    443443        char            recipe[256];
    444444        psS32           p1_version;
     
    450450        }
    451451
    452         if (!p2DoneExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&filter, (char **)&class, &airmass, &ra, &dec, &exp_time, (char **)&recipe, &p1_version, &p2_version)) {
     452        if (!p2DoneExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&filter, &airmass, &ra, &dec, &exp_time, &background, (char **)&recipe, &p1_version, &p2_version)) {
    453453            exit(EXIT_FAILURE);
    454454        }
     
    486486        psS32           imfiles;
    487487        char            filter[256];
    488         char            class[256];
    489488        psF32           airmass;
    490         psF32           ra;
    491         psF32           dec;
     489        psF64           ra;
     490        psF64           dec;
    492491        psF32           exp_time;
     492        psF64           background;
    493493        char            recipe[256];
    494494        psS32           p2_version;
     
    500500        }
    501501
    502         if (!p3PendingExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&exp_type, &imfiles, (char **)&filter, (char **)&class, &airmass, &ra, &dec, &exp_time, (char **)&recipe, &p2_version, &p3_version)) {
     502        if (!p3PendingExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&exp_type, &imfiles, (char **)&filter, &airmass, &ra, &dec, &exp_time, &background, (char **)&recipe, &p2_version, &p3_version)) {
    503503            exit(EXIT_FAILURE);
    504504        }
     
    534534        psS32           imfiles;
    535535        char            filter[256];
    536         char            class[256];
    537536        psF32           airmass;
    538         psF32           ra;
    539         psF32           dec;
     537        psF64           ra;
     538        psF64           dec;
    540539        psF32           exp_time;
    541 
    542         dbh = psDBInit("localhost", "test", NULL, "test");
    543         if (!dbh) {
    544             exit(EXIT_FAILURE);
    545         }
    546 
    547         if (!detInputExpPop(dbh, &det_id, &iteration, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&filter, (char **)&class, &airmass, &ra, &dec, &exp_time)) {
     540        psF64           background;
     541
     542        dbh = psDBInit("localhost", "test", NULL, "test");
     543        if (!dbh) {
     544            exit(EXIT_FAILURE);
     545        }
     546
     547        if (!detInputExpPop(dbh, &det_id, &iteration, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&filter, &airmass, &ra, &dec, &exp_time, &background)) {
    548548            exit(EXIT_FAILURE);
    549549        }
Note: See TracChangeset for help on using the changeset viewer.