IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 8283


Ignore:
Timestamp:
Aug 10, 2006, 3:34:31 PM (20 years ago)
Author:
jhoblitt
Message:

VERSION 0.0.25

Location:
trunk/ippdb
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/ippdb/configure.ac

    r8266 r8283  
    11AC_PREREQ(2.59)
    22
    3 AC_INIT([ippdb], [0.0.24], [pan-starrs.ifa.hawaii.edu])
     3AC_INIT([ippdb], [0.0.25], [pan-starrs.ifa.hawaii.edu])
    44AC_CONFIG_SRCDIR([ippdb.pc.in])
    55
  • trunk/ippdb/src/ippdb.c

    r8266 r8283  
    55015501        return false;
    55025502    }
    5503     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, "Key", "64")) {
     5503    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, "Primary Key", "64")) {
    55045504        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    55055505        psFree(md);
     
    55215521        return false;
    55225522    }
    5523     if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, "64")) {
     5523    if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, "Primary Key", "64")) {
    55245524        psError(PS_ERR_UNKNOWN, false, "failed to add item class_id");
    55255525        psFree(md);
     
    65196519        return false;
    65206520    }
    6521     if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, "Primary Key", "64")) {
     6521    if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, "64")) {
    65226522        psError(PS_ERR_UNKNOWN, false, "failed to add item class");
    65236523        psFree(md);
     
    69446944static void rawDetrendExpRowFree(rawDetrendExpRow *object);
    69456945
    6946 rawDetrendExpRow *rawDetrendExpRowAlloc(const char *exp_id, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *filter, psF32 airmass, psF64 ra, psF64 decl, psF32 exp_time, psF64 background)
     6946rawDetrendExpRow *rawDetrendExpRowAlloc(const char *exp_id, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *filter, psF32 airmass, psF64 ra, psF64 decl, psF32 exp_time, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 alt, psF64 az, psF32 ccd_temp, psF64 posang)
    69476947{
    69486948    rawDetrendExpRow *object;
     
    69616961    object->decl = decl;
    69626962    object->exp_time = exp_time;
    6963     object->background = background;
     6963    object->bg = bg;
     6964    object->bg_stdev = bg_stdev;
     6965    object->bg_mean_stdev = bg_mean_stdev;
     6966    object->alt = alt;
     6967    object->az = az;
     6968    object->ccd_temp = ccd_temp;
     6969    object->posang = posang;
    69646970
    69656971    return object;
     
    70367042        return false;
    70377043    }
    7038     if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, 0.0)) {
    7039         psError(PS_ERR_UNKNOWN, false, "failed to add item background");
     7044    if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg", 0, NULL, 0.0)) {
     7045        psError(PS_ERR_UNKNOWN, false, "failed to add item bg");
     7046        psFree(md);
     7047        return false;
     7048    }
     7049    if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, 0.0)) {
     7050        psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev");
     7051        psFree(md);
     7052        return false;
     7053    }
     7054    if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, 0.0)) {
     7055        psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev");
     7056        psFree(md);
     7057        return false;
     7058    }
     7059    if (!psMetadataAddF64(md, PS_LIST_TAIL, "alt", 0, NULL, 0.0)) {
     7060        psError(PS_ERR_UNKNOWN, false, "failed to add item alt");
     7061        psFree(md);
     7062        return false;
     7063    }
     7064    if (!psMetadataAddF64(md, PS_LIST_TAIL, "az", 0, NULL, 0.0)) {
     7065        psError(PS_ERR_UNKNOWN, false, "failed to add item az");
     7066        psFree(md);
     7067        return false;
     7068    }
     7069    if (!psMetadataAddF32(md, PS_LIST_TAIL, "ccd_temp", 0, NULL, 0.0)) {
     7070        psError(PS_ERR_UNKNOWN, false, "failed to add item ccd_temp");
     7071        psFree(md);
     7072        return false;
     7073    }
     7074    if (!psMetadataAddF64(md, PS_LIST_TAIL, "posang", 0, NULL, 0.0)) {
     7075        psError(PS_ERR_UNKNOWN, false, "failed to add item posang");
    70407076        psFree(md);
    70417077        return false;
     
    70547090}
    70557091
    7056 bool rawDetrendExpInsert(psDB * dbh, const char *exp_id, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *filter, psF32 airmass, psF64 ra, psF64 decl, psF32 exp_time, psF64 background)
     7092bool rawDetrendExpInsert(psDB * dbh, const char *exp_id, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *filter, psF32 airmass, psF64 ra, psF64 decl, psF32 exp_time, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 alt, psF64 az, psF32 ccd_temp, psF64 posang)
    70577093{
    70587094    psMetadata      *md;
     
    71107146        return false;
    71117147    }
    7112     if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, background)) {
    7113         psError(PS_ERR_UNKNOWN, false, "failed to add item background");
     7148    if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg", 0, NULL, bg)) {
     7149        psError(PS_ERR_UNKNOWN, false, "failed to add item bg");
     7150        psFree(md);
     7151        return false;
     7152    }
     7153    if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, bg_stdev)) {
     7154        psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev");
     7155        psFree(md);
     7156        return false;
     7157    }
     7158    if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, bg_mean_stdev)) {
     7159        psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev");
     7160        psFree(md);
     7161        return false;
     7162    }
     7163    if (!psMetadataAddF64(md, PS_LIST_TAIL, "alt", 0, NULL, alt)) {
     7164        psError(PS_ERR_UNKNOWN, false, "failed to add item alt");
     7165        psFree(md);
     7166        return false;
     7167    }
     7168    if (!psMetadataAddF64(md, PS_LIST_TAIL, "az", 0, NULL, az)) {
     7169        psError(PS_ERR_UNKNOWN, false, "failed to add item az");
     7170        psFree(md);
     7171        return false;
     7172    }
     7173    if (!psMetadataAddF32(md, PS_LIST_TAIL, "ccd_temp", 0, NULL, ccd_temp)) {
     7174        psError(PS_ERR_UNKNOWN, false, "failed to add item ccd_temp");
     7175        psFree(md);
     7176        return false;
     7177    }
     7178    if (!psMetadataAddF64(md, PS_LIST_TAIL, "posang", 0, NULL, posang)) {
     7179        psError(PS_ERR_UNKNOWN, false, "failed to add item posang");
    71147180        psFree(md);
    71157181        return false;
     
    71367202    return deleted;
    71377203}
    7138 bool rawDetrendExpPop(psDB *dbh, char **exp_id, char **camera, char **telescope, char **exp_type, psS32 *imfiles, char **filter, psF32 *airmass, psF64 *ra, psF64 *decl, psF32 *exp_time, psF64 *background)
     7204bool rawDetrendExpPop(psDB *dbh, char **exp_id, char **camera, char **telescope, char **exp_type, psS32 *imfiles, char **filter, psF32 *airmass, psF64 *ra, psF64 *decl, psF32 *exp_time, psF64 *bg, psF64 *bg_stdev, psF64 *bg_mean_stdev, psF64 *alt, psF64 *az, psF32 *ccd_temp, psF64 *posang)
    71397205{
    71407206    psArray         *rowSet;
     
    72407306        return false;
    72417307    }
    7242     *background = psMetadataLookupF64(&status, row, "background");
    7243     if (!status) {
    7244         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item background");
     7308    *bg = psMetadataLookupF64(&status, row, "bg");
     7309    if (!status) {
     7310        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg");
     7311        psFree(row);
     7312        return false;
     7313    }
     7314    *bg_stdev = psMetadataLookupF64(&status, row, "bg_stdev");
     7315    if (!status) {
     7316        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_stdev");
     7317        psFree(row);
     7318        return false;
     7319    }
     7320    *bg_mean_stdev = psMetadataLookupF64(&status, row, "bg_mean_stdev");
     7321    if (!status) {
     7322        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_mean_stdev");
     7323        psFree(row);
     7324        return false;
     7325    }
     7326    *alt = psMetadataLookupF64(&status, row, "alt");
     7327    if (!status) {
     7328        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item alt");
     7329        psFree(row);
     7330        return false;
     7331    }
     7332    *az = psMetadataLookupF64(&status, row, "az");
     7333    if (!status) {
     7334        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item az");
     7335        psFree(row);
     7336        return false;
     7337    }
     7338    *ccd_temp = psMetadataLookupF32(&status, row, "ccd_temp");
     7339    if (!status) {
     7340        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ccd_temp");
     7341        psFree(row);
     7342        return false;
     7343    }
     7344    *posang = psMetadataLookupF64(&status, row, "posang");
     7345    if (!status) {
     7346        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item posang");
    72457347        psFree(row);
    72467348        return false;
     
    72547356bool rawDetrendExpInsertObject(psDB *dbh, rawDetrendExpRow *object)
    72557357{
    7256     return rawDetrendExpInsert(dbh, object->exp_id, object->camera, object->telescope, object->exp_type, object->imfiles, object->filter, object->airmass, object->ra, object->decl, object->exp_time, object->background);
     7358    return rawDetrendExpInsert(dbh, object->exp_id, object->camera, object->telescope, object->exp_type, object->imfiles, object->filter, object->airmass, object->ra, object->decl, object->exp_time, object->bg, object->bg_stdev, object->bg_mean_stdev, object->alt, object->az, object->ccd_temp, object->posang);
    72577359}
    72587360
     
    72697371    psF64           decl;
    72707372    psF32           exp_time;
    7271     psF64           background;
    7272 
    7273     if (!rawDetrendExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&filter, &airmass, &ra, &decl, &exp_time, &background)) {
     7373    psF64           bg;
     7374    psF64           bg_stdev;
     7375    psF64           bg_mean_stdev;
     7376    psF64           alt;
     7377    psF64           az;
     7378    psF32           ccd_temp;
     7379    psF64           posang;
     7380
     7381    if (!rawDetrendExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&filter, &airmass, &ra, &decl, &exp_time, &bg, &bg_stdev, &bg_mean_stdev, &alt, &az, &ccd_temp, &posang)) {
    72747382        psError(PS_ERR_UNKNOWN, false, "failed to pop a database row");
    72757383        return NULL;
    72767384    }
    72777385
    7278     return rawDetrendExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, airmass, ra, decl, exp_time, background);
     7386    return rawDetrendExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, airmass, ra, decl, exp_time, bg, bg_stdev, bg_mean_stdev, alt, az, ccd_temp, posang);
    72797387}
    72807388
     
    74257533        return NULL;
    74267534    }
    7427     if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, object->background)) {
    7428         psError(PS_ERR_UNKNOWN, false, "failed to add item background");
     7535    if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg", 0, NULL, object->bg)) {
     7536        psError(PS_ERR_UNKNOWN, false, "failed to add item bg");
     7537        psFree(md);
     7538        return NULL;
     7539    }
     7540    if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, object->bg_stdev)) {
     7541        psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev");
     7542        psFree(md);
     7543        return NULL;
     7544    }
     7545    if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, object->bg_mean_stdev)) {
     7546        psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev");
     7547        psFree(md);
     7548        return NULL;
     7549    }
     7550    if (!psMetadataAddF64(md, PS_LIST_TAIL, "alt", 0, NULL, object->alt)) {
     7551        psError(PS_ERR_UNKNOWN, false, "failed to add item alt");
     7552        psFree(md);
     7553        return NULL;
     7554    }
     7555    if (!psMetadataAddF64(md, PS_LIST_TAIL, "az", 0, NULL, object->az)) {
     7556        psError(PS_ERR_UNKNOWN, false, "failed to add item az");
     7557        psFree(md);
     7558        return NULL;
     7559    }
     7560    if (!psMetadataAddF32(md, PS_LIST_TAIL, "ccd_temp", 0, NULL, object->ccd_temp)) {
     7561        psError(PS_ERR_UNKNOWN, false, "failed to add item ccd_temp");
     7562        psFree(md);
     7563        return NULL;
     7564    }
     7565    if (!psMetadataAddF64(md, PS_LIST_TAIL, "posang", 0, NULL, object->posang)) {
     7566        psError(PS_ERR_UNKNOWN, false, "failed to add item posang");
    74297567        psFree(md);
    74307568        return NULL;
     
    74477585    psF64           decl;
    74487586    psF32           exp_time;
    7449     psF64           background;
     7587    psF64           bg;
     7588    psF64           bg_stdev;
     7589    psF64           bg_mean_stdev;
     7590    psF64           alt;
     7591    psF64           az;
     7592    psF32           ccd_temp;
     7593    psF64           posang;
    74507594
    74517595    exp_id = psMetadataLookupPtr(&status, md, "exp_id");
     
    74997643        return false;
    75007644    }
    7501     background = psMetadataLookupF64(&status, md, "background");
    7502     if (!status) {
    7503         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item background");
    7504         return false;
    7505     }
    7506 
    7507     return rawDetrendExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, airmass, ra, decl, exp_time, background);
     7645    bg = psMetadataLookupF64(&status, md, "bg");
     7646    if (!status) {
     7647        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg");
     7648        return false;
     7649    }
     7650    bg_stdev = psMetadataLookupF64(&status, md, "bg_stdev");
     7651    if (!status) {
     7652        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_stdev");
     7653        return false;
     7654    }
     7655    bg_mean_stdev = psMetadataLookupF64(&status, md, "bg_mean_stdev");
     7656    if (!status) {
     7657        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_mean_stdev");
     7658        return false;
     7659    }
     7660    alt = psMetadataLookupF64(&status, md, "alt");
     7661    if (!status) {
     7662        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item alt");
     7663        return false;
     7664    }
     7665    az = psMetadataLookupF64(&status, md, "az");
     7666    if (!status) {
     7667        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item az");
     7668        return false;
     7669    }
     7670    ccd_temp = psMetadataLookupF32(&status, md, "ccd_temp");
     7671    if (!status) {
     7672        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ccd_temp");
     7673        return false;
     7674    }
     7675    posang = psMetadataLookupF64(&status, md, "posang");
     7676    if (!status) {
     7677        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item posang");
     7678        return false;
     7679    }
     7680
     7681    return rawDetrendExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, airmass, ra, decl, exp_time, bg, bg_stdev, bg_mean_stdev, alt, az, ccd_temp, posang);
    75087682}
    75097683psArray *rawDetrendExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     
    76127786static void rawScienceExpRowFree(rawScienceExpRow *object);
    76137787
    7614 rawScienceExpRow *rawScienceExpRowAlloc(const char *exp_id, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *filter, psF32 airmass, psF64 ra, psF64 decl, psF32 exp_time, psF64 background)
     7788rawScienceExpRow *rawScienceExpRowAlloc(const char *exp_id, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *filter, psF32 airmass, psF64 ra, psF64 decl, psF32 exp_time, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 alt, psF64 az, psF32 ccd_temp, psF64 posang)
    76157789{
    76167790    rawScienceExpRow *object;
     
    76297803    object->decl = decl;
    76307804    object->exp_time = exp_time;
    7631     object->background = background;
     7805    object->bg = bg;
     7806    object->bg_stdev = bg_stdev;
     7807    object->bg_mean_stdev = bg_mean_stdev;
     7808    object->alt = alt;
     7809    object->az = az;
     7810    object->ccd_temp = ccd_temp;
     7811    object->posang = posang;
    76327812
    76337813    return object;
     
    77047884        return false;
    77057885    }
    7706     if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, 0.0)) {
    7707         psError(PS_ERR_UNKNOWN, false, "failed to add item background");
     7886    if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg", 0, NULL, 0.0)) {
     7887        psError(PS_ERR_UNKNOWN, false, "failed to add item bg");
     7888        psFree(md);
     7889        return false;
     7890    }
     7891    if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, 0.0)) {
     7892        psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev");
     7893        psFree(md);
     7894        return false;
     7895    }
     7896    if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, 0.0)) {
     7897        psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev");
     7898        psFree(md);
     7899        return false;
     7900    }
     7901    if (!psMetadataAddF64(md, PS_LIST_TAIL, "alt", 0, NULL, 0.0)) {
     7902        psError(PS_ERR_UNKNOWN, false, "failed to add item alt");
     7903        psFree(md);
     7904        return false;
     7905    }
     7906    if (!psMetadataAddF64(md, PS_LIST_TAIL, "az", 0, NULL, 0.0)) {
     7907        psError(PS_ERR_UNKNOWN, false, "failed to add item az");
     7908        psFree(md);
     7909        return false;
     7910    }
     7911    if (!psMetadataAddF32(md, PS_LIST_TAIL, "ccd_temp", 0, NULL, 0.0)) {
     7912        psError(PS_ERR_UNKNOWN, false, "failed to add item ccd_temp");
     7913        psFree(md);
     7914        return false;
     7915    }
     7916    if (!psMetadataAddF64(md, PS_LIST_TAIL, "posang", 0, NULL, 0.0)) {
     7917        psError(PS_ERR_UNKNOWN, false, "failed to add item posang");
    77087918        psFree(md);
    77097919        return false;
     
    77227932}
    77237933
    7724 bool rawScienceExpInsert(psDB * dbh, const char *exp_id, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *filter, psF32 airmass, psF64 ra, psF64 decl, psF32 exp_time, psF64 background)
     7934bool rawScienceExpInsert(psDB * dbh, const char *exp_id, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *filter, psF32 airmass, psF64 ra, psF64 decl, psF32 exp_time, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 alt, psF64 az, psF32 ccd_temp, psF64 posang)
    77257935{
    77267936    psMetadata      *md;
     
    77787988        return false;
    77797989    }
    7780     if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, background)) {
    7781         psError(PS_ERR_UNKNOWN, false, "failed to add item background");
     7990    if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg", 0, NULL, bg)) {
     7991        psError(PS_ERR_UNKNOWN, false, "failed to add item bg");
     7992        psFree(md);
     7993        return false;
     7994    }
     7995    if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, bg_stdev)) {
     7996        psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev");
     7997        psFree(md);
     7998        return false;
     7999    }
     8000    if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, bg_mean_stdev)) {
     8001        psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev");
     8002        psFree(md);
     8003        return false;
     8004    }
     8005    if (!psMetadataAddF64(md, PS_LIST_TAIL, "alt", 0, NULL, alt)) {
     8006        psError(PS_ERR_UNKNOWN, false, "failed to add item alt");
     8007        psFree(md);
     8008        return false;
     8009    }
     8010    if (!psMetadataAddF64(md, PS_LIST_TAIL, "az", 0, NULL, az)) {
     8011        psError(PS_ERR_UNKNOWN, false, "failed to add item az");
     8012        psFree(md);
     8013        return false;
     8014    }
     8015    if (!psMetadataAddF32(md, PS_LIST_TAIL, "ccd_temp", 0, NULL, ccd_temp)) {
     8016        psError(PS_ERR_UNKNOWN, false, "failed to add item ccd_temp");
     8017        psFree(md);
     8018        return false;
     8019    }
     8020    if (!psMetadataAddF64(md, PS_LIST_TAIL, "posang", 0, NULL, posang)) {
     8021        psError(PS_ERR_UNKNOWN, false, "failed to add item posang");
    77828022        psFree(md);
    77838023        return false;
     
    78048044    return deleted;
    78058045}
    7806 bool rawScienceExpPop(psDB *dbh, char **exp_id, char **camera, char **telescope, char **exp_type, psS32 *imfiles, char **filter, psF32 *airmass, psF64 *ra, psF64 *decl, psF32 *exp_time, psF64 *background)
     8046bool rawScienceExpPop(psDB *dbh, char **exp_id, char **camera, char **telescope, char **exp_type, psS32 *imfiles, char **filter, psF32 *airmass, psF64 *ra, psF64 *decl, psF32 *exp_time, psF64 *bg, psF64 *bg_stdev, psF64 *bg_mean_stdev, psF64 *alt, psF64 *az, psF32 *ccd_temp, psF64 *posang)
    78078047{
    78088048    psArray         *rowSet;
     
    79088148        return false;
    79098149    }
    7910     *background = psMetadataLookupF64(&status, row, "background");
    7911     if (!status) {
    7912         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item background");
     8150    *bg = psMetadataLookupF64(&status, row, "bg");
     8151    if (!status) {
     8152        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg");
     8153        psFree(row);
     8154        return false;
     8155    }
     8156    *bg_stdev = psMetadataLookupF64(&status, row, "bg_stdev");
     8157    if (!status) {
     8158        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_stdev");
     8159        psFree(row);
     8160        return false;
     8161    }
     8162    *bg_mean_stdev = psMetadataLookupF64(&status, row, "bg_mean_stdev");
     8163    if (!status) {
     8164        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_mean_stdev");
     8165        psFree(row);
     8166        return false;
     8167    }
     8168    *alt = psMetadataLookupF64(&status, row, "alt");
     8169    if (!status) {
     8170        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item alt");
     8171        psFree(row);
     8172        return false;
     8173    }
     8174    *az = psMetadataLookupF64(&status, row, "az");
     8175    if (!status) {
     8176        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item az");
     8177        psFree(row);
     8178        return false;
     8179    }
     8180    *ccd_temp = psMetadataLookupF32(&status, row, "ccd_temp");
     8181    if (!status) {
     8182        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ccd_temp");
     8183        psFree(row);
     8184        return false;
     8185    }
     8186    *posang = psMetadataLookupF64(&status, row, "posang");
     8187    if (!status) {
     8188        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item posang");
    79138189        psFree(row);
    79148190        return false;
     
    79228198bool rawScienceExpInsertObject(psDB *dbh, rawScienceExpRow *object)
    79238199{
    7924     return rawScienceExpInsert(dbh, object->exp_id, object->camera, object->telescope, object->exp_type, object->imfiles, object->filter, object->airmass, object->ra, object->decl, object->exp_time, object->background);
     8200    return rawScienceExpInsert(dbh, object->exp_id, object->camera, object->telescope, object->exp_type, object->imfiles, object->filter, object->airmass, object->ra, object->decl, object->exp_time, object->bg, object->bg_stdev, object->bg_mean_stdev, object->alt, object->az, object->ccd_temp, object->posang);
    79258201}
    79268202
     
    79378213    psF64           decl;
    79388214    psF32           exp_time;
    7939     psF64           background;
    7940 
    7941     if (!rawScienceExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&filter, &airmass, &ra, &decl, &exp_time, &background)) {
     8215    psF64           bg;
     8216    psF64           bg_stdev;
     8217    psF64           bg_mean_stdev;
     8218    psF64           alt;
     8219    psF64           az;
     8220    psF32           ccd_temp;
     8221    psF64           posang;
     8222
     8223    if (!rawScienceExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&filter, &airmass, &ra, &decl, &exp_time, &bg, &bg_stdev, &bg_mean_stdev, &alt, &az, &ccd_temp, &posang)) {
    79428224        psError(PS_ERR_UNKNOWN, false, "failed to pop a database row");
    79438225        return NULL;
    79448226    }
    79458227
    7946     return rawScienceExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, airmass, ra, decl, exp_time, background);
     8228    return rawScienceExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, airmass, ra, decl, exp_time, bg, bg_stdev, bg_mean_stdev, alt, az, ccd_temp, posang);
    79478229}
    79488230
     
    80938375        return NULL;
    80948376    }
    8095     if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, object->background)) {
    8096         psError(PS_ERR_UNKNOWN, false, "failed to add item background");
     8377    if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg", 0, NULL, object->bg)) {
     8378        psError(PS_ERR_UNKNOWN, false, "failed to add item bg");
     8379        psFree(md);
     8380        return NULL;
     8381    }
     8382    if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, object->bg_stdev)) {
     8383        psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev");
     8384        psFree(md);
     8385        return NULL;
     8386    }
     8387    if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, object->bg_mean_stdev)) {
     8388        psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev");
     8389        psFree(md);
     8390        return NULL;
     8391    }
     8392    if (!psMetadataAddF64(md, PS_LIST_TAIL, "alt", 0, NULL, object->alt)) {
     8393        psError(PS_ERR_UNKNOWN, false, "failed to add item alt");
     8394        psFree(md);
     8395        return NULL;
     8396    }
     8397    if (!psMetadataAddF64(md, PS_LIST_TAIL, "az", 0, NULL, object->az)) {
     8398        psError(PS_ERR_UNKNOWN, false, "failed to add item az");
     8399        psFree(md);
     8400        return NULL;
     8401    }
     8402    if (!psMetadataAddF32(md, PS_LIST_TAIL, "ccd_temp", 0, NULL, object->ccd_temp)) {
     8403        psError(PS_ERR_UNKNOWN, false, "failed to add item ccd_temp");
     8404        psFree(md);
     8405        return NULL;
     8406    }
     8407    if (!psMetadataAddF64(md, PS_LIST_TAIL, "posang", 0, NULL, object->posang)) {
     8408        psError(PS_ERR_UNKNOWN, false, "failed to add item posang");
    80978409        psFree(md);
    80988410        return NULL;
     
    81158427    psF64           decl;
    81168428    psF32           exp_time;
    8117     psF64           background;
     8429    psF64           bg;
     8430    psF64           bg_stdev;
     8431    psF64           bg_mean_stdev;
     8432    psF64           alt;
     8433    psF64           az;
     8434    psF32           ccd_temp;
     8435    psF64           posang;
    81188436
    81198437    exp_id = psMetadataLookupPtr(&status, md, "exp_id");
     
    81678485        return false;
    81688486    }
    8169     background = psMetadataLookupF64(&status, md, "background");
    8170     if (!status) {
    8171         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item background");
    8172         return false;
    8173     }
    8174 
    8175     return rawScienceExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, airmass, ra, decl, exp_time, background);
     8487    bg = psMetadataLookupF64(&status, md, "bg");
     8488    if (!status) {
     8489        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg");
     8490        return false;
     8491    }
     8492    bg_stdev = psMetadataLookupF64(&status, md, "bg_stdev");
     8493    if (!status) {
     8494        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_stdev");
     8495        return false;
     8496    }
     8497    bg_mean_stdev = psMetadataLookupF64(&status, md, "bg_mean_stdev");
     8498    if (!status) {
     8499        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_mean_stdev");
     8500        return false;
     8501    }
     8502    alt = psMetadataLookupF64(&status, md, "alt");
     8503    if (!status) {
     8504        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item alt");
     8505        return false;
     8506    }
     8507    az = psMetadataLookupF64(&status, md, "az");
     8508    if (!status) {
     8509        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item az");
     8510        return false;
     8511    }
     8512    ccd_temp = psMetadataLookupF32(&status, md, "ccd_temp");
     8513    if (!status) {
     8514        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ccd_temp");
     8515        return false;
     8516    }
     8517    posang = psMetadataLookupF64(&status, md, "posang");
     8518    if (!status) {
     8519        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item posang");
     8520        return false;
     8521    }
     8522
     8523    return rawScienceExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, airmass, ra, decl, exp_time, bg, bg_stdev, bg_mean_stdev, alt, az, ccd_temp, posang);
    81768524}
    81778525psArray *rawScienceExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     
    83328680        return false;
    83338681    }
    8334     if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, "Primary Key", "64")) {
     8682    if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, "64")) {
    83358683        psError(PS_ERR_UNKNOWN, false, "failed to add item class");
    83368684        psFree(md);
     
    90939441static void p1PendingExpRowFree(p1PendingExpRow *object);
    90949442
    9095 p1PendingExpRow *p1PendingExpRowAlloc(const char *exp_id, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *filter, psF32 airmass, psF64 ra, psF64 decl, psF32 exp_time, psF64 background, const char *recipe, psS32 p1_version)
     9443p1PendingExpRow *p1PendingExpRowAlloc(const char *exp_id, const char *recipe, psS32 p1_version)
    90969444{
    90979445    p1PendingExpRow *object;
     
    91019449
    91029450    object->exp_id = psStringCopy(exp_id);
    9103     object->camera = psStringCopy(camera);
    9104     object->telescope = psStringCopy(telescope);
    9105     object->exp_type = psStringCopy(exp_type);
    9106     object->imfiles = imfiles;
    9107     object->filter = psStringCopy(filter);
    9108     object->airmass = airmass;
    9109     object->ra = ra;
    9110     object->decl = decl;
    9111     object->exp_time = exp_time;
    9112     object->background = background;
    91139451    object->recipe = psStringCopy(recipe);
    91149452    object->p1_version = p1_version;
     
    91209458{
    91219459    psFree(object->exp_id);
    9122     psFree(object->camera);
    9123     psFree(object->telescope);
    9124     psFree(object->exp_type);
    9125     psFree(object->filter);
    91269460    psFree(object->recipe);
    91279461}
     
    91439477        return false;
    91449478    }
    9145     if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, "255")) {
    9146         psError(PS_ERR_UNKNOWN, false, "failed to add item camera");
    9147         psFree(md);
    9148         return false;
    9149     }
    9150     if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, "255")) {
    9151         psError(PS_ERR_UNKNOWN, false, "failed to add item telescope");
    9152         psFree(md);
    9153         return false;
    9154     }
    9155     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, "64")) {
    9156         psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type");
    9157         psFree(md);
    9158         return false;
    9159     }
    9160     if (!psMetadataAddS32(md, PS_LIST_TAIL, "imfiles", 0, NULL, 0)) {
    9161         psError(PS_ERR_UNKNOWN, false, "failed to add item imfiles");
    9162         psFree(md);
    9163         return false;
    9164     }
    9165     if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, "255")) {
    9166         psError(PS_ERR_UNKNOWN, false, "failed to add item filter");
    9167         psFree(md);
    9168         return false;
    9169     }
    9170     if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, 0.0)) {
    9171         psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
    9172         psFree(md);
    9173         return false;
    9174     }
    9175     if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, 0.0)) {
    9176         psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
    9177         psFree(md);
    9178         return false;
    9179     }
    9180     if (!psMetadataAddF64(md, PS_LIST_TAIL, "decl", 0, NULL, 0.0)) {
    9181         psError(PS_ERR_UNKNOWN, false, "failed to add item decl");
    9182         psFree(md);
    9183         return false;
    9184     }
    9185     if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, 0.0)) {
    9186         psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time");
    9187         psFree(md);
    9188         return false;
    9189     }
    9190     if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, 0.0)) {
    9191         psError(PS_ERR_UNKNOWN, false, "failed to add item background");
    9192         psFree(md);
    9193         return false;
    9194     }
    91959479    if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, "64")) {
    91969480        psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
     
    92169500}
    92179501
    9218 bool p1PendingExpInsert(psDB * dbh, const char *exp_id, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *filter, psF32 airmass, psF64 ra, psF64 decl, psF32 exp_time, psF64 background, const char *recipe, psS32 p1_version)
     9502bool p1PendingExpInsert(psDB * dbh, const char *exp_id, const char *recipe, psS32 p1_version)
    92199503{
    92209504    psMetadata      *md;
     
    92249508    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, exp_id)) {
    92259509        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    9226         psFree(md);
    9227         return false;
    9228     }
    9229     if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, camera)) {
    9230         psError(PS_ERR_UNKNOWN, false, "failed to add item camera");
    9231         psFree(md);
    9232         return false;
    9233     }
    9234     if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, telescope)) {
    9235         psError(PS_ERR_UNKNOWN, false, "failed to add item telescope");
    9236         psFree(md);
    9237         return false;
    9238     }
    9239     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, exp_type)) {
    9240         psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type");
    9241         psFree(md);
    9242         return false;
    9243     }
    9244     if (!psMetadataAddS32(md, PS_LIST_TAIL, "imfiles", 0, NULL, imfiles)) {
    9245         psError(PS_ERR_UNKNOWN, false, "failed to add item imfiles");
    9246         psFree(md);
    9247         return false;
    9248     }
    9249     if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, filter)) {
    9250         psError(PS_ERR_UNKNOWN, false, "failed to add item filter");
    9251         psFree(md);
    9252         return false;
    9253     }
    9254     if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, airmass)) {
    9255         psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
    9256         psFree(md);
    9257         return false;
    9258     }
    9259     if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, ra)) {
    9260         psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
    9261         psFree(md);
    9262         return false;
    9263     }
    9264     if (!psMetadataAddF64(md, PS_LIST_TAIL, "decl", 0, NULL, decl)) {
    9265         psError(PS_ERR_UNKNOWN, false, "failed to add item decl");
    9266         psFree(md);
    9267         return false;
    9268     }
    9269     if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, exp_time)) {
    9270         psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time");
    9271         psFree(md);
    9272         return false;
    9273     }
    9274     if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, background)) {
    9275         psError(PS_ERR_UNKNOWN, false, "failed to add item background");
    92769510        psFree(md);
    92779511        return false;
     
    93089542    return deleted;
    93099543}
    9310 bool p1PendingExpPop(psDB *dbh, char **exp_id, char **camera, char **telescope, char **exp_type, psS32 *imfiles, char **filter, psF32 *airmass, psF64 *ra, psF64 *decl, psF32 *exp_time, psF64 *background, char **recipe, psS32 *p1_version)
     9544bool p1PendingExpPop(psDB *dbh, char **exp_id, char **recipe, psS32 *p1_version)
    93119545{
    93129546    psArray         *rowSet;
     
    93589592        return false;
    93599593    }
    9360     *camera = psMetadataLookupPtr(&status, row, "camera");
    9361     if (!status) {
    9362         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item camera");
    9363         psFree(row);
    9364         return false;
    9365     }
    9366     *telescope = psMetadataLookupPtr(&status, row, "telescope");
    9367     if (!status) {
    9368         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item telescope");
    9369         psFree(row);
    9370         return false;
    9371     }
    9372     *exp_type = psMetadataLookupPtr(&status, row, "exp_type");
    9373     if (!status) {
    9374         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_type");
    9375         psFree(row);
    9376         return false;
    9377     }
    9378     *imfiles = psMetadataLookupS32(&status, row, "imfiles");
    9379     if (!status) {
    9380         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item imfiles");
    9381         psFree(row);
    9382         return false;
    9383     }
    9384     *filter = psMetadataLookupPtr(&status, row, "filter");
    9385     if (!status) {
    9386         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item filter");
    9387         psFree(row);
    9388         return false;
    9389     }
    9390     *airmass = psMetadataLookupF32(&status, row, "airmass");
    9391     if (!status) {
    9392         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item airmass");
    9393         psFree(row);
    9394         return false;
    9395     }
    9396     *ra = psMetadataLookupF64(&status, row, "ra");
    9397     if (!status) {
    9398         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ra");
    9399         psFree(row);
    9400         return false;
    9401     }
    9402     *decl = psMetadataLookupF64(&status, row, "decl");
    9403     if (!status) {
    9404         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item decl");
    9405         psFree(row);
    9406         return false;
    9407     }
    9408     *exp_time = psMetadataLookupF32(&status, row, "exp_time");
    9409     if (!status) {
    9410         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_time");
    9411         psFree(row);
    9412         return false;
    9413     }
    9414     *background = psMetadataLookupF64(&status, row, "background");
    9415     if (!status) {
    9416         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item background");
    9417         psFree(row);
    9418         return false;
    9419     }
    94209594    *recipe = psMetadataLookupPtr(&status, row, "recipe");
    94219595    if (!status) {
     
    94389612bool p1PendingExpInsertObject(psDB *dbh, p1PendingExpRow *object)
    94399613{
    9440     return p1PendingExpInsert(dbh, object->exp_id, object->camera, object->telescope, object->exp_type, object->imfiles, object->filter, object->airmass, object->ra, object->decl, object->exp_time, object->background, object->recipe, object->p1_version);
     9614    return p1PendingExpInsert(dbh, object->exp_id, object->recipe, object->p1_version);
    94419615}
    94429616
     
    94449618{
    94459619    char            exp_id[256];
    9446     char            camera[256];
    9447     char            telescope[256];
    9448     char            exp_type[256];
    9449     psS32           imfiles;
    9450     char            filter[256];
    9451     psF32           airmass;
    9452     psF64           ra;
    9453     psF64           decl;
    9454     psF32           exp_time;
    9455     psF64           background;
    94569620    char            recipe[256];
    94579621    psS32           p1_version;
    94589622
    9459     if (!p1PendingExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&filter, &airmass, &ra, &decl, &exp_time, &background, (char **)&recipe, &p1_version)) {
     9623    if (!p1PendingExpPop(dbh, (char **)&exp_id, (char **)&recipe, &p1_version)) {
    94609624        psError(PS_ERR_UNKNOWN, false, "failed to pop a database row");
    94619625        return NULL;
    94629626    }
    94639627
    9464     return p1PendingExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, airmass, ra, decl, exp_time, background, recipe, p1_version);
     9628    return p1PendingExpRowAlloc(exp_id, recipe, p1_version);
    94659629}
    94669630
     
    95669730        return NULL;
    95679731    }
    9568     if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, object->camera)) {
    9569         psError(PS_ERR_UNKNOWN, false, "failed to add item camera");
    9570         psFree(md);
    9571         return NULL;
    9572     }
    9573     if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, object->telescope)) {
    9574         psError(PS_ERR_UNKNOWN, false, "failed to add item telescope");
    9575         psFree(md);
    9576         return NULL;
    9577     }
    9578     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, object->exp_type)) {
    9579         psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type");
    9580         psFree(md);
    9581         return NULL;
    9582     }
    9583     if (!psMetadataAddS32(md, PS_LIST_TAIL, "imfiles", 0, NULL, object->imfiles)) {
    9584         psError(PS_ERR_UNKNOWN, false, "failed to add item imfiles");
    9585         psFree(md);
    9586         return NULL;
    9587     }
    9588     if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, object->filter)) {
    9589         psError(PS_ERR_UNKNOWN, false, "failed to add item filter");
    9590         psFree(md);
    9591         return NULL;
    9592     }
    9593     if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, object->airmass)) {
    9594         psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
    9595         psFree(md);
    9596         return NULL;
    9597     }
    9598     if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, object->ra)) {
    9599         psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
    9600         psFree(md);
    9601         return NULL;
    9602     }
    9603     if (!psMetadataAddF64(md, PS_LIST_TAIL, "decl", 0, NULL, object->decl)) {
    9604         psError(PS_ERR_UNKNOWN, false, "failed to add item decl");
    9605         psFree(md);
    9606         return NULL;
    9607     }
    9608     if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, object->exp_time)) {
    9609         psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time");
    9610         psFree(md);
    9611         return NULL;
    9612     }
    9613     if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, object->background)) {
    9614         psError(PS_ERR_UNKNOWN, false, "failed to add item background");
    9615         psFree(md);
    9616         return NULL;
    9617     }
    96189732    if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, object->recipe)) {
    96199733        psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
     
    96349748    bool            status;
    96359749    char            *exp_id;
    9636     char            *camera;
    9637     char            *telescope;
    9638     char            *exp_type;
    9639     psS32           imfiles;
    9640     char            *filter;
    9641     psF32           airmass;
    9642     psF64           ra;
    9643     psF64           decl;
    9644     psF32           exp_time;
    9645     psF64           background;
    96469750    char            *recipe;
    96479751    psS32           p1_version;
     
    96529756        return false;
    96539757    }
    9654     camera = psMetadataLookupPtr(&status, md, "camera");
    9655     if (!status) {
    9656         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item camera");
    9657         return false;
    9658     }
    9659     telescope = psMetadataLookupPtr(&status, md, "telescope");
    9660     if (!status) {
    9661         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item telescope");
    9662         return false;
    9663     }
    9664     exp_type = psMetadataLookupPtr(&status, md, "exp_type");
    9665     if (!status) {
    9666         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_type");
    9667         return false;
    9668     }
    9669     imfiles = psMetadataLookupS32(&status, md, "imfiles");
    9670     if (!status) {
    9671         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item imfiles");
    9672         return false;
    9673     }
    9674     filter = psMetadataLookupPtr(&status, md, "filter");
    9675     if (!status) {
    9676         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item filter");
    9677         return false;
    9678     }
    9679     airmass = psMetadataLookupF32(&status, md, "airmass");
    9680     if (!status) {
    9681         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item airmass");
    9682         return false;
    9683     }
    9684     ra = psMetadataLookupF64(&status, md, "ra");
    9685     if (!status) {
    9686         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ra");
    9687         return false;
    9688     }
    9689     decl = psMetadataLookupF64(&status, md, "decl");
    9690     if (!status) {
    9691         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item decl");
    9692         return false;
    9693     }
    9694     exp_time = psMetadataLookupF32(&status, md, "exp_time");
    9695     if (!status) {
    9696         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_time");
    9697         return false;
    9698     }
    9699     background = psMetadataLookupF64(&status, md, "background");
    9700     if (!status) {
    9701         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item background");
    9702         return false;
    9703     }
    97049758    recipe = psMetadataLookupPtr(&status, md, "recipe");
    97059759    if (!status) {
     
    97139767    }
    97149768
    9715     return p1PendingExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, airmass, ra, decl, exp_time, background, recipe, p1_version);
     9769    return p1PendingExpRowAlloc(exp_id, recipe, p1_version);
    97169770}
    97179771psArray *p1PendingExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     
    98209874static void p2PendingExpRowFree(p2PendingExpRow *object);
    98219875
    9822 p2PendingExpRow *p2PendingExpRowAlloc(const char *exp_id, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *filter, psF32 airmass, psF32 ra, psF64 decl, psF64 exp_time, psF64 background, const char *recipe, psS32 p1_version, psS32 p2_version)
     9876p2PendingExpRow *p2PendingExpRowAlloc(const char *exp_id, const char *recipe, psS32 p1_version, psS32 p2_version)
    98239877{
    98249878    p2PendingExpRow *object;
     
    98289882
    98299883    object->exp_id = psStringCopy(exp_id);
    9830     object->camera = psStringCopy(camera);
    9831     object->telescope = psStringCopy(telescope);
    9832     object->exp_type = psStringCopy(exp_type);
    9833     object->imfiles = imfiles;
    9834     object->filter = psStringCopy(filter);
    9835     object->airmass = airmass;
    9836     object->ra = ra;
    9837     object->decl = decl;
    9838     object->exp_time = exp_time;
    9839     object->background = background;
    98409884    object->recipe = psStringCopy(recipe);
    98419885    object->p1_version = p1_version;
     
    98489892{
    98499893    psFree(object->exp_id);
    9850     psFree(object->camera);
    9851     psFree(object->telescope);
    9852     psFree(object->exp_type);
    9853     psFree(object->filter);
    98549894    psFree(object->recipe);
    98559895}
     
    98719911        return false;
    98729912    }
    9873     if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, "255")) {
    9874         psError(PS_ERR_UNKNOWN, false, "failed to add item camera");
    9875         psFree(md);
    9876         return false;
    9877     }
    9878     if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, "255")) {
    9879         psError(PS_ERR_UNKNOWN, false, "failed to add item telescope");
    9880         psFree(md);
    9881         return false;
    9882     }
    9883     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, "64")) {
    9884         psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type");
    9885         psFree(md);
    9886         return false;
    9887     }
    9888     if (!psMetadataAddS32(md, PS_LIST_TAIL, "imfiles", 0, NULL, 0)) {
    9889         psError(PS_ERR_UNKNOWN, false, "failed to add item imfiles");
    9890         psFree(md);
    9891         return false;
    9892     }
    9893     if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, "255")) {
    9894         psError(PS_ERR_UNKNOWN, false, "failed to add item filter");
    9895         psFree(md);
    9896         return false;
    9897     }
    9898     if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, 0.0)) {
    9899         psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
    9900         psFree(md);
    9901         return false;
    9902     }
    9903     if (!psMetadataAddF32(md, PS_LIST_TAIL, "ra", 0, NULL, 0.0)) {
    9904         psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
    9905         psFree(md);
    9906         return false;
    9907     }
    9908     if (!psMetadataAddF64(md, PS_LIST_TAIL, "decl", 0, NULL, 0.0)) {
    9909         psError(PS_ERR_UNKNOWN, false, "failed to add item decl");
    9910         psFree(md);
    9911         return false;
    9912     }
    9913     if (!psMetadataAddF64(md, PS_LIST_TAIL, "exp_time", 0, NULL, 0.0)) {
    9914         psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time");
    9915         psFree(md);
    9916         return false;
    9917     }
    9918     if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, 0.0)) {
    9919         psError(PS_ERR_UNKNOWN, false, "failed to add item background");
    9920         psFree(md);
    9921         return false;
    9922     }
    99239913    if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, "64")) {
    99249914        psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
     
    99499939}
    99509940
    9951 bool p2PendingExpInsert(psDB * dbh, const char *exp_id, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *filter, psF32 airmass, psF32 ra, psF64 decl, psF64 exp_time, psF64 background, const char *recipe, psS32 p1_version, psS32 p2_version)
     9941bool p2PendingExpInsert(psDB * dbh, const char *exp_id, const char *recipe, psS32 p1_version, psS32 p2_version)
    99529942{
    99539943    psMetadata      *md;
     
    99579947    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, exp_id)) {
    99589948        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    9959         psFree(md);
    9960         return false;
    9961     }
    9962     if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, camera)) {
    9963         psError(PS_ERR_UNKNOWN, false, "failed to add item camera");
    9964         psFree(md);
    9965         return false;
    9966     }
    9967     if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, telescope)) {
    9968         psError(PS_ERR_UNKNOWN, false, "failed to add item telescope");
    9969         psFree(md);
    9970         return false;
    9971     }
    9972     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, exp_type)) {
    9973         psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type");
    9974         psFree(md);
    9975         return false;
    9976     }
    9977     if (!psMetadataAddS32(md, PS_LIST_TAIL, "imfiles", 0, NULL, imfiles)) {
    9978         psError(PS_ERR_UNKNOWN, false, "failed to add item imfiles");
    9979         psFree(md);
    9980         return false;
    9981     }
    9982     if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, filter)) {
    9983         psError(PS_ERR_UNKNOWN, false, "failed to add item filter");
    9984         psFree(md);
    9985         return false;
    9986     }
    9987     if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, airmass)) {
    9988         psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
    9989         psFree(md);
    9990         return false;
    9991     }
    9992     if (!psMetadataAddF32(md, PS_LIST_TAIL, "ra", 0, NULL, ra)) {
    9993         psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
    9994         psFree(md);
    9995         return false;
    9996     }
    9997     if (!psMetadataAddF64(md, PS_LIST_TAIL, "decl", 0, NULL, decl)) {
    9998         psError(PS_ERR_UNKNOWN, false, "failed to add item decl");
    9999         psFree(md);
    10000         return false;
    10001     }
    10002     if (!psMetadataAddF64(md, PS_LIST_TAIL, "exp_time", 0, NULL, exp_time)) {
    10003         psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time");
    10004         psFree(md);
    10005         return false;
    10006     }
    10007     if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, background)) {
    10008         psError(PS_ERR_UNKNOWN, false, "failed to add item background");
    100099949        psFree(md);
    100109950        return false;
     
    100469986    return deleted;
    100479987}
    10048 bool p2PendingExpPop(psDB *dbh, char **exp_id, char **camera, char **telescope, char **exp_type, psS32 *imfiles, char **filter, psF32 *airmass, psF32 *ra, psF64 *decl, psF64 *exp_time, psF64 *background, char **recipe, psS32 *p1_version, psS32 *p2_version)
     9988bool p2PendingExpPop(psDB *dbh, char **exp_id, char **recipe, psS32 *p1_version, psS32 *p2_version)
    100499989{
    100509990    psArray         *rowSet;
     
    1009610036        return false;
    1009710037    }
    10098     *camera = psMetadataLookupPtr(&status, row, "camera");
    10099     if (!status) {
    10100         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item camera");
    10101         psFree(row);
    10102         return false;
    10103     }
    10104     *telescope = psMetadataLookupPtr(&status, row, "telescope");
    10105     if (!status) {
    10106         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item telescope");
    10107         psFree(row);
    10108         return false;
    10109     }
    10110     *exp_type = psMetadataLookupPtr(&status, row, "exp_type");
    10111     if (!status) {
    10112         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_type");
    10113         psFree(row);
    10114         return false;
    10115     }
    10116     *imfiles = psMetadataLookupS32(&status, row, "imfiles");
    10117     if (!status) {
    10118         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item imfiles");
    10119         psFree(row);
    10120         return false;
    10121     }
    10122     *filter = psMetadataLookupPtr(&status, row, "filter");
    10123     if (!status) {
    10124         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item filter");
    10125         psFree(row);
    10126         return false;
    10127     }
    10128     *airmass = psMetadataLookupF32(&status, row, "airmass");
    10129     if (!status) {
    10130         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item airmass");
    10131         psFree(row);
    10132         return false;
    10133     }
    10134     *ra = psMetadataLookupF32(&status, row, "ra");
    10135     if (!status) {
    10136         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ra");
    10137         psFree(row);
    10138         return false;
    10139     }
    10140     *decl = psMetadataLookupF64(&status, row, "decl");
    10141     if (!status) {
    10142         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item decl");
    10143         psFree(row);
    10144         return false;
    10145     }
    10146     *exp_time = psMetadataLookupF64(&status, row, "exp_time");
    10147     if (!status) {
    10148         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_time");
    10149         psFree(row);
    10150         return false;
    10151     }
    10152     *background = psMetadataLookupF64(&status, row, "background");
    10153     if (!status) {
    10154         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item background");
    10155         psFree(row);
    10156         return false;
    10157     }
    1015810038    *recipe = psMetadataLookupPtr(&status, row, "recipe");
    1015910039    if (!status) {
     
    1018210062bool p2PendingExpInsertObject(psDB *dbh, p2PendingExpRow *object)
    1018310063{
    10184     return p2PendingExpInsert(dbh, object->exp_id, object->camera, object->telescope, object->exp_type, object->imfiles, object->filter, object->airmass, object->ra, object->decl, object->exp_time, object->background, object->recipe, object->p1_version, object->p2_version);
     10064    return p2PendingExpInsert(dbh, object->exp_id, object->recipe, object->p1_version, object->p2_version);
    1018510065}
    1018610066
     
    1018810068{
    1018910069    char            exp_id[256];
    10190     char            camera[256];
    10191     char            telescope[256];
    10192     char            exp_type[256];
    10193     psS32           imfiles;
    10194     char            filter[256];
    10195     psF32           airmass;
    10196     psF32           ra;
    10197     psF64           decl;
    10198     psF64           exp_time;
    10199     psF64           background;
    1020010070    char            recipe[256];
    1020110071    psS32           p1_version;
    1020210072    psS32           p2_version;
    1020310073
    10204     if (!p2PendingExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&filter, &airmass, &ra, &decl, &exp_time, &background, (char **)&recipe, &p1_version, &p2_version)) {
     10074    if (!p2PendingExpPop(dbh, (char **)&exp_id, (char **)&recipe, &p1_version, &p2_version)) {
    1020510075        psError(PS_ERR_UNKNOWN, false, "failed to pop a database row");
    1020610076        return NULL;
    1020710077    }
    1020810078
    10209     return p2PendingExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, airmass, ra, decl, exp_time, background, recipe, p1_version, p2_version);
     10079    return p2PendingExpRowAlloc(exp_id, recipe, p1_version, p2_version);
    1021010080}
    1021110081
     
    1031110181        return NULL;
    1031210182    }
    10313     if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, object->camera)) {
    10314         psError(PS_ERR_UNKNOWN, false, "failed to add item camera");
    10315         psFree(md);
    10316         return NULL;
    10317     }
    10318     if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, object->telescope)) {
    10319         psError(PS_ERR_UNKNOWN, false, "failed to add item telescope");
    10320         psFree(md);
    10321         return NULL;
    10322     }
    10323     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, object->exp_type)) {
    10324         psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type");
    10325         psFree(md);
    10326         return NULL;
    10327     }
    10328     if (!psMetadataAddS32(md, PS_LIST_TAIL, "imfiles", 0, NULL, object->imfiles)) {
    10329         psError(PS_ERR_UNKNOWN, false, "failed to add item imfiles");
    10330         psFree(md);
    10331         return NULL;
    10332     }
    10333     if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, object->filter)) {
    10334         psError(PS_ERR_UNKNOWN, false, "failed to add item filter");
    10335         psFree(md);
    10336         return NULL;
    10337     }
    10338     if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, object->airmass)) {
    10339         psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
    10340         psFree(md);
    10341         return NULL;
    10342     }
    10343     if (!psMetadataAddF32(md, PS_LIST_TAIL, "ra", 0, NULL, object->ra)) {
    10344         psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
    10345         psFree(md);
    10346         return NULL;
    10347     }
    10348     if (!psMetadataAddF64(md, PS_LIST_TAIL, "decl", 0, NULL, object->decl)) {
    10349         psError(PS_ERR_UNKNOWN, false, "failed to add item decl");
    10350         psFree(md);
    10351         return NULL;
    10352     }
    10353     if (!psMetadataAddF64(md, PS_LIST_TAIL, "exp_time", 0, NULL, object->exp_time)) {
    10354         psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time");
    10355         psFree(md);
    10356         return NULL;
    10357     }
    10358     if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, object->background)) {
    10359         psError(PS_ERR_UNKNOWN, false, "failed to add item background");
    10360         psFree(md);
    10361         return NULL;
    10362     }
    1036310183    if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, object->recipe)) {
    1036410184        psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
     
    1038410204    bool            status;
    1038510205    char            *exp_id;
    10386     char            *camera;
    10387     char            *telescope;
    10388     char            *exp_type;
    10389     psS32           imfiles;
    10390     char            *filter;
    10391     psF32           airmass;
    10392     psF32           ra;
    10393     psF64           decl;
    10394     psF64           exp_time;
    10395     psF64           background;
    1039610206    char            *recipe;
    1039710207    psS32           p1_version;
     
    1040310213        return false;
    1040410214    }
    10405     camera = psMetadataLookupPtr(&status, md, "camera");
    10406     if (!status) {
    10407         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item camera");
    10408         return false;
    10409     }
    10410     telescope = psMetadataLookupPtr(&status, md, "telescope");
    10411     if (!status) {
    10412         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item telescope");
    10413         return false;
    10414     }
    10415     exp_type = psMetadataLookupPtr(&status, md, "exp_type");
    10416     if (!status) {
    10417         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_type");
    10418         return false;
    10419     }
    10420     imfiles = psMetadataLookupS32(&status, md, "imfiles");
    10421     if (!status) {
    10422         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item imfiles");
    10423         return false;
    10424     }
    10425     filter = psMetadataLookupPtr(&status, md, "filter");
    10426     if (!status) {
    10427         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item filter");
    10428         return false;
    10429     }
    10430     airmass = psMetadataLookupF32(&status, md, "airmass");
    10431     if (!status) {
    10432         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item airmass");
    10433         return false;
    10434     }
    10435     ra = psMetadataLookupF32(&status, md, "ra");
    10436     if (!status) {
    10437         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ra");
    10438         return false;
    10439     }
    10440     decl = psMetadataLookupF64(&status, md, "decl");
    10441     if (!status) {
    10442         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item decl");
    10443         return false;
    10444     }
    10445     exp_time = psMetadataLookupF64(&status, md, "exp_time");
    10446     if (!status) {
    10447         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_time");
    10448         return false;
    10449     }
    10450     background = psMetadataLookupF64(&status, md, "background");
    10451     if (!status) {
    10452         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item background");
    10453         return false;
    10454     }
    1045510215    recipe = psMetadataLookupPtr(&status, md, "recipe");
    1045610216    if (!status) {
     
    1046910229    }
    1047010230
    10471     return p2PendingExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, airmass, ra, decl, exp_time, background, recipe, p1_version, p2_version);
     10231    return p2PendingExpRowAlloc(exp_id, recipe, p1_version, p2_version);
    1047210232}
    1047310233psArray *p2PendingExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     
    1061210372        return false;
    1061310373    }
    10614     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, "Key", "64")) {
     10374    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, "Primary Key", "64")) {
    1061510375        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    1061610376        psFree(md);
    1061710377        return false;
    1061810378    }
    10619     if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, "64")) {
     10379    if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, "Primary Key", "64")) {
    1062010380        psError(PS_ERR_UNKNOWN, false, "failed to add item class_id");
    1062110381        psFree(md);
     
    1109810858static void p2DoneExpRowFree(p2DoneExpRow *object);
    1109910859
    11100 p2DoneExpRow *p2DoneExpRowAlloc(const char *exp_id, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *filter, psF32 airmass, psF64 ra, psF64 decl, psF32 exp_time, psF64 background, const char *recipe, psS32 p1_version, psS32 p2_version)
     10860p2DoneExpRow *p2DoneExpRowAlloc(const char *exp_id, const char *recipe, psS32 p1_version, psS32 p2_version)
    1110110861{
    1110210862    p2DoneExpRow    *object;
     
    1110610866
    1110710867    object->exp_id = psStringCopy(exp_id);
    11108     object->camera = psStringCopy(camera);
    11109     object->telescope = psStringCopy(telescope);
    11110     object->exp_type = psStringCopy(exp_type);
    11111     object->imfiles = imfiles;
    11112     object->filter = psStringCopy(filter);
    11113     object->airmass = airmass;
    11114     object->ra = ra;
    11115     object->decl = decl;
    11116     object->exp_time = exp_time;
    11117     object->background = background;
    1111810868    object->recipe = psStringCopy(recipe);
    1111910869    object->p1_version = p1_version;
     
    1112610876{
    1112710877    psFree(object->exp_id);
    11128     psFree(object->camera);
    11129     psFree(object->telescope);
    11130     psFree(object->exp_type);
    11131     psFree(object->filter);
    1113210878    psFree(object->recipe);
    1113310879}
     
    1114910895        return false;
    1115010896    }
    11151     if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, "255")) {
    11152         psError(PS_ERR_UNKNOWN, false, "failed to add item camera");
    11153         psFree(md);
    11154         return false;
    11155     }
    11156     if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, "255")) {
    11157         psError(PS_ERR_UNKNOWN, false, "failed to add item telescope");
    11158         psFree(md);
    11159         return false;
    11160     }
    11161     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, "64")) {
    11162         psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type");
    11163         psFree(md);
    11164         return false;
    11165     }
    11166     if (!psMetadataAddS32(md, PS_LIST_TAIL, "imfiles", 0, NULL, 0)) {
    11167         psError(PS_ERR_UNKNOWN, false, "failed to add item imfiles");
    11168         psFree(md);
    11169         return false;
    11170     }
    11171     if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, "255")) {
    11172         psError(PS_ERR_UNKNOWN, false, "failed to add item filter");
    11173         psFree(md);
    11174         return false;
    11175     }
    11176     if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, 0.0)) {
    11177         psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
    11178         psFree(md);
    11179         return false;
    11180     }
    11181     if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, 0.0)) {
    11182         psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
    11183         psFree(md);
    11184         return false;
    11185     }
    11186     if (!psMetadataAddF64(md, PS_LIST_TAIL, "decl", 0, NULL, 0.0)) {
    11187         psError(PS_ERR_UNKNOWN, false, "failed to add item decl");
    11188         psFree(md);
    11189         return false;
    11190     }
    11191     if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, 0.0)) {
    11192         psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time");
    11193         psFree(md);
    11194         return false;
    11195     }
    11196     if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, 0.0)) {
    11197         psError(PS_ERR_UNKNOWN, false, "failed to add item background");
    11198         psFree(md);
    11199         return false;
    11200     }
    1120110897    if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, "64")) {
    1120210898        psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
     
    1122710923}
    1122810924
    11229 bool p2DoneExpInsert(psDB * dbh, const char *exp_id, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *filter, psF32 airmass, psF64 ra, psF64 decl, psF32 exp_time, psF64 background, const char *recipe, psS32 p1_version, psS32 p2_version)
     10925bool p2DoneExpInsert(psDB * dbh, const char *exp_id, const char *recipe, psS32 p1_version, psS32 p2_version)
    1123010926{
    1123110927    psMetadata      *md;
     
    1123510931    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, exp_id)) {
    1123610932        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    11237         psFree(md);
    11238         return false;
    11239     }
    11240     if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, camera)) {
    11241         psError(PS_ERR_UNKNOWN, false, "failed to add item camera");
    11242         psFree(md);
    11243         return false;
    11244     }
    11245     if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, telescope)) {
    11246         psError(PS_ERR_UNKNOWN, false, "failed to add item telescope");
    11247         psFree(md);
    11248         return false;
    11249     }
    11250     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, exp_type)) {
    11251         psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type");
    11252         psFree(md);
    11253         return false;
    11254     }
    11255     if (!psMetadataAddS32(md, PS_LIST_TAIL, "imfiles", 0, NULL, imfiles)) {
    11256         psError(PS_ERR_UNKNOWN, false, "failed to add item imfiles");
    11257         psFree(md);
    11258         return false;
    11259     }
    11260     if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, filter)) {
    11261         psError(PS_ERR_UNKNOWN, false, "failed to add item filter");
    11262         psFree(md);
    11263         return false;
    11264     }
    11265     if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, airmass)) {
    11266         psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
    11267         psFree(md);
    11268         return false;
    11269     }
    11270     if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, ra)) {
    11271         psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
    11272         psFree(md);
    11273         return false;
    11274     }
    11275     if (!psMetadataAddF64(md, PS_LIST_TAIL, "decl", 0, NULL, decl)) {
    11276         psError(PS_ERR_UNKNOWN, false, "failed to add item decl");
    11277         psFree(md);
    11278         return false;
    11279     }
    11280     if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, exp_time)) {
    11281         psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time");
    11282         psFree(md);
    11283         return false;
    11284     }
    11285     if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, background)) {
    11286         psError(PS_ERR_UNKNOWN, false, "failed to add item background");
    1128710933        psFree(md);
    1128810934        return false;
     
    1132410970    return deleted;
    1132510971}
    11326 bool p2DoneExpPop(psDB *dbh, char **exp_id, char **camera, char **telescope, char **exp_type, psS32 *imfiles, char **filter, psF32 *airmass, psF64 *ra, psF64 *decl, psF32 *exp_time, psF64 *background, char **recipe, psS32 *p1_version, psS32 *p2_version)
     10972bool p2DoneExpPop(psDB *dbh, char **exp_id, char **recipe, psS32 *p1_version, psS32 *p2_version)
    1132710973{
    1132810974    psArray         *rowSet;
     
    1137411020        return false;
    1137511021    }
    11376     *camera = psMetadataLookupPtr(&status, row, "camera");
    11377     if (!status) {
    11378         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item camera");
    11379         psFree(row);
    11380         return false;
    11381     }
    11382     *telescope = psMetadataLookupPtr(&status, row, "telescope");
    11383     if (!status) {
    11384         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item telescope");
    11385         psFree(row);
    11386         return false;
    11387     }
    11388     *exp_type = psMetadataLookupPtr(&status, row, "exp_type");
    11389     if (!status) {
    11390         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_type");
    11391         psFree(row);
    11392         return false;
    11393     }
    11394     *imfiles = psMetadataLookupS32(&status, row, "imfiles");
    11395     if (!status) {
    11396         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item imfiles");
    11397         psFree(row);
    11398         return false;
    11399     }
    11400     *filter = psMetadataLookupPtr(&status, row, "filter");
    11401     if (!status) {
    11402         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item filter");
    11403         psFree(row);
    11404         return false;
    11405     }
    11406     *airmass = psMetadataLookupF32(&status, row, "airmass");
    11407     if (!status) {
    11408         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item airmass");
    11409         psFree(row);
    11410         return false;
    11411     }
    11412     *ra = psMetadataLookupF64(&status, row, "ra");
    11413     if (!status) {
    11414         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ra");
    11415         psFree(row);
    11416         return false;
    11417     }
    11418     *decl = psMetadataLookupF64(&status, row, "decl");
    11419     if (!status) {
    11420         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item decl");
    11421         psFree(row);
    11422         return false;
    11423     }
    11424     *exp_time = psMetadataLookupF32(&status, row, "exp_time");
    11425     if (!status) {
    11426         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_time");
    11427         psFree(row);
    11428         return false;
    11429     }
    11430     *background = psMetadataLookupF64(&status, row, "background");
    11431     if (!status) {
    11432         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item background");
    11433         psFree(row);
    11434         return false;
    11435     }
    1143611022    *recipe = psMetadataLookupPtr(&status, row, "recipe");
    1143711023    if (!status) {
     
    1146011046bool p2DoneExpInsertObject(psDB *dbh, p2DoneExpRow *object)
    1146111047{
    11462     return p2DoneExpInsert(dbh, object->exp_id, object->camera, object->telescope, object->exp_type, object->imfiles, object->filter, object->airmass, object->ra, object->decl, object->exp_time, object->background, object->recipe, object->p1_version, object->p2_version);
     11048    return p2DoneExpInsert(dbh, object->exp_id, object->recipe, object->p1_version, object->p2_version);
    1146311049}
    1146411050
     
    1146611052{
    1146711053    char            exp_id[256];
    11468     char            camera[256];
    11469     char            telescope[256];
    11470     char            exp_type[256];
    11471     psS32           imfiles;
    11472     char            filter[256];
    11473     psF32           airmass;
    11474     psF64           ra;
    11475     psF64           decl;
    11476     psF32           exp_time;
    11477     psF64           background;
    1147811054    char            recipe[256];
    1147911055    psS32           p1_version;
    1148011056    psS32           p2_version;
    1148111057
    11482     if (!p2DoneExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&filter, &airmass, &ra, &decl, &exp_time, &background, (char **)&recipe, &p1_version, &p2_version)) {
     11058    if (!p2DoneExpPop(dbh, (char **)&exp_id, (char **)&recipe, &p1_version, &p2_version)) {
    1148311059        psError(PS_ERR_UNKNOWN, false, "failed to pop a database row");
    1148411060        return NULL;
    1148511061    }
    1148611062
    11487     return p2DoneExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, airmass, ra, decl, exp_time, background, recipe, p1_version, p2_version);
     11063    return p2DoneExpRowAlloc(exp_id, recipe, p1_version, p2_version);
    1148811064}
    1148911065
     
    1158911165        return NULL;
    1159011166    }
    11591     if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, object->camera)) {
    11592         psError(PS_ERR_UNKNOWN, false, "failed to add item camera");
    11593         psFree(md);
    11594         return NULL;
    11595     }
    11596     if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, object->telescope)) {
    11597         psError(PS_ERR_UNKNOWN, false, "failed to add item telescope");
    11598         psFree(md);
    11599         return NULL;
    11600     }
    11601     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, object->exp_type)) {
    11602         psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type");
    11603         psFree(md);
    11604         return NULL;
    11605     }
    11606     if (!psMetadataAddS32(md, PS_LIST_TAIL, "imfiles", 0, NULL, object->imfiles)) {
    11607         psError(PS_ERR_UNKNOWN, false, "failed to add item imfiles");
    11608         psFree(md);
    11609         return NULL;
    11610     }
    11611     if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, object->filter)) {
    11612         psError(PS_ERR_UNKNOWN, false, "failed to add item filter");
    11613         psFree(md);
    11614         return NULL;
    11615     }
    11616     if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, object->airmass)) {
    11617         psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
    11618         psFree(md);
    11619         return NULL;
    11620     }
    11621     if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, object->ra)) {
    11622         psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
    11623         psFree(md);
    11624         return NULL;
    11625     }
    11626     if (!psMetadataAddF64(md, PS_LIST_TAIL, "decl", 0, NULL, object->decl)) {
    11627         psError(PS_ERR_UNKNOWN, false, "failed to add item decl");
    11628         psFree(md);
    11629         return NULL;
    11630     }
    11631     if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, object->exp_time)) {
    11632         psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time");
    11633         psFree(md);
    11634         return NULL;
    11635     }
    11636     if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, object->background)) {
    11637         psError(PS_ERR_UNKNOWN, false, "failed to add item background");
    11638         psFree(md);
    11639         return NULL;
    11640     }
    1164111167    if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, object->recipe)) {
    1164211168        psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
     
    1166211188    bool            status;
    1166311189    char            *exp_id;
    11664     char            *camera;
    11665     char            *telescope;
    11666     char            *exp_type;
    11667     psS32           imfiles;
    11668     char            *filter;
    11669     psF32           airmass;
    11670     psF64           ra;
    11671     psF64           decl;
    11672     psF32           exp_time;
    11673     psF64           background;
    1167411190    char            *recipe;
    1167511191    psS32           p1_version;
     
    1168111197        return false;
    1168211198    }
    11683     camera = psMetadataLookupPtr(&status, md, "camera");
    11684     if (!status) {
    11685         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item camera");
    11686         return false;
    11687     }
    11688     telescope = psMetadataLookupPtr(&status, md, "telescope");
    11689     if (!status) {
    11690         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item telescope");
    11691         return false;
    11692     }
    11693     exp_type = psMetadataLookupPtr(&status, md, "exp_type");
    11694     if (!status) {
    11695         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_type");
    11696         return false;
    11697     }
    11698     imfiles = psMetadataLookupS32(&status, md, "imfiles");
    11699     if (!status) {
    11700         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item imfiles");
    11701         return false;
    11702     }
    11703     filter = psMetadataLookupPtr(&status, md, "filter");
    11704     if (!status) {
    11705         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item filter");
    11706         return false;
    11707     }
    11708     airmass = psMetadataLookupF32(&status, md, "airmass");
    11709     if (!status) {
    11710         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item airmass");
    11711         return false;
    11712     }
    11713     ra = psMetadataLookupF64(&status, md, "ra");
    11714     if (!status) {
    11715         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ra");
    11716         return false;
    11717     }
    11718     decl = psMetadataLookupF64(&status, md, "decl");
    11719     if (!status) {
    11720         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item decl");
    11721         return false;
    11722     }
    11723     exp_time = psMetadataLookupF32(&status, md, "exp_time");
    11724     if (!status) {
    11725         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_time");
    11726         return false;
    11727     }
    11728     background = psMetadataLookupF64(&status, md, "background");
    11729     if (!status) {
    11730         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item background");
    11731         return false;
    11732     }
    1173311199    recipe = psMetadataLookupPtr(&status, md, "recipe");
    1173411200    if (!status) {
     
    1174711213    }
    1174811214
    11749     return p2DoneExpRowAlloc(exp_id, camera, telescope, exp_type, imfiles, filter, airmass, ra, decl, exp_time, background, recipe, p1_version, p2_version);
     11215    return p2DoneExpRowAlloc(exp_id, recipe, p1_version, p2_version);
    1175011216}
    1175111217psArray *p2DoneExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     
    1189011356        return false;
    1189111357    }
    11892     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, "Key", "64")) {
     11358    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, "Primary Key", "64")) {
    1189311359        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    1189411360        psFree(md);
    1189511361        return false;
    1189611362    }
    11897     if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, "64")) {
     11363    if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, "Primary Key", "64")) {
    1189811364        psError(PS_ERR_UNKNOWN, false, "failed to add item class_id");
    1189911365        psFree(md);
     
    1237611842static void p3PendingExpRowFree(p3PendingExpRow *object);
    1237711843
    12378 p3PendingExpRow *p3PendingExpRowAlloc(const char *exp_id, const char *camera, const char *exp_type, psS32 imfiles, const char *filter, psF32 airmass, psF64 ra, psF64 decl, psF32 exp_time, psF64 background, const char *recipe, psS32 p2_version, psS32 p3_version)
     11844p3PendingExpRow *p3PendingExpRowAlloc(const char *exp_id, const char *recipe, psS32 p2_version, psS32 p3_version)
    1237911845{
    1238011846    p3PendingExpRow *object;
     
    1238411850
    1238511851    object->exp_id = psStringCopy(exp_id);
    12386     object->camera = psStringCopy(camera);
    12387     object->exp_type = psStringCopy(exp_type);
    12388     object->imfiles = imfiles;
    12389     object->filter = psStringCopy(filter);
    12390     object->airmass = airmass;
    12391     object->ra = ra;
    12392     object->decl = decl;
    12393     object->exp_time = exp_time;
    12394     object->background = background;
    1239511852    object->recipe = psStringCopy(recipe);
    1239611853    object->p2_version = p2_version;
     
    1240311860{
    1240411861    psFree(object->exp_id);
    12405     psFree(object->camera);
    12406     psFree(object->exp_type);
    12407     psFree(object->filter);
    1240811862    psFree(object->recipe);
    1240911863}
     
    1242511879        return false;
    1242611880    }
    12427     if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, "255")) {
    12428         psError(PS_ERR_UNKNOWN, false, "failed to add item camera");
    12429         psFree(md);
    12430         return false;
    12431     }
    12432     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, "64")) {
    12433         psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type");
    12434         psFree(md);
    12435         return false;
    12436     }
    12437     if (!psMetadataAddS32(md, PS_LIST_TAIL, "imfiles", 0, NULL, 0)) {
    12438         psError(PS_ERR_UNKNOWN, false, "failed to add item imfiles");
    12439         psFree(md);
    12440         return false;
    12441     }
    12442     if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, "255")) {
    12443         psError(PS_ERR_UNKNOWN, false, "failed to add item filter");
    12444         psFree(md);
    12445         return false;
    12446     }
    12447     if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, 0.0)) {
    12448         psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
    12449         psFree(md);
    12450         return false;
    12451     }
    12452     if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, 0.0)) {
    12453         psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
    12454         psFree(md);
    12455         return false;
    12456     }
    12457     if (!psMetadataAddF64(md, PS_LIST_TAIL, "decl", 0, NULL, 0.0)) {
    12458         psError(PS_ERR_UNKNOWN, false, "failed to add item decl");
    12459         psFree(md);
    12460         return false;
    12461     }
    12462     if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, 0.0)) {
    12463         psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time");
    12464         psFree(md);
    12465         return false;
    12466     }
    12467     if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, 0.0)) {
    12468         psError(PS_ERR_UNKNOWN, false, "failed to add item background");
    12469         psFree(md);
    12470         return false;
    12471     }
    1247211881    if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, "64")) {
    1247311882        psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
     
    1249811907}
    1249911908
    12500 bool p3PendingExpInsert(psDB * dbh, const char *exp_id, const char *camera, const char *exp_type, psS32 imfiles, const char *filter, psF32 airmass, psF64 ra, psF64 decl, psF32 exp_time, psF64 background, const char *recipe, psS32 p2_version, psS32 p3_version)
     11909bool p3PendingExpInsert(psDB * dbh, const char *exp_id, const char *recipe, psS32 p2_version, psS32 p3_version)
    1250111910{
    1250211911    psMetadata      *md;
     
    1250611915    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, exp_id)) {
    1250711916        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    12508         psFree(md);
    12509         return false;
    12510     }
    12511     if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, camera)) {
    12512         psError(PS_ERR_UNKNOWN, false, "failed to add item camera");
    12513         psFree(md);
    12514         return false;
    12515     }
    12516     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, exp_type)) {
    12517         psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type");
    12518         psFree(md);
    12519         return false;
    12520     }
    12521     if (!psMetadataAddS32(md, PS_LIST_TAIL, "imfiles", 0, NULL, imfiles)) {
    12522         psError(PS_ERR_UNKNOWN, false, "failed to add item imfiles");
    12523         psFree(md);
    12524         return false;
    12525     }
    12526     if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, filter)) {
    12527         psError(PS_ERR_UNKNOWN, false, "failed to add item filter");
    12528         psFree(md);
    12529         return false;
    12530     }
    12531     if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, airmass)) {
    12532         psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
    12533         psFree(md);
    12534         return false;
    12535     }
    12536     if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, ra)) {
    12537         psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
    12538         psFree(md);
    12539         return false;
    12540     }
    12541     if (!psMetadataAddF64(md, PS_LIST_TAIL, "decl", 0, NULL, decl)) {
    12542         psError(PS_ERR_UNKNOWN, false, "failed to add item decl");
    12543         psFree(md);
    12544         return false;
    12545     }
    12546     if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, exp_time)) {
    12547         psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time");
    12548         psFree(md);
    12549         return false;
    12550     }
    12551     if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, background)) {
    12552         psError(PS_ERR_UNKNOWN, false, "failed to add item background");
    1255311917        psFree(md);
    1255411918        return false;
     
    1259011954    return deleted;
    1259111955}
    12592 bool p3PendingExpPop(psDB *dbh, char **exp_id, char **camera, char **exp_type, psS32 *imfiles, char **filter, psF32 *airmass, psF64 *ra, psF64 *decl, psF32 *exp_time, psF64 *background, char **recipe, psS32 *p2_version, psS32 *p3_version)
     11956bool p3PendingExpPop(psDB *dbh, char **exp_id, char **recipe, psS32 *p2_version, psS32 *p3_version)
    1259311957{
    1259411958    psArray         *rowSet;
     
    1264012004        return false;
    1264112005    }
    12642     *camera = psMetadataLookupPtr(&status, row, "camera");
    12643     if (!status) {
    12644         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item camera");
    12645         psFree(row);
    12646         return false;
    12647     }
    12648     *exp_type = psMetadataLookupPtr(&status, row, "exp_type");
    12649     if (!status) {
    12650         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_type");
    12651         psFree(row);
    12652         return false;
    12653     }
    12654     *imfiles = psMetadataLookupS32(&status, row, "imfiles");
    12655     if (!status) {
    12656         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item imfiles");
    12657         psFree(row);
    12658         return false;
    12659     }
    12660     *filter = psMetadataLookupPtr(&status, row, "filter");
    12661     if (!status) {
    12662         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item filter");
    12663         psFree(row);
    12664         return false;
    12665     }
    12666     *airmass = psMetadataLookupF32(&status, row, "airmass");
    12667     if (!status) {
    12668         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item airmass");
    12669         psFree(row);
    12670         return false;
    12671     }
    12672     *ra = psMetadataLookupF64(&status, row, "ra");
    12673     if (!status) {
    12674         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ra");
    12675         psFree(row);
    12676         return false;
    12677     }
    12678     *decl = psMetadataLookupF64(&status, row, "decl");
    12679     if (!status) {
    12680         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item decl");
    12681         psFree(row);
    12682         return false;
    12683     }
    12684     *exp_time = psMetadataLookupF32(&status, row, "exp_time");
    12685     if (!status) {
    12686         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_time");
    12687         psFree(row);
    12688         return false;
    12689     }
    12690     *background = psMetadataLookupF64(&status, row, "background");
    12691     if (!status) {
    12692         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item background");
    12693         psFree(row);
    12694         return false;
    12695     }
    1269612006    *recipe = psMetadataLookupPtr(&status, row, "recipe");
    1269712007    if (!status) {
     
    1272012030bool p3PendingExpInsertObject(psDB *dbh, p3PendingExpRow *object)
    1272112031{
    12722     return p3PendingExpInsert(dbh, object->exp_id, object->camera, object->exp_type, object->imfiles, object->filter, object->airmass, object->ra, object->decl, object->exp_time, object->background, object->recipe, object->p2_version, object->p3_version);
     12032    return p3PendingExpInsert(dbh, object->exp_id, object->recipe, object->p2_version, object->p3_version);
    1272312033}
    1272412034
     
    1272612036{
    1272712037    char            exp_id[256];
    12728     char            camera[256];
    12729     char            exp_type[256];
    12730     psS32           imfiles;
    12731     char            filter[256];
    12732     psF32           airmass;
    12733     psF64           ra;
    12734     psF64           decl;
    12735     psF32           exp_time;
    12736     psF64           background;
    1273712038    char            recipe[256];
    1273812039    psS32           p2_version;
    1273912040    psS32           p3_version;
    1274012041
    12741     if (!p3PendingExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&exp_type, &imfiles, (char **)&filter, &airmass, &ra, &decl, &exp_time, &background, (char **)&recipe, &p2_version, &p3_version)) {
     12042    if (!p3PendingExpPop(dbh, (char **)&exp_id, (char **)&recipe, &p2_version, &p3_version)) {
    1274212043        psError(PS_ERR_UNKNOWN, false, "failed to pop a database row");
    1274312044        return NULL;
    1274412045    }
    1274512046
    12746     return p3PendingExpRowAlloc(exp_id, camera, exp_type, imfiles, filter, airmass, ra, decl, exp_time, background, recipe, p2_version, p3_version);
     12047    return p3PendingExpRowAlloc(exp_id, recipe, p2_version, p3_version);
    1274712048}
    1274812049
     
    1284812149        return NULL;
    1284912150    }
    12850     if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, object->camera)) {
    12851         psError(PS_ERR_UNKNOWN, false, "failed to add item camera");
    12852         psFree(md);
    12853         return NULL;
    12854     }
    12855     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, object->exp_type)) {
    12856         psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type");
    12857         psFree(md);
    12858         return NULL;
    12859     }
    12860     if (!psMetadataAddS32(md, PS_LIST_TAIL, "imfiles", 0, NULL, object->imfiles)) {
    12861         psError(PS_ERR_UNKNOWN, false, "failed to add item imfiles");
    12862         psFree(md);
    12863         return NULL;
    12864     }
    12865     if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, object->filter)) {
    12866         psError(PS_ERR_UNKNOWN, false, "failed to add item filter");
    12867         psFree(md);
    12868         return NULL;
    12869     }
    12870     if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, object->airmass)) {
    12871         psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
    12872         psFree(md);
    12873         return NULL;
    12874     }
    12875     if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, object->ra)) {
    12876         psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
    12877         psFree(md);
    12878         return NULL;
    12879     }
    12880     if (!psMetadataAddF64(md, PS_LIST_TAIL, "decl", 0, NULL, object->decl)) {
    12881         psError(PS_ERR_UNKNOWN, false, "failed to add item decl");
    12882         psFree(md);
    12883         return NULL;
    12884     }
    12885     if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, object->exp_time)) {
    12886         psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time");
    12887         psFree(md);
    12888         return NULL;
    12889     }
    12890     if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, object->background)) {
    12891         psError(PS_ERR_UNKNOWN, false, "failed to add item background");
    12892         psFree(md);
    12893         return NULL;
    12894     }
    1289512151    if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, object->recipe)) {
    1289612152        psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
     
    1291612172    bool            status;
    1291712173    char            *exp_id;
    12918     char            *camera;
    12919     char            *exp_type;
    12920     psS32           imfiles;
    12921     char            *filter;
    12922     psF32           airmass;
    12923     psF64           ra;
    12924     psF64           decl;
    12925     psF32           exp_time;
    12926     psF64           background;
    1292712174    char            *recipe;
    1292812175    psS32           p2_version;
     
    1293412181        return false;
    1293512182    }
    12936     camera = psMetadataLookupPtr(&status, md, "camera");
    12937     if (!status) {
    12938         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item camera");
    12939         return false;
    12940     }
    12941     exp_type = psMetadataLookupPtr(&status, md, "exp_type");
    12942     if (!status) {
    12943         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_type");
    12944         return false;
    12945     }
    12946     imfiles = psMetadataLookupS32(&status, md, "imfiles");
    12947     if (!status) {
    12948         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item imfiles");
    12949         return false;
    12950     }
    12951     filter = psMetadataLookupPtr(&status, md, "filter");
    12952     if (!status) {
    12953         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item filter");
    12954         return false;
    12955     }
    12956     airmass = psMetadataLookupF32(&status, md, "airmass");
    12957     if (!status) {
    12958         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item airmass");
    12959         return false;
    12960     }
    12961     ra = psMetadataLookupF64(&status, md, "ra");
    12962     if (!status) {
    12963         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ra");
    12964         return false;
    12965     }
    12966     decl = psMetadataLookupF64(&status, md, "decl");
    12967     if (!status) {
    12968         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item decl");
    12969         return false;
    12970     }
    12971     exp_time = psMetadataLookupF32(&status, md, "exp_time");
    12972     if (!status) {
    12973         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_time");
    12974         return false;
    12975     }
    12976     background = psMetadataLookupF64(&status, md, "background");
    12977     if (!status) {
    12978         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item background");
    12979         return false;
    12980     }
    1298112183    recipe = psMetadataLookupPtr(&status, md, "recipe");
    1298212184    if (!status) {
     
    1299512197    }
    1299612198
    12997     return p3PendingExpRowAlloc(exp_id, camera, exp_type, imfiles, filter, airmass, ra, decl, exp_time, background, recipe, p2_version, p3_version);
     12199    return p3PendingExpRowAlloc(exp_id, recipe, p2_version, p3_version);
    1299812200}
    1299912201psArray *p3PendingExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     
    1350512707static void detInputExpRowFree(detInputExpRow *object);
    1350612708
    13507 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, psF32 airmass, psF64 ra, psF64 decl, psF32 exp_time, psF64 background)
     12709detInputExpRow *detInputExpRowAlloc(psS32 det_id, psS32 iteration, const char *exp_id, bool include, bool accept)
    1350812710{
    1350912711    detInputExpRow  *object;
     
    1351512717    object->iteration = iteration;
    1351612718    object->exp_id = psStringCopy(exp_id);
    13517     object->camera = psStringCopy(camera);
    13518     object->telescope = psStringCopy(telescope);
    13519     object->exp_type = psStringCopy(exp_type);
    13520     object->imfiles = imfiles;
    13521     object->filter = psStringCopy(filter);
    13522     object->airmass = airmass;
    13523     object->ra = ra;
    13524     object->decl = decl;
    13525     object->exp_time = exp_time;
    13526     object->background = background;
     12719    object->include = include;
     12720    object->accept = accept;
    1352712721
    1352812722    return object;
     
    1353212726{
    1353312727    psFree(object->exp_id);
    13534     psFree(object->camera);
    13535     psFree(object->telescope);
    13536     psFree(object->exp_type);
    13537     psFree(object->filter);
    1353812728}
    1353912729
     
    1356412754        return false;
    1356512755    }
    13566     if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, "255")) {
    13567         psError(PS_ERR_UNKNOWN, false, "failed to add item camera");
    13568         psFree(md);
    13569         return false;
    13570     }
    13571     if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, "255")) {
    13572         psError(PS_ERR_UNKNOWN, false, "failed to add item telescope");
    13573         psFree(md);
    13574         return false;
    13575     }
    13576     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, "64")) {
    13577         psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type");
    13578         psFree(md);
    13579         return false;
    13580     }
    13581     if (!psMetadataAddS32(md, PS_LIST_TAIL, "imfiles", 0, NULL, 0)) {
    13582         psError(PS_ERR_UNKNOWN, false, "failed to add item imfiles");
    13583         psFree(md);
    13584         return false;
    13585     }
    13586     if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, "255")) {
    13587         psError(PS_ERR_UNKNOWN, false, "failed to add item filter");
    13588         psFree(md);
    13589         return false;
    13590     }
    13591     if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, 0.0)) {
    13592         psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
    13593         psFree(md);
    13594         return false;
    13595     }
    13596     if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, 0.0)) {
    13597         psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
    13598         psFree(md);
    13599         return false;
    13600     }
    13601     if (!psMetadataAddF64(md, PS_LIST_TAIL, "decl", 0, NULL, 0.0)) {
    13602         psError(PS_ERR_UNKNOWN, false, "failed to add item decl");
    13603         psFree(md);
    13604         return false;
    13605     }
    13606     if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, 0.0)) {
    13607         psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time");
    13608         psFree(md);
    13609         return false;
    13610     }
    13611     if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, 0.0)) {
    13612         psError(PS_ERR_UNKNOWN, false, "failed to add item background");
     12756    if (!psMetadataAdd(md, PS_LIST_TAIL, "include", PS_DATA_BOOL, NULL, false)) {
     12757        psError(PS_ERR_UNKNOWN, false, "failed to add item include");
     12758        psFree(md);
     12759        return false;
     12760    }
     12761    if (!psMetadataAdd(md, PS_LIST_TAIL, "accept", PS_DATA_BOOL, NULL, false)) {
     12762        psError(PS_ERR_UNKNOWN, false, "failed to add item accept");
    1361312763        psFree(md);
    1361412764        return false;
     
    1362712777}
    1362812778
    13629 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, psF32 airmass, psF64 ra, psF64 decl, psF32 exp_time, psF64 background)
     12779bool detInputExpInsert(psDB * dbh, psS32 det_id, psS32 iteration, const char *exp_id, bool include, bool accept)
    1363012780{
    1363112781    psMetadata      *md;
     
    1364812798        return false;
    1364912799    }
    13650     if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, camera)) {
    13651         psError(PS_ERR_UNKNOWN, false, "failed to add item camera");
    13652         psFree(md);
    13653         return false;
    13654     }
    13655     if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, telescope)) {
    13656         psError(PS_ERR_UNKNOWN, false, "failed to add item telescope");
    13657         psFree(md);
    13658         return false;
    13659     }
    13660     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, exp_type)) {
    13661         psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type");
    13662         psFree(md);
    13663         return false;
    13664     }
    13665     if (!psMetadataAddS32(md, PS_LIST_TAIL, "imfiles", 0, NULL, imfiles)) {
    13666         psError(PS_ERR_UNKNOWN, false, "failed to add item imfiles");
    13667         psFree(md);
    13668         return false;
    13669     }
    13670     if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, filter)) {
    13671         psError(PS_ERR_UNKNOWN, false, "failed to add item filter");
    13672         psFree(md);
    13673         return false;
    13674     }
    13675     if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, airmass)) {
    13676         psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
    13677         psFree(md);
    13678         return false;
    13679     }
    13680     if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, ra)) {
    13681         psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
    13682         psFree(md);
    13683         return false;
    13684     }
    13685     if (!psMetadataAddF64(md, PS_LIST_TAIL, "decl", 0, NULL, decl)) {
    13686         psError(PS_ERR_UNKNOWN, false, "failed to add item decl");
    13687         psFree(md);
    13688         return false;
    13689     }
    13690     if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, exp_time)) {
    13691         psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time");
    13692         psFree(md);
    13693         return false;
    13694     }
    13695     if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, background)) {
    13696         psError(PS_ERR_UNKNOWN, false, "failed to add item background");
     12800    if (!psMetadataAdd(md, PS_LIST_TAIL, "include", PS_DATA_BOOL, NULL, include)) {
     12801        psError(PS_ERR_UNKNOWN, false, "failed to add item include");
     12802        psFree(md);
     12803        return false;
     12804    }
     12805    if (!psMetadataAdd(md, PS_LIST_TAIL, "accept", PS_DATA_BOOL, NULL, accept)) {
     12806        psError(PS_ERR_UNKNOWN, false, "failed to add item accept");
    1369712807        psFree(md);
    1369812808        return false;
     
    1371912829    return deleted;
    1372012830}
    13721 bool detInputExpPop(psDB *dbh, psS32 *det_id, psS32 *iteration, char **exp_id, char **camera, char **telescope, char **exp_type, psS32 *imfiles, char **filter, psF32 *airmass, psF64 *ra, psF64 *decl, psF32 *exp_time, psF64 *background)
     12831bool detInputExpPop(psDB *dbh, psS32 *det_id, psS32 *iteration, char **exp_id, bool *include, bool *accept)
    1372212832{
    1372312833    psArray         *rowSet;
     
    1378112891        return false;
    1378212892    }
    13783     *camera = psMetadataLookupPtr(&status, row, "camera");
    13784     if (!status) {
    13785         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item camera");
    13786         psFree(row);
    13787         return false;
    13788     }
    13789     *telescope = psMetadataLookupPtr(&status, row, "telescope");
    13790     if (!status) {
    13791         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item telescope");
    13792         psFree(row);
    13793         return false;
    13794     }
    13795     *exp_type = psMetadataLookupPtr(&status, row, "exp_type");
    13796     if (!status) {
    13797         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_type");
    13798         psFree(row);
    13799         return false;
    13800     }
    13801     *imfiles = psMetadataLookupS32(&status, row, "imfiles");
    13802     if (!status) {
    13803         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item imfiles");
    13804         psFree(row);
    13805         return false;
    13806     }
    13807     *filter = psMetadataLookupPtr(&status, row, "filter");
    13808     if (!status) {
    13809         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item filter");
    13810         psFree(row);
    13811         return false;
    13812     }
    13813     *airmass = psMetadataLookupF32(&status, row, "airmass");
    13814     if (!status) {
    13815         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item airmass");
    13816         psFree(row);
    13817         return false;
    13818     }
    13819     *ra = psMetadataLookupF64(&status, row, "ra");
    13820     if (!status) {
    13821         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ra");
    13822         psFree(row);
    13823         return false;
    13824     }
    13825     *decl = psMetadataLookupF64(&status, row, "decl");
    13826     if (!status) {
    13827         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item decl");
    13828         psFree(row);
    13829         return false;
    13830     }
    13831     *exp_time = psMetadataLookupF32(&status, row, "exp_time");
    13832     if (!status) {
    13833         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_time");
    13834         psFree(row);
    13835         return false;
    13836     }
    13837     *background = psMetadataLookupF64(&status, row, "background");
    13838     if (!status) {
    13839         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item background");
     12893    *include = psMetadataLookupBool(&status, row, "include");
     12894    if (!status) {
     12895        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item include");
     12896        psFree(row);
     12897        return false;
     12898    }
     12899    *accept = psMetadataLookupBool(&status, row, "accept");
     12900    if (!status) {
     12901        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item accept");
    1384012902        psFree(row);
    1384112903        return false;
     
    1384912911bool detInputExpInsertObject(psDB *dbh, detInputExpRow *object)
    1385012912{
    13851     return detInputExpInsert(dbh, object->det_id, object->iteration, object->exp_id, object->camera, object->telescope, object->exp_type, object->imfiles, object->filter, object->airmass, object->ra, object->decl, object->exp_time, object->background);
     12913    return detInputExpInsert(dbh, object->det_id, object->iteration, object->exp_id, object->include, object->accept);
    1385212914}
    1385312915
     
    1385712919    psS32           iteration;
    1385812920    char            exp_id[256];
    13859     char            camera[256];
    13860     char            telescope[256];
    13861     char            exp_type[256];
    13862     psS32           imfiles;
    13863     char            filter[256];
    13864     psF32           airmass;
    13865     psF64           ra;
    13866     psF64           decl;
    13867     psF32           exp_time;
    13868     psF64           background;
    13869 
    13870     if (!detInputExpPop(dbh, &det_id, &iteration, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&filter, &airmass, &ra, &decl, &exp_time, &background)) {
     12921    bool            include;
     12922    bool            accept;
     12923
     12924    if (!detInputExpPop(dbh, &det_id, &iteration, (char **)&exp_id, &include, &accept)) {
    1387112925        psError(PS_ERR_UNKNOWN, false, "failed to pop a database row");
    1387212926        return NULL;
    1387312927    }
    1387412928
    13875     return detInputExpRowAlloc(det_id, iteration, exp_id, camera, telescope, exp_type, imfiles, filter, airmass, ra, decl, exp_time, background);
     12929    return detInputExpRowAlloc(det_id, iteration, exp_id, include, accept);
    1387612930}
    1387712931
     
    1398713041        return NULL;
    1398813042    }
    13989     if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, object->camera)) {
    13990         psError(PS_ERR_UNKNOWN, false, "failed to add item camera");
    13991         psFree(md);
    13992         return NULL;
    13993     }
    13994     if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, object->telescope)) {
    13995         psError(PS_ERR_UNKNOWN, false, "failed to add item telescope");
    13996         psFree(md);
    13997         return NULL;
    13998     }
    13999     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, object->exp_type)) {
    14000         psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type");
    14001         psFree(md);
    14002         return NULL;
    14003     }
    14004     if (!psMetadataAddS32(md, PS_LIST_TAIL, "imfiles", 0, NULL, object->imfiles)) {
    14005         psError(PS_ERR_UNKNOWN, false, "failed to add item imfiles");
    14006         psFree(md);
    14007         return NULL;
    14008     }
    14009     if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, object->filter)) {
    14010         psError(PS_ERR_UNKNOWN, false, "failed to add item filter");
    14011         psFree(md);
    14012         return NULL;
    14013     }
    14014     if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, object->airmass)) {
    14015         psError(PS_ERR_UNKNOWN, false, "failed to add item airmass");
    14016         psFree(md);
    14017         return NULL;
    14018     }
    14019     if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, object->ra)) {
    14020         psError(PS_ERR_UNKNOWN, false, "failed to add item ra");
    14021         psFree(md);
    14022         return NULL;
    14023     }
    14024     if (!psMetadataAddF64(md, PS_LIST_TAIL, "decl", 0, NULL, object->decl)) {
    14025         psError(PS_ERR_UNKNOWN, false, "failed to add item decl");
    14026         psFree(md);
    14027         return NULL;
    14028     }
    14029     if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, object->exp_time)) {
    14030         psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time");
    14031         psFree(md);
    14032         return NULL;
    14033     }
    14034     if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, object->background)) {
    14035         psError(PS_ERR_UNKNOWN, false, "failed to add item background");
     13043    if (!psMetadataAdd(md, PS_LIST_TAIL, "include", PS_DATA_BOOL, NULL, object->include)) {
     13044        psError(PS_ERR_UNKNOWN, false, "failed to add item include");
     13045        psFree(md);
     13046        return NULL;
     13047    }
     13048    if (!psMetadataAdd(md, PS_LIST_TAIL, "accept", PS_DATA_BOOL, NULL, object->accept)) {
     13049        psError(PS_ERR_UNKNOWN, false, "failed to add item accept");
    1403613050        psFree(md);
    1403713051        return NULL;
     
    1404713061    psS32           iteration;
    1404813062    char            *exp_id;
    14049     char            *camera;
    14050     char            *telescope;
    14051     char            *exp_type;
    14052     psS32           imfiles;
    14053     char            *filter;
    14054     psF32           airmass;
    14055     psF64           ra;
    14056     psF64           decl;
    14057     psF32           exp_time;
    14058     psF64           background;
     13063    bool            include;
     13064    bool            accept;
    1405913065
    1406013066    det_id = psMetadataLookupS32(&status, md, "det_id");
     
    1407313079        return false;
    1407413080    }
    14075     camera = psMetadataLookupPtr(&status, md, "camera");
    14076     if (!status) {
    14077         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item camera");
    14078         return false;
    14079     }
    14080     telescope = psMetadataLookupPtr(&status, md, "telescope");
    14081     if (!status) {
    14082         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item telescope");
    14083         return false;
    14084     }
    14085     exp_type = psMetadataLookupPtr(&status, md, "exp_type");
    14086     if (!status) {
    14087         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_type");
    14088         return false;
    14089     }
    14090     imfiles = psMetadataLookupS32(&status, md, "imfiles");
    14091     if (!status) {
    14092         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item imfiles");
    14093         return false;
    14094     }
    14095     filter = psMetadataLookupPtr(&status, md, "filter");
    14096     if (!status) {
    14097         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item filter");
    14098         return false;
    14099     }
    14100     airmass = psMetadataLookupF32(&status, md, "airmass");
    14101     if (!status) {
    14102         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item airmass");
    14103         return false;
    14104     }
    14105     ra = psMetadataLookupF64(&status, md, "ra");
    14106     if (!status) {
    14107         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ra");
    14108         return false;
    14109     }
    14110     decl = psMetadataLookupF64(&status, md, "decl");
    14111     if (!status) {
    14112         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item decl");
    14113         return false;
    14114     }
    14115     exp_time = psMetadataLookupF32(&status, md, "exp_time");
    14116     if (!status) {
    14117         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_time");
    14118         return false;
    14119     }
    14120     background = psMetadataLookupF64(&status, md, "background");
    14121     if (!status) {
    14122         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item background");
    14123         return false;
    14124     }
    14125 
    14126     return detInputExpRowAlloc(det_id, iteration, exp_id, camera, telescope, exp_type, imfiles, filter, airmass, ra, decl, exp_time, background);
     13081    include = psMetadataLookupBool(&status, md, "include");
     13082    if (!status) {
     13083        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item include");
     13084        return false;
     13085    }
     13086    accept = psMetadataLookupBool(&status, md, "accept");
     13087    if (!status) {
     13088        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item accept");
     13089        return false;
     13090    }
     13091
     13092    return detInputExpRowAlloc(det_id, iteration, exp_id, include, accept);
    1412713093}
    1412813094psArray *detInputExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
  • trunk/ippdb/src/ippdb.h

    r8266 r8283  
    30043004    psF64           decl;
    30053005    psF32           exp_time;
    3006     psF64           background;
     3006    psF64           bg;
     3007    psF64           bg_stdev;
     3008    psF64           bg_mean_stdev;
     3009    psF64           alt;
     3010    psF64           az;
     3011    psF32           ccd_temp;
     3012    psF64           posang;
    30073013} rawDetrendExpRow;
    30083014
     
    30233029    psF64           decl,
    30243030    psF32           exp_time,
    3025     psF64           background
     3031    psF64           bg,
     3032    psF64           bg_stdev,
     3033    psF64           bg_mean_stdev,
     3034    psF64           alt,
     3035    psF64           az,
     3036    psF32           ccd_temp,
     3037    psF64           posang
    30263038);
    30273039
     
    30633075    psF64           decl,
    30643076    psF32           exp_time,
    3065     psF64           background
     3077    psF64           bg,
     3078    psF64           bg_stdev,
     3079    psF64           bg_mean_stdev,
     3080    psF64           alt,
     3081    psF64           az,
     3082    psF32           ccd_temp,
     3083    psF64           posang
    30663084);
    30673085
     
    30943112    psF64           *decl,
    30953113    psF32           *exp_time,
    3096     psF64           *background
     3114    psF64           *bg,
     3115    psF64           *bg_stdev,
     3116    psF64           *bg_mean_stdev,
     3117    psF64           *alt,
     3118    psF64           *az,
     3119    psF32           *ccd_temp,
     3120    psF64           *posang
    30973121);
    30983122
     
    32473271    psF64           decl;
    32483272    psF32           exp_time;
    3249     psF64           background;
     3273    psF64           bg;
     3274    psF64           bg_stdev;
     3275    psF64           bg_mean_stdev;
     3276    psF64           alt;
     3277    psF64           az;
     3278    psF32           ccd_temp;
     3279    psF64           posang;
    32503280} rawScienceExpRow;
    32513281
     
    32663296    psF64           decl,
    32673297    psF32           exp_time,
    3268     psF64           background
     3298    psF64           bg,
     3299    psF64           bg_stdev,
     3300    psF64           bg_mean_stdev,
     3301    psF64           alt,
     3302    psF64           az,
     3303    psF32           ccd_temp,
     3304    psF64           posang
    32693305);
    32703306
     
    33063342    psF64           decl,
    33073343    psF32           exp_time,
    3308     psF64           background
     3344    psF64           bg,
     3345    psF64           bg_stdev,
     3346    psF64           bg_mean_stdev,
     3347    psF64           alt,
     3348    psF64           az,
     3349    psF32           ccd_temp,
     3350    psF64           posang
    33093351);
    33103352
     
    33373379    psF64           *decl,
    33383380    psF32           *exp_time,
    3339     psF64           *background
     3381    psF64           *bg,
     3382    psF64           *bg_stdev,
     3383    psF64           *bg_mean_stdev,
     3384    psF64           *alt,
     3385    psF64           *az,
     3386    psF32           *ccd_temp,
     3387    psF64           *posang
    33403388);
    33413389
     
    37443792typedef struct {
    37453793    char            *exp_id;
    3746     char            *camera;
    3747     char            *telescope;
    3748     char            *exp_type;
    3749     psS32           imfiles;
    3750     char            *filter;
    3751     psF32           airmass;
    3752     psF64           ra;
    3753     psF64           decl;
    3754     psF32           exp_time;
    3755     psF64           background;
    37563794    char            *recipe;
    37573795    psS32           p1_version;
     
    37653803p1PendingExpRow *p1PendingExpRowAlloc(
    37663804    const char      *exp_id,
    3767     const char      *camera,
    3768     const char      *telescope,
    3769     const char      *exp_type,
    3770     psS32           imfiles,
    3771     const char      *filter,
    3772     psF32           airmass,
    3773     psF64           ra,
    3774     psF64           decl,
    3775     psF32           exp_time,
    3776     psF64           background,
    37773805    const char      *recipe,
    37783806    psS32           p1_version
     
    38073835    psDB            *dbh,               ///< Database handle
    38083836    const char      *exp_id,
    3809     const char      *camera,
    3810     const char      *telescope,
    3811     const char      *exp_type,
    3812     psS32           imfiles,
    3813     const char      *filter,
    3814     psF32           airmass,
    3815     psF64           ra,
    3816     psF64           decl,
    3817     psF32           exp_time,
    3818     psF64           background,
    38193837    const char      *recipe,
    38203838    psS32           p1_version
     
    38403858    psDB            *dbh,               ///< Database handle
    38413859    char            **exp_id,
    3842     char            **camera,
    3843     char            **telescope,
    3844     char            **exp_type,
    3845     psS32           *imfiles,
    3846     char            **filter,
    3847     psF32           *airmass,
    3848     psF64           *ra,
    3849     psF64           *decl,
    3850     psF32           *exp_time,
    3851     psF64           *background,
    38523860    char            **recipe,
    38533861    psS32           *p1_version
     
    39954003typedef struct {
    39964004    char            *exp_id;
    3997     char            *camera;
    3998     char            *telescope;
    3999     char            *exp_type;
    4000     psS32           imfiles;
    4001     char            *filter;
    4002     psF32           airmass;
    4003     psF32           ra;
    4004     psF64           decl;
    4005     psF64           exp_time;
    4006     psF64           background;
    40074005    char            *recipe;
    40084006    psS32           p1_version;
     
    40174015p2PendingExpRow *p2PendingExpRowAlloc(
    40184016    const char      *exp_id,
    4019     const char      *camera,
    4020     const char      *telescope,
    4021     const char      *exp_type,
    4022     psS32           imfiles,
    4023     const char      *filter,
    4024     psF32           airmass,
    4025     psF32           ra,
    4026     psF64           decl,
    4027     psF64           exp_time,
    4028     psF64           background,
    40294017    const char      *recipe,
    40304018    psS32           p1_version,
     
    40604048    psDB            *dbh,               ///< Database handle
    40614049    const char      *exp_id,
    4062     const char      *camera,
    4063     const char      *telescope,
    4064     const char      *exp_type,
    4065     psS32           imfiles,
    4066     const char      *filter,
    4067     psF32           airmass,
    4068     psF32           ra,
    4069     psF64           decl,
    4070     psF64           exp_time,
    4071     psF64           background,
    40724050    const char      *recipe,
    40734051    psS32           p1_version,
     
    40944072    psDB            *dbh,               ///< Database handle
    40954073    char            **exp_id,
    4096     char            **camera,
    4097     char            **telescope,
    4098     char            **exp_type,
    4099     psS32           *imfiles,
    4100     char            **filter,
    4101     psF32           *airmass,
    4102     psF32           *ra,
    4103     psF64           *decl,
    4104     psF64           *exp_time,
    4105     psF64           *background,
    41064074    char            **recipe,
    41074075    psS32           *p1_version,
     
    44734441typedef struct {
    44744442    char            *exp_id;
    4475     char            *camera;
    4476     char            *telescope;
    4477     char            *exp_type;
    4478     psS32           imfiles;
    4479     char            *filter;
    4480     psF32           airmass;
    4481     psF64           ra;
    4482     psF64           decl;
    4483     psF32           exp_time;
    4484     psF64           background;
    44854443    char            *recipe;
    44864444    psS32           p1_version;
     
    44954453p2DoneExpRow *p2DoneExpRowAlloc(
    44964454    const char      *exp_id,
    4497     const char      *camera,
    4498     const char      *telescope,
    4499     const char      *exp_type,
    4500     psS32           imfiles,
    4501     const char      *filter,
    4502     psF32           airmass,
    4503     psF64           ra,
    4504     psF64           decl,
    4505     psF32           exp_time,
    4506     psF64           background,
    45074455    const char      *recipe,
    45084456    psS32           p1_version,
     
    45384486    psDB            *dbh,               ///< Database handle
    45394487    const char      *exp_id,
    4540     const char      *camera,
    4541     const char      *telescope,
    4542     const char      *exp_type,
    4543     psS32           imfiles,
    4544     const char      *filter,
    4545     psF32           airmass,
    4546     psF64           ra,
    4547     psF64           decl,
    4548     psF32           exp_time,
    4549     psF64           background,
    45504488    const char      *recipe,
    45514489    psS32           p1_version,
     
    45724510    psDB            *dbh,               ///< Database handle
    45734511    char            **exp_id,
    4574     char            **camera,
    4575     char            **telescope,
    4576     char            **exp_type,
    4577     psS32           *imfiles,
    4578     char            **filter,
    4579     psF32           *airmass,
    4580     psF64           *ra,
    4581     psF64           *decl,
    4582     psF32           *exp_time,
    4583     psF64           *background,
    45844512    char            **recipe,
    45854513    psS32           *p1_version,
     
    49514879typedef struct {
    49524880    char            *exp_id;
    4953     char            *camera;
    4954     char            *exp_type;
    4955     psS32           imfiles;
    4956     char            *filter;
    4957     psF32           airmass;
    4958     psF64           ra;
    4959     psF64           decl;
    4960     psF32           exp_time;
    4961     psF64           background;
    49624881    char            *recipe;
    49634882    psS32           p2_version;
     
    49724891p3PendingExpRow *p3PendingExpRowAlloc(
    49734892    const char      *exp_id,
    4974     const char      *camera,
    4975     const char      *exp_type,
    4976     psS32           imfiles,
    4977     const char      *filter,
    4978     psF32           airmass,
    4979     psF64           ra,
    4980     psF64           decl,
    4981     psF32           exp_time,
    4982     psF64           background,
    49834893    const char      *recipe,
    49844894    psS32           p2_version,
     
    50144924    psDB            *dbh,               ///< Database handle
    50154925    const char      *exp_id,
    5016     const char      *camera,
    5017     const char      *exp_type,
    5018     psS32           imfiles,
    5019     const char      *filter,
    5020     psF32           airmass,
    5021     psF64           ra,
    5022     psF64           decl,
    5023     psF32           exp_time,
    5024     psF64           background,
    50254926    const char      *recipe,
    50264927    psS32           p2_version,
     
    50474948    psDB            *dbh,               ///< Database handle
    50484949    char            **exp_id,
    5049     char            **camera,
    5050     char            **exp_type,
    5051     psS32           *imfiles,
    5052     char            **filter,
    5053     psF32           *airmass,
    5054     psF64           *ra,
    5055     psF64           *decl,
    5056     psF32           *exp_time,
    5057     psF64           *background,
    50584950    char            **recipe,
    50594951    psS32           *p2_version,
     
    54115303    psS32           iteration;
    54125304    char            *exp_id;
    5413     char            *camera;
    5414     char            *telescope;
    5415     char            *exp_type;
    5416     psS32           imfiles;
    5417     char            *filter;
    5418     psF32           airmass;
    5419     psF64           ra;
    5420     psF64           decl;
    5421     psF32           exp_time;
    5422     psF64           background;
     5305    bool            include;
     5306    bool            accept;
    54235307} detInputExpRow;
    54245308
     
    54325316    psS32           iteration,
    54335317    const char      *exp_id,
    5434     const char      *camera,
    5435     const char      *telescope,
    5436     const char      *exp_type,
    5437     psS32           imfiles,
    5438     const char      *filter,
    5439     psF32           airmass,
    5440     psF64           ra,
    5441     psF64           decl,
    5442     psF32           exp_time,
    5443     psF64           background
     5318    bool            include,
     5319    bool            accept
    54445320);
    54455321
     
    54745350    psS32           iteration,
    54755351    const char      *exp_id,
    5476     const char      *camera,
    5477     const char      *telescope,
    5478     const char      *exp_type,
    5479     psS32           imfiles,
    5480     const char      *filter,
    5481     psF32           airmass,
    5482     psF64           ra,
    5483     psF64           decl,
    5484     psF32           exp_time,
    5485     psF64           background
     5352    bool            include,
     5353    bool            accept
    54865354);
    54875355
     
    55075375    psS32           *iteration,
    55085376    char            **exp_id,
    5509     char            **camera,
    5510     char            **telescope,
    5511     char            **exp_type,
    5512     psS32           *imfiles,
    5513     char            **filter,
    5514     psF32           *airmass,
    5515     psF64           *ra,
    5516     psF64           *decl,
    5517     psF32           *exp_time,
    5518     psF64           *background
     5377    bool            *include,
     5378    bool            *accept
    55195379);
    55205380
  • trunk/ippdb/tests/alloc.c

    r8266 r8283  
    483483        rawDetrendExpRow *object;
    484484
    485         object = rawDetrendExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64    );
     485        object = rawDetrendExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64    );
    486486
    487487        if (!object) {
     
    529529            exit(EXIT_FAILURE);
    530530        }
    531         if (!object->background == 64.64) {
     531        if (!object->bg == 64.64) {
     532            psFree(object);
     533            exit(EXIT_FAILURE);
     534        }
     535        if (!object->bg_stdev == 64.64) {
     536            psFree(object);
     537            exit(EXIT_FAILURE);
     538        }
     539        if (!object->bg_mean_stdev == 64.64) {
     540            psFree(object);
     541            exit(EXIT_FAILURE);
     542        }
     543        if (!object->alt == 64.64) {
     544            psFree(object);
     545            exit(EXIT_FAILURE);
     546        }
     547        if (!object->az == 64.64) {
     548            psFree(object);
     549            exit(EXIT_FAILURE);
     550        }
     551        if (!object->ccd_temp == 32.32) {
     552            psFree(object);
     553            exit(EXIT_FAILURE);
     554        }
     555        if (!object->posang == 64.64) {
    532556            psFree(object);
    533557            exit(EXIT_FAILURE);
     
    540564        rawScienceExpRow *object;
    541565
    542         object = rawScienceExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64    );
     566        object = rawScienceExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64    );
    543567
    544568        if (!object) {
     
    586610            exit(EXIT_FAILURE);
    587611        }
    588         if (!object->background == 64.64) {
     612        if (!object->bg == 64.64) {
     613            psFree(object);
     614            exit(EXIT_FAILURE);
     615        }
     616        if (!object->bg_stdev == 64.64) {
     617            psFree(object);
     618            exit(EXIT_FAILURE);
     619        }
     620        if (!object->bg_mean_stdev == 64.64) {
     621            psFree(object);
     622            exit(EXIT_FAILURE);
     623        }
     624        if (!object->alt == 64.64) {
     625            psFree(object);
     626            exit(EXIT_FAILURE);
     627        }
     628        if (!object->az == 64.64) {
     629            psFree(object);
     630            exit(EXIT_FAILURE);
     631        }
     632        if (!object->ccd_temp == 32.32) {
     633            psFree(object);
     634            exit(EXIT_FAILURE);
     635        }
     636        if (!object->posang == 64.64) {
    589637            psFree(object);
    590638            exit(EXIT_FAILURE);
     
    674722        p1PendingExpRow *object;
    675723
    676         object = p1PendingExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64, "a string", -32    );
    677 
    678         if (!object) {
    679             exit(EXIT_FAILURE);
    680         }
    681 
    682         if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
    683             psFree(object);
    684             exit(EXIT_FAILURE);
    685         }
    686         if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {
    687             psFree(object);
    688             exit(EXIT_FAILURE);
    689         }
    690         if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) {
    691             psFree(object);
    692             exit(EXIT_FAILURE);
    693         }
    694         if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {
    695             psFree(object);
    696             exit(EXIT_FAILURE);
    697         }
    698         if (!object->imfiles == -32) {
    699             psFree(object);
    700             exit(EXIT_FAILURE);
    701         }
    702         if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) {
    703             psFree(object);
    704             exit(EXIT_FAILURE);
    705         }
    706         if (!object->airmass == 32.32) {
    707             psFree(object);
    708             exit(EXIT_FAILURE);
    709         }
    710         if (!object->ra == 64.64) {
    711             psFree(object);
    712             exit(EXIT_FAILURE);
    713         }
    714         if (!object->decl == 64.64) {
    715             psFree(object);
    716             exit(EXIT_FAILURE);
    717         }
    718         if (!object->exp_time == 32.32) {
    719             psFree(object);
    720             exit(EXIT_FAILURE);
    721         }
    722         if (!object->background == 64.64) {
     724        object = p1PendingExpRowAlloc("a string", "a string", -32    );
     725
     726        if (!object) {
     727            exit(EXIT_FAILURE);
     728        }
     729
     730        if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
    723731            psFree(object);
    724732            exit(EXIT_FAILURE);
     
    739747        p2PendingExpRow *object;
    740748
    741         object = p2PendingExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", 32.32, 32.32, 64.64, 64.64, 64.64, "a string", -32, -32    );
    742 
    743         if (!object) {
    744             exit(EXIT_FAILURE);
    745         }
    746 
    747         if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
    748             psFree(object);
    749             exit(EXIT_FAILURE);
    750         }
    751         if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {
    752             psFree(object);
    753             exit(EXIT_FAILURE);
    754         }
    755         if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) {
    756             psFree(object);
    757             exit(EXIT_FAILURE);
    758         }
    759         if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {
    760             psFree(object);
    761             exit(EXIT_FAILURE);
    762         }
    763         if (!object->imfiles == -32) {
    764             psFree(object);
    765             exit(EXIT_FAILURE);
    766         }
    767         if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) {
    768             psFree(object);
    769             exit(EXIT_FAILURE);
    770         }
    771         if (!object->airmass == 32.32) {
    772             psFree(object);
    773             exit(EXIT_FAILURE);
    774         }
    775         if (!object->ra == 32.32) {
    776             psFree(object);
    777             exit(EXIT_FAILURE);
    778         }
    779         if (!object->decl == 64.64) {
    780             psFree(object);
    781             exit(EXIT_FAILURE);
    782         }
    783         if (!object->exp_time == 64.64) {
    784             psFree(object);
    785             exit(EXIT_FAILURE);
    786         }
    787         if (!object->background == 64.64) {
     749        object = p2PendingExpRowAlloc("a string", "a string", -32, -32    );
     750
     751        if (!object) {
     752            exit(EXIT_FAILURE);
     753        }
     754
     755        if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
    788756            psFree(object);
    789757            exit(EXIT_FAILURE);
     
    845813        p2DoneExpRow    *object;
    846814
    847         object = p2DoneExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64, "a string", -32, -32    );
    848 
    849         if (!object) {
    850             exit(EXIT_FAILURE);
    851         }
    852 
    853         if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
    854             psFree(object);
    855             exit(EXIT_FAILURE);
    856         }
    857         if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {
    858             psFree(object);
    859             exit(EXIT_FAILURE);
    860         }
    861         if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) {
    862             psFree(object);
    863             exit(EXIT_FAILURE);
    864         }
    865         if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {
    866             psFree(object);
    867             exit(EXIT_FAILURE);
    868         }
    869         if (!object->imfiles == -32) {
    870             psFree(object);
    871             exit(EXIT_FAILURE);
    872         }
    873         if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) {
    874             psFree(object);
    875             exit(EXIT_FAILURE);
    876         }
    877         if (!object->airmass == 32.32) {
    878             psFree(object);
    879             exit(EXIT_FAILURE);
    880         }
    881         if (!object->ra == 64.64) {
    882             psFree(object);
    883             exit(EXIT_FAILURE);
    884         }
    885         if (!object->decl == 64.64) {
    886             psFree(object);
    887             exit(EXIT_FAILURE);
    888         }
    889         if (!object->exp_time == 32.32) {
    890             psFree(object);
    891             exit(EXIT_FAILURE);
    892         }
    893         if (!object->background == 64.64) {
     815        object = p2DoneExpRowAlloc("a string", "a string", -32, -32    );
     816
     817        if (!object) {
     818            exit(EXIT_FAILURE);
     819        }
     820
     821        if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
    894822            psFree(object);
    895823            exit(EXIT_FAILURE);
     
    951879        p3PendingExpRow *object;
    952880
    953         object = p3PendingExpRowAlloc("a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64, "a string", -32, -32    );
    954 
    955         if (!object) {
    956             exit(EXIT_FAILURE);
    957         }
    958 
    959         if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
    960             psFree(object);
    961             exit(EXIT_FAILURE);
    962         }
    963         if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {
    964             psFree(object);
    965             exit(EXIT_FAILURE);
    966         }
    967         if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {
    968             psFree(object);
    969             exit(EXIT_FAILURE);
    970         }
    971         if (!object->imfiles == -32) {
    972             psFree(object);
    973             exit(EXIT_FAILURE);
    974         }
    975         if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) {
    976             psFree(object);
    977             exit(EXIT_FAILURE);
    978         }
    979         if (!object->airmass == 32.32) {
    980             psFree(object);
    981             exit(EXIT_FAILURE);
    982         }
    983         if (!object->ra == 64.64) {
    984             psFree(object);
    985             exit(EXIT_FAILURE);
    986         }
    987         if (!object->decl == 64.64) {
    988             psFree(object);
    989             exit(EXIT_FAILURE);
    990         }
    991         if (!object->exp_time == 32.32) {
    992             psFree(object);
    993             exit(EXIT_FAILURE);
    994         }
    995         if (!object->background == 64.64) {
     881        object = p3PendingExpRowAlloc("a string", "a string", -32, -32    );
     882
     883        if (!object) {
     884            exit(EXIT_FAILURE);
     885        }
     886
     887        if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {
    996888            psFree(object);
    997889            exit(EXIT_FAILURE);
     
    1037929        detInputExpRow  *object;
    1038930
    1039         object = detInputExpRowAlloc(-32, -32, "a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64    );
     931        object = detInputExpRowAlloc(-32, -32, "a string", true, true    );
    1040932
    1041933        if (!object) {
     
    1055947            exit(EXIT_FAILURE);
    1056948        }
    1057         if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {
    1058             psFree(object);
    1059             exit(EXIT_FAILURE);
    1060         }
    1061         if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) {
    1062             psFree(object);
    1063             exit(EXIT_FAILURE);
    1064         }
    1065         if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {
    1066             psFree(object);
    1067             exit(EXIT_FAILURE);
    1068         }
    1069         if (!object->imfiles == -32) {
    1070             psFree(object);
    1071             exit(EXIT_FAILURE);
    1072         }
    1073         if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) {
    1074             psFree(object);
    1075             exit(EXIT_FAILURE);
    1076         }
    1077         if (!object->airmass == 32.32) {
    1078             psFree(object);
    1079             exit(EXIT_FAILURE);
    1080         }
    1081         if (!object->ra == 64.64) {
    1082             psFree(object);
    1083             exit(EXIT_FAILURE);
    1084         }
    1085         if (!object->decl == 64.64) {
    1086             psFree(object);
    1087             exit(EXIT_FAILURE);
    1088         }
    1089         if (!object->exp_time == 32.32) {
    1090             psFree(object);
    1091             exit(EXIT_FAILURE);
    1092         }
    1093         if (!object->background == 64.64) {
     949        if (!object->include == true) {
     950            psFree(object);
     951            exit(EXIT_FAILURE);
     952        }
     953        if (!object->accept == true) {
    1094954            psFree(object);
    1095955            exit(EXIT_FAILURE);
  • trunk/ippdb/tests/insert.c

    r8266 r8283  
    208208        }
    209209
    210         if (!rawDetrendExpInsert(dbh, "a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64)) {
    211             exit(EXIT_FAILURE);
    212         }
    213 
    214         psDBCleanup(dbh);
    215     }
    216 
    217     {
    218         psDB            *dbh;
    219 
    220         dbh = psDBInit("localhost", "test", NULL, "test");
    221         if (!dbh) {
    222             exit(EXIT_FAILURE);
    223         }
    224 
    225         if (!rawScienceExpInsert(dbh, "a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64)) {
     210        if (!rawDetrendExpInsert(dbh, "a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64)) {
     211            exit(EXIT_FAILURE);
     212        }
     213
     214        psDBCleanup(dbh);
     215    }
     216
     217    {
     218        psDB            *dbh;
     219
     220        dbh = psDBInit("localhost", "test", NULL, "test");
     221        if (!dbh) {
     222            exit(EXIT_FAILURE);
     223        }
     224
     225        if (!rawScienceExpInsert(dbh, "a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64)) {
    226226            exit(EXIT_FAILURE);
    227227        }
     
    253253        }
    254254
    255         if (!p1PendingExpInsert(dbh, "a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64, "a string", -32)) {
    256             exit(EXIT_FAILURE);
    257         }
    258 
    259         psDBCleanup(dbh);
    260     }
    261 
    262     {
    263         psDB            *dbh;
    264 
    265         dbh = psDBInit("localhost", "test", NULL, "test");
    266         if (!dbh) {
    267             exit(EXIT_FAILURE);
    268         }
    269 
    270         if (!p2PendingExpInsert(dbh, "a string", "a string", "a string", "a string", -32, "a string", 32.32, 32.32, 64.64, 64.64, 64.64, "a string", -32, -32)) {
     255        if (!p1PendingExpInsert(dbh, "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", -32, -32)) {
    271271            exit(EXIT_FAILURE);
    272272        }
     
    298298        }
    299299
    300         if (!p2DoneExpInsert(dbh, "a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64, "a string", -32, -32)) {
     300        if (!p2DoneExpInsert(dbh, "a string", "a string", -32, -32)) {
    301301            exit(EXIT_FAILURE);
    302302        }
     
    328328        }
    329329
    330         if (!p3PendingExpInsert(dbh, "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64, "a string", -32, -32)) {
     330        if (!p3PendingExpInsert(dbh, "a string", "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", 32.32, 64.64, 64.64, 32.32, 64.64)) {
     360        if (!detInputExpInsert(dbh, -32, -32, "a string", true, true)) {
    361361            exit(EXIT_FAILURE);
    362362        }
  • trunk/ippdb/tests/insertobject.c

    r8266 r8283  
    300300        }
    301301
    302         object = rawDetrendExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64);
     302        object = rawDetrendExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64);
    303303        if (!object) {
    304304            exit(EXIT_FAILURE);
     
    322322        }
    323323
    324         object = rawScienceExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64);
     324        object = rawScienceExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64);
    325325        if (!object) {
    326326            exit(EXIT_FAILURE);
     
    366366        }
    367367
    368         object = p1PendingExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64, "a string", -32);
     368        object = p1PendingExpRowAlloc("a string", "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", 32.32, 32.32, 64.64, 64.64, 64.64, "a string", -32, -32);
     390        object = p2PendingExpRowAlloc("a string", "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", 32.32, 64.64, 64.64, 32.32, 64.64, "a string", -32, -32);
     434        object = p2DoneExpRowAlloc("a string", "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", 32.32, 64.64, 64.64, 32.32, 64.64, "a string", -32, -32);
     478        object = p3PendingExpRowAlloc("a string", "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", 32.32, 64.64, 64.64, 32.32, 64.64);
     522        object = detInputExpRowAlloc(-32, -32, "a string", true, true);
    523523        if (!object) {
    524524            exit(EXIT_FAILURE);
  • trunk/ippdb/tests/metadatafromobject.c

    r8266 r8283  
    590590        bool            status;
    591591
    592         object = rawDetrendExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64);
     592        object = rawDetrendExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64);
    593593        if (!object) {
    594594            exit(EXIT_FAILURE);
     
    642642            exit(EXIT_FAILURE);
    643643        }
    644         if (!psMetadataLookupF64(&status, md, "background") == 64.64) {
     644        if (!psMetadataLookupF64(&status, md, "bg") == 64.64) {
     645            psFree(md);
     646            exit(EXIT_FAILURE);
     647        }
     648        if (!psMetadataLookupF64(&status, md, "bg_stdev") == 64.64) {
     649            psFree(md);
     650            exit(EXIT_FAILURE);
     651        }
     652        if (!psMetadataLookupF64(&status, md, "bg_mean_stdev") == 64.64) {
     653            psFree(md);
     654            exit(EXIT_FAILURE);
     655        }
     656        if (!psMetadataLookupF64(&status, md, "alt") == 64.64) {
     657            psFree(md);
     658            exit(EXIT_FAILURE);
     659        }
     660        if (!psMetadataLookupF64(&status, md, "az") == 64.64) {
     661            psFree(md);
     662            exit(EXIT_FAILURE);
     663        }
     664        if (!psMetadataLookupF32(&status, md, "ccd_temp") == 32.32) {
     665            psFree(md);
     666            exit(EXIT_FAILURE);
     667        }
     668        if (!psMetadataLookupF64(&status, md, "posang") == 64.64) {
    645669            psFree(md);
    646670            exit(EXIT_FAILURE);
     
    655679        bool            status;
    656680
    657         object = rawScienceExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64);
     681        object = rawScienceExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64);
    658682        if (!object) {
    659683            exit(EXIT_FAILURE);
     
    707731            exit(EXIT_FAILURE);
    708732        }
    709         if (!psMetadataLookupF64(&status, md, "background") == 64.64) {
     733        if (!psMetadataLookupF64(&status, md, "bg") == 64.64) {
     734            psFree(md);
     735            exit(EXIT_FAILURE);
     736        }
     737        if (!psMetadataLookupF64(&status, md, "bg_stdev") == 64.64) {
     738            psFree(md);
     739            exit(EXIT_FAILURE);
     740        }
     741        if (!psMetadataLookupF64(&status, md, "bg_mean_stdev") == 64.64) {
     742            psFree(md);
     743            exit(EXIT_FAILURE);
     744        }
     745        if (!psMetadataLookupF64(&status, md, "alt") == 64.64) {
     746            psFree(md);
     747            exit(EXIT_FAILURE);
     748        }
     749        if (!psMetadataLookupF64(&status, md, "az") == 64.64) {
     750            psFree(md);
     751            exit(EXIT_FAILURE);
     752        }
     753        if (!psMetadataLookupF32(&status, md, "ccd_temp") == 32.32) {
     754            psFree(md);
     755            exit(EXIT_FAILURE);
     756        }
     757        if (!psMetadataLookupF64(&status, md, "posang") == 64.64) {
    710758            psFree(md);
    711759            exit(EXIT_FAILURE);
     
    805853        bool            status;
    806854
    807         object = p1PendingExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64, "a string", -32);
     855        object = p1PendingExpRowAlloc("a string", "a string", -32);
    808856        if (!object) {
    809857            exit(EXIT_FAILURE);
     
    821869            exit(EXIT_FAILURE);
    822870        }
    823         if (strncmp(psMetadataLookupPtr(&status, md, "camera"), "a string", MAX_STRING_LENGTH)) {
    824             psFree(md);
    825             exit(EXIT_FAILURE);
    826         }
    827         if (strncmp(psMetadataLookupPtr(&status, md, "telescope"), "a string", MAX_STRING_LENGTH)) {
    828             psFree(md);
    829             exit(EXIT_FAILURE);
    830         }
    831         if (strncmp(psMetadataLookupPtr(&status, md, "exp_type"), "a string", MAX_STRING_LENGTH)) {
    832             psFree(md);
    833             exit(EXIT_FAILURE);
    834         }
    835         if (!psMetadataLookupS32(&status, md, "imfiles") == -32) {
    836             psFree(md);
    837             exit(EXIT_FAILURE);
    838         }
    839         if (strncmp(psMetadataLookupPtr(&status, md, "filter"), "a string", MAX_STRING_LENGTH)) {
    840             psFree(md);
    841             exit(EXIT_FAILURE);
    842         }
    843         if (!psMetadataLookupF32(&status, md, "airmass") == 32.32) {
    844             psFree(md);
    845             exit(EXIT_FAILURE);
    846         }
    847         if (!psMetadataLookupF64(&status, md, "ra") == 64.64) {
    848             psFree(md);
    849             exit(EXIT_FAILURE);
    850         }
    851         if (!psMetadataLookupF64(&status, md, "decl") == 64.64) {
    852             psFree(md);
    853             exit(EXIT_FAILURE);
    854         }
    855         if (!psMetadataLookupF32(&status, md, "exp_time") == 32.32) {
    856             psFree(md);
    857             exit(EXIT_FAILURE);
    858         }
    859         if (!psMetadataLookupF64(&status, md, "background") == 64.64) {
    860             psFree(md);
    861             exit(EXIT_FAILURE);
    862         }
    863871        if (strncmp(psMetadataLookupPtr(&status, md, "recipe"), "a string", MAX_STRING_LENGTH)) {
    864872            psFree(md);
     
    878886        bool            status;
    879887
    880         object = p2PendingExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", 32.32, 32.32, 64.64, 64.64, 64.64, "a string", -32, -32);
     888        object = p2PendingExpRowAlloc("a string", "a string", -32, -32);
    881889        if (!object) {
    882890            exit(EXIT_FAILURE);
     
    894902            exit(EXIT_FAILURE);
    895903        }
    896         if (strncmp(psMetadataLookupPtr(&status, md, "camera"), "a string", MAX_STRING_LENGTH)) {
    897             psFree(md);
    898             exit(EXIT_FAILURE);
    899         }
    900         if (strncmp(psMetadataLookupPtr(&status, md, "telescope"), "a string", MAX_STRING_LENGTH)) {
    901             psFree(md);
    902             exit(EXIT_FAILURE);
    903         }
    904         if (strncmp(psMetadataLookupPtr(&status, md, "exp_type"), "a string", MAX_STRING_LENGTH)) {
    905             psFree(md);
    906             exit(EXIT_FAILURE);
    907         }
    908         if (!psMetadataLookupS32(&status, md, "imfiles") == -32) {
    909             psFree(md);
    910             exit(EXIT_FAILURE);
    911         }
    912         if (strncmp(psMetadataLookupPtr(&status, md, "filter"), "a string", MAX_STRING_LENGTH)) {
    913             psFree(md);
    914             exit(EXIT_FAILURE);
    915         }
    916         if (!psMetadataLookupF32(&status, md, "airmass") == 32.32) {
    917             psFree(md);
    918             exit(EXIT_FAILURE);
    919         }
    920         if (!psMetadataLookupF32(&status, md, "ra") == 32.32) {
    921             psFree(md);
    922             exit(EXIT_FAILURE);
    923         }
    924         if (!psMetadataLookupF64(&status, md, "decl") == 64.64) {
    925             psFree(md);
    926             exit(EXIT_FAILURE);
    927         }
    928         if (!psMetadataLookupF64(&status, md, "exp_time") == 64.64) {
    929             psFree(md);
    930             exit(EXIT_FAILURE);
    931         }
    932         if (!psMetadataLookupF64(&status, md, "background") == 64.64) {
    933             psFree(md);
    934             exit(EXIT_FAILURE);
    935         }
    936904        if (strncmp(psMetadataLookupPtr(&status, md, "recipe"), "a string", MAX_STRING_LENGTH)) {
    937905            psFree(md);
     
    1000968        bool            status;
    1001969
    1002         object = p2DoneExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64, "a string", -32, -32);
     970        object = p2DoneExpRowAlloc("a string", "a string", -32, -32);
    1003971        if (!object) {
    1004972            exit(EXIT_FAILURE);
     
    1016984            exit(EXIT_FAILURE);
    1017985        }
    1018         if (strncmp(psMetadataLookupPtr(&status, md, "camera"), "a string", MAX_STRING_LENGTH)) {
    1019             psFree(md);
    1020             exit(EXIT_FAILURE);
    1021         }
    1022         if (strncmp(psMetadataLookupPtr(&status, md, "telescope"), "a string", MAX_STRING_LENGTH)) {
    1023             psFree(md);
    1024             exit(EXIT_FAILURE);
    1025         }
    1026         if (strncmp(psMetadataLookupPtr(&status, md, "exp_type"), "a string", MAX_STRING_LENGTH)) {
    1027             psFree(md);
    1028             exit(EXIT_FAILURE);
    1029         }
    1030         if (!psMetadataLookupS32(&status, md, "imfiles") == -32) {
    1031             psFree(md);
    1032             exit(EXIT_FAILURE);
    1033         }
    1034         if (strncmp(psMetadataLookupPtr(&status, md, "filter"), "a string", MAX_STRING_LENGTH)) {
    1035             psFree(md);
    1036             exit(EXIT_FAILURE);
    1037         }
    1038         if (!psMetadataLookupF32(&status, md, "airmass") == 32.32) {
    1039             psFree(md);
    1040             exit(EXIT_FAILURE);
    1041         }
    1042         if (!psMetadataLookupF64(&status, md, "ra") == 64.64) {
    1043             psFree(md);
    1044             exit(EXIT_FAILURE);
    1045         }
    1046         if (!psMetadataLookupF64(&status, md, "decl") == 64.64) {
    1047             psFree(md);
    1048             exit(EXIT_FAILURE);
    1049         }
    1050         if (!psMetadataLookupF32(&status, md, "exp_time") == 32.32) {
    1051             psFree(md);
    1052             exit(EXIT_FAILURE);
    1053         }
    1054         if (!psMetadataLookupF64(&status, md, "background") == 64.64) {
    1055             psFree(md);
    1056             exit(EXIT_FAILURE);
    1057         }
    1058986        if (strncmp(psMetadataLookupPtr(&status, md, "recipe"), "a string", MAX_STRING_LENGTH)) {
    1059987            psFree(md);
     
    11221050        bool            status;
    11231051
    1124         object = p3PendingExpRowAlloc("a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64, "a string", -32, -32);
     1052        object = p3PendingExpRowAlloc("a string", "a string", -32, -32);
    11251053        if (!object) {
    11261054            exit(EXIT_FAILURE);
     
    11381066            exit(EXIT_FAILURE);
    11391067        }
    1140         if (strncmp(psMetadataLookupPtr(&status, md, "camera"), "a string", MAX_STRING_LENGTH)) {
    1141             psFree(md);
    1142             exit(EXIT_FAILURE);
    1143         }
    1144         if (strncmp(psMetadataLookupPtr(&status, md, "exp_type"), "a string", MAX_STRING_LENGTH)) {
    1145             psFree(md);
    1146             exit(EXIT_FAILURE);
    1147         }
    1148         if (!psMetadataLookupS32(&status, md, "imfiles") == -32) {
    1149             psFree(md);
    1150             exit(EXIT_FAILURE);
    1151         }
    1152         if (strncmp(psMetadataLookupPtr(&status, md, "filter"), "a string", MAX_STRING_LENGTH)) {
    1153             psFree(md);
    1154             exit(EXIT_FAILURE);
    1155         }
    1156         if (!psMetadataLookupF32(&status, md, "airmass") == 32.32) {
    1157             psFree(md);
    1158             exit(EXIT_FAILURE);
    1159         }
    1160         if (!psMetadataLookupF64(&status, md, "ra") == 64.64) {
    1161             psFree(md);
    1162             exit(EXIT_FAILURE);
    1163         }
    1164         if (!psMetadataLookupF64(&status, md, "decl") == 64.64) {
    1165             psFree(md);
    1166             exit(EXIT_FAILURE);
    1167         }
    1168         if (!psMetadataLookupF32(&status, md, "exp_time") == 32.32) {
    1169             psFree(md);
    1170             exit(EXIT_FAILURE);
    1171         }
    1172         if (!psMetadataLookupF64(&status, md, "background") == 64.64) {
    1173             psFree(md);
    1174             exit(EXIT_FAILURE);
    1175         }
    11761068        if (strncmp(psMetadataLookupPtr(&status, md, "recipe"), "a string", MAX_STRING_LENGTH)) {
    11771069            psFree(md);
     
    12241116        bool            status;
    12251117
    1226         object = detInputExpRowAlloc(-32, -32, "a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64);
     1118        object = detInputExpRowAlloc(-32, -32, "a string", true, true);
    12271119        if (!object) {
    12281120            exit(EXIT_FAILURE);
     
    12481140            exit(EXIT_FAILURE);
    12491141        }
    1250         if (strncmp(psMetadataLookupPtr(&status, md, "camera"), "a string", MAX_STRING_LENGTH)) {
    1251             psFree(md);
    1252             exit(EXIT_FAILURE);
    1253         }
    1254         if (strncmp(psMetadataLookupPtr(&status, md, "telescope"), "a string", MAX_STRING_LENGTH)) {
    1255             psFree(md);
    1256             exit(EXIT_FAILURE);
    1257         }
    1258         if (strncmp(psMetadataLookupPtr(&status, md, "exp_type"), "a string", MAX_STRING_LENGTH)) {
    1259             psFree(md);
    1260             exit(EXIT_FAILURE);
    1261         }
    1262         if (!psMetadataLookupS32(&status, md, "imfiles") == -32) {
    1263             psFree(md);
    1264             exit(EXIT_FAILURE);
    1265         }
    1266         if (strncmp(psMetadataLookupPtr(&status, md, "filter"), "a string", MAX_STRING_LENGTH)) {
    1267             psFree(md);
    1268             exit(EXIT_FAILURE);
    1269         }
    1270         if (!psMetadataLookupF32(&status, md, "airmass") == 32.32) {
    1271             psFree(md);
    1272             exit(EXIT_FAILURE);
    1273         }
    1274         if (!psMetadataLookupF64(&status, md, "ra") == 64.64) {
    1275             psFree(md);
    1276             exit(EXIT_FAILURE);
    1277         }
    1278         if (!psMetadataLookupF64(&status, md, "decl") == 64.64) {
    1279             psFree(md);
    1280             exit(EXIT_FAILURE);
    1281         }
    1282         if (!psMetadataLookupF32(&status, md, "exp_time") == 32.32) {
    1283             psFree(md);
    1284             exit(EXIT_FAILURE);
    1285         }
    1286         if (!psMetadataLookupF64(&status, md, "background") == 64.64) {
     1142        if (!psMetadataLookupBool(&status, md, "include") == true) {
     1143            psFree(md);
     1144            exit(EXIT_FAILURE);
     1145        }
     1146        if (!psMetadataLookupBool(&status, md, "accept") == true) {
    12871147            psFree(md);
    12881148            exit(EXIT_FAILURE);
  • trunk/ippdb/tests/objectfrommetadata.c

    r8266 r8283  
    895895            exit(EXIT_FAILURE);
    896896        }
    897         if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, 64.64)) {
     897        if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg", 0, NULL, 64.64)) {
     898            psFree(md);
     899            exit(EXIT_FAILURE);
     900        }
     901        if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, 64.64)) {
     902            psFree(md);
     903            exit(EXIT_FAILURE);
     904        }
     905        if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, 64.64)) {
     906            psFree(md);
     907            exit(EXIT_FAILURE);
     908        }
     909        if (!psMetadataAddF64(md, PS_LIST_TAIL, "alt", 0, NULL, 64.64)) {
     910            psFree(md);
     911            exit(EXIT_FAILURE);
     912        }
     913        if (!psMetadataAddF64(md, PS_LIST_TAIL, "az", 0, NULL, 64.64)) {
     914            psFree(md);
     915            exit(EXIT_FAILURE);
     916        }
     917        if (!psMetadataAddF32(md, PS_LIST_TAIL, "ccd_temp", 0, NULL, 32.32)) {
     918            psFree(md);
     919            exit(EXIT_FAILURE);
     920        }
     921        if (!psMetadataAddF64(md, PS_LIST_TAIL, "posang", 0, NULL, 64.64)) {
    898922            psFree(md);
    899923            exit(EXIT_FAILURE);
     
    948972            exit(EXIT_FAILURE);
    949973        }
    950         if (!object->background == 64.64) {
     974        if (!object->bg == 64.64) {
     975            psFree(object);
     976            exit(EXIT_FAILURE);
     977        }
     978        if (!object->bg_stdev == 64.64) {
     979            psFree(object);
     980            exit(EXIT_FAILURE);
     981        }
     982        if (!object->bg_mean_stdev == 64.64) {
     983            psFree(object);
     984            exit(EXIT_FAILURE);
     985        }
     986        if (!object->alt == 64.64) {
     987            psFree(object);
     988            exit(EXIT_FAILURE);
     989        }
     990        if (!object->az == 64.64) {
     991            psFree(object);
     992            exit(EXIT_FAILURE);
     993        }
     994        if (!object->ccd_temp == 32.32) {
     995            psFree(object);
     996            exit(EXIT_FAILURE);
     997        }
     998        if (!object->posang == 64.64) {
    951999            psFree(object);
    9521000            exit(EXIT_FAILURE);
     
    10011049            exit(EXIT_FAILURE);
    10021050        }
    1003         if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, 64.64)) {
     1051        if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg", 0, NULL, 64.64)) {
     1052            psFree(md);
     1053            exit(EXIT_FAILURE);
     1054        }
     1055        if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, 64.64)) {
     1056            psFree(md);
     1057            exit(EXIT_FAILURE);
     1058        }
     1059        if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, 64.64)) {
     1060            psFree(md);
     1061            exit(EXIT_FAILURE);
     1062        }
     1063        if (!psMetadataAddF64(md, PS_LIST_TAIL, "alt", 0, NULL, 64.64)) {
     1064            psFree(md);
     1065            exit(EXIT_FAILURE);
     1066        }
     1067        if (!psMetadataAddF64(md, PS_LIST_TAIL, "az", 0, NULL, 64.64)) {
     1068            psFree(md);
     1069            exit(EXIT_FAILURE);
     1070        }
     1071        if (!psMetadataAddF32(md, PS_LIST_TAIL, "ccd_temp", 0, NULL, 32.32)) {
     1072            psFree(md);
     1073            exit(EXIT_FAILURE);
     1074        }
     1075        if (!psMetadataAddF64(md, PS_LIST_TAIL, "posang", 0, NULL, 64.64)) {
    10041076            psFree(md);
    10051077            exit(EXIT_FAILURE);
     
    10541126            exit(EXIT_FAILURE);
    10551127        }
    1056         if (!object->background == 64.64) {
     1128        if (!object->bg == 64.64) {
     1129            psFree(object);
     1130            exit(EXIT_FAILURE);
     1131        }
     1132        if (!object->bg_stdev == 64.64) {
     1133            psFree(object);
     1134            exit(EXIT_FAILURE);
     1135        }
     1136        if (!object->bg_mean_stdev == 64.64) {
     1137            psFree(object);
     1138            exit(EXIT_FAILURE);
     1139        }
     1140        if (!object->alt == 64.64) {
     1141            psFree(object);
     1142            exit(EXIT_FAILURE);
     1143        }
     1144        if (!object->az == 64.64) {
     1145            psFree(object);
     1146            exit(EXIT_FAILURE);
     1147        }
     1148        if (!object->ccd_temp == 32.32) {
     1149            psFree(object);
     1150            exit(EXIT_FAILURE);
     1151        }
     1152        if (!object->posang == 64.64) {
    10571153            psFree(object);
    10581154            exit(EXIT_FAILURE);
     
    12171313            exit(EXIT_FAILURE);
    12181314        }
    1219         if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, "a string")) {
    1220             psFree(md);
    1221             exit(EXIT_FAILURE);
    1222         }
    1223         if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, "a string")) {
    1224             psFree(md);
    1225             exit(EXIT_FAILURE);
    1226         }
    1227         if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, "a string")) {
    1228             psFree(md);
    1229             exit(EXIT_FAILURE);
    1230         }
    1231         if (!psMetadataAddS32(md, PS_LIST_TAIL, "imfiles", 0, NULL, -32)) {
    1232             psFree(md);
    1233             exit(EXIT_FAILURE);
    1234         }
    1235         if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, "a string")) {
    1236             psFree(md);
    1237             exit(EXIT_FAILURE);
    1238         }
    1239         if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, 32.32)) {
    1240             psFree(md);
    1241             exit(EXIT_FAILURE);
    1242         }
    1243         if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, 64.64)) {
    1244             psFree(md);
    1245             exit(EXIT_FAILURE);
    1246         }
    1247         if (!psMetadataAddF64(md, PS_LIST_TAIL, "decl", 0, NULL, 64.64)) {
    1248             psFree(md);
    1249             exit(EXIT_FAILURE);
    1250         }
    1251         if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, 32.32)) {
    1252             psFree(md);
    1253             exit(EXIT_FAILURE);
    1254         }
    1255         if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, 64.64)) {
    1256             psFree(md);
    1257             exit(EXIT_FAILURE);
    1258         }
    12591315        if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, "a string")) {
    12601316            psFree(md);
     
    12781334            exit(EXIT_FAILURE);
    12791335        }
    1280         if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {
    1281             psFree(object);
    1282             exit(EXIT_FAILURE);
    1283         }
    1284         if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) {
    1285             psFree(object);
    1286             exit(EXIT_FAILURE);
    1287         }
    1288         if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {
    1289             psFree(object);
    1290             exit(EXIT_FAILURE);
    1291         }
    1292         if (!object->imfiles == -32) {
    1293             psFree(object);
    1294             exit(EXIT_FAILURE);
    1295         }
    1296         if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) {
    1297             psFree(object);
    1298             exit(EXIT_FAILURE);
    1299         }
    1300         if (!object->airmass == 32.32) {
    1301             psFree(object);
    1302             exit(EXIT_FAILURE);
    1303         }
    1304         if (!object->ra == 64.64) {
    1305             psFree(object);
    1306             exit(EXIT_FAILURE);
    1307         }
    1308         if (!object->decl == 64.64) {
    1309             psFree(object);
    1310             exit(EXIT_FAILURE);
    1311         }
    1312         if (!object->exp_time == 32.32) {
    1313             psFree(object);
    1314             exit(EXIT_FAILURE);
    1315         }
    1316         if (!object->background == 64.64) {
    1317             psFree(object);
    1318             exit(EXIT_FAILURE);
    1319         }
    13201336        if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) {
    13211337            psFree(object);
     
    13391355            exit(EXIT_FAILURE);
    13401356        }
    1341         if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, "a string")) {
    1342             psFree(md);
    1343             exit(EXIT_FAILURE);
    1344         }
    1345         if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, "a string")) {
    1346             psFree(md);
    1347             exit(EXIT_FAILURE);
    1348         }
    1349         if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, "a string")) {
    1350             psFree(md);
    1351             exit(EXIT_FAILURE);
    1352         }
    1353         if (!psMetadataAddS32(md, PS_LIST_TAIL, "imfiles", 0, NULL, -32)) {
    1354             psFree(md);
    1355             exit(EXIT_FAILURE);
    1356         }
    1357         if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, "a string")) {
    1358             psFree(md);
    1359             exit(EXIT_FAILURE);
    1360         }
    1361         if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, 32.32)) {
    1362             psFree(md);
    1363             exit(EXIT_FAILURE);
    1364         }
    1365         if (!psMetadataAddF32(md, PS_LIST_TAIL, "ra", 0, NULL, 32.32)) {
    1366             psFree(md);
    1367             exit(EXIT_FAILURE);
    1368         }
    1369         if (!psMetadataAddF64(md, PS_LIST_TAIL, "decl", 0, NULL, 64.64)) {
    1370             psFree(md);
    1371             exit(EXIT_FAILURE);
    1372         }
    1373         if (!psMetadataAddF64(md, PS_LIST_TAIL, "exp_time", 0, NULL, 64.64)) {
    1374             psFree(md);
    1375             exit(EXIT_FAILURE);
    1376         }
    1377         if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, 64.64)) {
    1378             psFree(md);
    1379             exit(EXIT_FAILURE);
    1380         }
    13811357        if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, "a string")) {
    13821358            psFree(md);
     
    14041380            exit(EXIT_FAILURE);
    14051381        }
    1406         if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {
    1407             psFree(object);
    1408             exit(EXIT_FAILURE);
    1409         }
    1410         if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) {
    1411             psFree(object);
    1412             exit(EXIT_FAILURE);
    1413         }
    1414         if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {
    1415             psFree(object);
    1416             exit(EXIT_FAILURE);
    1417         }
    1418         if (!object->imfiles == -32) {
    1419             psFree(object);
    1420             exit(EXIT_FAILURE);
    1421         }
    1422         if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) {
    1423             psFree(object);
    1424             exit(EXIT_FAILURE);
    1425         }
    1426         if (!object->airmass == 32.32) {
    1427             psFree(object);
    1428             exit(EXIT_FAILURE);
    1429         }
    1430         if (!object->ra == 32.32) {
    1431             psFree(object);
    1432             exit(EXIT_FAILURE);
    1433         }
    1434         if (!object->decl == 64.64) {
    1435             psFree(object);
    1436             exit(EXIT_FAILURE);
    1437         }
    1438         if (!object->exp_time == 64.64) {
    1439             psFree(object);
    1440             exit(EXIT_FAILURE);
    1441         }
    1442         if (!object->background == 64.64) {
    1443             psFree(object);
    1444             exit(EXIT_FAILURE);
    1445         }
    14461382        if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) {
    14471383            psFree(object);
     
    15351471            exit(EXIT_FAILURE);
    15361472        }
    1537         if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, "a string")) {
    1538             psFree(md);
    1539             exit(EXIT_FAILURE);
    1540         }
    1541         if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, "a string")) {
    1542             psFree(md);
    1543             exit(EXIT_FAILURE);
    1544         }
    1545         if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, "a string")) {
    1546             psFree(md);
    1547             exit(EXIT_FAILURE);
    1548         }
    1549         if (!psMetadataAddS32(md, PS_LIST_TAIL, "imfiles", 0, NULL, -32)) {
    1550             psFree(md);
    1551             exit(EXIT_FAILURE);
    1552         }
    1553         if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, "a string")) {
    1554             psFree(md);
    1555             exit(EXIT_FAILURE);
    1556         }
    1557         if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, 32.32)) {
    1558             psFree(md);
    1559             exit(EXIT_FAILURE);
    1560         }
    1561         if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, 64.64)) {
    1562             psFree(md);
    1563             exit(EXIT_FAILURE);
    1564         }
    1565         if (!psMetadataAddF64(md, PS_LIST_TAIL, "decl", 0, NULL, 64.64)) {
    1566             psFree(md);
    1567             exit(EXIT_FAILURE);
    1568         }
    1569         if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, 32.32)) {
    1570             psFree(md);
    1571             exit(EXIT_FAILURE);
    1572         }
    1573         if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, 64.64)) {
    1574             psFree(md);
    1575             exit(EXIT_FAILURE);
    1576         }
    15771473        if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, "a string")) {
    15781474            psFree(md);
     
    16001496            exit(EXIT_FAILURE);
    16011497        }
    1602         if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {
    1603             psFree(object);
    1604             exit(EXIT_FAILURE);
    1605         }
    1606         if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) {
    1607             psFree(object);
    1608             exit(EXIT_FAILURE);
    1609         }
    1610         if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {
    1611             psFree(object);
    1612             exit(EXIT_FAILURE);
    1613         }
    1614         if (!object->imfiles == -32) {
    1615             psFree(object);
    1616             exit(EXIT_FAILURE);
    1617         }
    1618         if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) {
    1619             psFree(object);
    1620             exit(EXIT_FAILURE);
    1621         }
    1622         if (!object->airmass == 32.32) {
    1623             psFree(object);
    1624             exit(EXIT_FAILURE);
    1625         }
    1626         if (!object->ra == 64.64) {
    1627             psFree(object);
    1628             exit(EXIT_FAILURE);
    1629         }
    1630         if (!object->decl == 64.64) {
    1631             psFree(object);
    1632             exit(EXIT_FAILURE);
    1633         }
    1634         if (!object->exp_time == 32.32) {
    1635             psFree(object);
    1636             exit(EXIT_FAILURE);
    1637         }
    1638         if (!object->background == 64.64) {
    1639             psFree(object);
    1640             exit(EXIT_FAILURE);
    1641         }
    16421498        if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) {
    16431499            psFree(object);
     
    17311587            exit(EXIT_FAILURE);
    17321588        }
    1733         if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, "a string")) {
    1734             psFree(md);
    1735             exit(EXIT_FAILURE);
    1736         }
    1737         if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, "a string")) {
    1738             psFree(md);
    1739             exit(EXIT_FAILURE);
    1740         }
    1741         if (!psMetadataAddS32(md, PS_LIST_TAIL, "imfiles", 0, NULL, -32)) {
    1742             psFree(md);
    1743             exit(EXIT_FAILURE);
    1744         }
    1745         if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, "a string")) {
    1746             psFree(md);
    1747             exit(EXIT_FAILURE);
    1748         }
    1749         if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, 32.32)) {
    1750             psFree(md);
    1751             exit(EXIT_FAILURE);
    1752         }
    1753         if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, 64.64)) {
    1754             psFree(md);
    1755             exit(EXIT_FAILURE);
    1756         }
    1757         if (!psMetadataAddF64(md, PS_LIST_TAIL, "decl", 0, NULL, 64.64)) {
    1758             psFree(md);
    1759             exit(EXIT_FAILURE);
    1760         }
    1761         if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, 32.32)) {
    1762             psFree(md);
    1763             exit(EXIT_FAILURE);
    1764         }
    1765         if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, 64.64)) {
    1766             psFree(md);
    1767             exit(EXIT_FAILURE);
    1768         }
    17691589        if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, "a string")) {
    17701590            psFree(md);
     
    17921612            exit(EXIT_FAILURE);
    17931613        }
    1794         if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {
    1795             psFree(object);
    1796             exit(EXIT_FAILURE);
    1797         }
    1798         if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {
    1799             psFree(object);
    1800             exit(EXIT_FAILURE);
    1801         }
    1802         if (!object->imfiles == -32) {
    1803             psFree(object);
    1804             exit(EXIT_FAILURE);
    1805         }
    1806         if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) {
    1807             psFree(object);
    1808             exit(EXIT_FAILURE);
    1809         }
    1810         if (!object->airmass == 32.32) {
    1811             psFree(object);
    1812             exit(EXIT_FAILURE);
    1813         }
    1814         if (!object->ra == 64.64) {
    1815             psFree(object);
    1816             exit(EXIT_FAILURE);
    1817         }
    1818         if (!object->decl == 64.64) {
    1819             psFree(object);
    1820             exit(EXIT_FAILURE);
    1821         }
    1822         if (!object->exp_time == 32.32) {
    1823             psFree(object);
    1824             exit(EXIT_FAILURE);
    1825         }
    1826         if (!object->background == 64.64) {
    1827             psFree(object);
    1828             exit(EXIT_FAILURE);
    1829         }
    18301614        if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) {
    18311615            psFree(object);
     
    18951679            exit(EXIT_FAILURE);
    18961680        }
    1897         if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, "a string")) {
    1898             psFree(md);
    1899             exit(EXIT_FAILURE);
    1900         }
    1901         if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, "a string")) {
    1902             psFree(md);
    1903             exit(EXIT_FAILURE);
    1904         }
    1905         if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, "a string")) {
    1906             psFree(md);
    1907             exit(EXIT_FAILURE);
    1908         }
    1909         if (!psMetadataAddS32(md, PS_LIST_TAIL, "imfiles", 0, NULL, -32)) {
    1910             psFree(md);
    1911             exit(EXIT_FAILURE);
    1912         }
    1913         if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, "a string")) {
    1914             psFree(md);
    1915             exit(EXIT_FAILURE);
    1916         }
    1917         if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, 32.32)) {
    1918             psFree(md);
    1919             exit(EXIT_FAILURE);
    1920         }
    1921         if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, 64.64)) {
    1922             psFree(md);
    1923             exit(EXIT_FAILURE);
    1924         }
    1925         if (!psMetadataAddF64(md, PS_LIST_TAIL, "decl", 0, NULL, 64.64)) {
    1926             psFree(md);
    1927             exit(EXIT_FAILURE);
    1928         }
    1929         if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, 32.32)) {
    1930             psFree(md);
    1931             exit(EXIT_FAILURE);
    1932         }
    1933         if (!psMetadataAddF64(md, PS_LIST_TAIL, "background", 0, NULL, 64.64)) {
     1681        if (!psMetadataAdd(md, PS_LIST_TAIL, "include", PS_DATA_BOOL, NULL, true)) {
     1682            psFree(md);
     1683            exit(EXIT_FAILURE);
     1684        }
     1685        if (!psMetadataAdd(md, PS_LIST_TAIL, "accept", PS_DATA_BOOL, NULL, true)) {
    19341686            psFree(md);
    19351687            exit(EXIT_FAILURE);
     
    19561708            exit(EXIT_FAILURE);
    19571709        }
    1958         if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {
    1959             psFree(object);
    1960             exit(EXIT_FAILURE);
    1961         }
    1962         if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) {
    1963             psFree(object);
    1964             exit(EXIT_FAILURE);
    1965         }
    1966         if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {
    1967             psFree(object);
    1968             exit(EXIT_FAILURE);
    1969         }
    1970         if (!object->imfiles == -32) {
    1971             psFree(object);
    1972             exit(EXIT_FAILURE);
    1973         }
    1974         if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) {
    1975             psFree(object);
    1976             exit(EXIT_FAILURE);
    1977         }
    1978         if (!object->airmass == 32.32) {
    1979             psFree(object);
    1980             exit(EXIT_FAILURE);
    1981         }
    1982         if (!object->ra == 64.64) {
    1983             psFree(object);
    1984             exit(EXIT_FAILURE);
    1985         }
    1986         if (!object->decl == 64.64) {
    1987             psFree(object);
    1988             exit(EXIT_FAILURE);
    1989         }
    1990         if (!object->exp_time == 32.32) {
    1991             psFree(object);
    1992             exit(EXIT_FAILURE);
    1993         }
    1994         if (!object->background == 64.64) {
     1710        if (!object->include == true) {
     1711            psFree(object);
     1712            exit(EXIT_FAILURE);
     1713        }
     1714        if (!object->accept == true) {
    19951715            psFree(object);
    19961716            exit(EXIT_FAILURE);
  • trunk/ippdb/tests/pop.c

    r8266 r8283  
    283283        char            exp_type[256];
    284284        psS32           imfiles;
    285         char            filter[256];
    286         psF32           airmass;
    287         psF64           ra;
    288         psF64           decl;
    289         psF32           exp_time;
    290         psF64           background;
    291 
    292         dbh = psDBInit("localhost", "test", NULL, "test");
    293         if (!dbh) {
    294             exit(EXIT_FAILURE);
    295         }
    296 
    297         if (!rawDetrendExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&filter, &airmass, &ra, &decl, &exp_time, &background)) {
    298             exit(EXIT_FAILURE);
    299         }
    300 
    301         psDBCleanup(dbh);
    302     }
    303 
    304     {
    305         psDB            *dbh;
    306         char            exp_id[256];
    307         char            camera[256];
    308         char            telescope[256];
    309         char            exp_type[256];
    310         psS32           imfiles;
    311         char            filter[256];
    312         psF32           airmass;
    313         psF64           ra;
    314         psF64           decl;
    315         psF32           exp_time;
    316         psF64           background;
    317 
    318         dbh = psDBInit("localhost", "test", NULL, "test");
    319         if (!dbh) {
    320             exit(EXIT_FAILURE);
    321         }
    322 
    323         if (!rawScienceExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&filter, &airmass, &ra, &decl, &exp_time, &background)) {
    324             exit(EXIT_FAILURE);
    325         }
    326 
    327         psDBCleanup(dbh);
    328     }
    329 
    330     {
    331         psDB            *dbh;
    332         char            exp_id[256];
    333         char            class[256];
    334         char            class_id[256];
    335         char            uri[256];
    336285        char            filter[256];
    337286        psF32           airmass;
     
    352301        }
    353302
    354         if (!rawImfilePop(dbh, (char **)&exp_id, (char **)&class, (char **)&class_id, (char **)&uri, (char **)&filter, &airmass, &ra, &decl, &exp_time, &bg, &bg_stdev, &bg_mean_stdev, &alt, &az, &ccd_temp, &posang)) {
     303        if (!rawDetrendExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&filter, &airmass, &ra, &decl, &exp_time, &bg, &bg_stdev, &bg_mean_stdev, &alt, &az, &ccd_temp, &posang)) {
    355304            exit(EXIT_FAILURE);
    356305        }
     
    371320        psF64           decl;
    372321        psF32           exp_time;
    373         psF64           background;
    374         char            recipe[256];
    375         psS32           p1_version;
    376 
    377         dbh = psDBInit("localhost", "test", NULL, "test");
    378         if (!dbh) {
    379             exit(EXIT_FAILURE);
    380         }
    381 
    382         if (!p1PendingExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&filter, &airmass, &ra, &decl, &exp_time, &background, (char **)&recipe, &p1_version)) {
    383             exit(EXIT_FAILURE);
    384         }
    385 
    386         psDBCleanup(dbh);
    387     }
    388 
    389     {
    390         psDB            *dbh;
    391         char            exp_id[256];
    392         char            camera[256];
    393         char            telescope[256];
    394         char            exp_type[256];
    395         psS32           imfiles;
     322        psF64           bg;
     323        psF64           bg_stdev;
     324        psF64           bg_mean_stdev;
     325        psF64           alt;
     326        psF64           az;
     327        psF32           ccd_temp;
     328        psF64           posang;
     329
     330        dbh = psDBInit("localhost", "test", NULL, "test");
     331        if (!dbh) {
     332            exit(EXIT_FAILURE);
     333        }
     334
     335        if (!rawScienceExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&filter, &airmass, &ra, &decl, &exp_time, &bg, &bg_stdev, &bg_mean_stdev, &alt, &az, &ccd_temp, &posang)) {
     336            exit(EXIT_FAILURE);
     337        }
     338
     339        psDBCleanup(dbh);
     340    }
     341
     342    {
     343        psDB            *dbh;
     344        char            exp_id[256];
     345        char            class[256];
     346        char            class_id[256];
     347        char            uri[256];
    396348        char            filter[256];
    397349        psF32           airmass;
    398         psF32           ra;
    399         psF64           decl;
    400         psF64           exp_time;
    401         psF64           background;
     350        psF64           ra;
     351        psF64           decl;
     352        psF32           exp_time;
     353        psF64           bg;
     354        psF64           bg_stdev;
     355        psF64           bg_mean_stdev;
     356        psF64           alt;
     357        psF64           az;
     358        psF32           ccd_temp;
     359        psF64           posang;
     360
     361        dbh = psDBInit("localhost", "test", NULL, "test");
     362        if (!dbh) {
     363            exit(EXIT_FAILURE);
     364        }
     365
     366        if (!rawImfilePop(dbh, (char **)&exp_id, (char **)&class, (char **)&class_id, (char **)&uri, (char **)&filter, &airmass, &ra, &decl, &exp_time, &bg, &bg_stdev, &bg_mean_stdev, &alt, &az, &ccd_temp, &posang)) {
     367            exit(EXIT_FAILURE);
     368        }
     369
     370        psDBCleanup(dbh);
     371    }
     372
     373    {
     374        psDB            *dbh;
     375        char            exp_id[256];
     376        char            recipe[256];
     377        psS32           p1_version;
     378
     379        dbh = psDBInit("localhost", "test", NULL, "test");
     380        if (!dbh) {
     381            exit(EXIT_FAILURE);
     382        }
     383
     384        if (!p1PendingExpPop(dbh, (char **)&exp_id, (char **)&recipe, &p1_version)) {
     385            exit(EXIT_FAILURE);
     386        }
     387
     388        psDBCleanup(dbh);
     389    }
     390
     391    {
     392        psDB            *dbh;
     393        char            exp_id[256];
    402394        char            recipe[256];
    403395        psS32           p1_version;
     
    409401        }
    410402
    411         if (!p2PendingExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&filter, &airmass, &ra, &decl, &exp_time, &background, (char **)&recipe, &p1_version, &p2_version)) {
     403        if (!p2PendingExpPop(dbh, (char **)&exp_id, (char **)&recipe, &p1_version, &p2_version)) {
    412404            exit(EXIT_FAILURE);
    413405        }
     
    440432        psDB            *dbh;
    441433        char            exp_id[256];
    442         char            camera[256];
    443         char            telescope[256];
    444         char            exp_type[256];
    445         psS32           imfiles;
    446         char            filter[256];
    447         psF32           airmass;
    448         psF64           ra;
    449         psF64           decl;
    450         psF32           exp_time;
    451         psF64           background;
    452434        char            recipe[256];
    453435        psS32           p1_version;
     
    459441        }
    460442
    461         if (!p2DoneExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&filter, &airmass, &ra, &decl, &exp_time, &background, (char **)&recipe, &p1_version, &p2_version)) {
     443        if (!p2DoneExpPop(dbh, (char **)&exp_id, (char **)&recipe, &p1_version, &p2_version)) {
    462444            exit(EXIT_FAILURE);
    463445        }
     
    490472        psDB            *dbh;
    491473        char            exp_id[256];
    492         char            camera[256];
    493         char            exp_type[256];
    494         psS32           imfiles;
    495         char            filter[256];
    496         psF32           airmass;
    497         psF64           ra;
    498         psF64           decl;
    499         psF32           exp_time;
    500         psF64           background;
    501474        char            recipe[256];
    502475        psS32           p2_version;
     
    508481        }
    509482
    510         if (!p3PendingExpPop(dbh, (char **)&exp_id, (char **)&camera, (char **)&exp_type, &imfiles, (char **)&filter, &airmass, &ra, &decl, &exp_time, &background, (char **)&recipe, &p2_version, &p3_version)) {
     483        if (!p3PendingExpPop(dbh, (char **)&exp_id, (char **)&recipe, &p2_version, &p3_version)) {
    511484            exit(EXIT_FAILURE);
    512485        }
     
    537510        psS32           iteration;
    538511        char            exp_id[256];
    539         char            camera[256];
    540         char            telescope[256];
    541         char            exp_type[256];
    542         psS32           imfiles;
    543         char            filter[256];
    544         psF32           airmass;
    545         psF64           ra;
    546         psF64           decl;
    547         psF32           exp_time;
    548         psF64           background;
    549 
    550         dbh = psDBInit("localhost", "test", NULL, "test");
    551         if (!dbh) {
    552             exit(EXIT_FAILURE);
    553         }
    554 
    555         if (!detInputExpPop(dbh, &det_id, &iteration, (char **)&exp_id, (char **)&camera, (char **)&telescope, (char **)&exp_type, &imfiles, (char **)&filter, &airmass, &ra, &decl, &exp_time, &background)) {
     512        bool            include;
     513        bool            accept;
     514
     515        dbh = psDBInit("localhost", "test", NULL, "test");
     516        if (!dbh) {
     517            exit(EXIT_FAILURE);
     518        }
     519
     520        if (!detInputExpPop(dbh, &det_id, &iteration, (char **)&exp_id, &include, &accept)) {
    556521            exit(EXIT_FAILURE);
    557522        }
Note: See TracChangeset for help on using the changeset viewer.