IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 8079


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

VERSION 0.0.7

Location:
branches/jhoblitt/ippdb
Files:
9 edited

Legend:

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

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

    r8054 r8079  
    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)
     5132newExpRow *newExpRowAlloc(const char *exp_id, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *class)
    51335133{
    51345134    newExpRow       *object;
     
    51425142    object->exp_type = psStringCopy(exp_type);
    51435143    object->imfiles = imfiles;
     5144    object->class = psStringCopy(class);
    51445145
    51455146    return object;
     
    51525153    psFree(object->telescope);
    51535154    psFree(object->exp_type);
     5155    psFree(object->class);
    51545156}
    51555157
     
    51905192        return false;
    51915193    }
     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    }
    51925199
    51935200    status = psDBCreateTable(dbh, NEWEXP_TABLE_NAME, md);
     
    52035210}
    52045211
    5205 bool newExpInsert(psDB * dbh, const char *exp_id, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles)
     5212bool newExpInsert(psDB * dbh, const char *exp_id, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *class)
    52065213{
    52075214    psMetadata      *md;
     
    52345241        return false;
    52355242    }
     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    }
    52365248
    52375249    status = psDBInsertOneRow(dbh, NEWEXP_TABLE_NAME, md);
     
    52415253}
    52425254
    5243 bool newExpPop(psDB *dbh, char **exp_id, char **camera, char **telescope, char **exp_type, psS32 *imfiles)
     5255bool newExpPop(psDB *dbh, char **exp_id, char **camera, char **telescope, char **exp_type, psS32 *imfiles, char **class)
    52445256{
    52455257    psArray         *rowSet;
     
    53155327        return false;
    53165328    }
     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    }
    53175335
    53185336    psFree(row);
     
    53235341bool newExpInsertObject(psDB *dbh, newExpRow *object)
    53245342{
    5325     return newExpInsert(dbh, object->exp_id, object->camera, object->telescope, object->exp_type, object->imfiles);
     5343    return newExpInsert(dbh, object->exp_id, object->camera, object->telescope, object->exp_type, object->imfiles, object->class);
    53265344}
    53275345
     
    53335351    char            exp_type[256];
    53345352    psS32           imfiles;
    5335 
    5336     if (!newExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles)) {
     5353    char            class[256];
     5354
     5355    if (!newExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&class)) {
    53375356        psError(PS_ERR_UNKNOWN, false, "failed to pop a database row");
    53385357        return NULL;
    53395358    }
    53405359
    5341     return newExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles);
     5360    return newExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, class);
    53425361}
    53435362
     
    54635482        return NULL;
    54645483    }
     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    }
    54655489
    54665490    return md;
     
    54755499    char            *exp_type;
    54765500    psS32           imfiles;
     5501    char            *class;
    54775502
    54785503    exp_id = psMetadataLookupPtr(&status, md, "exp_id");
     
    55015526        return false;
    55025527    }
    5503 
    5504     return newExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles);
     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);
    55055535}
    55065536psArray *newExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     
    59615991static void rawDetrendExpRowFree(rawDetrendExpRow *object);
    59625992
    5963 rawDetrendExpRow *rawDetrendExpRowAlloc(const char *exp_id, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *filter, const char *stats)
     5993rawDetrendExpRow *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)
    59645994{
    59655995    rawDetrendExpRow *object;
     
    59746004    object->imfiles = imfiles;
    59756005    object->filter = psStringCopy(filter);
    5976     object->stats = psStringCopy(stats);
     6006    object->class = psStringCopy(class);
     6007    object->airmass = airmass;
     6008    object->ra = ra;
     6009    object->dec = dec;
     6010    object->exp_time = exp_time;
    59776011
    59786012    return object;
     
    59866020    psFree(object->exp_type);
    59876021    psFree(object->filter);
    5988     psFree(object->stats);
     6022    psFree(object->class);
    59896023}
    59906024
     
    60306064        return false;
    60316065    }
    6032     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, "255")) {
    6033         psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
     6066    if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, "255")) {
     6067        psError(PS_ERR_UNKNOWN, false, "failed to add item class");
     6068        psFree(md);
     6069        return false;
     6070    }
     6071    if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, 0.0)) {
     6072        psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
     6073        psFree(md);
     6074        return false;
     6075    }
     6076    if (!psMetadataAddF32(md, PS_LIST_TAIL, "ra", 0, NULL, 0.0)) {
     6077        psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
     6078        psFree(md);
     6079        return false;
     6080    }
     6081    if (!psMetadataAddF32(md, PS_LIST_TAIL, "dec", 0, NULL, 0.0)) {
     6082        psError(PS_ERR_UNKNOWN, false, "failed to add item dec");
     6083        psFree(md);
     6084        return false;
     6085    }
     6086    if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, 0.0)) {
     6087        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time");
    60346088        psFree(md);
    60356089        return false;
     
    60486102}
    60496103
    6050 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 *stats)
     6104bool 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)
    60516105{
    60526106    psMetadata      *md;
     
    60846138        return false;
    60856139    }
    6086     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, stats)) {
    6087         psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
     6140    if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, class)) {
     6141        psError(PS_ERR_UNKNOWN, false, "failed to add item class");
     6142        psFree(md);
     6143        return false;
     6144    }
     6145    if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, airmass)) {
     6146        psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
     6147        psFree(md);
     6148        return false;
     6149    }
     6150    if (!psMetadataAddF32(md, PS_LIST_TAIL, "ra", 0, NULL, ra)) {
     6151        psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
     6152        psFree(md);
     6153        return false;
     6154    }
     6155    if (!psMetadataAddF32(md, PS_LIST_TAIL, "dec", 0, NULL, dec)) {
     6156        psError(PS_ERR_UNKNOWN, false, "failed to add item dec");
     6157        psFree(md);
     6158        return false;
     6159    }
     6160    if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, exp_time)) {
     6161        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time");
    60886162        psFree(md);
    60896163        return false;
     
    60966170}
    60976171
    6098 bool rawDetrendExpPop(psDB *dbh, char **exp_id, char **camera, char **telescope, char **exp_type, psS32 *imfiles, char **filter, char **stats)
     6172bool 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)
    60996173{
    61006174    psArray         *rowSet;
     
    61766250        return false;
    61776251    }
    6178     *stats = psMetadataLookupPtr(&status, row, "stats");
    6179     if (!status) {
    6180         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item stats");
     6252    *class = psMetadataLookupPtr(&status, row, "class");
     6253    if (!status) {
     6254        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item class");
     6255        psFree(row);
     6256        return false;
     6257    }
     6258    *airmass = psMetadataLookupF32(&status, row, "airmass");
     6259    if (!status) {
     6260        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item airmass");
     6261        psFree(row);
     6262        return false;
     6263    }
     6264    *ra = psMetadataLookupF32(&status, row, "ra");
     6265    if (!status) {
     6266        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ra");
     6267        psFree(row);
     6268        return false;
     6269    }
     6270    *dec = psMetadataLookupF32(&status, row, "dec");
     6271    if (!status) {
     6272        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item dec");
     6273        psFree(row);
     6274        return false;
     6275    }
     6276    *exp_time = psMetadataLookupF32(&status, row, "exp_time");
     6277    if (!status) {
     6278        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_time");
    61816279        psFree(row);
    61826280        return false;
     
    61906288bool rawDetrendExpInsertObject(psDB *dbh, rawDetrendExpRow *object)
    61916289{
    6192     return rawDetrendExpInsert(dbh, object->exp_id, object->camera, object->telescope, object->exp_type, object->imfiles, object->filter, object->stats);
     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);
    61936291}
    61946292
     
    62016299    psS32           imfiles;
    62026300    char            filter[256];
    6203     char            stats[256];
    6204 
    6205     if (!rawDetrendExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&filter, (char **)&stats)) {
     6301    char            class[256];
     6302    psF32           airmass;
     6303    psF32           ra;
     6304    psF32           dec;
     6305    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)) {
    62066308        psError(PS_ERR_UNKNOWN, false, "failed to pop a database row");
    62076309        return NULL;
    62086310    }
    62096311
    6210     return rawDetrendExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, stats);
     6312    return rawDetrendExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, class, airmass, ra, dec, exp_time);
    62116313}
    62126314
     
    63376439        return NULL;
    63386440    }
    6339     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, object->stats)) {
    6340         psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
     6441    if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, object->class)) {
     6442        psError(PS_ERR_UNKNOWN, false, "failed to add item class");
     6443        psFree(md);
     6444        return NULL;
     6445    }
     6446    if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, object->airmass)) {
     6447        psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
     6448        psFree(md);
     6449        return NULL;
     6450    }
     6451    if (!psMetadataAddF32(md, PS_LIST_TAIL, "ra", 0, NULL, object->ra)) {
     6452        psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
     6453        psFree(md);
     6454        return NULL;
     6455    }
     6456    if (!psMetadataAddF32(md, PS_LIST_TAIL, "dec", 0, NULL, object->dec)) {
     6457        psError(PS_ERR_UNKNOWN, false, "failed to add item dec");
     6458        psFree(md);
     6459        return NULL;
     6460    }
     6461    if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, object->exp_time)) {
     6462        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time");
    63416463        psFree(md);
    63426464        return NULL;
     
    63556477    psS32           imfiles;
    63566478    char            *filter;
    6357     char            *stats;
     6479    char            *class;
     6480    psF32           airmass;
     6481    psF32           ra;
     6482    psF32           dec;
     6483    psF32           exp_time;
    63586484
    63596485    exp_id = psMetadataLookupPtr(&status, md, "exp_id");
     
    63876513        return false;
    63886514    }
    6389     stats = psMetadataLookupPtr(&status, md, "stats");
    6390     if (!status) {
    6391         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item stats");
    6392         return false;
    6393     }
    6394 
    6395     return rawDetrendExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, stats);
     6515    class = psMetadataLookupPtr(&status, md, "class");
     6516    if (!status) {
     6517        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item class");
     6518        return false;
     6519    }
     6520    airmass = psMetadataLookupF32(&status, md, "airmass");
     6521    if (!status) {
     6522        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item airmass");
     6523        return false;
     6524    }
     6525    ra = psMetadataLookupF32(&status, md, "ra");
     6526    if (!status) {
     6527        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ra");
     6528        return false;
     6529    }
     6530    dec = psMetadataLookupF32(&status, md, "dec");
     6531    if (!status) {
     6532        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item dec");
     6533        return false;
     6534    }
     6535    exp_time = psMetadataLookupF32(&status, md, "exp_time");
     6536    if (!status) {
     6537        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_time");
     6538        return false;
     6539    }
     6540
     6541    return rawDetrendExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, class, airmass, ra, dec, exp_time);
    63966542}
    63976543psArray *rawDetrendExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     
    64516597static void rawScienceExpRowFree(rawScienceExpRow *object);
    64526598
    6453 rawScienceExpRow *rawScienceExpRowAlloc(const char *exp_id, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *filter, const char *stats)
     6599rawScienceExpRow *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)
    64546600{
    64556601    rawScienceExpRow *object;
     
    64646610    object->imfiles = imfiles;
    64656611    object->filter = psStringCopy(filter);
    6466     object->stats = psStringCopy(stats);
     6612    object->class = psStringCopy(class);
     6613    object->airmass = airmass;
     6614    object->ra = ra;
     6615    object->dec = dec;
     6616    object->exp_time = exp_time;
    64676617
    64686618    return object;
     
    64766626    psFree(object->exp_type);
    64776627    psFree(object->filter);
    6478     psFree(object->stats);
     6628    psFree(object->class);
    64796629}
    64806630
     
    65206670        return false;
    65216671    }
    6522     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, "255")) {
    6523         psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
     6672    if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, "255")) {
     6673        psError(PS_ERR_UNKNOWN, false, "failed to add item class");
     6674        psFree(md);
     6675        return false;
     6676    }
     6677    if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, 0.0)) {
     6678        psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
     6679        psFree(md);
     6680        return false;
     6681    }
     6682    if (!psMetadataAddF32(md, PS_LIST_TAIL, "ra", 0, NULL, 0.0)) {
     6683        psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
     6684        psFree(md);
     6685        return false;
     6686    }
     6687    if (!psMetadataAddF32(md, PS_LIST_TAIL, "dec", 0, NULL, 0.0)) {
     6688        psError(PS_ERR_UNKNOWN, false, "failed to add item dec");
     6689        psFree(md);
     6690        return false;
     6691    }
     6692    if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, 0.0)) {
     6693        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time");
    65246694        psFree(md);
    65256695        return false;
     
    65386708}
    65396709
    6540 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 *stats)
     6710bool 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)
    65416711{
    65426712    psMetadata      *md;
     
    65746744        return false;
    65756745    }
    6576     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, stats)) {
    6577         psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
     6746    if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, class)) {
     6747        psError(PS_ERR_UNKNOWN, false, "failed to add item class");
     6748        psFree(md);
     6749        return false;
     6750    }
     6751    if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, airmass)) {
     6752        psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
     6753        psFree(md);
     6754        return false;
     6755    }
     6756    if (!psMetadataAddF32(md, PS_LIST_TAIL, "ra", 0, NULL, ra)) {
     6757        psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
     6758        psFree(md);
     6759        return false;
     6760    }
     6761    if (!psMetadataAddF32(md, PS_LIST_TAIL, "dec", 0, NULL, dec)) {
     6762        psError(PS_ERR_UNKNOWN, false, "failed to add item dec");
     6763        psFree(md);
     6764        return false;
     6765    }
     6766    if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, exp_time)) {
     6767        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time");
    65786768        psFree(md);
    65796769        return false;
     
    65866776}
    65876777
    6588 bool rawScienceExpPop(psDB *dbh, char **exp_id, char **camera, char **telescope, char **exp_type, psS32 *imfiles, char **filter, char **stats)
     6778bool 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)
    65896779{
    65906780    psArray         *rowSet;
     
    66666856        return false;
    66676857    }
    6668     *stats = psMetadataLookupPtr(&status, row, "stats");
    6669     if (!status) {
    6670         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item stats");
     6858    *class = psMetadataLookupPtr(&status, row, "class");
     6859    if (!status) {
     6860        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item class");
     6861        psFree(row);
     6862        return false;
     6863    }
     6864    *airmass = psMetadataLookupF32(&status, row, "airmass");
     6865    if (!status) {
     6866        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item airmass");
     6867        psFree(row);
     6868        return false;
     6869    }
     6870    *ra = psMetadataLookupF32(&status, row, "ra");
     6871    if (!status) {
     6872        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ra");
     6873        psFree(row);
     6874        return false;
     6875    }
     6876    *dec = psMetadataLookupF32(&status, row, "dec");
     6877    if (!status) {
     6878        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item dec");
     6879        psFree(row);
     6880        return false;
     6881    }
     6882    *exp_time = psMetadataLookupF32(&status, row, "exp_time");
     6883    if (!status) {
     6884        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_time");
    66716885        psFree(row);
    66726886        return false;
     
    66806894bool rawScienceExpInsertObject(psDB *dbh, rawScienceExpRow *object)
    66816895{
    6682     return rawScienceExpInsert(dbh, object->exp_id, object->camera, object->telescope, object->exp_type, object->imfiles, object->filter, object->stats);
     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);
    66836897}
    66846898
     
    66916905    psS32           imfiles;
    66926906    char            filter[256];
    6693     char            stats[256];
    6694 
    6695     if (!rawScienceExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&filter, (char **)&stats)) {
     6907    char            class[256];
     6908    psF32           airmass;
     6909    psF32           ra;
     6910    psF32           dec;
     6911    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)) {
    66966914        psError(PS_ERR_UNKNOWN, false, "failed to pop a database row");
    66976915        return NULL;
    66986916    }
    66996917
    6700     return rawScienceExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, stats);
     6918    return rawScienceExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, class, airmass, ra, dec, exp_time);
    67016919}
    67026920
     
    68277045        return NULL;
    68287046    }
    6829     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, object->stats)) {
    6830         psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
     7047    if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, object->class)) {
     7048        psError(PS_ERR_UNKNOWN, false, "failed to add item class");
     7049        psFree(md);
     7050        return NULL;
     7051    }
     7052    if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, object->airmass)) {
     7053        psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
     7054        psFree(md);
     7055        return NULL;
     7056    }
     7057    if (!psMetadataAddF32(md, PS_LIST_TAIL, "ra", 0, NULL, object->ra)) {
     7058        psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
     7059        psFree(md);
     7060        return NULL;
     7061    }
     7062    if (!psMetadataAddF32(md, PS_LIST_TAIL, "dec", 0, NULL, object->dec)) {
     7063        psError(PS_ERR_UNKNOWN, false, "failed to add item dec");
     7064        psFree(md);
     7065        return NULL;
     7066    }
     7067    if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, object->exp_time)) {
     7068        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time");
    68317069        psFree(md);
    68327070        return NULL;
     
    68457083    psS32           imfiles;
    68467084    char            *filter;
    6847     char            *stats;
     7085    char            *class;
     7086    psF32           airmass;
     7087    psF32           ra;
     7088    psF32           dec;
     7089    psF32           exp_time;
    68487090
    68497091    exp_id = psMetadataLookupPtr(&status, md, "exp_id");
     
    68777119        return false;
    68787120    }
    6879     stats = psMetadataLookupPtr(&status, md, "stats");
    6880     if (!status) {
    6881         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item stats");
    6882         return false;
    6883     }
    6884 
    6885     return rawScienceExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, stats);
     7121    class = psMetadataLookupPtr(&status, md, "class");
     7122    if (!status) {
     7123        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item class");
     7124        return false;
     7125    }
     7126    airmass = psMetadataLookupF32(&status, md, "airmass");
     7127    if (!status) {
     7128        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item airmass");
     7129        return false;
     7130    }
     7131    ra = psMetadataLookupF32(&status, md, "ra");
     7132    if (!status) {
     7133        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ra");
     7134        return false;
     7135    }
     7136    dec = psMetadataLookupF32(&status, md, "dec");
     7137    if (!status) {
     7138        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item dec");
     7139        return false;
     7140    }
     7141    exp_time = psMetadataLookupF32(&status, md, "exp_time");
     7142    if (!status) {
     7143        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_time");
     7144        return false;
     7145    }
     7146
     7147    return rawScienceExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, class, airmass, ra, dec, exp_time);
    68867148}
    68877149psArray *rawScienceExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     
    73727634static void p1PendingExpRowFree(p1PendingExpRow *object);
    73737635
    7374 p1PendingExpRow *p1PendingExpRowAlloc(const char *exp_id, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *filter, const char *stats, const char *recipe, psS32 p1_version)
     7636p1PendingExpRow *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)
    73757637{
    73767638    p1PendingExpRow *object;
     
    73857647    object->imfiles = imfiles;
    73867648    object->filter = psStringCopy(filter);
    7387     object->stats = psStringCopy(stats);
     7649    object->class = psStringCopy(class);
     7650    object->airmass = airmass;
     7651    object->ra = ra;
     7652    object->dec = dec;
     7653    object->exp_time = exp_time;
    73887654    object->recipe = psStringCopy(recipe);
    73897655    object->p1_version = p1_version;
     
    73997665    psFree(object->exp_type);
    74007666    psFree(object->filter);
    7401     psFree(object->stats);
     7667    psFree(object->class);
    74027668    psFree(object->recipe);
    74037669}
     
    74447710        return false;
    74457711    }
    7446     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, "255")) {
    7447         psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
     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    }
     7717    if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, 0.0)) {
     7718        psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
     7719        psFree(md);
     7720        return false;
     7721    }
     7722    if (!psMetadataAddF32(md, PS_LIST_TAIL, "ra", 0, NULL, 0.0)) {
     7723        psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
     7724        psFree(md);
     7725        return false;
     7726    }
     7727    if (!psMetadataAddF32(md, PS_LIST_TAIL, "dec", 0, NULL, 0.0)) {
     7728        psError(PS_ERR_UNKNOWN, false, "failed to add item dec");
     7729        psFree(md);
     7730        return false;
     7731    }
     7732    if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, 0.0)) {
     7733        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time");
    74487734        psFree(md);
    74497735        return false;
     
    74727758}
    74737759
    7474 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 *stats, const char *recipe, psS32 p1_version)
     7760bool 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)
    74757761{
    74767762    psMetadata      *md;
     
    75087794        return false;
    75097795    }
    7510     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, stats)) {
    7511         psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
     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    }
     7801    if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, airmass)) {
     7802        psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
     7803        psFree(md);
     7804        return false;
     7805    }
     7806    if (!psMetadataAddF32(md, PS_LIST_TAIL, "ra", 0, NULL, ra)) {
     7807        psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
     7808        psFree(md);
     7809        return false;
     7810    }
     7811    if (!psMetadataAddF32(md, PS_LIST_TAIL, "dec", 0, NULL, dec)) {
     7812        psError(PS_ERR_UNKNOWN, false, "failed to add item dec");
     7813        psFree(md);
     7814        return false;
     7815    }
     7816    if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, exp_time)) {
     7817        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time");
    75127818        psFree(md);
    75137819        return false;
     
    75307836}
    75317837
    7532 bool p1PendingExpPop(psDB *dbh, char **exp_id, char **camera, char **telescope, char **exp_type, psS32 *imfiles, char **filter, char **stats, char **recipe, psS32 *p1_version)
     7838bool 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)
    75337839{
    75347840    psArray         *rowSet;
     
    76107916        return false;
    76117917    }
    7612     *stats = psMetadataLookupPtr(&status, row, "stats");
    7613     if (!status) {
    7614         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item stats");
     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    }
     7924    *airmass = psMetadataLookupF32(&status, row, "airmass");
     7925    if (!status) {
     7926        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item airmass");
     7927        psFree(row);
     7928        return false;
     7929    }
     7930    *ra = psMetadataLookupF32(&status, row, "ra");
     7931    if (!status) {
     7932        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ra");
     7933        psFree(row);
     7934        return false;
     7935    }
     7936    *dec = psMetadataLookupF32(&status, row, "dec");
     7937    if (!status) {
     7938        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item dec");
     7939        psFree(row);
     7940        return false;
     7941    }
     7942    *exp_time = psMetadataLookupF32(&status, row, "exp_time");
     7943    if (!status) {
     7944        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_time");
    76157945        psFree(row);
    76167946        return false;
     
    76367966bool p1PendingExpInsertObject(psDB *dbh, p1PendingExpRow *object)
    76377967{
    7638     return p1PendingExpInsert(dbh, object->exp_id, object->camera, object->telescope, object->exp_type, object->imfiles, object->filter, object->stats, object->recipe, object->p1_version);
     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);
    76397969}
    76407970
     
    76477977    psS32           imfiles;
    76487978    char            filter[256];
    7649     char            stats[256];
     7979    char            class[256];
     7980    psF32           airmass;
     7981    psF32           ra;
     7982    psF32           dec;
     7983    psF32           exp_time;
    76507984    char            recipe[256];
    76517985    psS32           p1_version;
    76527986
    7653     if (!p1PendingExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&filter, (char **)&stats, (char **)&recipe, &p1_version)) {
     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)) {
    76547988        psError(PS_ERR_UNKNOWN, false, "failed to pop a database row");
    76557989        return NULL;
    76567990    }
    76577991
    7658     return p1PendingExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, stats, recipe, p1_version);
     7992    return p1PendingExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, class, airmass, ra, dec, exp_time, recipe, p1_version);
    76597993}
    76607994
     
    77858119        return NULL;
    77868120    }
    7787     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, object->stats)) {
    7788         psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
     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    }
     8126    if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, object->airmass)) {
     8127        psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
     8128        psFree(md);
     8129        return NULL;
     8130    }
     8131    if (!psMetadataAddF32(md, PS_LIST_TAIL, "ra", 0, NULL, object->ra)) {
     8132        psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
     8133        psFree(md);
     8134        return NULL;
     8135    }
     8136    if (!psMetadataAddF32(md, PS_LIST_TAIL, "dec", 0, NULL, object->dec)) {
     8137        psError(PS_ERR_UNKNOWN, false, "failed to add item dec");
     8138        psFree(md);
     8139        return NULL;
     8140    }
     8141    if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, object->exp_time)) {
     8142        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time");
    77898143        psFree(md);
    77908144        return NULL;
     
    78138167    psS32           imfiles;
    78148168    char            *filter;
    7815     char            *stats;
     8169    char            *class;
     8170    psF32           airmass;
     8171    psF32           ra;
     8172    psF32           dec;
     8173    psF32           exp_time;
    78168174    char            *recipe;
    78178175    psS32           p1_version;
     
    78478205        return false;
    78488206    }
    7849     stats = psMetadataLookupPtr(&status, md, "stats");
    7850     if (!status) {
    7851         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item stats");
     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    }
     8212    airmass = psMetadataLookupF32(&status, md, "airmass");
     8213    if (!status) {
     8214        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item airmass");
     8215        return false;
     8216    }
     8217    ra = psMetadataLookupF32(&status, md, "ra");
     8218    if (!status) {
     8219        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ra");
     8220        return false;
     8221    }
     8222    dec = psMetadataLookupF32(&status, md, "dec");
     8223    if (!status) {
     8224        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item dec");
     8225        return false;
     8226    }
     8227    exp_time = psMetadataLookupF32(&status, md, "exp_time");
     8228    if (!status) {
     8229        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_time");
    78528230        return false;
    78538231    }
     
    78638241    }
    78648242
    7865     return p1PendingExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, stats, recipe, p1_version);
     8243    return p1PendingExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, class, airmass, ra, dec, exp_time, recipe, p1_version);
    78668244}
    78678245psArray *p1PendingExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     
    79218299static void p2PendingExpRowFree(p2PendingExpRow *object);
    79228300
    7923 p2PendingExpRow *p2PendingExpRowAlloc(const char *exp_id, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *filter, const char *stats, const char *recipe, psS32 p1_version, psS32 p2_version)
     8301p2PendingExpRow *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)
    79248302{
    79258303    p2PendingExpRow *object;
     
    79348312    object->imfiles = imfiles;
    79358313    object->filter = psStringCopy(filter);
    7936     object->stats = psStringCopy(stats);
     8314    object->class = psStringCopy(class);
     8315    object->airmass = airmass;
     8316    object->ra = ra;
     8317    object->dec = dec;
     8318    object->exp_time = exp_time;
    79378319    object->recipe = psStringCopy(recipe);
    79388320    object->p1_version = p1_version;
     
    79498331    psFree(object->exp_type);
    79508332    psFree(object->filter);
    7951     psFree(object->stats);
     8333    psFree(object->class);
    79528334    psFree(object->recipe);
    79538335}
     
    79948376        return false;
    79958377    }
    7996     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, "255")) {
    7997         psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
     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    }
     8383    if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, 0.0)) {
     8384        psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
     8385        psFree(md);
     8386        return false;
     8387    }
     8388    if (!psMetadataAddF32(md, PS_LIST_TAIL, "ra", 0, NULL, 0.0)) {
     8389        psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
     8390        psFree(md);
     8391        return false;
     8392    }
     8393    if (!psMetadataAddF32(md, PS_LIST_TAIL, "dec", 0, NULL, 0.0)) {
     8394        psError(PS_ERR_UNKNOWN, false, "failed to add item dec");
     8395        psFree(md);
     8396        return false;
     8397    }
     8398    if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, 0.0)) {
     8399        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time");
    79988400        psFree(md);
    79998401        return false;
     
    80278429}
    80288430
    8029 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 *stats, const char *recipe, psS32 p1_version, psS32 p2_version)
     8431bool 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)
    80308432{
    80318433    psMetadata      *md;
     
    80638465        return false;
    80648466    }
    8065     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, stats)) {
    8066         psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
     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    }
     8472    if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, airmass)) {
     8473        psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
     8474        psFree(md);
     8475        return false;
     8476    }
     8477    if (!psMetadataAddF32(md, PS_LIST_TAIL, "ra", 0, NULL, ra)) {
     8478        psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
     8479        psFree(md);
     8480        return false;
     8481    }
     8482    if (!psMetadataAddF32(md, PS_LIST_TAIL, "dec", 0, NULL, dec)) {
     8483        psError(PS_ERR_UNKNOWN, false, "failed to add item dec");
     8484        psFree(md);
     8485        return false;
     8486    }
     8487    if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, exp_time)) {
     8488        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time");
    80678489        psFree(md);
    80688490        return false;
     
    80908512}
    80918513
    8092 bool p2PendingExpPop(psDB *dbh, char **exp_id, char **camera, char **telescope, char **exp_type, psS32 *imfiles, char **filter, char **stats, char **recipe, psS32 *p1_version, psS32 *p2_version)
     8514bool 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)
    80938515{
    80948516    psArray         *rowSet;
     
    81708592        return false;
    81718593    }
    8172     *stats = psMetadataLookupPtr(&status, row, "stats");
    8173     if (!status) {
    8174         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item stats");
     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    }
     8600    *airmass = psMetadataLookupF32(&status, row, "airmass");
     8601    if (!status) {
     8602        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item airmass");
     8603        psFree(row);
     8604        return false;
     8605    }
     8606    *ra = psMetadataLookupF32(&status, row, "ra");
     8607    if (!status) {
     8608        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ra");
     8609        psFree(row);
     8610        return false;
     8611    }
     8612    *dec = psMetadataLookupF32(&status, row, "dec");
     8613    if (!status) {
     8614        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item dec");
     8615        psFree(row);
     8616        return false;
     8617    }
     8618    *exp_time = psMetadataLookupF32(&status, row, "exp_time");
     8619    if (!status) {
     8620        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_time");
    81758621        psFree(row);
    81768622        return false;
     
    82028648bool p2PendingExpInsertObject(psDB *dbh, p2PendingExpRow *object)
    82038649{
    8204     return p2PendingExpInsert(dbh, object->exp_id, object->camera, object->telescope, object->exp_type, object->imfiles, object->filter, object->stats, object->recipe, object->p1_version, object->p2_version);
     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);
    82058651}
    82068652
     
    82138659    psS32           imfiles;
    82148660    char            filter[256];
    8215     char            stats[256];
     8661    char            class[256];
     8662    psF32           airmass;
     8663    psF32           ra;
     8664    psF32           dec;
     8665    psF32           exp_time;
    82168666    char            recipe[256];
    82178667    psS32           p1_version;
    82188668    psS32           p2_version;
    82198669
    8220     if (!p2PendingExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&filter, (char **)&stats, (char **)&recipe, &p1_version, &p2_version)) {
     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)) {
    82218671        psError(PS_ERR_UNKNOWN, false, "failed to pop a database row");
    82228672        return NULL;
    82238673    }
    82248674
    8225     return p2PendingExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, stats, recipe, p1_version, p2_version);
     8675    return p2PendingExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, class, airmass, ra, dec, exp_time, recipe, p1_version, p2_version);
    82268676}
    82278677
     
    83528802        return NULL;
    83538803    }
    8354     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, object->stats)) {
    8355         psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
     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    }
     8809    if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, object->airmass)) {
     8810        psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
     8811        psFree(md);
     8812        return NULL;
     8813    }
     8814    if (!psMetadataAddF32(md, PS_LIST_TAIL, "ra", 0, NULL, object->ra)) {
     8815        psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
     8816        psFree(md);
     8817        return NULL;
     8818    }
     8819    if (!psMetadataAddF32(md, PS_LIST_TAIL, "dec", 0, NULL, object->dec)) {
     8820        psError(PS_ERR_UNKNOWN, false, "failed to add item dec");
     8821        psFree(md);
     8822        return NULL;
     8823    }
     8824    if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, object->exp_time)) {
     8825        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time");
    83568826        psFree(md);
    83578827        return NULL;
     
    83858855    psS32           imfiles;
    83868856    char            *filter;
    8387     char            *stats;
     8857    char            *class;
     8858    psF32           airmass;
     8859    psF32           ra;
     8860    psF32           dec;
     8861    psF32           exp_time;
    83888862    char            *recipe;
    83898863    psS32           p1_version;
     
    84208894        return false;
    84218895    }
    8422     stats = psMetadataLookupPtr(&status, md, "stats");
    8423     if (!status) {
    8424         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item stats");
     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    }
     8901    airmass = psMetadataLookupF32(&status, md, "airmass");
     8902    if (!status) {
     8903        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item airmass");
     8904        return false;
     8905    }
     8906    ra = psMetadataLookupF32(&status, md, "ra");
     8907    if (!status) {
     8908        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ra");
     8909        return false;
     8910    }
     8911    dec = psMetadataLookupF32(&status, md, "dec");
     8912    if (!status) {
     8913        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item dec");
     8914        return false;
     8915    }
     8916    exp_time = psMetadataLookupF32(&status, md, "exp_time");
     8917    if (!status) {
     8918        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_time");
    84258919        return false;
    84268920    }
     
    84418935    }
    84428936
    8443     return p2PendingExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, stats, recipe, p1_version, p2_version);
     8937    return p2PendingExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, class, airmass, ra, dec, exp_time, recipe, p1_version, p2_version);
    84448938}
    84458939psArray *p2PendingExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     
    89889482static void p2DoneExpRowFree(p2DoneExpRow *object);
    89899483
    8990 p2DoneExpRow *p2DoneExpRowAlloc(const char *exp_id, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *filter, const char *stats, const char *recipe, psS32 p1_version, psS32 p2_version)
     9484p2DoneExpRow *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)
    89919485{
    89929486    p2DoneExpRow    *object;
     
    90019495    object->imfiles = imfiles;
    90029496    object->filter = psStringCopy(filter);
    9003     object->stats = psStringCopy(stats);
     9497    object->class = psStringCopy(class);
     9498    object->airmass = airmass;
     9499    object->ra = ra;
     9500    object->dec = dec;
     9501    object->exp_time = exp_time;
    90049502    object->recipe = psStringCopy(recipe);
    90059503    object->p1_version = p1_version;
     
    90169514    psFree(object->exp_type);
    90179515    psFree(object->filter);
    9018     psFree(object->stats);
     9516    psFree(object->class);
    90199517    psFree(object->recipe);
    90209518}
     
    90619559        return false;
    90629560    }
    9063     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, "255")) {
    9064         psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
     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    }
     9566    if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, 0.0)) {
     9567        psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
     9568        psFree(md);
     9569        return false;
     9570    }
     9571    if (!psMetadataAddF32(md, PS_LIST_TAIL, "ra", 0, NULL, 0.0)) {
     9572        psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
     9573        psFree(md);
     9574        return false;
     9575    }
     9576    if (!psMetadataAddF32(md, PS_LIST_TAIL, "dec", 0, NULL, 0.0)) {
     9577        psError(PS_ERR_UNKNOWN, false, "failed to add item dec");
     9578        psFree(md);
     9579        return false;
     9580    }
     9581    if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, 0.0)) {
     9582        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time");
    90659583        psFree(md);
    90669584        return false;
     
    90949612}
    90959613
    9096 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 *stats, const char *recipe, psS32 p1_version, psS32 p2_version)
     9614bool 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)
    90979615{
    90989616    psMetadata      *md;
     
    91309648        return false;
    91319649    }
    9132     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, stats)) {
    9133         psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
     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    }
     9655    if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, airmass)) {
     9656        psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
     9657        psFree(md);
     9658        return false;
     9659    }
     9660    if (!psMetadataAddF32(md, PS_LIST_TAIL, "ra", 0, NULL, ra)) {
     9661        psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
     9662        psFree(md);
     9663        return false;
     9664    }
     9665    if (!psMetadataAddF32(md, PS_LIST_TAIL, "dec", 0, NULL, dec)) {
     9666        psError(PS_ERR_UNKNOWN, false, "failed to add item dec");
     9667        psFree(md);
     9668        return false;
     9669    }
     9670    if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, exp_time)) {
     9671        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time");
    91349672        psFree(md);
    91359673        return false;
     
    91579695}
    91589696
    9159 bool p2DoneExpPop(psDB *dbh, char **exp_id, char **camera, char **telescope, char **exp_type, psS32 *imfiles, char **filter, char **stats, char **recipe, psS32 *p1_version, psS32 *p2_version)
     9697bool 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)
    91609698{
    91619699    psArray         *rowSet;
     
    92379775        return false;
    92389776    }
    9239     *stats = psMetadataLookupPtr(&status, row, "stats");
    9240     if (!status) {
    9241         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item stats");
     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    }
     9783    *airmass = psMetadataLookupF32(&status, row, "airmass");
     9784    if (!status) {
     9785        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item airmass");
     9786        psFree(row);
     9787        return false;
     9788    }
     9789    *ra = psMetadataLookupF32(&status, row, "ra");
     9790    if (!status) {
     9791        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ra");
     9792        psFree(row);
     9793        return false;
     9794    }
     9795    *dec = psMetadataLookupF32(&status, row, "dec");
     9796    if (!status) {
     9797        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item dec");
     9798        psFree(row);
     9799        return false;
     9800    }
     9801    *exp_time = psMetadataLookupF32(&status, row, "exp_time");
     9802    if (!status) {
     9803        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_time");
    92429804        psFree(row);
    92439805        return false;
     
    92699831bool p2DoneExpInsertObject(psDB *dbh, p2DoneExpRow *object)
    92709832{
    9271     return p2DoneExpInsert(dbh, object->exp_id, object->camera, object->telescope, object->exp_type, object->imfiles, object->filter, object->stats, object->recipe, object->p1_version, object->p2_version);
     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);
    92729834}
    92739835
     
    92809842    psS32           imfiles;
    92819843    char            filter[256];
    9282     char            stats[256];
     9844    char            class[256];
     9845    psF32           airmass;
     9846    psF32           ra;
     9847    psF32           dec;
     9848    psF32           exp_time;
    92839849    char            recipe[256];
    92849850    psS32           p1_version;
    92859851    psS32           p2_version;
    92869852
    9287     if (!p2DoneExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&filter, (char **)&stats, (char **)&recipe, &p1_version, &p2_version)) {
     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)) {
    92889854        psError(PS_ERR_UNKNOWN, false, "failed to pop a database row");
    92899855        return NULL;
    92909856    }
    92919857
    9292     return p2DoneExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, stats, recipe, p1_version, p2_version);
     9858    return p2DoneExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, class, airmass, ra, dec, exp_time, recipe, p1_version, p2_version);
    92939859}
    92949860
     
    94199985        return NULL;
    94209986    }
    9421     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, object->stats)) {
    9422         psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
     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    }
     9992    if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, object->airmass)) {
     9993        psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
     9994        psFree(md);
     9995        return NULL;
     9996    }
     9997    if (!psMetadataAddF32(md, PS_LIST_TAIL, "ra", 0, NULL, object->ra)) {
     9998        psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
     9999        psFree(md);
     10000        return NULL;
     10001    }
     10002    if (!psMetadataAddF32(md, PS_LIST_TAIL, "dec", 0, NULL, object->dec)) {
     10003        psError(PS_ERR_UNKNOWN, false, "failed to add item dec");
     10004        psFree(md);
     10005        return NULL;
     10006    }
     10007    if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, object->exp_time)) {
     10008        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time");
    942310009        psFree(md);
    942410010        return NULL;
     
    945210038    psS32           imfiles;
    945310039    char            *filter;
    9454     char            *stats;
     10040    char            *class;
     10041    psF32           airmass;
     10042    psF32           ra;
     10043    psF32           dec;
     10044    psF32           exp_time;
    945510045    char            *recipe;
    945610046    psS32           p1_version;
     
    948710077        return false;
    948810078    }
    9489     stats = psMetadataLookupPtr(&status, md, "stats");
    9490     if (!status) {
    9491         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item stats");
     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    }
     10084    airmass = psMetadataLookupF32(&status, md, "airmass");
     10085    if (!status) {
     10086        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item airmass");
     10087        return false;
     10088    }
     10089    ra = psMetadataLookupF32(&status, md, "ra");
     10090    if (!status) {
     10091        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ra");
     10092        return false;
     10093    }
     10094    dec = psMetadataLookupF32(&status, md, "dec");
     10095    if (!status) {
     10096        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item dec");
     10097        return false;
     10098    }
     10099    exp_time = psMetadataLookupF32(&status, md, "exp_time");
     10100    if (!status) {
     10101        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_time");
    949210102        return false;
    949310103    }
     
    950810118    }
    950910119
    9510     return p2DoneExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, stats, recipe, p1_version, p2_version);
     10120    return p2DoneExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, class, airmass, ra, dec, exp_time, recipe, p1_version, p2_version);
    951110121}
    951210122psArray *p2DoneExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     
    1005510665static void p3PendingExpRowFree(p3PendingExpRow *object);
    1005610666
    10057 p3PendingExpRow *p3PendingExpRowAlloc(const char *exp_id, const char *camera, const char *exp_type, psS32 imfiles, const char *filter, const char *stats, const char *recipe, psS32 p2_version, psS32 p3_version)
     10667p3PendingExpRow *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)
    1005810668{
    1005910669    p3PendingExpRow *object;
     
    1006710677    object->imfiles = imfiles;
    1006810678    object->filter = psStringCopy(filter);
    10069     object->stats = psStringCopy(stats);
     10679    object->class = psStringCopy(class);
     10680    object->airmass = airmass;
     10681    object->ra = ra;
     10682    object->dec = dec;
     10683    object->exp_time = exp_time;
    1007010684    object->recipe = psStringCopy(recipe);
    1007110685    object->p2_version = p2_version;
     
    1008110695    psFree(object->exp_type);
    1008210696    psFree(object->filter);
    10083     psFree(object->stats);
     10697    psFree(object->class);
    1008410698    psFree(object->recipe);
    1008510699}
     
    1012110735        return false;
    1012210736    }
    10123     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, "255")) {
    10124         psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
     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    }
     10742    if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, 0.0)) {
     10743        psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
     10744        psFree(md);
     10745        return false;
     10746    }
     10747    if (!psMetadataAddF32(md, PS_LIST_TAIL, "ra", 0, NULL, 0.0)) {
     10748        psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
     10749        psFree(md);
     10750        return false;
     10751    }
     10752    if (!psMetadataAddF32(md, PS_LIST_TAIL, "dec", 0, NULL, 0.0)) {
     10753        psError(PS_ERR_UNKNOWN, false, "failed to add item dec");
     10754        psFree(md);
     10755        return false;
     10756    }
     10757    if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, 0.0)) {
     10758        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time");
    1012510759        psFree(md);
    1012610760        return false;
     
    1015410788}
    1015510789
    10156 bool p3PendingExpInsert(psDB * dbh, const char *exp_id, const char *camera, const char *exp_type, psS32 imfiles, const char *filter, const char *stats, const char *recipe, psS32 p2_version, psS32 p3_version)
     10790bool 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)
    1015710791{
    1015810792    psMetadata      *md;
     
    1018510819        return false;
    1018610820    }
    10187     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, stats)) {
    10188         psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
     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    }
     10826    if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, airmass)) {
     10827        psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
     10828        psFree(md);
     10829        return false;
     10830    }
     10831    if (!psMetadataAddF32(md, PS_LIST_TAIL, "ra", 0, NULL, ra)) {
     10832        psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
     10833        psFree(md);
     10834        return false;
     10835    }
     10836    if (!psMetadataAddF32(md, PS_LIST_TAIL, "dec", 0, NULL, dec)) {
     10837        psError(PS_ERR_UNKNOWN, false, "failed to add item dec");
     10838        psFree(md);
     10839        return false;
     10840    }
     10841    if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, exp_time)) {
     10842        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time");
    1018910843        psFree(md);
    1019010844        return false;
     
    1021210866}
    1021310867
    10214 bool p3PendingExpPop(psDB *dbh, char **exp_id, char **camera, char **exp_type, psS32 *imfiles, char **filter, char **stats, char **recipe, psS32 *p2_version, psS32 *p3_version)
     10868bool 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)
    1021510869{
    1021610870    psArray         *rowSet;
     
    1028610940        return false;
    1028710941    }
    10288     *stats = psMetadataLookupPtr(&status, row, "stats");
    10289     if (!status) {
    10290         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item stats");
     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    }
     10948    *airmass = psMetadataLookupF32(&status, row, "airmass");
     10949    if (!status) {
     10950        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item airmass");
     10951        psFree(row);
     10952        return false;
     10953    }
     10954    *ra = psMetadataLookupF32(&status, row, "ra");
     10955    if (!status) {
     10956        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ra");
     10957        psFree(row);
     10958        return false;
     10959    }
     10960    *dec = psMetadataLookupF32(&status, row, "dec");
     10961    if (!status) {
     10962        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item dec");
     10963        psFree(row);
     10964        return false;
     10965    }
     10966    *exp_time = psMetadataLookupF32(&status, row, "exp_time");
     10967    if (!status) {
     10968        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_time");
    1029110969        psFree(row);
    1029210970        return false;
     
    1031810996bool p3PendingExpInsertObject(psDB *dbh, p3PendingExpRow *object)
    1031910997{
    10320     return p3PendingExpInsert(dbh, object->exp_id, object->camera, object->exp_type, object->imfiles, object->filter, object->stats, object->recipe, object->p2_version, object->p3_version);
     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);
    1032110999}
    1032211000
     
    1032811006    psS32           imfiles;
    1032911007    char            filter[256];
    10330     char            stats[256];
     11008    char            class[256];
     11009    psF32           airmass;
     11010    psF32           ra;
     11011    psF32           dec;
     11012    psF32           exp_time;
    1033111013    char            recipe[256];
    1033211014    psS32           p2_version;
    1033311015    psS32           p3_version;
    1033411016
    10335     if (!p3PendingExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&exp_type, &imfiles, (char **)&filter, (char **)&stats, (char **)&recipe, &p2_version, &p3_version)) {
     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)) {
    1033611018        psError(PS_ERR_UNKNOWN, false, "failed to pop a database row");
    1033711019        return NULL;
    1033811020    }
    1033911021
    10340     return p3PendingExpRowAlloc(exp_id, camera, exp_type, imfiles, filter, stats, recipe, p2_version, p3_version);
     11022    return p3PendingExpRowAlloc(exp_id, camera, exp_type, imfiles, filter, class, airmass, ra, dec, exp_time, recipe, p2_version, p3_version);
    1034111023}
    1034211024
     
    1046211144        return NULL;
    1046311145    }
    10464     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, object->stats)) {
    10465         psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
     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    }
     11151    if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, object->airmass)) {
     11152        psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
     11153        psFree(md);
     11154        return NULL;
     11155    }
     11156    if (!psMetadataAddF32(md, PS_LIST_TAIL, "ra", 0, NULL, object->ra)) {
     11157        psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
     11158        psFree(md);
     11159        return NULL;
     11160    }
     11161    if (!psMetadataAddF32(md, PS_LIST_TAIL, "dec", 0, NULL, object->dec)) {
     11162        psError(PS_ERR_UNKNOWN, false, "failed to add item dec");
     11163        psFree(md);
     11164        return NULL;
     11165    }
     11166    if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, object->exp_time)) {
     11167        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time");
    1046611168        psFree(md);
    1046711169        return NULL;
     
    1049411196    psS32           imfiles;
    1049511197    char            *filter;
    10496     char            *stats;
     11198    char            *class;
     11199    psF32           airmass;
     11200    psF32           ra;
     11201    psF32           dec;
     11202    psF32           exp_time;
    1049711203    char            *recipe;
    1049811204    psS32           p2_version;
     
    1052411230        return false;
    1052511231    }
    10526     stats = psMetadataLookupPtr(&status, md, "stats");
    10527     if (!status) {
    10528         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item stats");
     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    }
     11237    airmass = psMetadataLookupF32(&status, md, "airmass");
     11238    if (!status) {
     11239        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item airmass");
     11240        return false;
     11241    }
     11242    ra = psMetadataLookupF32(&status, md, "ra");
     11243    if (!status) {
     11244        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ra");
     11245        return false;
     11246    }
     11247    dec = psMetadataLookupF32(&status, md, "dec");
     11248    if (!status) {
     11249        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item dec");
     11250        return false;
     11251    }
     11252    exp_time = psMetadataLookupF32(&status, md, "exp_time");
     11253    if (!status) {
     11254        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_time");
    1052911255        return false;
    1053011256    }
     
    1054511271    }
    1054611272
    10547     return p3PendingExpRowAlloc(exp_id, camera, exp_type, imfiles, filter, stats, recipe, p2_version, p3_version);
     11273    return p3PendingExpRowAlloc(exp_id, camera, exp_type, imfiles, filter, class, airmass, ra, dec, exp_time, recipe, p2_version, p3_version);
    1054811274}
    1054911275psArray *p3PendingExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     
    1094311669static void detInputExpRowFree(detInputExpRow *object);
    1094411670
    10945 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 *stats)
     11671detInputExpRow *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)
    1094611672{
    1094711673    detInputExpRow  *object;
     
    1095811684    object->imfiles = imfiles;
    1095911685    object->filter = psStringCopy(filter);
    10960     object->stats = psStringCopy(stats);
     11686    object->class = psStringCopy(class);
     11687    object->airmass = airmass;
     11688    object->ra = ra;
     11689    object->dec = dec;
     11690    object->exp_time = exp_time;
    1096111691
    1096211692    return object;
     
    1097011700    psFree(object->exp_type);
    1097111701    psFree(object->filter);
    10972     psFree(object->stats);
     11702    psFree(object->class);
    1097311703}
    1097411704
     
    1102411754        return false;
    1102511755    }
    11026     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, "255")) {
    11027         psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
     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    }
     11761    if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, 0.0)) {
     11762        psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
     11763        psFree(md);
     11764        return false;
     11765    }
     11766    if (!psMetadataAddF32(md, PS_LIST_TAIL, "ra", 0, NULL, 0.0)) {
     11767        psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
     11768        psFree(md);
     11769        return false;
     11770    }
     11771    if (!psMetadataAddF32(md, PS_LIST_TAIL, "dec", 0, NULL, 0.0)) {
     11772        psError(PS_ERR_UNKNOWN, false, "failed to add item dec");
     11773        psFree(md);
     11774        return false;
     11775    }
     11776    if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, 0.0)) {
     11777        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time");
    1102811778        psFree(md);
    1102911779        return false;
     
    1104211792}
    1104311793
    11044 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 *stats)
     11794bool 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)
    1104511795{
    1104611796    psMetadata      *md;
     
    1108811838        return false;
    1108911839    }
    11090     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, stats)) {
    11091         psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
     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    }
     11845    if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, airmass)) {
     11846        psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
     11847        psFree(md);
     11848        return false;
     11849    }
     11850    if (!psMetadataAddF32(md, PS_LIST_TAIL, "ra", 0, NULL, ra)) {
     11851        psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
     11852        psFree(md);
     11853        return false;
     11854    }
     11855    if (!psMetadataAddF32(md, PS_LIST_TAIL, "dec", 0, NULL, dec)) {
     11856        psError(PS_ERR_UNKNOWN, false, "failed to add item dec");
     11857        psFree(md);
     11858        return false;
     11859    }
     11860    if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, exp_time)) {
     11861        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time");
    1109211862        psFree(md);
    1109311863        return false;
     
    1110011870}
    1110111871
    11102 bool detInputExpPop(psDB *dbh, psS32 *det_id, psS32 *iteration, char **exp_id, char **camera, char **telescope, char **exp_type, psS32 *imfiles, char **filter, char **stats)
     11872bool 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)
    1110311873{
    1110411874    psArray         *rowSet;
     
    1119211962        return false;
    1119311963    }
    11194     *stats = psMetadataLookupPtr(&status, row, "stats");
    11195     if (!status) {
    11196         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item stats");
     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    }
     11970    *airmass = psMetadataLookupF32(&status, row, "airmass");
     11971    if (!status) {
     11972        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item airmass");
     11973        psFree(row);
     11974        return false;
     11975    }
     11976    *ra = psMetadataLookupF32(&status, row, "ra");
     11977    if (!status) {
     11978        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ra");
     11979        psFree(row);
     11980        return false;
     11981    }
     11982    *dec = psMetadataLookupF32(&status, row, "dec");
     11983    if (!status) {
     11984        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item dec");
     11985        psFree(row);
     11986        return false;
     11987    }
     11988    *exp_time = psMetadataLookupF32(&status, row, "exp_time");
     11989    if (!status) {
     11990        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_time");
    1119711991        psFree(row);
    1119811992        return false;
     
    1120612000bool detInputExpInsertObject(psDB *dbh, detInputExpRow *object)
    1120712001{
    11208     return detInputExpInsert(dbh, object->det_id, object->iteration, object->exp_id, object->camera, object->telescope, object->exp_type, object->imfiles, object->filter, object->stats);
     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);
    1120912003}
    1121012004
     
    1121912013    psS32           imfiles;
    1122012014    char            filter[256];
    11221     char            stats[256];
    11222 
    11223     if (!detInputExpPop(dbh, &det_id, &iteration, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&filter, (char **)&stats)) {
     12015    char            class[256];
     12016    psF32           airmass;
     12017    psF32           ra;
     12018    psF32           dec;
     12019    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)) {
    1122412022        psError(PS_ERR_UNKNOWN, false, "failed to pop a database row");
    1122512023        return NULL;
    1122612024    }
    1122712025
    11228     return detInputExpRowAlloc(det_id, iteration, exp_id, camera, telescope, exp_type, imfiles, filter, stats);
     12026    return detInputExpRowAlloc(det_id, iteration, exp_id, camera, telescope, exp_type, imfiles, filter, class, airmass, ra, dec, exp_time);
    1122912027}
    1123012028
     
    1136512163        return NULL;
    1136612164    }
    11367     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, object->stats)) {
    11368         psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
     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    }
     12170    if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, object->airmass)) {
     12171        psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
     12172        psFree(md);
     12173        return NULL;
     12174    }
     12175    if (!psMetadataAddF32(md, PS_LIST_TAIL, "ra", 0, NULL, object->ra)) {
     12176        psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
     12177        psFree(md);
     12178        return NULL;
     12179    }
     12180    if (!psMetadataAddF32(md, PS_LIST_TAIL, "dec", 0, NULL, object->dec)) {
     12181        psError(PS_ERR_UNKNOWN, false, "failed to add item dec");
     12182        psFree(md);
     12183        return NULL;
     12184    }
     12185    if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, object->exp_time)) {
     12186        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time");
    1136912187        psFree(md);
    1137012188        return NULL;
     
    1138512203    psS32           imfiles;
    1138612204    char            *filter;
    11387     char            *stats;
     12205    char            *class;
     12206    psF32           airmass;
     12207    psF32           ra;
     12208    psF32           dec;
     12209    psF32           exp_time;
    1138812210
    1138912211    det_id = psMetadataLookupS32(&status, md, "det_id");
     
    1142712249        return false;
    1142812250    }
    11429     stats = psMetadataLookupPtr(&status, md, "stats");
    11430     if (!status) {
    11431         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item stats");
    11432         return false;
    11433     }
    11434 
    11435     return detInputExpRowAlloc(det_id, iteration, exp_id, camera, telescope, exp_type, imfiles, filter, stats);
     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    }
     12256    airmass = psMetadataLookupF32(&status, md, "airmass");
     12257    if (!status) {
     12258        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item airmass");
     12259        return false;
     12260    }
     12261    ra = psMetadataLookupF32(&status, md, "ra");
     12262    if (!status) {
     12263        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ra");
     12264        return false;
     12265    }
     12266    dec = psMetadataLookupF32(&status, md, "dec");
     12267    if (!status) {
     12268        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item dec");
     12269        return false;
     12270    }
     12271    exp_time = psMetadataLookupF32(&status, md, "exp_time");
     12272    if (!status) {
     12273        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_time");
     12274        return false;
     12275    }
     12276
     12277    return detInputExpRowAlloc(det_id, iteration, exp_id, camera, telescope, exp_type, imfiles, filter, class, airmass, ra, dec, exp_time);
    1143612278}
    1143712279psArray *detInputExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
  • branches/jhoblitt/ippdb/src/ippdb.h

    r8026 r8079  
    21032103    char            *exp_type;
    21042104    psS32           imfiles;
     2105    char            *class;
    21052106} newExpRow;
    21062107
     
    21152116    const char      *telescope,
    21162117    const char      *exp_type,
    2117     psS32           imfiles
     2118    psS32           imfiles,
     2119    const char      *class
    21182120);
    21192121
     
    21492151    const char      *telescope,
    21502152    const char      *exp_type,
    2151     psS32           imfiles
     2153    psS32           imfiles,
     2154    const char      *class
    21522155);
    21532156
     
    21632166    char            **telescope,
    21642167    char            **exp_type,
    2165     psS32           *imfiles
     2168    psS32           *imfiles,
     2169    char            **class
    21662170);
    21672171
     
    24662470    psS32           imfiles;
    24672471    char            *filter;
    2468     char            *stats;
     2472    char            *class;
     2473    psF32           airmass;
     2474    psF32           ra;
     2475    psF32           dec;
     2476    psF32           exp_time;
    24692477} rawDetrendExpRow;
    24702478
     
    24812489    psS32           imfiles,
    24822490    const char      *filter,
    2483     const char      *stats
     2491    const char      *class,
     2492    psF32           airmass,
     2493    psF32           ra,
     2494    psF32           dec,
     2495    psF32           exp_time
    24842496);
    24852497
     
    25172529    psS32           imfiles,
    25182530    const char      *filter,
    2519     const char      *stats
     2531    const char      *class,
     2532    psF32           airmass,
     2533    psF32           ra,
     2534    psF32           dec,
     2535    psF32           exp_time
    25202536);
    25212537
     
    25332549    psS32           *imfiles,
    25342550    char            **filter,
    2535     char            **stats
     2551    char            **class,
     2552    psF32           *airmass,
     2553    psF32           *ra,
     2554    psF32           *dec,
     2555    psF32           *exp_time
    25362556);
    25372557
     
    26572677    psS32           imfiles;
    26582678    char            *filter;
    2659     char            *stats;
     2679    char            *class;
     2680    psF32           airmass;
     2681    psF32           ra;
     2682    psF32           dec;
     2683    psF32           exp_time;
    26602684} rawScienceExpRow;
    26612685
     
    26722696    psS32           imfiles,
    26732697    const char      *filter,
    2674     const char      *stats
     2698    const char      *class,
     2699    psF32           airmass,
     2700    psF32           ra,
     2701    psF32           dec,
     2702    psF32           exp_time
    26752703);
    26762704
     
    27082736    psS32           imfiles,
    27092737    const char      *filter,
    2710     const char      *stats
     2738    const char      *class,
     2739    psF32           airmass,
     2740    psF32           ra,
     2741    psF32           dec,
     2742    psF32           exp_time
    27112743);
    27122744
     
    27242756    psS32           *imfiles,
    27252757    char            **filter,
    2726     char            **stats
     2758    char            **class,
     2759    psF32           *airmass,
     2760    psF32           *ra,
     2761    psF32           *dec,
     2762    psF32           *exp_time
    27272763);
    27282764
     
    30313067    psS32           imfiles;
    30323068    char            *filter;
    3033     char            *stats;
     3069    char            *class;
     3070    psF32           airmass;
     3071    psF32           ra;
     3072    psF32           dec;
     3073    psF32           exp_time;
    30343074    char            *recipe;
    30353075    psS32           p1_version;
     
    30483088    psS32           imfiles,
    30493089    const char      *filter,
    3050     const char      *stats,
     3090    const char      *class,
     3091    psF32           airmass,
     3092    psF32           ra,
     3093    psF32           dec,
     3094    psF32           exp_time,
    30513095    const char      *recipe,
    30523096    psS32           p1_version
     
    30863130    psS32           imfiles,
    30873131    const char      *filter,
    3088     const char      *stats,
     3132    const char      *class,
     3133    psF32           airmass,
     3134    psF32           ra,
     3135    psF32           dec,
     3136    psF32           exp_time,
    30893137    const char      *recipe,
    30903138    psS32           p1_version
     
    31043152    psS32           *imfiles,
    31053153    char            **filter,
    3106     char            **stats,
     3154    char            **class,
     3155    psF32           *airmass,
     3156    psF32           *ra,
     3157    psF32           *dec,
     3158    psF32           *exp_time,
    31073159    char            **recipe,
    31083160    psS32           *p1_version
     
    32303282    psS32           imfiles;
    32313283    char            *filter;
    3232     char            *stats;
     3284    char            *class;
     3285    psF32           airmass;
     3286    psF32           ra;
     3287    psF32           dec;
     3288    psF32           exp_time;
    32333289    char            *recipe;
    32343290    psS32           p1_version;
     
    32483304    psS32           imfiles,
    32493305    const char      *filter,
    3250     const char      *stats,
     3306    const char      *class,
     3307    psF32           airmass,
     3308    psF32           ra,
     3309    psF32           dec,
     3310    psF32           exp_time,
    32513311    const char      *recipe,
    32523312    psS32           p1_version,
     
    32873347    psS32           imfiles,
    32883348    const char      *filter,
    3289     const char      *stats,
     3349    const char      *class,
     3350    psF32           airmass,
     3351    psF32           ra,
     3352    psF32           dec,
     3353    psF32           exp_time,
    32903354    const char      *recipe,
    32913355    psS32           p1_version,
     
    33063370    psS32           *imfiles,
    33073371    char            **filter,
    3308     char            **stats,
     3372    char            **class,
     3373    psF32           *airmass,
     3374    psF32           *ra,
     3375    psF32           *dec,
     3376    psF32           *exp_time,
    33093377    char            **recipe,
    33103378    psS32           *p1_version,
     
    36243692    psS32           imfiles;
    36253693    char            *filter;
    3626     char            *stats;
     3694    char            *class;
     3695    psF32           airmass;
     3696    psF32           ra;
     3697    psF32           dec;
     3698    psF32           exp_time;
    36273699    char            *recipe;
    36283700    psS32           p1_version;
     
    36423714    psS32           imfiles,
    36433715    const char      *filter,
    3644     const char      *stats,
     3716    const char      *class,
     3717    psF32           airmass,
     3718    psF32           ra,
     3719    psF32           dec,
     3720    psF32           exp_time,
    36453721    const char      *recipe,
    36463722    psS32           p1_version,
     
    36813757    psS32           imfiles,
    36823758    const char      *filter,
    3683     const char      *stats,
     3759    const char      *class,
     3760    psF32           airmass,
     3761    psF32           ra,
     3762    psF32           dec,
     3763    psF32           exp_time,
    36843764    const char      *recipe,
    36853765    psS32           p1_version,
     
    37003780    psS32           *imfiles,
    37013781    char            **filter,
    3702     char            **stats,
     3782    char            **class,
     3783    psF32           *airmass,
     3784    psF32           *ra,
     3785    psF32           *dec,
     3786    psF32           *exp_time,
    37033787    char            **recipe,
    37043788    psS32           *p1_version,
     
    40174101    psS32           imfiles;
    40184102    char            *filter;
    4019     char            *stats;
     4103    char            *class;
     4104    psF32           airmass;
     4105    psF32           ra;
     4106    psF32           dec;
     4107    psF32           exp_time;
    40204108    char            *recipe;
    40214109    psS32           p2_version;
     
    40344122    psS32           imfiles,
    40354123    const char      *filter,
    4036     const char      *stats,
     4124    const char      *class,
     4125    psF32           airmass,
     4126    psF32           ra,
     4127    psF32           dec,
     4128    psF32           exp_time,
    40374129    const char      *recipe,
    40384130    psS32           p2_version,
     
    40724164    psS32           imfiles,
    40734165    const char      *filter,
    4074     const char      *stats,
     4166    const char      *class,
     4167    psF32           airmass,
     4168    psF32           ra,
     4169    psF32           dec,
     4170    psF32           exp_time,
    40754171    const char      *recipe,
    40764172    psS32           p2_version,
     
    40904186    psS32           *imfiles,
    40914187    char            **filter,
    4092     char            **stats,
     4188    char            **class,
     4189    psF32           *airmass,
     4190    psF32           *ra,
     4191    psF32           *dec,
     4192    psF32           *exp_time,
    40934193    char            **recipe,
    40944194    psS32           *p2_version,
     
    43904490    psS32           imfiles;
    43914491    char            *filter;
    4392     char            *stats;
     4492    char            *class;
     4493    psF32           airmass;
     4494    psF32           ra;
     4495    psF32           dec;
     4496    psF32           exp_time;
    43934497} detInputExpRow;
    43944498
     
    44074511    psS32           imfiles,
    44084512    const char      *filter,
    4409     const char      *stats
     4513    const char      *class,
     4514    psF32           airmass,
     4515    psF32           ra,
     4516    psF32           dec,
     4517    psF32           exp_time
    44104518);
    44114519
     
    44454553    psS32           imfiles,
    44464554    const char      *filter,
    4447     const char      *stats
     4555    const char      *class,
     4556    psF32           airmass,
     4557    psF32           ra,
     4558    psF32           dec,
     4559    psF32           exp_time
    44484560);
    44494561
     
    44634575    psS32           *imfiles,
    44644576    char            **filter,
    4465     char            **stats
     4577    char            **class,
     4578    psF32           *airmass,
     4579    psF32           *ra,
     4580    psF32           *dec,
     4581    psF32           *exp_time
    44664582);
    44674583
  • branches/jhoblitt/ippdb/tests/alloc.c

    r8026 r8079  
    421421        newExpRow       *object;
    422422
    423         object = newExpRowAlloc("a string", "a string", "a string", "a string", -32    );
     423        object = newExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string"    );
    424424
    425425        if (!object) {
     
    447447            exit(EXIT_FAILURE);
    448448        }
     449        if (strncmp(object->class, "a string", MAX_STRING_LENGTH)) {
     450            psFree(object);
     451            exit(EXIT_FAILURE);
     452        }
    449453
    450454        psFree(object);
     
    483487        rawDetrendExpRow *object;
    484488
    485         object = rawDetrendExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", "a string"    );
     489        object = rawDetrendExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", "a string", 32.32, 32.32, 32.32, 32.32    );
    486490
    487491        if (!object) {
     
    513517            exit(EXIT_FAILURE);
    514518        }
     519        if (strncmp(object->class, "a string", MAX_STRING_LENGTH)) {
     520            psFree(object);
     521            exit(EXIT_FAILURE);
     522        }
     523        if (!object->airmass == 32.32) {
     524            psFree(object);
     525            exit(EXIT_FAILURE);
     526        }
     527        if (!object->ra == 32.32) {
     528            psFree(object);
     529            exit(EXIT_FAILURE);
     530        }
     531        if (!object->dec == 32.32) {
     532            psFree(object);
     533            exit(EXIT_FAILURE);
     534        }
     535        if (!object->exp_time == 32.32) {
     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, 32.32, 32.32, 32.32    );
     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 == 32.32) {
     585            psFree(object);
     586            exit(EXIT_FAILURE);
     587        }
     588        if (!object->dec == 32.32) {
     589            psFree(object);
     590            exit(EXIT_FAILURE);
     591        }
     592        if (!object->exp_time == 32.32) {
     593            psFree(object);
     594            exit(EXIT_FAILURE);
     595        }
     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        }
    515625        if (strncmp(object->stats, "a string", MAX_STRING_LENGTH)) {
    516626            psFree(object);
     
    522632
    523633    {
    524         rawScienceExpRow *object;
    525 
    526         object = rawScienceExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", "a string"    );
     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    );
    527637
    528638        if (!object) {
     
    554664            exit(EXIT_FAILURE);
    555665        }
     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        }
    556788        if (strncmp(object->stats, "a string", MAX_STRING_LENGTH)) {
    557789            psFree(object);
    558790            exit(EXIT_FAILURE);
    559791        }
    560 
    561         psFree(object);
    562     }
    563 
    564     {
    565         rawImfileRow    *object;
    566 
    567         object = rawImfileRowAlloc("a string", "a string", "a string", "a string", "a string"    );
    568 
    569         if (!object) {
    570             exit(EXIT_FAILURE);
    571         }
    572 
    573         if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
     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)) {
    574838            psFree(object);
    575839            exit(EXIT_FAILURE);
     
    579843            exit(EXIT_FAILURE);
    580844        }
     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        }
    581890        if (strncmp(object->class_id, "a string", MAX_STRING_LENGTH)) {
    582891            psFree(object);
     
    591900            exit(EXIT_FAILURE);
    592901        }
    593 
    594         psFree(object);
    595     }
    596 
    597     {
    598         p1PendingExpRow *object;
    599 
    600         object = p1PendingExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", "a string", "a string", -32    );
     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    );
    601922
    602923        if (!object) {
     
    612933            exit(EXIT_FAILURE);
    613934        }
     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        }
    6141029        if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) {
    6151030            psFree(object);
     
    6281043            exit(EXIT_FAILURE);
    6291044        }
    630         if (strncmp(object->stats, "a string", MAX_STRING_LENGTH)) {
    631             psFree(object);
    632             exit(EXIT_FAILURE);
    633         }
    634         if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) {
    635             psFree(object);
    636             exit(EXIT_FAILURE);
    637         }
    638         if (!object->p1_version == -32) {
    639             psFree(object);
    640             exit(EXIT_FAILURE);
    641         }
    642 
    643         psFree(object);
    644     }
    645 
    646     {
    647         p2PendingExpRow *object;
    648 
    649         object = p2PendingExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", "a string", "a string", -32, -32    );
    650 
    651         if (!object) {
    652             exit(EXIT_FAILURE);
    653         }
    654 
    655         if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
    656             psFree(object);
    657             exit(EXIT_FAILURE);
    658         }
    659         if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {
    660             psFree(object);
    661             exit(EXIT_FAILURE);
    662         }
    663         if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) {
    664             psFree(object);
    665             exit(EXIT_FAILURE);
    666         }
    667         if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {
    668             psFree(object);
    669             exit(EXIT_FAILURE);
    670         }
    671         if (!object->imfiles == -32) {
    672             psFree(object);
    673             exit(EXIT_FAILURE);
    674         }
    675         if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) {
    676             psFree(object);
    677             exit(EXIT_FAILURE);
    678         }
    679         if (strncmp(object->stats, "a string", MAX_STRING_LENGTH)) {
    680             psFree(object);
    681             exit(EXIT_FAILURE);
    682         }
    683         if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) {
    684             psFree(object);
    685             exit(EXIT_FAILURE);
    686         }
    687         if (!object->p1_version == -32) {
    688             psFree(object);
    689             exit(EXIT_FAILURE);
    690         }
    691         if (!object->p2_version == -32) {
    692             psFree(object);
    693             exit(EXIT_FAILURE);
    694         }
    695 
    696         psFree(object);
    697     }
    698 
    699     {
    700         p2PendingImfileRow *object;
    701 
    702         object = p2PendingImfileRowAlloc("a string", "a string", "a string", "a string", "a string", -32, -32    );
    703 
    704         if (!object) {
    705             exit(EXIT_FAILURE);
    706         }
    707 
    708         if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
    709             psFree(object);
    710             exit(EXIT_FAILURE);
    711         }
    712         if (strncmp(object->class_id, "a string", MAX_STRING_LENGTH)) {
    713             psFree(object);
    714             exit(EXIT_FAILURE);
    715         }
    716         if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) {
    717             psFree(object);
    718             exit(EXIT_FAILURE);
    719         }
    720         if (strncmp(object->stats, "a string", MAX_STRING_LENGTH)) {
    721             psFree(object);
    722             exit(EXIT_FAILURE);
    723         }
    724         if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) {
    725             psFree(object);
    726             exit(EXIT_FAILURE);
    727         }
    728         if (!object->p1_version == -32) {
    729             psFree(object);
    730             exit(EXIT_FAILURE);
    731         }
    732         if (!object->p2_version == -32) {
    733             psFree(object);
    734             exit(EXIT_FAILURE);
    735         }
    736 
    737         psFree(object);
    738     }
    739 
    740     {
    741         p2DoneExpRow    *object;
    742 
    743         object = p2DoneExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", "a string", "a string", -32, -32    );
    744 
    745         if (!object) {
    746             exit(EXIT_FAILURE);
    747         }
    748 
    749         if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
    750             psFree(object);
    751             exit(EXIT_FAILURE);
    752         }
    753         if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {
    754             psFree(object);
    755             exit(EXIT_FAILURE);
    756         }
    757         if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) {
    758             psFree(object);
    759             exit(EXIT_FAILURE);
    760         }
    761         if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {
    762             psFree(object);
    763             exit(EXIT_FAILURE);
    764         }
    765         if (!object->imfiles == -32) {
    766             psFree(object);
    767             exit(EXIT_FAILURE);
    768         }
    769         if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) {
    770             psFree(object);
    771             exit(EXIT_FAILURE);
    772         }
    773         if (strncmp(object->stats, "a string", MAX_STRING_LENGTH)) {
    774             psFree(object);
    775             exit(EXIT_FAILURE);
    776         }
    777         if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) {
    778             psFree(object);
    779             exit(EXIT_FAILURE);
    780         }
    781         if (!object->p1_version == -32) {
    782             psFree(object);
    783             exit(EXIT_FAILURE);
    784         }
    785         if (!object->p2_version == -32) {
    786             psFree(object);
    787             exit(EXIT_FAILURE);
    788         }
    789 
    790         psFree(object);
    791     }
    792 
    793     {
    794         p2DoneImfileRow *object;
    795 
    796         object = p2DoneImfileRowAlloc("a string", "a string", "a string", "a string", "a string", -32, -32    );
    797 
    798         if (!object) {
    799             exit(EXIT_FAILURE);
    800         }
    801 
    802         if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
    803             psFree(object);
    804             exit(EXIT_FAILURE);
    805         }
    806         if (strncmp(object->class_id, "a string", MAX_STRING_LENGTH)) {
    807             psFree(object);
    808             exit(EXIT_FAILURE);
    809         }
    810         if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) {
    811             psFree(object);
    812             exit(EXIT_FAILURE);
    813         }
    814         if (strncmp(object->stats, "a string", MAX_STRING_LENGTH)) {
    815             psFree(object);
    816             exit(EXIT_FAILURE);
    817         }
    818         if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) {
    819             psFree(object);
    820             exit(EXIT_FAILURE);
    821         }
    822         if (!object->p1_version == -32) {
    823             psFree(object);
    824             exit(EXIT_FAILURE);
    825         }
    826         if (!object->p2_version == -32) {
    827             psFree(object);
    828             exit(EXIT_FAILURE);
    829         }
    830 
    831         psFree(object);
    832     }
    833 
    834     {
    835         p3PendingExpRow *object;
    836 
    837         object = p3PendingExpRowAlloc("a string", "a string", "a string", -32, "a string", "a string", "a string", -32, -32    );
    838 
    839         if (!object) {
    840             exit(EXIT_FAILURE);
    841         }
    842 
    843         if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
    844             psFree(object);
    845             exit(EXIT_FAILURE);
    846         }
    847         if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {
    848             psFree(object);
    849             exit(EXIT_FAILURE);
    850         }
    851         if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {
    852             psFree(object);
    853             exit(EXIT_FAILURE);
    854         }
    855         if (!object->imfiles == -32) {
    856             psFree(object);
    857             exit(EXIT_FAILURE);
    858         }
    859         if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) {
    860             psFree(object);
    861             exit(EXIT_FAILURE);
    862         }
    863         if (strncmp(object->stats, "a string", MAX_STRING_LENGTH)) {
    864             psFree(object);
    865             exit(EXIT_FAILURE);
    866         }
    867         if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) {
    868             psFree(object);
    869             exit(EXIT_FAILURE);
    870         }
    871         if (!object->p2_version == -32) {
    872             psFree(object);
    873             exit(EXIT_FAILURE);
    874         }
    875         if (!object->p3_version == -32) {
    876             psFree(object);
    877             exit(EXIT_FAILURE);
    878         }
    879 
    880         psFree(object);
    881     }
    882 
    883     {
    884         detRunRow       *object;
    885 
    886         object = detRunRowAlloc(-32, "a string"    );
    887 
    888         if (!object) {
    889             exit(EXIT_FAILURE);
    890         }
    891 
    892         if (!object->iteration == -32) {
    893             psFree(object);
    894             exit(EXIT_FAILURE);
    895         }
    896         if (strncmp(object->det_type, "a string", MAX_STRING_LENGTH)) {
    897             psFree(object);
    898             exit(EXIT_FAILURE);
    899         }
    900 
    901         psFree(object);
    902     }
    903 
    904     {
    905         detInputExpRow  *object;
    906 
    907         object = detInputExpRowAlloc(-32, -32, "a string", "a string", "a string", "a string", -32, "a string", "a string"    );
    908 
    909         if (!object) {
    910             exit(EXIT_FAILURE);
    911         }
    912 
    913         if (!object->det_id == -32) {
    914             psFree(object);
    915             exit(EXIT_FAILURE);
    916         }
    917         if (!object->iteration == -32) {
    918             psFree(object);
    919             exit(EXIT_FAILURE);
    920         }
    921         if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
    922             psFree(object);
    923             exit(EXIT_FAILURE);
    924         }
    925         if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {
    926             psFree(object);
    927             exit(EXIT_FAILURE);
    928         }
    929         if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) {
    930             psFree(object);
    931             exit(EXIT_FAILURE);
    932         }
    933         if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {
    934             psFree(object);
    935             exit(EXIT_FAILURE);
    936         }
    937         if (!object->imfiles == -32) {
    938             psFree(object);
    939             exit(EXIT_FAILURE);
    940         }
    941         if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) {
    942             psFree(object);
    943             exit(EXIT_FAILURE);
    944         }
    945         if (strncmp(object->stats, "a string", MAX_STRING_LENGTH)) {
     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) {
    9461062            psFree(object);
    9471063            exit(EXIT_FAILURE);
  • branches/jhoblitt/ippdb/tests/insert.c

    r8026 r8079  
    178178        }
    179179
    180         if (!newExpInsert(dbh, "a string", "a string", "a string", "a string", -32)) {
     180        if (!newExpInsert(dbh, "a string", "a string", "a string", "a string", -32, "a string")) {
    181181            exit(EXIT_FAILURE);
    182182        }
     
    208208        }
    209209
    210         if (!rawDetrendExpInsert(dbh, "a string", "a string", "a string", "a string", -32, "a string", "a string")) {
    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")) {
     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)) {
    226226            exit(EXIT_FAILURE);
    227227        }
     
    253253        }
    254254
    255         if (!p1PendingExpInsert(dbh, "a string", "a string", "a string", "a string", -32, "a string", "a string", "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", "a string", -32, -32)) {
     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)) {
    271271            exit(EXIT_FAILURE);
    272272        }
     
    298298        }
    299299
    300         if (!p2DoneExpInsert(dbh, "a string", "a string", "a string", "a string", -32, "a string", "a string", "a string", -32, -32)) {
     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)) {
    301301            exit(EXIT_FAILURE);
    302302        }
     
    328328        }
    329329
    330         if (!p3PendingExpInsert(dbh, "a string", "a string", "a string", -32, "a string", "a string", "a string", -32, -32)) {
     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)) {
    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")) {
     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)) {
    361361            exit(EXIT_FAILURE);
    362362        }
  • branches/jhoblitt/ippdb/tests/insertobject.c

    r8026 r8079  
    256256        }
    257257
    258         object = newExpRowAlloc("a string", "a string", "a string", "a string", -32);
     258        object = newExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string");
    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");
     302        object = rawDetrendExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", "a string", 32.32, 32.32, 32.32, 32.32);
    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");
     324        object = rawScienceExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", "a string", 32.32, 32.32, 32.32, 32.32);
    325325        if (!object) {
    326326            exit(EXIT_FAILURE);
     
    366366        }
    367367
    368         object = p1PendingExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", "a string", "a string", -32);
     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);
    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", "a string", -32, -32);
     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);
    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", "a string", -32, -32);
     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);
    435435        if (!object) {
    436436            exit(EXIT_FAILURE);
     
    476476        }
    477477
    478         object = p3PendingExpRowAlloc("a string", "a string", "a string", -32, "a string", "a string", "a string", -32, -32);
     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);
    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");
     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);
    523523        if (!object) {
    524524            exit(EXIT_FAILURE);
  • branches/jhoblitt/ippdb/tests/metadatafromobject.c

    r8026 r8079  
    512512        bool            status;
    513513
    514         object = newExpRowAlloc("a string", "a string", "a string", "a string", -32);
     514        object = newExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string");
    515515        if (!object) {
    516516            exit(EXIT_FAILURE);
     
    544544            exit(EXIT_FAILURE);
    545545        }
     546        if (strncmp(psMetadataLookupPtr(&status, md, "class"), "a string", MAX_STRING_LENGTH)) {
     547            psFree(md);
     548            exit(EXIT_FAILURE);
     549        }
    546550
    547551        psFree(md);
     
    590594        bool            status;
    591595
    592         object = rawDetrendExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", "a string");
     596        object = rawDetrendExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", "a string", 32.32, 32.32, 32.32, 32.32);
    593597        if (!object) {
    594598            exit(EXIT_FAILURE);
     
    626630            exit(EXIT_FAILURE);
    627631        }
     632        if (strncmp(psMetadataLookupPtr(&status, md, "class"), "a string", MAX_STRING_LENGTH)) {
     633            psFree(md);
     634            exit(EXIT_FAILURE);
     635        }
     636        if (!psMetadataLookupF32(&status, md, "airmass") == 32.32) {
     637            psFree(md);
     638            exit(EXIT_FAILURE);
     639        }
     640        if (!psMetadataLookupF32(&status, md, "ra") == 32.32) {
     641            psFree(md);
     642            exit(EXIT_FAILURE);
     643        }
     644        if (!psMetadataLookupF32(&status, md, "dec") == 32.32) {
     645            psFree(md);
     646            exit(EXIT_FAILURE);
     647        }
     648        if (!psMetadataLookupF32(&status, md, "exp_time") == 32.32) {
     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, 32.32, 32.32, 32.32);
     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 (!psMetadataLookupF32(&status, md, "ra") == 32.32) {
     706            psFree(md);
     707            exit(EXIT_FAILURE);
     708        }
     709        if (!psMetadataLookupF32(&status, md, "dec") == 32.32) {
     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
     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        }
    628754        if (strncmp(psMetadataLookupPtr(&status, md, "stats"), "a string", MAX_STRING_LENGTH)) {
    629755            psFree(md);
     
    636762    {
    637763        psMetadata      *md;
    638         rawScienceExpRow *object;
    639         bool            status;
    640 
    641         object = rawScienceExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", "a string");
    642         if (!object) {
    643             exit(EXIT_FAILURE);
    644         }
    645 
    646         md = rawScienceExpMetadataFromObject(object);
     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);
    647773        if (!md) {
    648774            exit(EXIT_FAILURE);
     
    675801            exit(EXIT_FAILURE);
    676802        }
     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        }
    677941        if (strncmp(psMetadataLookupPtr(&status, md, "stats"), "a string", MAX_STRING_LENGTH)) {
    678942            psFree(md);
    679943            exit(EXIT_FAILURE);
    680944        }
    681 
    682         psFree(md);
    683     }
    684 
    685     {
    686         psMetadata      *md;
    687         rawImfileRow    *object;
    688         bool            status;
    689 
    690         object = rawImfileRowAlloc("a string", "a string", "a string", "a string", "a string");
    691         if (!object) {
    692             exit(EXIT_FAILURE);
    693         }
    694 
    695         md = rawImfileMetadataFromObject(object);
    696         if (!md) {
    697             exit(EXIT_FAILURE);
    698         }
    699 
    700         psFree(object);
    701 
    702         if (strncmp(psMetadataLookupPtr(&status, md, "exp_id"), "a string", MAX_STRING_LENGTH)) {
     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)) {
    703999            psFree(md);
    7041000            exit(EXIT_FAILURE);
     
    7081004            exit(EXIT_FAILURE);
    7091005        }
     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        }
    7101059        if (strncmp(psMetadataLookupPtr(&status, md, "class_id"), "a string", MAX_STRING_LENGTH)) {
    7111060            psFree(md);
     
    7201069            exit(EXIT_FAILURE);
    7211070        }
    722 
    723         psFree(md);
    724     }
    725 
    726     {
    727         psMetadata      *md;
    728         p1PendingExpRow *object;
    729         bool            status;
    730 
    731         object = p1PendingExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", "a string", "a string", -32);
    732         if (!object) {
    733             exit(EXIT_FAILURE);
    734         }
    735 
    736         md = p1PendingExpMetadataFromObject(object);
     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);
    7371098        if (!md) {
    7381099            exit(EXIT_FAILURE);
     
    7491110            exit(EXIT_FAILURE);
    7501111        }
     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        }
    7511222        if (strncmp(psMetadataLookupPtr(&status, md, "telescope"), "a string", MAX_STRING_LENGTH)) {
    7521223            psFree(md);
     
    7651236            exit(EXIT_FAILURE);
    7661237        }
    767         if (strncmp(psMetadataLookupPtr(&status, md, "stats"), "a string", MAX_STRING_LENGTH)) {
    768             psFree(md);
    769             exit(EXIT_FAILURE);
    770         }
    771         if (strncmp(psMetadataLookupPtr(&status, md, "recipe"), "a string", MAX_STRING_LENGTH)) {
    772             psFree(md);
    773             exit(EXIT_FAILURE);
    774         }
    775         if (!psMetadataLookupS32(&status, md, "p1_version") == -32) {
    776             psFree(md);
    777             exit(EXIT_FAILURE);
    778         }
    779 
    780         psFree(md);
    781     }
    782 
    783     {
    784         psMetadata      *md;
    785         p2PendingExpRow *object;
    786         bool            status;
    787 
    788         object = p2PendingExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", "a string", "a string", -32, -32);
    789         if (!object) {
    790             exit(EXIT_FAILURE);
    791         }
    792 
    793         md = p2PendingExpMetadataFromObject(object);
    794         if (!md) {
    795             exit(EXIT_FAILURE);
    796         }
    797 
    798         psFree(object);
    799 
    800         if (strncmp(psMetadataLookupPtr(&status, md, "exp_id"), "a string", MAX_STRING_LENGTH)) {
    801             psFree(md);
    802             exit(EXIT_FAILURE);
    803         }
    804         if (strncmp(psMetadataLookupPtr(&status, md, "camera"), "a string", MAX_STRING_LENGTH)) {
    805             psFree(md);
    806             exit(EXIT_FAILURE);
    807         }
    808         if (strncmp(psMetadataLookupPtr(&status, md, "telescope"), "a string", MAX_STRING_LENGTH)) {
    809             psFree(md);
    810             exit(EXIT_FAILURE);
    811         }
    812         if (strncmp(psMetadataLookupPtr(&status, md, "exp_type"), "a string", MAX_STRING_LENGTH)) {
    813             psFree(md);
    814             exit(EXIT_FAILURE);
    815         }
    816         if (!psMetadataLookupS32(&status, md, "imfiles") == -32) {
    817             psFree(md);
    818             exit(EXIT_FAILURE);
    819         }
    820         if (strncmp(psMetadataLookupPtr(&status, md, "filter"), "a string", MAX_STRING_LENGTH)) {
    821             psFree(md);
    822             exit(EXIT_FAILURE);
    823         }
    824         if (strncmp(psMetadataLookupPtr(&status, md, "stats"), "a string", MAX_STRING_LENGTH)) {
    825             psFree(md);
    826             exit(EXIT_FAILURE);
    827         }
    828         if (strncmp(psMetadataLookupPtr(&status, md, "recipe"), "a string", MAX_STRING_LENGTH)) {
    829             psFree(md);
    830             exit(EXIT_FAILURE);
    831         }
    832         if (!psMetadataLookupS32(&status, md, "p1_version") == -32) {
    833             psFree(md);
    834             exit(EXIT_FAILURE);
    835         }
    836         if (!psMetadataLookupS32(&status, md, "p2_version") == -32) {
    837             psFree(md);
    838             exit(EXIT_FAILURE);
    839         }
    840 
    841         psFree(md);
    842     }
    843 
    844     {
    845         psMetadata      *md;
    846         p2PendingImfileRow *object;
    847         bool            status;
    848 
    849         object = p2PendingImfileRowAlloc("a string", "a string", "a string", "a string", "a string", -32, -32);
    850         if (!object) {
    851             exit(EXIT_FAILURE);
    852         }
    853 
    854         md = p2PendingImfileMetadataFromObject(object);
    855         if (!md) {
    856             exit(EXIT_FAILURE);
    857         }
    858 
    859         psFree(object);
    860 
    861         if (strncmp(psMetadataLookupPtr(&status, md, "exp_id"), "a string", MAX_STRING_LENGTH)) {
    862             psFree(md);
    863             exit(EXIT_FAILURE);
    864         }
    865         if (strncmp(psMetadataLookupPtr(&status, md, "class_id"), "a string", MAX_STRING_LENGTH)) {
    866             psFree(md);
    867             exit(EXIT_FAILURE);
    868         }
    869         if (strncmp(psMetadataLookupPtr(&status, md, "uri"), "a string", MAX_STRING_LENGTH)) {
    870             psFree(md);
    871             exit(EXIT_FAILURE);
    872         }
    873         if (strncmp(psMetadataLookupPtr(&status, md, "stats"), "a string", MAX_STRING_LENGTH)) {
    874             psFree(md);
    875             exit(EXIT_FAILURE);
    876         }
    877         if (strncmp(psMetadataLookupPtr(&status, md, "recipe"), "a string", MAX_STRING_LENGTH)) {
    878             psFree(md);
    879             exit(EXIT_FAILURE);
    880         }
    881         if (!psMetadataLookupS32(&status, md, "p1_version") == -32) {
    882             psFree(md);
    883             exit(EXIT_FAILURE);
    884         }
    885         if (!psMetadataLookupS32(&status, md, "p2_version") == -32) {
    886             psFree(md);
    887             exit(EXIT_FAILURE);
    888         }
    889 
    890         psFree(md);
    891     }
    892 
    893     {
    894         psMetadata      *md;
    895         p2DoneExpRow    *object;
    896         bool            status;
    897 
    898         object = p2DoneExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", "a string", "a string", -32, -32);
    899         if (!object) {
    900             exit(EXIT_FAILURE);
    901         }
    902 
    903         md = p2DoneExpMetadataFromObject(object);
    904         if (!md) {
    905             exit(EXIT_FAILURE);
    906         }
    907 
    908         psFree(object);
    909 
    910         if (strncmp(psMetadataLookupPtr(&status, md, "exp_id"), "a string", MAX_STRING_LENGTH)) {
    911             psFree(md);
    912             exit(EXIT_FAILURE);
    913         }
    914         if (strncmp(psMetadataLookupPtr(&status, md, "camera"), "a string", MAX_STRING_LENGTH)) {
    915             psFree(md);
    916             exit(EXIT_FAILURE);
    917         }
    918         if (strncmp(psMetadataLookupPtr(&status, md, "telescope"), "a string", MAX_STRING_LENGTH)) {
    919             psFree(md);
    920             exit(EXIT_FAILURE);
    921         }
    922         if (strncmp(psMetadataLookupPtr(&status, md, "exp_type"), "a string", MAX_STRING_LENGTH)) {
    923             psFree(md);
    924             exit(EXIT_FAILURE);
    925         }
    926         if (!psMetadataLookupS32(&status, md, "imfiles") == -32) {
    927             psFree(md);
    928             exit(EXIT_FAILURE);
    929         }
    930         if (strncmp(psMetadataLookupPtr(&status, md, "filter"), "a string", MAX_STRING_LENGTH)) {
    931             psFree(md);
    932             exit(EXIT_FAILURE);
    933         }
    934         if (strncmp(psMetadataLookupPtr(&status, md, "stats"), "a string", MAX_STRING_LENGTH)) {
    935             psFree(md);
    936             exit(EXIT_FAILURE);
    937         }
    938         if (strncmp(psMetadataLookupPtr(&status, md, "recipe"), "a string", MAX_STRING_LENGTH)) {
    939             psFree(md);
    940             exit(EXIT_FAILURE);
    941         }
    942         if (!psMetadataLookupS32(&status, md, "p1_version") == -32) {
    943             psFree(md);
    944             exit(EXIT_FAILURE);
    945         }
    946         if (!psMetadataLookupS32(&status, md, "p2_version") == -32) {
    947             psFree(md);
    948             exit(EXIT_FAILURE);
    949         }
    950 
    951         psFree(md);
    952     }
    953 
    954     {
    955         psMetadata      *md;
    956         p2DoneImfileRow *object;
    957         bool            status;
    958 
    959         object = p2DoneImfileRowAlloc("a string", "a string", "a string", "a string", "a string", -32, -32);
    960         if (!object) {
    961             exit(EXIT_FAILURE);
    962         }
    963 
    964         md = p2DoneImfileMetadataFromObject(object);
    965         if (!md) {
    966             exit(EXIT_FAILURE);
    967         }
    968 
    969         psFree(object);
    970 
    971         if (strncmp(psMetadataLookupPtr(&status, md, "exp_id"), "a string", MAX_STRING_LENGTH)) {
    972             psFree(md);
    973             exit(EXIT_FAILURE);
    974         }
    975         if (strncmp(psMetadataLookupPtr(&status, md, "class_id"), "a string", MAX_STRING_LENGTH)) {
    976             psFree(md);
    977             exit(EXIT_FAILURE);
    978         }
    979         if (strncmp(psMetadataLookupPtr(&status, md, "uri"), "a string", MAX_STRING_LENGTH)) {
    980             psFree(md);
    981             exit(EXIT_FAILURE);
    982         }
    983         if (strncmp(psMetadataLookupPtr(&status, md, "stats"), "a string", MAX_STRING_LENGTH)) {
    984             psFree(md);
    985             exit(EXIT_FAILURE);
    986         }
    987         if (strncmp(psMetadataLookupPtr(&status, md, "recipe"), "a string", MAX_STRING_LENGTH)) {
    988             psFree(md);
    989             exit(EXIT_FAILURE);
    990         }
    991         if (!psMetadataLookupS32(&status, md, "p1_version") == -32) {
    992             psFree(md);
    993             exit(EXIT_FAILURE);
    994         }
    995         if (!psMetadataLookupS32(&status, md, "p2_version") == -32) {
    996             psFree(md);
    997             exit(EXIT_FAILURE);
    998         }
    999 
    1000         psFree(md);
    1001     }
    1002 
    1003     {
    1004         psMetadata      *md;
    1005         p3PendingExpRow *object;
    1006         bool            status;
    1007 
    1008         object = p3PendingExpRowAlloc("a string", "a string", "a string", -32, "a string", "a string", "a string", -32, -32);
    1009         if (!object) {
    1010             exit(EXIT_FAILURE);
    1011         }
    1012 
    1013         md = p3PendingExpMetadataFromObject(object);
    1014         if (!md) {
    1015             exit(EXIT_FAILURE);
    1016         }
    1017 
    1018         psFree(object);
    1019 
    1020         if (strncmp(psMetadataLookupPtr(&status, md, "exp_id"), "a string", MAX_STRING_LENGTH)) {
    1021             psFree(md);
    1022             exit(EXIT_FAILURE);
    1023         }
    1024         if (strncmp(psMetadataLookupPtr(&status, md, "camera"), "a string", MAX_STRING_LENGTH)) {
    1025             psFree(md);
    1026             exit(EXIT_FAILURE);
    1027         }
    1028         if (strncmp(psMetadataLookupPtr(&status, md, "exp_type"), "a string", MAX_STRING_LENGTH)) {
    1029             psFree(md);
    1030             exit(EXIT_FAILURE);
    1031         }
    1032         if (!psMetadataLookupS32(&status, md, "imfiles") == -32) {
    1033             psFree(md);
    1034             exit(EXIT_FAILURE);
    1035         }
    1036         if (strncmp(psMetadataLookupPtr(&status, md, "filter"), "a string", MAX_STRING_LENGTH)) {
    1037             psFree(md);
    1038             exit(EXIT_FAILURE);
    1039         }
    1040         if (strncmp(psMetadataLookupPtr(&status, md, "stats"), "a string", MAX_STRING_LENGTH)) {
    1041             psFree(md);
    1042             exit(EXIT_FAILURE);
    1043         }
    1044         if (strncmp(psMetadataLookupPtr(&status, md, "recipe"), "a string", MAX_STRING_LENGTH)) {
    1045             psFree(md);
    1046             exit(EXIT_FAILURE);
    1047         }
    1048         if (!psMetadataLookupS32(&status, md, "p2_version") == -32) {
    1049             psFree(md);
    1050             exit(EXIT_FAILURE);
    1051         }
    1052         if (!psMetadataLookupS32(&status, md, "p3_version") == -32) {
    1053             psFree(md);
    1054             exit(EXIT_FAILURE);
    1055         }
    1056 
    1057         psFree(md);
    1058     }
    1059 
    1060     {
    1061         psMetadata      *md;
    1062         detRunRow       *object;
    1063         bool            status;
    1064 
    1065         object = detRunRowAlloc(-32, "a string");
    1066         if (!object) {
    1067             exit(EXIT_FAILURE);
    1068         }
    1069 
    1070         md = detRunMetadataFromObject(object);
    1071         if (!md) {
    1072             exit(EXIT_FAILURE);
    1073         }
    1074 
    1075         psFree(object);
    1076 
    1077         if (!psMetadataLookupS32(&status, md, "iteration") == -32) {
    1078             psFree(md);
    1079             exit(EXIT_FAILURE);
    1080         }
    1081         if (strncmp(psMetadataLookupPtr(&status, md, "det_type"), "a string", MAX_STRING_LENGTH)) {
    1082             psFree(md);
    1083             exit(EXIT_FAILURE);
    1084         }
    1085 
    1086         psFree(md);
    1087     }
    1088 
    1089     {
    1090         psMetadata      *md;
    1091         detInputExpRow  *object;
    1092         bool            status;
    1093 
    1094         object = detInputExpRowAlloc(-32, -32, "a string", "a string", "a string", "a string", -32, "a string", "a string");
    1095         if (!object) {
    1096             exit(EXIT_FAILURE);
    1097         }
    1098 
    1099         md = detInputExpMetadataFromObject(object);
    1100         if (!md) {
    1101             exit(EXIT_FAILURE);
    1102         }
    1103 
    1104         psFree(object);
    1105 
    1106         if (!psMetadataLookupS32(&status, md, "det_id") == -32) {
    1107             psFree(md);
    1108             exit(EXIT_FAILURE);
    1109         }
    1110         if (!psMetadataLookupS32(&status, md, "iteration") == -32) {
    1111             psFree(md);
    1112             exit(EXIT_FAILURE);
    1113         }
    1114         if (strncmp(psMetadataLookupPtr(&status, md, "exp_id"), "a string", MAX_STRING_LENGTH)) {
    1115             psFree(md);
    1116             exit(EXIT_FAILURE);
    1117         }
    1118         if (strncmp(psMetadataLookupPtr(&status, md, "camera"), "a string", MAX_STRING_LENGTH)) {
    1119             psFree(md);
    1120             exit(EXIT_FAILURE);
    1121         }
    1122         if (strncmp(psMetadataLookupPtr(&status, md, "telescope"), "a string", MAX_STRING_LENGTH)) {
    1123             psFree(md);
    1124             exit(EXIT_FAILURE);
    1125         }
    1126         if (strncmp(psMetadataLookupPtr(&status, md, "exp_type"), "a string", MAX_STRING_LENGTH)) {
    1127             psFree(md);
    1128             exit(EXIT_FAILURE);
    1129         }
    1130         if (!psMetadataLookupS32(&status, md, "imfiles") == -32) {
    1131             psFree(md);
    1132             exit(EXIT_FAILURE);
    1133         }
    1134         if (strncmp(psMetadataLookupPtr(&status, md, "filter"), "a string", MAX_STRING_LENGTH)) {
    1135             psFree(md);
    1136             exit(EXIT_FAILURE);
    1137         }
    1138         if (strncmp(psMetadataLookupPtr(&status, md, "stats"), "a string", MAX_STRING_LENGTH)) {
     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) {
    11391255            psFree(md);
    11401256            exit(EXIT_FAILURE);
  • branches/jhoblitt/ippdb/tests/objectfrommetadata.c

    r8026 r8079  
    767767            exit(EXIT_FAILURE);
    768768        }
     769        if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, "a string")) {
     770            psFree(md);
     771            exit(EXIT_FAILURE);
     772        }
    769773
    770774        object = newExpObjectFromMetadata(md);
     
    796800            exit(EXIT_FAILURE);
    797801        }
     802        if (strncmp(object->class, "a string", MAX_STRING_LENGTH)) {
     803            psFree(object);
     804            exit(EXIT_FAILURE);
     805        }
    798806
    799807        psFree(object);
     
    879887            exit(EXIT_FAILURE);
    880888        }
     889        if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, "a string")) {
     890            psFree(md);
     891            exit(EXIT_FAILURE);
     892        }
     893        if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, 32.32)) {
     894            psFree(md);
     895            exit(EXIT_FAILURE);
     896        }
     897        if (!psMetadataAddF32(md, PS_LIST_TAIL, "ra", 0, NULL, 32.32)) {
     898            psFree(md);
     899            exit(EXIT_FAILURE);
     900        }
     901        if (!psMetadataAddF32(md, PS_LIST_TAIL, "dec", 0, NULL, 32.32)) {
     902            psFree(md);
     903            exit(EXIT_FAILURE);
     904        }
     905        if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, 32.32)) {
     906            psFree(md);
     907            exit(EXIT_FAILURE);
     908        }
     909
     910        object = rawDetrendExpObjectFromMetadata(md);
     911        if (!object) {
     912            psFree(md);
     913            exit(EXIT_FAILURE);
     914        }
     915
     916        psFree(md);
     917
     918        if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
     919            psFree(object);
     920            exit(EXIT_FAILURE);
     921        }
     922        if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {
     923            psFree(object);
     924            exit(EXIT_FAILURE);
     925        }
     926        if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) {
     927            psFree(object);
     928            exit(EXIT_FAILURE);
     929        }
     930        if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {
     931            psFree(object);
     932            exit(EXIT_FAILURE);
     933        }
     934        if (!object->imfiles == -32) {
     935            psFree(object);
     936            exit(EXIT_FAILURE);
     937        }
     938        if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) {
     939            psFree(object);
     940            exit(EXIT_FAILURE);
     941        }
     942        if (strncmp(object->class, "a string", MAX_STRING_LENGTH)) {
     943            psFree(object);
     944            exit(EXIT_FAILURE);
     945        }
     946        if (!object->airmass == 32.32) {
     947            psFree(object);
     948            exit(EXIT_FAILURE);
     949        }
     950        if (!object->ra == 32.32) {
     951            psFree(object);
     952            exit(EXIT_FAILURE);
     953        }
     954        if (!object->dec == 32.32) {
     955            psFree(object);
     956            exit(EXIT_FAILURE);
     957        }
     958        if (!object->exp_time == 32.32) {
     959            psFree(object);
     960            exit(EXIT_FAILURE);
     961        }
     962
     963        psFree(object);
     964    }
     965
     966    {
     967        psMetadata      *md;
     968        rawScienceExpRow *object;
     969
     970        md = psMetadataAlloc();
     971        if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, "a string")) {
     972            psFree(md);
     973            exit(EXIT_FAILURE);
     974        }
     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        }
     995        if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, "a string")) {
     996            psFree(md);
     997            exit(EXIT_FAILURE);
     998        }
     999        if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, 32.32)) {
     1000            psFree(md);
     1001            exit(EXIT_FAILURE);
     1002        }
     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)) {
     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
     1016        object = rawScienceExpObjectFromMetadata(md);
     1017        if (!object) {
     1018            psFree(md);
     1019            exit(EXIT_FAILURE);
     1020        }
     1021
     1022        psFree(md);
     1023
     1024        if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
     1025            psFree(object);
     1026            exit(EXIT_FAILURE);
     1027        }
     1028        if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {
     1029            psFree(object);
     1030            exit(EXIT_FAILURE);
     1031        }
     1032        if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) {
     1033            psFree(object);
     1034            exit(EXIT_FAILURE);
     1035        }
     1036        if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {
     1037            psFree(object);
     1038            exit(EXIT_FAILURE);
     1039        }
     1040        if (!object->imfiles == -32) {
     1041            psFree(object);
     1042            exit(EXIT_FAILURE);
     1043        }
     1044        if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) {
     1045            psFree(object);
     1046            exit(EXIT_FAILURE);
     1047        }
     1048        if (strncmp(object->class, "a string", MAX_STRING_LENGTH)) {
     1049            psFree(object);
     1050            exit(EXIT_FAILURE);
     1051        }
     1052        if (!object->airmass == 32.32) {
     1053            psFree(object);
     1054            exit(EXIT_FAILURE);
     1055        }
     1056        if (!object->ra == 32.32) {
     1057            psFree(object);
     1058            exit(EXIT_FAILURE);
     1059        }
     1060        if (!object->dec == 32.32) {
     1061            psFree(object);
     1062            exit(EXIT_FAILURE);
     1063        }
     1064        if (!object->exp_time == 32.32) {
     1065            psFree(object);
     1066            exit(EXIT_FAILURE);
     1067        }
     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        }
    8811093        if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, "a string")) {
    8821094            psFree(md);
     
    8841096        }
    8851097
    886         object = rawDetrendExpObjectFromMetadata(md);
     1098        object = rawImfileObjectFromMetadata(md);
    8871099        if (!object) {
    8881100            psFree(md);
     
    8961108            exit(EXIT_FAILURE);
    8971109        }
     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        }
    8981200        if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {
    8991201            psFree(object);
     
    9161218            exit(EXIT_FAILURE);
    9171219        }
     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        }
    9181436        if (strncmp(object->stats, "a string", MAX_STRING_LENGTH)) {
    9191437            psFree(object);
    9201438            exit(EXIT_FAILURE);
    9211439        }
    922 
    923         psFree(object);
    924     }
    925 
    926     {
    927         psMetadata      *md;
    928         rawScienceExpRow *object;
     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;
    9291459
    9301460        md = psMetadataAlloc();
     
    9531483            exit(EXIT_FAILURE);
    9541484        }
     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        }
    9551603        if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, "a string")) {
    9561604            psFree(md);
    9571605            exit(EXIT_FAILURE);
    9581606        }
    959 
    960         object = rawScienceExpObjectFromMetadata(md);
     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);
    9611621        if (!object) {
    9621622            psFree(md);
     
    9701630            exit(EXIT_FAILURE);
    9711631        }
     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        }
    9721730        if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {
    9731731            psFree(object);
    9741732            exit(EXIT_FAILURE);
    9751733        }
     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        }
    9761898        if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) {
    9771899            psFree(object);
     
    9901912            exit(EXIT_FAILURE);
    9911913        }
    992         if (strncmp(object->stats, "a string", MAX_STRING_LENGTH)) {
    993             psFree(object);
    994             exit(EXIT_FAILURE);
    995         }
    996 
    997         psFree(object);
    998     }
    999 
    1000     {
    1001         psMetadata      *md;
    1002         rawImfileRow    *object;
    1003 
    1004         md = psMetadataAlloc();
    1005         if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, "a string")) {
    1006             psFree(md);
    1007             exit(EXIT_FAILURE);
    1008         }
    1009         if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, "a string")) {
    1010             psFree(md);
    1011             exit(EXIT_FAILURE);
    1012         }
    1013         if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, "a string")) {
    1014             psFree(md);
    1015             exit(EXIT_FAILURE);
    1016         }
    1017         if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, "a string")) {
    1018             psFree(md);
    1019             exit(EXIT_FAILURE);
    1020         }
    1021         if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, "a string")) {
    1022             psFree(md);
    1023             exit(EXIT_FAILURE);
    1024         }
    1025 
    1026         object = rawImfileObjectFromMetadata(md);
    1027         if (!object) {
    1028             psFree(md);
    1029             exit(EXIT_FAILURE);
    1030         }
    1031 
    1032         psFree(md);
    1033 
    1034         if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
    1035             psFree(object);
    1036             exit(EXIT_FAILURE);
    1037         }
    10381914        if (strncmp(object->class, "a string", MAX_STRING_LENGTH)) {
    10391915            psFree(object);
    10401916            exit(EXIT_FAILURE);
    10411917        }
    1042         if (strncmp(object->class_id, "a string", MAX_STRING_LENGTH)) {
    1043             psFree(object);
    1044             exit(EXIT_FAILURE);
    1045         }
    1046         if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) {
    1047             psFree(object);
    1048             exit(EXIT_FAILURE);
    1049         }
    1050         if (strncmp(object->stats, "a string", MAX_STRING_LENGTH)) {
    1051             psFree(object);
    1052             exit(EXIT_FAILURE);
    1053         }
    1054 
    1055         psFree(object);
    1056     }
    1057 
    1058     {
    1059         psMetadata      *md;
    1060         p1PendingExpRow *object;
    1061 
    1062         md = psMetadataAlloc();
    1063         if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, "a string")) {
    1064             psFree(md);
    1065             exit(EXIT_FAILURE);
    1066         }
    1067         if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, "a string")) {
    1068             psFree(md);
    1069             exit(EXIT_FAILURE);
    1070         }
    1071         if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, "a string")) {
    1072             psFree(md);
    1073             exit(EXIT_FAILURE);
    1074         }
    1075         if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, "a string")) {
    1076             psFree(md);
    1077             exit(EXIT_FAILURE);
    1078         }
    1079         if (!psMetadataAddS32(md, PS_LIST_TAIL, "imfiles", 0, NULL, -32)) {
    1080             psFree(md);
    1081             exit(EXIT_FAILURE);
    1082         }
    1083         if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, "a string")) {
    1084             psFree(md);
    1085             exit(EXIT_FAILURE);
    1086         }
    1087         if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, "a string")) {
    1088             psFree(md);
    1089             exit(EXIT_FAILURE);
    1090         }
    1091         if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, "a string")) {
    1092             psFree(md);
    1093             exit(EXIT_FAILURE);
    1094         }
    1095         if (!psMetadataAddS32(md, PS_LIST_TAIL, "p1_version", 0, NULL, -32)) {
    1096             psFree(md);
    1097             exit(EXIT_FAILURE);
    1098         }
    1099 
    1100         object = p1PendingExpObjectFromMetadata(md);
    1101         if (!object) {
    1102             psFree(md);
    1103             exit(EXIT_FAILURE);
    1104         }
    1105 
    1106         psFree(md);
    1107 
    1108         if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
    1109             psFree(object);
    1110             exit(EXIT_FAILURE);
    1111         }
    1112         if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {
    1113             psFree(object);
    1114             exit(EXIT_FAILURE);
    1115         }
    1116         if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) {
    1117             psFree(object);
    1118             exit(EXIT_FAILURE);
    1119         }
    1120         if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {
    1121             psFree(object);
    1122             exit(EXIT_FAILURE);
    1123         }
    1124         if (!object->imfiles == -32) {
    1125             psFree(object);
    1126             exit(EXIT_FAILURE);
    1127         }
    1128         if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) {
    1129             psFree(object);
    1130             exit(EXIT_FAILURE);
    1131         }
    1132         if (strncmp(object->stats, "a string", MAX_STRING_LENGTH)) {
    1133             psFree(object);
    1134             exit(EXIT_FAILURE);
    1135         }
    1136         if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) {
    1137             psFree(object);
    1138             exit(EXIT_FAILURE);
    1139         }
    1140         if (!object->p1_version == -32) {
    1141             psFree(object);
    1142             exit(EXIT_FAILURE);
    1143         }
    1144 
    1145         psFree(object);
    1146     }
    1147 
    1148     {
    1149         psMetadata      *md;
    1150         p2PendingExpRow *object;
    1151 
    1152         md = psMetadataAlloc();
    1153         if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, "a string")) {
    1154             psFree(md);
    1155             exit(EXIT_FAILURE);
    1156         }
    1157         if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, "a string")) {
    1158             psFree(md);
    1159             exit(EXIT_FAILURE);
    1160         }
    1161         if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, "a string")) {
    1162             psFree(md);
    1163             exit(EXIT_FAILURE);
    1164         }
    1165         if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, "a string")) {
    1166             psFree(md);
    1167             exit(EXIT_FAILURE);
    1168         }
    1169         if (!psMetadataAddS32(md, PS_LIST_TAIL, "imfiles", 0, NULL, -32)) {
    1170             psFree(md);
    1171             exit(EXIT_FAILURE);
    1172         }
    1173         if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, "a string")) {
    1174             psFree(md);
    1175             exit(EXIT_FAILURE);
    1176         }
    1177         if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, "a string")) {
    1178             psFree(md);
    1179             exit(EXIT_FAILURE);
    1180         }
    1181         if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, "a string")) {
    1182             psFree(md);
    1183             exit(EXIT_FAILURE);
    1184         }
    1185         if (!psMetadataAddS32(md, PS_LIST_TAIL, "p1_version", 0, NULL, -32)) {
    1186             psFree(md);
    1187             exit(EXIT_FAILURE);
    1188         }
    1189         if (!psMetadataAddS32(md, PS_LIST_TAIL, "p2_version", 0, NULL, -32)) {
    1190             psFree(md);
    1191             exit(EXIT_FAILURE);
    1192         }
    1193 
    1194         object = p2PendingExpObjectFromMetadata(md);
    1195         if (!object) {
    1196             psFree(md);
    1197             exit(EXIT_FAILURE);
    1198         }
    1199 
    1200         psFree(md);
    1201 
    1202         if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
    1203             psFree(object);
    1204             exit(EXIT_FAILURE);
    1205         }
    1206         if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {
    1207             psFree(object);
    1208             exit(EXIT_FAILURE);
    1209         }
    1210         if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) {
    1211             psFree(object);
    1212             exit(EXIT_FAILURE);
    1213         }
    1214         if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {
    1215             psFree(object);
    1216             exit(EXIT_FAILURE);
    1217         }
    1218         if (!object->imfiles == -32) {
    1219             psFree(object);
    1220             exit(EXIT_FAILURE);
    1221         }
    1222         if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) {
    1223             psFree(object);
    1224             exit(EXIT_FAILURE);
    1225         }
    1226         if (strncmp(object->stats, "a string", MAX_STRING_LENGTH)) {
    1227             psFree(object);
    1228             exit(EXIT_FAILURE);
    1229         }
    1230         if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) {
    1231             psFree(object);
    1232             exit(EXIT_FAILURE);
    1233         }
    1234         if (!object->p1_version == -32) {
    1235             psFree(object);
    1236             exit(EXIT_FAILURE);
    1237         }
    1238         if (!object->p2_version == -32) {
    1239             psFree(object);
    1240             exit(EXIT_FAILURE);
    1241         }
    1242 
    1243         psFree(object);
    1244     }
    1245 
    1246     {
    1247         psMetadata      *md;
    1248         p2PendingImfileRow *object;
    1249 
    1250         md = psMetadataAlloc();
    1251         if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, "a string")) {
    1252             psFree(md);
    1253             exit(EXIT_FAILURE);
    1254         }
    1255         if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, "a string")) {
    1256             psFree(md);
    1257             exit(EXIT_FAILURE);
    1258         }
    1259         if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, "a string")) {
    1260             psFree(md);
    1261             exit(EXIT_FAILURE);
    1262         }
    1263         if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, "a string")) {
    1264             psFree(md);
    1265             exit(EXIT_FAILURE);
    1266         }
    1267         if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, "a string")) {
    1268             psFree(md);
    1269             exit(EXIT_FAILURE);
    1270         }
    1271         if (!psMetadataAddS32(md, PS_LIST_TAIL, "p1_version", 0, NULL, -32)) {
    1272             psFree(md);
    1273             exit(EXIT_FAILURE);
    1274         }
    1275         if (!psMetadataAddS32(md, PS_LIST_TAIL, "p2_version", 0, NULL, -32)) {
    1276             psFree(md);
    1277             exit(EXIT_FAILURE);
    1278         }
    1279 
    1280         object = p2PendingImfileObjectFromMetadata(md);
    1281         if (!object) {
    1282             psFree(md);
    1283             exit(EXIT_FAILURE);
    1284         }
    1285 
    1286         psFree(md);
    1287 
    1288         if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
    1289             psFree(object);
    1290             exit(EXIT_FAILURE);
    1291         }
    1292         if (strncmp(object->class_id, "a string", MAX_STRING_LENGTH)) {
    1293             psFree(object);
    1294             exit(EXIT_FAILURE);
    1295         }
    1296         if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) {
    1297             psFree(object);
    1298             exit(EXIT_FAILURE);
    1299         }
    1300         if (strncmp(object->stats, "a string", MAX_STRING_LENGTH)) {
    1301             psFree(object);
    1302             exit(EXIT_FAILURE);
    1303         }
    1304         if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) {
    1305             psFree(object);
    1306             exit(EXIT_FAILURE);
    1307         }
    1308         if (!object->p1_version == -32) {
    1309             psFree(object);
    1310             exit(EXIT_FAILURE);
    1311         }
    1312         if (!object->p2_version == -32) {
    1313             psFree(object);
    1314             exit(EXIT_FAILURE);
    1315         }
    1316 
    1317         psFree(object);
    1318     }
    1319 
    1320     {
    1321         psMetadata      *md;
    1322         p2DoneExpRow    *object;
    1323 
    1324         md = psMetadataAlloc();
    1325         if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, "a string")) {
    1326             psFree(md);
    1327             exit(EXIT_FAILURE);
    1328         }
    1329         if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, "a string")) {
    1330             psFree(md);
    1331             exit(EXIT_FAILURE);
    1332         }
    1333         if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, "a string")) {
    1334             psFree(md);
    1335             exit(EXIT_FAILURE);
    1336         }
    1337         if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, "a string")) {
    1338             psFree(md);
    1339             exit(EXIT_FAILURE);
    1340         }
    1341         if (!psMetadataAddS32(md, PS_LIST_TAIL, "imfiles", 0, NULL, -32)) {
    1342             psFree(md);
    1343             exit(EXIT_FAILURE);
    1344         }
    1345         if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, "a string")) {
    1346             psFree(md);
    1347             exit(EXIT_FAILURE);
    1348         }
    1349         if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, "a string")) {
    1350             psFree(md);
    1351             exit(EXIT_FAILURE);
    1352         }
    1353         if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, "a string")) {
    1354             psFree(md);
    1355             exit(EXIT_FAILURE);
    1356         }
    1357         if (!psMetadataAddS32(md, PS_LIST_TAIL, "p1_version", 0, NULL, -32)) {
    1358             psFree(md);
    1359             exit(EXIT_FAILURE);
    1360         }
    1361         if (!psMetadataAddS32(md, PS_LIST_TAIL, "p2_version", 0, NULL, -32)) {
    1362             psFree(md);
    1363             exit(EXIT_FAILURE);
    1364         }
    1365 
    1366         object = p2DoneExpObjectFromMetadata(md);
    1367         if (!object) {
    1368             psFree(md);
    1369             exit(EXIT_FAILURE);
    1370         }
    1371 
    1372         psFree(md);
    1373 
    1374         if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
    1375             psFree(object);
    1376             exit(EXIT_FAILURE);
    1377         }
    1378         if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {
    1379             psFree(object);
    1380             exit(EXIT_FAILURE);
    1381         }
    1382         if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) {
    1383             psFree(object);
    1384             exit(EXIT_FAILURE);
    1385         }
    1386         if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {
    1387             psFree(object);
    1388             exit(EXIT_FAILURE);
    1389         }
    1390         if (!object->imfiles == -32) {
    1391             psFree(object);
    1392             exit(EXIT_FAILURE);
    1393         }
    1394         if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) {
    1395             psFree(object);
    1396             exit(EXIT_FAILURE);
    1397         }
    1398         if (strncmp(object->stats, "a string", MAX_STRING_LENGTH)) {
    1399             psFree(object);
    1400             exit(EXIT_FAILURE);
    1401         }
    1402         if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) {
    1403             psFree(object);
    1404             exit(EXIT_FAILURE);
    1405         }
    1406         if (!object->p1_version == -32) {
    1407             psFree(object);
    1408             exit(EXIT_FAILURE);
    1409         }
    1410         if (!object->p2_version == -32) {
    1411             psFree(object);
    1412             exit(EXIT_FAILURE);
    1413         }
    1414 
    1415         psFree(object);
    1416     }
    1417 
    1418     {
    1419         psMetadata      *md;
    1420         p2DoneImfileRow *object;
    1421 
    1422         md = psMetadataAlloc();
    1423         if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, "a string")) {
    1424             psFree(md);
    1425             exit(EXIT_FAILURE);
    1426         }
    1427         if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, "a string")) {
    1428             psFree(md);
    1429             exit(EXIT_FAILURE);
    1430         }
    1431         if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, "a string")) {
    1432             psFree(md);
    1433             exit(EXIT_FAILURE);
    1434         }
    1435         if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, "a string")) {
    1436             psFree(md);
    1437             exit(EXIT_FAILURE);
    1438         }
    1439         if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, "a string")) {
    1440             psFree(md);
    1441             exit(EXIT_FAILURE);
    1442         }
    1443         if (!psMetadataAddS32(md, PS_LIST_TAIL, "p1_version", 0, NULL, -32)) {
    1444             psFree(md);
    1445             exit(EXIT_FAILURE);
    1446         }
    1447         if (!psMetadataAddS32(md, PS_LIST_TAIL, "p2_version", 0, NULL, -32)) {
    1448             psFree(md);
    1449             exit(EXIT_FAILURE);
    1450         }
    1451 
    1452         object = p2DoneImfileObjectFromMetadata(md);
    1453         if (!object) {
    1454             psFree(md);
    1455             exit(EXIT_FAILURE);
    1456         }
    1457 
    1458         psFree(md);
    1459 
    1460         if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
    1461             psFree(object);
    1462             exit(EXIT_FAILURE);
    1463         }
    1464         if (strncmp(object->class_id, "a string", MAX_STRING_LENGTH)) {
    1465             psFree(object);
    1466             exit(EXIT_FAILURE);
    1467         }
    1468         if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) {
    1469             psFree(object);
    1470             exit(EXIT_FAILURE);
    1471         }
    1472         if (strncmp(object->stats, "a string", MAX_STRING_LENGTH)) {
    1473             psFree(object);
    1474             exit(EXIT_FAILURE);
    1475         }
    1476         if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) {
    1477             psFree(object);
    1478             exit(EXIT_FAILURE);
    1479         }
    1480         if (!object->p1_version == -32) {
    1481             psFree(object);
    1482             exit(EXIT_FAILURE);
    1483         }
    1484         if (!object->p2_version == -32) {
    1485             psFree(object);
    1486             exit(EXIT_FAILURE);
    1487         }
    1488 
    1489         psFree(object);
    1490     }
    1491 
    1492     {
    1493         psMetadata      *md;
    1494         p3PendingExpRow *object;
    1495 
    1496         md = psMetadataAlloc();
    1497         if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, "a string")) {
    1498             psFree(md);
    1499             exit(EXIT_FAILURE);
    1500         }
    1501         if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, "a string")) {
    1502             psFree(md);
    1503             exit(EXIT_FAILURE);
    1504         }
    1505         if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, "a string")) {
    1506             psFree(md);
    1507             exit(EXIT_FAILURE);
    1508         }
    1509         if (!psMetadataAddS32(md, PS_LIST_TAIL, "imfiles", 0, NULL, -32)) {
    1510             psFree(md);
    1511             exit(EXIT_FAILURE);
    1512         }
    1513         if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, "a string")) {
    1514             psFree(md);
    1515             exit(EXIT_FAILURE);
    1516         }
    1517         if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, "a string")) {
    1518             psFree(md);
    1519             exit(EXIT_FAILURE);
    1520         }
    1521         if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, "a string")) {
    1522             psFree(md);
    1523             exit(EXIT_FAILURE);
    1524         }
    1525         if (!psMetadataAddS32(md, PS_LIST_TAIL, "p2_version", 0, NULL, -32)) {
    1526             psFree(md);
    1527             exit(EXIT_FAILURE);
    1528         }
    1529         if (!psMetadataAddS32(md, PS_LIST_TAIL, "p3_version", 0, NULL, -32)) {
    1530             psFree(md);
    1531             exit(EXIT_FAILURE);
    1532         }
    1533 
    1534         object = p3PendingExpObjectFromMetadata(md);
    1535         if (!object) {
    1536             psFree(md);
    1537             exit(EXIT_FAILURE);
    1538         }
    1539 
    1540         psFree(md);
    1541 
    1542         if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
    1543             psFree(object);
    1544             exit(EXIT_FAILURE);
    1545         }
    1546         if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {
    1547             psFree(object);
    1548             exit(EXIT_FAILURE);
    1549         }
    1550         if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {
    1551             psFree(object);
    1552             exit(EXIT_FAILURE);
    1553         }
    1554         if (!object->imfiles == -32) {
    1555             psFree(object);
    1556             exit(EXIT_FAILURE);
    1557         }
    1558         if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) {
    1559             psFree(object);
    1560             exit(EXIT_FAILURE);
    1561         }
    1562         if (strncmp(object->stats, "a string", MAX_STRING_LENGTH)) {
    1563             psFree(object);
    1564             exit(EXIT_FAILURE);
    1565         }
    1566         if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) {
    1567             psFree(object);
    1568             exit(EXIT_FAILURE);
    1569         }
    1570         if (!object->p2_version == -32) {
    1571             psFree(object);
    1572             exit(EXIT_FAILURE);
    1573         }
    1574         if (!object->p3_version == -32) {
    1575             psFree(object);
    1576             exit(EXIT_FAILURE);
    1577         }
    1578 
    1579         psFree(object);
    1580     }
    1581 
    1582     {
    1583         psMetadata      *md;
    1584         detRunRow       *object;
    1585 
    1586         md = psMetadataAlloc();
    1587         if (!psMetadataAddS32(md, PS_LIST_TAIL, "iteration", 0, NULL, -32)) {
    1588             psFree(md);
    1589             exit(EXIT_FAILURE);
    1590         }
    1591         if (!psMetadataAddStr(md, PS_LIST_TAIL, "det_type", 0, NULL, "a string")) {
    1592             psFree(md);
    1593             exit(EXIT_FAILURE);
    1594         }
    1595 
    1596         object = detRunObjectFromMetadata(md);
    1597         if (!object) {
    1598             psFree(md);
    1599             exit(EXIT_FAILURE);
    1600         }
    1601 
    1602         psFree(md);
    1603 
    1604         if (!object->iteration == -32) {
    1605             psFree(object);
    1606             exit(EXIT_FAILURE);
    1607         }
    1608         if (strncmp(object->det_type, "a string", MAX_STRING_LENGTH)) {
    1609             psFree(object);
    1610             exit(EXIT_FAILURE);
    1611         }
    1612 
    1613         psFree(object);
    1614     }
    1615 
    1616     {
    1617         psMetadata      *md;
    1618         detInputExpRow  *object;
    1619 
    1620         md = psMetadataAlloc();
    1621         if (!psMetadataAddS32(md, PS_LIST_TAIL, "det_id", 0, NULL, -32)) {
    1622             psFree(md);
    1623             exit(EXIT_FAILURE);
    1624         }
    1625         if (!psMetadataAddS32(md, PS_LIST_TAIL, "iteration", 0, NULL, -32)) {
    1626             psFree(md);
    1627             exit(EXIT_FAILURE);
    1628         }
    1629         if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, "a string")) {
    1630             psFree(md);
    1631             exit(EXIT_FAILURE);
    1632         }
    1633         if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, "a string")) {
    1634             psFree(md);
    1635             exit(EXIT_FAILURE);
    1636         }
    1637         if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, "a string")) {
    1638             psFree(md);
    1639             exit(EXIT_FAILURE);
    1640         }
    1641         if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, "a string")) {
    1642             psFree(md);
    1643             exit(EXIT_FAILURE);
    1644         }
    1645         if (!psMetadataAddS32(md, PS_LIST_TAIL, "imfiles", 0, NULL, -32)) {
    1646             psFree(md);
    1647             exit(EXIT_FAILURE);
    1648         }
    1649         if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, "a string")) {
    1650             psFree(md);
    1651             exit(EXIT_FAILURE);
    1652         }
    1653         if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, "a string")) {
    1654             psFree(md);
    1655             exit(EXIT_FAILURE);
    1656         }
    1657 
    1658         object = detInputExpObjectFromMetadata(md);
    1659         if (!object) {
    1660             psFree(md);
    1661             exit(EXIT_FAILURE);
    1662         }
    1663 
    1664         psFree(md);
    1665 
    1666         if (!object->det_id == -32) {
    1667             psFree(object);
    1668             exit(EXIT_FAILURE);
    1669         }
    1670         if (!object->iteration == -32) {
    1671             psFree(object);
    1672             exit(EXIT_FAILURE);
    1673         }
    1674         if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
    1675             psFree(object);
    1676             exit(EXIT_FAILURE);
    1677         }
    1678         if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {
    1679             psFree(object);
    1680             exit(EXIT_FAILURE);
    1681         }
    1682         if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) {
    1683             psFree(object);
    1684             exit(EXIT_FAILURE);
    1685         }
    1686         if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {
    1687             psFree(object);
    1688             exit(EXIT_FAILURE);
    1689         }
    1690         if (!object->imfiles == -32) {
    1691             psFree(object);
    1692             exit(EXIT_FAILURE);
    1693         }
    1694         if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) {
    1695             psFree(object);
    1696             exit(EXIT_FAILURE);
    1697         }
    1698         if (strncmp(object->stats, "a string", MAX_STRING_LENGTH)) {
     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) {
    16991931            psFree(object);
    17001932            exit(EXIT_FAILURE);
  • branches/jhoblitt/ippdb/tests/pop.c

    r8026 r8079  
    244244        char            exp_type[256];
    245245        psS32           imfiles;
    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)) {
     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)) {
    253254            exit(EXIT_FAILURE);
    254255        }
     
    284285        psS32           imfiles;
    285286        char            filter[256];
    286         char            stats[256];
    287 
    288         dbh = psDBInit("localhost", "test", NULL, "test");
    289         if (!dbh) {
    290             exit(EXIT_FAILURE);
    291         }
    292 
    293         if (!rawDetrendExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&filter, (char **)&stats)) {
    294             exit(EXIT_FAILURE);
    295         }
    296 
    297         psDBCleanup(dbh);
    298     }
    299 
    300     {
    301         psDB            *dbh;
    302         char            exp_id[256];
    303         char            camera[256];
    304         char            telescope[256];
    305         char            exp_type[256];
    306         psS32           imfiles;
    307         char            filter[256];
    308         char            stats[256];
    309 
    310         dbh = psDBInit("localhost", "test", NULL, "test");
    311         if (!dbh) {
    312             exit(EXIT_FAILURE);
    313         }
    314 
    315         if (!rawScienceExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&filter, (char **)&stats)) {
     287        char            class[256];
     288        psF32           airmass;
     289        psF32           ra;
     290        psF32           dec;
     291        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)) {
     299            exit(EXIT_FAILURE);
     300        }
     301
     302        psDBCleanup(dbh);
     303    }
     304
     305    {
     306        psDB            *dbh;
     307        char            exp_id[256];
     308        char            camera[256];
     309        char            telescope[256];
     310        char            exp_type[256];
     311        psS32           imfiles;
     312        char            filter[256];
     313        char            class[256];
     314        psF32           airmass;
     315        psF32           ra;
     316        psF32           dec;
     317        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)) {
    316325            exit(EXIT_FAILURE);
    317326        }
     
    348357        psS32           imfiles;
    349358        char            filter[256];
    350         char            stats[256];
     359        char            class[256];
     360        psF32           airmass;
     361        psF32           ra;
     362        psF32           dec;
     363        psF32           exp_time;
    351364        char            recipe[256];
    352365        psS32           p1_version;
     
    357370        }
    358371
    359         if (!p1PendingExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&filter, (char **)&stats, (char **)&recipe, &p1_version)) {
    360             exit(EXIT_FAILURE);
    361         }
    362 
    363         psDBCleanup(dbh);
    364     }
    365 
    366     {
    367         psDB            *dbh;
    368         char            exp_id[256];
    369         char            camera[256];
    370         char            telescope[256];
    371         char            exp_type[256];
    372         psS32           imfiles;
    373         char            filter[256];
    374         char            stats[256];
     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;
    375392        char            recipe[256];
    376393        psS32           p1_version;
     
    382399        }
    383400
    384         if (!p2PendingExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&filter, (char **)&stats, (char **)&recipe, &p1_version, &p2_version)) {
     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)) {
    385402            exit(EXIT_FAILURE);
    386403        }
     
    419436        psS32           imfiles;
    420437        char            filter[256];
    421         char            stats[256];
     438        char            class[256];
     439        psF32           airmass;
     440        psF32           ra;
     441        psF32           dec;
     442        psF32           exp_time;
    422443        char            recipe[256];
    423444        psS32           p1_version;
     
    429450        }
    430451
    431         if (!p2DoneExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&filter, (char **)&stats, (char **)&recipe, &p1_version, &p2_version)) {
     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)) {
    432453            exit(EXIT_FAILURE);
    433454        }
     
    465486        psS32           imfiles;
    466487        char            filter[256];
    467         char            stats[256];
     488        char            class[256];
     489        psF32           airmass;
     490        psF32           ra;
     491        psF32           dec;
     492        psF32           exp_time;
    468493        char            recipe[256];
    469494        psS32           p2_version;
     
    475500        }
    476501
    477         if (!p3PendingExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&exp_type, &imfiles, (char **)&filter, (char **)&stats, (char **)&recipe, &p2_version, &p3_version)) {
     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)) {
    478503            exit(EXIT_FAILURE);
    479504        }
     
    509534        psS32           imfiles;
    510535        char            filter[256];
    511         char            stats[256];
    512 
    513         dbh = psDBInit("localhost", "test", NULL, "test");
    514         if (!dbh) {
    515             exit(EXIT_FAILURE);
    516         }
    517 
    518         if (!detInputExpPop(dbh, &det_id, &iteration, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&filter, (char **)&stats)) {
     536        char            class[256];
     537        psF32           airmass;
     538        psF32           ra;
     539        psF32           dec;
     540        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)) {
    519548            exit(EXIT_FAILURE);
    520549        }
Note: See TracChangeset for help on using the changeset viewer.