IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 12026


Ignore:
Timestamp:
Feb 23, 2007, 4:28:07 PM (19 years ago)
Author:
jhoblitt
Message:

VERSION 1.1.11

Location:
trunk/ippdb
Files:
15 edited

Legend:

Unmodified
Added
Removed
  • trunk/ippdb/Makefile.am

    r11988 r12026  
    2121    $(top_builddir)/docs/man/man3/rawExpRow.3 \
    2222    $(top_builddir)/docs/man/man3/rawImfileRow.3 \
    23     $(top_builddir)/docs/man/man3/p1PendingExpRow.3 \
    24     $(top_builddir)/docs/man/man3/p2PendingExpRow.3 \
    25     $(top_builddir)/docs/man/man3/p2PendingImfileRow.3 \
    26     $(top_builddir)/docs/man/man3/p2ProcessedExpRow.3 \
    27     $(top_builddir)/docs/man/man3/p2MaskRow.3 \
    28     $(top_builddir)/docs/man/man3/p2ProcessedImfileRow.3 \
    29     $(top_builddir)/docs/man/man3/p3PendingExpRow.3 \
    30     $(top_builddir)/docs/man/man3/p3ProcessedExpRow.3 \
    31     $(top_builddir)/docs/man/man3/p3MaskRow.3 \
     23    $(top_builddir)/docs/man/man3/guidePendingExpRow.3 \
     24    $(top_builddir)/docs/man/man3/chipPendingExpRow.3 \
     25    $(top_builddir)/docs/man/man3/chipPendingImfileRow.3 \
     26    $(top_builddir)/docs/man/man3/chipProcessedExpRow.3 \
     27    $(top_builddir)/docs/man/man3/chipMaskRow.3 \
     28    $(top_builddir)/docs/man/man3/chipProcessedImfileRow.3 \
     29    $(top_builddir)/docs/man/man3/camPendingExpRow.3 \
     30    $(top_builddir)/docs/man/man3/camProcessedExpRow.3 \
     31    $(top_builddir)/docs/man/man3/camMaskRow.3 \
    3232    $(top_builddir)/docs/man/man3/detRunRow.3 \
    3333    $(top_builddir)/docs/man/man3/detInputExpRow.3 \
     
    4141    $(top_builddir)/docs/man/man3/detResidExpRow.3 \
    4242    $(top_builddir)/docs/man/man3/detRunSummaryRow.3 \
    43     $(top_builddir)/docs/man/man3/p4RunRow.3 \
    44     $(top_builddir)/docs/man/man3/p4InputExpRow.3 \
    45     $(top_builddir)/docs/man/man3/p4SkyCellMapRow.3 \
    46     $(top_builddir)/docs/man/man3/p4SkyfileRow.3 \
    47     $(top_builddir)/docs/man/man3/p5RunRow.3 \
    48     $(top_builddir)/docs/man/man3/p5InputSkyfileRow.3 \
    49     $(top_builddir)/docs/man/man3/p5DiffSkyfileRow.3 \
    50     $(top_builddir)/docs/man/man3/p6RunRow.3 \
    51     $(top_builddir)/docs/man/man3/p6InputSkyfileRow.3 \
    52     $(top_builddir)/docs/man/man3/p6SumSkyfileRow.3
     43    $(top_builddir)/docs/man/man3/warpRunRow.3 \
     44    $(top_builddir)/docs/man/man3/warpInputExpRow.3 \
     45    $(top_builddir)/docs/man/man3/warpSkyCellMapRow.3 \
     46    $(top_builddir)/docs/man/man3/warpSkyfileRow.3 \
     47    $(top_builddir)/docs/man/man3/diffRunRow.3 \
     48    $(top_builddir)/docs/man/man3/diffInputSkyfileRow.3 \
     49    $(top_builddir)/docs/man/man3/diffSkyfileRow.3 \
     50    $(top_builddir)/docs/man/man3/stackRunRow.3 \
     51    $(top_builddir)/docs/man/man3/stackInputSkyfileRow.3 \
     52    $(top_builddir)/docs/man/man3/stackSumSkyfileRow.3
    5353
    5454
    55 docs/man/man3/ippdb.3 docs/man/man3/expTagCounterRow.3 docs/man/man3/summitExpRow.3 docs/man/man3/summitImfileRow.3 docs/man/man3/pzPendingExpRow.3 docs/man/man3/pzPendingImfileRow.3 docs/man/man3/pzDoneExpRow.3 docs/man/man3/pzDoneImfileRow.3 docs/man/man3/newExpRow.3 docs/man/man3/newImfileRow.3 docs/man/man3/rawExpRow.3 docs/man/man3/rawImfileRow.3 docs/man/man3/p1PendingExpRow.3 docs/man/man3/p2PendingExpRow.3 docs/man/man3/p2PendingImfileRow.3 docs/man/man3/p2ProcessedExpRow.3 docs/man/man3/p2MaskRow.3 docs/man/man3/p2ProcessedImfileRow.3 docs/man/man3/p3PendingExpRow.3 docs/man/man3/p3ProcessedExpRow.3 docs/man/man3/p3MaskRow.3 docs/man/man3/detRunRow.3 docs/man/man3/detInputExpRow.3 docs/man/man3/detProcessedImfileRow.3 docs/man/man3/detProcessedExpRow.3 docs/man/man3/detStackedImfileRow.3 docs/man/man3/detNormalizedStatImfileRow.3 docs/man/man3/detNormalizedImfileRow.3 docs/man/man3/detNormalizedExpRow.3 docs/man/man3/detResidImfileRow.3 docs/man/man3/detResidExpRow.3 docs/man/man3/detRunSummaryRow.3 docs/man/man3/p4RunRow.3 docs/man/man3/p4InputExpRow.3 docs/man/man3/p4SkyCellMapRow.3 docs/man/man3/p4SkyfileRow.3 docs/man/man3/p5RunRow.3 docs/man/man3/p5InputSkyfileRow.3 docs/man/man3/p5DiffSkyfileRow.3 docs/man/man3/p6RunRow.3 docs/man/man3/p6InputSkyfileRow.3 docs/man/man3/p6SumSkyfileRow.3:
     55docs/man/man3/ippdb.3 docs/man/man3/expTagCounterRow.3 docs/man/man3/summitExpRow.3 docs/man/man3/summitImfileRow.3 docs/man/man3/pzPendingExpRow.3 docs/man/man3/pzPendingImfileRow.3 docs/man/man3/pzDoneExpRow.3 docs/man/man3/pzDoneImfileRow.3 docs/man/man3/newExpRow.3 docs/man/man3/newImfileRow.3 docs/man/man3/rawExpRow.3 docs/man/man3/rawImfileRow.3 docs/man/man3/guidePendingExpRow.3 docs/man/man3/chipPendingExpRow.3 docs/man/man3/chipPendingImfileRow.3 docs/man/man3/chipProcessedExpRow.3 docs/man/man3/chipMaskRow.3 docs/man/man3/chipProcessedImfileRow.3 docs/man/man3/camPendingExpRow.3 docs/man/man3/camProcessedExpRow.3 docs/man/man3/camMaskRow.3 docs/man/man3/detRunRow.3 docs/man/man3/detInputExpRow.3 docs/man/man3/detProcessedImfileRow.3 docs/man/man3/detProcessedExpRow.3 docs/man/man3/detStackedImfileRow.3 docs/man/man3/detNormalizedStatImfileRow.3 docs/man/man3/detNormalizedImfileRow.3 docs/man/man3/detNormalizedExpRow.3 docs/man/man3/detResidImfileRow.3 docs/man/man3/detResidExpRow.3 docs/man/man3/detRunSummaryRow.3 docs/man/man3/warpRunRow.3 docs/man/man3/warpInputExpRow.3 docs/man/man3/warpSkyCellMapRow.3 docs/man/man3/warpSkyfileRow.3 docs/man/man3/diffRunRow.3 docs/man/man3/diffInputSkyfileRow.3 docs/man/man3/diffSkyfileRow.3 docs/man/man3/stackRunRow.3 docs/man/man3/stackInputSkyfileRow.3 docs/man/man3/stackSumSkyfileRow.3:
    5656        $(DOXYGEN)
    5757
  • trunk/ippdb/configure.ac

    r11988 r12026  
    77AC_PREREQ(2.59)
    88
    9 AC_INIT([ippdb], [1.1.10], [pan-starrs.ifa.hawaii.edu])
     9AC_INIT([ippdb], [1.1.11], [pan-starrs.ifa.hawaii.edu])
    1010AC_CONFIG_SRCDIR([ippdb.pc.in])
    1111
  • trunk/ippdb/src/ippdb.c

    r11988 r12026  
    4242#define RAWEXP_TABLE_NAME "rawExp"
    4343#define RAWIMFILE_TABLE_NAME "rawImfile"
    44 #define P1PENDINGEXP_TABLE_NAME "p1PendingExp"
    45 #define P2PENDINGEXP_TABLE_NAME "p2PendingExp"
    46 #define P2PENDINGIMFILE_TABLE_NAME "p2PendingImfile"
    47 #define P2PROCESSEDEXP_TABLE_NAME "p2ProcessedExp"
    48 #define P2MASK_TABLE_NAME "p2Mask"
    49 #define P2PROCESSEDIMFILE_TABLE_NAME "p2ProcessedImfile"
    50 #define P3PENDINGEXP_TABLE_NAME "p3PendingExp"
    51 #define P3PROCESSEDEXP_TABLE_NAME "p3ProcessedExp"
    52 #define P3MASK_TABLE_NAME "p3Mask"
     44#define GUIDEPENDINGEXP_TABLE_NAME "guidePendingExp"
     45#define CHIPPENDINGEXP_TABLE_NAME "chipPendingExp"
     46#define CHIPPENDINGIMFILE_TABLE_NAME "chipPendingImfile"
     47#define CHIPPROCESSEDEXP_TABLE_NAME "chipProcessedExp"
     48#define CHIPMASK_TABLE_NAME "chipMask"
     49#define CHIPPROCESSEDIMFILE_TABLE_NAME "chipProcessedImfile"
     50#define CAMPENDINGEXP_TABLE_NAME "camPendingExp"
     51#define CAMPROCESSEDEXP_TABLE_NAME "camProcessedExp"
     52#define CAMMASK_TABLE_NAME "camMask"
    5353#define DETRUN_TABLE_NAME "detRun"
    5454#define DETINPUTEXP_TABLE_NAME "detInputExp"
     
    6262#define DETRESIDEXP_TABLE_NAME "detResidExp"
    6363#define DETRUNSUMMARY_TABLE_NAME "detRunSummary"
    64 #define P4RUN_TABLE_NAME "p4Run"
    65 #define P4INPUTEXP_TABLE_NAME "p4InputExp"
    66 #define P4SKYCELLMAP_TABLE_NAME "p4SkyCellMap"
    67 #define P4SKYFILE_TABLE_NAME "p4Skyfile"
    68 #define P5RUN_TABLE_NAME "p5Run"
    69 #define P5INPUTSKYFILE_TABLE_NAME "p5InputSkyfile"
    70 #define P5DIFFSKYFILE_TABLE_NAME "p5DiffSkyfile"
    71 #define P6RUN_TABLE_NAME "p6Run"
    72 #define P6INPUTSKYFILE_TABLE_NAME "p6InputSkyfile"
    73 #define P6SUMSKYFILE_TABLE_NAME "p6SumSkyfile"
     64#define WARPRUN_TABLE_NAME "warpRun"
     65#define WARPINPUTEXP_TABLE_NAME "warpInputExp"
     66#define WARPSKYCELLMAP_TABLE_NAME "warpSkyCellMap"
     67#define WARPSKYFILE_TABLE_NAME "warpSkyfile"
     68#define DIFFRUN_TABLE_NAME "diffRun"
     69#define DIFFINPUTSKYFILE_TABLE_NAME "diffInputSkyfile"
     70#define DIFFSKYFILE_TABLE_NAME "diffSkyfile"
     71#define STACKRUN_TABLE_NAME "stackRun"
     72#define STACKINPUTSKYFILE_TABLE_NAME "stackInputSkyfile"
     73#define STACKSUMSKYFILE_TABLE_NAME "stackSumSkyfile"
    7474#define MAX_STRING_LENGTH 1024
    7575
     
    49484948    return true;
    49494949}
    4950 static void p1PendingExpRowFree(p1PendingExpRow *object);
    4951 
    4952 p1PendingExpRow *p1PendingExpRowAlloc(const char *exp_tag, psS32 p1_version, const char *recipe)
    4953 {
    4954     p1PendingExpRow *_object;
    4955 
    4956     _object = psAlloc(sizeof(p1PendingExpRow));
    4957     psMemSetDeallocator(_object, (psFreeFunc)p1PendingExpRowFree);
     4950static void guidePendingExpRowFree(guidePendingExpRow *object);
     4951
     4952guidePendingExpRow *guidePendingExpRowAlloc(const char *exp_tag, psS32 guide_version, const char *recipe)
     4953{
     4954    guidePendingExpRow *_object;
     4955
     4956    _object = psAlloc(sizeof(guidePendingExpRow));
     4957    psMemSetDeallocator(_object, (psFreeFunc)guidePendingExpRowFree);
    49584958
    49594959    _object->exp_tag = psStringCopy(exp_tag);
    4960     _object->p1_version = p1_version;
     4960    _object->guide_version = guide_version;
    49614961    _object->recipe = psStringCopy(recipe);
    49624962
     
    49644964}
    49654965
    4966 static void p1PendingExpRowFree(p1PendingExpRow *object)
     4966static void guidePendingExpRowFree(guidePendingExpRow *object)
    49674967{
    49684968    psFree(object->exp_tag);
     
    49704970}
    49714971
    4972 bool p1PendingExpCreateTable(psDB *dbh)
     4972bool guidePendingExpCreateTable(psDB *dbh)
    49734973{
    49744974    psMetadata *md = psMetadataAlloc();
     
    49784978        return false;
    49794979    }
    4980     if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, "Primary Key", 0)) {
    4981         psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
     4980    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, "Primary Key", 0)) {
     4981        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version");
    49824982        psFree(md);
    49834983        return false;
     
    49894989    }
    49904990
    4991     bool status = psDBCreateTable(dbh, P1PENDINGEXP_TABLE_NAME, md);
     4991    bool status = psDBCreateTable(dbh, GUIDEPENDINGEXP_TABLE_NAME, md);
    49924992
    49934993    psFree(md);
     
    49964996}
    49974997
    4998 bool p1PendingExpDropTable(psDB *dbh)
    4999 {
    5000     return psDBDropTable(dbh, P1PENDINGEXP_TABLE_NAME);
    5001 }
    5002 
    5003 bool p1PendingExpInsert(psDB * dbh, const char *exp_tag, psS32 p1_version, const char *recipe)
     4998bool guidePendingExpDropTable(psDB *dbh)
     4999{
     5000    return psDBDropTable(dbh, GUIDEPENDINGEXP_TABLE_NAME);
     5001}
     5002
     5003bool guidePendingExpInsert(psDB * dbh, const char *exp_tag, psS32 guide_version, const char *recipe)
    50045004{
    50055005    psMetadata *md = psMetadataAlloc();
     
    50095009        return false;
    50105010    }
    5011     if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, p1_version)) {
    5012         psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
     5011    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, guide_version)) {
     5012        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version");
    50135013        psFree(md);
    50145014        return false;
     
    50205020    }
    50215021
    5022     bool status = psDBInsertOneRow(dbh, P1PENDINGEXP_TABLE_NAME, md);
     5022    bool status = psDBInsertOneRow(dbh, GUIDEPENDINGEXP_TABLE_NAME, md);
    50235023    psFree(md);
    50245024
     
    50265026}
    50275027
    5028 long long p1PendingExpDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
     5028long long guidePendingExpDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
    50295029{
    50305030    long long       deleted = 0;
    50315031
    5032     long long count = psDBDeleteRows(dbh, P1PENDINGEXP_TABLE_NAME, where, limit);
     5032    long long count = psDBDeleteRows(dbh, GUIDEPENDINGEXP_TABLE_NAME, where, limit);
    50335033    if (count < 0) {
    5034         psError(PS_ERR_UNKNOWN, true, "failed to delete row from p1PendingExp");
     5034        psError(PS_ERR_UNKNOWN, true, "failed to delete row from guidePendingExp");
    50355035        return count;
    50365036
     
    50405040    return deleted;
    50415041}
    5042 bool p1PendingExpInsertObject(psDB *dbh, p1PendingExpRow *object)
    5043 {
    5044     return p1PendingExpInsert(dbh, object->exp_tag, object->p1_version, object->recipe);
    5045 }
    5046 
    5047 bool p1PendingExpInsertObjects(psDB *dbh, psArray *objects)
     5042bool guidePendingExpInsertObject(psDB *dbh, guidePendingExpRow *object)
     5043{
     5044    return guidePendingExpInsert(dbh, object->exp_tag, object->guide_version, object->recipe);
     5045}
     5046
     5047bool guidePendingExpInsertObjects(psDB *dbh, psArray *objects)
    50485048{
    50495049    for (long i = 0; i < psArrayLength(objects); i++) {
    5050         if (!p1PendingExpInsertObject(dbh, objects->data[i])) {
     5050        if (!guidePendingExpInsertObject(dbh, objects->data[i])) {
    50515051            return false;
    50525052        }
     
    50565056}
    50575057
    5058 bool p1PendingExpInsertFits(psDB *dbh, const psFits *fits)
     5058bool guidePendingExpInsertFits(psDB *dbh, const psFits *fits)
    50595059{
    50605060    psArray         *rowSet;
    50615061
    5062     // move to (the first?) extension named  P1PENDINGEXP_TABLE_NAME
    5063     if (!psFitsMoveExtName(fits, P1PENDINGEXP_TABLE_NAME)) {
    5064         psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P1PENDINGEXP_TABLE_NAME);
     5062    // move to (the first?) extension named  GUIDEPENDINGEXP_TABLE_NAME
     5063    if (!psFitsMoveExtName(fits, GUIDEPENDINGEXP_TABLE_NAME)) {
     5064        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", GUIDEPENDINGEXP_TABLE_NAME);
    50655065        return false;
    50665066    }
     
    50805080    }
    50815081
    5082     if (!psDBInsertRows(dbh, P1PENDINGEXP_TABLE_NAME, rowSet)) {
     5082    if (!psDBInsertRows(dbh, GUIDEPENDINGEXP_TABLE_NAME, rowSet)) {
    50835083        psError(PS_ERR_UNKNOWN, false, "databse insert failed");
    50845084        psFree(rowSet);
     
    50915091}
    50925092
    5093 bool p1PendingExpSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
     5093bool guidePendingExpSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
    50945094{
    50955095    psArray         *rowSet;
    50965096
    5097     rowSet = psDBSelectRows(dbh, P1PENDINGEXP_TABLE_NAME, where, limit);
     5097    rowSet = psDBSelectRows(dbh, GUIDEPENDINGEXP_TABLE_NAME, where, limit);
    50985098    if (!rowSet) {
    50995099        return false;
     
    51015101
    51025102    // output to fits
    5103     if (!psFitsWriteTable(fits, NULL, rowSet, P1PENDINGEXP_TABLE_NAME)) {
     5103    if (!psFitsWriteTable(fits, NULL, rowSet, GUIDEPENDINGEXP_TABLE_NAME)) {
    51045104        psError(PS_ERR_UNKNOWN, false, "FITS table write failed");
    51055105        psFree(rowSet);
     
    51125112}
    51135113
    5114 psMetadata *p1PendingExpMetadataFromObject(const p1PendingExpRow *object)
     5114psMetadata *guidePendingExpMetadataFromObject(const guidePendingExpRow *object)
    51155115{
    51165116    psMetadata *md = psMetadataAlloc();
     
    51205120        return false;
    51215121    }
    5122     if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, object->p1_version)) {
    5123         psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
     5122    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, object->guide_version)) {
     5123        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version");
    51245124        psFree(md);
    51255125        return false;
     
    51355135}
    51365136
    5137 p1PendingExpRow *p1PendingExpObjectFromMetadata(psMetadata *md)
     5137guidePendingExpRow *guidePendingExpObjectFromMetadata(psMetadata *md)
    51385138{
    51395139
     
    51445144        return false;
    51455145    }
    5146     psS32 p1_version = psMetadataLookupS32(&status, md, "p1_version");
    5147     if (!status) {
    5148         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p1_version");
     5146    psS32 guide_version = psMetadataLookupS32(&status, md, "guide_version");
     5147    if (!status) {
     5148        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item guide_version");
    51495149        return false;
    51505150    }
     
    51555155    }
    51565156
    5157     return p1PendingExpRowAlloc(exp_tag, p1_version, recipe);
    5158 }
    5159 psArray *p1PendingExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     5157    return guidePendingExpRowAlloc(exp_tag, guide_version, recipe);
     5158}
     5159psArray *guidePendingExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
    51605160{
    51615161    psArray         *rowSet;
     
    51635163    psU64           i;
    51645164
    5165     rowSet = psDBSelectRows(dbh, P1PENDINGEXP_TABLE_NAME, where, limit);
     5165    rowSet = psDBSelectRows(dbh, GUIDEPENDINGEXP_TABLE_NAME, where, limit);
    51665166    if (!rowSet) {
    51675167        return NULL;
     
    51735173
    51745174    for (i = 0; i < rowSet->n; i++) {
    5175         p1PendingExpRow *object = p1PendingExpObjectFromMetadata(rowSet->data[i]);
     5175        guidePendingExpRow *object = guidePendingExpObjectFromMetadata(rowSet->data[i]);
    51765176        psArrayAdd(returnSet, 0, object);
    51775177        psFree(object);
     
    51825182    return returnSet;
    51835183}
    5184 bool p1PendingExpDeleteObject(psDB *dbh, const p1PendingExpRow *object)
    5185 {
    5186     psMetadata *where = p1PendingExpMetadataFromObject(object);
    5187     long long count = psDBDeleteRows(dbh, P1PENDINGEXP_TABLE_NAME, where, 0);
     5184bool guidePendingExpDeleteObject(psDB *dbh, const guidePendingExpRow *object)
     5185{
     5186    psMetadata *where = guidePendingExpMetadataFromObject(object);
     5187    long long count = psDBDeleteRows(dbh, GUIDEPENDINGEXP_TABLE_NAME, where, 0);
    51885188    psFree(where);
    51895189    if (count < 0) {
    5190         psError(PS_ERR_UNKNOWN, true, "failed to delete row from p1PendingExp");
     5190        psError(PS_ERR_UNKNOWN, true, "failed to delete row from guidePendingExp");
    51915191        return false;
    51925192    }
     
    51945194        // XXX should this be a psAbort() instead?  It is possible that
    51955195        // having an object match multiple rows was by design.
    5196         psError(PS_ERR_UNKNOWN, true, "p1PendingExpRow object matched more then one row.  Check your database schema");
    5197         return false;
    5198     }
    5199 
    5200     return true;
    5201 }
    5202 long long p1PendingExpDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
     5196        psError(PS_ERR_UNKNOWN, true, "guidePendingExpRow object matched more then one row.  Check your database schema");
     5197        return false;
     5198    }
     5199
     5200    return true;
     5201}
     5202long long guidePendingExpDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
    52035203{
    52045204    long long       deleted = 0;
    52055205
    52065206    for (long long i = 0; i < objects->n; i++) {
    5207         p1PendingExpRow *object = objects->data[i];
    5208         psMetadata *where = p1PendingExpMetadataFromObject(object);
    5209         long long count = psDBDeleteRows(dbh, P1PENDINGEXP_TABLE_NAME, where, limit);
     5207        guidePendingExpRow *object = objects->data[i];
     5208        psMetadata *where = guidePendingExpMetadataFromObject(object);
     5209        long long count = psDBDeleteRows(dbh, GUIDEPENDINGEXP_TABLE_NAME, where, limit);
    52105210        psFree(where);
    52115211        if (count < 0) {
    5212             psError(PS_ERR_UNKNOWN, true, "failed to delete row from p1PendingExp");
     5212            psError(PS_ERR_UNKNOWN, true, "failed to delete row from guidePendingExp");
    52135213            return count;
    52145214        }
     
    52195219    return deleted;
    52205220}
    5221 bool p1PendingExpPrintObjects(FILE *stream, psArray *objects, bool mdcf)
     5221bool guidePendingExpPrintObjects(FILE *stream, psArray *objects, bool mdcf)
    52225222{
    52235223    PS_ASSERT_PTR_NON_NULL(objects, false);
     
    52255225    psMetadata *output = psMetadataAlloc();
    52265226    for (long i = 0; i < psArrayLength(objects); i++) {
    5227         psMetadata *md = p1PendingExpMetadataFromObject(objects->data[i]);
     5227        psMetadata *md = guidePendingExpMetadataFromObject(objects->data[i]);
    52285228        if (!psMetadataAddMetadata(
    52295229            output,
    52305230            PS_LIST_TAIL,
    5231             P1PENDINGEXP_TABLE_NAME,
     5231            GUIDEPENDINGEXP_TABLE_NAME,
    52325232            PS_META_DUPLICATE_OK,
    52335233            NULL,
     
    52505250    return true;
    52515251}
    5252 bool p1PendingExpPrintObject(FILE *stream, p1PendingExpRow *object, bool mdcf)
     5252bool guidePendingExpPrintObject(FILE *stream, guidePendingExpRow *object, bool mdcf)
    52535253{
    52545254    PS_ASSERT_PTR_NON_NULL(object, false);
    52555255
    5256     psMetadata *md = p1PendingExpMetadataFromObject(object);
     5256    psMetadata *md = guidePendingExpMetadataFromObject(object);
    52575257
    52585258    if (!ippdbPrintMetadataRaw(stream, md, mdcf)) {
     
    52655265    return true;
    52665266}
    5267 static void p2PendingExpRowFree(p2PendingExpRow *object);
    5268 
    5269 p2PendingExpRow *p2PendingExpRowAlloc(const char *exp_tag, psS32 p2_version, psS32 p1_version, const char *label, const char *recipe, const char *expgroup, const char *dvodb)
    5270 {
    5271     p2PendingExpRow *_object;
    5272 
    5273     _object = psAlloc(sizeof(p2PendingExpRow));
    5274     psMemSetDeallocator(_object, (psFreeFunc)p2PendingExpRowFree);
     5267static void chipPendingExpRowFree(chipPendingExpRow *object);
     5268
     5269chipPendingExpRow *chipPendingExpRowAlloc(const char *exp_tag, psS32 chip_version, psS32 guide_version, const char *label, const char *recipe, const char *expgroup, const char *dvodb)
     5270{
     5271    chipPendingExpRow *_object;
     5272
     5273    _object = psAlloc(sizeof(chipPendingExpRow));
     5274    psMemSetDeallocator(_object, (psFreeFunc)chipPendingExpRowFree);
    52755275
    52765276    _object->exp_tag = psStringCopy(exp_tag);
    5277     _object->p2_version = p2_version;
    5278     _object->p1_version = p1_version;
     5277    _object->chip_version = chip_version;
     5278    _object->guide_version = guide_version;
    52795279    _object->label = psStringCopy(label);
    52805280    _object->recipe = psStringCopy(recipe);
     
    52855285}
    52865286
    5287 static void p2PendingExpRowFree(p2PendingExpRow *object)
     5287static void chipPendingExpRowFree(chipPendingExpRow *object)
    52885288{
    52895289    psFree(object->exp_tag);
     
    52945294}
    52955295
    5296 bool p2PendingExpCreateTable(psDB *dbh)
     5296bool chipPendingExpCreateTable(psDB *dbh)
    52975297{
    52985298    psMetadata *md = psMetadataAlloc();
     
    53025302        return false;
    53035303    }
    5304     if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, "Primary Key", 0)) {
    5305         psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
    5306         psFree(md);
    5307         return false;
    5308     }
    5309     if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, 0)) {
    5310         psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
     5304    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, "Primary Key", 0)) {
     5305        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
     5306        psFree(md);
     5307        return false;
     5308    }
     5309    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, 0)) {
     5310        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version");
    53115311        psFree(md);
    53125312        return false;
     
    53335333    }
    53345334
    5335     bool status = psDBCreateTable(dbh, P2PENDINGEXP_TABLE_NAME, md);
     5335    bool status = psDBCreateTable(dbh, CHIPPENDINGEXP_TABLE_NAME, md);
    53365336
    53375337    psFree(md);
     
    53405340}
    53415341
    5342 bool p2PendingExpDropTable(psDB *dbh)
    5343 {
    5344     return psDBDropTable(dbh, P2PENDINGEXP_TABLE_NAME);
    5345 }
    5346 
    5347 bool p2PendingExpInsert(psDB * dbh, const char *exp_tag, psS32 p2_version, psS32 p1_version, const char *label, const char *recipe, const char *expgroup, const char *dvodb)
     5342bool chipPendingExpDropTable(psDB *dbh)
     5343{
     5344    return psDBDropTable(dbh, CHIPPENDINGEXP_TABLE_NAME);
     5345}
     5346
     5347bool chipPendingExpInsert(psDB * dbh, const char *exp_tag, psS32 chip_version, psS32 guide_version, const char *label, const char *recipe, const char *expgroup, const char *dvodb)
    53485348{
    53495349    psMetadata *md = psMetadataAlloc();
     
    53535353        return false;
    53545354    }
    5355     if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, p2_version)) {
    5356         psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
    5357         psFree(md);
    5358         return false;
    5359     }
    5360     if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, p1_version)) {
    5361         psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
     5355    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, chip_version)) {
     5356        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
     5357        psFree(md);
     5358        return false;
     5359    }
     5360    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, guide_version)) {
     5361        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version");
    53625362        psFree(md);
    53635363        return false;
     
    53845384    }
    53855385
    5386     bool status = psDBInsertOneRow(dbh, P2PENDINGEXP_TABLE_NAME, md);
     5386    bool status = psDBInsertOneRow(dbh, CHIPPENDINGEXP_TABLE_NAME, md);
    53875387    psFree(md);
    53885388
     
    53905390}
    53915391
    5392 long long p2PendingExpDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
     5392long long chipPendingExpDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
    53935393{
    53945394    long long       deleted = 0;
    53955395
    5396     long long count = psDBDeleteRows(dbh, P2PENDINGEXP_TABLE_NAME, where, limit);
     5396    long long count = psDBDeleteRows(dbh, CHIPPENDINGEXP_TABLE_NAME, where, limit);
    53975397    if (count < 0) {
    5398         psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2PendingExp");
     5398        psError(PS_ERR_UNKNOWN, true, "failed to delete row from chipPendingExp");
    53995399        return count;
    54005400
     
    54045404    return deleted;
    54055405}
    5406 bool p2PendingExpInsertObject(psDB *dbh, p2PendingExpRow *object)
    5407 {
    5408     return p2PendingExpInsert(dbh, object->exp_tag, object->p2_version, object->p1_version, object->label, object->recipe, object->expgroup, object->dvodb);
    5409 }
    5410 
    5411 bool p2PendingExpInsertObjects(psDB *dbh, psArray *objects)
     5406bool chipPendingExpInsertObject(psDB *dbh, chipPendingExpRow *object)
     5407{
     5408    return chipPendingExpInsert(dbh, object->exp_tag, object->chip_version, object->guide_version, object->label, object->recipe, object->expgroup, object->dvodb);
     5409}
     5410
     5411bool chipPendingExpInsertObjects(psDB *dbh, psArray *objects)
    54125412{
    54135413    for (long i = 0; i < psArrayLength(objects); i++) {
    5414         if (!p2PendingExpInsertObject(dbh, objects->data[i])) {
     5414        if (!chipPendingExpInsertObject(dbh, objects->data[i])) {
    54155415            return false;
    54165416        }
     
    54205420}
    54215421
    5422 bool p2PendingExpInsertFits(psDB *dbh, const psFits *fits)
     5422bool chipPendingExpInsertFits(psDB *dbh, const psFits *fits)
    54235423{
    54245424    psArray         *rowSet;
    54255425
    5426     // move to (the first?) extension named  P2PENDINGEXP_TABLE_NAME
    5427     if (!psFitsMoveExtName(fits, P2PENDINGEXP_TABLE_NAME)) {
    5428         psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P2PENDINGEXP_TABLE_NAME);
     5426    // move to (the first?) extension named  CHIPPENDINGEXP_TABLE_NAME
     5427    if (!psFitsMoveExtName(fits, CHIPPENDINGEXP_TABLE_NAME)) {
     5428        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", CHIPPENDINGEXP_TABLE_NAME);
    54295429        return false;
    54305430    }
     
    54445444    }
    54455445
    5446     if (!psDBInsertRows(dbh, P2PENDINGEXP_TABLE_NAME, rowSet)) {
     5446    if (!psDBInsertRows(dbh, CHIPPENDINGEXP_TABLE_NAME, rowSet)) {
    54475447        psError(PS_ERR_UNKNOWN, false, "databse insert failed");
    54485448        psFree(rowSet);
     
    54555455}
    54565456
    5457 bool p2PendingExpSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
     5457bool chipPendingExpSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
    54585458{
    54595459    psArray         *rowSet;
    54605460
    5461     rowSet = psDBSelectRows(dbh, P2PENDINGEXP_TABLE_NAME, where, limit);
     5461    rowSet = psDBSelectRows(dbh, CHIPPENDINGEXP_TABLE_NAME, where, limit);
    54625462    if (!rowSet) {
    54635463        return false;
     
    54655465
    54665466    // output to fits
    5467     if (!psFitsWriteTable(fits, NULL, rowSet, P2PENDINGEXP_TABLE_NAME)) {
     5467    if (!psFitsWriteTable(fits, NULL, rowSet, CHIPPENDINGEXP_TABLE_NAME)) {
    54685468        psError(PS_ERR_UNKNOWN, false, "FITS table write failed");
    54695469        psFree(rowSet);
     
    54765476}
    54775477
    5478 psMetadata *p2PendingExpMetadataFromObject(const p2PendingExpRow *object)
     5478psMetadata *chipPendingExpMetadataFromObject(const chipPendingExpRow *object)
    54795479{
    54805480    psMetadata *md = psMetadataAlloc();
     
    54845484        return false;
    54855485    }
    5486     if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, object->p2_version)) {
    5487         psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
    5488         psFree(md);
    5489         return false;
    5490     }
    5491     if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, object->p1_version)) {
    5492         psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
     5486    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, object->chip_version)) {
     5487        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
     5488        psFree(md);
     5489        return false;
     5490    }
     5491    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, object->guide_version)) {
     5492        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version");
    54935493        psFree(md);
    54945494        return false;
     
    55195519}
    55205520
    5521 p2PendingExpRow *p2PendingExpObjectFromMetadata(psMetadata *md)
     5521chipPendingExpRow *chipPendingExpObjectFromMetadata(psMetadata *md)
    55225522{
    55235523
     
    55285528        return false;
    55295529    }
    5530     psS32 p2_version = psMetadataLookupS32(&status, md, "p2_version");
    5531     if (!status) {
    5532         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p2_version");
    5533         return false;
    5534     }
    5535     psS32 p1_version = psMetadataLookupS32(&status, md, "p1_version");
    5536     if (!status) {
    5537         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p1_version");
     5530    psS32 chip_version = psMetadataLookupS32(&status, md, "chip_version");
     5531    if (!status) {
     5532        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item chip_version");
     5533        return false;
     5534    }
     5535    psS32 guide_version = psMetadataLookupS32(&status, md, "guide_version");
     5536    if (!status) {
     5537        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item guide_version");
    55385538        return false;
    55395539    }
     
    55595559    }
    55605560
    5561     return p2PendingExpRowAlloc(exp_tag, p2_version, p1_version, label, recipe, expgroup, dvodb);
    5562 }
    5563 psArray *p2PendingExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     5561    return chipPendingExpRowAlloc(exp_tag, chip_version, guide_version, label, recipe, expgroup, dvodb);
     5562}
     5563psArray *chipPendingExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
    55645564{
    55655565    psArray         *rowSet;
     
    55675567    psU64           i;
    55685568
    5569     rowSet = psDBSelectRows(dbh, P2PENDINGEXP_TABLE_NAME, where, limit);
     5569    rowSet = psDBSelectRows(dbh, CHIPPENDINGEXP_TABLE_NAME, where, limit);
    55705570    if (!rowSet) {
    55715571        return NULL;
     
    55775577
    55785578    for (i = 0; i < rowSet->n; i++) {
    5579         p2PendingExpRow *object = p2PendingExpObjectFromMetadata(rowSet->data[i]);
     5579        chipPendingExpRow *object = chipPendingExpObjectFromMetadata(rowSet->data[i]);
    55805580        psArrayAdd(returnSet, 0, object);
    55815581        psFree(object);
     
    55865586    return returnSet;
    55875587}
    5588 bool p2PendingExpDeleteObject(psDB *dbh, const p2PendingExpRow *object)
    5589 {
    5590     psMetadata *where = p2PendingExpMetadataFromObject(object);
    5591     long long count = psDBDeleteRows(dbh, P2PENDINGEXP_TABLE_NAME, where, 0);
     5588bool chipPendingExpDeleteObject(psDB *dbh, const chipPendingExpRow *object)
     5589{
     5590    psMetadata *where = chipPendingExpMetadataFromObject(object);
     5591    long long count = psDBDeleteRows(dbh, CHIPPENDINGEXP_TABLE_NAME, where, 0);
    55925592    psFree(where);
    55935593    if (count < 0) {
    5594         psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2PendingExp");
     5594        psError(PS_ERR_UNKNOWN, true, "failed to delete row from chipPendingExp");
    55955595        return false;
    55965596    }
     
    55985598        // XXX should this be a psAbort() instead?  It is possible that
    55995599        // having an object match multiple rows was by design.
    5600         psError(PS_ERR_UNKNOWN, true, "p2PendingExpRow object matched more then one row.  Check your database schema");
    5601         return false;
    5602     }
    5603 
    5604     return true;
    5605 }
    5606 long long p2PendingExpDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
     5600        psError(PS_ERR_UNKNOWN, true, "chipPendingExpRow object matched more then one row.  Check your database schema");
     5601        return false;
     5602    }
     5603
     5604    return true;
     5605}
     5606long long chipPendingExpDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
    56075607{
    56085608    long long       deleted = 0;
    56095609
    56105610    for (long long i = 0; i < objects->n; i++) {
    5611         p2PendingExpRow *object = objects->data[i];
    5612         psMetadata *where = p2PendingExpMetadataFromObject(object);
    5613         long long count = psDBDeleteRows(dbh, P2PENDINGEXP_TABLE_NAME, where, limit);
     5611        chipPendingExpRow *object = objects->data[i];
     5612        psMetadata *where = chipPendingExpMetadataFromObject(object);
     5613        long long count = psDBDeleteRows(dbh, CHIPPENDINGEXP_TABLE_NAME, where, limit);
    56145614        psFree(where);
    56155615        if (count < 0) {
    5616             psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2PendingExp");
     5616            psError(PS_ERR_UNKNOWN, true, "failed to delete row from chipPendingExp");
    56175617            return count;
    56185618        }
     
    56235623    return deleted;
    56245624}
    5625 bool p2PendingExpPrintObjects(FILE *stream, psArray *objects, bool mdcf)
     5625bool chipPendingExpPrintObjects(FILE *stream, psArray *objects, bool mdcf)
    56265626{
    56275627    PS_ASSERT_PTR_NON_NULL(objects, false);
     
    56295629    psMetadata *output = psMetadataAlloc();
    56305630    for (long i = 0; i < psArrayLength(objects); i++) {
    5631         psMetadata *md = p2PendingExpMetadataFromObject(objects->data[i]);
     5631        psMetadata *md = chipPendingExpMetadataFromObject(objects->data[i]);
    56325632        if (!psMetadataAddMetadata(
    56335633            output,
    56345634            PS_LIST_TAIL,
    5635             P2PENDINGEXP_TABLE_NAME,
     5635            CHIPPENDINGEXP_TABLE_NAME,
    56365636            PS_META_DUPLICATE_OK,
    56375637            NULL,
     
    56545654    return true;
    56555655}
    5656 bool p2PendingExpPrintObject(FILE *stream, p2PendingExpRow *object, bool mdcf)
     5656bool chipPendingExpPrintObject(FILE *stream, chipPendingExpRow *object, bool mdcf)
    56575657{
    56585658    PS_ASSERT_PTR_NON_NULL(object, false);
    56595659
    5660     psMetadata *md = p2PendingExpMetadataFromObject(object);
     5660    psMetadata *md = chipPendingExpMetadataFromObject(object);
    56615661
    56625662    if (!ippdbPrintMetadataRaw(stream, md, mdcf)) {
     
    56695669    return true;
    56705670}
    5671 static void p2PendingImfileRowFree(p2PendingImfileRow *object);
    5672 
    5673 p2PendingImfileRow *p2PendingImfileRowAlloc(const char *exp_tag, psS32 p2_version, psS32 p1_version, const char *class_id, const char *recipe, const char *uri)
    5674 {
    5675     p2PendingImfileRow *_object;
    5676 
    5677     _object = psAlloc(sizeof(p2PendingImfileRow));
    5678     psMemSetDeallocator(_object, (psFreeFunc)p2PendingImfileRowFree);
     5671static void chipPendingImfileRowFree(chipPendingImfileRow *object);
     5672
     5673chipPendingImfileRow *chipPendingImfileRowAlloc(const char *exp_tag, psS32 chip_version, psS32 guide_version, const char *class_id, const char *recipe, const char *uri)
     5674{
     5675    chipPendingImfileRow *_object;
     5676
     5677    _object = psAlloc(sizeof(chipPendingImfileRow));
     5678    psMemSetDeallocator(_object, (psFreeFunc)chipPendingImfileRowFree);
    56795679
    56805680    _object->exp_tag = psStringCopy(exp_tag);
    5681     _object->p2_version = p2_version;
    5682     _object->p1_version = p1_version;
     5681    _object->chip_version = chip_version;
     5682    _object->guide_version = guide_version;
    56835683    _object->class_id = psStringCopy(class_id);
    56845684    _object->recipe = psStringCopy(recipe);
     
    56885688}
    56895689
    5690 static void p2PendingImfileRowFree(p2PendingImfileRow *object)
     5690static void chipPendingImfileRowFree(chipPendingImfileRow *object)
    56915691{
    56925692    psFree(object->exp_tag);
     
    56965696}
    56975697
    5698 bool p2PendingImfileCreateTable(psDB *dbh)
     5698bool chipPendingImfileCreateTable(psDB *dbh)
    56995699{
    57005700    psMetadata *md = psMetadataAlloc();
     
    57045704        return false;
    57055705    }
    5706     if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, "Primary Key", 0)) {
    5707         psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
    5708         psFree(md);
    5709         return false;
    5710     }
    5711     if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, 0)) {
    5712         psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
     5706    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, "Primary Key", 0)) {
     5707        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
     5708        psFree(md);
     5709        return false;
     5710    }
     5711    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, 0)) {
     5712        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version");
    57135713        psFree(md);
    57145714        return false;
     
    57305730    }
    57315731
    5732     bool status = psDBCreateTable(dbh, P2PENDINGIMFILE_TABLE_NAME, md);
     5732    bool status = psDBCreateTable(dbh, CHIPPENDINGIMFILE_TABLE_NAME, md);
    57335733
    57345734    psFree(md);
     
    57375737}
    57385738
    5739 bool p2PendingImfileDropTable(psDB *dbh)
    5740 {
    5741     return psDBDropTable(dbh, P2PENDINGIMFILE_TABLE_NAME);
    5742 }
    5743 
    5744 bool p2PendingImfileInsert(psDB * dbh, const char *exp_tag, psS32 p2_version, psS32 p1_version, const char *class_id, const char *recipe, const char *uri)
     5739bool chipPendingImfileDropTable(psDB *dbh)
     5740{
     5741    return psDBDropTable(dbh, CHIPPENDINGIMFILE_TABLE_NAME);
     5742}
     5743
     5744bool chipPendingImfileInsert(psDB * dbh, const char *exp_tag, psS32 chip_version, psS32 guide_version, const char *class_id, const char *recipe, const char *uri)
    57455745{
    57465746    psMetadata *md = psMetadataAlloc();
     
    57505750        return false;
    57515751    }
    5752     if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, p2_version)) {
    5753         psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
    5754         psFree(md);
    5755         return false;
    5756     }
    5757     if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, p1_version)) {
    5758         psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
     5752    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, chip_version)) {
     5753        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
     5754        psFree(md);
     5755        return false;
     5756    }
     5757    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, guide_version)) {
     5758        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version");
    57595759        psFree(md);
    57605760        return false;
     
    57765776    }
    57775777
    5778     bool status = psDBInsertOneRow(dbh, P2PENDINGIMFILE_TABLE_NAME, md);
     5778    bool status = psDBInsertOneRow(dbh, CHIPPENDINGIMFILE_TABLE_NAME, md);
    57795779    psFree(md);
    57805780
     
    57825782}
    57835783
    5784 long long p2PendingImfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
     5784long long chipPendingImfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
    57855785{
    57865786    long long       deleted = 0;
    57875787
    5788     long long count = psDBDeleteRows(dbh, P2PENDINGIMFILE_TABLE_NAME, where, limit);
     5788    long long count = psDBDeleteRows(dbh, CHIPPENDINGIMFILE_TABLE_NAME, where, limit);
    57895789    if (count < 0) {
    5790         psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2PendingImfile");
     5790        psError(PS_ERR_UNKNOWN, true, "failed to delete row from chipPendingImfile");
    57915791        return count;
    57925792
     
    57965796    return deleted;
    57975797}
    5798 bool p2PendingImfileInsertObject(psDB *dbh, p2PendingImfileRow *object)
    5799 {
    5800     return p2PendingImfileInsert(dbh, object->exp_tag, object->p2_version, object->p1_version, object->class_id, object->recipe, object->uri);
    5801 }
    5802 
    5803 bool p2PendingImfileInsertObjects(psDB *dbh, psArray *objects)
     5798bool chipPendingImfileInsertObject(psDB *dbh, chipPendingImfileRow *object)
     5799{
     5800    return chipPendingImfileInsert(dbh, object->exp_tag, object->chip_version, object->guide_version, object->class_id, object->recipe, object->uri);
     5801}
     5802
     5803bool chipPendingImfileInsertObjects(psDB *dbh, psArray *objects)
    58045804{
    58055805    for (long i = 0; i < psArrayLength(objects); i++) {
    5806         if (!p2PendingImfileInsertObject(dbh, objects->data[i])) {
     5806        if (!chipPendingImfileInsertObject(dbh, objects->data[i])) {
    58075807            return false;
    58085808        }
     
    58125812}
    58135813
    5814 bool p2PendingImfileInsertFits(psDB *dbh, const psFits *fits)
     5814bool chipPendingImfileInsertFits(psDB *dbh, const psFits *fits)
    58155815{
    58165816    psArray         *rowSet;
    58175817
    5818     // move to (the first?) extension named  P2PENDINGIMFILE_TABLE_NAME
    5819     if (!psFitsMoveExtName(fits, P2PENDINGIMFILE_TABLE_NAME)) {
    5820         psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P2PENDINGIMFILE_TABLE_NAME);
     5818    // move to (the first?) extension named  CHIPPENDINGIMFILE_TABLE_NAME
     5819    if (!psFitsMoveExtName(fits, CHIPPENDINGIMFILE_TABLE_NAME)) {
     5820        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", CHIPPENDINGIMFILE_TABLE_NAME);
    58215821        return false;
    58225822    }
     
    58365836    }
    58375837
    5838     if (!psDBInsertRows(dbh, P2PENDINGIMFILE_TABLE_NAME, rowSet)) {
     5838    if (!psDBInsertRows(dbh, CHIPPENDINGIMFILE_TABLE_NAME, rowSet)) {
    58395839        psError(PS_ERR_UNKNOWN, false, "databse insert failed");
    58405840        psFree(rowSet);
     
    58475847}
    58485848
    5849 bool p2PendingImfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
     5849bool chipPendingImfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
    58505850{
    58515851    psArray         *rowSet;
    58525852
    5853     rowSet = psDBSelectRows(dbh, P2PENDINGIMFILE_TABLE_NAME, where, limit);
     5853    rowSet = psDBSelectRows(dbh, CHIPPENDINGIMFILE_TABLE_NAME, where, limit);
    58545854    if (!rowSet) {
    58555855        return false;
     
    58575857
    58585858    // output to fits
    5859     if (!psFitsWriteTable(fits, NULL, rowSet, P2PENDINGIMFILE_TABLE_NAME)) {
     5859    if (!psFitsWriteTable(fits, NULL, rowSet, CHIPPENDINGIMFILE_TABLE_NAME)) {
    58605860        psError(PS_ERR_UNKNOWN, false, "FITS table write failed");
    58615861        psFree(rowSet);
     
    58685868}
    58695869
    5870 psMetadata *p2PendingImfileMetadataFromObject(const p2PendingImfileRow *object)
     5870psMetadata *chipPendingImfileMetadataFromObject(const chipPendingImfileRow *object)
    58715871{
    58725872    psMetadata *md = psMetadataAlloc();
     
    58765876        return false;
    58775877    }
    5878     if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, object->p2_version)) {
    5879         psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
    5880         psFree(md);
    5881         return false;
    5882     }
    5883     if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, object->p1_version)) {
    5884         psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
     5878    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, object->chip_version)) {
     5879        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
     5880        psFree(md);
     5881        return false;
     5882    }
     5883    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, object->guide_version)) {
     5884        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version");
    58855885        psFree(md);
    58865886        return false;
     
    59065906}
    59075907
    5908 p2PendingImfileRow *p2PendingImfileObjectFromMetadata(psMetadata *md)
     5908chipPendingImfileRow *chipPendingImfileObjectFromMetadata(psMetadata *md)
    59095909{
    59105910
     
    59155915        return false;
    59165916    }
    5917     psS32 p2_version = psMetadataLookupS32(&status, md, "p2_version");
    5918     if (!status) {
    5919         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p2_version");
    5920         return false;
    5921     }
    5922     psS32 p1_version = psMetadataLookupS32(&status, md, "p1_version");
    5923     if (!status) {
    5924         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p1_version");
     5917    psS32 chip_version = psMetadataLookupS32(&status, md, "chip_version");
     5918    if (!status) {
     5919        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item chip_version");
     5920        return false;
     5921    }
     5922    psS32 guide_version = psMetadataLookupS32(&status, md, "guide_version");
     5923    if (!status) {
     5924        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item guide_version");
    59255925        return false;
    59265926    }
     
    59415941    }
    59425942
    5943     return p2PendingImfileRowAlloc(exp_tag, p2_version, p1_version, class_id, recipe, uri);
    5944 }
    5945 psArray *p2PendingImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     5943    return chipPendingImfileRowAlloc(exp_tag, chip_version, guide_version, class_id, recipe, uri);
     5944}
     5945psArray *chipPendingImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
    59465946{
    59475947    psArray         *rowSet;
     
    59495949    psU64           i;
    59505950
    5951     rowSet = psDBSelectRows(dbh, P2PENDINGIMFILE_TABLE_NAME, where, limit);
     5951    rowSet = psDBSelectRows(dbh, CHIPPENDINGIMFILE_TABLE_NAME, where, limit);
    59525952    if (!rowSet) {
    59535953        return NULL;
     
    59595959
    59605960    for (i = 0; i < rowSet->n; i++) {
    5961         p2PendingImfileRow *object = p2PendingImfileObjectFromMetadata(rowSet->data[i]);
     5961        chipPendingImfileRow *object = chipPendingImfileObjectFromMetadata(rowSet->data[i]);
    59625962        psArrayAdd(returnSet, 0, object);
    59635963        psFree(object);
     
    59685968    return returnSet;
    59695969}
    5970 bool p2PendingImfileDeleteObject(psDB *dbh, const p2PendingImfileRow *object)
    5971 {
    5972     psMetadata *where = p2PendingImfileMetadataFromObject(object);
    5973     long long count = psDBDeleteRows(dbh, P2PENDINGIMFILE_TABLE_NAME, where, 0);
     5970bool chipPendingImfileDeleteObject(psDB *dbh, const chipPendingImfileRow *object)
     5971{
     5972    psMetadata *where = chipPendingImfileMetadataFromObject(object);
     5973    long long count = psDBDeleteRows(dbh, CHIPPENDINGIMFILE_TABLE_NAME, where, 0);
    59745974    psFree(where);
    59755975    if (count < 0) {
    5976         psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2PendingImfile");
     5976        psError(PS_ERR_UNKNOWN, true, "failed to delete row from chipPendingImfile");
    59775977        return false;
    59785978    }
     
    59805980        // XXX should this be a psAbort() instead?  It is possible that
    59815981        // having an object match multiple rows was by design.
    5982         psError(PS_ERR_UNKNOWN, true, "p2PendingImfileRow object matched more then one row.  Check your database schema");
    5983         return false;
    5984     }
    5985 
    5986     return true;
    5987 }
    5988 long long p2PendingImfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
     5982        psError(PS_ERR_UNKNOWN, true, "chipPendingImfileRow object matched more then one row.  Check your database schema");
     5983        return false;
     5984    }
     5985
     5986    return true;
     5987}
     5988long long chipPendingImfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
    59895989{
    59905990    long long       deleted = 0;
    59915991
    59925992    for (long long i = 0; i < objects->n; i++) {
    5993         p2PendingImfileRow *object = objects->data[i];
    5994         psMetadata *where = p2PendingImfileMetadataFromObject(object);
    5995         long long count = psDBDeleteRows(dbh, P2PENDINGIMFILE_TABLE_NAME, where, limit);
     5993        chipPendingImfileRow *object = objects->data[i];
     5994        psMetadata *where = chipPendingImfileMetadataFromObject(object);
     5995        long long count = psDBDeleteRows(dbh, CHIPPENDINGIMFILE_TABLE_NAME, where, limit);
    59965996        psFree(where);
    59975997        if (count < 0) {
    5998             psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2PendingImfile");
     5998            psError(PS_ERR_UNKNOWN, true, "failed to delete row from chipPendingImfile");
    59995999            return count;
    60006000        }
     
    60056005    return deleted;
    60066006}
    6007 bool p2PendingImfilePrintObjects(FILE *stream, psArray *objects, bool mdcf)
     6007bool chipPendingImfilePrintObjects(FILE *stream, psArray *objects, bool mdcf)
    60086008{
    60096009    PS_ASSERT_PTR_NON_NULL(objects, false);
     
    60116011    psMetadata *output = psMetadataAlloc();
    60126012    for (long i = 0; i < psArrayLength(objects); i++) {
    6013         psMetadata *md = p2PendingImfileMetadataFromObject(objects->data[i]);
     6013        psMetadata *md = chipPendingImfileMetadataFromObject(objects->data[i]);
    60146014        if (!psMetadataAddMetadata(
    60156015            output,
    60166016            PS_LIST_TAIL,
    6017             P2PENDINGIMFILE_TABLE_NAME,
     6017            CHIPPENDINGIMFILE_TABLE_NAME,
    60186018            PS_META_DUPLICATE_OK,
    60196019            NULL,
     
    60366036    return true;
    60376037}
    6038 bool p2PendingImfilePrintObject(FILE *stream, p2PendingImfileRow *object, bool mdcf)
     6038bool chipPendingImfilePrintObject(FILE *stream, chipPendingImfileRow *object, bool mdcf)
    60396039{
    60406040    PS_ASSERT_PTR_NON_NULL(object, false);
    60416041
    6042     psMetadata *md = p2PendingImfileMetadataFromObject(object);
     6042    psMetadata *md = chipPendingImfileMetadataFromObject(object);
    60436043
    60446044    if (!ippdbPrintMetadataRaw(stream, md, mdcf)) {
     
    60516051    return true;
    60526052}
    6053 static void p2ProcessedExpRowFree(p2ProcessedExpRow *object);
    6054 
    6055 p2ProcessedExpRow *p2ProcessedExpRowAlloc(const char *exp_tag, psS32 p2_version, psS32 p1_version, const char *label, const char *expgroup, const char *dvodb)
    6056 {
    6057     p2ProcessedExpRow *_object;
    6058 
    6059     _object = psAlloc(sizeof(p2ProcessedExpRow));
    6060     psMemSetDeallocator(_object, (psFreeFunc)p2ProcessedExpRowFree);
     6053static void chipProcessedExpRowFree(chipProcessedExpRow *object);
     6054
     6055chipProcessedExpRow *chipProcessedExpRowAlloc(const char *exp_tag, psS32 chip_version, psS32 guide_version, const char *label, const char *expgroup, const char *dvodb)
     6056{
     6057    chipProcessedExpRow *_object;
     6058
     6059    _object = psAlloc(sizeof(chipProcessedExpRow));
     6060    psMemSetDeallocator(_object, (psFreeFunc)chipProcessedExpRowFree);
    60616061
    60626062    _object->exp_tag = psStringCopy(exp_tag);
    6063     _object->p2_version = p2_version;
    6064     _object->p1_version = p1_version;
     6063    _object->chip_version = chip_version;
     6064    _object->guide_version = guide_version;
    60656065    _object->label = psStringCopy(label);
    60666066    _object->expgroup = psStringCopy(expgroup);
     
    60706070}
    60716071
    6072 static void p2ProcessedExpRowFree(p2ProcessedExpRow *object)
     6072static void chipProcessedExpRowFree(chipProcessedExpRow *object)
    60736073{
    60746074    psFree(object->exp_tag);
     
    60786078}
    60796079
    6080 bool p2ProcessedExpCreateTable(psDB *dbh)
     6080bool chipProcessedExpCreateTable(psDB *dbh)
    60816081{
    60826082    psMetadata *md = psMetadataAlloc();
     
    60866086        return false;
    60876087    }
    6088     if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, "Primary Key", 0)) {
    6089         psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
    6090         psFree(md);
    6091         return false;
    6092     }
    6093     if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, 0)) {
    6094         psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
     6088    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, "Primary Key", 0)) {
     6089        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
     6090        psFree(md);
     6091        return false;
     6092    }
     6093    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, 0)) {
     6094        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version");
    60956095        psFree(md);
    60966096        return false;
     
    61126112    }
    61136113
    6114     bool status = psDBCreateTable(dbh, P2PROCESSEDEXP_TABLE_NAME, md);
     6114    bool status = psDBCreateTable(dbh, CHIPPROCESSEDEXP_TABLE_NAME, md);
    61156115
    61166116    psFree(md);
     
    61196119}
    61206120
    6121 bool p2ProcessedExpDropTable(psDB *dbh)
    6122 {
    6123     return psDBDropTable(dbh, P2PROCESSEDEXP_TABLE_NAME);
    6124 }
    6125 
    6126 bool p2ProcessedExpInsert(psDB * dbh, const char *exp_tag, psS32 p2_version, psS32 p1_version, const char *label, const char *expgroup, const char *dvodb)
     6121bool chipProcessedExpDropTable(psDB *dbh)
     6122{
     6123    return psDBDropTable(dbh, CHIPPROCESSEDEXP_TABLE_NAME);
     6124}
     6125
     6126bool chipProcessedExpInsert(psDB * dbh, const char *exp_tag, psS32 chip_version, psS32 guide_version, const char *label, const char *expgroup, const char *dvodb)
    61276127{
    61286128    psMetadata *md = psMetadataAlloc();
     
    61326132        return false;
    61336133    }
    6134     if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, p2_version)) {
    6135         psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
    6136         psFree(md);
    6137         return false;
    6138     }
    6139     if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, p1_version)) {
    6140         psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
     6134    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, chip_version)) {
     6135        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
     6136        psFree(md);
     6137        return false;
     6138    }
     6139    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, guide_version)) {
     6140        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version");
    61416141        psFree(md);
    61426142        return false;
     
    61586158    }
    61596159
    6160     bool status = psDBInsertOneRow(dbh, P2PROCESSEDEXP_TABLE_NAME, md);
     6160    bool status = psDBInsertOneRow(dbh, CHIPPROCESSEDEXP_TABLE_NAME, md);
    61616161    psFree(md);
    61626162
     
    61646164}
    61656165
    6166 long long p2ProcessedExpDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
     6166long long chipProcessedExpDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
    61676167{
    61686168    long long       deleted = 0;
    61696169
    6170     long long count = psDBDeleteRows(dbh, P2PROCESSEDEXP_TABLE_NAME, where, limit);
     6170    long long count = psDBDeleteRows(dbh, CHIPPROCESSEDEXP_TABLE_NAME, where, limit);
    61716171    if (count < 0) {
    6172         psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2ProcessedExp");
     6172        psError(PS_ERR_UNKNOWN, true, "failed to delete row from chipProcessedExp");
    61736173        return count;
    61746174
     
    61786178    return deleted;
    61796179}
    6180 bool p2ProcessedExpInsertObject(psDB *dbh, p2ProcessedExpRow *object)
    6181 {
    6182     return p2ProcessedExpInsert(dbh, object->exp_tag, object->p2_version, object->p1_version, object->label, object->expgroup, object->dvodb);
    6183 }
    6184 
    6185 bool p2ProcessedExpInsertObjects(psDB *dbh, psArray *objects)
     6180bool chipProcessedExpInsertObject(psDB *dbh, chipProcessedExpRow *object)
     6181{
     6182    return chipProcessedExpInsert(dbh, object->exp_tag, object->chip_version, object->guide_version, object->label, object->expgroup, object->dvodb);
     6183}
     6184
     6185bool chipProcessedExpInsertObjects(psDB *dbh, psArray *objects)
    61866186{
    61876187    for (long i = 0; i < psArrayLength(objects); i++) {
    6188         if (!p2ProcessedExpInsertObject(dbh, objects->data[i])) {
     6188        if (!chipProcessedExpInsertObject(dbh, objects->data[i])) {
    61896189            return false;
    61906190        }
     
    61946194}
    61956195
    6196 bool p2ProcessedExpInsertFits(psDB *dbh, const psFits *fits)
     6196bool chipProcessedExpInsertFits(psDB *dbh, const psFits *fits)
    61976197{
    61986198    psArray         *rowSet;
    61996199
    6200     // move to (the first?) extension named  P2PROCESSEDEXP_TABLE_NAME
    6201     if (!psFitsMoveExtName(fits, P2PROCESSEDEXP_TABLE_NAME)) {
    6202         psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P2PROCESSEDEXP_TABLE_NAME);
     6200    // move to (the first?) extension named  CHIPPROCESSEDEXP_TABLE_NAME
     6201    if (!psFitsMoveExtName(fits, CHIPPROCESSEDEXP_TABLE_NAME)) {
     6202        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", CHIPPROCESSEDEXP_TABLE_NAME);
    62036203        return false;
    62046204    }
     
    62186218    }
    62196219
    6220     if (!psDBInsertRows(dbh, P2PROCESSEDEXP_TABLE_NAME, rowSet)) {
     6220    if (!psDBInsertRows(dbh, CHIPPROCESSEDEXP_TABLE_NAME, rowSet)) {
    62216221        psError(PS_ERR_UNKNOWN, false, "databse insert failed");
    62226222        psFree(rowSet);
     
    62296229}
    62306230
    6231 bool p2ProcessedExpSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
     6231bool chipProcessedExpSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
    62326232{
    62336233    psArray         *rowSet;
    62346234
    6235     rowSet = psDBSelectRows(dbh, P2PROCESSEDEXP_TABLE_NAME, where, limit);
     6235    rowSet = psDBSelectRows(dbh, CHIPPROCESSEDEXP_TABLE_NAME, where, limit);
    62366236    if (!rowSet) {
    62376237        return false;
     
    62396239
    62406240    // output to fits
    6241     if (!psFitsWriteTable(fits, NULL, rowSet, P2PROCESSEDEXP_TABLE_NAME)) {
     6241    if (!psFitsWriteTable(fits, NULL, rowSet, CHIPPROCESSEDEXP_TABLE_NAME)) {
    62426242        psError(PS_ERR_UNKNOWN, false, "FITS table write failed");
    62436243        psFree(rowSet);
     
    62506250}
    62516251
    6252 psMetadata *p2ProcessedExpMetadataFromObject(const p2ProcessedExpRow *object)
     6252psMetadata *chipProcessedExpMetadataFromObject(const chipProcessedExpRow *object)
    62536253{
    62546254    psMetadata *md = psMetadataAlloc();
     
    62586258        return false;
    62596259    }
    6260     if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, object->p2_version)) {
    6261         psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
    6262         psFree(md);
    6263         return false;
    6264     }
    6265     if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, object->p1_version)) {
    6266         psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
     6260    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, object->chip_version)) {
     6261        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
     6262        psFree(md);
     6263        return false;
     6264    }
     6265    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, object->guide_version)) {
     6266        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version");
    62676267        psFree(md);
    62686268        return false;
     
    62886288}
    62896289
    6290 p2ProcessedExpRow *p2ProcessedExpObjectFromMetadata(psMetadata *md)
     6290chipProcessedExpRow *chipProcessedExpObjectFromMetadata(psMetadata *md)
    62916291{
    62926292
     
    62976297        return false;
    62986298    }
    6299     psS32 p2_version = psMetadataLookupS32(&status, md, "p2_version");
    6300     if (!status) {
    6301         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p2_version");
    6302         return false;
    6303     }
    6304     psS32 p1_version = psMetadataLookupS32(&status, md, "p1_version");
    6305     if (!status) {
    6306         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p1_version");
     6299    psS32 chip_version = psMetadataLookupS32(&status, md, "chip_version");
     6300    if (!status) {
     6301        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item chip_version");
     6302        return false;
     6303    }
     6304    psS32 guide_version = psMetadataLookupS32(&status, md, "guide_version");
     6305    if (!status) {
     6306        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item guide_version");
    63076307        return false;
    63086308    }
     
    63236323    }
    63246324
    6325     return p2ProcessedExpRowAlloc(exp_tag, p2_version, p1_version, label, expgroup, dvodb);
    6326 }
    6327 psArray *p2ProcessedExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     6325    return chipProcessedExpRowAlloc(exp_tag, chip_version, guide_version, label, expgroup, dvodb);
     6326}
     6327psArray *chipProcessedExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
    63286328{
    63296329    psArray         *rowSet;
     
    63316331    psU64           i;
    63326332
    6333     rowSet = psDBSelectRows(dbh, P2PROCESSEDEXP_TABLE_NAME, where, limit);
     6333    rowSet = psDBSelectRows(dbh, CHIPPROCESSEDEXP_TABLE_NAME, where, limit);
    63346334    if (!rowSet) {
    63356335        return NULL;
     
    63416341
    63426342    for (i = 0; i < rowSet->n; i++) {
    6343         p2ProcessedExpRow *object = p2ProcessedExpObjectFromMetadata(rowSet->data[i]);
     6343        chipProcessedExpRow *object = chipProcessedExpObjectFromMetadata(rowSet->data[i]);
    63446344        psArrayAdd(returnSet, 0, object);
    63456345        psFree(object);
     
    63506350    return returnSet;
    63516351}
    6352 bool p2ProcessedExpDeleteObject(psDB *dbh, const p2ProcessedExpRow *object)
    6353 {
    6354     psMetadata *where = p2ProcessedExpMetadataFromObject(object);
    6355     long long count = psDBDeleteRows(dbh, P2PROCESSEDEXP_TABLE_NAME, where, 0);
     6352bool chipProcessedExpDeleteObject(psDB *dbh, const chipProcessedExpRow *object)
     6353{
     6354    psMetadata *where = chipProcessedExpMetadataFromObject(object);
     6355    long long count = psDBDeleteRows(dbh, CHIPPROCESSEDEXP_TABLE_NAME, where, 0);
    63566356    psFree(where);
    63576357    if (count < 0) {
    6358         psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2ProcessedExp");
     6358        psError(PS_ERR_UNKNOWN, true, "failed to delete row from chipProcessedExp");
    63596359        return false;
    63606360    }
     
    63626362        // XXX should this be a psAbort() instead?  It is possible that
    63636363        // having an object match multiple rows was by design.
    6364         psError(PS_ERR_UNKNOWN, true, "p2ProcessedExpRow object matched more then one row.  Check your database schema");
    6365         return false;
    6366     }
    6367 
    6368     return true;
    6369 }
    6370 long long p2ProcessedExpDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
     6364        psError(PS_ERR_UNKNOWN, true, "chipProcessedExpRow object matched more then one row.  Check your database schema");
     6365        return false;
     6366    }
     6367
     6368    return true;
     6369}
     6370long long chipProcessedExpDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
    63716371{
    63726372    long long       deleted = 0;
    63736373
    63746374    for (long long i = 0; i < objects->n; i++) {
    6375         p2ProcessedExpRow *object = objects->data[i];
    6376         psMetadata *where = p2ProcessedExpMetadataFromObject(object);
    6377         long long count = psDBDeleteRows(dbh, P2PROCESSEDEXP_TABLE_NAME, where, limit);
     6375        chipProcessedExpRow *object = objects->data[i];
     6376        psMetadata *where = chipProcessedExpMetadataFromObject(object);
     6377        long long count = psDBDeleteRows(dbh, CHIPPROCESSEDEXP_TABLE_NAME, where, limit);
    63786378        psFree(where);
    63796379        if (count < 0) {
    6380             psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2ProcessedExp");
     6380            psError(PS_ERR_UNKNOWN, true, "failed to delete row from chipProcessedExp");
    63816381            return count;
    63826382        }
     
    63876387    return deleted;
    63886388}
    6389 bool p2ProcessedExpPrintObjects(FILE *stream, psArray *objects, bool mdcf)
     6389bool chipProcessedExpPrintObjects(FILE *stream, psArray *objects, bool mdcf)
    63906390{
    63916391    PS_ASSERT_PTR_NON_NULL(objects, false);
     
    63936393    psMetadata *output = psMetadataAlloc();
    63946394    for (long i = 0; i < psArrayLength(objects); i++) {
    6395         psMetadata *md = p2ProcessedExpMetadataFromObject(objects->data[i]);
     6395        psMetadata *md = chipProcessedExpMetadataFromObject(objects->data[i]);
    63966396        if (!psMetadataAddMetadata(
    63976397            output,
    63986398            PS_LIST_TAIL,
    6399             P2PROCESSEDEXP_TABLE_NAME,
     6399            CHIPPROCESSEDEXP_TABLE_NAME,
    64006400            PS_META_DUPLICATE_OK,
    64016401            NULL,
     
    64186418    return true;
    64196419}
    6420 bool p2ProcessedExpPrintObject(FILE *stream, p2ProcessedExpRow *object, bool mdcf)
     6420bool chipProcessedExpPrintObject(FILE *stream, chipProcessedExpRow *object, bool mdcf)
    64216421{
    64226422    PS_ASSERT_PTR_NON_NULL(object, false);
    64236423
    6424     psMetadata *md = p2ProcessedExpMetadataFromObject(object);
     6424    psMetadata *md = chipProcessedExpMetadataFromObject(object);
    64256425
    64266426    if (!ippdbPrintMetadataRaw(stream, md, mdcf)) {
     
    64336433    return true;
    64346434}
    6435 static void p2MaskRowFree(p2MaskRow *object);
    6436 
    6437 p2MaskRow *p2MaskRowAlloc(const char *label)
    6438 {
    6439     p2MaskRow       *_object;
    6440 
    6441     _object = psAlloc(sizeof(p2MaskRow));
    6442     psMemSetDeallocator(_object, (psFreeFunc)p2MaskRowFree);
     6435static void chipMaskRowFree(chipMaskRow *object);
     6436
     6437chipMaskRow *chipMaskRowAlloc(const char *label)
     6438{
     6439    chipMaskRow     *_object;
     6440
     6441    _object = psAlloc(sizeof(chipMaskRow));
     6442    psMemSetDeallocator(_object, (psFreeFunc)chipMaskRowFree);
    64436443
    64446444    _object->label = psStringCopy(label);
     
    64476447}
    64486448
    6449 static void p2MaskRowFree(p2MaskRow *object)
     6449static void chipMaskRowFree(chipMaskRow *object)
    64506450{
    64516451    psFree(object->label);
    64526452}
    64536453
    6454 bool p2MaskCreateTable(psDB *dbh)
     6454bool chipMaskCreateTable(psDB *dbh)
    64556455{
    64566456    psMetadata *md = psMetadataAlloc();
     
    64616461    }
    64626462
    6463     bool status = psDBCreateTable(dbh, P2MASK_TABLE_NAME, md);
     6463    bool status = psDBCreateTable(dbh, CHIPMASK_TABLE_NAME, md);
    64646464
    64656465    psFree(md);
     
    64686468}
    64696469
    6470 bool p2MaskDropTable(psDB *dbh)
    6471 {
    6472     return psDBDropTable(dbh, P2MASK_TABLE_NAME);
    6473 }
    6474 
    6475 bool p2MaskInsert(psDB * dbh, const char *label)
     6470bool chipMaskDropTable(psDB *dbh)
     6471{
     6472    return psDBDropTable(dbh, CHIPMASK_TABLE_NAME);
     6473}
     6474
     6475bool chipMaskInsert(psDB * dbh, const char *label)
    64766476{
    64776477    psMetadata *md = psMetadataAlloc();
     
    64826482    }
    64836483
    6484     bool status = psDBInsertOneRow(dbh, P2MASK_TABLE_NAME, md);
     6484    bool status = psDBInsertOneRow(dbh, CHIPMASK_TABLE_NAME, md);
    64856485    psFree(md);
    64866486
     
    64886488}
    64896489
    6490 long long p2MaskDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
     6490long long chipMaskDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
    64916491{
    64926492    long long       deleted = 0;
    64936493
    6494     long long count = psDBDeleteRows(dbh, P2MASK_TABLE_NAME, where, limit);
     6494    long long count = psDBDeleteRows(dbh, CHIPMASK_TABLE_NAME, where, limit);
    64956495    if (count < 0) {
    6496         psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2Mask");
     6496        psError(PS_ERR_UNKNOWN, true, "failed to delete row from chipMask");
    64976497        return count;
    64986498
     
    65026502    return deleted;
    65036503}
    6504 bool p2MaskInsertObject(psDB *dbh, p2MaskRow *object)
    6505 {
    6506     return p2MaskInsert(dbh, object->label);
    6507 }
    6508 
    6509 bool p2MaskInsertObjects(psDB *dbh, psArray *objects)
     6504bool chipMaskInsertObject(psDB *dbh, chipMaskRow *object)
     6505{
     6506    return chipMaskInsert(dbh, object->label);
     6507}
     6508
     6509bool chipMaskInsertObjects(psDB *dbh, psArray *objects)
    65106510{
    65116511    for (long i = 0; i < psArrayLength(objects); i++) {
    6512         if (!p2MaskInsertObject(dbh, objects->data[i])) {
     6512        if (!chipMaskInsertObject(dbh, objects->data[i])) {
    65136513            return false;
    65146514        }
     
    65186518}
    65196519
    6520 bool p2MaskInsertFits(psDB *dbh, const psFits *fits)
     6520bool chipMaskInsertFits(psDB *dbh, const psFits *fits)
    65216521{
    65226522    psArray         *rowSet;
    65236523
    6524     // move to (the first?) extension named  P2MASK_TABLE_NAME
    6525     if (!psFitsMoveExtName(fits, P2MASK_TABLE_NAME)) {
    6526         psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P2MASK_TABLE_NAME);
     6524    // move to (the first?) extension named  CHIPMASK_TABLE_NAME
     6525    if (!psFitsMoveExtName(fits, CHIPMASK_TABLE_NAME)) {
     6526        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", CHIPMASK_TABLE_NAME);
    65276527        return false;
    65286528    }
     
    65426542    }
    65436543
    6544     if (!psDBInsertRows(dbh, P2MASK_TABLE_NAME, rowSet)) {
     6544    if (!psDBInsertRows(dbh, CHIPMASK_TABLE_NAME, rowSet)) {
    65456545        psError(PS_ERR_UNKNOWN, false, "databse insert failed");
    65466546        psFree(rowSet);
     
    65536553}
    65546554
    6555 bool p2MaskSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
     6555bool chipMaskSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
    65566556{
    65576557    psArray         *rowSet;
    65586558
    6559     rowSet = psDBSelectRows(dbh, P2MASK_TABLE_NAME, where, limit);
     6559    rowSet = psDBSelectRows(dbh, CHIPMASK_TABLE_NAME, where, limit);
    65606560    if (!rowSet) {
    65616561        return false;
     
    65636563
    65646564    // output to fits
    6565     if (!psFitsWriteTable(fits, NULL, rowSet, P2MASK_TABLE_NAME)) {
     6565    if (!psFitsWriteTable(fits, NULL, rowSet, CHIPMASK_TABLE_NAME)) {
    65666566        psError(PS_ERR_UNKNOWN, false, "FITS table write failed");
    65676567        psFree(rowSet);
     
    65746574}
    65756575
    6576 psMetadata *p2MaskMetadataFromObject(const p2MaskRow *object)
     6576psMetadata *chipMaskMetadataFromObject(const chipMaskRow *object)
    65776577{
    65786578    psMetadata *md = psMetadataAlloc();
     
    65876587}
    65886588
    6589 p2MaskRow *p2MaskObjectFromMetadata(psMetadata *md)
     6589chipMaskRow *chipMaskObjectFromMetadata(psMetadata *md)
    65906590{
    65916591
     
    65976597    }
    65986598
    6599     return p2MaskRowAlloc(label);
    6600 }
    6601 psArray *p2MaskSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     6599    return chipMaskRowAlloc(label);
     6600}
     6601psArray *chipMaskSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
    66026602{
    66036603    psArray         *rowSet;
     
    66056605    psU64           i;
    66066606
    6607     rowSet = psDBSelectRows(dbh, P2MASK_TABLE_NAME, where, limit);
     6607    rowSet = psDBSelectRows(dbh, CHIPMASK_TABLE_NAME, where, limit);
    66086608    if (!rowSet) {
    66096609        return NULL;
     
    66156615
    66166616    for (i = 0; i < rowSet->n; i++) {
    6617         p2MaskRow *object = p2MaskObjectFromMetadata(rowSet->data[i]);
     6617        chipMaskRow *object = chipMaskObjectFromMetadata(rowSet->data[i]);
    66186618        psArrayAdd(returnSet, 0, object);
    66196619        psFree(object);
     
    66246624    return returnSet;
    66256625}
    6626 bool p2MaskDeleteObject(psDB *dbh, const p2MaskRow *object)
    6627 {
    6628     psMetadata *where = p2MaskMetadataFromObject(object);
    6629     long long count = psDBDeleteRows(dbh, P2MASK_TABLE_NAME, where, 0);
     6626bool chipMaskDeleteObject(psDB *dbh, const chipMaskRow *object)
     6627{
     6628    psMetadata *where = chipMaskMetadataFromObject(object);
     6629    long long count = psDBDeleteRows(dbh, CHIPMASK_TABLE_NAME, where, 0);
    66306630    psFree(where);
    66316631    if (count < 0) {
    6632         psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2Mask");
     6632        psError(PS_ERR_UNKNOWN, true, "failed to delete row from chipMask");
    66336633        return false;
    66346634    }
     
    66366636        // XXX should this be a psAbort() instead?  It is possible that
    66376637        // having an object match multiple rows was by design.
    6638         psError(PS_ERR_UNKNOWN, true, "p2MaskRow object matched more then one row.  Check your database schema");
    6639         return false;
    6640     }
    6641 
    6642     return true;
    6643 }
    6644 long long p2MaskDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
     6638        psError(PS_ERR_UNKNOWN, true, "chipMaskRow object matched more then one row.  Check your database schema");
     6639        return false;
     6640    }
     6641
     6642    return true;
     6643}
     6644long long chipMaskDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
    66456645{
    66466646    long long       deleted = 0;
    66476647
    66486648    for (long long i = 0; i < objects->n; i++) {
    6649         p2MaskRow *object = objects->data[i];
    6650         psMetadata *where = p2MaskMetadataFromObject(object);
    6651         long long count = psDBDeleteRows(dbh, P2MASK_TABLE_NAME, where, limit);
     6649        chipMaskRow *object = objects->data[i];
     6650        psMetadata *where = chipMaskMetadataFromObject(object);
     6651        long long count = psDBDeleteRows(dbh, CHIPMASK_TABLE_NAME, where, limit);
    66526652        psFree(where);
    66536653        if (count < 0) {
    6654             psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2Mask");
     6654            psError(PS_ERR_UNKNOWN, true, "failed to delete row from chipMask");
    66556655            return count;
    66566656        }
     
    66616661    return deleted;
    66626662}
    6663 bool p2MaskPrintObjects(FILE *stream, psArray *objects, bool mdcf)
     6663bool chipMaskPrintObjects(FILE *stream, psArray *objects, bool mdcf)
    66646664{
    66656665    PS_ASSERT_PTR_NON_NULL(objects, false);
     
    66676667    psMetadata *output = psMetadataAlloc();
    66686668    for (long i = 0; i < psArrayLength(objects); i++) {
    6669         psMetadata *md = p2MaskMetadataFromObject(objects->data[i]);
     6669        psMetadata *md = chipMaskMetadataFromObject(objects->data[i]);
    66706670        if (!psMetadataAddMetadata(
    66716671            output,
    66726672            PS_LIST_TAIL,
    6673             P2MASK_TABLE_NAME,
     6673            CHIPMASK_TABLE_NAME,
    66746674            PS_META_DUPLICATE_OK,
    66756675            NULL,
     
    66926692    return true;
    66936693}
    6694 bool p2MaskPrintObject(FILE *stream, p2MaskRow *object, bool mdcf)
     6694bool chipMaskPrintObject(FILE *stream, chipMaskRow *object, bool mdcf)
    66956695{
    66966696    PS_ASSERT_PTR_NON_NULL(object, false);
    66976697
    6698     psMetadata *md = p2MaskMetadataFromObject(object);
     6698    psMetadata *md = chipMaskMetadataFromObject(object);
    66996699
    67006700    if (!ippdbPrintMetadataRaw(stream, md, mdcf)) {
     
    67076707    return true;
    67086708}
    6709 static void p2ProcessedImfileRowFree(p2ProcessedImfileRow *object);
    6710 
    6711 p2ProcessedImfileRow *p2ProcessedImfileRowAlloc(const char *exp_tag, psS32 p2_version, psS32 p1_version, const char *class_id, const char *recipe, const char *uri, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *b1_uri, const char *b2_uri, psS16 fault)
    6712 {
    6713     p2ProcessedImfileRow *_object;
    6714 
    6715     _object = psAlloc(sizeof(p2ProcessedImfileRow));
    6716     psMemSetDeallocator(_object, (psFreeFunc)p2ProcessedImfileRowFree);
     6709static void chipProcessedImfileRowFree(chipProcessedImfileRow *object);
     6710
     6711chipProcessedImfileRow *chipProcessedImfileRowAlloc(const char *exp_tag, psS32 chip_version, psS32 guide_version, const char *class_id, const char *recipe, const char *uri, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *b1_uri, const char *b2_uri, psS16 fault)
     6712{
     6713    chipProcessedImfileRow *_object;
     6714
     6715    _object = psAlloc(sizeof(chipProcessedImfileRow));
     6716    psMemSetDeallocator(_object, (psFreeFunc)chipProcessedImfileRowFree);
    67176717
    67186718    _object->exp_tag = psStringCopy(exp_tag);
    6719     _object->p2_version = p2_version;
    6720     _object->p1_version = p1_version;
     6719    _object->chip_version = chip_version;
     6720    _object->guide_version = guide_version;
    67216721    _object->class_id = psStringCopy(class_id);
    67226722    _object->recipe = psStringCopy(recipe);
     
    67326732}
    67336733
    6734 static void p2ProcessedImfileRowFree(p2ProcessedImfileRow *object)
     6734static void chipProcessedImfileRowFree(chipProcessedImfileRow *object)
    67356735{
    67366736    psFree(object->exp_tag);
     
    67426742}
    67436743
    6744 bool p2ProcessedImfileCreateTable(psDB *dbh)
     6744bool chipProcessedImfileCreateTable(psDB *dbh)
    67456745{
    67466746    psMetadata *md = psMetadataAlloc();
     
    67506750        return false;
    67516751    }
    6752     if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, "Primary Key", 0)) {
    6753         psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
    6754         psFree(md);
    6755         return false;
    6756     }
    6757     if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, 0)) {
    6758         psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
     6752    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, "Primary Key", 0)) {
     6753        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
     6754        psFree(md);
     6755        return false;
     6756    }
     6757    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, 0)) {
     6758        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version");
    67596759        psFree(md);
    67606760        return false;
     
    68066806    }
    68076807
    6808     bool status = psDBCreateTable(dbh, P2PROCESSEDIMFILE_TABLE_NAME, md);
     6808    bool status = psDBCreateTable(dbh, CHIPPROCESSEDIMFILE_TABLE_NAME, md);
    68096809
    68106810    psFree(md);
     
    68136813}
    68146814
    6815 bool p2ProcessedImfileDropTable(psDB *dbh)
    6816 {
    6817     return psDBDropTable(dbh, P2PROCESSEDIMFILE_TABLE_NAME);
    6818 }
    6819 
    6820 bool p2ProcessedImfileInsert(psDB * dbh, const char *exp_tag, psS32 p2_version, psS32 p1_version, const char *class_id, const char *recipe, const char *uri, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *b1_uri, const char *b2_uri, psS16 fault)
     6815bool chipProcessedImfileDropTable(psDB *dbh)
     6816{
     6817    return psDBDropTable(dbh, CHIPPROCESSEDIMFILE_TABLE_NAME);
     6818}
     6819
     6820bool chipProcessedImfileInsert(psDB * dbh, const char *exp_tag, psS32 chip_version, psS32 guide_version, const char *class_id, const char *recipe, const char *uri, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *b1_uri, const char *b2_uri, psS16 fault)
    68216821{
    68226822    psMetadata *md = psMetadataAlloc();
     
    68266826        return false;
    68276827    }
    6828     if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, p2_version)) {
    6829         psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
    6830         psFree(md);
    6831         return false;
    6832     }
    6833     if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, p1_version)) {
    6834         psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
     6828    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, chip_version)) {
     6829        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
     6830        psFree(md);
     6831        return false;
     6832    }
     6833    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, guide_version)) {
     6834        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version");
    68356835        psFree(md);
    68366836        return false;
     
    68826882    }
    68836883
    6884     bool status = psDBInsertOneRow(dbh, P2PROCESSEDIMFILE_TABLE_NAME, md);
     6884    bool status = psDBInsertOneRow(dbh, CHIPPROCESSEDIMFILE_TABLE_NAME, md);
    68856885    psFree(md);
    68866886
     
    68886888}
    68896889
    6890 long long p2ProcessedImfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
     6890long long chipProcessedImfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
    68916891{
    68926892    long long       deleted = 0;
    68936893
    6894     long long count = psDBDeleteRows(dbh, P2PROCESSEDIMFILE_TABLE_NAME, where, limit);
     6894    long long count = psDBDeleteRows(dbh, CHIPPROCESSEDIMFILE_TABLE_NAME, where, limit);
    68956895    if (count < 0) {
    6896         psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2ProcessedImfile");
     6896        psError(PS_ERR_UNKNOWN, true, "failed to delete row from chipProcessedImfile");
    68976897        return count;
    68986898
     
    69026902    return deleted;
    69036903}
    6904 bool p2ProcessedImfileInsertObject(psDB *dbh, p2ProcessedImfileRow *object)
    6905 {
    6906     return p2ProcessedImfileInsert(dbh, object->exp_tag, object->p2_version, object->p1_version, object->class_id, object->recipe, object->uri, object->bg, object->bg_stdev, object->bg_mean_stdev, object->b1_uri, object->b2_uri, object->fault);
    6907 }
    6908 
    6909 bool p2ProcessedImfileInsertObjects(psDB *dbh, psArray *objects)
     6904bool chipProcessedImfileInsertObject(psDB *dbh, chipProcessedImfileRow *object)
     6905{
     6906    return chipProcessedImfileInsert(dbh, object->exp_tag, object->chip_version, object->guide_version, object->class_id, object->recipe, object->uri, object->bg, object->bg_stdev, object->bg_mean_stdev, object->b1_uri, object->b2_uri, object->fault);
     6907}
     6908
     6909bool chipProcessedImfileInsertObjects(psDB *dbh, psArray *objects)
    69106910{
    69116911    for (long i = 0; i < psArrayLength(objects); i++) {
    6912         if (!p2ProcessedImfileInsertObject(dbh, objects->data[i])) {
     6912        if (!chipProcessedImfileInsertObject(dbh, objects->data[i])) {
    69136913            return false;
    69146914        }
     
    69186918}
    69196919
    6920 bool p2ProcessedImfileInsertFits(psDB *dbh, const psFits *fits)
     6920bool chipProcessedImfileInsertFits(psDB *dbh, const psFits *fits)
    69216921{
    69226922    psArray         *rowSet;
    69236923
    6924     // move to (the first?) extension named  P2PROCESSEDIMFILE_TABLE_NAME
    6925     if (!psFitsMoveExtName(fits, P2PROCESSEDIMFILE_TABLE_NAME)) {
    6926         psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P2PROCESSEDIMFILE_TABLE_NAME);
     6924    // move to (the first?) extension named  CHIPPROCESSEDIMFILE_TABLE_NAME
     6925    if (!psFitsMoveExtName(fits, CHIPPROCESSEDIMFILE_TABLE_NAME)) {
     6926        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", CHIPPROCESSEDIMFILE_TABLE_NAME);
    69276927        return false;
    69286928    }
     
    69426942    }
    69436943
    6944     if (!psDBInsertRows(dbh, P2PROCESSEDIMFILE_TABLE_NAME, rowSet)) {
     6944    if (!psDBInsertRows(dbh, CHIPPROCESSEDIMFILE_TABLE_NAME, rowSet)) {
    69456945        psError(PS_ERR_UNKNOWN, false, "databse insert failed");
    69466946        psFree(rowSet);
     
    69536953}
    69546954
    6955 bool p2ProcessedImfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
     6955bool chipProcessedImfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
    69566956{
    69576957    psArray         *rowSet;
    69586958
    6959     rowSet = psDBSelectRows(dbh, P2PROCESSEDIMFILE_TABLE_NAME, where, limit);
     6959    rowSet = psDBSelectRows(dbh, CHIPPROCESSEDIMFILE_TABLE_NAME, where, limit);
    69606960    if (!rowSet) {
    69616961        return false;
     
    69636963
    69646964    // output to fits
    6965     if (!psFitsWriteTable(fits, NULL, rowSet, P2PROCESSEDIMFILE_TABLE_NAME)) {
     6965    if (!psFitsWriteTable(fits, NULL, rowSet, CHIPPROCESSEDIMFILE_TABLE_NAME)) {
    69666966        psError(PS_ERR_UNKNOWN, false, "FITS table write failed");
    69676967        psFree(rowSet);
     
    69746974}
    69756975
    6976 psMetadata *p2ProcessedImfileMetadataFromObject(const p2ProcessedImfileRow *object)
     6976psMetadata *chipProcessedImfileMetadataFromObject(const chipProcessedImfileRow *object)
    69776977{
    69786978    psMetadata *md = psMetadataAlloc();
     
    69826982        return false;
    69836983    }
    6984     if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, object->p2_version)) {
    6985         psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
    6986         psFree(md);
    6987         return false;
    6988     }
    6989     if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, object->p1_version)) {
    6990         psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
     6984    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, object->chip_version)) {
     6985        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
     6986        psFree(md);
     6987        return false;
     6988    }
     6989    if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, object->guide_version)) {
     6990        psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version");
    69916991        psFree(md);
    69926992        return false;
     
    70427042}
    70437043
    7044 p2ProcessedImfileRow *p2ProcessedImfileObjectFromMetadata(psMetadata *md)
     7044chipProcessedImfileRow *chipProcessedImfileObjectFromMetadata(psMetadata *md)
    70457045{
    70467046
     
    70517051        return false;
    70527052    }
    7053     psS32 p2_version = psMetadataLookupS32(&status, md, "p2_version");
    7054     if (!status) {
    7055         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p2_version");
    7056         return false;
    7057     }
    7058     psS32 p1_version = psMetadataLookupS32(&status, md, "p1_version");
    7059     if (!status) {
    7060         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p1_version");
     7053    psS32 chip_version = psMetadataLookupS32(&status, md, "chip_version");
     7054    if (!status) {
     7055        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item chip_version");
     7056        return false;
     7057    }
     7058    psS32 guide_version = psMetadataLookupS32(&status, md, "guide_version");
     7059    if (!status) {
     7060        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item guide_version");
    70617061        return false;
    70627062    }
     
    71077107    }
    71087108
    7109     return p2ProcessedImfileRowAlloc(exp_tag, p2_version, p1_version, class_id, recipe, uri, bg, bg_stdev, bg_mean_stdev, b1_uri, b2_uri, fault);
    7110 }
    7111 psArray *p2ProcessedImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     7109    return chipProcessedImfileRowAlloc(exp_tag, chip_version, guide_version, class_id, recipe, uri, bg, bg_stdev, bg_mean_stdev, b1_uri, b2_uri, fault);
     7110}
     7111psArray *chipProcessedImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
    71127112{
    71137113    psArray         *rowSet;
     
    71157115    psU64           i;
    71167116
    7117     rowSet = psDBSelectRows(dbh, P2PROCESSEDIMFILE_TABLE_NAME, where, limit);
     7117    rowSet = psDBSelectRows(dbh, CHIPPROCESSEDIMFILE_TABLE_NAME, where, limit);
    71187118    if (!rowSet) {
    71197119        return NULL;
     
    71257125
    71267126    for (i = 0; i < rowSet->n; i++) {
    7127         p2ProcessedImfileRow *object = p2ProcessedImfileObjectFromMetadata(rowSet->data[i]);
     7127        chipProcessedImfileRow *object = chipProcessedImfileObjectFromMetadata(rowSet->data[i]);
    71287128        psArrayAdd(returnSet, 0, object);
    71297129        psFree(object);
     
    71347134    return returnSet;
    71357135}
    7136 bool p2ProcessedImfileDeleteObject(psDB *dbh, const p2ProcessedImfileRow *object)
    7137 {
    7138     psMetadata *where = p2ProcessedImfileMetadataFromObject(object);
    7139     long long count = psDBDeleteRows(dbh, P2PROCESSEDIMFILE_TABLE_NAME, where, 0);
     7136bool chipProcessedImfileDeleteObject(psDB *dbh, const chipProcessedImfileRow *object)
     7137{
     7138    psMetadata *where = chipProcessedImfileMetadataFromObject(object);
     7139    long long count = psDBDeleteRows(dbh, CHIPPROCESSEDIMFILE_TABLE_NAME, where, 0);
    71407140    psFree(where);
    71417141    if (count < 0) {
    7142         psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2ProcessedImfile");
     7142        psError(PS_ERR_UNKNOWN, true, "failed to delete row from chipProcessedImfile");
    71437143        return false;
    71447144    }
     
    71467146        // XXX should this be a psAbort() instead?  It is possible that
    71477147        // having an object match multiple rows was by design.
    7148         psError(PS_ERR_UNKNOWN, true, "p2ProcessedImfileRow object matched more then one row.  Check your database schema");
    7149         return false;
    7150     }
    7151 
    7152     return true;
    7153 }
    7154 long long p2ProcessedImfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
     7148        psError(PS_ERR_UNKNOWN, true, "chipProcessedImfileRow object matched more then one row.  Check your database schema");
     7149        return false;
     7150    }
     7151
     7152    return true;
     7153}
     7154long long chipProcessedImfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
    71557155{
    71567156    long long       deleted = 0;
    71577157
    71587158    for (long long i = 0; i < objects->n; i++) {
    7159         p2ProcessedImfileRow *object = objects->data[i];
    7160         psMetadata *where = p2ProcessedImfileMetadataFromObject(object);
    7161         long long count = psDBDeleteRows(dbh, P2PROCESSEDIMFILE_TABLE_NAME, where, limit);
     7159        chipProcessedImfileRow *object = objects->data[i];
     7160        psMetadata *where = chipProcessedImfileMetadataFromObject(object);
     7161        long long count = psDBDeleteRows(dbh, CHIPPROCESSEDIMFILE_TABLE_NAME, where, limit);
    71627162        psFree(where);
    71637163        if (count < 0) {
    7164             psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2ProcessedImfile");
     7164            psError(PS_ERR_UNKNOWN, true, "failed to delete row from chipProcessedImfile");
    71657165            return count;
    71667166        }
     
    71717171    return deleted;
    71727172}
    7173 bool p2ProcessedImfilePrintObjects(FILE *stream, psArray *objects, bool mdcf)
     7173bool chipProcessedImfilePrintObjects(FILE *stream, psArray *objects, bool mdcf)
    71747174{
    71757175    PS_ASSERT_PTR_NON_NULL(objects, false);
     
    71777177    psMetadata *output = psMetadataAlloc();
    71787178    for (long i = 0; i < psArrayLength(objects); i++) {
    7179         psMetadata *md = p2ProcessedImfileMetadataFromObject(objects->data[i]);
     7179        psMetadata *md = chipProcessedImfileMetadataFromObject(objects->data[i]);
    71807180        if (!psMetadataAddMetadata(
    71817181            output,
    71827182            PS_LIST_TAIL,
    7183             P2PROCESSEDIMFILE_TABLE_NAME,
     7183            CHIPPROCESSEDIMFILE_TABLE_NAME,
    71847184            PS_META_DUPLICATE_OK,
    71857185            NULL,
     
    72027202    return true;
    72037203}
    7204 bool p2ProcessedImfilePrintObject(FILE *stream, p2ProcessedImfileRow *object, bool mdcf)
     7204bool chipProcessedImfilePrintObject(FILE *stream, chipProcessedImfileRow *object, bool mdcf)
    72057205{
    72067206    PS_ASSERT_PTR_NON_NULL(object, false);
    72077207
    7208     psMetadata *md = p2ProcessedImfileMetadataFromObject(object);
     7208    psMetadata *md = chipProcessedImfileMetadataFromObject(object);
    72097209
    72107210    if (!ippdbPrintMetadataRaw(stream, md, mdcf)) {
     
    72177217    return true;
    72187218}
    7219 static void p3PendingExpRowFree(p3PendingExpRow *object);
    7220 
    7221 p3PendingExpRow *p3PendingExpRowAlloc(const char *exp_tag, psS32 p3_version, psS32 p2_version, const char *label, const char *expgroup, const char *dvodb)
    7222 {
    7223     p3PendingExpRow *_object;
    7224 
    7225     _object = psAlloc(sizeof(p3PendingExpRow));
    7226     psMemSetDeallocator(_object, (psFreeFunc)p3PendingExpRowFree);
     7219static void camPendingExpRowFree(camPendingExpRow *object);
     7220
     7221camPendingExpRow *camPendingExpRowAlloc(const char *exp_tag, psS32 cam_version, psS32 chip_version, const char *label, const char *expgroup, const char *dvodb)
     7222{
     7223    camPendingExpRow *_object;
     7224
     7225    _object = psAlloc(sizeof(camPendingExpRow));
     7226    psMemSetDeallocator(_object, (psFreeFunc)camPendingExpRowFree);
    72277227
    72287228    _object->exp_tag = psStringCopy(exp_tag);
    7229     _object->p3_version = p3_version;
    7230     _object->p2_version = p2_version;
     7229    _object->cam_version = cam_version;
     7230    _object->chip_version = chip_version;
    72317231    _object->label = psStringCopy(label);
    72327232    _object->expgroup = psStringCopy(expgroup);
     
    72367236}
    72377237
    7238 static void p3PendingExpRowFree(p3PendingExpRow *object)
     7238static void camPendingExpRowFree(camPendingExpRow *object)
    72397239{
    72407240    psFree(object->exp_tag);
     
    72447244}
    72457245
    7246 bool p3PendingExpCreateTable(psDB *dbh)
     7246bool camPendingExpCreateTable(psDB *dbh)
    72477247{
    72487248    psMetadata *md = psMetadataAlloc();
     
    72527252        return false;
    72537253    }
    7254     if (!psMetadataAdd(md, PS_LIST_TAIL, "p3_version", PS_DATA_S32, "Primary Key", 0)) {
    7255         psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version");
    7256         psFree(md);
    7257         return false;
    7258     }
    7259     if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, 0)) {
    7260         psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
     7254    if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_version", PS_DATA_S32, "Primary Key", 0)) {
     7255        psError(PS_ERR_UNKNOWN, false, "failed to add item cam_version");
     7256        psFree(md);
     7257        return false;
     7258    }
     7259    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, 0)) {
     7260        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
    72617261        psFree(md);
    72627262        return false;
     
    72787278    }
    72797279
    7280     bool status = psDBCreateTable(dbh, P3PENDINGEXP_TABLE_NAME, md);
     7280    bool status = psDBCreateTable(dbh, CAMPENDINGEXP_TABLE_NAME, md);
    72817281
    72827282    psFree(md);
     
    72857285}
    72867286
    7287 bool p3PendingExpDropTable(psDB *dbh)
    7288 {
    7289     return psDBDropTable(dbh, P3PENDINGEXP_TABLE_NAME);
    7290 }
    7291 
    7292 bool p3PendingExpInsert(psDB * dbh, const char *exp_tag, psS32 p3_version, psS32 p2_version, const char *label, const char *expgroup, const char *dvodb)
     7287bool camPendingExpDropTable(psDB *dbh)
     7288{
     7289    return psDBDropTable(dbh, CAMPENDINGEXP_TABLE_NAME);
     7290}
     7291
     7292bool camPendingExpInsert(psDB * dbh, const char *exp_tag, psS32 cam_version, psS32 chip_version, const char *label, const char *expgroup, const char *dvodb)
    72937293{
    72947294    psMetadata *md = psMetadataAlloc();
     
    72987298        return false;
    72997299    }
    7300     if (!psMetadataAdd(md, PS_LIST_TAIL, "p3_version", PS_DATA_S32, NULL, p3_version)) {
    7301         psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version");
    7302         psFree(md);
    7303         return false;
    7304     }
    7305     if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, p2_version)) {
    7306         psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
     7300    if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_version", PS_DATA_S32, NULL, cam_version)) {
     7301        psError(PS_ERR_UNKNOWN, false, "failed to add item cam_version");
     7302        psFree(md);
     7303        return false;
     7304    }
     7305    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, chip_version)) {
     7306        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
    73077307        psFree(md);
    73087308        return false;
     
    73247324    }
    73257325
    7326     bool status = psDBInsertOneRow(dbh, P3PENDINGEXP_TABLE_NAME, md);
     7326    bool status = psDBInsertOneRow(dbh, CAMPENDINGEXP_TABLE_NAME, md);
    73277327    psFree(md);
    73287328
     
    73307330}
    73317331
    7332 long long p3PendingExpDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
     7332long long camPendingExpDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
    73337333{
    73347334    long long       deleted = 0;
    73357335
    7336     long long count = psDBDeleteRows(dbh, P3PENDINGEXP_TABLE_NAME, where, limit);
     7336    long long count = psDBDeleteRows(dbh, CAMPENDINGEXP_TABLE_NAME, where, limit);
    73377337    if (count < 0) {
    7338         psError(PS_ERR_UNKNOWN, true, "failed to delete row from p3PendingExp");
     7338        psError(PS_ERR_UNKNOWN, true, "failed to delete row from camPendingExp");
    73397339        return count;
    73407340
     
    73447344    return deleted;
    73457345}
    7346 bool p3PendingExpInsertObject(psDB *dbh, p3PendingExpRow *object)
    7347 {
    7348     return p3PendingExpInsert(dbh, object->exp_tag, object->p3_version, object->p2_version, object->label, object->expgroup, object->dvodb);
    7349 }
    7350 
    7351 bool p3PendingExpInsertObjects(psDB *dbh, psArray *objects)
     7346bool camPendingExpInsertObject(psDB *dbh, camPendingExpRow *object)
     7347{
     7348    return camPendingExpInsert(dbh, object->exp_tag, object->cam_version, object->chip_version, object->label, object->expgroup, object->dvodb);
     7349}
     7350
     7351bool camPendingExpInsertObjects(psDB *dbh, psArray *objects)
    73527352{
    73537353    for (long i = 0; i < psArrayLength(objects); i++) {
    7354         if (!p3PendingExpInsertObject(dbh, objects->data[i])) {
     7354        if (!camPendingExpInsertObject(dbh, objects->data[i])) {
    73557355            return false;
    73567356        }
     
    73607360}
    73617361
    7362 bool p3PendingExpInsertFits(psDB *dbh, const psFits *fits)
     7362bool camPendingExpInsertFits(psDB *dbh, const psFits *fits)
    73637363{
    73647364    psArray         *rowSet;
    73657365
    7366     // move to (the first?) extension named  P3PENDINGEXP_TABLE_NAME
    7367     if (!psFitsMoveExtName(fits, P3PENDINGEXP_TABLE_NAME)) {
    7368         psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P3PENDINGEXP_TABLE_NAME);
     7366    // move to (the first?) extension named  CAMPENDINGEXP_TABLE_NAME
     7367    if (!psFitsMoveExtName(fits, CAMPENDINGEXP_TABLE_NAME)) {
     7368        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", CAMPENDINGEXP_TABLE_NAME);
    73697369        return false;
    73707370    }
     
    73847384    }
    73857385
    7386     if (!psDBInsertRows(dbh, P3PENDINGEXP_TABLE_NAME, rowSet)) {
     7386    if (!psDBInsertRows(dbh, CAMPENDINGEXP_TABLE_NAME, rowSet)) {
    73877387        psError(PS_ERR_UNKNOWN, false, "databse insert failed");
    73887388        psFree(rowSet);
     
    73957395}
    73967396
    7397 bool p3PendingExpSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
     7397bool camPendingExpSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
    73987398{
    73997399    psArray         *rowSet;
    74007400
    7401     rowSet = psDBSelectRows(dbh, P3PENDINGEXP_TABLE_NAME, where, limit);
     7401    rowSet = psDBSelectRows(dbh, CAMPENDINGEXP_TABLE_NAME, where, limit);
    74027402    if (!rowSet) {
    74037403        return false;
     
    74057405
    74067406    // output to fits
    7407     if (!psFitsWriteTable(fits, NULL, rowSet, P3PENDINGEXP_TABLE_NAME)) {
     7407    if (!psFitsWriteTable(fits, NULL, rowSet, CAMPENDINGEXP_TABLE_NAME)) {
    74087408        psError(PS_ERR_UNKNOWN, false, "FITS table write failed");
    74097409        psFree(rowSet);
     
    74167416}
    74177417
    7418 psMetadata *p3PendingExpMetadataFromObject(const p3PendingExpRow *object)
     7418psMetadata *camPendingExpMetadataFromObject(const camPendingExpRow *object)
    74197419{
    74207420    psMetadata *md = psMetadataAlloc();
     
    74247424        return false;
    74257425    }
    7426     if (!psMetadataAdd(md, PS_LIST_TAIL, "p3_version", PS_DATA_S32, NULL, object->p3_version)) {
    7427         psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version");
    7428         psFree(md);
    7429         return false;
    7430     }
    7431     if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, object->p2_version)) {
    7432         psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
     7426    if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_version", PS_DATA_S32, NULL, object->cam_version)) {
     7427        psError(PS_ERR_UNKNOWN, false, "failed to add item cam_version");
     7428        psFree(md);
     7429        return false;
     7430    }
     7431    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, object->chip_version)) {
     7432        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
    74337433        psFree(md);
    74347434        return false;
     
    74547454}
    74557455
    7456 p3PendingExpRow *p3PendingExpObjectFromMetadata(psMetadata *md)
     7456camPendingExpRow *camPendingExpObjectFromMetadata(psMetadata *md)
    74577457{
    74587458
     
    74637463        return false;
    74647464    }
    7465     psS32 p3_version = psMetadataLookupS32(&status, md, "p3_version");
    7466     if (!status) {
    7467         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p3_version");
    7468         return false;
    7469     }
    7470     psS32 p2_version = psMetadataLookupS32(&status, md, "p2_version");
    7471     if (!status) {
    7472         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p2_version");
     7465    psS32 cam_version = psMetadataLookupS32(&status, md, "cam_version");
     7466    if (!status) {
     7467        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item cam_version");
     7468        return false;
     7469    }
     7470    psS32 chip_version = psMetadataLookupS32(&status, md, "chip_version");
     7471    if (!status) {
     7472        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item chip_version");
    74737473        return false;
    74747474    }
     
    74897489    }
    74907490
    7491     return p3PendingExpRowAlloc(exp_tag, p3_version, p2_version, label, expgroup, dvodb);
    7492 }
    7493 psArray *p3PendingExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     7491    return camPendingExpRowAlloc(exp_tag, cam_version, chip_version, label, expgroup, dvodb);
     7492}
     7493psArray *camPendingExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
    74947494{
    74957495    psArray         *rowSet;
     
    74977497    psU64           i;
    74987498
    7499     rowSet = psDBSelectRows(dbh, P3PENDINGEXP_TABLE_NAME, where, limit);
     7499    rowSet = psDBSelectRows(dbh, CAMPENDINGEXP_TABLE_NAME, where, limit);
    75007500    if (!rowSet) {
    75017501        return NULL;
     
    75077507
    75087508    for (i = 0; i < rowSet->n; i++) {
    7509         p3PendingExpRow *object = p3PendingExpObjectFromMetadata(rowSet->data[i]);
     7509        camPendingExpRow *object = camPendingExpObjectFromMetadata(rowSet->data[i]);
    75107510        psArrayAdd(returnSet, 0, object);
    75117511        psFree(object);
     
    75167516    return returnSet;
    75177517}
    7518 bool p3PendingExpDeleteObject(psDB *dbh, const p3PendingExpRow *object)
    7519 {
    7520     psMetadata *where = p3PendingExpMetadataFromObject(object);
    7521     long long count = psDBDeleteRows(dbh, P3PENDINGEXP_TABLE_NAME, where, 0);
     7518bool camPendingExpDeleteObject(psDB *dbh, const camPendingExpRow *object)
     7519{
     7520    psMetadata *where = camPendingExpMetadataFromObject(object);
     7521    long long count = psDBDeleteRows(dbh, CAMPENDINGEXP_TABLE_NAME, where, 0);
    75227522    psFree(where);
    75237523    if (count < 0) {
    7524         psError(PS_ERR_UNKNOWN, true, "failed to delete row from p3PendingExp");
     7524        psError(PS_ERR_UNKNOWN, true, "failed to delete row from camPendingExp");
    75257525        return false;
    75267526    }
     
    75287528        // XXX should this be a psAbort() instead?  It is possible that
    75297529        // having an object match multiple rows was by design.
    7530         psError(PS_ERR_UNKNOWN, true, "p3PendingExpRow object matched more then one row.  Check your database schema");
    7531         return false;
    7532     }
    7533 
    7534     return true;
    7535 }
    7536 long long p3PendingExpDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
     7530        psError(PS_ERR_UNKNOWN, true, "camPendingExpRow object matched more then one row.  Check your database schema");
     7531        return false;
     7532    }
     7533
     7534    return true;
     7535}
     7536long long camPendingExpDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
    75377537{
    75387538    long long       deleted = 0;
    75397539
    75407540    for (long long i = 0; i < objects->n; i++) {
    7541         p3PendingExpRow *object = objects->data[i];
    7542         psMetadata *where = p3PendingExpMetadataFromObject(object);
    7543         long long count = psDBDeleteRows(dbh, P3PENDINGEXP_TABLE_NAME, where, limit);
     7541        camPendingExpRow *object = objects->data[i];
     7542        psMetadata *where = camPendingExpMetadataFromObject(object);
     7543        long long count = psDBDeleteRows(dbh, CAMPENDINGEXP_TABLE_NAME, where, limit);
    75447544        psFree(where);
    75457545        if (count < 0) {
    7546             psError(PS_ERR_UNKNOWN, true, "failed to delete row from p3PendingExp");
     7546            psError(PS_ERR_UNKNOWN, true, "failed to delete row from camPendingExp");
    75477547            return count;
    75487548        }
     
    75537553    return deleted;
    75547554}
    7555 bool p3PendingExpPrintObjects(FILE *stream, psArray *objects, bool mdcf)
     7555bool camPendingExpPrintObjects(FILE *stream, psArray *objects, bool mdcf)
    75567556{
    75577557    PS_ASSERT_PTR_NON_NULL(objects, false);
     
    75597559    psMetadata *output = psMetadataAlloc();
    75607560    for (long i = 0; i < psArrayLength(objects); i++) {
    7561         psMetadata *md = p3PendingExpMetadataFromObject(objects->data[i]);
     7561        psMetadata *md = camPendingExpMetadataFromObject(objects->data[i]);
    75627562        if (!psMetadataAddMetadata(
    75637563            output,
    75647564            PS_LIST_TAIL,
    7565             P3PENDINGEXP_TABLE_NAME,
     7565            CAMPENDINGEXP_TABLE_NAME,
    75667566            PS_META_DUPLICATE_OK,
    75677567            NULL,
     
    75847584    return true;
    75857585}
    7586 bool p3PendingExpPrintObject(FILE *stream, p3PendingExpRow *object, bool mdcf)
     7586bool camPendingExpPrintObject(FILE *stream, camPendingExpRow *object, bool mdcf)
    75877587{
    75887588    PS_ASSERT_PTR_NON_NULL(object, false);
    75897589
    7590     psMetadata *md = p3PendingExpMetadataFromObject(object);
     7590    psMetadata *md = camPendingExpMetadataFromObject(object);
    75917591
    75927592    if (!ippdbPrintMetadataRaw(stream, md, mdcf)) {
     
    75997599    return true;
    76007600}
    7601 static void p3ProcessedExpRowFree(p3ProcessedExpRow *object);
    7602 
    7603 p3ProcessedExpRow *p3ProcessedExpRowAlloc(const char *exp_tag, psS32 p3_version, psS32 p2_version, const char *label, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF32 sigma_ra, psF32 sigma_dec, psS32 nastro, const char *b1_uri, const char *b2_uri, psF32 zp_mean, psF32 zp_stdev, psS16 fault, const char *expgroup, const char *dvodb)
    7604 {
    7605     p3ProcessedExpRow *_object;
    7606 
    7607     _object = psAlloc(sizeof(p3ProcessedExpRow));
    7608     psMemSetDeallocator(_object, (psFreeFunc)p3ProcessedExpRowFree);
     7601static void camProcessedExpRowFree(camProcessedExpRow *object);
     7602
     7603camProcessedExpRow *camProcessedExpRowAlloc(const char *exp_tag, psS32 cam_version, psS32 chip_version, const char *label, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF32 sigma_ra, psF32 sigma_dec, psS32 nastro, const char *b1_uri, const char *b2_uri, psF32 zp_mean, psF32 zp_stdev, psS16 fault, const char *expgroup, const char *dvodb)
     7604{
     7605    camProcessedExpRow *_object;
     7606
     7607    _object = psAlloc(sizeof(camProcessedExpRow));
     7608    psMemSetDeallocator(_object, (psFreeFunc)camProcessedExpRowFree);
    76097609
    76107610    _object->exp_tag = psStringCopy(exp_tag);
    7611     _object->p3_version = p3_version;
    7612     _object->p2_version = p2_version;
     7611    _object->cam_version = cam_version;
     7612    _object->chip_version = chip_version;
    76137613    _object->label = psStringCopy(label);
    76147614    _object->uri = psStringCopy(uri);
     
    76317631}
    76327632
    7633 static void p3ProcessedExpRowFree(p3ProcessedExpRow *object)
     7633static void camProcessedExpRowFree(camProcessedExpRow *object)
    76347634{
    76357635    psFree(object->exp_tag);
     
    76437643}
    76447644
    7645 bool p3ProcessedExpCreateTable(psDB *dbh)
     7645bool camProcessedExpCreateTable(psDB *dbh)
    76467646{
    76477647    psMetadata *md = psMetadataAlloc();
     
    76517651        return false;
    76527652    }
    7653     if (!psMetadataAdd(md, PS_LIST_TAIL, "p3_version", PS_DATA_S32, "Primary Key", 0)) {
    7654         psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version");
    7655         psFree(md);
    7656         return false;
    7657     }
    7658     if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, 0)) {
    7659         psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
     7653    if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_version", PS_DATA_S32, "Primary Key", 0)) {
     7654        psError(PS_ERR_UNKNOWN, false, "failed to add item cam_version");
     7655        psFree(md);
     7656        return false;
     7657    }
     7658    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, 0)) {
     7659        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
    76607660        psFree(md);
    76617661        return false;
     
    77427742    }
    77437743
    7744     bool status = psDBCreateTable(dbh, P3PROCESSEDEXP_TABLE_NAME, md);
     7744    bool status = psDBCreateTable(dbh, CAMPROCESSEDEXP_TABLE_NAME, md);
    77457745
    77467746    psFree(md);
     
    77497749}
    77507750
    7751 bool p3ProcessedExpDropTable(psDB *dbh)
    7752 {
    7753     return psDBDropTable(dbh, P3PROCESSEDEXP_TABLE_NAME);
    7754 }
    7755 
    7756 bool p3ProcessedExpInsert(psDB * dbh, const char *exp_tag, psS32 p3_version, psS32 p2_version, const char *label, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF32 sigma_ra, psF32 sigma_dec, psS32 nastro, const char *b1_uri, const char *b2_uri, psF32 zp_mean, psF32 zp_stdev, psS16 fault, const char *expgroup, const char *dvodb)
     7751bool camProcessedExpDropTable(psDB *dbh)
     7752{
     7753    return psDBDropTable(dbh, CAMPROCESSEDEXP_TABLE_NAME);
     7754}
     7755
     7756bool camProcessedExpInsert(psDB * dbh, const char *exp_tag, psS32 cam_version, psS32 chip_version, const char *label, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF32 sigma_ra, psF32 sigma_dec, psS32 nastro, const char *b1_uri, const char *b2_uri, psF32 zp_mean, psF32 zp_stdev, psS16 fault, const char *expgroup, const char *dvodb)
    77577757{
    77587758    psMetadata *md = psMetadataAlloc();
     
    77627762        return false;
    77637763    }
    7764     if (!psMetadataAdd(md, PS_LIST_TAIL, "p3_version", PS_DATA_S32, NULL, p3_version)) {
    7765         psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version");
    7766         psFree(md);
    7767         return false;
    7768     }
    7769     if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, p2_version)) {
    7770         psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
     7764    if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_version", PS_DATA_S32, NULL, cam_version)) {
     7765        psError(PS_ERR_UNKNOWN, false, "failed to add item cam_version");
     7766        psFree(md);
     7767        return false;
     7768    }
     7769    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, chip_version)) {
     7770        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
    77717771        psFree(md);
    77727772        return false;
     
    78537853    }
    78547854
    7855     bool status = psDBInsertOneRow(dbh, P3PROCESSEDEXP_TABLE_NAME, md);
     7855    bool status = psDBInsertOneRow(dbh, CAMPROCESSEDEXP_TABLE_NAME, md);
    78567856    psFree(md);
    78577857
     
    78597859}
    78607860
    7861 long long p3ProcessedExpDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
     7861long long camProcessedExpDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
    78627862{
    78637863    long long       deleted = 0;
    78647864
    7865     long long count = psDBDeleteRows(dbh, P3PROCESSEDEXP_TABLE_NAME, where, limit);
     7865    long long count = psDBDeleteRows(dbh, CAMPROCESSEDEXP_TABLE_NAME, where, limit);
    78667866    if (count < 0) {
    7867         psError(PS_ERR_UNKNOWN, true, "failed to delete row from p3ProcessedExp");
     7867        psError(PS_ERR_UNKNOWN, true, "failed to delete row from camProcessedExp");
    78687868        return count;
    78697869
     
    78737873    return deleted;
    78747874}
    7875 bool p3ProcessedExpInsertObject(psDB *dbh, p3ProcessedExpRow *object)
    7876 {
    7877     return p3ProcessedExpInsert(dbh, object->exp_tag, object->p3_version, object->p2_version, object->label, object->uri, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev, object->sigma_ra, object->sigma_dec, object->nastro, object->b1_uri, object->b2_uri, object->zp_mean, object->zp_stdev, object->fault, object->expgroup, object->dvodb);
    7878 }
    7879 
    7880 bool p3ProcessedExpInsertObjects(psDB *dbh, psArray *objects)
     7875bool camProcessedExpInsertObject(psDB *dbh, camProcessedExpRow *object)
     7876{
     7877    return camProcessedExpInsert(dbh, object->exp_tag, object->cam_version, object->chip_version, object->label, object->uri, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev, object->sigma_ra, object->sigma_dec, object->nastro, object->b1_uri, object->b2_uri, object->zp_mean, object->zp_stdev, object->fault, object->expgroup, object->dvodb);
     7878}
     7879
     7880bool camProcessedExpInsertObjects(psDB *dbh, psArray *objects)
    78817881{
    78827882    for (long i = 0; i < psArrayLength(objects); i++) {
    7883         if (!p3ProcessedExpInsertObject(dbh, objects->data[i])) {
     7883        if (!camProcessedExpInsertObject(dbh, objects->data[i])) {
    78847884            return false;
    78857885        }
     
    78897889}
    78907890
    7891 bool p3ProcessedExpInsertFits(psDB *dbh, const psFits *fits)
     7891bool camProcessedExpInsertFits(psDB *dbh, const psFits *fits)
    78927892{
    78937893    psArray         *rowSet;
    78947894
    7895     // move to (the first?) extension named  P3PROCESSEDEXP_TABLE_NAME
    7896     if (!psFitsMoveExtName(fits, P3PROCESSEDEXP_TABLE_NAME)) {
    7897         psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P3PROCESSEDEXP_TABLE_NAME);
     7895    // move to (the first?) extension named  CAMPROCESSEDEXP_TABLE_NAME
     7896    if (!psFitsMoveExtName(fits, CAMPROCESSEDEXP_TABLE_NAME)) {
     7897        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", CAMPROCESSEDEXP_TABLE_NAME);
    78987898        return false;
    78997899    }
     
    79137913    }
    79147914
    7915     if (!psDBInsertRows(dbh, P3PROCESSEDEXP_TABLE_NAME, rowSet)) {
     7915    if (!psDBInsertRows(dbh, CAMPROCESSEDEXP_TABLE_NAME, rowSet)) {
    79167916        psError(PS_ERR_UNKNOWN, false, "databse insert failed");
    79177917        psFree(rowSet);
     
    79247924}
    79257925
    7926 bool p3ProcessedExpSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
     7926bool camProcessedExpSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
    79277927{
    79287928    psArray         *rowSet;
    79297929
    7930     rowSet = psDBSelectRows(dbh, P3PROCESSEDEXP_TABLE_NAME, where, limit);
     7930    rowSet = psDBSelectRows(dbh, CAMPROCESSEDEXP_TABLE_NAME, where, limit);
    79317931    if (!rowSet) {
    79327932        return false;
     
    79347934
    79357935    // output to fits
    7936     if (!psFitsWriteTable(fits, NULL, rowSet, P3PROCESSEDEXP_TABLE_NAME)) {
     7936    if (!psFitsWriteTable(fits, NULL, rowSet, CAMPROCESSEDEXP_TABLE_NAME)) {
    79377937        psError(PS_ERR_UNKNOWN, false, "FITS table write failed");
    79387938        psFree(rowSet);
     
    79457945}
    79467946
    7947 psMetadata *p3ProcessedExpMetadataFromObject(const p3ProcessedExpRow *object)
     7947psMetadata *camProcessedExpMetadataFromObject(const camProcessedExpRow *object)
    79487948{
    79497949    psMetadata *md = psMetadataAlloc();
     
    79537953        return false;
    79547954    }
    7955     if (!psMetadataAdd(md, PS_LIST_TAIL, "p3_version", PS_DATA_S32, NULL, object->p3_version)) {
    7956         psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version");
    7957         psFree(md);
    7958         return false;
    7959     }
    7960     if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, object->p2_version)) {
    7961         psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
     7955    if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_version", PS_DATA_S32, NULL, object->cam_version)) {
     7956        psError(PS_ERR_UNKNOWN, false, "failed to add item cam_version");
     7957        psFree(md);
     7958        return false;
     7959    }
     7960    if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, object->chip_version)) {
     7961        psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version");
    79627962        psFree(md);
    79637963        return false;
     
    80488048}
    80498049
    8050 p3ProcessedExpRow *p3ProcessedExpObjectFromMetadata(psMetadata *md)
     8050camProcessedExpRow *camProcessedExpObjectFromMetadata(psMetadata *md)
    80518051{
    80528052
     
    80578057        return false;
    80588058    }
    8059     psS32 p3_version = psMetadataLookupS32(&status, md, "p3_version");
    8060     if (!status) {
    8061         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p3_version");
    8062         return false;
    8063     }
    8064     psS32 p2_version = psMetadataLookupS32(&status, md, "p2_version");
    8065     if (!status) {
    8066         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p2_version");
     8059    psS32 cam_version = psMetadataLookupS32(&status, md, "cam_version");
     8060    if (!status) {
     8061        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item cam_version");
     8062        return false;
     8063    }
     8064    psS32 chip_version = psMetadataLookupS32(&status, md, "chip_version");
     8065    if (!status) {
     8066        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item chip_version");
    80678067        return false;
    80688068    }
     
    81488148    }
    81498149
    8150     return p3ProcessedExpRowAlloc(exp_tag, p3_version, p2_version, label, uri, recipe, bg, bg_stdev, bg_mean_stdev, sigma_ra, sigma_dec, nastro, b1_uri, b2_uri, zp_mean, zp_stdev, fault, expgroup, dvodb);
    8151 }
    8152 psArray *p3ProcessedExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     8150    return camProcessedExpRowAlloc(exp_tag, cam_version, chip_version, label, uri, recipe, bg, bg_stdev, bg_mean_stdev, sigma_ra, sigma_dec, nastro, b1_uri, b2_uri, zp_mean, zp_stdev, fault, expgroup, dvodb);
     8151}
     8152psArray *camProcessedExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
    81538153{
    81548154    psArray         *rowSet;
     
    81568156    psU64           i;
    81578157
    8158     rowSet = psDBSelectRows(dbh, P3PROCESSEDEXP_TABLE_NAME, where, limit);
     8158    rowSet = psDBSelectRows(dbh, CAMPROCESSEDEXP_TABLE_NAME, where, limit);
    81598159    if (!rowSet) {
    81608160        return NULL;
     
    81668166
    81678167    for (i = 0; i < rowSet->n; i++) {
    8168         p3ProcessedExpRow *object = p3ProcessedExpObjectFromMetadata(rowSet->data[i]);
     8168        camProcessedExpRow *object = camProcessedExpObjectFromMetadata(rowSet->data[i]);
    81698169        psArrayAdd(returnSet, 0, object);
    81708170        psFree(object);
     
    81758175    return returnSet;
    81768176}
    8177 bool p3ProcessedExpDeleteObject(psDB *dbh, const p3ProcessedExpRow *object)
    8178 {
    8179     psMetadata *where = p3ProcessedExpMetadataFromObject(object);
    8180     long long count = psDBDeleteRows(dbh, P3PROCESSEDEXP_TABLE_NAME, where, 0);
     8177bool camProcessedExpDeleteObject(psDB *dbh, const camProcessedExpRow *object)
     8178{
     8179    psMetadata *where = camProcessedExpMetadataFromObject(object);
     8180    long long count = psDBDeleteRows(dbh, CAMPROCESSEDEXP_TABLE_NAME, where, 0);
    81818181    psFree(where);
    81828182    if (count < 0) {
    8183         psError(PS_ERR_UNKNOWN, true, "failed to delete row from p3ProcessedExp");
     8183        psError(PS_ERR_UNKNOWN, true, "failed to delete row from camProcessedExp");
    81848184        return false;
    81858185    }
     
    81878187        // XXX should this be a psAbort() instead?  It is possible that
    81888188        // having an object match multiple rows was by design.
    8189         psError(PS_ERR_UNKNOWN, true, "p3ProcessedExpRow object matched more then one row.  Check your database schema");
    8190         return false;
    8191     }
    8192 
    8193     return true;
    8194 }
    8195 long long p3ProcessedExpDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
     8189        psError(PS_ERR_UNKNOWN, true, "camProcessedExpRow object matched more then one row.  Check your database schema");
     8190        return false;
     8191    }
     8192
     8193    return true;
     8194}
     8195long long camProcessedExpDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
    81968196{
    81978197    long long       deleted = 0;
    81988198
    81998199    for (long long i = 0; i < objects->n; i++) {
    8200         p3ProcessedExpRow *object = objects->data[i];
    8201         psMetadata *where = p3ProcessedExpMetadataFromObject(object);
    8202         long long count = psDBDeleteRows(dbh, P3PROCESSEDEXP_TABLE_NAME, where, limit);
     8200        camProcessedExpRow *object = objects->data[i];
     8201        psMetadata *where = camProcessedExpMetadataFromObject(object);
     8202        long long count = psDBDeleteRows(dbh, CAMPROCESSEDEXP_TABLE_NAME, where, limit);
    82038203        psFree(where);
    82048204        if (count < 0) {
    8205             psError(PS_ERR_UNKNOWN, true, "failed to delete row from p3ProcessedExp");
     8205            psError(PS_ERR_UNKNOWN, true, "failed to delete row from camProcessedExp");
    82068206            return count;
    82078207        }
     
    82128212    return deleted;
    82138213}
    8214 bool p3ProcessedExpPrintObjects(FILE *stream, psArray *objects, bool mdcf)
     8214bool camProcessedExpPrintObjects(FILE *stream, psArray *objects, bool mdcf)
    82158215{
    82168216    PS_ASSERT_PTR_NON_NULL(objects, false);
     
    82188218    psMetadata *output = psMetadataAlloc();
    82198219    for (long i = 0; i < psArrayLength(objects); i++) {
    8220         psMetadata *md = p3ProcessedExpMetadataFromObject(objects->data[i]);
     8220        psMetadata *md = camProcessedExpMetadataFromObject(objects->data[i]);
    82218221        if (!psMetadataAddMetadata(
    82228222            output,
    82238223            PS_LIST_TAIL,
    8224             P3PROCESSEDEXP_TABLE_NAME,
     8224            CAMPROCESSEDEXP_TABLE_NAME,
    82258225            PS_META_DUPLICATE_OK,
    82268226            NULL,
     
    82438243    return true;
    82448244}
    8245 bool p3ProcessedExpPrintObject(FILE *stream, p3ProcessedExpRow *object, bool mdcf)
     8245bool camProcessedExpPrintObject(FILE *stream, camProcessedExpRow *object, bool mdcf)
    82468246{
    82478247    PS_ASSERT_PTR_NON_NULL(object, false);
    82488248
    8249     psMetadata *md = p3ProcessedExpMetadataFromObject(object);
     8249    psMetadata *md = camProcessedExpMetadataFromObject(object);
    82508250
    82518251    if (!ippdbPrintMetadataRaw(stream, md, mdcf)) {
     
    82588258    return true;
    82598259}
    8260 static void p3MaskRowFree(p3MaskRow *object);
    8261 
    8262 p3MaskRow *p3MaskRowAlloc(const char *label)
    8263 {
    8264     p3MaskRow       *_object;
    8265 
    8266     _object = psAlloc(sizeof(p3MaskRow));
    8267     psMemSetDeallocator(_object, (psFreeFunc)p3MaskRowFree);
     8260static void camMaskRowFree(camMaskRow *object);
     8261
     8262camMaskRow *camMaskRowAlloc(const char *label)
     8263{
     8264    camMaskRow      *_object;
     8265
     8266    _object = psAlloc(sizeof(camMaskRow));
     8267    psMemSetDeallocator(_object, (psFreeFunc)camMaskRowFree);
    82688268
    82698269    _object->label = psStringCopy(label);
     
    82728272}
    82738273
    8274 static void p3MaskRowFree(p3MaskRow *object)
     8274static void camMaskRowFree(camMaskRow *object)
    82758275{
    82768276    psFree(object->label);
    82778277}
    82788278
    8279 bool p3MaskCreateTable(psDB *dbh)
     8279bool camMaskCreateTable(psDB *dbh)
    82808280{
    82818281    psMetadata *md = psMetadataAlloc();
     
    82868286    }
    82878287
    8288     bool status = psDBCreateTable(dbh, P3MASK_TABLE_NAME, md);
     8288    bool status = psDBCreateTable(dbh, CAMMASK_TABLE_NAME, md);
    82898289
    82908290    psFree(md);
     
    82938293}
    82948294
    8295 bool p3MaskDropTable(psDB *dbh)
    8296 {
    8297     return psDBDropTable(dbh, P3MASK_TABLE_NAME);
    8298 }
    8299 
    8300 bool p3MaskInsert(psDB * dbh, const char *label)
     8295bool camMaskDropTable(psDB *dbh)
     8296{
     8297    return psDBDropTable(dbh, CAMMASK_TABLE_NAME);
     8298}
     8299
     8300bool camMaskInsert(psDB * dbh, const char *label)
    83018301{
    83028302    psMetadata *md = psMetadataAlloc();
     
    83078307    }
    83088308
    8309     bool status = psDBInsertOneRow(dbh, P3MASK_TABLE_NAME, md);
     8309    bool status = psDBInsertOneRow(dbh, CAMMASK_TABLE_NAME, md);
    83108310    psFree(md);
    83118311
     
    83138313}
    83148314
    8315 long long p3MaskDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
     8315long long camMaskDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
    83168316{
    83178317    long long       deleted = 0;
    83188318
    8319     long long count = psDBDeleteRows(dbh, P3MASK_TABLE_NAME, where, limit);
     8319    long long count = psDBDeleteRows(dbh, CAMMASK_TABLE_NAME, where, limit);
    83208320    if (count < 0) {
    8321         psError(PS_ERR_UNKNOWN, true, "failed to delete row from p3Mask");
     8321        psError(PS_ERR_UNKNOWN, true, "failed to delete row from camMask");
    83228322        return count;
    83238323
     
    83278327    return deleted;
    83288328}
    8329 bool p3MaskInsertObject(psDB *dbh, p3MaskRow *object)
    8330 {
    8331     return p3MaskInsert(dbh, object->label);
    8332 }
    8333 
    8334 bool p3MaskInsertObjects(psDB *dbh, psArray *objects)
     8329bool camMaskInsertObject(psDB *dbh, camMaskRow *object)
     8330{
     8331    return camMaskInsert(dbh, object->label);
     8332}
     8333
     8334bool camMaskInsertObjects(psDB *dbh, psArray *objects)
    83358335{
    83368336    for (long i = 0; i < psArrayLength(objects); i++) {
    8337         if (!p3MaskInsertObject(dbh, objects->data[i])) {
     8337        if (!camMaskInsertObject(dbh, objects->data[i])) {
    83388338            return false;
    83398339        }
     
    83438343}
    83448344
    8345 bool p3MaskInsertFits(psDB *dbh, const psFits *fits)
     8345bool camMaskInsertFits(psDB *dbh, const psFits *fits)
    83468346{
    83478347    psArray         *rowSet;
    83488348
    8349     // move to (the first?) extension named  P3MASK_TABLE_NAME
    8350     if (!psFitsMoveExtName(fits, P3MASK_TABLE_NAME)) {
    8351         psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P3MASK_TABLE_NAME);
     8349    // move to (the first?) extension named  CAMMASK_TABLE_NAME
     8350    if (!psFitsMoveExtName(fits, CAMMASK_TABLE_NAME)) {
     8351        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", CAMMASK_TABLE_NAME);
    83528352        return false;
    83538353    }
     
    83678367    }
    83688368
    8369     if (!psDBInsertRows(dbh, P3MASK_TABLE_NAME, rowSet)) {
     8369    if (!psDBInsertRows(dbh, CAMMASK_TABLE_NAME, rowSet)) {
    83708370        psError(PS_ERR_UNKNOWN, false, "databse insert failed");
    83718371        psFree(rowSet);
     
    83788378}
    83798379
    8380 bool p3MaskSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
     8380bool camMaskSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
    83818381{
    83828382    psArray         *rowSet;
    83838383
    8384     rowSet = psDBSelectRows(dbh, P3MASK_TABLE_NAME, where, limit);
     8384    rowSet = psDBSelectRows(dbh, CAMMASK_TABLE_NAME, where, limit);
    83858385    if (!rowSet) {
    83868386        return false;
     
    83888388
    83898389    // output to fits
    8390     if (!psFitsWriteTable(fits, NULL, rowSet, P3MASK_TABLE_NAME)) {
     8390    if (!psFitsWriteTable(fits, NULL, rowSet, CAMMASK_TABLE_NAME)) {
    83918391        psError(PS_ERR_UNKNOWN, false, "FITS table write failed");
    83928392        psFree(rowSet);
     
    83998399}
    84008400
    8401 psMetadata *p3MaskMetadataFromObject(const p3MaskRow *object)
     8401psMetadata *camMaskMetadataFromObject(const camMaskRow *object)
    84028402{
    84038403    psMetadata *md = psMetadataAlloc();
     
    84128412}
    84138413
    8414 p3MaskRow *p3MaskObjectFromMetadata(psMetadata *md)
     8414camMaskRow *camMaskObjectFromMetadata(psMetadata *md)
    84158415{
    84168416
     
    84228422    }
    84238423
    8424     return p3MaskRowAlloc(label);
    8425 }
    8426 psArray *p3MaskSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     8424    return camMaskRowAlloc(label);
     8425}
     8426psArray *camMaskSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
    84278427{
    84288428    psArray         *rowSet;
     
    84308430    psU64           i;
    84318431
    8432     rowSet = psDBSelectRows(dbh, P3MASK_TABLE_NAME, where, limit);
     8432    rowSet = psDBSelectRows(dbh, CAMMASK_TABLE_NAME, where, limit);
    84338433    if (!rowSet) {
    84348434        return NULL;
     
    84408440
    84418441    for (i = 0; i < rowSet->n; i++) {
    8442         p3MaskRow *object = p3MaskObjectFromMetadata(rowSet->data[i]);
     8442        camMaskRow *object = camMaskObjectFromMetadata(rowSet->data[i]);
    84438443        psArrayAdd(returnSet, 0, object);
    84448444        psFree(object);
     
    84498449    return returnSet;
    84508450}
    8451 bool p3MaskDeleteObject(psDB *dbh, const p3MaskRow *object)
    8452 {
    8453     psMetadata *where = p3MaskMetadataFromObject(object);
    8454     long long count = psDBDeleteRows(dbh, P3MASK_TABLE_NAME, where, 0);
     8451bool camMaskDeleteObject(psDB *dbh, const camMaskRow *object)
     8452{
     8453    psMetadata *where = camMaskMetadataFromObject(object);
     8454    long long count = psDBDeleteRows(dbh, CAMMASK_TABLE_NAME, where, 0);
    84558455    psFree(where);
    84568456    if (count < 0) {
    8457         psError(PS_ERR_UNKNOWN, true, "failed to delete row from p3Mask");
     8457        psError(PS_ERR_UNKNOWN, true, "failed to delete row from camMask");
    84588458        return false;
    84598459    }
     
    84618461        // XXX should this be a psAbort() instead?  It is possible that
    84628462        // having an object match multiple rows was by design.
    8463         psError(PS_ERR_UNKNOWN, true, "p3MaskRow object matched more then one row.  Check your database schema");
    8464         return false;
    8465     }
    8466 
    8467     return true;
    8468 }
    8469 long long p3MaskDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
     8463        psError(PS_ERR_UNKNOWN, true, "camMaskRow object matched more then one row.  Check your database schema");
     8464        return false;
     8465    }
     8466
     8467    return true;
     8468}
     8469long long camMaskDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
    84708470{
    84718471    long long       deleted = 0;
    84728472
    84738473    for (long long i = 0; i < objects->n; i++) {
    8474         p3MaskRow *object = objects->data[i];
    8475         psMetadata *where = p3MaskMetadataFromObject(object);
    8476         long long count = psDBDeleteRows(dbh, P3MASK_TABLE_NAME, where, limit);
     8474        camMaskRow *object = objects->data[i];
     8475        psMetadata *where = camMaskMetadataFromObject(object);
     8476        long long count = psDBDeleteRows(dbh, CAMMASK_TABLE_NAME, where, limit);
    84778477        psFree(where);
    84788478        if (count < 0) {
    8479             psError(PS_ERR_UNKNOWN, true, "failed to delete row from p3Mask");
     8479            psError(PS_ERR_UNKNOWN, true, "failed to delete row from camMask");
    84808480            return count;
    84818481        }
     
    84868486    return deleted;
    84878487}
    8488 bool p3MaskPrintObjects(FILE *stream, psArray *objects, bool mdcf)
     8488bool camMaskPrintObjects(FILE *stream, psArray *objects, bool mdcf)
    84898489{
    84908490    PS_ASSERT_PTR_NON_NULL(objects, false);
     
    84928492    psMetadata *output = psMetadataAlloc();
    84938493    for (long i = 0; i < psArrayLength(objects); i++) {
    8494         psMetadata *md = p3MaskMetadataFromObject(objects->data[i]);
     8494        psMetadata *md = camMaskMetadataFromObject(objects->data[i]);
    84958495        if (!psMetadataAddMetadata(
    84968496            output,
    84978497            PS_LIST_TAIL,
    8498             P3MASK_TABLE_NAME,
     8498            CAMMASK_TABLE_NAME,
    84998499            PS_META_DUPLICATE_OK,
    85008500            NULL,
     
    85178517    return true;
    85188518}
    8519 bool p3MaskPrintObject(FILE *stream, p3MaskRow *object, bool mdcf)
     8519bool camMaskPrintObject(FILE *stream, camMaskRow *object, bool mdcf)
    85208520{
    85218521    PS_ASSERT_PTR_NON_NULL(object, false);
    85228522
    8523     psMetadata *md = p3MaskMetadataFromObject(object);
     8523    psMetadata *md = camMaskMetadataFromObject(object);
    85248524
    85258525    if (!ippdbPrintMetadataRaw(stream, md, mdcf)) {
     
    1374413744    return true;
    1374513745}
    13746 static void p4RunRowFree(p4RunRow *object);
    13747 
    13748 p4RunRow *p4RunRowAlloc(psS32 p4_id, const char *mode, const char *state, const char *workdir, const char *dvodb, psTime* registered)
    13749 {
    13750     p4RunRow        *_object;
    13751 
    13752     _object = psAlloc(sizeof(p4RunRow));
    13753     psMemSetDeallocator(_object, (psFreeFunc)p4RunRowFree);
    13754 
    13755     _object->p4_id = p4_id;
     13746static void warpRunRowFree(warpRunRow *object);
     13747
     13748warpRunRow *warpRunRowAlloc(psS32 warp_id, const char *mode, const char *state, const char *workdir, const char *dvodb, psTime* registered)
     13749{
     13750    warpRunRow      *_object;
     13751
     13752    _object = psAlloc(sizeof(warpRunRow));
     13753    psMemSetDeallocator(_object, (psFreeFunc)warpRunRowFree);
     13754
     13755    _object->warp_id = warp_id;
    1375613756    _object->mode = psStringCopy(mode);
    1375713757    _object->state = psStringCopy(state);
     
    1376313763}
    1376413764
    13765 static void p4RunRowFree(p4RunRow *object)
     13765static void warpRunRowFree(warpRunRow *object)
    1376613766{
    1376713767    psFree(object->mode);
     
    1377213772}
    1377313773
    13774 bool p4RunCreateTable(psDB *dbh)
     13774bool warpRunCreateTable(psDB *dbh)
    1377513775{
    1377613776    psMetadata *md = psMetadataAlloc();
    13777     if (!psMetadataAdd(md, PS_LIST_TAIL, "p4_id", PS_DATA_S32, "Primary Key AUTO_INCREMENT", 0)) {
    13778         psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");
     13777    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, "Primary Key AUTO_INCREMENT", 0)) {
     13778        psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
    1377913779        psFree(md);
    1378013780        return false;
     
    1380613806    }
    1380713807
    13808     bool status = psDBCreateTable(dbh, P4RUN_TABLE_NAME, md);
     13808    bool status = psDBCreateTable(dbh, WARPRUN_TABLE_NAME, md);
    1380913809
    1381013810    psFree(md);
     
    1381313813}
    1381413814
    13815 bool p4RunDropTable(psDB *dbh)
    13816 {
    13817     return psDBDropTable(dbh, P4RUN_TABLE_NAME);
    13818 }
    13819 
    13820 bool p4RunInsert(psDB * dbh, psS32 p4_id, const char *mode, const char *state, const char *workdir, const char *dvodb, psTime* registered)
     13815bool warpRunDropTable(psDB *dbh)
     13816{
     13817    return psDBDropTable(dbh, WARPRUN_TABLE_NAME);
     13818}
     13819
     13820bool warpRunInsert(psDB * dbh, psS32 warp_id, const char *mode, const char *state, const char *workdir, const char *dvodb, psTime* registered)
    1382113821{
    1382213822    psMetadata *md = psMetadataAlloc();
    13823     if (!psMetadataAdd(md, PS_LIST_TAIL, "p4_id", PS_DATA_S32, NULL, p4_id)) {
    13824         psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");
     13823    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, NULL, warp_id)) {
     13824        psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
    1382513825        psFree(md);
    1382613826        return false;
     
    1385213852    }
    1385313853
    13854     bool status = psDBInsertOneRow(dbh, P4RUN_TABLE_NAME, md);
     13854    bool status = psDBInsertOneRow(dbh, WARPRUN_TABLE_NAME, md);
    1385513855    psFree(md);
    1385613856
     
    1385813858}
    1385913859
    13860 long long p4RunDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
     13860long long warpRunDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
    1386113861{
    1386213862    long long       deleted = 0;
    1386313863
    13864     long long count = psDBDeleteRows(dbh, P4RUN_TABLE_NAME, where, limit);
     13864    long long count = psDBDeleteRows(dbh, WARPRUN_TABLE_NAME, where, limit);
    1386513865    if (count < 0) {
    13866         psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4Run");
     13866        psError(PS_ERR_UNKNOWN, true, "failed to delete row from warpRun");
    1386713867        return count;
    1386813868
     
    1387213872    return deleted;
    1387313873}
    13874 bool p4RunInsertObject(psDB *dbh, p4RunRow *object)
    13875 {
    13876     return p4RunInsert(dbh, object->p4_id, object->mode, object->state, object->workdir, object->dvodb, object->registered);
    13877 }
    13878 
    13879 bool p4RunInsertObjects(psDB *dbh, psArray *objects)
     13874bool warpRunInsertObject(psDB *dbh, warpRunRow *object)
     13875{
     13876    return warpRunInsert(dbh, object->warp_id, object->mode, object->state, object->workdir, object->dvodb, object->registered);
     13877}
     13878
     13879bool warpRunInsertObjects(psDB *dbh, psArray *objects)
    1388013880{
    1388113881    for (long i = 0; i < psArrayLength(objects); i++) {
    13882         if (!p4RunInsertObject(dbh, objects->data[i])) {
     13882        if (!warpRunInsertObject(dbh, objects->data[i])) {
    1388313883            return false;
    1388413884        }
     
    1388813888}
    1388913889
    13890 bool p4RunInsertFits(psDB *dbh, const psFits *fits)
     13890bool warpRunInsertFits(psDB *dbh, const psFits *fits)
    1389113891{
    1389213892    psArray         *rowSet;
    1389313893
    13894     // move to (the first?) extension named  P4RUN_TABLE_NAME
    13895     if (!psFitsMoveExtName(fits, P4RUN_TABLE_NAME)) {
    13896         psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P4RUN_TABLE_NAME);
     13894    // move to (the first?) extension named  WARPRUN_TABLE_NAME
     13895    if (!psFitsMoveExtName(fits, WARPRUN_TABLE_NAME)) {
     13896        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", WARPRUN_TABLE_NAME);
    1389713897        return false;
    1389813898    }
     
    1391213912    }
    1391313913
    13914     if (!psDBInsertRows(dbh, P4RUN_TABLE_NAME, rowSet)) {
     13914    if (!psDBInsertRows(dbh, WARPRUN_TABLE_NAME, rowSet)) {
    1391513915        psError(PS_ERR_UNKNOWN, false, "databse insert failed");
    1391613916        psFree(rowSet);
     
    1392313923}
    1392413924
    13925 bool p4RunSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
     13925bool warpRunSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
    1392613926{
    1392713927    psArray         *rowSet;
    1392813928
    13929     rowSet = psDBSelectRows(dbh, P4RUN_TABLE_NAME, where, limit);
     13929    rowSet = psDBSelectRows(dbh, WARPRUN_TABLE_NAME, where, limit);
    1393013930    if (!rowSet) {
    1393113931        return false;
     
    1393313933
    1393413934    // output to fits
    13935     if (!psFitsWriteTable(fits, NULL, rowSet, P4RUN_TABLE_NAME)) {
     13935    if (!psFitsWriteTable(fits, NULL, rowSet, WARPRUN_TABLE_NAME)) {
    1393613936        psError(PS_ERR_UNKNOWN, false, "FITS table write failed");
    1393713937        psFree(rowSet);
     
    1394413944}
    1394513945
    13946 psMetadata *p4RunMetadataFromObject(const p4RunRow *object)
     13946psMetadata *warpRunMetadataFromObject(const warpRunRow *object)
    1394713947{
    1394813948    psMetadata *md = psMetadataAlloc();
    13949     if (!psMetadataAdd(md, PS_LIST_TAIL, "p4_id", PS_DATA_S32, NULL, object->p4_id)) {
    13950         psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");
     13949    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, NULL, object->warp_id)) {
     13950        psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
    1395113951        psFree(md);
    1395213952        return false;
     
    1398213982}
    1398313983
    13984 p4RunRow *p4RunObjectFromMetadata(psMetadata *md)
     13984warpRunRow *warpRunObjectFromMetadata(psMetadata *md)
    1398513985{
    1398613986
    1398713987bool status = false;
    13988     psS32 p4_id = psMetadataLookupS32(&status, md, "p4_id");
    13989     if (!status) {
    13990         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p4_id");
     13988    psS32 warp_id = psMetadataLookupS32(&status, md, "warp_id");
     13989    if (!status) {
     13990        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item warp_id");
    1399113991        return false;
    1399213992    }
     
    1401714017    }
    1401814018
    14019     return p4RunRowAlloc(p4_id, mode, state, workdir, dvodb, registered);
    14020 }
    14021 psArray *p4RunSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     14019    return warpRunRowAlloc(warp_id, mode, state, workdir, dvodb, registered);
     14020}
     14021psArray *warpRunSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
    1402214022{
    1402314023    psArray         *rowSet;
     
    1402514025    psU64           i;
    1402614026
    14027     rowSet = psDBSelectRows(dbh, P4RUN_TABLE_NAME, where, limit);
     14027    rowSet = psDBSelectRows(dbh, WARPRUN_TABLE_NAME, where, limit);
    1402814028    if (!rowSet) {
    1402914029        return NULL;
     
    1403514035
    1403614036    for (i = 0; i < rowSet->n; i++) {
    14037         p4RunRow *object = p4RunObjectFromMetadata(rowSet->data[i]);
     14037        warpRunRow *object = warpRunObjectFromMetadata(rowSet->data[i]);
    1403814038        psArrayAdd(returnSet, 0, object);
    1403914039        psFree(object);
     
    1404414044    return returnSet;
    1404514045}
    14046 bool p4RunDeleteObject(psDB *dbh, const p4RunRow *object)
    14047 {
    14048     psMetadata *where = p4RunMetadataFromObject(object);
    14049     long long count = psDBDeleteRows(dbh, P4RUN_TABLE_NAME, where, 0);
     14046bool warpRunDeleteObject(psDB *dbh, const warpRunRow *object)
     14047{
     14048    psMetadata *where = warpRunMetadataFromObject(object);
     14049    long long count = psDBDeleteRows(dbh, WARPRUN_TABLE_NAME, where, 0);
    1405014050    psFree(where);
    1405114051    if (count < 0) {
    14052         psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4Run");
     14052        psError(PS_ERR_UNKNOWN, true, "failed to delete row from warpRun");
    1405314053        return false;
    1405414054    }
     
    1405614056        // XXX should this be a psAbort() instead?  It is possible that
    1405714057        // having an object match multiple rows was by design.
    14058         psError(PS_ERR_UNKNOWN, true, "p4RunRow object matched more then one row.  Check your database schema");
    14059         return false;
    14060     }
    14061 
    14062     return true;
    14063 }
    14064 long long p4RunDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
     14058        psError(PS_ERR_UNKNOWN, true, "warpRunRow object matched more then one row.  Check your database schema");
     14059        return false;
     14060    }
     14061
     14062    return true;
     14063}
     14064long long warpRunDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
    1406514065{
    1406614066    long long       deleted = 0;
    1406714067
    1406814068    for (long long i = 0; i < objects->n; i++) {
    14069         p4RunRow *object = objects->data[i];
    14070         psMetadata *where = p4RunMetadataFromObject(object);
    14071         long long count = psDBDeleteRows(dbh, P4RUN_TABLE_NAME, where, limit);
     14069        warpRunRow *object = objects->data[i];
     14070        psMetadata *where = warpRunMetadataFromObject(object);
     14071        long long count = psDBDeleteRows(dbh, WARPRUN_TABLE_NAME, where, limit);
    1407214072        psFree(where);
    1407314073        if (count < 0) {
    14074             psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4Run");
     14074            psError(PS_ERR_UNKNOWN, true, "failed to delete row from warpRun");
    1407514075            return count;
    1407614076        }
     
    1408114081    return deleted;
    1408214082}
    14083 bool p4RunPrintObjects(FILE *stream, psArray *objects, bool mdcf)
     14083bool warpRunPrintObjects(FILE *stream, psArray *objects, bool mdcf)
    1408414084{
    1408514085    PS_ASSERT_PTR_NON_NULL(objects, false);
     
    1408714087    psMetadata *output = psMetadataAlloc();
    1408814088    for (long i = 0; i < psArrayLength(objects); i++) {
    14089         psMetadata *md = p4RunMetadataFromObject(objects->data[i]);
     14089        psMetadata *md = warpRunMetadataFromObject(objects->data[i]);
    1409014090        if (!psMetadataAddMetadata(
    1409114091            output,
    1409214092            PS_LIST_TAIL,
    14093             P4RUN_TABLE_NAME,
     14093            WARPRUN_TABLE_NAME,
    1409414094            PS_META_DUPLICATE_OK,
    1409514095            NULL,
     
    1411214112    return true;
    1411314113}
    14114 bool p4RunPrintObject(FILE *stream, p4RunRow *object, bool mdcf)
     14114bool warpRunPrintObject(FILE *stream, warpRunRow *object, bool mdcf)
    1411514115{
    1411614116    PS_ASSERT_PTR_NON_NULL(object, false);
    1411714117
    14118     psMetadata *md = p4RunMetadataFromObject(object);
     14118    psMetadata *md = warpRunMetadataFromObject(object);
    1411914119
    1412014120    if (!ippdbPrintMetadataRaw(stream, md, mdcf)) {
     
    1412714127    return true;
    1412814128}
    14129 static void p4InputExpRowFree(p4InputExpRow *object);
    14130 
    14131 p4InputExpRow *p4InputExpRowAlloc(psS32 p4_id, const char *exp_tag, psS32 p3_version, bool magiced)
    14132 {
    14133     p4InputExpRow  *_object;
    14134 
    14135     _object = psAlloc(sizeof(p4InputExpRow));
    14136     psMemSetDeallocator(_object, (psFreeFunc)p4InputExpRowFree);
    14137 
    14138     _object->p4_id = p4_id;
     14129static void warpInputExpRowFree(warpInputExpRow *object);
     14130
     14131warpInputExpRow *warpInputExpRowAlloc(psS32 warp_id, const char *exp_tag, psS32 cam_version, bool magiced)
     14132{
     14133    warpInputExpRow *_object;
     14134
     14135    _object = psAlloc(sizeof(warpInputExpRow));
     14136    psMemSetDeallocator(_object, (psFreeFunc)warpInputExpRowFree);
     14137
     14138    _object->warp_id = warp_id;
    1413914139    _object->exp_tag = psStringCopy(exp_tag);
    14140     _object->p3_version = p3_version;
     14140    _object->cam_version = cam_version;
    1414114141    _object->magiced = magiced;
    1414214142
     
    1414414144}
    1414514145
    14146 static void p4InputExpRowFree(p4InputExpRow *object)
     14146static void warpInputExpRowFree(warpInputExpRow *object)
    1414714147{
    1414814148    psFree(object->exp_tag);
    1414914149}
    1415014150
    14151 bool p4InputExpCreateTable(psDB *dbh)
     14151bool warpInputExpCreateTable(psDB *dbh)
    1415214152{
    1415314153    psMetadata *md = psMetadataAlloc();
    14154     if (!psMetadataAdd(md, PS_LIST_TAIL, "p4_id", PS_DATA_S32, "Primary Key", 0)) {
    14155         psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");
     14154    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, "Primary Key", 0)) {
     14155        psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
    1415614156        psFree(md);
    1415714157        return false;
     
    1416214162        return false;
    1416314163    }
    14164     if (!psMetadataAdd(md, PS_LIST_TAIL, "p3_version", PS_DATA_S32, "Key", 0)) {
    14165         psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version");
     14164    if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_version", PS_DATA_S32, "Key", 0)) {
     14165        psError(PS_ERR_UNKNOWN, false, "failed to add item cam_version");
    1416614166        psFree(md);
    1416714167        return false;
     
    1417314173    }
    1417414174
    14175     bool status = psDBCreateTable(dbh, P4INPUTEXP_TABLE_NAME, md);
     14175    bool status = psDBCreateTable(dbh, WARPINPUTEXP_TABLE_NAME, md);
    1417614176
    1417714177    psFree(md);
     
    1418014180}
    1418114181
    14182 bool p4InputExpDropTable(psDB *dbh)
    14183 {
    14184     return psDBDropTable(dbh, P4INPUTEXP_TABLE_NAME);
    14185 }
    14186 
    14187 bool p4InputExpInsert(psDB * dbh, psS32 p4_id, const char *exp_tag, psS32 p3_version, bool magiced)
     14182bool warpInputExpDropTable(psDB *dbh)
     14183{
     14184    return psDBDropTable(dbh, WARPINPUTEXP_TABLE_NAME);
     14185}
     14186
     14187bool warpInputExpInsert(psDB * dbh, psS32 warp_id, const char *exp_tag, psS32 cam_version, bool magiced)
    1418814188{
    1418914189    psMetadata *md = psMetadataAlloc();
    14190     if (!psMetadataAdd(md, PS_LIST_TAIL, "p4_id", PS_DATA_S32, NULL, p4_id)) {
    14191         psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");
     14190    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, NULL, warp_id)) {
     14191        psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
    1419214192        psFree(md);
    1419314193        return false;
     
    1419814198        return false;
    1419914199    }
    14200     if (!psMetadataAdd(md, PS_LIST_TAIL, "p3_version", PS_DATA_S32, NULL, p3_version)) {
    14201         psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version");
     14200    if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_version", PS_DATA_S32, NULL, cam_version)) {
     14201        psError(PS_ERR_UNKNOWN, false, "failed to add item cam_version");
    1420214202        psFree(md);
    1420314203        return false;
     
    1420914209    }
    1421014210
    14211     bool status = psDBInsertOneRow(dbh, P4INPUTEXP_TABLE_NAME, md);
     14211    bool status = psDBInsertOneRow(dbh, WARPINPUTEXP_TABLE_NAME, md);
    1421214212    psFree(md);
    1421314213
     
    1421514215}
    1421614216
    14217 long long p4InputExpDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
     14217long long warpInputExpDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
    1421814218{
    1421914219    long long       deleted = 0;
    1422014220
    14221     long long count = psDBDeleteRows(dbh, P4INPUTEXP_TABLE_NAME, where, limit);
     14221    long long count = psDBDeleteRows(dbh, WARPINPUTEXP_TABLE_NAME, where, limit);
    1422214222    if (count < 0) {
    14223         psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4InputExp");
     14223        psError(PS_ERR_UNKNOWN, true, "failed to delete row from warpInputExp");
    1422414224        return count;
    1422514225
     
    1422914229    return deleted;
    1423014230}
    14231 bool p4InputExpInsertObject(psDB *dbh, p4InputExpRow *object)
    14232 {
    14233     return p4InputExpInsert(dbh, object->p4_id, object->exp_tag, object->p3_version, object->magiced);
    14234 }
    14235 
    14236 bool p4InputExpInsertObjects(psDB *dbh, psArray *objects)
     14231bool warpInputExpInsertObject(psDB *dbh, warpInputExpRow *object)
     14232{
     14233    return warpInputExpInsert(dbh, object->warp_id, object->exp_tag, object->cam_version, object->magiced);
     14234}
     14235
     14236bool warpInputExpInsertObjects(psDB *dbh, psArray *objects)
    1423714237{
    1423814238    for (long i = 0; i < psArrayLength(objects); i++) {
    14239         if (!p4InputExpInsertObject(dbh, objects->data[i])) {
     14239        if (!warpInputExpInsertObject(dbh, objects->data[i])) {
    1424014240            return false;
    1424114241        }
     
    1424514245}
    1424614246
    14247 bool p4InputExpInsertFits(psDB *dbh, const psFits *fits)
     14247bool warpInputExpInsertFits(psDB *dbh, const psFits *fits)
    1424814248{
    1424914249    psArray         *rowSet;
    1425014250
    14251     // move to (the first?) extension named  P4INPUTEXP_TABLE_NAME
    14252     if (!psFitsMoveExtName(fits, P4INPUTEXP_TABLE_NAME)) {
    14253         psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P4INPUTEXP_TABLE_NAME);
     14251    // move to (the first?) extension named  WARPINPUTEXP_TABLE_NAME
     14252    if (!psFitsMoveExtName(fits, WARPINPUTEXP_TABLE_NAME)) {
     14253        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", WARPINPUTEXP_TABLE_NAME);
    1425414254        return false;
    1425514255    }
     
    1426914269    }
    1427014270
    14271     if (!psDBInsertRows(dbh, P4INPUTEXP_TABLE_NAME, rowSet)) {
     14271    if (!psDBInsertRows(dbh, WARPINPUTEXP_TABLE_NAME, rowSet)) {
    1427214272        psError(PS_ERR_UNKNOWN, false, "databse insert failed");
    1427314273        psFree(rowSet);
     
    1428014280}
    1428114281
    14282 bool p4InputExpSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
     14282bool warpInputExpSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
    1428314283{
    1428414284    psArray         *rowSet;
    1428514285
    14286     rowSet = psDBSelectRows(dbh, P4INPUTEXP_TABLE_NAME, where, limit);
     14286    rowSet = psDBSelectRows(dbh, WARPINPUTEXP_TABLE_NAME, where, limit);
    1428714287    if (!rowSet) {
    1428814288        return false;
     
    1429014290
    1429114291    // output to fits
    14292     if (!psFitsWriteTable(fits, NULL, rowSet, P4INPUTEXP_TABLE_NAME)) {
     14292    if (!psFitsWriteTable(fits, NULL, rowSet, WARPINPUTEXP_TABLE_NAME)) {
    1429314293        psError(PS_ERR_UNKNOWN, false, "FITS table write failed");
    1429414294        psFree(rowSet);
     
    1430114301}
    1430214302
    14303 psMetadata *p4InputExpMetadataFromObject(const p4InputExpRow *object)
     14303psMetadata *warpInputExpMetadataFromObject(const warpInputExpRow *object)
    1430414304{
    1430514305    psMetadata *md = psMetadataAlloc();
    14306     if (!psMetadataAdd(md, PS_LIST_TAIL, "p4_id", PS_DATA_S32, NULL, object->p4_id)) {
    14307         psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");
     14306    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, NULL, object->warp_id)) {
     14307        psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
    1430814308        psFree(md);
    1430914309        return false;
     
    1431414314        return false;
    1431514315    }
    14316     if (!psMetadataAdd(md, PS_LIST_TAIL, "p3_version", PS_DATA_S32, NULL, object->p3_version)) {
    14317         psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version");
     14316    if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_version", PS_DATA_S32, NULL, object->cam_version)) {
     14317        psError(PS_ERR_UNKNOWN, false, "failed to add item cam_version");
    1431814318        psFree(md);
    1431914319        return false;
     
    1432914329}
    1433014330
    14331 p4InputExpRow *p4InputExpObjectFromMetadata(psMetadata *md)
     14331warpInputExpRow *warpInputExpObjectFromMetadata(psMetadata *md)
    1433214332{
    1433314333
    1433414334bool status = false;
    14335     psS32 p4_id = psMetadataLookupS32(&status, md, "p4_id");
    14336     if (!status) {
    14337         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p4_id");
     14335    psS32 warp_id = psMetadataLookupS32(&status, md, "warp_id");
     14336    if (!status) {
     14337        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item warp_id");
    1433814338        return false;
    1433914339    }
     
    1434314343        return false;
    1434414344    }
    14345     psS32 p3_version = psMetadataLookupS32(&status, md, "p3_version");
    14346     if (!status) {
    14347         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p3_version");
     14345    psS32 cam_version = psMetadataLookupS32(&status, md, "cam_version");
     14346    if (!status) {
     14347        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item cam_version");
    1434814348        return false;
    1434914349    }
     
    1435414354    }
    1435514355
    14356     return p4InputExpRowAlloc(p4_id, exp_tag, p3_version, magiced);
    14357 }
    14358 psArray *p4InputExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     14356    return warpInputExpRowAlloc(warp_id, exp_tag, cam_version, magiced);
     14357}
     14358psArray *warpInputExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
    1435914359{
    1436014360    psArray         *rowSet;
     
    1436214362    psU64           i;
    1436314363
    14364     rowSet = psDBSelectRows(dbh, P4INPUTEXP_TABLE_NAME, where, limit);
     14364    rowSet = psDBSelectRows(dbh, WARPINPUTEXP_TABLE_NAME, where, limit);
    1436514365    if (!rowSet) {
    1436614366        return NULL;
     
    1437214372
    1437314373    for (i = 0; i < rowSet->n; i++) {
    14374         p4InputExpRow *object = p4InputExpObjectFromMetadata(rowSet->data[i]);
     14374        warpInputExpRow *object = warpInputExpObjectFromMetadata(rowSet->data[i]);
    1437514375        psArrayAdd(returnSet, 0, object);
    1437614376        psFree(object);
     
    1438114381    return returnSet;
    1438214382}
    14383 bool p4InputExpDeleteObject(psDB *dbh, const p4InputExpRow *object)
    14384 {
    14385     psMetadata *where = p4InputExpMetadataFromObject(object);
    14386     long long count = psDBDeleteRows(dbh, P4INPUTEXP_TABLE_NAME, where, 0);
     14383bool warpInputExpDeleteObject(psDB *dbh, const warpInputExpRow *object)
     14384{
     14385    psMetadata *where = warpInputExpMetadataFromObject(object);
     14386    long long count = psDBDeleteRows(dbh, WARPINPUTEXP_TABLE_NAME, where, 0);
    1438714387    psFree(where);
    1438814388    if (count < 0) {
    14389         psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4InputExp");
     14389        psError(PS_ERR_UNKNOWN, true, "failed to delete row from warpInputExp");
    1439014390        return false;
    1439114391    }
     
    1439314393        // XXX should this be a psAbort() instead?  It is possible that
    1439414394        // having an object match multiple rows was by design.
    14395         psError(PS_ERR_UNKNOWN, true, "p4InputExpRow object matched more then one row.  Check your database schema");
    14396         return false;
    14397     }
    14398 
    14399     return true;
    14400 }
    14401 long long p4InputExpDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
     14395        psError(PS_ERR_UNKNOWN, true, "warpInputExpRow object matched more then one row.  Check your database schema");
     14396        return false;
     14397    }
     14398
     14399    return true;
     14400}
     14401long long warpInputExpDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
    1440214402{
    1440314403    long long       deleted = 0;
    1440414404
    1440514405    for (long long i = 0; i < objects->n; i++) {
    14406         p4InputExpRow *object = objects->data[i];
    14407         psMetadata *where = p4InputExpMetadataFromObject(object);
    14408         long long count = psDBDeleteRows(dbh, P4INPUTEXP_TABLE_NAME, where, limit);
     14406        warpInputExpRow *object = objects->data[i];
     14407        psMetadata *where = warpInputExpMetadataFromObject(object);
     14408        long long count = psDBDeleteRows(dbh, WARPINPUTEXP_TABLE_NAME, where, limit);
    1440914409        psFree(where);
    1441014410        if (count < 0) {
    14411             psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4InputExp");
     14411            psError(PS_ERR_UNKNOWN, true, "failed to delete row from warpInputExp");
    1441214412            return count;
    1441314413        }
     
    1441814418    return deleted;
    1441914419}
    14420 bool p4InputExpPrintObjects(FILE *stream, psArray *objects, bool mdcf)
     14420bool warpInputExpPrintObjects(FILE *stream, psArray *objects, bool mdcf)
    1442114421{
    1442214422    PS_ASSERT_PTR_NON_NULL(objects, false);
     
    1442414424    psMetadata *output = psMetadataAlloc();
    1442514425    for (long i = 0; i < psArrayLength(objects); i++) {
    14426         psMetadata *md = p4InputExpMetadataFromObject(objects->data[i]);
     14426        psMetadata *md = warpInputExpMetadataFromObject(objects->data[i]);
    1442714427        if (!psMetadataAddMetadata(
    1442814428            output,
    1442914429            PS_LIST_TAIL,
    14430             P4INPUTEXP_TABLE_NAME,
     14430            WARPINPUTEXP_TABLE_NAME,
    1443114431            PS_META_DUPLICATE_OK,
    1443214432            NULL,
     
    1444914449    return true;
    1445014450}
    14451 bool p4InputExpPrintObject(FILE *stream, p4InputExpRow *object, bool mdcf)
     14451bool warpInputExpPrintObject(FILE *stream, warpInputExpRow *object, bool mdcf)
    1445214452{
    1445314453    PS_ASSERT_PTR_NON_NULL(object, false);
    1445414454
    14455     psMetadata *md = p4InputExpMetadataFromObject(object);
     14455    psMetadata *md = warpInputExpMetadataFromObject(object);
    1445614456
    1445714457    if (!ippdbPrintMetadataRaw(stream, md, mdcf)) {
     
    1446414464    return true;
    1446514465}
    14466 static void p4SkyCellMapRowFree(p4SkyCellMapRow *object);
    14467 
    14468 p4SkyCellMapRow *p4SkyCellMapRowAlloc(psS32 p4_id, const char *skycell_id, const char *tess_id, const char *exp_tag, psS32 p3_version, const char *class_id)
    14469 {
    14470     p4SkyCellMapRow *_object;
    14471 
    14472     _object = psAlloc(sizeof(p4SkyCellMapRow));
    14473     psMemSetDeallocator(_object, (psFreeFunc)p4SkyCellMapRowFree);
    14474 
    14475     _object->p4_id = p4_id;
     14466static void warpSkyCellMapRowFree(warpSkyCellMapRow *object);
     14467
     14468warpSkyCellMapRow *warpSkyCellMapRowAlloc(psS32 warp_id, const char *skycell_id, const char *tess_id, const char *exp_tag, psS32 cam_version, const char *class_id)
     14469{
     14470    warpSkyCellMapRow *_object;
     14471
     14472    _object = psAlloc(sizeof(warpSkyCellMapRow));
     14473    psMemSetDeallocator(_object, (psFreeFunc)warpSkyCellMapRowFree);
     14474
     14475    _object->warp_id = warp_id;
    1447614476    _object->skycell_id = psStringCopy(skycell_id);
    1447714477    _object->tess_id = psStringCopy(tess_id);
    1447814478    _object->exp_tag = psStringCopy(exp_tag);
    14479     _object->p3_version = p3_version;
     14479    _object->cam_version = cam_version;
    1448014480    _object->class_id = psStringCopy(class_id);
    1448114481
     
    1448314483}
    1448414484
    14485 static void p4SkyCellMapRowFree(p4SkyCellMapRow *object)
     14485static void warpSkyCellMapRowFree(warpSkyCellMapRow *object)
    1448614486{
    1448714487    psFree(object->skycell_id);
     
    1449114491}
    1449214492
    14493 bool p4SkyCellMapCreateTable(psDB *dbh)
     14493bool warpSkyCellMapCreateTable(psDB *dbh)
    1449414494{
    1449514495    psMetadata *md = psMetadataAlloc();
    14496     if (!psMetadataAdd(md, PS_LIST_TAIL, "p4_id", PS_DATA_S32, "Primary Key", 0)) {
    14497         psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");
     14496    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, "Primary Key", 0)) {
     14497        psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
    1449814498        psFree(md);
    1449914499        return false;
     
    1451414514        return false;
    1451514515    }
    14516     if (!psMetadataAdd(md, PS_LIST_TAIL, "p3_version", PS_DATA_S32, "Primary Key", 0)) {
    14517         psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version");
     14516    if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_version", PS_DATA_S32, "Primary Key", 0)) {
     14517        psError(PS_ERR_UNKNOWN, false, "failed to add item cam_version");
    1451814518        psFree(md);
    1451914519        return false;
     
    1452514525    }
    1452614526
    14527     bool status = psDBCreateTable(dbh, P4SKYCELLMAP_TABLE_NAME, md);
     14527    bool status = psDBCreateTable(dbh, WARPSKYCELLMAP_TABLE_NAME, md);
    1452814528
    1452914529    psFree(md);
     
    1453214532}
    1453314533
    14534 bool p4SkyCellMapDropTable(psDB *dbh)
    14535 {
    14536     return psDBDropTable(dbh, P4SKYCELLMAP_TABLE_NAME);
    14537 }
    14538 
    14539 bool p4SkyCellMapInsert(psDB * dbh, psS32 p4_id, const char *skycell_id, const char *tess_id, const char *exp_tag, psS32 p3_version, const char *class_id)
     14534bool warpSkyCellMapDropTable(psDB *dbh)
     14535{
     14536    return psDBDropTable(dbh, WARPSKYCELLMAP_TABLE_NAME);
     14537}
     14538
     14539bool warpSkyCellMapInsert(psDB * dbh, psS32 warp_id, const char *skycell_id, const char *tess_id, const char *exp_tag, psS32 cam_version, const char *class_id)
    1454014540{
    1454114541    psMetadata *md = psMetadataAlloc();
    14542     if (!psMetadataAdd(md, PS_LIST_TAIL, "p4_id", PS_DATA_S32, NULL, p4_id)) {
    14543         psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");
     14542    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, NULL, warp_id)) {
     14543        psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
    1454414544        psFree(md);
    1454514545        return false;
     
    1456014560        return false;
    1456114561    }
    14562     if (!psMetadataAdd(md, PS_LIST_TAIL, "p3_version", PS_DATA_S32, NULL, p3_version)) {
    14563         psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version");
     14562    if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_version", PS_DATA_S32, NULL, cam_version)) {
     14563        psError(PS_ERR_UNKNOWN, false, "failed to add item cam_version");
    1456414564        psFree(md);
    1456514565        return false;
     
    1457114571    }
    1457214572
    14573     bool status = psDBInsertOneRow(dbh, P4SKYCELLMAP_TABLE_NAME, md);
     14573    bool status = psDBInsertOneRow(dbh, WARPSKYCELLMAP_TABLE_NAME, md);
    1457414574    psFree(md);
    1457514575
     
    1457714577}
    1457814578
    14579 long long p4SkyCellMapDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
     14579long long warpSkyCellMapDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
    1458014580{
    1458114581    long long       deleted = 0;
    1458214582
    14583     long long count = psDBDeleteRows(dbh, P4SKYCELLMAP_TABLE_NAME, where, limit);
     14583    long long count = psDBDeleteRows(dbh, WARPSKYCELLMAP_TABLE_NAME, where, limit);
    1458414584    if (count < 0) {
    14585         psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4SkyCellMap");
     14585        psError(PS_ERR_UNKNOWN, true, "failed to delete row from warpSkyCellMap");
    1458614586        return count;
    1458714587
     
    1459114591    return deleted;
    1459214592}
    14593 bool p4SkyCellMapInsertObject(psDB *dbh, p4SkyCellMapRow *object)
    14594 {
    14595     return p4SkyCellMapInsert(dbh, object->p4_id, object->skycell_id, object->tess_id, object->exp_tag, object->p3_version, object->class_id);
    14596 }
    14597 
    14598 bool p4SkyCellMapInsertObjects(psDB *dbh, psArray *objects)
     14593bool warpSkyCellMapInsertObject(psDB *dbh, warpSkyCellMapRow *object)
     14594{
     14595    return warpSkyCellMapInsert(dbh, object->warp_id, object->skycell_id, object->tess_id, object->exp_tag, object->cam_version, object->class_id);
     14596}
     14597
     14598bool warpSkyCellMapInsertObjects(psDB *dbh, psArray *objects)
    1459914599{
    1460014600    for (long i = 0; i < psArrayLength(objects); i++) {
    14601         if (!p4SkyCellMapInsertObject(dbh, objects->data[i])) {
     14601        if (!warpSkyCellMapInsertObject(dbh, objects->data[i])) {
    1460214602            return false;
    1460314603        }
     
    1460714607}
    1460814608
    14609 bool p4SkyCellMapInsertFits(psDB *dbh, const psFits *fits)
     14609bool warpSkyCellMapInsertFits(psDB *dbh, const psFits *fits)
    1461014610{
    1461114611    psArray         *rowSet;
    1461214612
    14613     // move to (the first?) extension named  P4SKYCELLMAP_TABLE_NAME
    14614     if (!psFitsMoveExtName(fits, P4SKYCELLMAP_TABLE_NAME)) {
    14615         psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P4SKYCELLMAP_TABLE_NAME);
     14613    // move to (the first?) extension named  WARPSKYCELLMAP_TABLE_NAME
     14614    if (!psFitsMoveExtName(fits, WARPSKYCELLMAP_TABLE_NAME)) {
     14615        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", WARPSKYCELLMAP_TABLE_NAME);
    1461614616        return false;
    1461714617    }
     
    1463114631    }
    1463214632
    14633     if (!psDBInsertRows(dbh, P4SKYCELLMAP_TABLE_NAME, rowSet)) {
     14633    if (!psDBInsertRows(dbh, WARPSKYCELLMAP_TABLE_NAME, rowSet)) {
    1463414634        psError(PS_ERR_UNKNOWN, false, "databse insert failed");
    1463514635        psFree(rowSet);
     
    1464214642}
    1464314643
    14644 bool p4SkyCellMapSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
     14644bool warpSkyCellMapSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
    1464514645{
    1464614646    psArray         *rowSet;
    1464714647
    14648     rowSet = psDBSelectRows(dbh, P4SKYCELLMAP_TABLE_NAME, where, limit);
     14648    rowSet = psDBSelectRows(dbh, WARPSKYCELLMAP_TABLE_NAME, where, limit);
    1464914649    if (!rowSet) {
    1465014650        return false;
     
    1465214652
    1465314653    // output to fits
    14654     if (!psFitsWriteTable(fits, NULL, rowSet, P4SKYCELLMAP_TABLE_NAME)) {
     14654    if (!psFitsWriteTable(fits, NULL, rowSet, WARPSKYCELLMAP_TABLE_NAME)) {
    1465514655        psError(PS_ERR_UNKNOWN, false, "FITS table write failed");
    1465614656        psFree(rowSet);
     
    1466314663}
    1466414664
    14665 psMetadata *p4SkyCellMapMetadataFromObject(const p4SkyCellMapRow *object)
     14665psMetadata *warpSkyCellMapMetadataFromObject(const warpSkyCellMapRow *object)
    1466614666{
    1466714667    psMetadata *md = psMetadataAlloc();
    14668     if (!psMetadataAdd(md, PS_LIST_TAIL, "p4_id", PS_DATA_S32, NULL, object->p4_id)) {
    14669         psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");
     14668    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, NULL, object->warp_id)) {
     14669        psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
    1467014670        psFree(md);
    1467114671        return false;
     
    1468614686        return false;
    1468714687    }
    14688     if (!psMetadataAdd(md, PS_LIST_TAIL, "p3_version", PS_DATA_S32, NULL, object->p3_version)) {
    14689         psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version");
     14688    if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_version", PS_DATA_S32, NULL, object->cam_version)) {
     14689        psError(PS_ERR_UNKNOWN, false, "failed to add item cam_version");
    1469014690        psFree(md);
    1469114691        return false;
     
    1470114701}
    1470214702
    14703 p4SkyCellMapRow *p4SkyCellMapObjectFromMetadata(psMetadata *md)
     14703warpSkyCellMapRow *warpSkyCellMapObjectFromMetadata(psMetadata *md)
    1470414704{
    1470514705
    1470614706bool status = false;
    14707     psS32 p4_id = psMetadataLookupS32(&status, md, "p4_id");
    14708     if (!status) {
    14709         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p4_id");
     14707    psS32 warp_id = psMetadataLookupS32(&status, md, "warp_id");
     14708    if (!status) {
     14709        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item warp_id");
    1471014710        return false;
    1471114711    }
     
    1472514725        return false;
    1472614726    }
    14727     psS32 p3_version = psMetadataLookupS32(&status, md, "p3_version");
    14728     if (!status) {
    14729         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p3_version");
     14727    psS32 cam_version = psMetadataLookupS32(&status, md, "cam_version");
     14728    if (!status) {
     14729        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item cam_version");
    1473014730        return false;
    1473114731    }
     
    1473614736    }
    1473714737
    14738     return p4SkyCellMapRowAlloc(p4_id, skycell_id, tess_id, exp_tag, p3_version, class_id);
    14739 }
    14740 psArray *p4SkyCellMapSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     14738    return warpSkyCellMapRowAlloc(warp_id, skycell_id, tess_id, exp_tag, cam_version, class_id);
     14739}
     14740psArray *warpSkyCellMapSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
    1474114741{
    1474214742    psArray         *rowSet;
     
    1474414744    psU64           i;
    1474514745
    14746     rowSet = psDBSelectRows(dbh, P4SKYCELLMAP_TABLE_NAME, where, limit);
     14746    rowSet = psDBSelectRows(dbh, WARPSKYCELLMAP_TABLE_NAME, where, limit);
    1474714747    if (!rowSet) {
    1474814748        return NULL;
     
    1475414754
    1475514755    for (i = 0; i < rowSet->n; i++) {
    14756         p4SkyCellMapRow *object = p4SkyCellMapObjectFromMetadata(rowSet->data[i]);
     14756        warpSkyCellMapRow *object = warpSkyCellMapObjectFromMetadata(rowSet->data[i]);
    1475714757        psArrayAdd(returnSet, 0, object);
    1475814758        psFree(object);
     
    1476314763    return returnSet;
    1476414764}
    14765 bool p4SkyCellMapDeleteObject(psDB *dbh, const p4SkyCellMapRow *object)
    14766 {
    14767     psMetadata *where = p4SkyCellMapMetadataFromObject(object);
    14768     long long count = psDBDeleteRows(dbh, P4SKYCELLMAP_TABLE_NAME, where, 0);
     14765bool warpSkyCellMapDeleteObject(psDB *dbh, const warpSkyCellMapRow *object)
     14766{
     14767    psMetadata *where = warpSkyCellMapMetadataFromObject(object);
     14768    long long count = psDBDeleteRows(dbh, WARPSKYCELLMAP_TABLE_NAME, where, 0);
    1476914769    psFree(where);
    1477014770    if (count < 0) {
    14771         psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4SkyCellMap");
     14771        psError(PS_ERR_UNKNOWN, true, "failed to delete row from warpSkyCellMap");
    1477214772        return false;
    1477314773    }
     
    1477514775        // XXX should this be a psAbort() instead?  It is possible that
    1477614776        // having an object match multiple rows was by design.
    14777         psError(PS_ERR_UNKNOWN, true, "p4SkyCellMapRow object matched more then one row.  Check your database schema");
    14778         return false;
    14779     }
    14780 
    14781     return true;
    14782 }
    14783 long long p4SkyCellMapDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
     14777        psError(PS_ERR_UNKNOWN, true, "warpSkyCellMapRow object matched more then one row.  Check your database schema");
     14778        return false;
     14779    }
     14780
     14781    return true;
     14782}
     14783long long warpSkyCellMapDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
    1478414784{
    1478514785    long long       deleted = 0;
    1478614786
    1478714787    for (long long i = 0; i < objects->n; i++) {
    14788         p4SkyCellMapRow *object = objects->data[i];
    14789         psMetadata *where = p4SkyCellMapMetadataFromObject(object);
    14790         long long count = psDBDeleteRows(dbh, P4SKYCELLMAP_TABLE_NAME, where, limit);
     14788        warpSkyCellMapRow *object = objects->data[i];
     14789        psMetadata *where = warpSkyCellMapMetadataFromObject(object);
     14790        long long count = psDBDeleteRows(dbh, WARPSKYCELLMAP_TABLE_NAME, where, limit);
    1479114791        psFree(where);
    1479214792        if (count < 0) {
    14793             psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4SkyCellMap");
     14793            psError(PS_ERR_UNKNOWN, true, "failed to delete row from warpSkyCellMap");
    1479414794            return count;
    1479514795        }
     
    1480014800    return deleted;
    1480114801}
    14802 bool p4SkyCellMapPrintObjects(FILE *stream, psArray *objects, bool mdcf)
     14802bool warpSkyCellMapPrintObjects(FILE *stream, psArray *objects, bool mdcf)
    1480314803{
    1480414804    PS_ASSERT_PTR_NON_NULL(objects, false);
     
    1480614806    psMetadata *output = psMetadataAlloc();
    1480714807    for (long i = 0; i < psArrayLength(objects); i++) {
    14808         psMetadata *md = p4SkyCellMapMetadataFromObject(objects->data[i]);
     14808        psMetadata *md = warpSkyCellMapMetadataFromObject(objects->data[i]);
    1480914809        if (!psMetadataAddMetadata(
    1481014810            output,
    1481114811            PS_LIST_TAIL,
    14812             P4SKYCELLMAP_TABLE_NAME,
     14812            WARPSKYCELLMAP_TABLE_NAME,
    1481314813            PS_META_DUPLICATE_OK,
    1481414814            NULL,
     
    1483114831    return true;
    1483214832}
    14833 bool p4SkyCellMapPrintObject(FILE *stream, p4SkyCellMapRow *object, bool mdcf)
     14833bool warpSkyCellMapPrintObject(FILE *stream, warpSkyCellMapRow *object, bool mdcf)
    1483414834{
    1483514835    PS_ASSERT_PTR_NON_NULL(object, false);
    1483614836
    14837     psMetadata *md = p4SkyCellMapMetadataFromObject(object);
     14837    psMetadata *md = warpSkyCellMapMetadataFromObject(object);
    1483814838
    1483914839    if (!ippdbPrintMetadataRaw(stream, md, mdcf)) {
     
    1484614846    return true;
    1484714847}
    14848 static void p4SkyfileRowFree(p4SkyfileRow *object);
    14849 
    14850 p4SkyfileRow *p4SkyfileRowAlloc(psS32 p4_id, const char *skycell_id, const char *tess_id, const char *uri, psF64 bg, psF64 bg_mean_stdev)
    14851 {
    14852     p4SkyfileRow    *_object;
    14853 
    14854     _object = psAlloc(sizeof(p4SkyfileRow));
    14855     psMemSetDeallocator(_object, (psFreeFunc)p4SkyfileRowFree);
    14856 
    14857     _object->p4_id = p4_id;
     14848static void warpSkyfileRowFree(warpSkyfileRow *object);
     14849
     14850warpSkyfileRow *warpSkyfileRowAlloc(psS32 warp_id, const char *skycell_id, const char *tess_id, const char *uri, psF64 bg, psF64 bg_mean_stdev)
     14851{
     14852    warpSkyfileRow  *_object;
     14853
     14854    _object = psAlloc(sizeof(warpSkyfileRow));
     14855    psMemSetDeallocator(_object, (psFreeFunc)warpSkyfileRowFree);
     14856
     14857    _object->warp_id = warp_id;
    1485814858    _object->skycell_id = psStringCopy(skycell_id);
    1485914859    _object->tess_id = psStringCopy(tess_id);
     
    1486514865}
    1486614866
    14867 static void p4SkyfileRowFree(p4SkyfileRow *object)
     14867static void warpSkyfileRowFree(warpSkyfileRow *object)
    1486814868{
    1486914869    psFree(object->skycell_id);
     
    1487214872}
    1487314873
    14874 bool p4SkyfileCreateTable(psDB *dbh)
     14874bool warpSkyfileCreateTable(psDB *dbh)
    1487514875{
    1487614876    psMetadata *md = psMetadataAlloc();
    14877     if (!psMetadataAdd(md, PS_LIST_TAIL, "p4_id", PS_DATA_S32, "Primary Key", 0)) {
    14878         psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");
     14877    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, "Primary Key", 0)) {
     14878        psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
    1487914879        psFree(md);
    1488014880        return false;
     
    1490614906    }
    1490714907
    14908     bool status = psDBCreateTable(dbh, P4SKYFILE_TABLE_NAME, md);
     14908    bool status = psDBCreateTable(dbh, WARPSKYFILE_TABLE_NAME, md);
    1490914909
    1491014910    psFree(md);
     
    1491314913}
    1491414914
    14915 bool p4SkyfileDropTable(psDB *dbh)
    14916 {
    14917     return psDBDropTable(dbh, P4SKYFILE_TABLE_NAME);
    14918 }
    14919 
    14920 bool p4SkyfileInsert(psDB * dbh, psS32 p4_id, const char *skycell_id, const char *tess_id, const char *uri, psF64 bg, psF64 bg_mean_stdev)
     14915bool warpSkyfileDropTable(psDB *dbh)
     14916{
     14917    return psDBDropTable(dbh, WARPSKYFILE_TABLE_NAME);
     14918}
     14919
     14920bool warpSkyfileInsert(psDB * dbh, psS32 warp_id, const char *skycell_id, const char *tess_id, const char *uri, psF64 bg, psF64 bg_mean_stdev)
    1492114921{
    1492214922    psMetadata *md = psMetadataAlloc();
    14923     if (!psMetadataAdd(md, PS_LIST_TAIL, "p4_id", PS_DATA_S32, NULL, p4_id)) {
    14924         psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");
     14923    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, NULL, warp_id)) {
     14924        psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
    1492514925        psFree(md);
    1492614926        return false;
     
    1495214952    }
    1495314953
    14954     bool status = psDBInsertOneRow(dbh, P4SKYFILE_TABLE_NAME, md);
     14954    bool status = psDBInsertOneRow(dbh, WARPSKYFILE_TABLE_NAME, md);
    1495514955    psFree(md);
    1495614956
     
    1495814958}
    1495914959
    14960 long long p4SkyfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
     14960long long warpSkyfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
    1496114961{
    1496214962    long long       deleted = 0;
    1496314963
    14964     long long count = psDBDeleteRows(dbh, P4SKYFILE_TABLE_NAME, where, limit);
     14964    long long count = psDBDeleteRows(dbh, WARPSKYFILE_TABLE_NAME, where, limit);
    1496514965    if (count < 0) {
    14966         psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4Skyfile");
     14966        psError(PS_ERR_UNKNOWN, true, "failed to delete row from warpSkyfile");
    1496714967        return count;
    1496814968
     
    1497214972    return deleted;
    1497314973}
    14974 bool p4SkyfileInsertObject(psDB *dbh, p4SkyfileRow *object)
    14975 {
    14976     return p4SkyfileInsert(dbh, object->p4_id, object->skycell_id, object->tess_id, object->uri, object->bg, object->bg_mean_stdev);
    14977 }
    14978 
    14979 bool p4SkyfileInsertObjects(psDB *dbh, psArray *objects)
     14974bool warpSkyfileInsertObject(psDB *dbh, warpSkyfileRow *object)
     14975{
     14976    return warpSkyfileInsert(dbh, object->warp_id, object->skycell_id, object->tess_id, object->uri, object->bg, object->bg_mean_stdev);
     14977}
     14978
     14979bool warpSkyfileInsertObjects(psDB *dbh, psArray *objects)
    1498014980{
    1498114981    for (long i = 0; i < psArrayLength(objects); i++) {
    14982         if (!p4SkyfileInsertObject(dbh, objects->data[i])) {
     14982        if (!warpSkyfileInsertObject(dbh, objects->data[i])) {
    1498314983            return false;
    1498414984        }
     
    1498814988}
    1498914989
    14990 bool p4SkyfileInsertFits(psDB *dbh, const psFits *fits)
     14990bool warpSkyfileInsertFits(psDB *dbh, const psFits *fits)
    1499114991{
    1499214992    psArray         *rowSet;
    1499314993
    14994     // move to (the first?) extension named  P4SKYFILE_TABLE_NAME
    14995     if (!psFitsMoveExtName(fits, P4SKYFILE_TABLE_NAME)) {
    14996         psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P4SKYFILE_TABLE_NAME);
     14994    // move to (the first?) extension named  WARPSKYFILE_TABLE_NAME
     14995    if (!psFitsMoveExtName(fits, WARPSKYFILE_TABLE_NAME)) {
     14996        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", WARPSKYFILE_TABLE_NAME);
    1499714997        return false;
    1499814998    }
     
    1501215012    }
    1501315013
    15014     if (!psDBInsertRows(dbh, P4SKYFILE_TABLE_NAME, rowSet)) {
     15014    if (!psDBInsertRows(dbh, WARPSKYFILE_TABLE_NAME, rowSet)) {
    1501515015        psError(PS_ERR_UNKNOWN, false, "databse insert failed");
    1501615016        psFree(rowSet);
     
    1502315023}
    1502415024
    15025 bool p4SkyfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
     15025bool warpSkyfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
    1502615026{
    1502715027    psArray         *rowSet;
    1502815028
    15029     rowSet = psDBSelectRows(dbh, P4SKYFILE_TABLE_NAME, where, limit);
     15029    rowSet = psDBSelectRows(dbh, WARPSKYFILE_TABLE_NAME, where, limit);
    1503015030    if (!rowSet) {
    1503115031        return false;
     
    1503315033
    1503415034    // output to fits
    15035     if (!psFitsWriteTable(fits, NULL, rowSet, P4SKYFILE_TABLE_NAME)) {
     15035    if (!psFitsWriteTable(fits, NULL, rowSet, WARPSKYFILE_TABLE_NAME)) {
    1503615036        psError(PS_ERR_UNKNOWN, false, "FITS table write failed");
    1503715037        psFree(rowSet);
     
    1504415044}
    1504515045
    15046 psMetadata *p4SkyfileMetadataFromObject(const p4SkyfileRow *object)
     15046psMetadata *warpSkyfileMetadataFromObject(const warpSkyfileRow *object)
    1504715047{
    1504815048    psMetadata *md = psMetadataAlloc();
    15049     if (!psMetadataAdd(md, PS_LIST_TAIL, "p4_id", PS_DATA_S32, NULL, object->p4_id)) {
    15050         psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");
     15049    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, NULL, object->warp_id)) {
     15050        psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
    1505115051        psFree(md);
    1505215052        return false;
     
    1508215082}
    1508315083
    15084 p4SkyfileRow *p4SkyfileObjectFromMetadata(psMetadata *md)
     15084warpSkyfileRow *warpSkyfileObjectFromMetadata(psMetadata *md)
    1508515085{
    1508615086
    1508715087bool status = false;
    15088     psS32 p4_id = psMetadataLookupS32(&status, md, "p4_id");
    15089     if (!status) {
    15090         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p4_id");
     15088    psS32 warp_id = psMetadataLookupS32(&status, md, "warp_id");
     15089    if (!status) {
     15090        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item warp_id");
    1509115091        return false;
    1509215092    }
     
    1511715117    }
    1511815118
    15119     return p4SkyfileRowAlloc(p4_id, skycell_id, tess_id, uri, bg, bg_mean_stdev);
    15120 }
    15121 psArray *p4SkyfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     15119    return warpSkyfileRowAlloc(warp_id, skycell_id, tess_id, uri, bg, bg_mean_stdev);
     15120}
     15121psArray *warpSkyfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
    1512215122{
    1512315123    psArray         *rowSet;
     
    1512515125    psU64           i;
    1512615126
    15127     rowSet = psDBSelectRows(dbh, P4SKYFILE_TABLE_NAME, where, limit);
     15127    rowSet = psDBSelectRows(dbh, WARPSKYFILE_TABLE_NAME, where, limit);
    1512815128    if (!rowSet) {
    1512915129        return NULL;
     
    1513515135
    1513615136    for (i = 0; i < rowSet->n; i++) {
    15137         p4SkyfileRow *object = p4SkyfileObjectFromMetadata(rowSet->data[i]);
     15137        warpSkyfileRow *object = warpSkyfileObjectFromMetadata(rowSet->data[i]);
    1513815138        psArrayAdd(returnSet, 0, object);
    1513915139        psFree(object);
     
    1514415144    return returnSet;
    1514515145}
    15146 bool p4SkyfileDeleteObject(psDB *dbh, const p4SkyfileRow *object)
    15147 {
    15148     psMetadata *where = p4SkyfileMetadataFromObject(object);
    15149     long long count = psDBDeleteRows(dbh, P4SKYFILE_TABLE_NAME, where, 0);
     15146bool warpSkyfileDeleteObject(psDB *dbh, const warpSkyfileRow *object)
     15147{
     15148    psMetadata *where = warpSkyfileMetadataFromObject(object);
     15149    long long count = psDBDeleteRows(dbh, WARPSKYFILE_TABLE_NAME, where, 0);
    1515015150    psFree(where);
    1515115151    if (count < 0) {
    15152         psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4Skyfile");
     15152        psError(PS_ERR_UNKNOWN, true, "failed to delete row from warpSkyfile");
    1515315153        return false;
    1515415154    }
     
    1515615156        // XXX should this be a psAbort() instead?  It is possible that
    1515715157        // having an object match multiple rows was by design.
    15158         psError(PS_ERR_UNKNOWN, true, "p4SkyfileRow object matched more then one row.  Check your database schema");
    15159         return false;
    15160     }
    15161 
    15162     return true;
    15163 }
    15164 long long p4SkyfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
     15158        psError(PS_ERR_UNKNOWN, true, "warpSkyfileRow object matched more then one row.  Check your database schema");
     15159        return false;
     15160    }
     15161
     15162    return true;
     15163}
     15164long long warpSkyfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
    1516515165{
    1516615166    long long       deleted = 0;
    1516715167
    1516815168    for (long long i = 0; i < objects->n; i++) {
    15169         p4SkyfileRow *object = objects->data[i];
    15170         psMetadata *where = p4SkyfileMetadataFromObject(object);
    15171         long long count = psDBDeleteRows(dbh, P4SKYFILE_TABLE_NAME, where, limit);
     15169        warpSkyfileRow *object = objects->data[i];
     15170        psMetadata *where = warpSkyfileMetadataFromObject(object);
     15171        long long count = psDBDeleteRows(dbh, WARPSKYFILE_TABLE_NAME, where, limit);
    1517215172        psFree(where);
    1517315173        if (count < 0) {
    15174             psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4Skyfile");
     15174            psError(PS_ERR_UNKNOWN, true, "failed to delete row from warpSkyfile");
    1517515175            return count;
    1517615176        }
     
    1518115181    return deleted;
    1518215182}
    15183 bool p4SkyfilePrintObjects(FILE *stream, psArray *objects, bool mdcf)
     15183bool warpSkyfilePrintObjects(FILE *stream, psArray *objects, bool mdcf)
    1518415184{
    1518515185    PS_ASSERT_PTR_NON_NULL(objects, false);
     
    1518715187    psMetadata *output = psMetadataAlloc();
    1518815188    for (long i = 0; i < psArrayLength(objects); i++) {
    15189         psMetadata *md = p4SkyfileMetadataFromObject(objects->data[i]);
     15189        psMetadata *md = warpSkyfileMetadataFromObject(objects->data[i]);
    1519015190        if (!psMetadataAddMetadata(
    1519115191            output,
    1519215192            PS_LIST_TAIL,
    15193             P4SKYFILE_TABLE_NAME,
     15193            WARPSKYFILE_TABLE_NAME,
    1519415194            PS_META_DUPLICATE_OK,
    1519515195            NULL,
     
    1521215212    return true;
    1521315213}
    15214 bool p4SkyfilePrintObject(FILE *stream, p4SkyfileRow *object, bool mdcf)
     15214bool warpSkyfilePrintObject(FILE *stream, warpSkyfileRow *object, bool mdcf)
    1521515215{
    1521615216    PS_ASSERT_PTR_NON_NULL(object, false);
    1521715217
    15218     psMetadata *md = p4SkyfileMetadataFromObject(object);
     15218    psMetadata *md = warpSkyfileMetadataFromObject(object);
    1521915219
    1522015220    if (!ippdbPrintMetadataRaw(stream, md, mdcf)) {
     
    1522715227    return true;
    1522815228}
    15229 static void p5RunRowFree(p5RunRow *object);
    15230 
    15231 p5RunRow *p5RunRowAlloc(psS32 p5_id, const char *state, const char *workdir, const char *dvodb, psTime* registered, const char *skycell_id, const char *tess_id)
    15232 {
    15233     p5RunRow        *_object;
    15234 
    15235     _object = psAlloc(sizeof(p5RunRow));
    15236     psMemSetDeallocator(_object, (psFreeFunc)p5RunRowFree);
    15237 
    15238     _object->p5_id = p5_id;
     15229static void diffRunRowFree(diffRunRow *object);
     15230
     15231diffRunRow *diffRunRowAlloc(psS32 diff_id, const char *state, const char *workdir, const char *dvodb, psTime* registered, const char *skycell_id, const char *tess_id)
     15232{
     15233    diffRunRow      *_object;
     15234
     15235    _object = psAlloc(sizeof(diffRunRow));
     15236    psMemSetDeallocator(_object, (psFreeFunc)diffRunRowFree);
     15237
     15238    _object->diff_id = diff_id;
    1523915239    _object->state = psStringCopy(state);
    1524015240    _object->workdir = psStringCopy(workdir);
     
    1524715247}
    1524815248
    15249 static void p5RunRowFree(p5RunRow *object)
     15249static void diffRunRowFree(diffRunRow *object)
    1525015250{
    1525115251    psFree(object->state);
     
    1525715257}
    1525815258
    15259 bool p5RunCreateTable(psDB *dbh)
     15259bool diffRunCreateTable(psDB *dbh)
    1526015260{
    1526115261    psMetadata *md = psMetadataAlloc();
    15262     if (!psMetadataAdd(md, PS_LIST_TAIL, "p5_id", PS_DATA_S32, "Primary Key AUTO_INCREMENT", 0)) {
    15263         psError(PS_ERR_UNKNOWN, false, "failed to add item p5_id");
     15262    if (!psMetadataAdd(md, PS_LIST_TAIL, "diff_id", PS_DATA_S32, "Primary Key AUTO_INCREMENT", 0)) {
     15263        psError(PS_ERR_UNKNOWN, false, "failed to add item diff_id");
    1526415264        psFree(md);
    1526515265        return false;
     
    1529615296    }
    1529715297
    15298     bool status = psDBCreateTable(dbh, P5RUN_TABLE_NAME, md);
     15298    bool status = psDBCreateTable(dbh, DIFFRUN_TABLE_NAME, md);
    1529915299
    1530015300    psFree(md);
     
    1530315303}
    1530415304
    15305 bool p5RunDropTable(psDB *dbh)
    15306 {
    15307     return psDBDropTable(dbh, P5RUN_TABLE_NAME);
    15308 }
    15309 
    15310 bool p5RunInsert(psDB * dbh, psS32 p5_id, const char *state, const char *workdir, const char *dvodb, psTime* registered, const char *skycell_id, const char *tess_id)
     15305bool diffRunDropTable(psDB *dbh)
     15306{
     15307    return psDBDropTable(dbh, DIFFRUN_TABLE_NAME);
     15308}
     15309
     15310bool diffRunInsert(psDB * dbh, psS32 diff_id, const char *state, const char *workdir, const char *dvodb, psTime* registered, const char *skycell_id, const char *tess_id)
    1531115311{
    1531215312    psMetadata *md = psMetadataAlloc();
    15313     if (!psMetadataAdd(md, PS_LIST_TAIL, "p5_id", PS_DATA_S32, NULL, p5_id)) {
    15314         psError(PS_ERR_UNKNOWN, false, "failed to add item p5_id");
     15313    if (!psMetadataAdd(md, PS_LIST_TAIL, "diff_id", PS_DATA_S32, NULL, diff_id)) {
     15314        psError(PS_ERR_UNKNOWN, false, "failed to add item diff_id");
    1531515315        psFree(md);
    1531615316        return false;
     
    1534715347    }
    1534815348
    15349     bool status = psDBInsertOneRow(dbh, P5RUN_TABLE_NAME, md);
     15349    bool status = psDBInsertOneRow(dbh, DIFFRUN_TABLE_NAME, md);
    1535015350    psFree(md);
    1535115351
     
    1535315353}
    1535415354
    15355 long long p5RunDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
     15355long long diffRunDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
    1535615356{
    1535715357    long long       deleted = 0;
    1535815358
    15359     long long count = psDBDeleteRows(dbh, P5RUN_TABLE_NAME, where, limit);
     15359    long long count = psDBDeleteRows(dbh, DIFFRUN_TABLE_NAME, where, limit);
    1536015360    if (count < 0) {
    15361         psError(PS_ERR_UNKNOWN, true, "failed to delete row from p5Run");
     15361        psError(PS_ERR_UNKNOWN, true, "failed to delete row from diffRun");
    1536215362        return count;
    1536315363
     
    1536715367    return deleted;
    1536815368}
    15369 bool p5RunInsertObject(psDB *dbh, p5RunRow *object)
    15370 {
    15371     return p5RunInsert(dbh, object->p5_id, object->state, object->workdir, object->dvodb, object->registered, object->skycell_id, object->tess_id);
    15372 }
    15373 
    15374 bool p5RunInsertObjects(psDB *dbh, psArray *objects)
     15369bool diffRunInsertObject(psDB *dbh, diffRunRow *object)
     15370{
     15371    return diffRunInsert(dbh, object->diff_id, object->state, object->workdir, object->dvodb, object->registered, object->skycell_id, object->tess_id);
     15372}
     15373
     15374bool diffRunInsertObjects(psDB *dbh, psArray *objects)
    1537515375{
    1537615376    for (long i = 0; i < psArrayLength(objects); i++) {
    15377         if (!p5RunInsertObject(dbh, objects->data[i])) {
     15377        if (!diffRunInsertObject(dbh, objects->data[i])) {
    1537815378            return false;
    1537915379        }
     
    1538315383}
    1538415384
    15385 bool p5RunInsertFits(psDB *dbh, const psFits *fits)
     15385bool diffRunInsertFits(psDB *dbh, const psFits *fits)
    1538615386{
    1538715387    psArray         *rowSet;
    1538815388
    15389     // move to (the first?) extension named  P5RUN_TABLE_NAME
    15390     if (!psFitsMoveExtName(fits, P5RUN_TABLE_NAME)) {
    15391         psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P5RUN_TABLE_NAME);
     15389    // move to (the first?) extension named  DIFFRUN_TABLE_NAME
     15390    if (!psFitsMoveExtName(fits, DIFFRUN_TABLE_NAME)) {
     15391        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", DIFFRUN_TABLE_NAME);
    1539215392        return false;
    1539315393    }
     
    1540715407    }
    1540815408
    15409     if (!psDBInsertRows(dbh, P5RUN_TABLE_NAME, rowSet)) {
     15409    if (!psDBInsertRows(dbh, DIFFRUN_TABLE_NAME, rowSet)) {
    1541015410        psError(PS_ERR_UNKNOWN, false, "databse insert failed");
    1541115411        psFree(rowSet);
     
    1541815418}
    1541915419
    15420 bool p5RunSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
     15420bool diffRunSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
    1542115421{
    1542215422    psArray         *rowSet;
    1542315423
    15424     rowSet = psDBSelectRows(dbh, P5RUN_TABLE_NAME, where, limit);
     15424    rowSet = psDBSelectRows(dbh, DIFFRUN_TABLE_NAME, where, limit);
    1542515425    if (!rowSet) {
    1542615426        return false;
     
    1542815428
    1542915429    // output to fits
    15430     if (!psFitsWriteTable(fits, NULL, rowSet, P5RUN_TABLE_NAME)) {
     15430    if (!psFitsWriteTable(fits, NULL, rowSet, DIFFRUN_TABLE_NAME)) {
    1543115431        psError(PS_ERR_UNKNOWN, false, "FITS table write failed");
    1543215432        psFree(rowSet);
     
    1543915439}
    1544015440
    15441 psMetadata *p5RunMetadataFromObject(const p5RunRow *object)
     15441psMetadata *diffRunMetadataFromObject(const diffRunRow *object)
    1544215442{
    1544315443    psMetadata *md = psMetadataAlloc();
    15444     if (!psMetadataAdd(md, PS_LIST_TAIL, "p5_id", PS_DATA_S32, NULL, object->p5_id)) {
    15445         psError(PS_ERR_UNKNOWN, false, "failed to add item p5_id");
     15444    if (!psMetadataAdd(md, PS_LIST_TAIL, "diff_id", PS_DATA_S32, NULL, object->diff_id)) {
     15445        psError(PS_ERR_UNKNOWN, false, "failed to add item diff_id");
    1544615446        psFree(md);
    1544715447        return false;
     
    1548215482}
    1548315483
    15484 p5RunRow *p5RunObjectFromMetadata(psMetadata *md)
     15484diffRunRow *diffRunObjectFromMetadata(psMetadata *md)
    1548515485{
    1548615486
    1548715487bool status = false;
    15488     psS32 p5_id = psMetadataLookupS32(&status, md, "p5_id");
    15489     if (!status) {
    15490         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p5_id");
     15488    psS32 diff_id = psMetadataLookupS32(&status, md, "diff_id");
     15489    if (!status) {
     15490        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item diff_id");
    1549115491        return false;
    1549215492    }
     
    1552215522    }
    1552315523
    15524     return p5RunRowAlloc(p5_id, state, workdir, dvodb, registered, skycell_id, tess_id);
    15525 }
    15526 psArray *p5RunSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     15524    return diffRunRowAlloc(diff_id, state, workdir, dvodb, registered, skycell_id, tess_id);
     15525}
     15526psArray *diffRunSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
    1552715527{
    1552815528    psArray         *rowSet;
     
    1553015530    psU64           i;
    1553115531
    15532     rowSet = psDBSelectRows(dbh, P5RUN_TABLE_NAME, where, limit);
     15532    rowSet = psDBSelectRows(dbh, DIFFRUN_TABLE_NAME, where, limit);
    1553315533    if (!rowSet) {
    1553415534        return NULL;
     
    1554015540
    1554115541    for (i = 0; i < rowSet->n; i++) {
    15542         p5RunRow *object = p5RunObjectFromMetadata(rowSet->data[i]);
     15542        diffRunRow *object = diffRunObjectFromMetadata(rowSet->data[i]);
    1554315543        psArrayAdd(returnSet, 0, object);
    1554415544        psFree(object);
     
    1554915549    return returnSet;
    1555015550}
    15551 bool p5RunDeleteObject(psDB *dbh, const p5RunRow *object)
    15552 {
    15553     psMetadata *where = p5RunMetadataFromObject(object);
    15554     long long count = psDBDeleteRows(dbh, P5RUN_TABLE_NAME, where, 0);
     15551bool diffRunDeleteObject(psDB *dbh, const diffRunRow *object)
     15552{
     15553    psMetadata *where = diffRunMetadataFromObject(object);
     15554    long long count = psDBDeleteRows(dbh, DIFFRUN_TABLE_NAME, where, 0);
    1555515555    psFree(where);
    1555615556    if (count < 0) {
    15557         psError(PS_ERR_UNKNOWN, true, "failed to delete row from p5Run");
     15557        psError(PS_ERR_UNKNOWN, true, "failed to delete row from diffRun");
    1555815558        return false;
    1555915559    }
     
    1556115561        // XXX should this be a psAbort() instead?  It is possible that
    1556215562        // having an object match multiple rows was by design.
    15563         psError(PS_ERR_UNKNOWN, true, "p5RunRow object matched more then one row.  Check your database schema");
    15564         return false;
    15565     }
    15566 
    15567     return true;
    15568 }
    15569 long long p5RunDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
     15563        psError(PS_ERR_UNKNOWN, true, "diffRunRow object matched more then one row.  Check your database schema");
     15564        return false;
     15565    }
     15566
     15567    return true;
     15568}
     15569long long diffRunDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
    1557015570{
    1557115571    long long       deleted = 0;
    1557215572
    1557315573    for (long long i = 0; i < objects->n; i++) {
    15574         p5RunRow *object = objects->data[i];
    15575         psMetadata *where = p5RunMetadataFromObject(object);
    15576         long long count = psDBDeleteRows(dbh, P5RUN_TABLE_NAME, where, limit);
     15574        diffRunRow *object = objects->data[i];
     15575        psMetadata *where = diffRunMetadataFromObject(object);
     15576        long long count = psDBDeleteRows(dbh, DIFFRUN_TABLE_NAME, where, limit);
    1557715577        psFree(where);
    1557815578        if (count < 0) {
    15579             psError(PS_ERR_UNKNOWN, true, "failed to delete row from p5Run");
     15579            psError(PS_ERR_UNKNOWN, true, "failed to delete row from diffRun");
    1558015580            return count;
    1558115581        }
     
    1558615586    return deleted;
    1558715587}
    15588 bool p5RunPrintObjects(FILE *stream, psArray *objects, bool mdcf)
     15588bool diffRunPrintObjects(FILE *stream, psArray *objects, bool mdcf)
    1558915589{
    1559015590    PS_ASSERT_PTR_NON_NULL(objects, false);
     
    1559215592    psMetadata *output = psMetadataAlloc();
    1559315593    for (long i = 0; i < psArrayLength(objects); i++) {
    15594         psMetadata *md = p5RunMetadataFromObject(objects->data[i]);
     15594        psMetadata *md = diffRunMetadataFromObject(objects->data[i]);
    1559515595        if (!psMetadataAddMetadata(
    1559615596            output,
    1559715597            PS_LIST_TAIL,
    15598             P5RUN_TABLE_NAME,
     15598            DIFFRUN_TABLE_NAME,
    1559915599            PS_META_DUPLICATE_OK,
    1560015600            NULL,
     
    1561715617    return true;
    1561815618}
    15619 bool p5RunPrintObject(FILE *stream, p5RunRow *object, bool mdcf)
     15619bool diffRunPrintObject(FILE *stream, diffRunRow *object, bool mdcf)
    1562015620{
    1562115621    PS_ASSERT_PTR_NON_NULL(object, false);
    1562215622
    15623     psMetadata *md = p5RunMetadataFromObject(object);
     15623    psMetadata *md = diffRunMetadataFromObject(object);
    1562415624
    1562515625    if (!ippdbPrintMetadataRaw(stream, md, mdcf)) {
     
    1563215632    return true;
    1563315633}
    15634 static void p5InputSkyfileRowFree(p5InputSkyfileRow *object);
    15635 
    15636 p5InputSkyfileRow *p5InputSkyfileRowAlloc(psS32 p5_id, psS32 p4_id, const char *skycell_id, const char *tess_id, const char *kind, bool template)
    15637 {
    15638     p5InputSkyfileRow *_object;
    15639 
    15640     _object = psAlloc(sizeof(p5InputSkyfileRow));
    15641     psMemSetDeallocator(_object, (psFreeFunc)p5InputSkyfileRowFree);
    15642 
    15643     _object->p5_id = p5_id;
    15644     _object->p4_id = p4_id;
     15634static void diffInputSkyfileRowFree(diffInputSkyfileRow *object);
     15635
     15636diffInputSkyfileRow *diffInputSkyfileRowAlloc(psS32 diff_id, psS32 warp_id, const char *skycell_id, const char *tess_id, const char *kind, bool template)
     15637{
     15638    diffInputSkyfileRow *_object;
     15639
     15640    _object = psAlloc(sizeof(diffInputSkyfileRow));
     15641    psMemSetDeallocator(_object, (psFreeFunc)diffInputSkyfileRowFree);
     15642
     15643    _object->diff_id = diff_id;
     15644    _object->warp_id = warp_id;
    1564515645    _object->skycell_id = psStringCopy(skycell_id);
    1564615646    _object->tess_id = psStringCopy(tess_id);
     
    1565115651}
    1565215652
    15653 static void p5InputSkyfileRowFree(p5InputSkyfileRow *object)
     15653static void diffInputSkyfileRowFree(diffInputSkyfileRow *object)
    1565415654{
    1565515655    psFree(object->skycell_id);
     
    1565815658}
    1565915659
    15660 bool p5InputSkyfileCreateTable(psDB *dbh)
     15660bool diffInputSkyfileCreateTable(psDB *dbh)
    1566115661{
    1566215662    psMetadata *md = psMetadataAlloc();
    15663     if (!psMetadataAdd(md, PS_LIST_TAIL, "p5_id", PS_DATA_S32, "Primary Key", 0)) {
    15664         psError(PS_ERR_UNKNOWN, false, "failed to add item p5_id");
    15665         psFree(md);
    15666         return false;
    15667     }
    15668     if (!psMetadataAdd(md, PS_LIST_TAIL, "p4_id", PS_DATA_S32, "Primary Key", 0)) {
    15669         psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");
     15663    if (!psMetadataAdd(md, PS_LIST_TAIL, "diff_id", PS_DATA_S32, "Primary Key", 0)) {
     15664        psError(PS_ERR_UNKNOWN, false, "failed to add item diff_id");
     15665        psFree(md);
     15666        return false;
     15667    }
     15668    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, "Primary Key", 0)) {
     15669        psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
    1567015670        psFree(md);
    1567115671        return false;
     
    1569215692    }
    1569315693
    15694     bool status = psDBCreateTable(dbh, P5INPUTSKYFILE_TABLE_NAME, md);
     15694    bool status = psDBCreateTable(dbh, DIFFINPUTSKYFILE_TABLE_NAME, md);
    1569515695
    1569615696    psFree(md);
     
    1569915699}
    1570015700
    15701 bool p5InputSkyfileDropTable(psDB *dbh)
    15702 {
    15703     return psDBDropTable(dbh, P5INPUTSKYFILE_TABLE_NAME);
    15704 }
    15705 
    15706 bool p5InputSkyfileInsert(psDB * dbh, psS32 p5_id, psS32 p4_id, const char *skycell_id, const char *tess_id, const char *kind, bool template)
     15701bool diffInputSkyfileDropTable(psDB *dbh)
     15702{
     15703    return psDBDropTable(dbh, DIFFINPUTSKYFILE_TABLE_NAME);
     15704}
     15705
     15706bool diffInputSkyfileInsert(psDB * dbh, psS32 diff_id, psS32 warp_id, const char *skycell_id, const char *tess_id, const char *kind, bool template)
    1570715707{
    1570815708    psMetadata *md = psMetadataAlloc();
    15709     if (!psMetadataAdd(md, PS_LIST_TAIL, "p5_id", PS_DATA_S32, NULL, p5_id)) {
    15710         psError(PS_ERR_UNKNOWN, false, "failed to add item p5_id");
    15711         psFree(md);
    15712         return false;
    15713     }
    15714     if (!psMetadataAdd(md, PS_LIST_TAIL, "p4_id", PS_DATA_S32, NULL, p4_id)) {
    15715         psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");
     15709    if (!psMetadataAdd(md, PS_LIST_TAIL, "diff_id", PS_DATA_S32, NULL, diff_id)) {
     15710        psError(PS_ERR_UNKNOWN, false, "failed to add item diff_id");
     15711        psFree(md);
     15712        return false;
     15713    }
     15714    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, NULL, warp_id)) {
     15715        psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
    1571615716        psFree(md);
    1571715717        return false;
     
    1573815738    }
    1573915739
    15740     bool status = psDBInsertOneRow(dbh, P5INPUTSKYFILE_TABLE_NAME, md);
     15740    bool status = psDBInsertOneRow(dbh, DIFFINPUTSKYFILE_TABLE_NAME, md);
    1574115741    psFree(md);
    1574215742
     
    1574415744}
    1574515745
    15746 long long p5InputSkyfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
     15746long long diffInputSkyfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
    1574715747{
    1574815748    long long       deleted = 0;
    1574915749
    15750     long long count = psDBDeleteRows(dbh, P5INPUTSKYFILE_TABLE_NAME, where, limit);
     15750    long long count = psDBDeleteRows(dbh, DIFFINPUTSKYFILE_TABLE_NAME, where, limit);
    1575115751    if (count < 0) {
    15752         psError(PS_ERR_UNKNOWN, true, "failed to delete row from p5InputSkyfile");
     15752        psError(PS_ERR_UNKNOWN, true, "failed to delete row from diffInputSkyfile");
    1575315753        return count;
    1575415754
     
    1575815758    return deleted;
    1575915759}
    15760 bool p5InputSkyfileInsertObject(psDB *dbh, p5InputSkyfileRow *object)
    15761 {
    15762     return p5InputSkyfileInsert(dbh, object->p5_id, object->p4_id, object->skycell_id, object->tess_id, object->kind, object->template);
    15763 }
    15764 
    15765 bool p5InputSkyfileInsertObjects(psDB *dbh, psArray *objects)
     15760bool diffInputSkyfileInsertObject(psDB *dbh, diffInputSkyfileRow *object)
     15761{
     15762    return diffInputSkyfileInsert(dbh, object->diff_id, object->warp_id, object->skycell_id, object->tess_id, object->kind, object->template);
     15763}
     15764
     15765bool diffInputSkyfileInsertObjects(psDB *dbh, psArray *objects)
    1576615766{
    1576715767    for (long i = 0; i < psArrayLength(objects); i++) {
    15768         if (!p5InputSkyfileInsertObject(dbh, objects->data[i])) {
     15768        if (!diffInputSkyfileInsertObject(dbh, objects->data[i])) {
    1576915769            return false;
    1577015770        }
     
    1577415774}
    1577515775
    15776 bool p5InputSkyfileInsertFits(psDB *dbh, const psFits *fits)
     15776bool diffInputSkyfileInsertFits(psDB *dbh, const psFits *fits)
    1577715777{
    1577815778    psArray         *rowSet;
    1577915779
    15780     // move to (the first?) extension named  P5INPUTSKYFILE_TABLE_NAME
    15781     if (!psFitsMoveExtName(fits, P5INPUTSKYFILE_TABLE_NAME)) {
    15782         psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P5INPUTSKYFILE_TABLE_NAME);
     15780    // move to (the first?) extension named  DIFFINPUTSKYFILE_TABLE_NAME
     15781    if (!psFitsMoveExtName(fits, DIFFINPUTSKYFILE_TABLE_NAME)) {
     15782        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", DIFFINPUTSKYFILE_TABLE_NAME);
    1578315783        return false;
    1578415784    }
     
    1579815798    }
    1579915799
    15800     if (!psDBInsertRows(dbh, P5INPUTSKYFILE_TABLE_NAME, rowSet)) {
     15800    if (!psDBInsertRows(dbh, DIFFINPUTSKYFILE_TABLE_NAME, rowSet)) {
    1580115801        psError(PS_ERR_UNKNOWN, false, "databse insert failed");
    1580215802        psFree(rowSet);
     
    1580915809}
    1581015810
    15811 bool p5InputSkyfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
     15811bool diffInputSkyfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
    1581215812{
    1581315813    psArray         *rowSet;
    1581415814
    15815     rowSet = psDBSelectRows(dbh, P5INPUTSKYFILE_TABLE_NAME, where, limit);
     15815    rowSet = psDBSelectRows(dbh, DIFFINPUTSKYFILE_TABLE_NAME, where, limit);
    1581615816    if (!rowSet) {
    1581715817        return false;
     
    1581915819
    1582015820    // output to fits
    15821     if (!psFitsWriteTable(fits, NULL, rowSet, P5INPUTSKYFILE_TABLE_NAME)) {
     15821    if (!psFitsWriteTable(fits, NULL, rowSet, DIFFINPUTSKYFILE_TABLE_NAME)) {
    1582215822        psError(PS_ERR_UNKNOWN, false, "FITS table write failed");
    1582315823        psFree(rowSet);
     
    1583015830}
    1583115831
    15832 psMetadata *p5InputSkyfileMetadataFromObject(const p5InputSkyfileRow *object)
     15832psMetadata *diffInputSkyfileMetadataFromObject(const diffInputSkyfileRow *object)
    1583315833{
    1583415834    psMetadata *md = psMetadataAlloc();
    15835     if (!psMetadataAdd(md, PS_LIST_TAIL, "p5_id", PS_DATA_S32, NULL, object->p5_id)) {
    15836         psError(PS_ERR_UNKNOWN, false, "failed to add item p5_id");
    15837         psFree(md);
    15838         return false;
    15839     }
    15840     if (!psMetadataAdd(md, PS_LIST_TAIL, "p4_id", PS_DATA_S32, NULL, object->p4_id)) {
    15841         psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");
     15835    if (!psMetadataAdd(md, PS_LIST_TAIL, "diff_id", PS_DATA_S32, NULL, object->diff_id)) {
     15836        psError(PS_ERR_UNKNOWN, false, "failed to add item diff_id");
     15837        psFree(md);
     15838        return false;
     15839    }
     15840    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, NULL, object->warp_id)) {
     15841        psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
    1584215842        psFree(md);
    1584315843        return false;
     
    1586815868}
    1586915869
    15870 p5InputSkyfileRow *p5InputSkyfileObjectFromMetadata(psMetadata *md)
     15870diffInputSkyfileRow *diffInputSkyfileObjectFromMetadata(psMetadata *md)
    1587115871{
    1587215872
    1587315873bool status = false;
    15874     psS32 p5_id = psMetadataLookupS32(&status, md, "p5_id");
    15875     if (!status) {
    15876         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p5_id");
    15877         return false;
    15878     }
    15879     psS32 p4_id = psMetadataLookupS32(&status, md, "p4_id");
    15880     if (!status) {
    15881         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p4_id");
     15874    psS32 diff_id = psMetadataLookupS32(&status, md, "diff_id");
     15875    if (!status) {
     15876        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item diff_id");
     15877        return false;
     15878    }
     15879    psS32 warp_id = psMetadataLookupS32(&status, md, "warp_id");
     15880    if (!status) {
     15881        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item warp_id");
    1588215882        return false;
    1588315883    }
     
    1590315903    }
    1590415904
    15905     return p5InputSkyfileRowAlloc(p5_id, p4_id, skycell_id, tess_id, kind, template);
    15906 }
    15907 psArray *p5InputSkyfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     15905    return diffInputSkyfileRowAlloc(diff_id, warp_id, skycell_id, tess_id, kind, template);
     15906}
     15907psArray *diffInputSkyfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
    1590815908{
    1590915909    psArray         *rowSet;
     
    1591115911    psU64           i;
    1591215912
    15913     rowSet = psDBSelectRows(dbh, P5INPUTSKYFILE_TABLE_NAME, where, limit);
     15913    rowSet = psDBSelectRows(dbh, DIFFINPUTSKYFILE_TABLE_NAME, where, limit);
    1591415914    if (!rowSet) {
    1591515915        return NULL;
     
    1592115921
    1592215922    for (i = 0; i < rowSet->n; i++) {
    15923         p5InputSkyfileRow *object = p5InputSkyfileObjectFromMetadata(rowSet->data[i]);
     15923        diffInputSkyfileRow *object = diffInputSkyfileObjectFromMetadata(rowSet->data[i]);
    1592415924        psArrayAdd(returnSet, 0, object);
    1592515925        psFree(object);
     
    1593015930    return returnSet;
    1593115931}
    15932 bool p5InputSkyfileDeleteObject(psDB *dbh, const p5InputSkyfileRow *object)
    15933 {
    15934     psMetadata *where = p5InputSkyfileMetadataFromObject(object);
    15935     long long count = psDBDeleteRows(dbh, P5INPUTSKYFILE_TABLE_NAME, where, 0);
     15932bool diffInputSkyfileDeleteObject(psDB *dbh, const diffInputSkyfileRow *object)
     15933{
     15934    psMetadata *where = diffInputSkyfileMetadataFromObject(object);
     15935    long long count = psDBDeleteRows(dbh, DIFFINPUTSKYFILE_TABLE_NAME, where, 0);
    1593615936    psFree(where);
    1593715937    if (count < 0) {
    15938         psError(PS_ERR_UNKNOWN, true, "failed to delete row from p5InputSkyfile");
     15938        psError(PS_ERR_UNKNOWN, true, "failed to delete row from diffInputSkyfile");
    1593915939        return false;
    1594015940    }
     
    1594215942        // XXX should this be a psAbort() instead?  It is possible that
    1594315943        // having an object match multiple rows was by design.
    15944         psError(PS_ERR_UNKNOWN, true, "p5InputSkyfileRow object matched more then one row.  Check your database schema");
    15945         return false;
    15946     }
    15947 
    15948     return true;
    15949 }
    15950 long long p5InputSkyfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
     15944        psError(PS_ERR_UNKNOWN, true, "diffInputSkyfileRow object matched more then one row.  Check your database schema");
     15945        return false;
     15946    }
     15947
     15948    return true;
     15949}
     15950long long diffInputSkyfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
    1595115951{
    1595215952    long long       deleted = 0;
    1595315953
    1595415954    for (long long i = 0; i < objects->n; i++) {
    15955         p5InputSkyfileRow *object = objects->data[i];
    15956         psMetadata *where = p5InputSkyfileMetadataFromObject(object);
    15957         long long count = psDBDeleteRows(dbh, P5INPUTSKYFILE_TABLE_NAME, where, limit);
     15955        diffInputSkyfileRow *object = objects->data[i];
     15956        psMetadata *where = diffInputSkyfileMetadataFromObject(object);
     15957        long long count = psDBDeleteRows(dbh, DIFFINPUTSKYFILE_TABLE_NAME, where, limit);
    1595815958        psFree(where);
    1595915959        if (count < 0) {
    15960             psError(PS_ERR_UNKNOWN, true, "failed to delete row from p5InputSkyfile");
     15960            psError(PS_ERR_UNKNOWN, true, "failed to delete row from diffInputSkyfile");
    1596115961            return count;
    1596215962        }
     
    1596715967    return deleted;
    1596815968}
    15969 bool p5InputSkyfilePrintObjects(FILE *stream, psArray *objects, bool mdcf)
     15969bool diffInputSkyfilePrintObjects(FILE *stream, psArray *objects, bool mdcf)
    1597015970{
    1597115971    PS_ASSERT_PTR_NON_NULL(objects, false);
     
    1597315973    psMetadata *output = psMetadataAlloc();
    1597415974    for (long i = 0; i < psArrayLength(objects); i++) {
    15975         psMetadata *md = p5InputSkyfileMetadataFromObject(objects->data[i]);
     15975        psMetadata *md = diffInputSkyfileMetadataFromObject(objects->data[i]);
    1597615976        if (!psMetadataAddMetadata(
    1597715977            output,
    1597815978            PS_LIST_TAIL,
    15979             P5INPUTSKYFILE_TABLE_NAME,
     15979            DIFFINPUTSKYFILE_TABLE_NAME,
    1598015980            PS_META_DUPLICATE_OK,
    1598115981            NULL,
     
    1599815998    return true;
    1599915999}
    16000 bool p5InputSkyfilePrintObject(FILE *stream, p5InputSkyfileRow *object, bool mdcf)
     16000bool diffInputSkyfilePrintObject(FILE *stream, diffInputSkyfileRow *object, bool mdcf)
    1600116001{
    1600216002    PS_ASSERT_PTR_NON_NULL(object, false);
    1600316003
    16004     psMetadata *md = p5InputSkyfileMetadataFromObject(object);
     16004    psMetadata *md = diffInputSkyfileMetadataFromObject(object);
    1600516005
    1600616006    if (!ippdbPrintMetadataRaw(stream, md, mdcf)) {
     
    1601316013    return true;
    1601416014}
    16015 static void p5DiffSkyfileRowFree(p5DiffSkyfileRow *object);
    16016 
    16017 p5DiffSkyfileRow *p5DiffSkyfileRowAlloc(psS32 p5_id, const char *uri, psF64 bg, psF64 bg_mean_stdev)
    16018 {
    16019     p5DiffSkyfileRow *_object;
    16020 
    16021     _object = psAlloc(sizeof(p5DiffSkyfileRow));
    16022     psMemSetDeallocator(_object, (psFreeFunc)p5DiffSkyfileRowFree);
    16023 
    16024     _object->p5_id = p5_id;
     16015static void diffSkyfileRowFree(diffSkyfileRow *object);
     16016
     16017diffSkyfileRow *diffSkyfileRowAlloc(psS32 diff_id, const char *uri, psF64 bg, psF64 bg_mean_stdev)
     16018{
     16019    diffSkyfileRow *_object;
     16020
     16021    _object = psAlloc(sizeof(diffSkyfileRow));
     16022    psMemSetDeallocator(_object, (psFreeFunc)diffSkyfileRowFree);
     16023
     16024    _object->diff_id = diff_id;
    1602516025    _object->uri = psStringCopy(uri);
    1602616026    _object->bg = bg;
     
    1603016030}
    1603116031
    16032 static void p5DiffSkyfileRowFree(p5DiffSkyfileRow *object)
     16032static void diffSkyfileRowFree(diffSkyfileRow *object)
    1603316033{
    1603416034    psFree(object->uri);
    1603516035}
    1603616036
    16037 bool p5DiffSkyfileCreateTable(psDB *dbh)
     16037bool diffSkyfileCreateTable(psDB *dbh)
    1603816038{
    1603916039    psMetadata *md = psMetadataAlloc();
    16040     if (!psMetadataAdd(md, PS_LIST_TAIL, "p5_id", PS_DATA_S32, "Primary Key", 0)) {
    16041         psError(PS_ERR_UNKNOWN, false, "failed to add item p5_id");
     16040    if (!psMetadataAdd(md, PS_LIST_TAIL, "diff_id", PS_DATA_S32, "Primary Key", 0)) {
     16041        psError(PS_ERR_UNKNOWN, false, "failed to add item diff_id");
    1604216042        psFree(md);
    1604316043        return false;
     
    1605916059    }
    1606016060
    16061     bool status = psDBCreateTable(dbh, P5DIFFSKYFILE_TABLE_NAME, md);
     16061    bool status = psDBCreateTable(dbh, DIFFSKYFILE_TABLE_NAME, md);
    1606216062
    1606316063    psFree(md);
     
    1606616066}
    1606716067
    16068 bool p5DiffSkyfileDropTable(psDB *dbh)
    16069 {
    16070     return psDBDropTable(dbh, P5DIFFSKYFILE_TABLE_NAME);
    16071 }
    16072 
    16073 bool p5DiffSkyfileInsert(psDB * dbh, psS32 p5_id, const char *uri, psF64 bg, psF64 bg_mean_stdev)
     16068bool diffSkyfileDropTable(psDB *dbh)
     16069{
     16070    return psDBDropTable(dbh, DIFFSKYFILE_TABLE_NAME);
     16071}
     16072
     16073bool diffSkyfileInsert(psDB * dbh, psS32 diff_id, const char *uri, psF64 bg, psF64 bg_mean_stdev)
    1607416074{
    1607516075    psMetadata *md = psMetadataAlloc();
    16076     if (!psMetadataAdd(md, PS_LIST_TAIL, "p5_id", PS_DATA_S32, NULL, p5_id)) {
    16077         psError(PS_ERR_UNKNOWN, false, "failed to add item p5_id");
     16076    if (!psMetadataAdd(md, PS_LIST_TAIL, "diff_id", PS_DATA_S32, NULL, diff_id)) {
     16077        psError(PS_ERR_UNKNOWN, false, "failed to add item diff_id");
    1607816078        psFree(md);
    1607916079        return false;
     
    1609516095    }
    1609616096
    16097     bool status = psDBInsertOneRow(dbh, P5DIFFSKYFILE_TABLE_NAME, md);
     16097    bool status = psDBInsertOneRow(dbh, DIFFSKYFILE_TABLE_NAME, md);
    1609816098    psFree(md);
    1609916099
     
    1610116101}
    1610216102
    16103 long long p5DiffSkyfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
     16103long long diffSkyfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
    1610416104{
    1610516105    long long       deleted = 0;
    1610616106
    16107     long long count = psDBDeleteRows(dbh, P5DIFFSKYFILE_TABLE_NAME, where, limit);
     16107    long long count = psDBDeleteRows(dbh, DIFFSKYFILE_TABLE_NAME, where, limit);
    1610816108    if (count < 0) {
    16109         psError(PS_ERR_UNKNOWN, true, "failed to delete row from p5DiffSkyfile");
     16109        psError(PS_ERR_UNKNOWN, true, "failed to delete row from diffSkyfile");
    1611016110        return count;
    1611116111
     
    1611516115    return deleted;
    1611616116}
    16117 bool p5DiffSkyfileInsertObject(psDB *dbh, p5DiffSkyfileRow *object)
    16118 {
    16119     return p5DiffSkyfileInsert(dbh, object->p5_id, object->uri, object->bg, object->bg_mean_stdev);
    16120 }
    16121 
    16122 bool p5DiffSkyfileInsertObjects(psDB *dbh, psArray *objects)
     16117bool diffSkyfileInsertObject(psDB *dbh, diffSkyfileRow *object)
     16118{
     16119    return diffSkyfileInsert(dbh, object->diff_id, object->uri, object->bg, object->bg_mean_stdev);
     16120}
     16121
     16122bool diffSkyfileInsertObjects(psDB *dbh, psArray *objects)
    1612316123{
    1612416124    for (long i = 0; i < psArrayLength(objects); i++) {
    16125         if (!p5DiffSkyfileInsertObject(dbh, objects->data[i])) {
     16125        if (!diffSkyfileInsertObject(dbh, objects->data[i])) {
    1612616126            return false;
    1612716127        }
     
    1613116131}
    1613216132
    16133 bool p5DiffSkyfileInsertFits(psDB *dbh, const psFits *fits)
     16133bool diffSkyfileInsertFits(psDB *dbh, const psFits *fits)
    1613416134{
    1613516135    psArray         *rowSet;
    1613616136
    16137     // move to (the first?) extension named  P5DIFFSKYFILE_TABLE_NAME
    16138     if (!psFitsMoveExtName(fits, P5DIFFSKYFILE_TABLE_NAME)) {
    16139         psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P5DIFFSKYFILE_TABLE_NAME);
     16137    // move to (the first?) extension named  DIFFSKYFILE_TABLE_NAME
     16138    if (!psFitsMoveExtName(fits, DIFFSKYFILE_TABLE_NAME)) {
     16139        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", DIFFSKYFILE_TABLE_NAME);
    1614016140        return false;
    1614116141    }
     
    1615516155    }
    1615616156
    16157     if (!psDBInsertRows(dbh, P5DIFFSKYFILE_TABLE_NAME, rowSet)) {
     16157    if (!psDBInsertRows(dbh, DIFFSKYFILE_TABLE_NAME, rowSet)) {
    1615816158        psError(PS_ERR_UNKNOWN, false, "databse insert failed");
    1615916159        psFree(rowSet);
     
    1616616166}
    1616716167
    16168 bool p5DiffSkyfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
     16168bool diffSkyfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
    1616916169{
    1617016170    psArray         *rowSet;
    1617116171
    16172     rowSet = psDBSelectRows(dbh, P5DIFFSKYFILE_TABLE_NAME, where, limit);
     16172    rowSet = psDBSelectRows(dbh, DIFFSKYFILE_TABLE_NAME, where, limit);
    1617316173    if (!rowSet) {
    1617416174        return false;
     
    1617616176
    1617716177    // output to fits
    16178     if (!psFitsWriteTable(fits, NULL, rowSet, P5DIFFSKYFILE_TABLE_NAME)) {
     16178    if (!psFitsWriteTable(fits, NULL, rowSet, DIFFSKYFILE_TABLE_NAME)) {
    1617916179        psError(PS_ERR_UNKNOWN, false, "FITS table write failed");
    1618016180        psFree(rowSet);
     
    1618716187}
    1618816188
    16189 psMetadata *p5DiffSkyfileMetadataFromObject(const p5DiffSkyfileRow *object)
     16189psMetadata *diffSkyfileMetadataFromObject(const diffSkyfileRow *object)
    1619016190{
    1619116191    psMetadata *md = psMetadataAlloc();
    16192     if (!psMetadataAdd(md, PS_LIST_TAIL, "p5_id", PS_DATA_S32, NULL, object->p5_id)) {
    16193         psError(PS_ERR_UNKNOWN, false, "failed to add item p5_id");
     16192    if (!psMetadataAdd(md, PS_LIST_TAIL, "diff_id", PS_DATA_S32, NULL, object->diff_id)) {
     16193        psError(PS_ERR_UNKNOWN, false, "failed to add item diff_id");
    1619416194        psFree(md);
    1619516195        return false;
     
    1621516215}
    1621616216
    16217 p5DiffSkyfileRow *p5DiffSkyfileObjectFromMetadata(psMetadata *md)
     16217diffSkyfileRow *diffSkyfileObjectFromMetadata(psMetadata *md)
    1621816218{
    1621916219
    1622016220bool status = false;
    16221     psS32 p5_id = psMetadataLookupS32(&status, md, "p5_id");
    16222     if (!status) {
    16223         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p5_id");
     16221    psS32 diff_id = psMetadataLookupS32(&status, md, "diff_id");
     16222    if (!status) {
     16223        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item diff_id");
    1622416224        return false;
    1622516225    }
     
    1624016240    }
    1624116241
    16242     return p5DiffSkyfileRowAlloc(p5_id, uri, bg, bg_mean_stdev);
    16243 }
    16244 psArray *p5DiffSkyfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     16242    return diffSkyfileRowAlloc(diff_id, uri, bg, bg_mean_stdev);
     16243}
     16244psArray *diffSkyfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
    1624516245{
    1624616246    psArray         *rowSet;
     
    1624816248    psU64           i;
    1624916249
    16250     rowSet = psDBSelectRows(dbh, P5DIFFSKYFILE_TABLE_NAME, where, limit);
     16250    rowSet = psDBSelectRows(dbh, DIFFSKYFILE_TABLE_NAME, where, limit);
    1625116251    if (!rowSet) {
    1625216252        return NULL;
     
    1625816258
    1625916259    for (i = 0; i < rowSet->n; i++) {
    16260         p5DiffSkyfileRow *object = p5DiffSkyfileObjectFromMetadata(rowSet->data[i]);
     16260        diffSkyfileRow *object = diffSkyfileObjectFromMetadata(rowSet->data[i]);
    1626116261        psArrayAdd(returnSet, 0, object);
    1626216262        psFree(object);
     
    1626716267    return returnSet;
    1626816268}
    16269 bool p5DiffSkyfileDeleteObject(psDB *dbh, const p5DiffSkyfileRow *object)
    16270 {
    16271     psMetadata *where = p5DiffSkyfileMetadataFromObject(object);
    16272     long long count = psDBDeleteRows(dbh, P5DIFFSKYFILE_TABLE_NAME, where, 0);
     16269bool diffSkyfileDeleteObject(psDB *dbh, const diffSkyfileRow *object)
     16270{
     16271    psMetadata *where = diffSkyfileMetadataFromObject(object);
     16272    long long count = psDBDeleteRows(dbh, DIFFSKYFILE_TABLE_NAME, where, 0);
    1627316273    psFree(where);
    1627416274    if (count < 0) {
    16275         psError(PS_ERR_UNKNOWN, true, "failed to delete row from p5DiffSkyfile");
     16275        psError(PS_ERR_UNKNOWN, true, "failed to delete row from diffSkyfile");
    1627616276        return false;
    1627716277    }
     
    1627916279        // XXX should this be a psAbort() instead?  It is possible that
    1628016280        // having an object match multiple rows was by design.
    16281         psError(PS_ERR_UNKNOWN, true, "p5DiffSkyfileRow object matched more then one row.  Check your database schema");
    16282         return false;
    16283     }
    16284 
    16285     return true;
    16286 }
    16287 long long p5DiffSkyfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
     16281        psError(PS_ERR_UNKNOWN, true, "diffSkyfileRow object matched more then one row.  Check your database schema");
     16282        return false;
     16283    }
     16284
     16285    return true;
     16286}
     16287long long diffSkyfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
    1628816288{
    1628916289    long long       deleted = 0;
    1629016290
    1629116291    for (long long i = 0; i < objects->n; i++) {
    16292         p5DiffSkyfileRow *object = objects->data[i];
    16293         psMetadata *where = p5DiffSkyfileMetadataFromObject(object);
    16294         long long count = psDBDeleteRows(dbh, P5DIFFSKYFILE_TABLE_NAME, where, limit);
     16292        diffSkyfileRow *object = objects->data[i];
     16293        psMetadata *where = diffSkyfileMetadataFromObject(object);
     16294        long long count = psDBDeleteRows(dbh, DIFFSKYFILE_TABLE_NAME, where, limit);
    1629516295        psFree(where);
    1629616296        if (count < 0) {
    16297             psError(PS_ERR_UNKNOWN, true, "failed to delete row from p5DiffSkyfile");
     16297            psError(PS_ERR_UNKNOWN, true, "failed to delete row from diffSkyfile");
    1629816298            return count;
    1629916299        }
     
    1630416304    return deleted;
    1630516305}
    16306 bool p5DiffSkyfilePrintObjects(FILE *stream, psArray *objects, bool mdcf)
     16306bool diffSkyfilePrintObjects(FILE *stream, psArray *objects, bool mdcf)
    1630716307{
    1630816308    PS_ASSERT_PTR_NON_NULL(objects, false);
     
    1631016310    psMetadata *output = psMetadataAlloc();
    1631116311    for (long i = 0; i < psArrayLength(objects); i++) {
    16312         psMetadata *md = p5DiffSkyfileMetadataFromObject(objects->data[i]);
     16312        psMetadata *md = diffSkyfileMetadataFromObject(objects->data[i]);
    1631316313        if (!psMetadataAddMetadata(
    1631416314            output,
    1631516315            PS_LIST_TAIL,
    16316             P5DIFFSKYFILE_TABLE_NAME,
     16316            DIFFSKYFILE_TABLE_NAME,
    1631716317            PS_META_DUPLICATE_OK,
    1631816318            NULL,
     
    1633516335    return true;
    1633616336}
    16337 bool p5DiffSkyfilePrintObject(FILE *stream, p5DiffSkyfileRow *object, bool mdcf)
     16337bool diffSkyfilePrintObject(FILE *stream, diffSkyfileRow *object, bool mdcf)
    1633816338{
    1633916339    PS_ASSERT_PTR_NON_NULL(object, false);
    1634016340
    16341     psMetadata *md = p5DiffSkyfileMetadataFromObject(object);
     16341    psMetadata *md = diffSkyfileMetadataFromObject(object);
    1634216342
    1634316343    if (!ippdbPrintMetadataRaw(stream, md, mdcf)) {
     
    1635016350    return true;
    1635116351}
    16352 static void p6RunRowFree(p6RunRow *object);
    16353 
    16354 p6RunRow *p6RunRowAlloc(psS32 p6_id, const char *state, const char *workdir, const char *dvodb, psTime* registered, const char *skycell_id, const char *tess_id)
    16355 {
    16356     p6RunRow        *_object;
    16357 
    16358     _object = psAlloc(sizeof(p6RunRow));
    16359     psMemSetDeallocator(_object, (psFreeFunc)p6RunRowFree);
    16360 
    16361     _object->p6_id = p6_id;
     16352static void stackRunRowFree(stackRunRow *object);
     16353
     16354stackRunRow *stackRunRowAlloc(psS32 stack_id, const char *state, const char *workdir, const char *dvodb, psTime* registered, const char *skycell_id, const char *tess_id)
     16355{
     16356    stackRunRow     *_object;
     16357
     16358    _object = psAlloc(sizeof(stackRunRow));
     16359    psMemSetDeallocator(_object, (psFreeFunc)stackRunRowFree);
     16360
     16361    _object->stack_id = stack_id;
    1636216362    _object->state = psStringCopy(state);
    1636316363    _object->workdir = psStringCopy(workdir);
     
    1637016370}
    1637116371
    16372 static void p6RunRowFree(p6RunRow *object)
     16372static void stackRunRowFree(stackRunRow *object)
    1637316373{
    1637416374    psFree(object->state);
     
    1638016380}
    1638116381
    16382 bool p6RunCreateTable(psDB *dbh)
     16382bool stackRunCreateTable(psDB *dbh)
    1638316383{
    1638416384    psMetadata *md = psMetadataAlloc();
    16385     if (!psMetadataAdd(md, PS_LIST_TAIL, "p6_id", PS_DATA_S32, "Primary Key AUTO_INCREMENT", 0)) {
    16386         psError(PS_ERR_UNKNOWN, false, "failed to add item p6_id");
     16385    if (!psMetadataAdd(md, PS_LIST_TAIL, "stack_id", PS_DATA_S32, "Primary Key AUTO_INCREMENT", 0)) {
     16386        psError(PS_ERR_UNKNOWN, false, "failed to add item stack_id");
    1638716387        psFree(md);
    1638816388        return false;
     
    1641916419    }
    1642016420
    16421     bool status = psDBCreateTable(dbh, P6RUN_TABLE_NAME, md);
     16421    bool status = psDBCreateTable(dbh, STACKRUN_TABLE_NAME, md);
    1642216422
    1642316423    psFree(md);
     
    1642616426}
    1642716427
    16428 bool p6RunDropTable(psDB *dbh)
    16429 {
    16430     return psDBDropTable(dbh, P6RUN_TABLE_NAME);
    16431 }
    16432 
    16433 bool p6RunInsert(psDB * dbh, psS32 p6_id, const char *state, const char *workdir, const char *dvodb, psTime* registered, const char *skycell_id, const char *tess_id)
     16428bool stackRunDropTable(psDB *dbh)
     16429{
     16430    return psDBDropTable(dbh, STACKRUN_TABLE_NAME);
     16431}
     16432
     16433bool stackRunInsert(psDB * dbh, psS32 stack_id, const char *state, const char *workdir, const char *dvodb, psTime* registered, const char *skycell_id, const char *tess_id)
    1643416434{
    1643516435    psMetadata *md = psMetadataAlloc();
    16436     if (!psMetadataAdd(md, PS_LIST_TAIL, "p6_id", PS_DATA_S32, NULL, p6_id)) {
    16437         psError(PS_ERR_UNKNOWN, false, "failed to add item p6_id");
     16436    if (!psMetadataAdd(md, PS_LIST_TAIL, "stack_id", PS_DATA_S32, NULL, stack_id)) {
     16437        psError(PS_ERR_UNKNOWN, false, "failed to add item stack_id");
    1643816438        psFree(md);
    1643916439        return false;
     
    1647016470    }
    1647116471
    16472     bool status = psDBInsertOneRow(dbh, P6RUN_TABLE_NAME, md);
     16472    bool status = psDBInsertOneRow(dbh, STACKRUN_TABLE_NAME, md);
    1647316473    psFree(md);
    1647416474
     
    1647616476}
    1647716477
    16478 long long p6RunDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
     16478long long stackRunDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
    1647916479{
    1648016480    long long       deleted = 0;
    1648116481
    16482     long long count = psDBDeleteRows(dbh, P6RUN_TABLE_NAME, where, limit);
     16482    long long count = psDBDeleteRows(dbh, STACKRUN_TABLE_NAME, where, limit);
    1648316483    if (count < 0) {
    16484         psError(PS_ERR_UNKNOWN, true, "failed to delete row from p6Run");
     16484        psError(PS_ERR_UNKNOWN, true, "failed to delete row from stackRun");
    1648516485        return count;
    1648616486
     
    1649016490    return deleted;
    1649116491}
    16492 bool p6RunInsertObject(psDB *dbh, p6RunRow *object)
    16493 {
    16494     return p6RunInsert(dbh, object->p6_id, object->state, object->workdir, object->dvodb, object->registered, object->skycell_id, object->tess_id);
    16495 }
    16496 
    16497 bool p6RunInsertObjects(psDB *dbh, psArray *objects)
     16492bool stackRunInsertObject(psDB *dbh, stackRunRow *object)
     16493{
     16494    return stackRunInsert(dbh, object->stack_id, object->state, object->workdir, object->dvodb, object->registered, object->skycell_id, object->tess_id);
     16495}
     16496
     16497bool stackRunInsertObjects(psDB *dbh, psArray *objects)
    1649816498{
    1649916499    for (long i = 0; i < psArrayLength(objects); i++) {
    16500         if (!p6RunInsertObject(dbh, objects->data[i])) {
     16500        if (!stackRunInsertObject(dbh, objects->data[i])) {
    1650116501            return false;
    1650216502        }
     
    1650616506}
    1650716507
    16508 bool p6RunInsertFits(psDB *dbh, const psFits *fits)
     16508bool stackRunInsertFits(psDB *dbh, const psFits *fits)
    1650916509{
    1651016510    psArray         *rowSet;
    1651116511
    16512     // move to (the first?) extension named  P6RUN_TABLE_NAME
    16513     if (!psFitsMoveExtName(fits, P6RUN_TABLE_NAME)) {
    16514         psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P6RUN_TABLE_NAME);
     16512    // move to (the first?) extension named  STACKRUN_TABLE_NAME
     16513    if (!psFitsMoveExtName(fits, STACKRUN_TABLE_NAME)) {
     16514        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", STACKRUN_TABLE_NAME);
    1651516515        return false;
    1651616516    }
     
    1653016530    }
    1653116531
    16532     if (!psDBInsertRows(dbh, P6RUN_TABLE_NAME, rowSet)) {
     16532    if (!psDBInsertRows(dbh, STACKRUN_TABLE_NAME, rowSet)) {
    1653316533        psError(PS_ERR_UNKNOWN, false, "databse insert failed");
    1653416534        psFree(rowSet);
     
    1654116541}
    1654216542
    16543 bool p6RunSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
     16543bool stackRunSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
    1654416544{
    1654516545    psArray         *rowSet;
    1654616546
    16547     rowSet = psDBSelectRows(dbh, P6RUN_TABLE_NAME, where, limit);
     16547    rowSet = psDBSelectRows(dbh, STACKRUN_TABLE_NAME, where, limit);
    1654816548    if (!rowSet) {
    1654916549        return false;
     
    1655116551
    1655216552    // output to fits
    16553     if (!psFitsWriteTable(fits, NULL, rowSet, P6RUN_TABLE_NAME)) {
     16553    if (!psFitsWriteTable(fits, NULL, rowSet, STACKRUN_TABLE_NAME)) {
    1655416554        psError(PS_ERR_UNKNOWN, false, "FITS table write failed");
    1655516555        psFree(rowSet);
     
    1656216562}
    1656316563
    16564 psMetadata *p6RunMetadataFromObject(const p6RunRow *object)
     16564psMetadata *stackRunMetadataFromObject(const stackRunRow *object)
    1656516565{
    1656616566    psMetadata *md = psMetadataAlloc();
    16567     if (!psMetadataAdd(md, PS_LIST_TAIL, "p6_id", PS_DATA_S32, NULL, object->p6_id)) {
    16568         psError(PS_ERR_UNKNOWN, false, "failed to add item p6_id");
     16567    if (!psMetadataAdd(md, PS_LIST_TAIL, "stack_id", PS_DATA_S32, NULL, object->stack_id)) {
     16568        psError(PS_ERR_UNKNOWN, false, "failed to add item stack_id");
    1656916569        psFree(md);
    1657016570        return false;
     
    1660516605}
    1660616606
    16607 p6RunRow *p6RunObjectFromMetadata(psMetadata *md)
     16607stackRunRow *stackRunObjectFromMetadata(psMetadata *md)
    1660816608{
    1660916609
    1661016610bool status = false;
    16611     psS32 p6_id = psMetadataLookupS32(&status, md, "p6_id");
    16612     if (!status) {
    16613         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p6_id");
     16611    psS32 stack_id = psMetadataLookupS32(&status, md, "stack_id");
     16612    if (!status) {
     16613        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item stack_id");
    1661416614        return false;
    1661516615    }
     
    1664516645    }
    1664616646
    16647     return p6RunRowAlloc(p6_id, state, workdir, dvodb, registered, skycell_id, tess_id);
    16648 }
    16649 psArray *p6RunSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     16647    return stackRunRowAlloc(stack_id, state, workdir, dvodb, registered, skycell_id, tess_id);
     16648}
     16649psArray *stackRunSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
    1665016650{
    1665116651    psArray         *rowSet;
     
    1665316653    psU64           i;
    1665416654
    16655     rowSet = psDBSelectRows(dbh, P6RUN_TABLE_NAME, where, limit);
     16655    rowSet = psDBSelectRows(dbh, STACKRUN_TABLE_NAME, where, limit);
    1665616656    if (!rowSet) {
    1665716657        return NULL;
     
    1666316663
    1666416664    for (i = 0; i < rowSet->n; i++) {
    16665         p6RunRow *object = p6RunObjectFromMetadata(rowSet->data[i]);
     16665        stackRunRow *object = stackRunObjectFromMetadata(rowSet->data[i]);
    1666616666        psArrayAdd(returnSet, 0, object);
    1666716667        psFree(object);
     
    1667216672    return returnSet;
    1667316673}
    16674 bool p6RunDeleteObject(psDB *dbh, const p6RunRow *object)
    16675 {
    16676     psMetadata *where = p6RunMetadataFromObject(object);
    16677     long long count = psDBDeleteRows(dbh, P6RUN_TABLE_NAME, where, 0);
     16674bool stackRunDeleteObject(psDB *dbh, const stackRunRow *object)
     16675{
     16676    psMetadata *where = stackRunMetadataFromObject(object);
     16677    long long count = psDBDeleteRows(dbh, STACKRUN_TABLE_NAME, where, 0);
    1667816678    psFree(where);
    1667916679    if (count < 0) {
    16680         psError(PS_ERR_UNKNOWN, true, "failed to delete row from p6Run");
     16680        psError(PS_ERR_UNKNOWN, true, "failed to delete row from stackRun");
    1668116681        return false;
    1668216682    }
     
    1668416684        // XXX should this be a psAbort() instead?  It is possible that
    1668516685        // having an object match multiple rows was by design.
    16686         psError(PS_ERR_UNKNOWN, true, "p6RunRow object matched more then one row.  Check your database schema");
    16687         return false;
    16688     }
    16689 
    16690     return true;
    16691 }
    16692 long long p6RunDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
     16686        psError(PS_ERR_UNKNOWN, true, "stackRunRow object matched more then one row.  Check your database schema");
     16687        return false;
     16688    }
     16689
     16690    return true;
     16691}
     16692long long stackRunDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
    1669316693{
    1669416694    long long       deleted = 0;
    1669516695
    1669616696    for (long long i = 0; i < objects->n; i++) {
    16697         p6RunRow *object = objects->data[i];
    16698         psMetadata *where = p6RunMetadataFromObject(object);
    16699         long long count = psDBDeleteRows(dbh, P6RUN_TABLE_NAME, where, limit);
     16697        stackRunRow *object = objects->data[i];
     16698        psMetadata *where = stackRunMetadataFromObject(object);
     16699        long long count = psDBDeleteRows(dbh, STACKRUN_TABLE_NAME, where, limit);
    1670016700        psFree(where);
    1670116701        if (count < 0) {
    16702             psError(PS_ERR_UNKNOWN, true, "failed to delete row from p6Run");
     16702            psError(PS_ERR_UNKNOWN, true, "failed to delete row from stackRun");
    1670316703            return count;
    1670416704        }
     
    1670916709    return deleted;
    1671016710}
    16711 bool p6RunPrintObjects(FILE *stream, psArray *objects, bool mdcf)
     16711bool stackRunPrintObjects(FILE *stream, psArray *objects, bool mdcf)
    1671216712{
    1671316713    PS_ASSERT_PTR_NON_NULL(objects, false);
     
    1671516715    psMetadata *output = psMetadataAlloc();
    1671616716    for (long i = 0; i < psArrayLength(objects); i++) {
    16717         psMetadata *md = p6RunMetadataFromObject(objects->data[i]);
     16717        psMetadata *md = stackRunMetadataFromObject(objects->data[i]);
    1671816718        if (!psMetadataAddMetadata(
    1671916719            output,
    1672016720            PS_LIST_TAIL,
    16721             P6RUN_TABLE_NAME,
     16721            STACKRUN_TABLE_NAME,
    1672216722            PS_META_DUPLICATE_OK,
    1672316723            NULL,
     
    1674016740    return true;
    1674116741}
    16742 bool p6RunPrintObject(FILE *stream, p6RunRow *object, bool mdcf)
     16742bool stackRunPrintObject(FILE *stream, stackRunRow *object, bool mdcf)
    1674316743{
    1674416744    PS_ASSERT_PTR_NON_NULL(object, false);
    1674516745
    16746     psMetadata *md = p6RunMetadataFromObject(object);
     16746    psMetadata *md = stackRunMetadataFromObject(object);
    1674716747
    1674816748    if (!ippdbPrintMetadataRaw(stream, md, mdcf)) {
     
    1675516755    return true;
    1675616756}
    16757 static void p6InputSkyfileRowFree(p6InputSkyfileRow *object);
    16758 
    16759 p6InputSkyfileRow *p6InputSkyfileRowAlloc(psS32 p6_id, psS32 p4_id)
    16760 {
    16761     p6InputSkyfileRow *_object;
    16762 
    16763     _object = psAlloc(sizeof(p6InputSkyfileRow));
    16764     psMemSetDeallocator(_object, (psFreeFunc)p6InputSkyfileRowFree);
    16765 
    16766     _object->p6_id = p6_id;
    16767     _object->p4_id = p4_id;
     16757static void stackInputSkyfileRowFree(stackInputSkyfileRow *object);
     16758
     16759stackInputSkyfileRow *stackInputSkyfileRowAlloc(psS32 stack_id, psS32 warp_id)
     16760{
     16761    stackInputSkyfileRow *_object;
     16762
     16763    _object = psAlloc(sizeof(stackInputSkyfileRow));
     16764    psMemSetDeallocator(_object, (psFreeFunc)stackInputSkyfileRowFree);
     16765
     16766    _object->stack_id = stack_id;
     16767    _object->warp_id = warp_id;
    1676816768
    1676916769    return _object;
    1677016770}
    1677116771
    16772 static void p6InputSkyfileRowFree(p6InputSkyfileRow *object)
    16773 {
    16774 }
    16775 
    16776 bool p6InputSkyfileCreateTable(psDB *dbh)
     16772static void stackInputSkyfileRowFree(stackInputSkyfileRow *object)
     16773{
     16774}
     16775
     16776bool stackInputSkyfileCreateTable(psDB *dbh)
    1677716777{
    1677816778    psMetadata *md = psMetadataAlloc();
    16779     if (!psMetadataAdd(md, PS_LIST_TAIL, "p6_id", PS_DATA_S32, "Primary Key", 0)) {
    16780         psError(PS_ERR_UNKNOWN, false, "failed to add item p6_id");
    16781         psFree(md);
    16782         return false;
    16783     }
    16784     if (!psMetadataAdd(md, PS_LIST_TAIL, "p4_id", PS_DATA_S32, "Primary Key", 0)) {
    16785         psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");
    16786         psFree(md);
    16787         return false;
    16788     }
    16789 
    16790     bool status = psDBCreateTable(dbh, P6INPUTSKYFILE_TABLE_NAME, md);
     16779    if (!psMetadataAdd(md, PS_LIST_TAIL, "stack_id", PS_DATA_S32, "Primary Key", 0)) {
     16780        psError(PS_ERR_UNKNOWN, false, "failed to add item stack_id");
     16781        psFree(md);
     16782        return false;
     16783    }
     16784    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, "Primary Key", 0)) {
     16785        psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
     16786        psFree(md);
     16787        return false;
     16788    }
     16789
     16790    bool status = psDBCreateTable(dbh, STACKINPUTSKYFILE_TABLE_NAME, md);
    1679116791
    1679216792    psFree(md);
     
    1679516795}
    1679616796
    16797 bool p6InputSkyfileDropTable(psDB *dbh)
    16798 {
    16799     return psDBDropTable(dbh, P6INPUTSKYFILE_TABLE_NAME);
    16800 }
    16801 
    16802 bool p6InputSkyfileInsert(psDB * dbh, psS32 p6_id, psS32 p4_id)
     16797bool stackInputSkyfileDropTable(psDB *dbh)
     16798{
     16799    return psDBDropTable(dbh, STACKINPUTSKYFILE_TABLE_NAME);
     16800}
     16801
     16802bool stackInputSkyfileInsert(psDB * dbh, psS32 stack_id, psS32 warp_id)
    1680316803{
    1680416804    psMetadata *md = psMetadataAlloc();
    16805     if (!psMetadataAdd(md, PS_LIST_TAIL, "p6_id", PS_DATA_S32, NULL, p6_id)) {
    16806         psError(PS_ERR_UNKNOWN, false, "failed to add item p6_id");
    16807         psFree(md);
    16808         return false;
    16809     }
    16810     if (!psMetadataAdd(md, PS_LIST_TAIL, "p4_id", PS_DATA_S32, NULL, p4_id)) {
    16811         psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");
    16812         psFree(md);
    16813         return false;
    16814     }
    16815 
    16816     bool status = psDBInsertOneRow(dbh, P6INPUTSKYFILE_TABLE_NAME, md);
     16805    if (!psMetadataAdd(md, PS_LIST_TAIL, "stack_id", PS_DATA_S32, NULL, stack_id)) {
     16806        psError(PS_ERR_UNKNOWN, false, "failed to add item stack_id");
     16807        psFree(md);
     16808        return false;
     16809    }
     16810    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, NULL, warp_id)) {
     16811        psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
     16812        psFree(md);
     16813        return false;
     16814    }
     16815
     16816    bool status = psDBInsertOneRow(dbh, STACKINPUTSKYFILE_TABLE_NAME, md);
    1681716817    psFree(md);
    1681816818
     
    1682016820}
    1682116821
    16822 long long p6InputSkyfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
     16822long long stackInputSkyfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
    1682316823{
    1682416824    long long       deleted = 0;
    1682516825
    16826     long long count = psDBDeleteRows(dbh, P6INPUTSKYFILE_TABLE_NAME, where, limit);
     16826    long long count = psDBDeleteRows(dbh, STACKINPUTSKYFILE_TABLE_NAME, where, limit);
    1682716827    if (count < 0) {
    16828         psError(PS_ERR_UNKNOWN, true, "failed to delete row from p6InputSkyfile");
     16828        psError(PS_ERR_UNKNOWN, true, "failed to delete row from stackInputSkyfile");
    1682916829        return count;
    1683016830
     
    1683416834    return deleted;
    1683516835}
    16836 bool p6InputSkyfileInsertObject(psDB *dbh, p6InputSkyfileRow *object)
    16837 {
    16838     return p6InputSkyfileInsert(dbh, object->p6_id, object->p4_id);
    16839 }
    16840 
    16841 bool p6InputSkyfileInsertObjects(psDB *dbh, psArray *objects)
     16836bool stackInputSkyfileInsertObject(psDB *dbh, stackInputSkyfileRow *object)
     16837{
     16838    return stackInputSkyfileInsert(dbh, object->stack_id, object->warp_id);
     16839}
     16840
     16841bool stackInputSkyfileInsertObjects(psDB *dbh, psArray *objects)
    1684216842{
    1684316843    for (long i = 0; i < psArrayLength(objects); i++) {
    16844         if (!p6InputSkyfileInsertObject(dbh, objects->data[i])) {
     16844        if (!stackInputSkyfileInsertObject(dbh, objects->data[i])) {
    1684516845            return false;
    1684616846        }
     
    1685016850}
    1685116851
    16852 bool p6InputSkyfileInsertFits(psDB *dbh, const psFits *fits)
     16852bool stackInputSkyfileInsertFits(psDB *dbh, const psFits *fits)
    1685316853{
    1685416854    psArray         *rowSet;
    1685516855
    16856     // move to (the first?) extension named  P6INPUTSKYFILE_TABLE_NAME
    16857     if (!psFitsMoveExtName(fits, P6INPUTSKYFILE_TABLE_NAME)) {
    16858         psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P6INPUTSKYFILE_TABLE_NAME);
     16856    // move to (the first?) extension named  STACKINPUTSKYFILE_TABLE_NAME
     16857    if (!psFitsMoveExtName(fits, STACKINPUTSKYFILE_TABLE_NAME)) {
     16858        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", STACKINPUTSKYFILE_TABLE_NAME);
    1685916859        return false;
    1686016860    }
     
    1687416874    }
    1687516875
    16876     if (!psDBInsertRows(dbh, P6INPUTSKYFILE_TABLE_NAME, rowSet)) {
     16876    if (!psDBInsertRows(dbh, STACKINPUTSKYFILE_TABLE_NAME, rowSet)) {
    1687716877        psError(PS_ERR_UNKNOWN, false, "databse insert failed");
    1687816878        psFree(rowSet);
     
    1688516885}
    1688616886
    16887 bool p6InputSkyfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
     16887bool stackInputSkyfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
    1688816888{
    1688916889    psArray         *rowSet;
    1689016890
    16891     rowSet = psDBSelectRows(dbh, P6INPUTSKYFILE_TABLE_NAME, where, limit);
     16891    rowSet = psDBSelectRows(dbh, STACKINPUTSKYFILE_TABLE_NAME, where, limit);
    1689216892    if (!rowSet) {
    1689316893        return false;
     
    1689516895
    1689616896    // output to fits
    16897     if (!psFitsWriteTable(fits, NULL, rowSet, P6INPUTSKYFILE_TABLE_NAME)) {
     16897    if (!psFitsWriteTable(fits, NULL, rowSet, STACKINPUTSKYFILE_TABLE_NAME)) {
    1689816898        psError(PS_ERR_UNKNOWN, false, "FITS table write failed");
    1689916899        psFree(rowSet);
     
    1690616906}
    1690716907
    16908 psMetadata *p6InputSkyfileMetadataFromObject(const p6InputSkyfileRow *object)
     16908psMetadata *stackInputSkyfileMetadataFromObject(const stackInputSkyfileRow *object)
    1690916909{
    1691016910    psMetadata *md = psMetadataAlloc();
    16911     if (!psMetadataAdd(md, PS_LIST_TAIL, "p6_id", PS_DATA_S32, NULL, object->p6_id)) {
    16912         psError(PS_ERR_UNKNOWN, false, "failed to add item p6_id");
    16913         psFree(md);
    16914         return false;
    16915     }
    16916     if (!psMetadataAdd(md, PS_LIST_TAIL, "p4_id", PS_DATA_S32, NULL, object->p4_id)) {
    16917         psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");
     16911    if (!psMetadataAdd(md, PS_LIST_TAIL, "stack_id", PS_DATA_S32, NULL, object->stack_id)) {
     16912        psError(PS_ERR_UNKNOWN, false, "failed to add item stack_id");
     16913        psFree(md);
     16914        return false;
     16915    }
     16916    if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, NULL, object->warp_id)) {
     16917        psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id");
    1691816918        psFree(md);
    1691916919        return false;
     
    1692416924}
    1692516925
    16926 p6InputSkyfileRow *p6InputSkyfileObjectFromMetadata(psMetadata *md)
     16926stackInputSkyfileRow *stackInputSkyfileObjectFromMetadata(psMetadata *md)
    1692716927{
    1692816928
    1692916929bool status = false;
    16930     psS32 p6_id = psMetadataLookupS32(&status, md, "p6_id");
    16931     if (!status) {
    16932         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p6_id");
    16933         return false;
    16934     }
    16935     psS32 p4_id = psMetadataLookupS32(&status, md, "p4_id");
    16936     if (!status) {
    16937         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p4_id");
    16938         return false;
    16939     }
    16940 
    16941     return p6InputSkyfileRowAlloc(p6_id, p4_id);
    16942 }
    16943 psArray *p6InputSkyfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     16930    psS32 stack_id = psMetadataLookupS32(&status, md, "stack_id");
     16931    if (!status) {
     16932        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item stack_id");
     16933        return false;
     16934    }
     16935    psS32 warp_id = psMetadataLookupS32(&status, md, "warp_id");
     16936    if (!status) {
     16937        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item warp_id");
     16938        return false;
     16939    }
     16940
     16941    return stackInputSkyfileRowAlloc(stack_id, warp_id);
     16942}
     16943psArray *stackInputSkyfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
    1694416944{
    1694516945    psArray         *rowSet;
     
    1694716947    psU64           i;
    1694816948
    16949     rowSet = psDBSelectRows(dbh, P6INPUTSKYFILE_TABLE_NAME, where, limit);
     16949    rowSet = psDBSelectRows(dbh, STACKINPUTSKYFILE_TABLE_NAME, where, limit);
    1695016950    if (!rowSet) {
    1695116951        return NULL;
     
    1695716957
    1695816958    for (i = 0; i < rowSet->n; i++) {
    16959         p6InputSkyfileRow *object = p6InputSkyfileObjectFromMetadata(rowSet->data[i]);
     16959        stackInputSkyfileRow *object = stackInputSkyfileObjectFromMetadata(rowSet->data[i]);
    1696016960        psArrayAdd(returnSet, 0, object);
    1696116961        psFree(object);
     
    1696616966    return returnSet;
    1696716967}
    16968 bool p6InputSkyfileDeleteObject(psDB *dbh, const p6InputSkyfileRow *object)
    16969 {
    16970     psMetadata *where = p6InputSkyfileMetadataFromObject(object);
    16971     long long count = psDBDeleteRows(dbh, P6INPUTSKYFILE_TABLE_NAME, where, 0);
     16968bool stackInputSkyfileDeleteObject(psDB *dbh, const stackInputSkyfileRow *object)
     16969{
     16970    psMetadata *where = stackInputSkyfileMetadataFromObject(object);
     16971    long long count = psDBDeleteRows(dbh, STACKINPUTSKYFILE_TABLE_NAME, where, 0);
    1697216972    psFree(where);
    1697316973    if (count < 0) {
    16974         psError(PS_ERR_UNKNOWN, true, "failed to delete row from p6InputSkyfile");
     16974        psError(PS_ERR_UNKNOWN, true, "failed to delete row from stackInputSkyfile");
    1697516975        return false;
    1697616976    }
     
    1697816978        // XXX should this be a psAbort() instead?  It is possible that
    1697916979        // having an object match multiple rows was by design.
    16980         psError(PS_ERR_UNKNOWN, true, "p6InputSkyfileRow object matched more then one row.  Check your database schema");
    16981         return false;
    16982     }
    16983 
    16984     return true;
    16985 }
    16986 long long p6InputSkyfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
     16980        psError(PS_ERR_UNKNOWN, true, "stackInputSkyfileRow object matched more then one row.  Check your database schema");
     16981        return false;
     16982    }
     16983
     16984    return true;
     16985}
     16986long long stackInputSkyfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
    1698716987{
    1698816988    long long       deleted = 0;
    1698916989
    1699016990    for (long long i = 0; i < objects->n; i++) {
    16991         p6InputSkyfileRow *object = objects->data[i];
    16992         psMetadata *where = p6InputSkyfileMetadataFromObject(object);
    16993         long long count = psDBDeleteRows(dbh, P6INPUTSKYFILE_TABLE_NAME, where, limit);
     16991        stackInputSkyfileRow *object = objects->data[i];
     16992        psMetadata *where = stackInputSkyfileMetadataFromObject(object);
     16993        long long count = psDBDeleteRows(dbh, STACKINPUTSKYFILE_TABLE_NAME, where, limit);
    1699416994        psFree(where);
    1699516995        if (count < 0) {
    16996             psError(PS_ERR_UNKNOWN, true, "failed to delete row from p6InputSkyfile");
     16996            psError(PS_ERR_UNKNOWN, true, "failed to delete row from stackInputSkyfile");
    1699716997            return count;
    1699816998        }
     
    1700317003    return deleted;
    1700417004}
    17005 bool p6InputSkyfilePrintObjects(FILE *stream, psArray *objects, bool mdcf)
     17005bool stackInputSkyfilePrintObjects(FILE *stream, psArray *objects, bool mdcf)
    1700617006{
    1700717007    PS_ASSERT_PTR_NON_NULL(objects, false);
     
    1700917009    psMetadata *output = psMetadataAlloc();
    1701017010    for (long i = 0; i < psArrayLength(objects); i++) {
    17011         psMetadata *md = p6InputSkyfileMetadataFromObject(objects->data[i]);
     17011        psMetadata *md = stackInputSkyfileMetadataFromObject(objects->data[i]);
    1701217012        if (!psMetadataAddMetadata(
    1701317013            output,
    1701417014            PS_LIST_TAIL,
    17015             P6INPUTSKYFILE_TABLE_NAME,
     17015            STACKINPUTSKYFILE_TABLE_NAME,
    1701617016            PS_META_DUPLICATE_OK,
    1701717017            NULL,
     
    1703417034    return true;
    1703517035}
    17036 bool p6InputSkyfilePrintObject(FILE *stream, p6InputSkyfileRow *object, bool mdcf)
     17036bool stackInputSkyfilePrintObject(FILE *stream, stackInputSkyfileRow *object, bool mdcf)
    1703717037{
    1703817038    PS_ASSERT_PTR_NON_NULL(object, false);
    1703917039
    17040     psMetadata *md = p6InputSkyfileMetadataFromObject(object);
     17040    psMetadata *md = stackInputSkyfileMetadataFromObject(object);
    1704117041
    1704217042    if (!ippdbPrintMetadataRaw(stream, md, mdcf)) {
     
    1704917049    return true;
    1705017050}
    17051 static void p6SumSkyfileRowFree(p6SumSkyfileRow *object);
    17052 
    17053 p6SumSkyfileRow *p6SumSkyfileRowAlloc(psS32 p6_id, const char *uri, psF64 bg, psF64 bg_mean_stdev)
    17054 {
    17055     p6SumSkyfileRow *_object;
    17056 
    17057     _object = psAlloc(sizeof(p6SumSkyfileRow));
    17058     psMemSetDeallocator(_object, (psFreeFunc)p6SumSkyfileRowFree);
    17059 
    17060     _object->p6_id = p6_id;
     17051static void stackSumSkyfileRowFree(stackSumSkyfileRow *object);
     17052
     17053stackSumSkyfileRow *stackSumSkyfileRowAlloc(psS32 stack_id, const char *uri, psF64 bg, psF64 bg_mean_stdev)
     17054{
     17055    stackSumSkyfileRow *_object;
     17056
     17057    _object = psAlloc(sizeof(stackSumSkyfileRow));
     17058    psMemSetDeallocator(_object, (psFreeFunc)stackSumSkyfileRowFree);
     17059
     17060    _object->stack_id = stack_id;
    1706117061    _object->uri = psStringCopy(uri);
    1706217062    _object->bg = bg;
     
    1706617066}
    1706717067
    17068 static void p6SumSkyfileRowFree(p6SumSkyfileRow *object)
     17068static void stackSumSkyfileRowFree(stackSumSkyfileRow *object)
    1706917069{
    1707017070    psFree(object->uri);
    1707117071}
    1707217072
    17073 bool p6SumSkyfileCreateTable(psDB *dbh)
     17073bool stackSumSkyfileCreateTable(psDB *dbh)
    1707417074{
    1707517075    psMetadata *md = psMetadataAlloc();
    17076     if (!psMetadataAdd(md, PS_LIST_TAIL, "p6_id", PS_DATA_S32, "Primary Key", 0)) {
    17077         psError(PS_ERR_UNKNOWN, false, "failed to add item p6_id");
     17076    if (!psMetadataAdd(md, PS_LIST_TAIL, "stack_id", PS_DATA_S32, "Primary Key", 0)) {
     17077        psError(PS_ERR_UNKNOWN, false, "failed to add item stack_id");
    1707817078        psFree(md);
    1707917079        return false;
     
    1709517095    }
    1709617096
    17097     bool status = psDBCreateTable(dbh, P6SUMSKYFILE_TABLE_NAME, md);
     17097    bool status = psDBCreateTable(dbh, STACKSUMSKYFILE_TABLE_NAME, md);
    1709817098
    1709917099    psFree(md);
     
    1710217102}
    1710317103
    17104 bool p6SumSkyfileDropTable(psDB *dbh)
    17105 {
    17106     return psDBDropTable(dbh, P6SUMSKYFILE_TABLE_NAME);
    17107 }
    17108 
    17109 bool p6SumSkyfileInsert(psDB * dbh, psS32 p6_id, const char *uri, psF64 bg, psF64 bg_mean_stdev)
     17104bool stackSumSkyfileDropTable(psDB *dbh)
     17105{
     17106    return psDBDropTable(dbh, STACKSUMSKYFILE_TABLE_NAME);
     17107}
     17108
     17109bool stackSumSkyfileInsert(psDB * dbh, psS32 stack_id, const char *uri, psF64 bg, psF64 bg_mean_stdev)
    1711017110{
    1711117111    psMetadata *md = psMetadataAlloc();
    17112     if (!psMetadataAdd(md, PS_LIST_TAIL, "p6_id", PS_DATA_S32, NULL, p6_id)) {
    17113         psError(PS_ERR_UNKNOWN, false, "failed to add item p6_id");
     17112    if (!psMetadataAdd(md, PS_LIST_TAIL, "stack_id", PS_DATA_S32, NULL, stack_id)) {
     17113        psError(PS_ERR_UNKNOWN, false, "failed to add item stack_id");
    1711417114        psFree(md);
    1711517115        return false;
     
    1713117131    }
    1713217132
    17133     bool status = psDBInsertOneRow(dbh, P6SUMSKYFILE_TABLE_NAME, md);
     17133    bool status = psDBInsertOneRow(dbh, STACKSUMSKYFILE_TABLE_NAME, md);
    1713417134    psFree(md);
    1713517135
     
    1713717137}
    1713817138
    17139 long long p6SumSkyfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
     17139long long stackSumSkyfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
    1714017140{
    1714117141    long long       deleted = 0;
    1714217142
    17143     long long count = psDBDeleteRows(dbh, P6SUMSKYFILE_TABLE_NAME, where, limit);
     17143    long long count = psDBDeleteRows(dbh, STACKSUMSKYFILE_TABLE_NAME, where, limit);
    1714417144    if (count < 0) {
    17145         psError(PS_ERR_UNKNOWN, true, "failed to delete row from p6SumSkyfile");
     17145        psError(PS_ERR_UNKNOWN, true, "failed to delete row from stackSumSkyfile");
    1714617146        return count;
    1714717147
     
    1715117151    return deleted;
    1715217152}
    17153 bool p6SumSkyfileInsertObject(psDB *dbh, p6SumSkyfileRow *object)
    17154 {
    17155     return p6SumSkyfileInsert(dbh, object->p6_id, object->uri, object->bg, object->bg_mean_stdev);
    17156 }
    17157 
    17158 bool p6SumSkyfileInsertObjects(psDB *dbh, psArray *objects)
     17153bool stackSumSkyfileInsertObject(psDB *dbh, stackSumSkyfileRow *object)
     17154{
     17155    return stackSumSkyfileInsert(dbh, object->stack_id, object->uri, object->bg, object->bg_mean_stdev);
     17156}
     17157
     17158bool stackSumSkyfileInsertObjects(psDB *dbh, psArray *objects)
    1715917159{
    1716017160    for (long i = 0; i < psArrayLength(objects); i++) {
    17161         if (!p6SumSkyfileInsertObject(dbh, objects->data[i])) {
     17161        if (!stackSumSkyfileInsertObject(dbh, objects->data[i])) {
    1716217162            return false;
    1716317163        }
     
    1716717167}
    1716817168
    17169 bool p6SumSkyfileInsertFits(psDB *dbh, const psFits *fits)
     17169bool stackSumSkyfileInsertFits(psDB *dbh, const psFits *fits)
    1717017170{
    1717117171    psArray         *rowSet;
    1717217172
    17173     // move to (the first?) extension named  P6SUMSKYFILE_TABLE_NAME
    17174     if (!psFitsMoveExtName(fits, P6SUMSKYFILE_TABLE_NAME)) {
    17175         psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P6SUMSKYFILE_TABLE_NAME);
     17173    // move to (the first?) extension named  STACKSUMSKYFILE_TABLE_NAME
     17174    if (!psFitsMoveExtName(fits, STACKSUMSKYFILE_TABLE_NAME)) {
     17175        psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", STACKSUMSKYFILE_TABLE_NAME);
    1717617176        return false;
    1717717177    }
     
    1719117191    }
    1719217192
    17193     if (!psDBInsertRows(dbh, P6SUMSKYFILE_TABLE_NAME, rowSet)) {
     17193    if (!psDBInsertRows(dbh, STACKSUMSKYFILE_TABLE_NAME, rowSet)) {
    1719417194        psError(PS_ERR_UNKNOWN, false, "databse insert failed");
    1719517195        psFree(rowSet);
     
    1720217202}
    1720317203
    17204 bool p6SumSkyfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
     17204bool stackSumSkyfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
    1720517205{
    1720617206    psArray         *rowSet;
    1720717207
    17208     rowSet = psDBSelectRows(dbh, P6SUMSKYFILE_TABLE_NAME, where, limit);
     17208    rowSet = psDBSelectRows(dbh, STACKSUMSKYFILE_TABLE_NAME, where, limit);
    1720917209    if (!rowSet) {
    1721017210        return false;
     
    1721217212
    1721317213    // output to fits
    17214     if (!psFitsWriteTable(fits, NULL, rowSet, P6SUMSKYFILE_TABLE_NAME)) {
     17214    if (!psFitsWriteTable(fits, NULL, rowSet, STACKSUMSKYFILE_TABLE_NAME)) {
    1721517215        psError(PS_ERR_UNKNOWN, false, "FITS table write failed");
    1721617216        psFree(rowSet);
     
    1722317223}
    1722417224
    17225 psMetadata *p6SumSkyfileMetadataFromObject(const p6SumSkyfileRow *object)
     17225psMetadata *stackSumSkyfileMetadataFromObject(const stackSumSkyfileRow *object)
    1722617226{
    1722717227    psMetadata *md = psMetadataAlloc();
    17228     if (!psMetadataAdd(md, PS_LIST_TAIL, "p6_id", PS_DATA_S32, NULL, object->p6_id)) {
    17229         psError(PS_ERR_UNKNOWN, false, "failed to add item p6_id");
     17228    if (!psMetadataAdd(md, PS_LIST_TAIL, "stack_id", PS_DATA_S32, NULL, object->stack_id)) {
     17229        psError(PS_ERR_UNKNOWN, false, "failed to add item stack_id");
    1723017230        psFree(md);
    1723117231        return false;
     
    1725117251}
    1725217252
    17253 p6SumSkyfileRow *p6SumSkyfileObjectFromMetadata(psMetadata *md)
     17253stackSumSkyfileRow *stackSumSkyfileObjectFromMetadata(psMetadata *md)
    1725417254{
    1725517255
    1725617256bool status = false;
    17257     psS32 p6_id = psMetadataLookupS32(&status, md, "p6_id");
    17258     if (!status) {
    17259         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p6_id");
     17257    psS32 stack_id = psMetadataLookupS32(&status, md, "stack_id");
     17258    if (!status) {
     17259        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item stack_id");
    1726017260        return false;
    1726117261    }
     
    1727617276    }
    1727717277
    17278     return p6SumSkyfileRowAlloc(p6_id, uri, bg, bg_mean_stdev);
    17279 }
    17280 psArray *p6SumSkyfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     17278    return stackSumSkyfileRowAlloc(stack_id, uri, bg, bg_mean_stdev);
     17279}
     17280psArray *stackSumSkyfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
    1728117281{
    1728217282    psArray         *rowSet;
     
    1728417284    psU64           i;
    1728517285
    17286     rowSet = psDBSelectRows(dbh, P6SUMSKYFILE_TABLE_NAME, where, limit);
     17286    rowSet = psDBSelectRows(dbh, STACKSUMSKYFILE_TABLE_NAME, where, limit);
    1728717287    if (!rowSet) {
    1728817288        return NULL;
     
    1729417294
    1729517295    for (i = 0; i < rowSet->n; i++) {
    17296         p6SumSkyfileRow *object = p6SumSkyfileObjectFromMetadata(rowSet->data[i]);
     17296        stackSumSkyfileRow *object = stackSumSkyfileObjectFromMetadata(rowSet->data[i]);
    1729717297        psArrayAdd(returnSet, 0, object);
    1729817298        psFree(object);
     
    1730317303    return returnSet;
    1730417304}
    17305 bool p6SumSkyfileDeleteObject(psDB *dbh, const p6SumSkyfileRow *object)
    17306 {
    17307     psMetadata *where = p6SumSkyfileMetadataFromObject(object);
    17308     long long count = psDBDeleteRows(dbh, P6SUMSKYFILE_TABLE_NAME, where, 0);
     17305bool stackSumSkyfileDeleteObject(psDB *dbh, const stackSumSkyfileRow *object)
     17306{
     17307    psMetadata *where = stackSumSkyfileMetadataFromObject(object);
     17308    long long count = psDBDeleteRows(dbh, STACKSUMSKYFILE_TABLE_NAME, where, 0);
    1730917309    psFree(where);
    1731017310    if (count < 0) {
    17311         psError(PS_ERR_UNKNOWN, true, "failed to delete row from p6SumSkyfile");
     17311        psError(PS_ERR_UNKNOWN, true, "failed to delete row from stackSumSkyfile");
    1731217312        return false;
    1731317313    }
     
    1731517315        // XXX should this be a psAbort() instead?  It is possible that
    1731617316        // having an object match multiple rows was by design.
    17317         psError(PS_ERR_UNKNOWN, true, "p6SumSkyfileRow object matched more then one row.  Check your database schema");
    17318         return false;
    17319     }
    17320 
    17321     return true;
    17322 }
    17323 long long p6SumSkyfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
     17317        psError(PS_ERR_UNKNOWN, true, "stackSumSkyfileRow object matched more then one row.  Check your database schema");
     17318        return false;
     17319    }
     17320
     17321    return true;
     17322}
     17323long long stackSumSkyfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
    1732417324{
    1732517325    long long       deleted = 0;
    1732617326
    1732717327    for (long long i = 0; i < objects->n; i++) {
    17328         p6SumSkyfileRow *object = objects->data[i];
    17329         psMetadata *where = p6SumSkyfileMetadataFromObject(object);
    17330         long long count = psDBDeleteRows(dbh, P6SUMSKYFILE_TABLE_NAME, where, limit);
     17328        stackSumSkyfileRow *object = objects->data[i];
     17329        psMetadata *where = stackSumSkyfileMetadataFromObject(object);
     17330        long long count = psDBDeleteRows(dbh, STACKSUMSKYFILE_TABLE_NAME, where, limit);
    1733117331        psFree(where);
    1733217332        if (count < 0) {
    17333             psError(PS_ERR_UNKNOWN, true, "failed to delete row from p6SumSkyfile");
     17333            psError(PS_ERR_UNKNOWN, true, "failed to delete row from stackSumSkyfile");
    1733417334            return count;
    1733517335        }
     
    1734017340    return deleted;
    1734117341}
    17342 bool p6SumSkyfilePrintObjects(FILE *stream, psArray *objects, bool mdcf)
     17342bool stackSumSkyfilePrintObjects(FILE *stream, psArray *objects, bool mdcf)
    1734317343{
    1734417344    PS_ASSERT_PTR_NON_NULL(objects, false);
     
    1734617346    psMetadata *output = psMetadataAlloc();
    1734717347    for (long i = 0; i < psArrayLength(objects); i++) {
    17348         psMetadata *md = p6SumSkyfileMetadataFromObject(objects->data[i]);
     17348        psMetadata *md = stackSumSkyfileMetadataFromObject(objects->data[i]);
    1734917349        if (!psMetadataAddMetadata(
    1735017350            output,
    1735117351            PS_LIST_TAIL,
    17352             P6SUMSKYFILE_TABLE_NAME,
     17352            STACKSUMSKYFILE_TABLE_NAME,
    1735317353            PS_META_DUPLICATE_OK,
    1735417354            NULL,
     
    1737117371    return true;
    1737217372}
    17373 bool p6SumSkyfilePrintObject(FILE *stream, p6SumSkyfileRow *object, bool mdcf)
     17373bool stackSumSkyfilePrintObject(FILE *stream, stackSumSkyfileRow *object, bool mdcf)
    1737417374{
    1737517375    PS_ASSERT_PTR_NON_NULL(object, false);
    1737617376
    17377     psMetadata *md = p6SumSkyfileMetadataFromObject(object);
     17377    psMetadata *md = stackSumSkyfileMetadataFromObject(object);
    1737817378
    1737917379    if (!ippdbPrintMetadataRaw(stream, md, mdcf)) {
  • trunk/ippdb/src/ippdb.h

    r11988 r12026  
    25042504    bool            mdcf                ///< format as mdconfig or simple
    25052505);
    2506 /** p1PendingExpRow data structure
    2507  *
    2508  * Structure for representing a single row of p1PendingExp table data.
     2506/** guidePendingExpRow data structure
     2507 *
     2508 * Structure for representing a single row of guidePendingExp table data.
    25092509 */
    25102510
    25112511typedef struct {
    25122512    char            *exp_tag;
    2513     psS32           p1_version;
     2513    psS32           guide_version;
    25142514    char            *recipe;
    2515 } p1PendingExpRow;
    2516 
    2517 /** Creates a new p1PendingExpRow object
    2518  *
    2519  *  @return A new p1PendingExpRow object or NULL on failure.
    2520  */
    2521 
    2522 p1PendingExpRow *p1PendingExpRowAlloc(
     2515} guidePendingExpRow;
     2516
     2517/** Creates a new guidePendingExpRow object
     2518 *
     2519 *  @return A new guidePendingExpRow object or NULL on failure.
     2520 */
     2521
     2522guidePendingExpRow *guidePendingExpRowAlloc(
    25232523    const char      *exp_tag,
    2524     psS32           p1_version,
     2524    psS32           guide_version,
    25252525    const char      *recipe
    25262526);
    25272527
    2528 /** Creates a new p1PendingExp table
    2529  *
    2530  * @return true on success
    2531  */
    2532 
    2533 bool p1PendingExpCreateTable(
     2528/** Creates a new guidePendingExp table
     2529 *
     2530 * @return true on success
     2531 */
     2532
     2533bool guidePendingExpCreateTable(
    25342534    psDB            *dbh                ///< Database handle
    25352535);
    25362536
    2537 /** Deletes a p1PendingExp table
    2538  *
    2539  * @return true on success
    2540  */
    2541 
    2542 bool p1PendingExpDropTable(
     2537/** Deletes a guidePendingExp table
     2538 *
     2539 * @return true on success
     2540 */
     2541
     2542bool guidePendingExpDropTable(
    25432543    psDB            *dbh                ///< Database handle
    25442544);
     
    25512551 */
    25522552
    2553 bool p1PendingExpInsert(
     2553bool guidePendingExpInsert(
    25542554    psDB            *dbh,               ///< Database handle
    25552555    const char      *exp_tag,
    2556     psS32           p1_version,
     2556    psS32           guide_version,
    25572557    const char      *recipe
    25582558);
     
    25632563 */
    25642564
    2565 long long p1PendingExpDelete(
     2565long long guidePendingExpDelete(
    25662566    psDB            *dbh,               ///< Database handle
    25672567    const psMetadata *where,            ///< Row match criteria
     
    25692569);
    25702570
    2571 /** Insert a single p1PendingExpRow object into a table
     2571/** Insert a single guidePendingExpRow object into a table
    25722572 *
    25732573 * This function constructs and inserts a single row based on it's parameters.
     
    25762576 */
    25772577
    2578 bool p1PendingExpInsertObject(
    2579     psDB            *dbh,               ///< Database handle
    2580     p1PendingExpRow *object             ///< p1PendingExpRow object
    2581 );
    2582 
    2583 /** Insert an array of p1PendingExpRow object into a table
     2578bool guidePendingExpInsertObject(
     2579    psDB            *dbh,               ///< Database handle
     2580    guidePendingExpRow *object             ///< guidePendingExpRow object
     2581);
     2582
     2583/** Insert an array of guidePendingExpRow object into a table
    25842584 *
    25852585 * This function constructs and inserts multiple rows based on it's parameters.
     
    25882588 */
    25892589
    2590 bool p1PendingExpInsertObjects(
    2591     psDB            *dbh,               ///< Database handle
    2592     psArray         *objects            ///< array of p1PendingExpRow objects
    2593 );
    2594 
    2595 /** Insert data from a binary FITS table p1PendingExpRow into the database
     2590bool guidePendingExpInsertObjects(
     2591    psDB            *dbh,               ///< Database handle
     2592    psArray         *objects            ///< array of guidePendingExpRow objects
     2593);
     2594
     2595/** Insert data from a binary FITS table guidePendingExpRow into the database
    25962596 *
    25972597 * This function expects a psFits object with a FITS table as the first
     
    26032603 */
    26042604
    2605 bool p1PendingExpInsertFits(
     2605bool guidePendingExpInsertFits(
    26062606    psDB            *dbh,               ///< Database handle
    26072607    const psFits    *fits               ///< psFits object
     
    26182618 */
    26192619
    2620 bool p1PendingExpSelectRowsFits(
     2620bool guidePendingExpSelectRowsFits(
    26212621    psDB            *dbh,               ///< Database handle
    26222622    psFits          *fits,              ///< psFits object
     
    26252625);
    26262626
    2627 /** Convert a p1PendingExpRow into an equivalent psMetadata
     2627/** Convert a guidePendingExpRow into an equivalent psMetadata
    26282628 *
    26292629 * @return A psMetadata pointer or NULL on error
    26302630 */
    26312631
    2632 psMetadata *p1PendingExpMetadataFromObject(
    2633     const p1PendingExpRow *object             ///< fooRow to convert into a psMetadata
     2632psMetadata *guidePendingExpMetadataFromObject(
     2633    const guidePendingExpRow *object             ///< fooRow to convert into a psMetadata
    26342634);
    26352635
    26362636/** Convert a psMetadata into an equivalent fooRow
    26372637 *
    2638  * @return A p1PendingExpRow pointer or NULL on error
    2639  */
    2640 
    2641 p1PendingExpRow *p1PendingExpObjectFromMetadata(
     2638 * @return A guidePendingExpRow pointer or NULL on error
     2639 */
     2640
     2641guidePendingExpRow *guidePendingExpObjectFromMetadata(
    26422642    psMetadata      *md                 ///< psMetadata to convert into a fooRow
    26432643);
    2644 /** Selects up to limit rows from the database and returns as p1PendingExpRow objects in a psArray
     2644/** Selects up to limit rows from the database and returns as guidePendingExpRow objects in a psArray
    26452645 *
    26462646 *  See psDBSelectRows() for documentation on the format of where.
     
    26492649 */
    26502650
    2651 psArray *p1PendingExpSelectRowObjects(
     2651psArray *guidePendingExpSelectRowObjects(
    26522652    psDB            *dbh,               ///< Database handle
    26532653    const psMetadata *where,            ///< Row match criteria
    26542654    unsigned long long limit            ///< Maximum number of elements to return
    26552655);
    2656 /** Deletes a row from the database coresponding to an p1PendingExp
     2656/** Deletes a row from the database coresponding to an guidePendingExp
    26572657 *
    26582658 *  Note that a 'where' search psMetadata is constructed from each object and
     
    26622662 */
    26632663
    2664 bool p1PendingExpDeleteObject(
    2665     psDB            *dbh,               ///< Database handle
    2666     const p1PendingExpRow *object    ///< Object to delete
     2664bool guidePendingExpDeleteObject(
     2665    psDB            *dbh,               ///< Database handle
     2666    const guidePendingExpRow *object    ///< Object to delete
    26672667);
    26682668/** Deletes up to limit rows from the database and returns the number of rows actually deleted.
     
    26742674 */
    26752675
    2676 long long p1PendingExpDeleteRowObjects(
     2676long long guidePendingExpDeleteRowObjects(
    26772677    psDB            *dbh,               ///< Database handle
    26782678    const psArray   *objects,           ///< Array of objects to delete
    26792679    unsigned long long limit            ///< Maximum number of elements to delete
    26802680);
    2681 /** Formats and prints an array of p1PendingExpRow objects
     2681/** Formats and prints an array of guidePendingExpRow objects
    26822682 *
    26832683 * When mdcf is set the formated output is in psMetadataConfig
     
    26872687 */
    26882688
    2689 bool p1PendingExpPrintObjects(
     2689bool guidePendingExpPrintObjects(
    26902690    FILE            *stream,            ///< a stream
    2691     psArray         *objects,           ///< An array of p1PendingExpRow objects
     2691    psArray         *objects,           ///< An array of guidePendingExpRow objects
    26922692    bool            mdcf                ///< format as mdconfig or simple
    26932693);
    2694 /** Formats and prints an p1PendingExpRow object
     2694/** Formats and prints an guidePendingExpRow object
    26952695 *
    26962696 * When mdcf is set the formated output is in psMetadataConfig
     
    27002700 */
    27012701
    2702 bool p1PendingExpPrintObject(
     2702bool guidePendingExpPrintObject(
    27032703    FILE            *stream,            ///< a stream
    2704     p1PendingExpRow *object,    ///< an p1PendingExpRow object
     2704    guidePendingExpRow *object,    ///< an guidePendingExpRow object
    27052705    bool            mdcf                ///< format as mdconfig or simple
    27062706);
    2707 /** p2PendingExpRow data structure
    2708  *
    2709  * Structure for representing a single row of p2PendingExp table data.
     2707/** chipPendingExpRow data structure
     2708 *
     2709 * Structure for representing a single row of chipPendingExp table data.
    27102710 */
    27112711
    27122712typedef struct {
    27132713    char            *exp_tag;
    2714     psS32           p2_version;
    2715     psS32           p1_version;
     2714    psS32           chip_version;
     2715    psS32           guide_version;
    27162716    char            *label;
    27172717    char            *recipe;
    27182718    char            *expgroup;
    27192719    char            *dvodb;
    2720 } p2PendingExpRow;
    2721 
    2722 /** Creates a new p2PendingExpRow object
    2723  *
    2724  *  @return A new p2PendingExpRow object or NULL on failure.
    2725  */
    2726 
    2727 p2PendingExpRow *p2PendingExpRowAlloc(
     2720} chipPendingExpRow;
     2721
     2722/** Creates a new chipPendingExpRow object
     2723 *
     2724 *  @return A new chipPendingExpRow object or NULL on failure.
     2725 */
     2726
     2727chipPendingExpRow *chipPendingExpRowAlloc(
    27282728    const char      *exp_tag,
    2729     psS32           p2_version,
    2730     psS32           p1_version,
     2729    psS32           chip_version,
     2730    psS32           guide_version,
    27312731    const char      *label,
    27322732    const char      *recipe,
     
    27352735);
    27362736
    2737 /** Creates a new p2PendingExp table
    2738  *
    2739  * @return true on success
    2740  */
    2741 
    2742 bool p2PendingExpCreateTable(
     2737/** Creates a new chipPendingExp table
     2738 *
     2739 * @return true on success
     2740 */
     2741
     2742bool chipPendingExpCreateTable(
    27432743    psDB            *dbh                ///< Database handle
    27442744);
    27452745
    2746 /** Deletes a p2PendingExp table
    2747  *
    2748  * @return true on success
    2749  */
    2750 
    2751 bool p2PendingExpDropTable(
     2746/** Deletes a chipPendingExp table
     2747 *
     2748 * @return true on success
     2749 */
     2750
     2751bool chipPendingExpDropTable(
    27522752    psDB            *dbh                ///< Database handle
    27532753);
     
    27602760 */
    27612761
    2762 bool p2PendingExpInsert(
     2762bool chipPendingExpInsert(
    27632763    psDB            *dbh,               ///< Database handle
    27642764    const char      *exp_tag,
    2765     psS32           p2_version,
    2766     psS32           p1_version,
     2765    psS32           chip_version,
     2766    psS32           guide_version,
    27672767    const char      *label,
    27682768    const char      *recipe,
     
    27762776 */
    27772777
    2778 long long p2PendingExpDelete(
     2778long long chipPendingExpDelete(
    27792779    psDB            *dbh,               ///< Database handle
    27802780    const psMetadata *where,            ///< Row match criteria
     
    27822782);
    27832783
    2784 /** Insert a single p2PendingExpRow object into a table
     2784/** Insert a single chipPendingExpRow object into a table
    27852785 *
    27862786 * This function constructs and inserts a single row based on it's parameters.
     
    27892789 */
    27902790
    2791 bool p2PendingExpInsertObject(
    2792     psDB            *dbh,               ///< Database handle
    2793     p2PendingExpRow *object             ///< p2PendingExpRow object
    2794 );
    2795 
    2796 /** Insert an array of p2PendingExpRow object into a table
     2791bool chipPendingExpInsertObject(
     2792    psDB            *dbh,               ///< Database handle
     2793    chipPendingExpRow *object             ///< chipPendingExpRow object
     2794);
     2795
     2796/** Insert an array of chipPendingExpRow object into a table
    27972797 *
    27982798 * This function constructs and inserts multiple rows based on it's parameters.
     
    28012801 */
    28022802
    2803 bool p2PendingExpInsertObjects(
    2804     psDB            *dbh,               ///< Database handle
    2805     psArray         *objects            ///< array of p2PendingExpRow objects
    2806 );
    2807 
    2808 /** Insert data from a binary FITS table p2PendingExpRow into the database
     2803bool chipPendingExpInsertObjects(
     2804    psDB            *dbh,               ///< Database handle
     2805    psArray         *objects            ///< array of chipPendingExpRow objects
     2806);
     2807
     2808/** Insert data from a binary FITS table chipPendingExpRow into the database
    28092809 *
    28102810 * This function expects a psFits object with a FITS table as the first
     
    28162816 */
    28172817
    2818 bool p2PendingExpInsertFits(
     2818bool chipPendingExpInsertFits(
    28192819    psDB            *dbh,               ///< Database handle
    28202820    const psFits    *fits               ///< psFits object
     
    28312831 */
    28322832
    2833 bool p2PendingExpSelectRowsFits(
     2833bool chipPendingExpSelectRowsFits(
    28342834    psDB            *dbh,               ///< Database handle
    28352835    psFits          *fits,              ///< psFits object
     
    28382838);
    28392839
    2840 /** Convert a p2PendingExpRow into an equivalent psMetadata
     2840/** Convert a chipPendingExpRow into an equivalent psMetadata
    28412841 *
    28422842 * @return A psMetadata pointer or NULL on error
    28432843 */
    28442844
    2845 psMetadata *p2PendingExpMetadataFromObject(
    2846     const p2PendingExpRow *object             ///< fooRow to convert into a psMetadata
     2845psMetadata *chipPendingExpMetadataFromObject(
     2846    const chipPendingExpRow *object             ///< fooRow to convert into a psMetadata
    28472847);
    28482848
    28492849/** Convert a psMetadata into an equivalent fooRow
    28502850 *
    2851  * @return A p2PendingExpRow pointer or NULL on error
    2852  */
    2853 
    2854 p2PendingExpRow *p2PendingExpObjectFromMetadata(
     2851 * @return A chipPendingExpRow pointer or NULL on error
     2852 */
     2853
     2854chipPendingExpRow *chipPendingExpObjectFromMetadata(
    28552855    psMetadata      *md                 ///< psMetadata to convert into a fooRow
    28562856);
    2857 /** Selects up to limit rows from the database and returns as p2PendingExpRow objects in a psArray
     2857/** Selects up to limit rows from the database and returns as chipPendingExpRow objects in a psArray
    28582858 *
    28592859 *  See psDBSelectRows() for documentation on the format of where.
     
    28622862 */
    28632863
    2864 psArray *p2PendingExpSelectRowObjects(
     2864psArray *chipPendingExpSelectRowObjects(
    28652865    psDB            *dbh,               ///< Database handle
    28662866    const psMetadata *where,            ///< Row match criteria
    28672867    unsigned long long limit            ///< Maximum number of elements to return
    28682868);
    2869 /** Deletes a row from the database coresponding to an p2PendingExp
     2869/** Deletes a row from the database coresponding to an chipPendingExp
    28702870 *
    28712871 *  Note that a 'where' search psMetadata is constructed from each object and
     
    28752875 */
    28762876
    2877 bool p2PendingExpDeleteObject(
    2878     psDB            *dbh,               ///< Database handle
    2879     const p2PendingExpRow *object    ///< Object to delete
     2877bool chipPendingExpDeleteObject(
     2878    psDB            *dbh,               ///< Database handle
     2879    const chipPendingExpRow *object    ///< Object to delete
    28802880);
    28812881/** Deletes up to limit rows from the database and returns the number of rows actually deleted.
     
    28872887 */
    28882888
    2889 long long p2PendingExpDeleteRowObjects(
     2889long long chipPendingExpDeleteRowObjects(
    28902890    psDB            *dbh,               ///< Database handle
    28912891    const psArray   *objects,           ///< Array of objects to delete
    28922892    unsigned long long limit            ///< Maximum number of elements to delete
    28932893);
    2894 /** Formats and prints an array of p2PendingExpRow objects
     2894/** Formats and prints an array of chipPendingExpRow objects
    28952895 *
    28962896 * When mdcf is set the formated output is in psMetadataConfig
     
    29002900 */
    29012901
    2902 bool p2PendingExpPrintObjects(
     2902bool chipPendingExpPrintObjects(
    29032903    FILE            *stream,            ///< a stream
    2904     psArray         *objects,           ///< An array of p2PendingExpRow objects
     2904    psArray         *objects,           ///< An array of chipPendingExpRow objects
    29052905    bool            mdcf                ///< format as mdconfig or simple
    29062906);
    2907 /** Formats and prints an p2PendingExpRow object
     2907/** Formats and prints an chipPendingExpRow object
    29082908 *
    29092909 * When mdcf is set the formated output is in psMetadataConfig
     
    29132913 */
    29142914
    2915 bool p2PendingExpPrintObject(
     2915bool chipPendingExpPrintObject(
    29162916    FILE            *stream,            ///< a stream
    2917     p2PendingExpRow *object,    ///< an p2PendingExpRow object
     2917    chipPendingExpRow *object,    ///< an chipPendingExpRow object
    29182918    bool            mdcf                ///< format as mdconfig or simple
    29192919);
    2920 /** p2PendingImfileRow data structure
    2921  *
    2922  * Structure for representing a single row of p2PendingImfile table data.
     2920/** chipPendingImfileRow data structure
     2921 *
     2922 * Structure for representing a single row of chipPendingImfile table data.
    29232923 */
    29242924
    29252925typedef struct {
    29262926    char            *exp_tag;
    2927     psS32           p2_version;
    2928     psS32           p1_version;
     2927    psS32           chip_version;
     2928    psS32           guide_version;
    29292929    char            *class_id;
    29302930    char            *recipe;
    29312931    char            *uri;
    2932 } p2PendingImfileRow;
    2933 
    2934 /** Creates a new p2PendingImfileRow object
    2935  *
    2936  *  @return A new p2PendingImfileRow object or NULL on failure.
    2937  */
    2938 
    2939 p2PendingImfileRow *p2PendingImfileRowAlloc(
     2932} chipPendingImfileRow;
     2933
     2934/** Creates a new chipPendingImfileRow object
     2935 *
     2936 *  @return A new chipPendingImfileRow object or NULL on failure.
     2937 */
     2938
     2939chipPendingImfileRow *chipPendingImfileRowAlloc(
    29402940    const char      *exp_tag,
    2941     psS32           p2_version,
    2942     psS32           p1_version,
     2941    psS32           chip_version,
     2942    psS32           guide_version,
    29432943    const char      *class_id,
    29442944    const char      *recipe,
     
    29462946);
    29472947
    2948 /** Creates a new p2PendingImfile table
    2949  *
    2950  * @return true on success
    2951  */
    2952 
    2953 bool p2PendingImfileCreateTable(
     2948/** Creates a new chipPendingImfile table
     2949 *
     2950 * @return true on success
     2951 */
     2952
     2953bool chipPendingImfileCreateTable(
    29542954    psDB            *dbh                ///< Database handle
    29552955);
    29562956
    2957 /** Deletes a p2PendingImfile table
    2958  *
    2959  * @return true on success
    2960  */
    2961 
    2962 bool p2PendingImfileDropTable(
     2957/** Deletes a chipPendingImfile table
     2958 *
     2959 * @return true on success
     2960 */
     2961
     2962bool chipPendingImfileDropTable(
    29632963    psDB            *dbh                ///< Database handle
    29642964);
     
    29712971 */
    29722972
    2973 bool p2PendingImfileInsert(
     2973bool chipPendingImfileInsert(
    29742974    psDB            *dbh,               ///< Database handle
    29752975    const char      *exp_tag,
    2976     psS32           p2_version,
    2977     psS32           p1_version,
     2976    psS32           chip_version,
     2977    psS32           guide_version,
    29782978    const char      *class_id,
    29792979    const char      *recipe,
     
    29862986 */
    29872987
    2988 long long p2PendingImfileDelete(
     2988long long chipPendingImfileDelete(
    29892989    psDB            *dbh,               ///< Database handle
    29902990    const psMetadata *where,            ///< Row match criteria
     
    29922992);
    29932993
    2994 /** Insert a single p2PendingImfileRow object into a table
     2994/** Insert a single chipPendingImfileRow object into a table
    29952995 *
    29962996 * This function constructs and inserts a single row based on it's parameters.
     
    29992999 */
    30003000
    3001 bool p2PendingImfileInsertObject(
    3002     psDB            *dbh,               ///< Database handle
    3003     p2PendingImfileRow *object             ///< p2PendingImfileRow object
    3004 );
    3005 
    3006 /** Insert an array of p2PendingImfileRow object into a table
     3001bool chipPendingImfileInsertObject(
     3002    psDB            *dbh,               ///< Database handle
     3003    chipPendingImfileRow *object             ///< chipPendingImfileRow object
     3004);
     3005
     3006/** Insert an array of chipPendingImfileRow object into a table
    30073007 *
    30083008 * This function constructs and inserts multiple rows based on it's parameters.
     
    30113011 */
    30123012
    3013 bool p2PendingImfileInsertObjects(
    3014     psDB            *dbh,               ///< Database handle
    3015     psArray         *objects            ///< array of p2PendingImfileRow objects
    3016 );
    3017 
    3018 /** Insert data from a binary FITS table p2PendingImfileRow into the database
     3013bool chipPendingImfileInsertObjects(
     3014    psDB            *dbh,               ///< Database handle
     3015    psArray         *objects            ///< array of chipPendingImfileRow objects
     3016);
     3017
     3018/** Insert data from a binary FITS table chipPendingImfileRow into the database
    30193019 *
    30203020 * This function expects a psFits object with a FITS table as the first
     
    30263026 */
    30273027
    3028 bool p2PendingImfileInsertFits(
     3028bool chipPendingImfileInsertFits(
    30293029    psDB            *dbh,               ///< Database handle
    30303030    const psFits    *fits               ///< psFits object
     
    30413041 */
    30423042
    3043 bool p2PendingImfileSelectRowsFits(
     3043bool chipPendingImfileSelectRowsFits(
    30443044    psDB            *dbh,               ///< Database handle
    30453045    psFits          *fits,              ///< psFits object
     
    30483048);
    30493049
    3050 /** Convert a p2PendingImfileRow into an equivalent psMetadata
     3050/** Convert a chipPendingImfileRow into an equivalent psMetadata
    30513051 *
    30523052 * @return A psMetadata pointer or NULL on error
    30533053 */
    30543054
    3055 psMetadata *p2PendingImfileMetadataFromObject(
    3056     const p2PendingImfileRow *object             ///< fooRow to convert into a psMetadata
     3055psMetadata *chipPendingImfileMetadataFromObject(
     3056    const chipPendingImfileRow *object             ///< fooRow to convert into a psMetadata
    30573057);
    30583058
    30593059/** Convert a psMetadata into an equivalent fooRow
    30603060 *
    3061  * @return A p2PendingImfileRow pointer or NULL on error
    3062  */
    3063 
    3064 p2PendingImfileRow *p2PendingImfileObjectFromMetadata(
     3061 * @return A chipPendingImfileRow pointer or NULL on error
     3062 */
     3063
     3064chipPendingImfileRow *chipPendingImfileObjectFromMetadata(
    30653065    psMetadata      *md                 ///< psMetadata to convert into a fooRow
    30663066);
    3067 /** Selects up to limit rows from the database and returns as p2PendingImfileRow objects in a psArray
     3067/** Selects up to limit rows from the database and returns as chipPendingImfileRow objects in a psArray
    30683068 *
    30693069 *  See psDBSelectRows() for documentation on the format of where.
     
    30723072 */
    30733073
    3074 psArray *p2PendingImfileSelectRowObjects(
     3074psArray *chipPendingImfileSelectRowObjects(
    30753075    psDB            *dbh,               ///< Database handle
    30763076    const psMetadata *where,            ///< Row match criteria
    30773077    unsigned long long limit            ///< Maximum number of elements to return
    30783078);
    3079 /** Deletes a row from the database coresponding to an p2PendingImfile
     3079/** Deletes a row from the database coresponding to an chipPendingImfile
    30803080 *
    30813081 *  Note that a 'where' search psMetadata is constructed from each object and
     
    30853085 */
    30863086
    3087 bool p2PendingImfileDeleteObject(
    3088     psDB            *dbh,               ///< Database handle
    3089     const p2PendingImfileRow *object    ///< Object to delete
     3087bool chipPendingImfileDeleteObject(
     3088    psDB            *dbh,               ///< Database handle
     3089    const chipPendingImfileRow *object    ///< Object to delete
    30903090);
    30913091/** Deletes up to limit rows from the database and returns the number of rows actually deleted.
     
    30973097 */
    30983098
    3099 long long p2PendingImfileDeleteRowObjects(
     3099long long chipPendingImfileDeleteRowObjects(
    31003100    psDB            *dbh,               ///< Database handle
    31013101    const psArray   *objects,           ///< Array of objects to delete
    31023102    unsigned long long limit            ///< Maximum number of elements to delete
    31033103);
    3104 /** Formats and prints an array of p2PendingImfileRow objects
     3104/** Formats and prints an array of chipPendingImfileRow objects
    31053105 *
    31063106 * When mdcf is set the formated output is in psMetadataConfig
     
    31103110 */
    31113111
    3112 bool p2PendingImfilePrintObjects(
     3112bool chipPendingImfilePrintObjects(
    31133113    FILE            *stream,            ///< a stream
    3114     psArray         *objects,           ///< An array of p2PendingImfileRow objects
     3114    psArray         *objects,           ///< An array of chipPendingImfileRow objects
    31153115    bool            mdcf                ///< format as mdconfig or simple
    31163116);
    3117 /** Formats and prints an p2PendingImfileRow object
     3117/** Formats and prints an chipPendingImfileRow object
    31183118 *
    31193119 * When mdcf is set the formated output is in psMetadataConfig
     
    31233123 */
    31243124
    3125 bool p2PendingImfilePrintObject(
     3125bool chipPendingImfilePrintObject(
    31263126    FILE            *stream,            ///< a stream
    3127     p2PendingImfileRow *object,    ///< an p2PendingImfileRow object
     3127    chipPendingImfileRow *object,    ///< an chipPendingImfileRow object
    31283128    bool            mdcf                ///< format as mdconfig or simple
    31293129);
    3130 /** p2ProcessedExpRow data structure
    3131  *
    3132  * Structure for representing a single row of p2ProcessedExp table data.
     3130/** chipProcessedExpRow data structure
     3131 *
     3132 * Structure for representing a single row of chipProcessedExp table data.
    31333133 */
    31343134
    31353135typedef struct {
    31363136    char            *exp_tag;
    3137     psS32           p2_version;
    3138     psS32           p1_version;
     3137    psS32           chip_version;
     3138    psS32           guide_version;
    31393139    char            *label;
    31403140    char            *expgroup;
    31413141    char            *dvodb;
    3142 } p2ProcessedExpRow;
    3143 
    3144 /** Creates a new p2ProcessedExpRow object
    3145  *
    3146  *  @return A new p2ProcessedExpRow object or NULL on failure.
    3147  */
    3148 
    3149 p2ProcessedExpRow *p2ProcessedExpRowAlloc(
     3142} chipProcessedExpRow;
     3143
     3144/** Creates a new chipProcessedExpRow object
     3145 *
     3146 *  @return A new chipProcessedExpRow object or NULL on failure.
     3147 */
     3148
     3149chipProcessedExpRow *chipProcessedExpRowAlloc(
    31503150    const char      *exp_tag,
    3151     psS32           p2_version,
    3152     psS32           p1_version,
     3151    psS32           chip_version,
     3152    psS32           guide_version,
    31533153    const char      *label,
    31543154    const char      *expgroup,
     
    31563156);
    31573157
    3158 /** Creates a new p2ProcessedExp table
    3159  *
    3160  * @return true on success
    3161  */
    3162 
    3163 bool p2ProcessedExpCreateTable(
     3158/** Creates a new chipProcessedExp table
     3159 *
     3160 * @return true on success
     3161 */
     3162
     3163bool chipProcessedExpCreateTable(
    31643164    psDB            *dbh                ///< Database handle
    31653165);
    31663166
    3167 /** Deletes a p2ProcessedExp table
    3168  *
    3169  * @return true on success
    3170  */
    3171 
    3172 bool p2ProcessedExpDropTable(
     3167/** Deletes a chipProcessedExp table
     3168 *
     3169 * @return true on success
     3170 */
     3171
     3172bool chipProcessedExpDropTable(
    31733173    psDB            *dbh                ///< Database handle
    31743174);
     
    31813181 */
    31823182
    3183 bool p2ProcessedExpInsert(
     3183bool chipProcessedExpInsert(
    31843184    psDB            *dbh,               ///< Database handle
    31853185    const char      *exp_tag,
    3186     psS32           p2_version,
    3187     psS32           p1_version,
     3186    psS32           chip_version,
     3187    psS32           guide_version,
    31883188    const char      *label,
    31893189    const char      *expgroup,
     
    31963196 */
    31973197
    3198 long long p2ProcessedExpDelete(
     3198long long chipProcessedExpDelete(
    31993199    psDB            *dbh,               ///< Database handle
    32003200    const psMetadata *where,            ///< Row match criteria
     
    32023202);
    32033203
    3204 /** Insert a single p2ProcessedExpRow object into a table
     3204/** Insert a single chipProcessedExpRow object into a table
    32053205 *
    32063206 * This function constructs and inserts a single row based on it's parameters.
     
    32093209 */
    32103210
    3211 bool p2ProcessedExpInsertObject(
    3212     psDB            *dbh,               ///< Database handle
    3213     p2ProcessedExpRow *object             ///< p2ProcessedExpRow object
    3214 );
    3215 
    3216 /** Insert an array of p2ProcessedExpRow object into a table
     3211bool chipProcessedExpInsertObject(
     3212    psDB            *dbh,               ///< Database handle
     3213    chipProcessedExpRow *object             ///< chipProcessedExpRow object
     3214);
     3215
     3216/** Insert an array of chipProcessedExpRow object into a table
    32173217 *
    32183218 * This function constructs and inserts multiple rows based on it's parameters.
     
    32213221 */
    32223222
    3223 bool p2ProcessedExpInsertObjects(
    3224     psDB            *dbh,               ///< Database handle
    3225     psArray         *objects            ///< array of p2ProcessedExpRow objects
    3226 );
    3227 
    3228 /** Insert data from a binary FITS table p2ProcessedExpRow into the database
     3223bool chipProcessedExpInsertObjects(
     3224    psDB            *dbh,               ///< Database handle
     3225    psArray         *objects            ///< array of chipProcessedExpRow objects
     3226);
     3227
     3228/** Insert data from a binary FITS table chipProcessedExpRow into the database
    32293229 *
    32303230 * This function expects a psFits object with a FITS table as the first
     
    32363236 */
    32373237
    3238 bool p2ProcessedExpInsertFits(
     3238bool chipProcessedExpInsertFits(
    32393239    psDB            *dbh,               ///< Database handle
    32403240    const psFits    *fits               ///< psFits object
     
    32513251 */
    32523252
    3253 bool p2ProcessedExpSelectRowsFits(
     3253bool chipProcessedExpSelectRowsFits(
    32543254    psDB            *dbh,               ///< Database handle
    32553255    psFits          *fits,              ///< psFits object
     
    32583258);
    32593259
    3260 /** Convert a p2ProcessedExpRow into an equivalent psMetadata
     3260/** Convert a chipProcessedExpRow into an equivalent psMetadata
    32613261 *
    32623262 * @return A psMetadata pointer or NULL on error
    32633263 */
    32643264
    3265 psMetadata *p2ProcessedExpMetadataFromObject(
    3266     const p2ProcessedExpRow *object             ///< fooRow to convert into a psMetadata
     3265psMetadata *chipProcessedExpMetadataFromObject(
     3266    const chipProcessedExpRow *object             ///< fooRow to convert into a psMetadata
    32673267);
    32683268
    32693269/** Convert a psMetadata into an equivalent fooRow
    32703270 *
    3271  * @return A p2ProcessedExpRow pointer or NULL on error
    3272  */
    3273 
    3274 p2ProcessedExpRow *p2ProcessedExpObjectFromMetadata(
     3271 * @return A chipProcessedExpRow pointer or NULL on error
     3272 */
     3273
     3274chipProcessedExpRow *chipProcessedExpObjectFromMetadata(
    32753275    psMetadata      *md                 ///< psMetadata to convert into a fooRow
    32763276);
    3277 /** Selects up to limit rows from the database and returns as p2ProcessedExpRow objects in a psArray
     3277/** Selects up to limit rows from the database and returns as chipProcessedExpRow objects in a psArray
    32783278 *
    32793279 *  See psDBSelectRows() for documentation on the format of where.
     
    32823282 */
    32833283
    3284 psArray *p2ProcessedExpSelectRowObjects(
     3284psArray *chipProcessedExpSelectRowObjects(
    32853285    psDB            *dbh,               ///< Database handle
    32863286    const psMetadata *where,            ///< Row match criteria
    32873287    unsigned long long limit            ///< Maximum number of elements to return
    32883288);
    3289 /** Deletes a row from the database coresponding to an p2ProcessedExp
     3289/** Deletes a row from the database coresponding to an chipProcessedExp
    32903290 *
    32913291 *  Note that a 'where' search psMetadata is constructed from each object and
     
    32953295 */
    32963296
    3297 bool p2ProcessedExpDeleteObject(
    3298     psDB            *dbh,               ///< Database handle
    3299     const p2ProcessedExpRow *object    ///< Object to delete
     3297bool chipProcessedExpDeleteObject(
     3298    psDB            *dbh,               ///< Database handle
     3299    const chipProcessedExpRow *object    ///< Object to delete
    33003300);
    33013301/** Deletes up to limit rows from the database and returns the number of rows actually deleted.
     
    33073307 */
    33083308
    3309 long long p2ProcessedExpDeleteRowObjects(
     3309long long chipProcessedExpDeleteRowObjects(
    33103310    psDB            *dbh,               ///< Database handle
    33113311    const psArray   *objects,           ///< Array of objects to delete
    33123312    unsigned long long limit            ///< Maximum number of elements to delete
    33133313);
    3314 /** Formats and prints an array of p2ProcessedExpRow objects
     3314/** Formats and prints an array of chipProcessedExpRow objects
    33153315 *
    33163316 * When mdcf is set the formated output is in psMetadataConfig
     
    33203320 */
    33213321
    3322 bool p2ProcessedExpPrintObjects(
     3322bool chipProcessedExpPrintObjects(
    33233323    FILE            *stream,            ///< a stream
    3324     psArray         *objects,           ///< An array of p2ProcessedExpRow objects
     3324    psArray         *objects,           ///< An array of chipProcessedExpRow objects
    33253325    bool            mdcf                ///< format as mdconfig or simple
    33263326);
    3327 /** Formats and prints an p2ProcessedExpRow object
     3327/** Formats and prints an chipProcessedExpRow object
    33283328 *
    33293329 * When mdcf is set the formated output is in psMetadataConfig
     
    33333333 */
    33343334
    3335 bool p2ProcessedExpPrintObject(
     3335bool chipProcessedExpPrintObject(
    33363336    FILE            *stream,            ///< a stream
    3337     p2ProcessedExpRow *object,    ///< an p2ProcessedExpRow object
     3337    chipProcessedExpRow *object,    ///< an chipProcessedExpRow object
    33383338    bool            mdcf                ///< format as mdconfig or simple
    33393339);
    3340 /** p2MaskRow data structure
    3341  *
    3342  * Structure for representing a single row of p2Mask table data.
     3340/** chipMaskRow data structure
     3341 *
     3342 * Structure for representing a single row of chipMask table data.
    33433343 */
    33443344
    33453345typedef struct {
    33463346    char            *label;
    3347 } p2MaskRow;
    3348 
    3349 /** Creates a new p2MaskRow object
    3350  *
    3351  *  @return A new p2MaskRow object or NULL on failure.
    3352  */
    3353 
    3354 p2MaskRow *p2MaskRowAlloc(
     3347} chipMaskRow;
     3348
     3349/** Creates a new chipMaskRow object
     3350 *
     3351 *  @return A new chipMaskRow object or NULL on failure.
     3352 */
     3353
     3354chipMaskRow *chipMaskRowAlloc(
    33553355    const char      *label
    33563356);
    33573357
    3358 /** Creates a new p2Mask table
    3359  *
    3360  * @return true on success
    3361  */
    3362 
    3363 bool p2MaskCreateTable(
     3358/** Creates a new chipMask table
     3359 *
     3360 * @return true on success
     3361 */
     3362
     3363bool chipMaskCreateTable(
    33643364    psDB            *dbh                ///< Database handle
    33653365);
    33663366
    3367 /** Deletes a p2Mask table
    3368  *
    3369  * @return true on success
    3370  */
    3371 
    3372 bool p2MaskDropTable(
     3367/** Deletes a chipMask table
     3368 *
     3369 * @return true on success
     3370 */
     3371
     3372bool chipMaskDropTable(
    33733373    psDB            *dbh                ///< Database handle
    33743374);
     
    33813381 */
    33823382
    3383 bool p2MaskInsert(
     3383bool chipMaskInsert(
    33843384    psDB            *dbh,               ///< Database handle
    33853385    const char      *label
     
    33913391 */
    33923392
    3393 long long p2MaskDelete(
     3393long long chipMaskDelete(
    33943394    psDB            *dbh,               ///< Database handle
    33953395    const psMetadata *where,            ///< Row match criteria
     
    33973397);
    33983398
    3399 /** Insert a single p2MaskRow object into a table
     3399/** Insert a single chipMaskRow object into a table
    34003400 *
    34013401 * This function constructs and inserts a single row based on it's parameters.
     
    34043404 */
    34053405
    3406 bool p2MaskInsertObject(
    3407     psDB            *dbh,               ///< Database handle
    3408     p2MaskRow       *object             ///< p2MaskRow object
    3409 );
    3410 
    3411 /** Insert an array of p2MaskRow object into a table
     3406bool chipMaskInsertObject(
     3407    psDB            *dbh,               ///< Database handle
     3408    chipMaskRow     *object             ///< chipMaskRow object
     3409);
     3410
     3411/** Insert an array of chipMaskRow object into a table
    34123412 *
    34133413 * This function constructs and inserts multiple rows based on it's parameters.
     
    34163416 */
    34173417
    3418 bool p2MaskInsertObjects(
    3419     psDB            *dbh,               ///< Database handle
    3420     psArray         *objects            ///< array of p2MaskRow objects
    3421 );
    3422 
    3423 /** Insert data from a binary FITS table p2MaskRow into the database
     3418bool chipMaskInsertObjects(
     3419    psDB            *dbh,               ///< Database handle
     3420    psArray         *objects            ///< array of chipMaskRow objects
     3421);
     3422
     3423/** Insert data from a binary FITS table chipMaskRow into the database
    34243424 *
    34253425 * This function expects a psFits object with a FITS table as the first
     
    34313431 */
    34323432
    3433 bool p2MaskInsertFits(
     3433bool chipMaskInsertFits(
    34343434    psDB            *dbh,               ///< Database handle
    34353435    const psFits    *fits               ///< psFits object
     
    34463446 */
    34473447
    3448 bool p2MaskSelectRowsFits(
     3448bool chipMaskSelectRowsFits(
    34493449    psDB            *dbh,               ///< Database handle
    34503450    psFits          *fits,              ///< psFits object
     
    34533453);
    34543454
    3455 /** Convert a p2MaskRow into an equivalent psMetadata
     3455/** Convert a chipMaskRow into an equivalent psMetadata
    34563456 *
    34573457 * @return A psMetadata pointer or NULL on error
    34583458 */
    34593459
    3460 psMetadata *p2MaskMetadataFromObject(
    3461     const p2MaskRow *object             ///< fooRow to convert into a psMetadata
     3460psMetadata *chipMaskMetadataFromObject(
     3461    const chipMaskRow *object             ///< fooRow to convert into a psMetadata
    34623462);
    34633463
    34643464/** Convert a psMetadata into an equivalent fooRow
    34653465 *
    3466  * @return A p2MaskRow pointer or NULL on error
    3467  */
    3468 
    3469 p2MaskRow *p2MaskObjectFromMetadata(
     3466 * @return A chipMaskRow pointer or NULL on error
     3467 */
     3468
     3469chipMaskRow *chipMaskObjectFromMetadata(
    34703470    psMetadata      *md                 ///< psMetadata to convert into a fooRow
    34713471);
    3472 /** Selects up to limit rows from the database and returns as p2MaskRow objects in a psArray
     3472/** Selects up to limit rows from the database and returns as chipMaskRow objects in a psArray
    34733473 *
    34743474 *  See psDBSelectRows() for documentation on the format of where.
     
    34773477 */
    34783478
    3479 psArray *p2MaskSelectRowObjects(
     3479psArray *chipMaskSelectRowObjects(
    34803480    psDB            *dbh,               ///< Database handle
    34813481    const psMetadata *where,            ///< Row match criteria
    34823482    unsigned long long limit            ///< Maximum number of elements to return
    34833483);
    3484 /** Deletes a row from the database coresponding to an p2Mask
     3484/** Deletes a row from the database coresponding to an chipMask
    34853485 *
    34863486 *  Note that a 'where' search psMetadata is constructed from each object and
     
    34903490 */
    34913491
    3492 bool p2MaskDeleteObject(
    3493     psDB            *dbh,               ///< Database handle
    3494     const p2MaskRow *object    ///< Object to delete
     3492bool chipMaskDeleteObject(
     3493    psDB            *dbh,               ///< Database handle
     3494    const chipMaskRow *object    ///< Object to delete
    34953495);
    34963496/** Deletes up to limit rows from the database and returns the number of rows actually deleted.
     
    35023502 */
    35033503
    3504 long long p2MaskDeleteRowObjects(
     3504long long chipMaskDeleteRowObjects(
    35053505    psDB            *dbh,               ///< Database handle
    35063506    const psArray   *objects,           ///< Array of objects to delete
    35073507    unsigned long long limit            ///< Maximum number of elements to delete
    35083508);
    3509 /** Formats and prints an array of p2MaskRow objects
     3509/** Formats and prints an array of chipMaskRow objects
    35103510 *
    35113511 * When mdcf is set the formated output is in psMetadataConfig
     
    35153515 */
    35163516
    3517 bool p2MaskPrintObjects(
     3517bool chipMaskPrintObjects(
    35183518    FILE            *stream,            ///< a stream
    3519     psArray         *objects,           ///< An array of p2MaskRow objects
     3519    psArray         *objects,           ///< An array of chipMaskRow objects
    35203520    bool            mdcf                ///< format as mdconfig or simple
    35213521);
    3522 /** Formats and prints an p2MaskRow object
     3522/** Formats and prints an chipMaskRow object
    35233523 *
    35243524 * When mdcf is set the formated output is in psMetadataConfig
     
    35283528 */
    35293529
    3530 bool p2MaskPrintObject(
     3530bool chipMaskPrintObject(
    35313531    FILE            *stream,            ///< a stream
    3532     p2MaskRow *object,    ///< an p2MaskRow object
     3532    chipMaskRow *object,    ///< an chipMaskRow object
    35333533    bool            mdcf                ///< format as mdconfig or simple
    35343534);
    3535 /** p2ProcessedImfileRow data structure
    3536  *
    3537  * Structure for representing a single row of p2ProcessedImfile table data.
     3535/** chipProcessedImfileRow data structure
     3536 *
     3537 * Structure for representing a single row of chipProcessedImfile table data.
    35383538 */
    35393539
    35403540typedef struct {
    35413541    char            *exp_tag;
    3542     psS32           p2_version;
    3543     psS32           p1_version;
     3542    psS32           chip_version;
     3543    psS32           guide_version;
    35443544    char            *class_id;
    35453545    char            *recipe;
     
    35513551    char            *b2_uri;
    35523552    psS16           fault;
    3553 } p2ProcessedImfileRow;
    3554 
    3555 /** Creates a new p2ProcessedImfileRow object
    3556  *
    3557  *  @return A new p2ProcessedImfileRow object or NULL on failure.
    3558  */
    3559 
    3560 p2ProcessedImfileRow *p2ProcessedImfileRowAlloc(
     3553} chipProcessedImfileRow;
     3554
     3555/** Creates a new chipProcessedImfileRow object
     3556 *
     3557 *  @return A new chipProcessedImfileRow object or NULL on failure.
     3558 */
     3559
     3560chipProcessedImfileRow *chipProcessedImfileRowAlloc(
    35613561    const char      *exp_tag,
    3562     psS32           p2_version,
    3563     psS32           p1_version,
     3562    psS32           chip_version,
     3563    psS32           guide_version,
    35643564    const char      *class_id,
    35653565    const char      *recipe,
     
    35733573);
    35743574
    3575 /** Creates a new p2ProcessedImfile table
    3576  *
    3577  * @return true on success
    3578  */
    3579 
    3580 bool p2ProcessedImfileCreateTable(
     3575/** Creates a new chipProcessedImfile table
     3576 *
     3577 * @return true on success
     3578 */
     3579
     3580bool chipProcessedImfileCreateTable(
    35813581    psDB            *dbh                ///< Database handle
    35823582);
    35833583
    3584 /** Deletes a p2ProcessedImfile table
    3585  *
    3586  * @return true on success
    3587  */
    3588 
    3589 bool p2ProcessedImfileDropTable(
     3584/** Deletes a chipProcessedImfile table
     3585 *
     3586 * @return true on success
     3587 */
     3588
     3589bool chipProcessedImfileDropTable(
    35903590    psDB            *dbh                ///< Database handle
    35913591);
     
    35983598 */
    35993599
    3600 bool p2ProcessedImfileInsert(
     3600bool chipProcessedImfileInsert(
    36013601    psDB            *dbh,               ///< Database handle
    36023602    const char      *exp_tag,
    3603     psS32           p2_version,
    3604     psS32           p1_version,
     3603    psS32           chip_version,
     3604    psS32           guide_version,
    36053605    const char      *class_id,
    36063606    const char      *recipe,
     
    36193619 */
    36203620
    3621 long long p2ProcessedImfileDelete(
     3621long long chipProcessedImfileDelete(
    36223622    psDB            *dbh,               ///< Database handle
    36233623    const psMetadata *where,            ///< Row match criteria
     
    36253625);
    36263626
    3627 /** Insert a single p2ProcessedImfileRow object into a table
     3627/** Insert a single chipProcessedImfileRow object into a table
    36283628 *
    36293629 * This function constructs and inserts a single row based on it's parameters.
     
    36323632 */
    36333633
    3634 bool p2ProcessedImfileInsertObject(
    3635     psDB            *dbh,               ///< Database handle
    3636     p2ProcessedImfileRow *object             ///< p2ProcessedImfileRow object
    3637 );
    3638 
    3639 /** Insert an array of p2ProcessedImfileRow object into a table
     3634bool chipProcessedImfileInsertObject(
     3635    psDB            *dbh,               ///< Database handle
     3636    chipProcessedImfileRow *object             ///< chipProcessedImfileRow object
     3637);
     3638
     3639/** Insert an array of chipProcessedImfileRow object into a table
    36403640 *
    36413641 * This function constructs and inserts multiple rows based on it's parameters.
     
    36443644 */
    36453645
    3646 bool p2ProcessedImfileInsertObjects(
    3647     psDB            *dbh,               ///< Database handle
    3648     psArray         *objects            ///< array of p2ProcessedImfileRow objects
    3649 );
    3650 
    3651 /** Insert data from a binary FITS table p2ProcessedImfileRow into the database
     3646bool chipProcessedImfileInsertObjects(
     3647    psDB            *dbh,               ///< Database handle
     3648    psArray         *objects            ///< array of chipProcessedImfileRow objects
     3649);
     3650
     3651/** Insert data from a binary FITS table chipProcessedImfileRow into the database
    36523652 *
    36533653 * This function expects a psFits object with a FITS table as the first
     
    36593659 */
    36603660
    3661 bool p2ProcessedImfileInsertFits(
     3661bool chipProcessedImfileInsertFits(
    36623662    psDB            *dbh,               ///< Database handle
    36633663    const psFits    *fits               ///< psFits object
     
    36743674 */
    36753675
    3676 bool p2ProcessedImfileSelectRowsFits(
     3676bool chipProcessedImfileSelectRowsFits(
    36773677    psDB            *dbh,               ///< Database handle
    36783678    psFits          *fits,              ///< psFits object
     
    36813681);
    36823682
    3683 /** Convert a p2ProcessedImfileRow into an equivalent psMetadata
     3683/** Convert a chipProcessedImfileRow into an equivalent psMetadata
    36843684 *
    36853685 * @return A psMetadata pointer or NULL on error
    36863686 */
    36873687
    3688 psMetadata *p2ProcessedImfileMetadataFromObject(
    3689     const p2ProcessedImfileRow *object             ///< fooRow to convert into a psMetadata
     3688psMetadata *chipProcessedImfileMetadataFromObject(
     3689    const chipProcessedImfileRow *object             ///< fooRow to convert into a psMetadata
    36903690);
    36913691
    36923692/** Convert a psMetadata into an equivalent fooRow
    36933693 *
    3694  * @return A p2ProcessedImfileRow pointer or NULL on error
    3695  */
    3696 
    3697 p2ProcessedImfileRow *p2ProcessedImfileObjectFromMetadata(
     3694 * @return A chipProcessedImfileRow pointer or NULL on error
     3695 */
     3696
     3697chipProcessedImfileRow *chipProcessedImfileObjectFromMetadata(
    36983698    psMetadata      *md                 ///< psMetadata to convert into a fooRow
    36993699);
    3700 /** Selects up to limit rows from the database and returns as p2ProcessedImfileRow objects in a psArray
     3700/** Selects up to limit rows from the database and returns as chipProcessedImfileRow objects in a psArray
    37013701 *
    37023702 *  See psDBSelectRows() for documentation on the format of where.
     
    37053705 */
    37063706
    3707 psArray *p2ProcessedImfileSelectRowObjects(
     3707psArray *chipProcessedImfileSelectRowObjects(
    37083708    psDB            *dbh,               ///< Database handle
    37093709    const psMetadata *where,            ///< Row match criteria
    37103710    unsigned long long limit            ///< Maximum number of elements to return
    37113711);
    3712 /** Deletes a row from the database coresponding to an p2ProcessedImfile
     3712/** Deletes a row from the database coresponding to an chipProcessedImfile
    37133713 *
    37143714 *  Note that a 'where' search psMetadata is constructed from each object and
     
    37183718 */
    37193719
    3720 bool p2ProcessedImfileDeleteObject(
    3721     psDB            *dbh,               ///< Database handle
    3722     const p2ProcessedImfileRow *object    ///< Object to delete
     3720bool chipProcessedImfileDeleteObject(
     3721    psDB            *dbh,               ///< Database handle
     3722    const chipProcessedImfileRow *object    ///< Object to delete
    37233723);
    37243724/** Deletes up to limit rows from the database and returns the number of rows actually deleted.
     
    37303730 */
    37313731
    3732 long long p2ProcessedImfileDeleteRowObjects(
     3732long long chipProcessedImfileDeleteRowObjects(
    37333733    psDB            *dbh,               ///< Database handle
    37343734    const psArray   *objects,           ///< Array of objects to delete
    37353735    unsigned long long limit            ///< Maximum number of elements to delete
    37363736);
    3737 /** Formats and prints an array of p2ProcessedImfileRow objects
     3737/** Formats and prints an array of chipProcessedImfileRow objects
    37383738 *
    37393739 * When mdcf is set the formated output is in psMetadataConfig
     
    37433743 */
    37443744
    3745 bool p2ProcessedImfilePrintObjects(
     3745bool chipProcessedImfilePrintObjects(
    37463746    FILE            *stream,            ///< a stream
    3747     psArray         *objects,           ///< An array of p2ProcessedImfileRow objects
     3747    psArray         *objects,           ///< An array of chipProcessedImfileRow objects
    37483748    bool            mdcf                ///< format as mdconfig or simple
    37493749);
    3750 /** Formats and prints an p2ProcessedImfileRow object
     3750/** Formats and prints an chipProcessedImfileRow object
    37513751 *
    37523752 * When mdcf is set the formated output is in psMetadataConfig
     
    37563756 */
    37573757
    3758 bool p2ProcessedImfilePrintObject(
     3758bool chipProcessedImfilePrintObject(
    37593759    FILE            *stream,            ///< a stream
    3760     p2ProcessedImfileRow *object,    ///< an p2ProcessedImfileRow object
     3760    chipProcessedImfileRow *object,    ///< an chipProcessedImfileRow object
    37613761    bool            mdcf                ///< format as mdconfig or simple
    37623762);
    3763 /** p3PendingExpRow data structure
    3764  *
    3765  * Structure for representing a single row of p3PendingExp table data.
     3763/** camPendingExpRow data structure
     3764 *
     3765 * Structure for representing a single row of camPendingExp table data.
    37663766 */
    37673767
    37683768typedef struct {
    37693769    char            *exp_tag;
    3770     psS32           p3_version;
    3771     psS32           p2_version;
     3770    psS32           cam_version;
     3771    psS32           chip_version;
    37723772    char            *label;
    37733773    char            *expgroup;
    37743774    char            *dvodb;
    3775 } p3PendingExpRow;
    3776 
    3777 /** Creates a new p3PendingExpRow object
    3778  *
    3779  *  @return A new p3PendingExpRow object or NULL on failure.
    3780  */
    3781 
    3782 p3PendingExpRow *p3PendingExpRowAlloc(
     3775} camPendingExpRow;
     3776
     3777/** Creates a new camPendingExpRow object
     3778 *
     3779 *  @return A new camPendingExpRow object or NULL on failure.
     3780 */
     3781
     3782camPendingExpRow *camPendingExpRowAlloc(
    37833783    const char      *exp_tag,
    3784     psS32           p3_version,
    3785     psS32           p2_version,
     3784    psS32           cam_version,
     3785    psS32           chip_version,
    37863786    const char      *label,
    37873787    const char      *expgroup,
     
    37893789);
    37903790
    3791 /** Creates a new p3PendingExp table
    3792  *
    3793  * @return true on success
    3794  */
    3795 
    3796 bool p3PendingExpCreateTable(
     3791/** Creates a new camPendingExp table
     3792 *
     3793 * @return true on success
     3794 */
     3795
     3796bool camPendingExpCreateTable(
    37973797    psDB            *dbh                ///< Database handle
    37983798);
    37993799
    3800 /** Deletes a p3PendingExp table
    3801  *
    3802  * @return true on success
    3803  */
    3804 
    3805 bool p3PendingExpDropTable(
     3800/** Deletes a camPendingExp table
     3801 *
     3802 * @return true on success
     3803 */
     3804
     3805bool camPendingExpDropTable(
    38063806    psDB            *dbh                ///< Database handle
    38073807);
     
    38143814 */
    38153815
    3816 bool p3PendingExpInsert(
     3816bool camPendingExpInsert(
    38173817    psDB            *dbh,               ///< Database handle
    38183818    const char      *exp_tag,
    3819     psS32           p3_version,
    3820     psS32           p2_version,
     3819    psS32           cam_version,
     3820    psS32           chip_version,
    38213821    const char      *label,
    38223822    const char      *expgroup,
     
    38293829 */
    38303830
    3831 long long p3PendingExpDelete(
     3831long long camPendingExpDelete(
    38323832    psDB            *dbh,               ///< Database handle
    38333833    const psMetadata *where,            ///< Row match criteria
     
    38353835);
    38363836
    3837 /** Insert a single p3PendingExpRow object into a table
     3837/** Insert a single camPendingExpRow object into a table
    38383838 *
    38393839 * This function constructs and inserts a single row based on it's parameters.
     
    38423842 */
    38433843
    3844 bool p3PendingExpInsertObject(
    3845     psDB            *dbh,               ///< Database handle
    3846     p3PendingExpRow *object             ///< p3PendingExpRow object
    3847 );
    3848 
    3849 /** Insert an array of p3PendingExpRow object into a table
     3844bool camPendingExpInsertObject(
     3845    psDB            *dbh,               ///< Database handle
     3846    camPendingExpRow *object             ///< camPendingExpRow object
     3847);
     3848
     3849/** Insert an array of camPendingExpRow object into a table
    38503850 *
    38513851 * This function constructs and inserts multiple rows based on it's parameters.
     
    38543854 */
    38553855
    3856 bool p3PendingExpInsertObjects(
    3857     psDB            *dbh,               ///< Database handle
    3858     psArray         *objects            ///< array of p3PendingExpRow objects
    3859 );
    3860 
    3861 /** Insert data from a binary FITS table p3PendingExpRow into the database
     3856bool camPendingExpInsertObjects(
     3857    psDB            *dbh,               ///< Database handle
     3858    psArray         *objects            ///< array of camPendingExpRow objects
     3859);
     3860
     3861/** Insert data from a binary FITS table camPendingExpRow into the database
    38623862 *
    38633863 * This function expects a psFits object with a FITS table as the first
     
    38693869 */
    38703870
    3871 bool p3PendingExpInsertFits(
     3871bool camPendingExpInsertFits(
    38723872    psDB            *dbh,               ///< Database handle
    38733873    const psFits    *fits               ///< psFits object
     
    38843884 */
    38853885
    3886 bool p3PendingExpSelectRowsFits(
     3886bool camPendingExpSelectRowsFits(
    38873887    psDB            *dbh,               ///< Database handle
    38883888    psFits          *fits,              ///< psFits object
     
    38913891);
    38923892
    3893 /** Convert a p3PendingExpRow into an equivalent psMetadata
     3893/** Convert a camPendingExpRow into an equivalent psMetadata
    38943894 *
    38953895 * @return A psMetadata pointer or NULL on error
    38963896 */
    38973897
    3898 psMetadata *p3PendingExpMetadataFromObject(
    3899     const p3PendingExpRow *object             ///< fooRow to convert into a psMetadata
     3898psMetadata *camPendingExpMetadataFromObject(
     3899    const camPendingExpRow *object             ///< fooRow to convert into a psMetadata
    39003900);
    39013901
    39023902/** Convert a psMetadata into an equivalent fooRow
    39033903 *
    3904  * @return A p3PendingExpRow pointer or NULL on error
    3905  */
    3906 
    3907 p3PendingExpRow *p3PendingExpObjectFromMetadata(
     3904 * @return A camPendingExpRow pointer or NULL on error
     3905 */
     3906
     3907camPendingExpRow *camPendingExpObjectFromMetadata(
    39083908    psMetadata      *md                 ///< psMetadata to convert into a fooRow
    39093909);
    3910 /** Selects up to limit rows from the database and returns as p3PendingExpRow objects in a psArray
     3910/** Selects up to limit rows from the database and returns as camPendingExpRow objects in a psArray
    39113911 *
    39123912 *  See psDBSelectRows() for documentation on the format of where.
     
    39153915 */
    39163916
    3917 psArray *p3PendingExpSelectRowObjects(
     3917psArray *camPendingExpSelectRowObjects(
    39183918    psDB            *dbh,               ///< Database handle
    39193919    const psMetadata *where,            ///< Row match criteria
    39203920    unsigned long long limit            ///< Maximum number of elements to return
    39213921);
    3922 /** Deletes a row from the database coresponding to an p3PendingExp
     3922/** Deletes a row from the database coresponding to an camPendingExp
    39233923 *
    39243924 *  Note that a 'where' search psMetadata is constructed from each object and
     
    39283928 */
    39293929
    3930 bool p3PendingExpDeleteObject(
    3931     psDB            *dbh,               ///< Database handle
    3932     const p3PendingExpRow *object    ///< Object to delete
     3930bool camPendingExpDeleteObject(
     3931    psDB            *dbh,               ///< Database handle
     3932    const camPendingExpRow *object    ///< Object to delete
    39333933);
    39343934/** Deletes up to limit rows from the database and returns the number of rows actually deleted.
     
    39403940 */
    39413941
    3942 long long p3PendingExpDeleteRowObjects(
     3942long long camPendingExpDeleteRowObjects(
    39433943    psDB            *dbh,               ///< Database handle
    39443944    const psArray   *objects,           ///< Array of objects to delete
    39453945    unsigned long long limit            ///< Maximum number of elements to delete
    39463946);
    3947 /** Formats and prints an array of p3PendingExpRow objects
     3947/** Formats and prints an array of camPendingExpRow objects
    39483948 *
    39493949 * When mdcf is set the formated output is in psMetadataConfig
     
    39533953 */
    39543954
    3955 bool p3PendingExpPrintObjects(
     3955bool camPendingExpPrintObjects(
    39563956    FILE            *stream,            ///< a stream
    3957     psArray         *objects,           ///< An array of p3PendingExpRow objects
     3957    psArray         *objects,           ///< An array of camPendingExpRow objects
    39583958    bool            mdcf                ///< format as mdconfig or simple
    39593959);
    3960 /** Formats and prints an p3PendingExpRow object
     3960/** Formats and prints an camPendingExpRow object
    39613961 *
    39623962 * When mdcf is set the formated output is in psMetadataConfig
     
    39663966 */
    39673967
    3968 bool p3PendingExpPrintObject(
     3968bool camPendingExpPrintObject(
    39693969    FILE            *stream,            ///< a stream
    3970     p3PendingExpRow *object,    ///< an p3PendingExpRow object
     3970    camPendingExpRow *object,    ///< an camPendingExpRow object
    39713971    bool            mdcf                ///< format as mdconfig or simple
    39723972);
    3973 /** p3ProcessedExpRow data structure
    3974  *
    3975  * Structure for representing a single row of p3ProcessedExp table data.
     3973/** camProcessedExpRow data structure
     3974 *
     3975 * Structure for representing a single row of camProcessedExp table data.
    39763976 */
    39773977
    39783978typedef struct {
    39793979    char            *exp_tag;
    3980     psS32           p3_version;
    3981     psS32           p2_version;
     3980    psS32           cam_version;
     3981    psS32           chip_version;
    39823982    char            *label;
    39833983    char            *uri;
     
    39963996    char            *expgroup;
    39973997    char            *dvodb;
    3998 } p3ProcessedExpRow;
    3999 
    4000 /** Creates a new p3ProcessedExpRow object
    4001  *
    4002  *  @return A new p3ProcessedExpRow object or NULL on failure.
    4003  */
    4004 
    4005 p3ProcessedExpRow *p3ProcessedExpRowAlloc(
     3998} camProcessedExpRow;
     3999
     4000/** Creates a new camProcessedExpRow object
     4001 *
     4002 *  @return A new camProcessedExpRow object or NULL on failure.
     4003 */
     4004
     4005camProcessedExpRow *camProcessedExpRowAlloc(
    40064006    const char      *exp_tag,
    4007     psS32           p3_version,
    4008     psS32           p2_version,
     4007    psS32           cam_version,
     4008    psS32           chip_version,
    40094009    const char      *label,
    40104010    const char      *uri,
     
    40254025);
    40264026
    4027 /** Creates a new p3ProcessedExp table
    4028  *
    4029  * @return true on success
    4030  */
    4031 
    4032 bool p3ProcessedExpCreateTable(
     4027/** Creates a new camProcessedExp table
     4028 *
     4029 * @return true on success
     4030 */
     4031
     4032bool camProcessedExpCreateTable(
    40334033    psDB            *dbh                ///< Database handle
    40344034);
    40354035
    4036 /** Deletes a p3ProcessedExp table
    4037  *
    4038  * @return true on success
    4039  */
    4040 
    4041 bool p3ProcessedExpDropTable(
     4036/** Deletes a camProcessedExp table
     4037 *
     4038 * @return true on success
     4039 */
     4040
     4041bool camProcessedExpDropTable(
    40424042    psDB            *dbh                ///< Database handle
    40434043);
     
    40504050 */
    40514051
    4052 bool p3ProcessedExpInsert(
     4052bool camProcessedExpInsert(
    40534053    psDB            *dbh,               ///< Database handle
    40544054    const char      *exp_tag,
    4055     psS32           p3_version,
    4056     psS32           p2_version,
     4055    psS32           cam_version,
     4056    psS32           chip_version,
    40574057    const char      *label,
    40584058    const char      *uri,
     
    40784078 */
    40794079
    4080 long long p3ProcessedExpDelete(
     4080long long camProcessedExpDelete(
    40814081    psDB            *dbh,               ///< Database handle
    40824082    const psMetadata *where,            ///< Row match criteria
     
    40844084);
    40854085
    4086 /** Insert a single p3ProcessedExpRow object into a table
     4086/** Insert a single camProcessedExpRow object into a table
    40874087 *
    40884088 * This function constructs and inserts a single row based on it's parameters.
     
    40914091 */
    40924092
    4093 bool p3ProcessedExpInsertObject(
    4094     psDB            *dbh,               ///< Database handle
    4095     p3ProcessedExpRow *object             ///< p3ProcessedExpRow object
    4096 );
    4097 
    4098 /** Insert an array of p3ProcessedExpRow object into a table
     4093bool camProcessedExpInsertObject(
     4094    psDB            *dbh,               ///< Database handle
     4095    camProcessedExpRow *object             ///< camProcessedExpRow object
     4096);
     4097
     4098/** Insert an array of camProcessedExpRow object into a table
    40994099 *
    41004100 * This function constructs and inserts multiple rows based on it's parameters.
     
    41034103 */
    41044104
    4105 bool p3ProcessedExpInsertObjects(
    4106     psDB            *dbh,               ///< Database handle
    4107     psArray         *objects            ///< array of p3ProcessedExpRow objects
    4108 );
    4109 
    4110 /** Insert data from a binary FITS table p3ProcessedExpRow into the database
     4105bool camProcessedExpInsertObjects(
     4106    psDB            *dbh,               ///< Database handle
     4107    psArray         *objects            ///< array of camProcessedExpRow objects
     4108);
     4109
     4110/** Insert data from a binary FITS table camProcessedExpRow into the database
    41114111 *
    41124112 * This function expects a psFits object with a FITS table as the first
     
    41184118 */
    41194119
    4120 bool p3ProcessedExpInsertFits(
     4120bool camProcessedExpInsertFits(
    41214121    psDB            *dbh,               ///< Database handle
    41224122    const psFits    *fits               ///< psFits object
     
    41334133 */
    41344134
    4135 bool p3ProcessedExpSelectRowsFits(
     4135bool camProcessedExpSelectRowsFits(
    41364136    psDB            *dbh,               ///< Database handle
    41374137    psFits          *fits,              ///< psFits object
     
    41404140);
    41414141
    4142 /** Convert a p3ProcessedExpRow into an equivalent psMetadata
     4142/** Convert a camProcessedExpRow into an equivalent psMetadata
    41434143 *
    41444144 * @return A psMetadata pointer or NULL on error
    41454145 */
    41464146
    4147 psMetadata *p3ProcessedExpMetadataFromObject(
    4148     const p3ProcessedExpRow *object             ///< fooRow to convert into a psMetadata
     4147psMetadata *camProcessedExpMetadataFromObject(
     4148    const camProcessedExpRow *object             ///< fooRow to convert into a psMetadata
    41494149);
    41504150
    41514151/** Convert a psMetadata into an equivalent fooRow
    41524152 *
    4153  * @return A p3ProcessedExpRow pointer or NULL on error
    4154  */
    4155 
    4156 p3ProcessedExpRow *p3ProcessedExpObjectFromMetadata(
     4153 * @return A camProcessedExpRow pointer or NULL on error
     4154 */
     4155
     4156camProcessedExpRow *camProcessedExpObjectFromMetadata(
    41574157    psMetadata      *md                 ///< psMetadata to convert into a fooRow
    41584158);
    4159 /** Selects up to limit rows from the database and returns as p3ProcessedExpRow objects in a psArray
     4159/** Selects up to limit rows from the database and returns as camProcessedExpRow objects in a psArray
    41604160 *
    41614161 *  See psDBSelectRows() for documentation on the format of where.
     
    41644164 */
    41654165
    4166 psArray *p3ProcessedExpSelectRowObjects(
     4166psArray *camProcessedExpSelectRowObjects(
    41674167    psDB            *dbh,               ///< Database handle
    41684168    const psMetadata *where,            ///< Row match criteria
    41694169    unsigned long long limit            ///< Maximum number of elements to return
    41704170);
    4171 /** Deletes a row from the database coresponding to an p3ProcessedExp
     4171/** Deletes a row from the database coresponding to an camProcessedExp
    41724172 *
    41734173 *  Note that a 'where' search psMetadata is constructed from each object and
     
    41774177 */
    41784178
    4179 bool p3ProcessedExpDeleteObject(
    4180     psDB            *dbh,               ///< Database handle
    4181     const p3ProcessedExpRow *object    ///< Object to delete
     4179bool camProcessedExpDeleteObject(
     4180    psDB            *dbh,               ///< Database handle
     4181    const camProcessedExpRow *object    ///< Object to delete
    41824182);
    41834183/** Deletes up to limit rows from the database and returns the number of rows actually deleted.
     
    41894189 */
    41904190
    4191 long long p3ProcessedExpDeleteRowObjects(
     4191long long camProcessedExpDeleteRowObjects(
    41924192    psDB            *dbh,               ///< Database handle
    41934193    const psArray   *objects,           ///< Array of objects to delete
    41944194    unsigned long long limit            ///< Maximum number of elements to delete
    41954195);
    4196 /** Formats and prints an array of p3ProcessedExpRow objects
     4196/** Formats and prints an array of camProcessedExpRow objects
    41974197 *
    41984198 * When mdcf is set the formated output is in psMetadataConfig
     
    42024202 */
    42034203
    4204 bool p3ProcessedExpPrintObjects(
     4204bool camProcessedExpPrintObjects(
    42054205    FILE            *stream,            ///< a stream
    4206     psArray         *objects,           ///< An array of p3ProcessedExpRow objects
     4206    psArray         *objects,           ///< An array of camProcessedExpRow objects
    42074207    bool            mdcf                ///< format as mdconfig or simple
    42084208);
    4209 /** Formats and prints an p3ProcessedExpRow object
     4209/** Formats and prints an camProcessedExpRow object
    42104210 *
    42114211 * When mdcf is set the formated output is in psMetadataConfig
     
    42154215 */
    42164216
    4217 bool p3ProcessedExpPrintObject(
     4217bool camProcessedExpPrintObject(
    42184218    FILE            *stream,            ///< a stream
    4219     p3ProcessedExpRow *object,    ///< an p3ProcessedExpRow object
     4219    camProcessedExpRow *object,    ///< an camProcessedExpRow object
    42204220    bool            mdcf                ///< format as mdconfig or simple
    42214221);
    4222 /** p3MaskRow data structure
    4223  *
    4224  * Structure for representing a single row of p3Mask table data.
     4222/** camMaskRow data structure
     4223 *
     4224 * Structure for representing a single row of camMask table data.
    42254225 */
    42264226
    42274227typedef struct {
    42284228    char            *label;
    4229 } p3MaskRow;
    4230 
    4231 /** Creates a new p3MaskRow object
    4232  *
    4233  *  @return A new p3MaskRow object or NULL on failure.
    4234  */
    4235 
    4236 p3MaskRow *p3MaskRowAlloc(
     4229} camMaskRow;
     4230
     4231/** Creates a new camMaskRow object
     4232 *
     4233 *  @return A new camMaskRow object or NULL on failure.
     4234 */
     4235
     4236camMaskRow *camMaskRowAlloc(
    42374237    const char      *label
    42384238);
    42394239
    4240 /** Creates a new p3Mask table
    4241  *
    4242  * @return true on success
    4243  */
    4244 
    4245 bool p3MaskCreateTable(
     4240/** Creates a new camMask table
     4241 *
     4242 * @return true on success
     4243 */
     4244
     4245bool camMaskCreateTable(
    42464246    psDB            *dbh                ///< Database handle
    42474247);
    42484248
    4249 /** Deletes a p3Mask table
    4250  *
    4251  * @return true on success
    4252  */
    4253 
    4254 bool p3MaskDropTable(
     4249/** Deletes a camMask table
     4250 *
     4251 * @return true on success
     4252 */
     4253
     4254bool camMaskDropTable(
    42554255    psDB            *dbh                ///< Database handle
    42564256);
     
    42634263 */
    42644264
    4265 bool p3MaskInsert(
     4265bool camMaskInsert(
    42664266    psDB            *dbh,               ///< Database handle
    42674267    const char      *label
     
    42734273 */
    42744274
    4275 long long p3MaskDelete(
     4275long long camMaskDelete(
    42764276    psDB            *dbh,               ///< Database handle
    42774277    const psMetadata *where,            ///< Row match criteria
     
    42794279);
    42804280
    4281 /** Insert a single p3MaskRow object into a table
     4281/** Insert a single camMaskRow object into a table
    42824282 *
    42834283 * This function constructs and inserts a single row based on it's parameters.
     
    42864286 */
    42874287
    4288 bool p3MaskInsertObject(
    4289     psDB            *dbh,               ///< Database handle
    4290     p3MaskRow       *object             ///< p3MaskRow object
    4291 );
    4292 
    4293 /** Insert an array of p3MaskRow object into a table
     4288bool camMaskInsertObject(
     4289    psDB            *dbh,               ///< Database handle
     4290    camMaskRow      *object             ///< camMaskRow object
     4291);
     4292
     4293/** Insert an array of camMaskRow object into a table
    42944294 *
    42954295 * This function constructs and inserts multiple rows based on it's parameters.
     
    42984298 */
    42994299
    4300 bool p3MaskInsertObjects(
    4301     psDB            *dbh,               ///< Database handle
    4302     psArray         *objects            ///< array of p3MaskRow objects
    4303 );
    4304 
    4305 /** Insert data from a binary FITS table p3MaskRow into the database
     4300bool camMaskInsertObjects(
     4301    psDB            *dbh,               ///< Database handle
     4302    psArray         *objects            ///< array of camMaskRow objects
     4303);
     4304
     4305/** Insert data from a binary FITS table camMaskRow into the database
    43064306 *
    43074307 * This function expects a psFits object with a FITS table as the first
     
    43134313 */
    43144314
    4315 bool p3MaskInsertFits(
     4315bool camMaskInsertFits(
    43164316    psDB            *dbh,               ///< Database handle
    43174317    const psFits    *fits               ///< psFits object
     
    43284328 */
    43294329
    4330 bool p3MaskSelectRowsFits(
     4330bool camMaskSelectRowsFits(
    43314331    psDB            *dbh,               ///< Database handle
    43324332    psFits          *fits,              ///< psFits object
     
    43354335);
    43364336
    4337 /** Convert a p3MaskRow into an equivalent psMetadata
     4337/** Convert a camMaskRow into an equivalent psMetadata
    43384338 *
    43394339 * @return A psMetadata pointer or NULL on error
    43404340 */
    43414341
    4342 psMetadata *p3MaskMetadataFromObject(
    4343     const p3MaskRow *object             ///< fooRow to convert into a psMetadata
     4342psMetadata *camMaskMetadataFromObject(
     4343    const camMaskRow *object             ///< fooRow to convert into a psMetadata
    43444344);
    43454345
    43464346/** Convert a psMetadata into an equivalent fooRow
    43474347 *
    4348  * @return A p3MaskRow pointer or NULL on error
    4349  */
    4350 
    4351 p3MaskRow *p3MaskObjectFromMetadata(
     4348 * @return A camMaskRow pointer or NULL on error
     4349 */
     4350
     4351camMaskRow *camMaskObjectFromMetadata(
    43524352    psMetadata      *md                 ///< psMetadata to convert into a fooRow
    43534353);
    4354 /** Selects up to limit rows from the database and returns as p3MaskRow objects in a psArray
     4354/** Selects up to limit rows from the database and returns as camMaskRow objects in a psArray
    43554355 *
    43564356 *  See psDBSelectRows() for documentation on the format of where.
     
    43594359 */
    43604360
    4361 psArray *p3MaskSelectRowObjects(
     4361psArray *camMaskSelectRowObjects(
    43624362    psDB            *dbh,               ///< Database handle
    43634363    const psMetadata *where,            ///< Row match criteria
    43644364    unsigned long long limit            ///< Maximum number of elements to return
    43654365);
    4366 /** Deletes a row from the database coresponding to an p3Mask
     4366/** Deletes a row from the database coresponding to an camMask
    43674367 *
    43684368 *  Note that a 'where' search psMetadata is constructed from each object and
     
    43724372 */
    43734373
    4374 bool p3MaskDeleteObject(
    4375     psDB            *dbh,               ///< Database handle
    4376     const p3MaskRow *object    ///< Object to delete
     4374bool camMaskDeleteObject(
     4375    psDB            *dbh,               ///< Database handle
     4376    const camMaskRow *object    ///< Object to delete
    43774377);
    43784378/** Deletes up to limit rows from the database and returns the number of rows actually deleted.
     
    43844384 */
    43854385
    4386 long long p3MaskDeleteRowObjects(
     4386long long camMaskDeleteRowObjects(
    43874387    psDB            *dbh,               ///< Database handle
    43884388    const psArray   *objects,           ///< Array of objects to delete
    43894389    unsigned long long limit            ///< Maximum number of elements to delete
    43904390);
    4391 /** Formats and prints an array of p3MaskRow objects
     4391/** Formats and prints an array of camMaskRow objects
    43924392 *
    43934393 * When mdcf is set the formated output is in psMetadataConfig
     
    43974397 */
    43984398
    4399 bool p3MaskPrintObjects(
     4399bool camMaskPrintObjects(
    44004400    FILE            *stream,            ///< a stream
    4401     psArray         *objects,           ///< An array of p3MaskRow objects
     4401    psArray         *objects,           ///< An array of camMaskRow objects
    44024402    bool            mdcf                ///< format as mdconfig or simple
    44034403);
    4404 /** Formats and prints an p3MaskRow object
     4404/** Formats and prints an camMaskRow object
    44054405 *
    44064406 * When mdcf is set the formated output is in psMetadataConfig
     
    44104410 */
    44114411
    4412 bool p3MaskPrintObject(
     4412bool camMaskPrintObject(
    44134413    FILE            *stream,            ///< a stream
    4414     p3MaskRow *object,    ///< an p3MaskRow object
     4414    camMaskRow *object,    ///< an camMaskRow object
    44154415    bool            mdcf                ///< format as mdconfig or simple
    44164416);
     
    68696869    bool            mdcf                ///< format as mdconfig or simple
    68706870);
    6871 /** p4RunRow data structure
    6872  *
    6873  * Structure for representing a single row of p4Run table data.
     6871/** warpRunRow data structure
     6872 *
     6873 * Structure for representing a single row of warpRun table data.
    68746874 */
    68756875
    68766876typedef struct {
    6877     psS32           p4_id;
     6877    psS32           warp_id;
    68786878    char            *mode;
    68796879    char            *state;
     
    68816881    char            *dvodb;
    68826882    psTime*         registered;
    6883 } p4RunRow;
    6884 
    6885 /** Creates a new p4RunRow object
    6886  *
    6887  *  @return A new p4RunRow object or NULL on failure.
    6888  */
    6889 
    6890 p4RunRow *p4RunRowAlloc(
    6891     psS32           p4_id,
     6883} warpRunRow;
     6884
     6885/** Creates a new warpRunRow object
     6886 *
     6887 *  @return A new warpRunRow object or NULL on failure.
     6888 */
     6889
     6890warpRunRow *warpRunRowAlloc(
     6891    psS32           warp_id,
    68926892    const char      *mode,
    68936893    const char      *state,
     
    68976897);
    68986898
    6899 /** Creates a new p4Run table
    6900  *
    6901  * @return true on success
    6902  */
    6903 
    6904 bool p4RunCreateTable(
     6899/** Creates a new warpRun table
     6900 *
     6901 * @return true on success
     6902 */
     6903
     6904bool warpRunCreateTable(
    69056905    psDB            *dbh                ///< Database handle
    69066906);
    69076907
    6908 /** Deletes a p4Run table
    6909  *
    6910  * @return true on success
    6911  */
    6912 
    6913 bool p4RunDropTable(
     6908/** Deletes a warpRun table
     6909 *
     6910 * @return true on success
     6911 */
     6912
     6913bool warpRunDropTable(
    69146914    psDB            *dbh                ///< Database handle
    69156915);
     
    69226922 */
    69236923
    6924 bool p4RunInsert(
    6925     psDB            *dbh,               ///< Database handle
    6926     psS32           p4_id,
     6924bool warpRunInsert(
     6925    psDB            *dbh,               ///< Database handle
     6926    psS32           warp_id,
    69276927    const char      *mode,
    69286928    const char      *state,
     
    69376937 */
    69386938
    6939 long long p4RunDelete(
     6939long long warpRunDelete(
    69406940    psDB            *dbh,               ///< Database handle
    69416941    const psMetadata *where,            ///< Row match criteria
     
    69436943);
    69446944
    6945 /** Insert a single p4RunRow object into a table
     6945/** Insert a single warpRunRow object into a table
    69466946 *
    69476947 * This function constructs and inserts a single row based on it's parameters.
     
    69506950 */
    69516951
    6952 bool p4RunInsertObject(
    6953     psDB            *dbh,               ///< Database handle
    6954     p4RunRow        *object             ///< p4RunRow object
    6955 );
    6956 
    6957 /** Insert an array of p4RunRow object into a table
     6952bool warpRunInsertObject(
     6953    psDB            *dbh,               ///< Database handle
     6954    warpRunRow      *object             ///< warpRunRow object
     6955);
     6956
     6957/** Insert an array of warpRunRow object into a table
    69586958 *
    69596959 * This function constructs and inserts multiple rows based on it's parameters.
     
    69626962 */
    69636963
    6964 bool p4RunInsertObjects(
    6965     psDB            *dbh,               ///< Database handle
    6966     psArray         *objects            ///< array of p4RunRow objects
    6967 );
    6968 
    6969 /** Insert data from a binary FITS table p4RunRow into the database
     6964bool warpRunInsertObjects(
     6965    psDB            *dbh,               ///< Database handle
     6966    psArray         *objects            ///< array of warpRunRow objects
     6967);
     6968
     6969/** Insert data from a binary FITS table warpRunRow into the database
    69706970 *
    69716971 * This function expects a psFits object with a FITS table as the first
     
    69776977 */
    69786978
    6979 bool p4RunInsertFits(
     6979bool warpRunInsertFits(
    69806980    psDB            *dbh,               ///< Database handle
    69816981    const psFits    *fits               ///< psFits object
     
    69926992 */
    69936993
    6994 bool p4RunSelectRowsFits(
     6994bool warpRunSelectRowsFits(
    69956995    psDB            *dbh,               ///< Database handle
    69966996    psFits          *fits,              ///< psFits object
     
    69996999);
    70007000
    7001 /** Convert a p4RunRow into an equivalent psMetadata
     7001/** Convert a warpRunRow into an equivalent psMetadata
    70027002 *
    70037003 * @return A psMetadata pointer or NULL on error
    70047004 */
    70057005
    7006 psMetadata *p4RunMetadataFromObject(
    7007     const p4RunRow *object             ///< fooRow to convert into a psMetadata
     7006psMetadata *warpRunMetadataFromObject(
     7007    const warpRunRow *object             ///< fooRow to convert into a psMetadata
    70087008);
    70097009
    70107010/** Convert a psMetadata into an equivalent fooRow
    70117011 *
    7012  * @return A p4RunRow pointer or NULL on error
    7013  */
    7014 
    7015 p4RunRow *p4RunObjectFromMetadata(
     7012 * @return A warpRunRow pointer or NULL on error
     7013 */
     7014
     7015warpRunRow *warpRunObjectFromMetadata(
    70167016    psMetadata      *md                 ///< psMetadata to convert into a fooRow
    70177017);
    7018 /** Selects up to limit rows from the database and returns as p4RunRow objects in a psArray
     7018/** Selects up to limit rows from the database and returns as warpRunRow objects in a psArray
    70197019 *
    70207020 *  See psDBSelectRows() for documentation on the format of where.
     
    70237023 */
    70247024
    7025 psArray *p4RunSelectRowObjects(
     7025psArray *warpRunSelectRowObjects(
    70267026    psDB            *dbh,               ///< Database handle
    70277027    const psMetadata *where,            ///< Row match criteria
    70287028    unsigned long long limit            ///< Maximum number of elements to return
    70297029);
    7030 /** Deletes a row from the database coresponding to an p4Run
     7030/** Deletes a row from the database coresponding to an warpRun
    70317031 *
    70327032 *  Note that a 'where' search psMetadata is constructed from each object and
     
    70367036 */
    70377037
    7038 bool p4RunDeleteObject(
    7039     psDB            *dbh,               ///< Database handle
    7040     const p4RunRow *object    ///< Object to delete
     7038bool warpRunDeleteObject(
     7039    psDB            *dbh,               ///< Database handle
     7040    const warpRunRow *object    ///< Object to delete
    70417041);
    70427042/** Deletes up to limit rows from the database and returns the number of rows actually deleted.
     
    70487048 */
    70497049
    7050 long long p4RunDeleteRowObjects(
     7050long long warpRunDeleteRowObjects(
    70517051    psDB            *dbh,               ///< Database handle
    70527052    const psArray   *objects,           ///< Array of objects to delete
    70537053    unsigned long long limit            ///< Maximum number of elements to delete
    70547054);
    7055 /** Formats and prints an array of p4RunRow objects
     7055/** Formats and prints an array of warpRunRow objects
    70567056 *
    70577057 * When mdcf is set the formated output is in psMetadataConfig
     
    70617061 */
    70627062
    7063 bool p4RunPrintObjects(
     7063bool warpRunPrintObjects(
    70647064    FILE            *stream,            ///< a stream
    7065     psArray         *objects,           ///< An array of p4RunRow objects
     7065    psArray         *objects,           ///< An array of warpRunRow objects
    70667066    bool            mdcf                ///< format as mdconfig or simple
    70677067);
    7068 /** Formats and prints an p4RunRow object
     7068/** Formats and prints an warpRunRow object
    70697069 *
    70707070 * When mdcf is set the formated output is in psMetadataConfig
     
    70747074 */
    70757075
    7076 bool p4RunPrintObject(
     7076bool warpRunPrintObject(
    70777077    FILE            *stream,            ///< a stream
    7078     p4RunRow *object,    ///< an p4RunRow object
     7078    warpRunRow *object,    ///< an warpRunRow object
    70797079    bool            mdcf                ///< format as mdconfig or simple
    70807080);
    7081 /** p4InputExpRow data structure
    7082  *
    7083  * Structure for representing a single row of p4InputExp table data.
     7081/** warpInputExpRow data structure
     7082 *
     7083 * Structure for representing a single row of warpInputExp table data.
    70847084 */
    70857085
    70867086typedef struct {
    7087     psS32           p4_id;
     7087    psS32           warp_id;
    70887088    char            *exp_tag;
    7089     psS32           p3_version;
     7089    psS32           cam_version;
    70907090    bool            magiced;
    7091 } p4InputExpRow;
    7092 
    7093 /** Creates a new p4InputExpRow object
    7094  *
    7095  *  @return A new p4InputExpRow object or NULL on failure.
    7096  */
    7097 
    7098 p4InputExpRow *p4InputExpRowAlloc(
    7099     psS32           p4_id,
     7091} warpInputExpRow;
     7092
     7093/** Creates a new warpInputExpRow object
     7094 *
     7095 *  @return A new warpInputExpRow object or NULL on failure.
     7096 */
     7097
     7098warpInputExpRow *warpInputExpRowAlloc(
     7099    psS32           warp_id,
    71007100    const char      *exp_tag,
    7101     psS32           p3_version,
     7101    psS32           cam_version,
    71027102    bool            magiced
    71037103);
    71047104
    7105 /** Creates a new p4InputExp table
    7106  *
    7107  * @return true on success
    7108  */
    7109 
    7110 bool p4InputExpCreateTable(
     7105/** Creates a new warpInputExp table
     7106 *
     7107 * @return true on success
     7108 */
     7109
     7110bool warpInputExpCreateTable(
    71117111    psDB            *dbh                ///< Database handle
    71127112);
    71137113
    7114 /** Deletes a p4InputExp table
    7115  *
    7116  * @return true on success
    7117  */
    7118 
    7119 bool p4InputExpDropTable(
     7114/** Deletes a warpInputExp table
     7115 *
     7116 * @return true on success
     7117 */
     7118
     7119bool warpInputExpDropTable(
    71207120    psDB            *dbh                ///< Database handle
    71217121);
     
    71287128 */
    71297129
    7130 bool p4InputExpInsert(
    7131     psDB            *dbh,               ///< Database handle
    7132     psS32           p4_id,
     7130bool warpInputExpInsert(
     7131    psDB            *dbh,               ///< Database handle
     7132    psS32           warp_id,
    71337133    const char      *exp_tag,
    7134     psS32           p3_version,
     7134    psS32           cam_version,
    71357135    bool            magiced
    71367136);
     
    71417141 */
    71427142
    7143 long long p4InputExpDelete(
     7143long long warpInputExpDelete(
    71447144    psDB            *dbh,               ///< Database handle
    71457145    const psMetadata *where,            ///< Row match criteria
     
    71477147);
    71487148
    7149 /** Insert a single p4InputExpRow object into a table
     7149/** Insert a single warpInputExpRow object into a table
    71507150 *
    71517151 * This function constructs and inserts a single row based on it's parameters.
     
    71547154 */
    71557155
    7156 bool p4InputExpInsertObject(
    7157     psDB            *dbh,               ///< Database handle
    7158     p4InputExpRow   *object             ///< p4InputExpRow object
    7159 );
    7160 
    7161 /** Insert an array of p4InputExpRow object into a table
     7156bool warpInputExpInsertObject(
     7157    psDB            *dbh,               ///< Database handle
     7158    warpInputExpRow *object             ///< warpInputExpRow object
     7159);
     7160
     7161/** Insert an array of warpInputExpRow object into a table
    71627162 *
    71637163 * This function constructs and inserts multiple rows based on it's parameters.
     
    71667166 */
    71677167
    7168 bool p4InputExpInsertObjects(
    7169     psDB            *dbh,               ///< Database handle
    7170     psArray         *objects            ///< array of p4InputExpRow objects
    7171 );
    7172 
    7173 /** Insert data from a binary FITS table p4InputExpRow into the database
     7168bool warpInputExpInsertObjects(
     7169    psDB            *dbh,               ///< Database handle
     7170    psArray         *objects            ///< array of warpInputExpRow objects
     7171);
     7172
     7173/** Insert data from a binary FITS table warpInputExpRow into the database
    71747174 *
    71757175 * This function expects a psFits object with a FITS table as the first
     
    71817181 */
    71827182
    7183 bool p4InputExpInsertFits(
     7183bool warpInputExpInsertFits(
    71847184    psDB            *dbh,               ///< Database handle
    71857185    const psFits    *fits               ///< psFits object
     
    71967196 */
    71977197
    7198 bool p4InputExpSelectRowsFits(
     7198bool warpInputExpSelectRowsFits(
    71997199    psDB            *dbh,               ///< Database handle
    72007200    psFits          *fits,              ///< psFits object
     
    72037203);
    72047204
    7205 /** Convert a p4InputExpRow into an equivalent psMetadata
     7205/** Convert a warpInputExpRow into an equivalent psMetadata
    72067206 *
    72077207 * @return A psMetadata pointer or NULL on error
    72087208 */
    72097209
    7210 psMetadata *p4InputExpMetadataFromObject(
    7211     const p4InputExpRow *object             ///< fooRow to convert into a psMetadata
     7210psMetadata *warpInputExpMetadataFromObject(
     7211    const warpInputExpRow *object             ///< fooRow to convert into a psMetadata
    72127212);
    72137213
    72147214/** Convert a psMetadata into an equivalent fooRow
    72157215 *
    7216  * @return A p4InputExpRow pointer or NULL on error
    7217  */
    7218 
    7219 p4InputExpRow *p4InputExpObjectFromMetadata(
     7216 * @return A warpInputExpRow pointer or NULL on error
     7217 */
     7218
     7219warpInputExpRow *warpInputExpObjectFromMetadata(
    72207220    psMetadata      *md                 ///< psMetadata to convert into a fooRow
    72217221);
    7222 /** Selects up to limit rows from the database and returns as p4InputExpRow objects in a psArray
     7222/** Selects up to limit rows from the database and returns as warpInputExpRow objects in a psArray
    72237223 *
    72247224 *  See psDBSelectRows() for documentation on the format of where.
     
    72277227 */
    72287228
    7229 psArray *p4InputExpSelectRowObjects(
     7229psArray *warpInputExpSelectRowObjects(
    72307230    psDB            *dbh,               ///< Database handle
    72317231    const psMetadata *where,            ///< Row match criteria
    72327232    unsigned long long limit            ///< Maximum number of elements to return
    72337233);
    7234 /** Deletes a row from the database coresponding to an p4InputExp
     7234/** Deletes a row from the database coresponding to an warpInputExp
    72357235 *
    72367236 *  Note that a 'where' search psMetadata is constructed from each object and
     
    72407240 */
    72417241
    7242 bool p4InputExpDeleteObject(
    7243     psDB            *dbh,               ///< Database handle
    7244     const p4InputExpRow *object    ///< Object to delete
     7242bool warpInputExpDeleteObject(
     7243    psDB            *dbh,               ///< Database handle
     7244    const warpInputExpRow *object    ///< Object to delete
    72457245);
    72467246/** Deletes up to limit rows from the database and returns the number of rows actually deleted.
     
    72527252 */
    72537253
    7254 long long p4InputExpDeleteRowObjects(
     7254long long warpInputExpDeleteRowObjects(
    72557255    psDB            *dbh,               ///< Database handle
    72567256    const psArray   *objects,           ///< Array of objects to delete
    72577257    unsigned long long limit            ///< Maximum number of elements to delete
    72587258);
    7259 /** Formats and prints an array of p4InputExpRow objects
     7259/** Formats and prints an array of warpInputExpRow objects
    72607260 *
    72617261 * When mdcf is set the formated output is in psMetadataConfig
     
    72657265 */
    72667266
    7267 bool p4InputExpPrintObjects(
     7267bool warpInputExpPrintObjects(
    72687268    FILE            *stream,            ///< a stream
    7269     psArray         *objects,           ///< An array of p4InputExpRow objects
     7269    psArray         *objects,           ///< An array of warpInputExpRow objects
    72707270    bool            mdcf                ///< format as mdconfig or simple
    72717271);
    7272 /** Formats and prints an p4InputExpRow object
     7272/** Formats and prints an warpInputExpRow object
    72737273 *
    72747274 * When mdcf is set the formated output is in psMetadataConfig
     
    72787278 */
    72797279
    7280 bool p4InputExpPrintObject(
     7280bool warpInputExpPrintObject(
    72817281    FILE            *stream,            ///< a stream
    7282     p4InputExpRow *object,    ///< an p4InputExpRow object
     7282    warpInputExpRow *object,    ///< an warpInputExpRow object
    72837283    bool            mdcf                ///< format as mdconfig or simple
    72847284);
    7285 /** p4SkyCellMapRow data structure
    7286  *
    7287  * Structure for representing a single row of p4SkyCellMap table data.
     7285/** warpSkyCellMapRow data structure
     7286 *
     7287 * Structure for representing a single row of warpSkyCellMap table data.
    72887288 */
    72897289
    72907290typedef struct {
    7291     psS32           p4_id;
     7291    psS32           warp_id;
    72927292    char            *skycell_id;
    72937293    char            *tess_id;
    72947294    char            *exp_tag;
    7295     psS32           p3_version;
     7295    psS32           cam_version;
    72967296    char            *class_id;
    7297 } p4SkyCellMapRow;
    7298 
    7299 /** Creates a new p4SkyCellMapRow object
    7300  *
    7301  *  @return A new p4SkyCellMapRow object or NULL on failure.
    7302  */
    7303 
    7304 p4SkyCellMapRow *p4SkyCellMapRowAlloc(
    7305     psS32           p4_id,
     7297} warpSkyCellMapRow;
     7298
     7299/** Creates a new warpSkyCellMapRow object
     7300 *
     7301 *  @return A new warpSkyCellMapRow object or NULL on failure.
     7302 */
     7303
     7304warpSkyCellMapRow *warpSkyCellMapRowAlloc(
     7305    psS32           warp_id,
    73067306    const char      *skycell_id,
    73077307    const char      *tess_id,
    73087308    const char      *exp_tag,
    7309     psS32           p3_version,
     7309    psS32           cam_version,
    73107310    const char      *class_id
    73117311);
    73127312
    7313 /** Creates a new p4SkyCellMap table
    7314  *
    7315  * @return true on success
    7316  */
    7317 
    7318 bool p4SkyCellMapCreateTable(
     7313/** Creates a new warpSkyCellMap table
     7314 *
     7315 * @return true on success
     7316 */
     7317
     7318bool warpSkyCellMapCreateTable(
    73197319    psDB            *dbh                ///< Database handle
    73207320);
    73217321
    7322 /** Deletes a p4SkyCellMap table
    7323  *
    7324  * @return true on success
    7325  */
    7326 
    7327 bool p4SkyCellMapDropTable(
     7322/** Deletes a warpSkyCellMap table
     7323 *
     7324 * @return true on success
     7325 */
     7326
     7327bool warpSkyCellMapDropTable(
    73287328    psDB            *dbh                ///< Database handle
    73297329);
     
    73367336 */
    73377337
    7338 bool p4SkyCellMapInsert(
    7339     psDB            *dbh,               ///< Database handle
    7340     psS32           p4_id,
     7338bool warpSkyCellMapInsert(
     7339    psDB            *dbh,               ///< Database handle
     7340    psS32           warp_id,
    73417341    const char      *skycell_id,
    73427342    const char      *tess_id,
    73437343    const char      *exp_tag,
    7344     psS32           p3_version,
     7344    psS32           cam_version,
    73457345    const char      *class_id
    73467346);
     
    73517351 */
    73527352
    7353 long long p4SkyCellMapDelete(
     7353long long warpSkyCellMapDelete(
    73547354    psDB            *dbh,               ///< Database handle
    73557355    const psMetadata *where,            ///< Row match criteria
     
    73577357);
    73587358
    7359 /** Insert a single p4SkyCellMapRow object into a table
     7359/** Insert a single warpSkyCellMapRow object into a table
    73607360 *
    73617361 * This function constructs and inserts a single row based on it's parameters.
     
    73647364 */
    73657365
    7366 bool p4SkyCellMapInsertObject(
    7367     psDB            *dbh,               ///< Database handle
    7368     p4SkyCellMapRow *object             ///< p4SkyCellMapRow object
    7369 );
    7370 
    7371 /** Insert an array of p4SkyCellMapRow object into a table
     7366bool warpSkyCellMapInsertObject(
     7367    psDB            *dbh,               ///< Database handle
     7368    warpSkyCellMapRow *object             ///< warpSkyCellMapRow object
     7369);
     7370
     7371/** Insert an array of warpSkyCellMapRow object into a table
    73727372 *
    73737373 * This function constructs and inserts multiple rows based on it's parameters.
     
    73767376 */
    73777377
    7378 bool p4SkyCellMapInsertObjects(
    7379     psDB            *dbh,               ///< Database handle
    7380     psArray         *objects            ///< array of p4SkyCellMapRow objects
    7381 );
    7382 
    7383 /** Insert data from a binary FITS table p4SkyCellMapRow into the database
     7378bool warpSkyCellMapInsertObjects(
     7379    psDB            *dbh,               ///< Database handle
     7380    psArray         *objects            ///< array of warpSkyCellMapRow objects
     7381);
     7382
     7383/** Insert data from a binary FITS table warpSkyCellMapRow into the database
    73847384 *
    73857385 * This function expects a psFits object with a FITS table as the first
     
    73917391 */
    73927392
    7393 bool p4SkyCellMapInsertFits(
     7393bool warpSkyCellMapInsertFits(
    73947394    psDB            *dbh,               ///< Database handle
    73957395    const psFits    *fits               ///< psFits object
     
    74067406 */
    74077407
    7408 bool p4SkyCellMapSelectRowsFits(
     7408bool warpSkyCellMapSelectRowsFits(
    74097409    psDB            *dbh,               ///< Database handle
    74107410    psFits          *fits,              ///< psFits object
     
    74137413);
    74147414
    7415 /** Convert a p4SkyCellMapRow into an equivalent psMetadata
     7415/** Convert a warpSkyCellMapRow into an equivalent psMetadata
    74167416 *
    74177417 * @return A psMetadata pointer or NULL on error
    74187418 */
    74197419
    7420 psMetadata *p4SkyCellMapMetadataFromObject(
    7421     const p4SkyCellMapRow *object             ///< fooRow to convert into a psMetadata
     7420psMetadata *warpSkyCellMapMetadataFromObject(
     7421    const warpSkyCellMapRow *object             ///< fooRow to convert into a psMetadata
    74227422);
    74237423
    74247424/** Convert a psMetadata into an equivalent fooRow
    74257425 *
    7426  * @return A p4SkyCellMapRow pointer or NULL on error
    7427  */
    7428 
    7429 p4SkyCellMapRow *p4SkyCellMapObjectFromMetadata(
     7426 * @return A warpSkyCellMapRow pointer or NULL on error
     7427 */
     7428
     7429warpSkyCellMapRow *warpSkyCellMapObjectFromMetadata(
    74307430    psMetadata      *md                 ///< psMetadata to convert into a fooRow
    74317431);
    7432 /** Selects up to limit rows from the database and returns as p4SkyCellMapRow objects in a psArray
     7432/** Selects up to limit rows from the database and returns as warpSkyCellMapRow objects in a psArray
    74337433 *
    74347434 *  See psDBSelectRows() for documentation on the format of where.
     
    74377437 */
    74387438
    7439 psArray *p4SkyCellMapSelectRowObjects(
     7439psArray *warpSkyCellMapSelectRowObjects(
    74407440    psDB            *dbh,               ///< Database handle
    74417441    const psMetadata *where,            ///< Row match criteria
    74427442    unsigned long long limit            ///< Maximum number of elements to return
    74437443);
    7444 /** Deletes a row from the database coresponding to an p4SkyCellMap
     7444/** Deletes a row from the database coresponding to an warpSkyCellMap
    74457445 *
    74467446 *  Note that a 'where' search psMetadata is constructed from each object and
     
    74507450 */
    74517451
    7452 bool p4SkyCellMapDeleteObject(
    7453     psDB            *dbh,               ///< Database handle
    7454     const p4SkyCellMapRow *object    ///< Object to delete
     7452bool warpSkyCellMapDeleteObject(
     7453    psDB            *dbh,               ///< Database handle
     7454    const warpSkyCellMapRow *object    ///< Object to delete
    74557455);
    74567456/** Deletes up to limit rows from the database and returns the number of rows actually deleted.
     
    74627462 */
    74637463
    7464 long long p4SkyCellMapDeleteRowObjects(
     7464long long warpSkyCellMapDeleteRowObjects(
    74657465    psDB            *dbh,               ///< Database handle
    74667466    const psArray   *objects,           ///< Array of objects to delete
    74677467    unsigned long long limit            ///< Maximum number of elements to delete
    74687468);
    7469 /** Formats and prints an array of p4SkyCellMapRow objects
     7469/** Formats and prints an array of warpSkyCellMapRow objects
    74707470 *
    74717471 * When mdcf is set the formated output is in psMetadataConfig
     
    74757475 */
    74767476
    7477 bool p4SkyCellMapPrintObjects(
     7477bool warpSkyCellMapPrintObjects(
    74787478    FILE            *stream,            ///< a stream
    7479     psArray         *objects,           ///< An array of p4SkyCellMapRow objects
     7479    psArray         *objects,           ///< An array of warpSkyCellMapRow objects
    74807480    bool            mdcf                ///< format as mdconfig or simple
    74817481);
    7482 /** Formats and prints an p4SkyCellMapRow object
     7482/** Formats and prints an warpSkyCellMapRow object
    74837483 *
    74847484 * When mdcf is set the formated output is in psMetadataConfig
     
    74887488 */
    74897489
    7490 bool p4SkyCellMapPrintObject(
     7490bool warpSkyCellMapPrintObject(
    74917491    FILE            *stream,            ///< a stream
    7492     p4SkyCellMapRow *object,    ///< an p4SkyCellMapRow object
     7492    warpSkyCellMapRow *object,    ///< an warpSkyCellMapRow object
    74937493    bool            mdcf                ///< format as mdconfig or simple
    74947494);
    7495 /** p4SkyfileRow data structure
    7496  *
    7497  * Structure for representing a single row of p4Skyfile table data.
     7495/** warpSkyfileRow data structure
     7496 *
     7497 * Structure for representing a single row of warpSkyfile table data.
    74987498 */
    74997499
    75007500typedef struct {
    7501     psS32           p4_id;
     7501    psS32           warp_id;
    75027502    char            *skycell_id;
    75037503    char            *tess_id;
     
    75057505    psF64           bg;
    75067506    psF64           bg_mean_stdev;
    7507 } p4SkyfileRow;
    7508 
    7509 /** Creates a new p4SkyfileRow object
    7510  *
    7511  *  @return A new p4SkyfileRow object or NULL on failure.
    7512  */
    7513 
    7514 p4SkyfileRow *p4SkyfileRowAlloc(
    7515     psS32           p4_id,
     7507} warpSkyfileRow;
     7508
     7509/** Creates a new warpSkyfileRow object
     7510 *
     7511 *  @return A new warpSkyfileRow object or NULL on failure.
     7512 */
     7513
     7514warpSkyfileRow *warpSkyfileRowAlloc(
     7515    psS32           warp_id,
    75167516    const char      *skycell_id,
    75177517    const char      *tess_id,
     
    75217521);
    75227522
    7523 /** Creates a new p4Skyfile table
    7524  *
    7525  * @return true on success
    7526  */
    7527 
    7528 bool p4SkyfileCreateTable(
     7523/** Creates a new warpSkyfile table
     7524 *
     7525 * @return true on success
     7526 */
     7527
     7528bool warpSkyfileCreateTable(
    75297529    psDB            *dbh                ///< Database handle
    75307530);
    75317531
    7532 /** Deletes a p4Skyfile table
    7533  *
    7534  * @return true on success
    7535  */
    7536 
    7537 bool p4SkyfileDropTable(
     7532/** Deletes a warpSkyfile table
     7533 *
     7534 * @return true on success
     7535 */
     7536
     7537bool warpSkyfileDropTable(
    75387538    psDB            *dbh                ///< Database handle
    75397539);
     
    75467546 */
    75477547
    7548 bool p4SkyfileInsert(
    7549     psDB            *dbh,               ///< Database handle
    7550     psS32           p4_id,
     7548bool warpSkyfileInsert(
     7549    psDB            *dbh,               ///< Database handle
     7550    psS32           warp_id,
    75517551    const char      *skycell_id,
    75527552    const char      *tess_id,
     
    75617561 */
    75627562
    7563 long long p4SkyfileDelete(
     7563long long warpSkyfileDelete(
    75647564    psDB            *dbh,               ///< Database handle
    75657565    const psMetadata *where,            ///< Row match criteria
     
    75677567);
    75687568
    7569 /** Insert a single p4SkyfileRow object into a table
     7569/** Insert a single warpSkyfileRow object into a table
    75707570 *
    75717571 * This function constructs and inserts a single row based on it's parameters.
     
    75747574 */
    75757575
    7576 bool p4SkyfileInsertObject(
    7577     psDB            *dbh,               ///< Database handle
    7578     p4SkyfileRow    *object             ///< p4SkyfileRow object
    7579 );
    7580 
    7581 /** Insert an array of p4SkyfileRow object into a table
     7576bool warpSkyfileInsertObject(
     7577    psDB            *dbh,               ///< Database handle
     7578    warpSkyfileRow  *object             ///< warpSkyfileRow object
     7579);
     7580
     7581/** Insert an array of warpSkyfileRow object into a table
    75827582 *
    75837583 * This function constructs and inserts multiple rows based on it's parameters.
     
    75867586 */
    75877587
    7588 bool p4SkyfileInsertObjects(
    7589     psDB            *dbh,               ///< Database handle
    7590     psArray         *objects            ///< array of p4SkyfileRow objects
    7591 );
    7592 
    7593 /** Insert data from a binary FITS table p4SkyfileRow into the database
     7588bool warpSkyfileInsertObjects(
     7589    psDB            *dbh,               ///< Database handle
     7590    psArray         *objects            ///< array of warpSkyfileRow objects
     7591);
     7592
     7593/** Insert data from a binary FITS table warpSkyfileRow into the database
    75947594 *
    75957595 * This function expects a psFits object with a FITS table as the first
     
    76017601 */
    76027602
    7603 bool p4SkyfileInsertFits(
     7603bool warpSkyfileInsertFits(
    76047604    psDB            *dbh,               ///< Database handle
    76057605    const psFits    *fits               ///< psFits object
     
    76167616 */
    76177617
    7618 bool p4SkyfileSelectRowsFits(
     7618bool warpSkyfileSelectRowsFits(
    76197619    psDB            *dbh,               ///< Database handle
    76207620    psFits          *fits,              ///< psFits object
     
    76237623);
    76247624
    7625 /** Convert a p4SkyfileRow into an equivalent psMetadata
     7625/** Convert a warpSkyfileRow into an equivalent psMetadata
    76267626 *
    76277627 * @return A psMetadata pointer or NULL on error
    76287628 */
    76297629
    7630 psMetadata *p4SkyfileMetadataFromObject(
    7631     const p4SkyfileRow *object             ///< fooRow to convert into a psMetadata
     7630psMetadata *warpSkyfileMetadataFromObject(
     7631    const warpSkyfileRow *object             ///< fooRow to convert into a psMetadata
    76327632);
    76337633
    76347634/** Convert a psMetadata into an equivalent fooRow
    76357635 *
    7636  * @return A p4SkyfileRow pointer or NULL on error
    7637  */
    7638 
    7639 p4SkyfileRow *p4SkyfileObjectFromMetadata(
     7636 * @return A warpSkyfileRow pointer or NULL on error
     7637 */
     7638
     7639warpSkyfileRow *warpSkyfileObjectFromMetadata(
    76407640    psMetadata      *md                 ///< psMetadata to convert into a fooRow
    76417641);
    7642 /** Selects up to limit rows from the database and returns as p4SkyfileRow objects in a psArray
     7642/** Selects up to limit rows from the database and returns as warpSkyfileRow objects in a psArray
    76437643 *
    76447644 *  See psDBSelectRows() for documentation on the format of where.
     
    76477647 */
    76487648
    7649 psArray *p4SkyfileSelectRowObjects(
     7649psArray *warpSkyfileSelectRowObjects(
    76507650    psDB            *dbh,               ///< Database handle
    76517651    const psMetadata *where,            ///< Row match criteria
    76527652    unsigned long long limit            ///< Maximum number of elements to return
    76537653);
    7654 /** Deletes a row from the database coresponding to an p4Skyfile
     7654/** Deletes a row from the database coresponding to an warpSkyfile
    76557655 *
    76567656 *  Note that a 'where' search psMetadata is constructed from each object and
     
    76607660 */
    76617661
    7662 bool p4SkyfileDeleteObject(
    7663     psDB            *dbh,               ///< Database handle
    7664     const p4SkyfileRow *object    ///< Object to delete
     7662bool warpSkyfileDeleteObject(
     7663    psDB            *dbh,               ///< Database handle
     7664    const warpSkyfileRow *object    ///< Object to delete
    76657665);
    76667666/** Deletes up to limit rows from the database and returns the number of rows actually deleted.
     
    76727672 */
    76737673
    7674 long long p4SkyfileDeleteRowObjects(
     7674long long warpSkyfileDeleteRowObjects(
    76757675    psDB            *dbh,               ///< Database handle
    76767676    const psArray   *objects,           ///< Array of objects to delete
    76777677    unsigned long long limit            ///< Maximum number of elements to delete
    76787678);
    7679 /** Formats and prints an array of p4SkyfileRow objects
     7679/** Formats and prints an array of warpSkyfileRow objects
    76807680 *
    76817681 * When mdcf is set the formated output is in psMetadataConfig
     
    76857685 */
    76867686
    7687 bool p4SkyfilePrintObjects(
     7687bool warpSkyfilePrintObjects(
    76887688    FILE            *stream,            ///< a stream
    7689     psArray         *objects,           ///< An array of p4SkyfileRow objects
     7689    psArray         *objects,           ///< An array of warpSkyfileRow objects
    76907690    bool            mdcf                ///< format as mdconfig or simple
    76917691);
    7692 /** Formats and prints an p4SkyfileRow object
     7692/** Formats and prints an warpSkyfileRow object
    76937693 *
    76947694 * When mdcf is set the formated output is in psMetadataConfig
     
    76987698 */
    76997699
    7700 bool p4SkyfilePrintObject(
     7700bool warpSkyfilePrintObject(
    77017701    FILE            *stream,            ///< a stream
    7702     p4SkyfileRow *object,    ///< an p4SkyfileRow object
     7702    warpSkyfileRow *object,    ///< an warpSkyfileRow object
    77037703    bool            mdcf                ///< format as mdconfig or simple
    77047704);
    7705 /** p5RunRow data structure
    7706  *
    7707  * Structure for representing a single row of p5Run table data.
     7705/** diffRunRow data structure
     7706 *
     7707 * Structure for representing a single row of diffRun table data.
    77087708 */
    77097709
    77107710typedef struct {
    7711     psS32           p5_id;
     7711    psS32           diff_id;
    77127712    char            *state;
    77137713    char            *workdir;
     
    77167716    char            *skycell_id;
    77177717    char            *tess_id;
    7718 } p5RunRow;
    7719 
    7720 /** Creates a new p5RunRow object
    7721  *
    7722  *  @return A new p5RunRow object or NULL on failure.
    7723  */
    7724 
    7725 p5RunRow *p5RunRowAlloc(
    7726     psS32           p5_id,
     7718} diffRunRow;
     7719
     7720/** Creates a new diffRunRow object
     7721 *
     7722 *  @return A new diffRunRow object or NULL on failure.
     7723 */
     7724
     7725diffRunRow *diffRunRowAlloc(
     7726    psS32           diff_id,
    77277727    const char      *state,
    77287728    const char      *workdir,
     
    77337733);
    77347734
    7735 /** Creates a new p5Run table
    7736  *
    7737  * @return true on success
    7738  */
    7739 
    7740 bool p5RunCreateTable(
     7735/** Creates a new diffRun table
     7736 *
     7737 * @return true on success
     7738 */
     7739
     7740bool diffRunCreateTable(
    77417741    psDB            *dbh                ///< Database handle
    77427742);
    77437743
    7744 /** Deletes a p5Run table
    7745  *
    7746  * @return true on success
    7747  */
    7748 
    7749 bool p5RunDropTable(
     7744/** Deletes a diffRun table
     7745 *
     7746 * @return true on success
     7747 */
     7748
     7749bool diffRunDropTable(
    77507750    psDB            *dbh                ///< Database handle
    77517751);
     
    77587758 */
    77597759
    7760 bool p5RunInsert(
    7761     psDB            *dbh,               ///< Database handle
    7762     psS32           p5_id,
     7760bool diffRunInsert(
     7761    psDB            *dbh,               ///< Database handle
     7762    psS32           diff_id,
    77637763    const char      *state,
    77647764    const char      *workdir,
     
    77747774 */
    77757775
    7776 long long p5RunDelete(
     7776long long diffRunDelete(
    77777777    psDB            *dbh,               ///< Database handle
    77787778    const psMetadata *where,            ///< Row match criteria
     
    77807780);
    77817781
    7782 /** Insert a single p5RunRow object into a table
     7782/** Insert a single diffRunRow object into a table
    77837783 *
    77847784 * This function constructs and inserts a single row based on it's parameters.
     
    77877787 */
    77887788
    7789 bool p5RunInsertObject(
    7790     psDB            *dbh,               ///< Database handle
    7791     p5RunRow        *object             ///< p5RunRow object
    7792 );
    7793 
    7794 /** Insert an array of p5RunRow object into a table
     7789bool diffRunInsertObject(
     7790    psDB            *dbh,               ///< Database handle
     7791    diffRunRow      *object             ///< diffRunRow object
     7792);
     7793
     7794/** Insert an array of diffRunRow object into a table
    77957795 *
    77967796 * This function constructs and inserts multiple rows based on it's parameters.
     
    77997799 */
    78007800
    7801 bool p5RunInsertObjects(
    7802     psDB            *dbh,               ///< Database handle
    7803     psArray         *objects            ///< array of p5RunRow objects
    7804 );
    7805 
    7806 /** Insert data from a binary FITS table p5RunRow into the database
     7801bool diffRunInsertObjects(
     7802    psDB            *dbh,               ///< Database handle
     7803    psArray         *objects            ///< array of diffRunRow objects
     7804);
     7805
     7806/** Insert data from a binary FITS table diffRunRow into the database
    78077807 *
    78087808 * This function expects a psFits object with a FITS table as the first
     
    78147814 */
    78157815
    7816 bool p5RunInsertFits(
     7816bool diffRunInsertFits(
    78177817    psDB            *dbh,               ///< Database handle
    78187818    const psFits    *fits               ///< psFits object
     
    78297829 */
    78307830
    7831 bool p5RunSelectRowsFits(
     7831bool diffRunSelectRowsFits(
    78327832    psDB            *dbh,               ///< Database handle
    78337833    psFits          *fits,              ///< psFits object
     
    78367836);
    78377837
    7838 /** Convert a p5RunRow into an equivalent psMetadata
     7838/** Convert a diffRunRow into an equivalent psMetadata
    78397839 *
    78407840 * @return A psMetadata pointer or NULL on error
    78417841 */
    78427842
    7843 psMetadata *p5RunMetadataFromObject(
    7844     const p5RunRow *object             ///< fooRow to convert into a psMetadata
     7843psMetadata *diffRunMetadataFromObject(
     7844    const diffRunRow *object             ///< fooRow to convert into a psMetadata
    78457845);
    78467846
    78477847/** Convert a psMetadata into an equivalent fooRow
    78487848 *
    7849  * @return A p5RunRow pointer or NULL on error
    7850  */
    7851 
    7852 p5RunRow *p5RunObjectFromMetadata(
     7849 * @return A diffRunRow pointer or NULL on error
     7850 */
     7851
     7852diffRunRow *diffRunObjectFromMetadata(
    78537853    psMetadata      *md                 ///< psMetadata to convert into a fooRow
    78547854);
    7855 /** Selects up to limit rows from the database and returns as p5RunRow objects in a psArray
     7855/** Selects up to limit rows from the database and returns as diffRunRow objects in a psArray
    78567856 *
    78577857 *  See psDBSelectRows() for documentation on the format of where.
     
    78607860 */
    78617861
    7862 psArray *p5RunSelectRowObjects(
     7862psArray *diffRunSelectRowObjects(
    78637863    psDB            *dbh,               ///< Database handle
    78647864    const psMetadata *where,            ///< Row match criteria
    78657865    unsigned long long limit            ///< Maximum number of elements to return
    78667866);
    7867 /** Deletes a row from the database coresponding to an p5Run
     7867/** Deletes a row from the database coresponding to an diffRun
    78687868 *
    78697869 *  Note that a 'where' search psMetadata is constructed from each object and
     
    78737873 */
    78747874
    7875 bool p5RunDeleteObject(
    7876     psDB            *dbh,               ///< Database handle
    7877     const p5RunRow *object    ///< Object to delete
     7875bool diffRunDeleteObject(
     7876    psDB            *dbh,               ///< Database handle
     7877    const diffRunRow *object    ///< Object to delete
    78787878);
    78797879/** Deletes up to limit rows from the database and returns the number of rows actually deleted.
     
    78857885 */
    78867886
    7887 long long p5RunDeleteRowObjects(
     7887long long diffRunDeleteRowObjects(
    78887888    psDB            *dbh,               ///< Database handle
    78897889    const psArray   *objects,           ///< Array of objects to delete
    78907890    unsigned long long limit            ///< Maximum number of elements to delete
    78917891);
    7892 /** Formats and prints an array of p5RunRow objects
     7892/** Formats and prints an array of diffRunRow objects
    78937893 *
    78947894 * When mdcf is set the formated output is in psMetadataConfig
     
    78987898 */
    78997899
    7900 bool p5RunPrintObjects(
     7900bool diffRunPrintObjects(
    79017901    FILE            *stream,            ///< a stream
    7902     psArray         *objects,           ///< An array of p5RunRow objects
     7902    psArray         *objects,           ///< An array of diffRunRow objects
    79037903    bool            mdcf                ///< format as mdconfig or simple
    79047904);
    7905 /** Formats and prints an p5RunRow object
     7905/** Formats and prints an diffRunRow object
    79067906 *
    79077907 * When mdcf is set the formated output is in psMetadataConfig
     
    79117911 */
    79127912
    7913 bool p5RunPrintObject(
     7913bool diffRunPrintObject(
    79147914    FILE            *stream,            ///< a stream
    7915     p5RunRow *object,    ///< an p5RunRow object
     7915    diffRunRow *object,    ///< an diffRunRow object
    79167916    bool            mdcf                ///< format as mdconfig or simple
    79177917);
    7918 /** p5InputSkyfileRow data structure
    7919  *
    7920  * Structure for representing a single row of p5InputSkyfile table data.
     7918/** diffInputSkyfileRow data structure
     7919 *
     7920 * Structure for representing a single row of diffInputSkyfile table data.
    79217921 */
    79227922
    79237923typedef struct {
    7924     psS32           p5_id;
    7925     psS32           p4_id;
     7924    psS32           diff_id;
     7925    psS32           warp_id;
    79267926    char            *skycell_id;
    79277927    char            *tess_id;
    79287928    char            *kind;
    79297929    bool            template;
    7930 } p5InputSkyfileRow;
    7931 
    7932 /** Creates a new p5InputSkyfileRow object
    7933  *
    7934  *  @return A new p5InputSkyfileRow object or NULL on failure.
    7935  */
    7936 
    7937 p5InputSkyfileRow *p5InputSkyfileRowAlloc(
    7938     psS32           p5_id,
    7939     psS32           p4_id,
     7930} diffInputSkyfileRow;
     7931
     7932/** Creates a new diffInputSkyfileRow object
     7933 *
     7934 *  @return A new diffInputSkyfileRow object or NULL on failure.
     7935 */
     7936
     7937diffInputSkyfileRow *diffInputSkyfileRowAlloc(
     7938    psS32           diff_id,
     7939    psS32           warp_id,
    79407940    const char      *skycell_id,
    79417941    const char      *tess_id,
     
    79447944);
    79457945
    7946 /** Creates a new p5InputSkyfile table
    7947  *
    7948  * @return true on success
    7949  */
    7950 
    7951 bool p5InputSkyfileCreateTable(
     7946/** Creates a new diffInputSkyfile table
     7947 *
     7948 * @return true on success
     7949 */
     7950
     7951bool diffInputSkyfileCreateTable(
    79527952    psDB            *dbh                ///< Database handle
    79537953);
    79547954
    7955 /** Deletes a p5InputSkyfile table
    7956  *
    7957  * @return true on success
    7958  */
    7959 
    7960 bool p5InputSkyfileDropTable(
     7955/** Deletes a diffInputSkyfile table
     7956 *
     7957 * @return true on success
     7958 */
     7959
     7960bool diffInputSkyfileDropTable(
    79617961    psDB            *dbh                ///< Database handle
    79627962);
     
    79697969 */
    79707970
    7971 bool p5InputSkyfileInsert(
    7972     psDB            *dbh,               ///< Database handle
    7973     psS32           p5_id,
    7974     psS32           p4_id,
     7971bool diffInputSkyfileInsert(
     7972    psDB            *dbh,               ///< Database handle
     7973    psS32           diff_id,
     7974    psS32           warp_id,
    79757975    const char      *skycell_id,
    79767976    const char      *tess_id,
     
    79847984 */
    79857985
    7986 long long p5InputSkyfileDelete(
     7986long long diffInputSkyfileDelete(
    79877987    psDB            *dbh,               ///< Database handle
    79887988    const psMetadata *where,            ///< Row match criteria
     
    79907990);
    79917991
    7992 /** Insert a single p5InputSkyfileRow object into a table
     7992/** Insert a single diffInputSkyfileRow object into a table
    79937993 *
    79947994 * This function constructs and inserts a single row based on it's parameters.
     
    79977997 */
    79987998
    7999 bool p5InputSkyfileInsertObject(
    8000     psDB            *dbh,               ///< Database handle
    8001     p5InputSkyfileRow *object             ///< p5InputSkyfileRow object
    8002 );
    8003 
    8004 /** Insert an array of p5InputSkyfileRow object into a table
     7999bool diffInputSkyfileInsertObject(
     8000    psDB            *dbh,               ///< Database handle
     8001    diffInputSkyfileRow *object             ///< diffInputSkyfileRow object
     8002);
     8003
     8004/** Insert an array of diffInputSkyfileRow object into a table
    80058005 *
    80068006 * This function constructs and inserts multiple rows based on it's parameters.
     
    80098009 */
    80108010
    8011 bool p5InputSkyfileInsertObjects(
    8012     psDB            *dbh,               ///< Database handle
    8013     psArray         *objects            ///< array of p5InputSkyfileRow objects
    8014 );
    8015 
    8016 /** Insert data from a binary FITS table p5InputSkyfileRow into the database
     8011bool diffInputSkyfileInsertObjects(
     8012    psDB            *dbh,               ///< Database handle
     8013    psArray         *objects            ///< array of diffInputSkyfileRow objects
     8014);
     8015
     8016/** Insert data from a binary FITS table diffInputSkyfileRow into the database
    80178017 *
    80188018 * This function expects a psFits object with a FITS table as the first
     
    80248024 */
    80258025
    8026 bool p5InputSkyfileInsertFits(
     8026bool diffInputSkyfileInsertFits(
    80278027    psDB            *dbh,               ///< Database handle
    80288028    const psFits    *fits               ///< psFits object
     
    80398039 */
    80408040
    8041 bool p5InputSkyfileSelectRowsFits(
     8041bool diffInputSkyfileSelectRowsFits(
    80428042    psDB            *dbh,               ///< Database handle
    80438043    psFits          *fits,              ///< psFits object
     
    80468046);
    80478047
    8048 /** Convert a p5InputSkyfileRow into an equivalent psMetadata
     8048/** Convert a diffInputSkyfileRow into an equivalent psMetadata
    80498049 *
    80508050 * @return A psMetadata pointer or NULL on error
    80518051 */
    80528052
    8053 psMetadata *p5InputSkyfileMetadataFromObject(
    8054     const p5InputSkyfileRow *object             ///< fooRow to convert into a psMetadata
     8053psMetadata *diffInputSkyfileMetadataFromObject(
     8054    const diffInputSkyfileRow *object             ///< fooRow to convert into a psMetadata
    80558055);
    80568056
    80578057/** Convert a psMetadata into an equivalent fooRow
    80588058 *
    8059  * @return A p5InputSkyfileRow pointer or NULL on error
    8060  */
    8061 
    8062 p5InputSkyfileRow *p5InputSkyfileObjectFromMetadata(
     8059 * @return A diffInputSkyfileRow pointer or NULL on error
     8060 */
     8061
     8062diffInputSkyfileRow *diffInputSkyfileObjectFromMetadata(
    80638063    psMetadata      *md                 ///< psMetadata to convert into a fooRow
    80648064);
    8065 /** Selects up to limit rows from the database and returns as p5InputSkyfileRow objects in a psArray
     8065/** Selects up to limit rows from the database and returns as diffInputSkyfileRow objects in a psArray
    80668066 *
    80678067 *  See psDBSelectRows() for documentation on the format of where.
     
    80708070 */
    80718071
    8072 psArray *p5InputSkyfileSelectRowObjects(
     8072psArray *diffInputSkyfileSelectRowObjects(
    80738073    psDB            *dbh,               ///< Database handle
    80748074    const psMetadata *where,            ///< Row match criteria
    80758075    unsigned long long limit            ///< Maximum number of elements to return
    80768076);
    8077 /** Deletes a row from the database coresponding to an p5InputSkyfile
     8077/** Deletes a row from the database coresponding to an diffInputSkyfile
    80788078 *
    80798079 *  Note that a 'where' search psMetadata is constructed from each object and
     
    80838083 */
    80848084
    8085 bool p5InputSkyfileDeleteObject(
    8086     psDB            *dbh,               ///< Database handle
    8087     const p5InputSkyfileRow *object    ///< Object to delete
     8085bool diffInputSkyfileDeleteObject(
     8086    psDB            *dbh,               ///< Database handle
     8087    const diffInputSkyfileRow *object    ///< Object to delete
    80888088);
    80898089/** Deletes up to limit rows from the database and returns the number of rows actually deleted.
     
    80958095 */
    80968096
    8097 long long p5InputSkyfileDeleteRowObjects(
     8097long long diffInputSkyfileDeleteRowObjects(
    80988098    psDB            *dbh,               ///< Database handle
    80998099    const psArray   *objects,           ///< Array of objects to delete
    81008100    unsigned long long limit            ///< Maximum number of elements to delete
    81018101);
    8102 /** Formats and prints an array of p5InputSkyfileRow objects
     8102/** Formats and prints an array of diffInputSkyfileRow objects
    81038103 *
    81048104 * When mdcf is set the formated output is in psMetadataConfig
     
    81088108 */
    81098109
    8110 bool p5InputSkyfilePrintObjects(
     8110bool diffInputSkyfilePrintObjects(
    81118111    FILE            *stream,            ///< a stream
    8112     psArray         *objects,           ///< An array of p5InputSkyfileRow objects
     8112    psArray         *objects,           ///< An array of diffInputSkyfileRow objects
    81138113    bool            mdcf                ///< format as mdconfig or simple
    81148114);
    8115 /** Formats and prints an p5InputSkyfileRow object
     8115/** Formats and prints an diffInputSkyfileRow object
    81168116 *
    81178117 * When mdcf is set the formated output is in psMetadataConfig
     
    81218121 */
    81228122
    8123 bool p5InputSkyfilePrintObject(
     8123bool diffInputSkyfilePrintObject(
    81248124    FILE            *stream,            ///< a stream
    8125     p5InputSkyfileRow *object,    ///< an p5InputSkyfileRow object
     8125    diffInputSkyfileRow *object,    ///< an diffInputSkyfileRow object
    81268126    bool            mdcf                ///< format as mdconfig or simple
    81278127);
    8128 /** p5DiffSkyfileRow data structure
    8129  *
    8130  * Structure for representing a single row of p5DiffSkyfile table data.
     8128/** diffSkyfileRow data structure
     8129 *
     8130 * Structure for representing a single row of diffSkyfile table data.
    81318131 */
    81328132
    81338133typedef struct {
    8134     psS32           p5_id;
     8134    psS32           diff_id;
    81358135    char            *uri;
    81368136    psF64           bg;
    81378137    psF64           bg_mean_stdev;
    8138 } p5DiffSkyfileRow;
    8139 
    8140 /** Creates a new p5DiffSkyfileRow object
    8141  *
    8142  *  @return A new p5DiffSkyfileRow object or NULL on failure.
    8143  */
    8144 
    8145 p5DiffSkyfileRow *p5DiffSkyfileRowAlloc(
    8146     psS32           p5_id,
     8138} diffSkyfileRow;
     8139
     8140/** Creates a new diffSkyfileRow object
     8141 *
     8142 *  @return A new diffSkyfileRow object or NULL on failure.
     8143 */
     8144
     8145diffSkyfileRow *diffSkyfileRowAlloc(
     8146    psS32           diff_id,
    81478147    const char      *uri,
    81488148    psF64           bg,
     
    81508150);
    81518151
    8152 /** Creates a new p5DiffSkyfile table
    8153  *
    8154  * @return true on success
    8155  */
    8156 
    8157 bool p5DiffSkyfileCreateTable(
     8152/** Creates a new diffSkyfile table
     8153 *
     8154 * @return true on success
     8155 */
     8156
     8157bool diffSkyfileCreateTable(
    81588158    psDB            *dbh                ///< Database handle
    81598159);
    81608160
    8161 /** Deletes a p5DiffSkyfile table
    8162  *
    8163  * @return true on success
    8164  */
    8165 
    8166 bool p5DiffSkyfileDropTable(
     8161/** Deletes a diffSkyfile table
     8162 *
     8163 * @return true on success
     8164 */
     8165
     8166bool diffSkyfileDropTable(
    81678167    psDB            *dbh                ///< Database handle
    81688168);
     
    81758175 */
    81768176
    8177 bool p5DiffSkyfileInsert(
    8178     psDB            *dbh,               ///< Database handle
    8179     psS32           p5_id,
     8177bool diffSkyfileInsert(
     8178    psDB            *dbh,               ///< Database handle
     8179    psS32           diff_id,
    81808180    const char      *uri,
    81818181    psF64           bg,
     
    81888188 */
    81898189
    8190 long long p5DiffSkyfileDelete(
     8190long long diffSkyfileDelete(
    81918191    psDB            *dbh,               ///< Database handle
    81928192    const psMetadata *where,            ///< Row match criteria
     
    81948194);
    81958195
    8196 /** Insert a single p5DiffSkyfileRow object into a table
     8196/** Insert a single diffSkyfileRow object into a table
    81978197 *
    81988198 * This function constructs and inserts a single row based on it's parameters.
     
    82018201 */
    82028202
    8203 bool p5DiffSkyfileInsertObject(
    8204     psDB            *dbh,               ///< Database handle
    8205     p5DiffSkyfileRow *object             ///< p5DiffSkyfileRow object
    8206 );
    8207 
    8208 /** Insert an array of p5DiffSkyfileRow object into a table
     8203bool diffSkyfileInsertObject(
     8204    psDB            *dbh,               ///< Database handle
     8205    diffSkyfileRow  *object             ///< diffSkyfileRow object
     8206);
     8207
     8208/** Insert an array of diffSkyfileRow object into a table
    82098209 *
    82108210 * This function constructs and inserts multiple rows based on it's parameters.
     
    82138213 */
    82148214
    8215 bool p5DiffSkyfileInsertObjects(
    8216     psDB            *dbh,               ///< Database handle
    8217     psArray         *objects            ///< array of p5DiffSkyfileRow objects
    8218 );
    8219 
    8220 /** Insert data from a binary FITS table p5DiffSkyfileRow into the database
     8215bool diffSkyfileInsertObjects(
     8216    psDB            *dbh,               ///< Database handle
     8217    psArray         *objects            ///< array of diffSkyfileRow objects
     8218);
     8219
     8220/** Insert data from a binary FITS table diffSkyfileRow into the database
    82218221 *
    82228222 * This function expects a psFits object with a FITS table as the first
     
    82288228 */
    82298229
    8230 bool p5DiffSkyfileInsertFits(
     8230bool diffSkyfileInsertFits(
    82318231    psDB            *dbh,               ///< Database handle
    82328232    const psFits    *fits               ///< psFits object
     
    82438243 */
    82448244
    8245 bool p5DiffSkyfileSelectRowsFits(
     8245bool diffSkyfileSelectRowsFits(
    82468246    psDB            *dbh,               ///< Database handle
    82478247    psFits          *fits,              ///< psFits object
     
    82508250);
    82518251
    8252 /** Convert a p5DiffSkyfileRow into an equivalent psMetadata
     8252/** Convert a diffSkyfileRow into an equivalent psMetadata
    82538253 *
    82548254 * @return A psMetadata pointer or NULL on error
    82558255 */
    82568256
    8257 psMetadata *p5DiffSkyfileMetadataFromObject(
    8258     const p5DiffSkyfileRow *object             ///< fooRow to convert into a psMetadata
     8257psMetadata *diffSkyfileMetadataFromObject(
     8258    const diffSkyfileRow *object             ///< fooRow to convert into a psMetadata
    82598259);
    82608260
    82618261/** Convert a psMetadata into an equivalent fooRow
    82628262 *
    8263  * @return A p5DiffSkyfileRow pointer or NULL on error
    8264  */
    8265 
    8266 p5DiffSkyfileRow *p5DiffSkyfileObjectFromMetadata(
     8263 * @return A diffSkyfileRow pointer or NULL on error
     8264 */
     8265
     8266diffSkyfileRow *diffSkyfileObjectFromMetadata(
    82678267    psMetadata      *md                 ///< psMetadata to convert into a fooRow
    82688268);
    8269 /** Selects up to limit rows from the database and returns as p5DiffSkyfileRow objects in a psArray
     8269/** Selects up to limit rows from the database and returns as diffSkyfileRow objects in a psArray
    82708270 *
    82718271 *  See psDBSelectRows() for documentation on the format of where.
     
    82748274 */
    82758275
    8276 psArray *p5DiffSkyfileSelectRowObjects(
     8276psArray *diffSkyfileSelectRowObjects(
    82778277    psDB            *dbh,               ///< Database handle
    82788278    const psMetadata *where,            ///< Row match criteria
    82798279    unsigned long long limit            ///< Maximum number of elements to return
    82808280);
    8281 /** Deletes a row from the database coresponding to an p5DiffSkyfile
     8281/** Deletes a row from the database coresponding to an diffSkyfile
    82828282 *
    82838283 *  Note that a 'where' search psMetadata is constructed from each object and
     
    82878287 */
    82888288
    8289 bool p5DiffSkyfileDeleteObject(
    8290     psDB            *dbh,               ///< Database handle
    8291     const p5DiffSkyfileRow *object    ///< Object to delete
     8289bool diffSkyfileDeleteObject(
     8290    psDB            *dbh,               ///< Database handle
     8291    const diffSkyfileRow *object    ///< Object to delete
    82928292);
    82938293/** Deletes up to limit rows from the database and returns the number of rows actually deleted.
     
    82998299 */
    83008300
    8301 long long p5DiffSkyfileDeleteRowObjects(
     8301long long diffSkyfileDeleteRowObjects(
    83028302    psDB            *dbh,               ///< Database handle
    83038303    const psArray   *objects,           ///< Array of objects to delete
    83048304    unsigned long long limit            ///< Maximum number of elements to delete
    83058305);
    8306 /** Formats and prints an array of p5DiffSkyfileRow objects
     8306/** Formats and prints an array of diffSkyfileRow objects
    83078307 *
    83088308 * When mdcf is set the formated output is in psMetadataConfig
     
    83128312 */
    83138313
    8314 bool p5DiffSkyfilePrintObjects(
     8314bool diffSkyfilePrintObjects(
    83158315    FILE            *stream,            ///< a stream
    8316     psArray         *objects,           ///< An array of p5DiffSkyfileRow objects
     8316    psArray         *objects,           ///< An array of diffSkyfileRow objects
    83178317    bool            mdcf                ///< format as mdconfig or simple
    83188318);
    8319 /** Formats and prints an p5DiffSkyfileRow object
     8319/** Formats and prints an diffSkyfileRow object
    83208320 *
    83218321 * When mdcf is set the formated output is in psMetadataConfig
     
    83258325 */
    83268326
    8327 bool p5DiffSkyfilePrintObject(
     8327bool diffSkyfilePrintObject(
    83288328    FILE            *stream,            ///< a stream
    8329     p5DiffSkyfileRow *object,    ///< an p5DiffSkyfileRow object
     8329    diffSkyfileRow *object,    ///< an diffSkyfileRow object
    83308330    bool            mdcf                ///< format as mdconfig or simple
    83318331);
    8332 /** p6RunRow data structure
    8333  *
    8334  * Structure for representing a single row of p6Run table data.
     8332/** stackRunRow data structure
     8333 *
     8334 * Structure for representing a single row of stackRun table data.
    83358335 */
    83368336
    83378337typedef struct {
    8338     psS32           p6_id;
     8338    psS32           stack_id;
    83398339    char            *state;
    83408340    char            *workdir;
     
    83438343    char            *skycell_id;
    83448344    char            *tess_id;
    8345 } p6RunRow;
    8346 
    8347 /** Creates a new p6RunRow object
    8348  *
    8349  *  @return A new p6RunRow object or NULL on failure.
    8350  */
    8351 
    8352 p6RunRow *p6RunRowAlloc(
    8353     psS32           p6_id,
     8345} stackRunRow;
     8346
     8347/** Creates a new stackRunRow object
     8348 *
     8349 *  @return A new stackRunRow object or NULL on failure.
     8350 */
     8351
     8352stackRunRow *stackRunRowAlloc(
     8353    psS32           stack_id,
    83548354    const char      *state,
    83558355    const char      *workdir,
     
    83608360);
    83618361
    8362 /** Creates a new p6Run table
    8363  *
    8364  * @return true on success
    8365  */
    8366 
    8367 bool p6RunCreateTable(
     8362/** Creates a new stackRun table
     8363 *
     8364 * @return true on success
     8365 */
     8366
     8367bool stackRunCreateTable(
    83688368    psDB            *dbh                ///< Database handle
    83698369);
    83708370
    8371 /** Deletes a p6Run table
    8372  *
    8373  * @return true on success
    8374  */
    8375 
    8376 bool p6RunDropTable(
     8371/** Deletes a stackRun table
     8372 *
     8373 * @return true on success
     8374 */
     8375
     8376bool stackRunDropTable(
    83778377    psDB            *dbh                ///< Database handle
    83788378);
     
    83858385 */
    83868386
    8387 bool p6RunInsert(
    8388     psDB            *dbh,               ///< Database handle
    8389     psS32           p6_id,
     8387bool stackRunInsert(
     8388    psDB            *dbh,               ///< Database handle
     8389    psS32           stack_id,
    83908390    const char      *state,
    83918391    const char      *workdir,
     
    84018401 */
    84028402
    8403 long long p6RunDelete(
     8403long long stackRunDelete(
    84048404    psDB            *dbh,               ///< Database handle
    84058405    const psMetadata *where,            ///< Row match criteria
     
    84078407);
    84088408
    8409 /** Insert a single p6RunRow object into a table
     8409/** Insert a single stackRunRow object into a table
    84108410 *
    84118411 * This function constructs and inserts a single row based on it's parameters.
     
    84148414 */
    84158415
    8416 bool p6RunInsertObject(
    8417     psDB            *dbh,               ///< Database handle
    8418     p6RunRow        *object             ///< p6RunRow object
    8419 );
    8420 
    8421 /** Insert an array of p6RunRow object into a table
     8416bool stackRunInsertObject(
     8417    psDB            *dbh,               ///< Database handle
     8418    stackRunRow     *object             ///< stackRunRow object
     8419);
     8420
     8421/** Insert an array of stackRunRow object into a table
    84228422 *
    84238423 * This function constructs and inserts multiple rows based on it's parameters.
     
    84268426 */
    84278427
    8428 bool p6RunInsertObjects(
    8429     psDB            *dbh,               ///< Database handle
    8430     psArray         *objects            ///< array of p6RunRow objects
    8431 );
    8432 
    8433 /** Insert data from a binary FITS table p6RunRow into the database
     8428bool stackRunInsertObjects(
     8429    psDB            *dbh,               ///< Database handle
     8430    psArray         *objects            ///< array of stackRunRow objects
     8431);
     8432
     8433/** Insert data from a binary FITS table stackRunRow into the database
    84348434 *
    84358435 * This function expects a psFits object with a FITS table as the first
     
    84418441 */
    84428442
    8443 bool p6RunInsertFits(
     8443bool stackRunInsertFits(
    84448444    psDB            *dbh,               ///< Database handle
    84458445    const psFits    *fits               ///< psFits object
     
    84568456 */
    84578457
    8458 bool p6RunSelectRowsFits(
     8458bool stackRunSelectRowsFits(
    84598459    psDB            *dbh,               ///< Database handle
    84608460    psFits          *fits,              ///< psFits object
     
    84638463);
    84648464
    8465 /** Convert a p6RunRow into an equivalent psMetadata
     8465/** Convert a stackRunRow into an equivalent psMetadata
    84668466 *
    84678467 * @return A psMetadata pointer or NULL on error
    84688468 */
    84698469
    8470 psMetadata *p6RunMetadataFromObject(
    8471     const p6RunRow *object             ///< fooRow to convert into a psMetadata
     8470psMetadata *stackRunMetadataFromObject(
     8471    const stackRunRow *object             ///< fooRow to convert into a psMetadata
    84728472);
    84738473
    84748474/** Convert a psMetadata into an equivalent fooRow
    84758475 *
    8476  * @return A p6RunRow pointer or NULL on error
    8477  */
    8478 
    8479 p6RunRow *p6RunObjectFromMetadata(
     8476 * @return A stackRunRow pointer or NULL on error
     8477 */
     8478
     8479stackRunRow *stackRunObjectFromMetadata(
    84808480    psMetadata      *md                 ///< psMetadata to convert into a fooRow
    84818481);
    8482 /** Selects up to limit rows from the database and returns as p6RunRow objects in a psArray
     8482/** Selects up to limit rows from the database and returns as stackRunRow objects in a psArray
    84838483 *
    84848484 *  See psDBSelectRows() for documentation on the format of where.
     
    84878487 */
    84888488
    8489 psArray *p6RunSelectRowObjects(
     8489psArray *stackRunSelectRowObjects(
    84908490    psDB            *dbh,               ///< Database handle
    84918491    const psMetadata *where,            ///< Row match criteria
    84928492    unsigned long long limit            ///< Maximum number of elements to return
    84938493);
    8494 /** Deletes a row from the database coresponding to an p6Run
     8494/** Deletes a row from the database coresponding to an stackRun
    84958495 *
    84968496 *  Note that a 'where' search psMetadata is constructed from each object and
     
    85008500 */
    85018501
    8502 bool p6RunDeleteObject(
    8503     psDB            *dbh,               ///< Database handle
    8504     const p6RunRow *object    ///< Object to delete
     8502bool stackRunDeleteObject(
     8503    psDB            *dbh,               ///< Database handle
     8504    const stackRunRow *object    ///< Object to delete
    85058505);
    85068506/** Deletes up to limit rows from the database and returns the number of rows actually deleted.
     
    85128512 */
    85138513
    8514 long long p6RunDeleteRowObjects(
     8514long long stackRunDeleteRowObjects(
    85158515    psDB            *dbh,               ///< Database handle
    85168516    const psArray   *objects,           ///< Array of objects to delete
    85178517    unsigned long long limit            ///< Maximum number of elements to delete
    85188518);
    8519 /** Formats and prints an array of p6RunRow objects
     8519/** Formats and prints an array of stackRunRow objects
    85208520 *
    85218521 * When mdcf is set the formated output is in psMetadataConfig
     
    85258525 */
    85268526
    8527 bool p6RunPrintObjects(
     8527bool stackRunPrintObjects(
    85288528    FILE            *stream,            ///< a stream
    8529     psArray         *objects,           ///< An array of p6RunRow objects
     8529    psArray         *objects,           ///< An array of stackRunRow objects
    85308530    bool            mdcf                ///< format as mdconfig or simple
    85318531);
    8532 /** Formats and prints an p6RunRow object
     8532/** Formats and prints an stackRunRow object
    85338533 *
    85348534 * When mdcf is set the formated output is in psMetadataConfig
     
    85388538 */
    85398539
    8540 bool p6RunPrintObject(
     8540bool stackRunPrintObject(
    85418541    FILE            *stream,            ///< a stream
    8542     p6RunRow *object,    ///< an p6RunRow object
     8542    stackRunRow *object,    ///< an stackRunRow object
    85438543    bool            mdcf                ///< format as mdconfig or simple
    85448544);
    8545 /** p6InputSkyfileRow data structure
    8546  *
    8547  * Structure for representing a single row of p6InputSkyfile table data.
     8545/** stackInputSkyfileRow data structure
     8546 *
     8547 * Structure for representing a single row of stackInputSkyfile table data.
    85488548 */
    85498549
    85508550typedef struct {
    8551     psS32           p6_id;
    8552     psS32           p4_id;
    8553 } p6InputSkyfileRow;
    8554 
    8555 /** Creates a new p6InputSkyfileRow object
    8556  *
    8557  *  @return A new p6InputSkyfileRow object or NULL on failure.
    8558  */
    8559 
    8560 p6InputSkyfileRow *p6InputSkyfileRowAlloc(
    8561     psS32           p6_id,
    8562     psS32           p4_id
    8563 );
    8564 
    8565 /** Creates a new p6InputSkyfile table
    8566  *
    8567  * @return true on success
    8568  */
    8569 
    8570 bool p6InputSkyfileCreateTable(
     8551    psS32           stack_id;
     8552    psS32           warp_id;
     8553} stackInputSkyfileRow;
     8554
     8555/** Creates a new stackInputSkyfileRow object
     8556 *
     8557 *  @return A new stackInputSkyfileRow object or NULL on failure.
     8558 */
     8559
     8560stackInputSkyfileRow *stackInputSkyfileRowAlloc(
     8561    psS32           stack_id,
     8562    psS32           warp_id
     8563);
     8564
     8565/** Creates a new stackInputSkyfile table
     8566 *
     8567 * @return true on success
     8568 */
     8569
     8570bool stackInputSkyfileCreateTable(
    85718571    psDB            *dbh                ///< Database handle
    85728572);
    85738573
    8574 /** Deletes a p6InputSkyfile table
    8575  *
    8576  * @return true on success
    8577  */
    8578 
    8579 bool p6InputSkyfileDropTable(
     8574/** Deletes a stackInputSkyfile table
     8575 *
     8576 * @return true on success
     8577 */
     8578
     8579bool stackInputSkyfileDropTable(
    85808580    psDB            *dbh                ///< Database handle
    85818581);
     
    85888588 */
    85898589
    8590 bool p6InputSkyfileInsert(
    8591     psDB            *dbh,               ///< Database handle
    8592     psS32           p6_id,
    8593     psS32           p4_id
     8590bool stackInputSkyfileInsert(
     8591    psDB            *dbh,               ///< Database handle
     8592    psS32           stack_id,
     8593    psS32           warp_id
    85948594);
    85958595
     
    85998599 */
    86008600
    8601 long long p6InputSkyfileDelete(
     8601long long stackInputSkyfileDelete(
    86028602    psDB            *dbh,               ///< Database handle
    86038603    const psMetadata *where,            ///< Row match criteria
     
    86058605);
    86068606
    8607 /** Insert a single p6InputSkyfileRow object into a table
     8607/** Insert a single stackInputSkyfileRow object into a table
    86088608 *
    86098609 * This function constructs and inserts a single row based on it's parameters.
     
    86128612 */
    86138613
    8614 bool p6InputSkyfileInsertObject(
    8615     psDB            *dbh,               ///< Database handle
    8616     p6InputSkyfileRow *object             ///< p6InputSkyfileRow object
    8617 );
    8618 
    8619 /** Insert an array of p6InputSkyfileRow object into a table
     8614bool stackInputSkyfileInsertObject(
     8615    psDB            *dbh,               ///< Database handle
     8616    stackInputSkyfileRow *object             ///< stackInputSkyfileRow object
     8617);
     8618
     8619/** Insert an array of stackInputSkyfileRow object into a table
    86208620 *
    86218621 * This function constructs and inserts multiple rows based on it's parameters.
     
    86248624 */
    86258625
    8626 bool p6InputSkyfileInsertObjects(
    8627     psDB            *dbh,               ///< Database handle
    8628     psArray         *objects            ///< array of p6InputSkyfileRow objects
    8629 );
    8630 
    8631 /** Insert data from a binary FITS table p6InputSkyfileRow into the database
     8626bool stackInputSkyfileInsertObjects(
     8627    psDB            *dbh,               ///< Database handle
     8628    psArray         *objects            ///< array of stackInputSkyfileRow objects
     8629);
     8630
     8631/** Insert data from a binary FITS table stackInputSkyfileRow into the database
    86328632 *
    86338633 * This function expects a psFits object with a FITS table as the first
     
    86398639 */
    86408640
    8641 bool p6InputSkyfileInsertFits(
     8641bool stackInputSkyfileInsertFits(
    86428642    psDB            *dbh,               ///< Database handle
    86438643    const psFits    *fits               ///< psFits object
     
    86548654 */
    86558655
    8656 bool p6InputSkyfileSelectRowsFits(
     8656bool stackInputSkyfileSelectRowsFits(
    86578657    psDB            *dbh,               ///< Database handle
    86588658    psFits          *fits,              ///< psFits object
     
    86618661);
    86628662
    8663 /** Convert a p6InputSkyfileRow into an equivalent psMetadata
     8663/** Convert a stackInputSkyfileRow into an equivalent psMetadata
    86648664 *
    86658665 * @return A psMetadata pointer or NULL on error
    86668666 */
    86678667
    8668 psMetadata *p6InputSkyfileMetadataFromObject(
    8669     const p6InputSkyfileRow *object             ///< fooRow to convert into a psMetadata
     8668psMetadata *stackInputSkyfileMetadataFromObject(
     8669    const stackInputSkyfileRow *object             ///< fooRow to convert into a psMetadata
    86708670);
    86718671
    86728672/** Convert a psMetadata into an equivalent fooRow
    86738673 *
    8674  * @return A p6InputSkyfileRow pointer or NULL on error
    8675  */
    8676 
    8677 p6InputSkyfileRow *p6InputSkyfileObjectFromMetadata(
     8674 * @return A stackInputSkyfileRow pointer or NULL on error
     8675 */
     8676
     8677stackInputSkyfileRow *stackInputSkyfileObjectFromMetadata(
    86788678    psMetadata      *md                 ///< psMetadata to convert into a fooRow
    86798679);
    8680 /** Selects up to limit rows from the database and returns as p6InputSkyfileRow objects in a psArray
     8680/** Selects up to limit rows from the database and returns as stackInputSkyfileRow objects in a psArray
    86818681 *
    86828682 *  See psDBSelectRows() for documentation on the format of where.
     
    86858685 */
    86868686
    8687 psArray *p6InputSkyfileSelectRowObjects(
     8687psArray *stackInputSkyfileSelectRowObjects(
    86888688    psDB            *dbh,               ///< Database handle
    86898689    const psMetadata *where,            ///< Row match criteria
    86908690    unsigned long long limit            ///< Maximum number of elements to return
    86918691);
    8692 /** Deletes a row from the database coresponding to an p6InputSkyfile
     8692/** Deletes a row from the database coresponding to an stackInputSkyfile
    86938693 *
    86948694 *  Note that a 'where' search psMetadata is constructed from each object and
     
    86988698 */
    86998699
    8700 bool p6InputSkyfileDeleteObject(
    8701     psDB            *dbh,               ///< Database handle
    8702     const p6InputSkyfileRow *object    ///< Object to delete
     8700bool stackInputSkyfileDeleteObject(
     8701    psDB            *dbh,               ///< Database handle
     8702    const stackInputSkyfileRow *object    ///< Object to delete
    87038703);
    87048704/** Deletes up to limit rows from the database and returns the number of rows actually deleted.
     
    87108710 */
    87118711
    8712 long long p6InputSkyfileDeleteRowObjects(
     8712long long stackInputSkyfileDeleteRowObjects(
    87138713    psDB            *dbh,               ///< Database handle
    87148714    const psArray   *objects,           ///< Array of objects to delete
    87158715    unsigned long long limit            ///< Maximum number of elements to delete
    87168716);
    8717 /** Formats and prints an array of p6InputSkyfileRow objects
     8717/** Formats and prints an array of stackInputSkyfileRow objects
    87188718 *
    87198719 * When mdcf is set the formated output is in psMetadataConfig
     
    87238723 */
    87248724
    8725 bool p6InputSkyfilePrintObjects(
     8725bool stackInputSkyfilePrintObjects(
    87268726    FILE            *stream,            ///< a stream
    8727     psArray         *objects,           ///< An array of p6InputSkyfileRow objects
     8727    psArray         *objects,           ///< An array of stackInputSkyfileRow objects
    87288728    bool            mdcf                ///< format as mdconfig or simple
    87298729);
    8730 /** Formats and prints an p6InputSkyfileRow object
     8730/** Formats and prints an stackInputSkyfileRow object
    87318731 *
    87328732 * When mdcf is set the formated output is in psMetadataConfig
     
    87368736 */
    87378737
    8738 bool p6InputSkyfilePrintObject(
     8738bool stackInputSkyfilePrintObject(
    87398739    FILE            *stream,            ///< a stream
    8740     p6InputSkyfileRow *object,    ///< an p6InputSkyfileRow object
     8740    stackInputSkyfileRow *object,    ///< an stackInputSkyfileRow object
    87418741    bool            mdcf                ///< format as mdconfig or simple
    87428742);
    8743 /** p6SumSkyfileRow data structure
    8744  *
    8745  * Structure for representing a single row of p6SumSkyfile table data.
     8743/** stackSumSkyfileRow data structure
     8744 *
     8745 * Structure for representing a single row of stackSumSkyfile table data.
    87468746 */
    87478747
    87488748typedef struct {
    8749     psS32           p6_id;
     8749    psS32           stack_id;
    87508750    char            *uri;
    87518751    psF64           bg;
    87528752    psF64           bg_mean_stdev;
    8753 } p6SumSkyfileRow;
    8754 
    8755 /** Creates a new p6SumSkyfileRow object
    8756  *
    8757  *  @return A new p6SumSkyfileRow object or NULL on failure.
    8758  */
    8759 
    8760 p6SumSkyfileRow *p6SumSkyfileRowAlloc(
    8761     psS32           p6_id,
     8753} stackSumSkyfileRow;
     8754
     8755/** Creates a new stackSumSkyfileRow object
     8756 *
     8757 *  @return A new stackSumSkyfileRow object or NULL on failure.
     8758 */
     8759
     8760stackSumSkyfileRow *stackSumSkyfileRowAlloc(
     8761    psS32           stack_id,
    87628762    const char      *uri,
    87638763    psF64           bg,
     
    87658765);
    87668766
    8767 /** Creates a new p6SumSkyfile table
    8768  *
    8769  * @return true on success
    8770  */
    8771 
    8772 bool p6SumSkyfileCreateTable(
     8767/** Creates a new stackSumSkyfile table
     8768 *
     8769 * @return true on success
     8770 */
     8771
     8772bool stackSumSkyfileCreateTable(
    87738773    psDB            *dbh                ///< Database handle
    87748774);
    87758775
    8776 /** Deletes a p6SumSkyfile table
    8777  *
    8778  * @return true on success
    8779  */
    8780 
    8781 bool p6SumSkyfileDropTable(
     8776/** Deletes a stackSumSkyfile table
     8777 *
     8778 * @return true on success
     8779 */
     8780
     8781bool stackSumSkyfileDropTable(
    87828782    psDB            *dbh                ///< Database handle
    87838783);
     
    87908790 */
    87918791
    8792 bool p6SumSkyfileInsert(
    8793     psDB            *dbh,               ///< Database handle
    8794     psS32           p6_id,
     8792bool stackSumSkyfileInsert(
     8793    psDB            *dbh,               ///< Database handle
     8794    psS32           stack_id,
    87958795    const char      *uri,
    87968796    psF64           bg,
     
    88038803 */
    88048804
    8805 long long p6SumSkyfileDelete(
     8805long long stackSumSkyfileDelete(
    88068806    psDB            *dbh,               ///< Database handle
    88078807    const psMetadata *where,            ///< Row match criteria
     
    88098809);
    88108810
    8811 /** Insert a single p6SumSkyfileRow object into a table
     8811/** Insert a single stackSumSkyfileRow object into a table
    88128812 *
    88138813 * This function constructs and inserts a single row based on it's parameters.
     
    88168816 */
    88178817
    8818 bool p6SumSkyfileInsertObject(
    8819     psDB            *dbh,               ///< Database handle
    8820     p6SumSkyfileRow *object             ///< p6SumSkyfileRow object
    8821 );
    8822 
    8823 /** Insert an array of p6SumSkyfileRow object into a table
     8818bool stackSumSkyfileInsertObject(
     8819    psDB            *dbh,               ///< Database handle
     8820    stackSumSkyfileRow *object             ///< stackSumSkyfileRow object
     8821);
     8822
     8823/** Insert an array of stackSumSkyfileRow object into a table
    88248824 *
    88258825 * This function constructs and inserts multiple rows based on it's parameters.
     
    88288828 */
    88298829
    8830 bool p6SumSkyfileInsertObjects(
    8831     psDB            *dbh,               ///< Database handle
    8832     psArray         *objects            ///< array of p6SumSkyfileRow objects
    8833 );
    8834 
    8835 /** Insert data from a binary FITS table p6SumSkyfileRow into the database
     8830bool stackSumSkyfileInsertObjects(
     8831    psDB            *dbh,               ///< Database handle
     8832    psArray         *objects            ///< array of stackSumSkyfileRow objects
     8833);
     8834
     8835/** Insert data from a binary FITS table stackSumSkyfileRow into the database
    88368836 *
    88378837 * This function expects a psFits object with a FITS table as the first
     
    88438843 */
    88448844
    8845 bool p6SumSkyfileInsertFits(
     8845bool stackSumSkyfileInsertFits(
    88468846    psDB            *dbh,               ///< Database handle
    88478847    const psFits    *fits               ///< psFits object
     
    88588858 */
    88598859
    8860 bool p6SumSkyfileSelectRowsFits(
     8860bool stackSumSkyfileSelectRowsFits(
    88618861    psDB            *dbh,               ///< Database handle
    88628862    psFits          *fits,              ///< psFits object
     
    88658865);
    88668866
    8867 /** Convert a p6SumSkyfileRow into an equivalent psMetadata
     8867/** Convert a stackSumSkyfileRow into an equivalent psMetadata
    88688868 *
    88698869 * @return A psMetadata pointer or NULL on error
    88708870 */
    88718871
    8872 psMetadata *p6SumSkyfileMetadataFromObject(
    8873     const p6SumSkyfileRow *object             ///< fooRow to convert into a psMetadata
     8872psMetadata *stackSumSkyfileMetadataFromObject(
     8873    const stackSumSkyfileRow *object             ///< fooRow to convert into a psMetadata
    88748874);
    88758875
    88768876/** Convert a psMetadata into an equivalent fooRow
    88778877 *
    8878  * @return A p6SumSkyfileRow pointer or NULL on error
    8879  */
    8880 
    8881 p6SumSkyfileRow *p6SumSkyfileObjectFromMetadata(
     8878 * @return A stackSumSkyfileRow pointer or NULL on error
     8879 */
     8880
     8881stackSumSkyfileRow *stackSumSkyfileObjectFromMetadata(
    88828882    psMetadata      *md                 ///< psMetadata to convert into a fooRow
    88838883);
    8884 /** Selects up to limit rows from the database and returns as p6SumSkyfileRow objects in a psArray
     8884/** Selects up to limit rows from the database and returns as stackSumSkyfileRow objects in a psArray
    88858885 *
    88868886 *  See psDBSelectRows() for documentation on the format of where.
     
    88898889 */
    88908890
    8891 psArray *p6SumSkyfileSelectRowObjects(
     8891psArray *stackSumSkyfileSelectRowObjects(
    88928892    psDB            *dbh,               ///< Database handle
    88938893    const psMetadata *where,            ///< Row match criteria
    88948894    unsigned long long limit            ///< Maximum number of elements to return
    88958895);
    8896 /** Deletes a row from the database coresponding to an p6SumSkyfile
     8896/** Deletes a row from the database coresponding to an stackSumSkyfile
    88978897 *
    88988898 *  Note that a 'where' search psMetadata is constructed from each object and
     
    89028902 */
    89038903
    8904 bool p6SumSkyfileDeleteObject(
    8905     psDB            *dbh,               ///< Database handle
    8906     const p6SumSkyfileRow *object    ///< Object to delete
     8904bool stackSumSkyfileDeleteObject(
     8905    psDB            *dbh,               ///< Database handle
     8906    const stackSumSkyfileRow *object    ///< Object to delete
    89078907);
    89088908/** Deletes up to limit rows from the database and returns the number of rows actually deleted.
     
    89148914 */
    89158915
    8916 long long p6SumSkyfileDeleteRowObjects(
     8916long long stackSumSkyfileDeleteRowObjects(
    89178917    psDB            *dbh,               ///< Database handle
    89188918    const psArray   *objects,           ///< Array of objects to delete
    89198919    unsigned long long limit            ///< Maximum number of elements to delete
    89208920);
    8921 /** Formats and prints an array of p6SumSkyfileRow objects
     8921/** Formats and prints an array of stackSumSkyfileRow objects
    89228922 *
    89238923 * When mdcf is set the formated output is in psMetadataConfig
     
    89278927 */
    89288928
    8929 bool p6SumSkyfilePrintObjects(
     8929bool stackSumSkyfilePrintObjects(
    89308930    FILE            *stream,            ///< a stream
    8931     psArray         *objects,           ///< An array of p6SumSkyfileRow objects
     8931    psArray         *objects,           ///< An array of stackSumSkyfileRow objects
    89328932    bool            mdcf                ///< format as mdconfig or simple
    89338933);
    8934 /** Formats and prints an p6SumSkyfileRow object
     8934/** Formats and prints an stackSumSkyfileRow object
    89358935 *
    89368936 * When mdcf is set the formated output is in psMetadataConfig
     
    89408940 */
    89418941
    8942 bool p6SumSkyfilePrintObject(
     8942bool stackSumSkyfilePrintObject(
    89438943    FILE            *stream,            ///< a stream
    8944     p6SumSkyfileRow *object,    ///< an p6SumSkyfileRow object
     8944    stackSumSkyfileRow *object,    ///< an stackSumSkyfileRow object
    89458945    bool            mdcf                ///< format as mdconfig or simple
    89468946);
     
    89528952#endif
    89538953
    8954 #endif // P6SUMSKYFILE_DB_H
     8954#endif // STACKSUMSKYFILE_DB_H
  • trunk/ippdb/tests/alloc.c

    r11988 r12026  
    505505
    506506    {
    507         p1PendingExpRow *object;
    508 
    509         object = p1PendingExpRowAlloc("a string", -32, "a string"    );
    510 
    511         if (!object) {
    512             exit(EXIT_FAILURE);
    513         }
    514 
    515         if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) {
    516             psFree(object);
    517             exit(EXIT_FAILURE);
    518         }
    519         if (!object->p1_version == -32) {
     507        guidePendingExpRow *object;
     508
     509        object = guidePendingExpRowAlloc("a string", -32, "a string"    );
     510
     511        if (!object) {
     512            exit(EXIT_FAILURE);
     513        }
     514
     515        if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) {
     516            psFree(object);
     517            exit(EXIT_FAILURE);
     518        }
     519        if (!object->guide_version == -32) {
    520520            psFree(object);
    521521            exit(EXIT_FAILURE);
     
    530530
    531531    {
    532         p2PendingExpRow *object;
    533 
    534         object = p2PendingExpRowAlloc("a string", -32, -32, "a string", "a string", "a string", "a string"    );
    535 
    536         if (!object) {
    537             exit(EXIT_FAILURE);
    538         }
    539 
    540         if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) {
    541             psFree(object);
    542             exit(EXIT_FAILURE);
    543         }
    544         if (!object->p2_version == -32) {
    545             psFree(object);
    546             exit(EXIT_FAILURE);
    547         }
    548         if (!object->p1_version == -32) {
     532        chipPendingExpRow *object;
     533
     534        object = chipPendingExpRowAlloc("a string", -32, -32, "a string", "a string", "a string", "a string"    );
     535
     536        if (!object) {
     537            exit(EXIT_FAILURE);
     538        }
     539
     540        if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) {
     541            psFree(object);
     542            exit(EXIT_FAILURE);
     543        }
     544        if (!object->chip_version == -32) {
     545            psFree(object);
     546            exit(EXIT_FAILURE);
     547        }
     548        if (!object->guide_version == -32) {
    549549            psFree(object);
    550550            exit(EXIT_FAILURE);
     
    571571
    572572    {
    573         p2PendingImfileRow *object;
    574 
    575         object = p2PendingImfileRowAlloc("a string", -32, -32, "a string", "a string", "a string"    );
    576 
    577         if (!object) {
    578             exit(EXIT_FAILURE);
    579         }
    580 
    581         if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) {
    582             psFree(object);
    583             exit(EXIT_FAILURE);
    584         }
    585         if (!object->p2_version == -32) {
    586             psFree(object);
    587             exit(EXIT_FAILURE);
    588         }
    589         if (!object->p1_version == -32) {
     573        chipPendingImfileRow *object;
     574
     575        object = chipPendingImfileRowAlloc("a string", -32, -32, "a string", "a string", "a string"    );
     576
     577        if (!object) {
     578            exit(EXIT_FAILURE);
     579        }
     580
     581        if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) {
     582            psFree(object);
     583            exit(EXIT_FAILURE);
     584        }
     585        if (!object->chip_version == -32) {
     586            psFree(object);
     587            exit(EXIT_FAILURE);
     588        }
     589        if (!object->guide_version == -32) {
    590590            psFree(object);
    591591            exit(EXIT_FAILURE);
     
    608608
    609609    {
    610         p2ProcessedExpRow *object;
    611 
    612         object = p2ProcessedExpRowAlloc("a string", -32, -32, "a string", "a string", "a string"    );
    613 
    614         if (!object) {
    615             exit(EXIT_FAILURE);
    616         }
    617 
    618         if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) {
    619             psFree(object);
    620             exit(EXIT_FAILURE);
    621         }
    622         if (!object->p2_version == -32) {
    623             psFree(object);
    624             exit(EXIT_FAILURE);
    625         }
    626         if (!object->p1_version == -32) {
     610        chipProcessedExpRow *object;
     611
     612        object = chipProcessedExpRowAlloc("a string", -32, -32, "a string", "a string", "a string"    );
     613
     614        if (!object) {
     615            exit(EXIT_FAILURE);
     616        }
     617
     618        if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) {
     619            psFree(object);
     620            exit(EXIT_FAILURE);
     621        }
     622        if (!object->chip_version == -32) {
     623            psFree(object);
     624            exit(EXIT_FAILURE);
     625        }
     626        if (!object->guide_version == -32) {
    627627            psFree(object);
    628628            exit(EXIT_FAILURE);
     
    645645
    646646    {
    647         p2MaskRow       *object;
    648 
    649         object = p2MaskRowAlloc("a string"    );
     647        chipMaskRow     *object;
     648
     649        object = chipMaskRowAlloc("a string"    );
    650650
    651651        if (!object) {
     
    662662
    663663    {
    664         p2ProcessedImfileRow *object;
    665 
    666         object = p2ProcessedImfileRowAlloc("a string", -32, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", "a string", -16    );
    667 
    668         if (!object) {
    669             exit(EXIT_FAILURE);
    670         }
    671 
    672         if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) {
    673             psFree(object);
    674             exit(EXIT_FAILURE);
    675         }
    676         if (!object->p2_version == -32) {
    677             psFree(object);
    678             exit(EXIT_FAILURE);
    679         }
    680         if (!object->p1_version == -32) {
     664        chipProcessedImfileRow *object;
     665
     666        object = chipProcessedImfileRowAlloc("a string", -32, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", "a string", -16    );
     667
     668        if (!object) {
     669            exit(EXIT_FAILURE);
     670        }
     671
     672        if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) {
     673            psFree(object);
     674            exit(EXIT_FAILURE);
     675        }
     676        if (!object->chip_version == -32) {
     677            psFree(object);
     678            exit(EXIT_FAILURE);
     679        }
     680        if (!object->guide_version == -32) {
    681681            psFree(object);
    682682            exit(EXIT_FAILURE);
     
    723723
    724724    {
    725         p3PendingExpRow *object;
    726 
    727         object = p3PendingExpRowAlloc("a string", -32, -32, "a string", "a string", "a string"    );
    728 
    729         if (!object) {
    730             exit(EXIT_FAILURE);
    731         }
    732 
    733         if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) {
    734             psFree(object);
    735             exit(EXIT_FAILURE);
    736         }
    737         if (!object->p3_version == -32) {
    738             psFree(object);
    739             exit(EXIT_FAILURE);
    740         }
    741         if (!object->p2_version == -32) {
     725        camPendingExpRow *object;
     726
     727        object = camPendingExpRowAlloc("a string", -32, -32, "a string", "a string", "a string"    );
     728
     729        if (!object) {
     730            exit(EXIT_FAILURE);
     731        }
     732
     733        if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) {
     734            psFree(object);
     735            exit(EXIT_FAILURE);
     736        }
     737        if (!object->cam_version == -32) {
     738            psFree(object);
     739            exit(EXIT_FAILURE);
     740        }
     741        if (!object->chip_version == -32) {
    742742            psFree(object);
    743743            exit(EXIT_FAILURE);
     
    760760
    761761    {
    762         p3ProcessedExpRow *object;
    763 
    764         object = p3ProcessedExpRowAlloc("a string", -32, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, 32.32, 32.32, -32, "a string", "a string", 32.32, 32.32, -16, "a string", "a string"    );
    765 
    766         if (!object) {
    767             exit(EXIT_FAILURE);
    768         }
    769 
    770         if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) {
    771             psFree(object);
    772             exit(EXIT_FAILURE);
    773         }
    774         if (!object->p3_version == -32) {
    775             psFree(object);
    776             exit(EXIT_FAILURE);
    777         }
    778         if (!object->p2_version == -32) {
     762        camProcessedExpRow *object;
     763
     764        object = camProcessedExpRowAlloc("a string", -32, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, 32.32, 32.32, -32, "a string", "a string", 32.32, 32.32, -16, "a string", "a string"    );
     765
     766        if (!object) {
     767            exit(EXIT_FAILURE);
     768        }
     769
     770        if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) {
     771            psFree(object);
     772            exit(EXIT_FAILURE);
     773        }
     774        if (!object->cam_version == -32) {
     775            psFree(object);
     776            exit(EXIT_FAILURE);
     777        }
     778        if (!object->chip_version == -32) {
    779779            psFree(object);
    780780            exit(EXIT_FAILURE);
     
    849849
    850850    {
    851         p3MaskRow       *object;
    852 
    853         object = p3MaskRowAlloc("a string"    );
     851        camMaskRow      *object;
     852
     853        object = camMaskRowAlloc("a string"    );
    854854
    855855        if (!object) {
     
    14601460
    14611461    {
    1462         p4RunRow        *object;
    1463 
    1464         object = p4RunRowAlloc(-32, "a string", "a string", "a string", "a string", "0001-01-01T00:00:00Z"    );
    1465 
    1466         if (!object) {
    1467             exit(EXIT_FAILURE);
    1468         }
    1469 
    1470         if (!object->p4_id == -32) {
     1462        warpRunRow      *object;
     1463
     1464        object = warpRunRowAlloc(-32, "a string", "a string", "a string", "a string", "0001-01-01T00:00:00Z"    );
     1465
     1466        if (!object) {
     1467            exit(EXIT_FAILURE);
     1468        }
     1469
     1470        if (!object->warp_id == -32) {
    14711471            psFree(object);
    14721472            exit(EXIT_FAILURE);
     
    14961496
    14971497    {
    1498         p4InputExpRow  *object;
    1499 
    1500         object = p4InputExpRowAlloc(-32, "a string", -32, true    );
    1501 
    1502         if (!object) {
    1503             exit(EXIT_FAILURE);
    1504         }
    1505 
    1506         if (!object->p4_id == -32) {
    1507             psFree(object);
    1508             exit(EXIT_FAILURE);
    1509         }
    1510         if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) {
    1511             psFree(object);
    1512             exit(EXIT_FAILURE);
    1513         }
    1514         if (!object->p3_version == -32) {
     1498        warpInputExpRow *object;
     1499
     1500        object = warpInputExpRowAlloc(-32, "a string", -32, true    );
     1501
     1502        if (!object) {
     1503            exit(EXIT_FAILURE);
     1504        }
     1505
     1506        if (!object->warp_id == -32) {
     1507            psFree(object);
     1508            exit(EXIT_FAILURE);
     1509        }
     1510        if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) {
     1511            psFree(object);
     1512            exit(EXIT_FAILURE);
     1513        }
     1514        if (!object->cam_version == -32) {
    15151515            psFree(object);
    15161516            exit(EXIT_FAILURE);
     
    15251525
    15261526    {
    1527         p4SkyCellMapRow *object;
    1528 
    1529         object = p4SkyCellMapRowAlloc(-32, "a string", "a string", "a string", -32, "a string"    );
    1530 
    1531         if (!object) {
    1532             exit(EXIT_FAILURE);
    1533         }
    1534 
    1535         if (!object->p4_id == -32) {
     1527        warpSkyCellMapRow *object;
     1528
     1529        object = warpSkyCellMapRowAlloc(-32, "a string", "a string", "a string", -32, "a string"    );
     1530
     1531        if (!object) {
     1532            exit(EXIT_FAILURE);
     1533        }
     1534
     1535        if (!object->warp_id == -32) {
    15361536            psFree(object);
    15371537            exit(EXIT_FAILURE);
     
    15491549            exit(EXIT_FAILURE);
    15501550        }
    1551         if (!object->p3_version == -32) {
     1551        if (!object->cam_version == -32) {
    15521552            psFree(object);
    15531553            exit(EXIT_FAILURE);
     
    15621562
    15631563    {
    1564         p4SkyfileRow    *object;
    1565 
    1566         object = p4SkyfileRowAlloc(-32, "a string", "a string", "a string", 64.64, 64.64    );
    1567 
    1568         if (!object) {
    1569             exit(EXIT_FAILURE);
    1570         }
    1571 
    1572         if (!object->p4_id == -32) {
     1564        warpSkyfileRow  *object;
     1565
     1566        object = warpSkyfileRowAlloc(-32, "a string", "a string", "a string", 64.64, 64.64    );
     1567
     1568        if (!object) {
     1569            exit(EXIT_FAILURE);
     1570        }
     1571
     1572        if (!object->warp_id == -32) {
    15731573            psFree(object);
    15741574            exit(EXIT_FAILURE);
     
    15991599
    16001600    {
    1601         p5RunRow        *object;
    1602 
    1603         object = p5RunRowAlloc(-32, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", "a string"    );
    1604 
    1605         if (!object) {
    1606             exit(EXIT_FAILURE);
    1607         }
    1608 
    1609         if (!object->p5_id == -32) {
     1601        diffRunRow      *object;
     1602
     1603        object = diffRunRowAlloc(-32, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", "a string"    );
     1604
     1605        if (!object) {
     1606            exit(EXIT_FAILURE);
     1607        }
     1608
     1609        if (!object->diff_id == -32) {
    16101610            psFree(object);
    16111611            exit(EXIT_FAILURE);
     
    16391639
    16401640    {
    1641         p5InputSkyfileRow *object;
    1642 
    1643         object = p5InputSkyfileRowAlloc(-32, -32, "a string", "a string", "a string", true    );
    1644 
    1645         if (!object) {
    1646             exit(EXIT_FAILURE);
    1647         }
    1648 
    1649         if (!object->p5_id == -32) {
    1650             psFree(object);
    1651             exit(EXIT_FAILURE);
    1652         }
    1653         if (!object->p4_id == -32) {
     1641        diffInputSkyfileRow *object;
     1642
     1643        object = diffInputSkyfileRowAlloc(-32, -32, "a string", "a string", "a string", true    );
     1644
     1645        if (!object) {
     1646            exit(EXIT_FAILURE);
     1647        }
     1648
     1649        if (!object->diff_id == -32) {
     1650            psFree(object);
     1651            exit(EXIT_FAILURE);
     1652        }
     1653        if (!object->warp_id == -32) {
    16541654            psFree(object);
    16551655            exit(EXIT_FAILURE);
     
    16761676
    16771677    {
    1678         p5DiffSkyfileRow *object;
    1679 
    1680         object = p5DiffSkyfileRowAlloc(-32, "a string", 64.64, 64.64    );
    1681 
    1682         if (!object) {
    1683             exit(EXIT_FAILURE);
    1684         }
    1685 
    1686         if (!object->p5_id == -32) {
     1678        diffSkyfileRow *object;
     1679
     1680        object = diffSkyfileRowAlloc(-32, "a string", 64.64, 64.64    );
     1681
     1682        if (!object) {
     1683            exit(EXIT_FAILURE);
     1684        }
     1685
     1686        if (!object->diff_id == -32) {
    16871687            psFree(object);
    16881688            exit(EXIT_FAILURE);
     
    17051705
    17061706    {
    1707         p6RunRow        *object;
    1708 
    1709         object = p6RunRowAlloc(-32, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", "a string"    );
    1710 
    1711         if (!object) {
    1712             exit(EXIT_FAILURE);
    1713         }
    1714 
    1715         if (!object->p6_id == -32) {
     1707        stackRunRow     *object;
     1708
     1709        object = stackRunRowAlloc(-32, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", "a string"    );
     1710
     1711        if (!object) {
     1712            exit(EXIT_FAILURE);
     1713        }
     1714
     1715        if (!object->stack_id == -32) {
    17161716            psFree(object);
    17171717            exit(EXIT_FAILURE);
     
    17451745
    17461746    {
    1747         p6InputSkyfileRow *object;
    1748 
    1749         object = p6InputSkyfileRowAlloc(-32, -32    );
    1750 
    1751         if (!object) {
    1752             exit(EXIT_FAILURE);
    1753         }
    1754 
    1755         if (!object->p6_id == -32) {
    1756             psFree(object);
    1757             exit(EXIT_FAILURE);
    1758         }
    1759         if (!object->p4_id == -32) {
    1760             psFree(object);
    1761             exit(EXIT_FAILURE);
    1762         }
    1763 
    1764         psFree(object);
    1765     }
    1766 
    1767     {
    1768         p6SumSkyfileRow *object;
    1769 
    1770         object = p6SumSkyfileRowAlloc(-32, "a string", 64.64, 64.64    );
    1771 
    1772         if (!object) {
    1773             exit(EXIT_FAILURE);
    1774         }
    1775 
    1776         if (!object->p6_id == -32) {
     1747        stackInputSkyfileRow *object;
     1748
     1749        object = stackInputSkyfileRowAlloc(-32, -32    );
     1750
     1751        if (!object) {
     1752            exit(EXIT_FAILURE);
     1753        }
     1754
     1755        if (!object->stack_id == -32) {
     1756            psFree(object);
     1757            exit(EXIT_FAILURE);
     1758        }
     1759        if (!object->warp_id == -32) {
     1760            psFree(object);
     1761            exit(EXIT_FAILURE);
     1762        }
     1763
     1764        psFree(object);
     1765    }
     1766
     1767    {
     1768        stackSumSkyfileRow *object;
     1769
     1770        object = stackSumSkyfileRowAlloc(-32, "a string", 64.64, 64.64    );
     1771
     1772        if (!object) {
     1773            exit(EXIT_FAILURE);
     1774        }
     1775
     1776        if (!object->stack_id == -32) {
    17771777            psFree(object);
    17781778            exit(EXIT_FAILURE);
  • trunk/ippdb/tests/createtable.c

    r11988 r12026  
    178178        }
    179179
    180         if(!p1PendingExpCreateTable(dbh)) {
    181             exit(EXIT_FAILURE);
    182         }
    183 
    184         psDBCleanup(dbh);
    185     }
    186 
    187     {
    188         psDB            *dbh;
    189 
    190         dbh = psDBInit("localhost", "test", NULL, "test");
    191         if (!dbh) {
    192             exit(EXIT_FAILURE);
    193         }
    194 
    195         if(!p2PendingExpCreateTable(dbh)) {
    196             exit(EXIT_FAILURE);
    197         }
    198 
    199         psDBCleanup(dbh);
    200     }
    201 
    202     {
    203         psDB            *dbh;
    204 
    205         dbh = psDBInit("localhost", "test", NULL, "test");
    206         if (!dbh) {
    207             exit(EXIT_FAILURE);
    208         }
    209 
    210         if(!p2PendingImfileCreateTable(dbh)) {
    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(!p2ProcessedExpCreateTable(dbh)) {
    226             exit(EXIT_FAILURE);
    227         }
    228 
    229         psDBCleanup(dbh);
    230     }
    231 
    232     {
    233         psDB            *dbh;
    234 
    235         dbh = psDBInit("localhost", "test", NULL, "test");
    236         if (!dbh) {
    237             exit(EXIT_FAILURE);
    238         }
    239 
    240         if(!p2MaskCreateTable(dbh)) {
    241             exit(EXIT_FAILURE);
    242         }
    243 
    244         psDBCleanup(dbh);
    245     }
    246 
    247     {
    248         psDB            *dbh;
    249 
    250         dbh = psDBInit("localhost", "test", NULL, "test");
    251         if (!dbh) {
    252             exit(EXIT_FAILURE);
    253         }
    254 
    255         if(!p2ProcessedImfileCreateTable(dbh)) {
    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(!p3PendingExpCreateTable(dbh)) {
    271             exit(EXIT_FAILURE);
    272         }
    273 
    274         psDBCleanup(dbh);
    275     }
    276 
    277     {
    278         psDB            *dbh;
    279 
    280         dbh = psDBInit("localhost", "test", NULL, "test");
    281         if (!dbh) {
    282             exit(EXIT_FAILURE);
    283         }
    284 
    285         if(!p3ProcessedExpCreateTable(dbh)) {
    286             exit(EXIT_FAILURE);
    287         }
    288 
    289         psDBCleanup(dbh);
    290     }
    291 
    292     {
    293         psDB            *dbh;
    294 
    295         dbh = psDBInit("localhost", "test", NULL, "test");
    296         if (!dbh) {
    297             exit(EXIT_FAILURE);
    298         }
    299 
    300         if(!p3MaskCreateTable(dbh)) {
     180        if(!guidePendingExpCreateTable(dbh)) {
     181            exit(EXIT_FAILURE);
     182        }
     183
     184        psDBCleanup(dbh);
     185    }
     186
     187    {
     188        psDB            *dbh;
     189
     190        dbh = psDBInit("localhost", "test", NULL, "test");
     191        if (!dbh) {
     192            exit(EXIT_FAILURE);
     193        }
     194
     195        if(!chipPendingExpCreateTable(dbh)) {
     196            exit(EXIT_FAILURE);
     197        }
     198
     199        psDBCleanup(dbh);
     200    }
     201
     202    {
     203        psDB            *dbh;
     204
     205        dbh = psDBInit("localhost", "test", NULL, "test");
     206        if (!dbh) {
     207            exit(EXIT_FAILURE);
     208        }
     209
     210        if(!chipPendingImfileCreateTable(dbh)) {
     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(!chipProcessedExpCreateTable(dbh)) {
     226            exit(EXIT_FAILURE);
     227        }
     228
     229        psDBCleanup(dbh);
     230    }
     231
     232    {
     233        psDB            *dbh;
     234
     235        dbh = psDBInit("localhost", "test", NULL, "test");
     236        if (!dbh) {
     237            exit(EXIT_FAILURE);
     238        }
     239
     240        if(!chipMaskCreateTable(dbh)) {
     241            exit(EXIT_FAILURE);
     242        }
     243
     244        psDBCleanup(dbh);
     245    }
     246
     247    {
     248        psDB            *dbh;
     249
     250        dbh = psDBInit("localhost", "test", NULL, "test");
     251        if (!dbh) {
     252            exit(EXIT_FAILURE);
     253        }
     254
     255        if(!chipProcessedImfileCreateTable(dbh)) {
     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(!camPendingExpCreateTable(dbh)) {
     271            exit(EXIT_FAILURE);
     272        }
     273
     274        psDBCleanup(dbh);
     275    }
     276
     277    {
     278        psDB            *dbh;
     279
     280        dbh = psDBInit("localhost", "test", NULL, "test");
     281        if (!dbh) {
     282            exit(EXIT_FAILURE);
     283        }
     284
     285        if(!camProcessedExpCreateTable(dbh)) {
     286            exit(EXIT_FAILURE);
     287        }
     288
     289        psDBCleanup(dbh);
     290    }
     291
     292    {
     293        psDB            *dbh;
     294
     295        dbh = psDBInit("localhost", "test", NULL, "test");
     296        if (!dbh) {
     297            exit(EXIT_FAILURE);
     298        }
     299
     300        if(!camMaskCreateTable(dbh)) {
    301301            exit(EXIT_FAILURE);
    302302        }
     
    478478        }
    479479
    480         if(!p4RunCreateTable(dbh)) {
    481             exit(EXIT_FAILURE);
    482         }
    483 
    484         psDBCleanup(dbh);
    485     }
    486 
    487     {
    488         psDB            *dbh;
    489 
    490         dbh = psDBInit("localhost", "test", NULL, "test");
    491         if (!dbh) {
    492             exit(EXIT_FAILURE);
    493         }
    494 
    495         if(!p4InputExpCreateTable(dbh)) {
    496             exit(EXIT_FAILURE);
    497         }
    498 
    499         psDBCleanup(dbh);
    500     }
    501 
    502     {
    503         psDB            *dbh;
    504 
    505         dbh = psDBInit("localhost", "test", NULL, "test");
    506         if (!dbh) {
    507             exit(EXIT_FAILURE);
    508         }
    509 
    510         if(!p4SkyCellMapCreateTable(dbh)) {
    511             exit(EXIT_FAILURE);
    512         }
    513 
    514         psDBCleanup(dbh);
    515     }
    516 
    517     {
    518         psDB            *dbh;
    519 
    520         dbh = psDBInit("localhost", "test", NULL, "test");
    521         if (!dbh) {
    522             exit(EXIT_FAILURE);
    523         }
    524 
    525         if(!p4SkyfileCreateTable(dbh)) {
    526             exit(EXIT_FAILURE);
    527         }
    528 
    529         psDBCleanup(dbh);
    530     }
    531 
    532     {
    533         psDB            *dbh;
    534 
    535         dbh = psDBInit("localhost", "test", NULL, "test");
    536         if (!dbh) {
    537             exit(EXIT_FAILURE);
    538         }
    539 
    540         if(!p5RunCreateTable(dbh)) {
    541             exit(EXIT_FAILURE);
    542         }
    543 
    544         psDBCleanup(dbh);
    545     }
    546 
    547     {
    548         psDB            *dbh;
    549 
    550         dbh = psDBInit("localhost", "test", NULL, "test");
    551         if (!dbh) {
    552             exit(EXIT_FAILURE);
    553         }
    554 
    555         if(!p5InputSkyfileCreateTable(dbh)) {
    556             exit(EXIT_FAILURE);
    557         }
    558 
    559         psDBCleanup(dbh);
    560     }
    561 
    562     {
    563         psDB            *dbh;
    564 
    565         dbh = psDBInit("localhost", "test", NULL, "test");
    566         if (!dbh) {
    567             exit(EXIT_FAILURE);
    568         }
    569 
    570         if(!p5DiffSkyfileCreateTable(dbh)) {
    571             exit(EXIT_FAILURE);
    572         }
    573 
    574         psDBCleanup(dbh);
    575     }
    576 
    577     {
    578         psDB            *dbh;
    579 
    580         dbh = psDBInit("localhost", "test", NULL, "test");
    581         if (!dbh) {
    582             exit(EXIT_FAILURE);
    583         }
    584 
    585         if(!p6RunCreateTable(dbh)) {
    586             exit(EXIT_FAILURE);
    587         }
    588 
    589         psDBCleanup(dbh);
    590     }
    591 
    592     {
    593         psDB            *dbh;
    594 
    595         dbh = psDBInit("localhost", "test", NULL, "test");
    596         if (!dbh) {
    597             exit(EXIT_FAILURE);
    598         }
    599 
    600         if(!p6InputSkyfileCreateTable(dbh)) {
    601             exit(EXIT_FAILURE);
    602         }
    603 
    604         psDBCleanup(dbh);
    605     }
    606 
    607     {
    608         psDB            *dbh;
    609 
    610         dbh = psDBInit("localhost", "test", NULL, "test");
    611         if (!dbh) {
    612             exit(EXIT_FAILURE);
    613         }
    614 
    615         if(!p6SumSkyfileCreateTable(dbh)) {
     480        if(!warpRunCreateTable(dbh)) {
     481            exit(EXIT_FAILURE);
     482        }
     483
     484        psDBCleanup(dbh);
     485    }
     486
     487    {
     488        psDB            *dbh;
     489
     490        dbh = psDBInit("localhost", "test", NULL, "test");
     491        if (!dbh) {
     492            exit(EXIT_FAILURE);
     493        }
     494
     495        if(!warpInputExpCreateTable(dbh)) {
     496            exit(EXIT_FAILURE);
     497        }
     498
     499        psDBCleanup(dbh);
     500    }
     501
     502    {
     503        psDB            *dbh;
     504
     505        dbh = psDBInit("localhost", "test", NULL, "test");
     506        if (!dbh) {
     507            exit(EXIT_FAILURE);
     508        }
     509
     510        if(!warpSkyCellMapCreateTable(dbh)) {
     511            exit(EXIT_FAILURE);
     512        }
     513
     514        psDBCleanup(dbh);
     515    }
     516
     517    {
     518        psDB            *dbh;
     519
     520        dbh = psDBInit("localhost", "test", NULL, "test");
     521        if (!dbh) {
     522            exit(EXIT_FAILURE);
     523        }
     524
     525        if(!warpSkyfileCreateTable(dbh)) {
     526            exit(EXIT_FAILURE);
     527        }
     528
     529        psDBCleanup(dbh);
     530    }
     531
     532    {
     533        psDB            *dbh;
     534
     535        dbh = psDBInit("localhost", "test", NULL, "test");
     536        if (!dbh) {
     537            exit(EXIT_FAILURE);
     538        }
     539
     540        if(!diffRunCreateTable(dbh)) {
     541            exit(EXIT_FAILURE);
     542        }
     543
     544        psDBCleanup(dbh);
     545    }
     546
     547    {
     548        psDB            *dbh;
     549
     550        dbh = psDBInit("localhost", "test", NULL, "test");
     551        if (!dbh) {
     552            exit(EXIT_FAILURE);
     553        }
     554
     555        if(!diffInputSkyfileCreateTable(dbh)) {
     556            exit(EXIT_FAILURE);
     557        }
     558
     559        psDBCleanup(dbh);
     560    }
     561
     562    {
     563        psDB            *dbh;
     564
     565        dbh = psDBInit("localhost", "test", NULL, "test");
     566        if (!dbh) {
     567            exit(EXIT_FAILURE);
     568        }
     569
     570        if(!diffSkyfileCreateTable(dbh)) {
     571            exit(EXIT_FAILURE);
     572        }
     573
     574        psDBCleanup(dbh);
     575    }
     576
     577    {
     578        psDB            *dbh;
     579
     580        dbh = psDBInit("localhost", "test", NULL, "test");
     581        if (!dbh) {
     582            exit(EXIT_FAILURE);
     583        }
     584
     585        if(!stackRunCreateTable(dbh)) {
     586            exit(EXIT_FAILURE);
     587        }
     588
     589        psDBCleanup(dbh);
     590    }
     591
     592    {
     593        psDB            *dbh;
     594
     595        dbh = psDBInit("localhost", "test", NULL, "test");
     596        if (!dbh) {
     597            exit(EXIT_FAILURE);
     598        }
     599
     600        if(!stackInputSkyfileCreateTable(dbh)) {
     601            exit(EXIT_FAILURE);
     602        }
     603
     604        psDBCleanup(dbh);
     605    }
     606
     607    {
     608        psDB            *dbh;
     609
     610        dbh = psDBInit("localhost", "test", NULL, "test");
     611        if (!dbh) {
     612            exit(EXIT_FAILURE);
     613        }
     614
     615        if(!stackSumSkyfileCreateTable(dbh)) {
    616616            exit(EXIT_FAILURE);
    617617        }
  • trunk/ippdb/tests/dbcleanup.c

    r11988 r12026  
    2222    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS rawExp");
    2323    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS rawImfile");
    24     p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p1PendingExp");
    25     p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p2PendingExp");
    26     p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p2PendingImfile");
    27     p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p2ProcessedExp");
    28     p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p2Mask");
    29     p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p2ProcessedImfile");
    30     p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p3PendingExp");
    31     p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p3ProcessedExp");
    32     p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p3Mask");
     24    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS guidePendingExp");
     25    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS chipPendingExp");
     26    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS chipPendingImfile");
     27    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS chipProcessedExp");
     28    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS chipMask");
     29    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS chipProcessedImfile");
     30    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS camPendingExp");
     31    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS camProcessedExp");
     32    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS camMask");
    3333    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS detRun");
    3434    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS detInputExp");
     
    4242    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS detResidExp");
    4343    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS detRunSummary");
    44     p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p4Run");
    45     p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p4InputExp");
    46     p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p4SkyCellMap");
    47     p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p4Skyfile");
    48     p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p5Run");
    49     p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p5InputSkyfile");
    50     p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p5DiffSkyfile");
    51     p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p6Run");
    52     p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p6InputSkyfile");
    53     p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p6SumSkyfile");
     44    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS warpRun");
     45    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS warpInputExp");
     46    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS warpSkyCellMap");
     47    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS warpSkyfile");
     48    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS diffRun");
     49    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS diffInputSkyfile");
     50    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS diffSkyfile");
     51    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS stackRun");
     52    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS stackInputSkyfile");
     53    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS stackSumSkyfile");
    5454
    5555    psDBCleanup(dbh);
  • trunk/ippdb/tests/dbsetup.c

    r11988 r12026  
    4646    rawImfileCreateTable(dbh);
    4747
    48     p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p1PendingExp");
    49     p1PendingExpCreateTable(dbh);
     48    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS guidePendingExp");
     49    guidePendingExpCreateTable(dbh);
    5050
    51     p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p2PendingExp");
    52     p2PendingExpCreateTable(dbh);
     51    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS chipPendingExp");
     52    chipPendingExpCreateTable(dbh);
    5353
    54     p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p2PendingImfile");
    55     p2PendingImfileCreateTable(dbh);
     54    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS chipPendingImfile");
     55    chipPendingImfileCreateTable(dbh);
    5656
    57     p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p2ProcessedExp");
    58     p2ProcessedExpCreateTable(dbh);
     57    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS chipProcessedExp");
     58    chipProcessedExpCreateTable(dbh);
    5959
    60     p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p2Mask");
    61     p2MaskCreateTable(dbh);
     60    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS chipMask");
     61    chipMaskCreateTable(dbh);
    6262
    63     p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p2ProcessedImfile");
    64     p2ProcessedImfileCreateTable(dbh);
     63    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS chipProcessedImfile");
     64    chipProcessedImfileCreateTable(dbh);
    6565
    66     p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p3PendingExp");
    67     p3PendingExpCreateTable(dbh);
     66    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS camPendingExp");
     67    camPendingExpCreateTable(dbh);
    6868
    69     p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p3ProcessedExp");
    70     p3ProcessedExpCreateTable(dbh);
     69    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS camProcessedExp");
     70    camProcessedExpCreateTable(dbh);
    7171
    72     p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p3Mask");
    73     p3MaskCreateTable(dbh);
     72    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS camMask");
     73    camMaskCreateTable(dbh);
    7474
    7575    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS detRun");
     
    106106    detRunSummaryCreateTable(dbh);
    107107
    108     p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p4Run");
    109     p4RunCreateTable(dbh);
     108    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS warpRun");
     109    warpRunCreateTable(dbh);
    110110
    111     p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p4InputExp");
    112     p4InputExpCreateTable(dbh);
     111    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS warpInputExp");
     112    warpInputExpCreateTable(dbh);
    113113
    114     p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p4SkyCellMap");
    115     p4SkyCellMapCreateTable(dbh);
     114    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS warpSkyCellMap");
     115    warpSkyCellMapCreateTable(dbh);
    116116
    117     p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p4Skyfile");
    118     p4SkyfileCreateTable(dbh);
     117    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS warpSkyfile");
     118    warpSkyfileCreateTable(dbh);
    119119
    120     p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p5Run");
    121     p5RunCreateTable(dbh);
     120    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS diffRun");
     121    diffRunCreateTable(dbh);
    122122
    123     p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p5InputSkyfile");
    124     p5InputSkyfileCreateTable(dbh);
     123    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS diffInputSkyfile");
     124    diffInputSkyfileCreateTable(dbh);
    125125
    126     p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p5DiffSkyfile");
    127     p5DiffSkyfileCreateTable(dbh);
     126    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS diffSkyfile");
     127    diffSkyfileCreateTable(dbh);
    128128
    129     p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p6Run");
    130     p6RunCreateTable(dbh);
     129    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS stackRun");
     130    stackRunCreateTable(dbh);
    131131
    132     p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p6InputSkyfile");
    133     p6InputSkyfileCreateTable(dbh);
     132    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS stackInputSkyfile");
     133    stackInputSkyfileCreateTable(dbh);
    134134
    135     p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p6SumSkyfile");
    136     p6SumSkyfileCreateTable(dbh);
     135    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS stackSumSkyfile");
     136    stackSumSkyfileCreateTable(dbh);
    137137
    138138    psDBCleanup(dbh);
  • trunk/ippdb/tests/droptable.c

    r11988 r12026  
    178178        }
    179179
    180         if (!p1PendingExpDropTable(dbh)) {
    181             exit(EXIT_FAILURE);
    182         }
    183 
    184         psDBCleanup(dbh);
    185     }
    186 
    187     {
    188         psDB            *dbh;
    189 
    190         dbh = psDBInit("localhost", "test", NULL, "test");
    191         if (!dbh) {
    192             exit(EXIT_FAILURE);
    193         }
    194 
    195         if (!p2PendingExpDropTable(dbh)) {
    196             exit(EXIT_FAILURE);
    197         }
    198 
    199         psDBCleanup(dbh);
    200     }
    201 
    202     {
    203         psDB            *dbh;
    204 
    205         dbh = psDBInit("localhost", "test", NULL, "test");
    206         if (!dbh) {
    207             exit(EXIT_FAILURE);
    208         }
    209 
    210         if (!p2PendingImfileDropTable(dbh)) {
    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 (!p2ProcessedExpDropTable(dbh)) {
    226             exit(EXIT_FAILURE);
    227         }
    228 
    229         psDBCleanup(dbh);
    230     }
    231 
    232     {
    233         psDB            *dbh;
    234 
    235         dbh = psDBInit("localhost", "test", NULL, "test");
    236         if (!dbh) {
    237             exit(EXIT_FAILURE);
    238         }
    239 
    240         if (!p2MaskDropTable(dbh)) {
    241             exit(EXIT_FAILURE);
    242         }
    243 
    244         psDBCleanup(dbh);
    245     }
    246 
    247     {
    248         psDB            *dbh;
    249 
    250         dbh = psDBInit("localhost", "test", NULL, "test");
    251         if (!dbh) {
    252             exit(EXIT_FAILURE);
    253         }
    254 
    255         if (!p2ProcessedImfileDropTable(dbh)) {
    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 (!p3PendingExpDropTable(dbh)) {
    271             exit(EXIT_FAILURE);
    272         }
    273 
    274         psDBCleanup(dbh);
    275     }
    276 
    277     {
    278         psDB            *dbh;
    279 
    280         dbh = psDBInit("localhost", "test", NULL, "test");
    281         if (!dbh) {
    282             exit(EXIT_FAILURE);
    283         }
    284 
    285         if (!p3ProcessedExpDropTable(dbh)) {
    286             exit(EXIT_FAILURE);
    287         }
    288 
    289         psDBCleanup(dbh);
    290     }
    291 
    292     {
    293         psDB            *dbh;
    294 
    295         dbh = psDBInit("localhost", "test", NULL, "test");
    296         if (!dbh) {
    297             exit(EXIT_FAILURE);
    298         }
    299 
    300         if (!p3MaskDropTable(dbh)) {
     180        if (!guidePendingExpDropTable(dbh)) {
     181            exit(EXIT_FAILURE);
     182        }
     183
     184        psDBCleanup(dbh);
     185    }
     186
     187    {
     188        psDB            *dbh;
     189
     190        dbh = psDBInit("localhost", "test", NULL, "test");
     191        if (!dbh) {
     192            exit(EXIT_FAILURE);
     193        }
     194
     195        if (!chipPendingExpDropTable(dbh)) {
     196            exit(EXIT_FAILURE);
     197        }
     198
     199        psDBCleanup(dbh);
     200    }
     201
     202    {
     203        psDB            *dbh;
     204
     205        dbh = psDBInit("localhost", "test", NULL, "test");
     206        if (!dbh) {
     207            exit(EXIT_FAILURE);
     208        }
     209
     210        if (!chipPendingImfileDropTable(dbh)) {
     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 (!chipProcessedExpDropTable(dbh)) {
     226            exit(EXIT_FAILURE);
     227        }
     228
     229        psDBCleanup(dbh);
     230    }
     231
     232    {
     233        psDB            *dbh;
     234
     235        dbh = psDBInit("localhost", "test", NULL, "test");
     236        if (!dbh) {
     237            exit(EXIT_FAILURE);
     238        }
     239
     240        if (!chipMaskDropTable(dbh)) {
     241            exit(EXIT_FAILURE);
     242        }
     243
     244        psDBCleanup(dbh);
     245    }
     246
     247    {
     248        psDB            *dbh;
     249
     250        dbh = psDBInit("localhost", "test", NULL, "test");
     251        if (!dbh) {
     252            exit(EXIT_FAILURE);
     253        }
     254
     255        if (!chipProcessedImfileDropTable(dbh)) {
     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 (!camPendingExpDropTable(dbh)) {
     271            exit(EXIT_FAILURE);
     272        }
     273
     274        psDBCleanup(dbh);
     275    }
     276
     277    {
     278        psDB            *dbh;
     279
     280        dbh = psDBInit("localhost", "test", NULL, "test");
     281        if (!dbh) {
     282            exit(EXIT_FAILURE);
     283        }
     284
     285        if (!camProcessedExpDropTable(dbh)) {
     286            exit(EXIT_FAILURE);
     287        }
     288
     289        psDBCleanup(dbh);
     290    }
     291
     292    {
     293        psDB            *dbh;
     294
     295        dbh = psDBInit("localhost", "test", NULL, "test");
     296        if (!dbh) {
     297            exit(EXIT_FAILURE);
     298        }
     299
     300        if (!camMaskDropTable(dbh)) {
    301301            exit(EXIT_FAILURE);
    302302        }
     
    478478        }
    479479
    480         if (!p4RunDropTable(dbh)) {
    481             exit(EXIT_FAILURE);
    482         }
    483 
    484         psDBCleanup(dbh);
    485     }
    486 
    487     {
    488         psDB            *dbh;
    489 
    490         dbh = psDBInit("localhost", "test", NULL, "test");
    491         if (!dbh) {
    492             exit(EXIT_FAILURE);
    493         }
    494 
    495         if (!p4InputExpDropTable(dbh)) {
    496             exit(EXIT_FAILURE);
    497         }
    498 
    499         psDBCleanup(dbh);
    500     }
    501 
    502     {
    503         psDB            *dbh;
    504 
    505         dbh = psDBInit("localhost", "test", NULL, "test");
    506         if (!dbh) {
    507             exit(EXIT_FAILURE);
    508         }
    509 
    510         if (!p4SkyCellMapDropTable(dbh)) {
    511             exit(EXIT_FAILURE);
    512         }
    513 
    514         psDBCleanup(dbh);
    515     }
    516 
    517     {
    518         psDB            *dbh;
    519 
    520         dbh = psDBInit("localhost", "test", NULL, "test");
    521         if (!dbh) {
    522             exit(EXIT_FAILURE);
    523         }
    524 
    525         if (!p4SkyfileDropTable(dbh)) {
    526             exit(EXIT_FAILURE);
    527         }
    528 
    529         psDBCleanup(dbh);
    530     }
    531 
    532     {
    533         psDB            *dbh;
    534 
    535         dbh = psDBInit("localhost", "test", NULL, "test");
    536         if (!dbh) {
    537             exit(EXIT_FAILURE);
    538         }
    539 
    540         if (!p5RunDropTable(dbh)) {
    541             exit(EXIT_FAILURE);
    542         }
    543 
    544         psDBCleanup(dbh);
    545     }
    546 
    547     {
    548         psDB            *dbh;
    549 
    550         dbh = psDBInit("localhost", "test", NULL, "test");
    551         if (!dbh) {
    552             exit(EXIT_FAILURE);
    553         }
    554 
    555         if (!p5InputSkyfileDropTable(dbh)) {
    556             exit(EXIT_FAILURE);
    557         }
    558 
    559         psDBCleanup(dbh);
    560     }
    561 
    562     {
    563         psDB            *dbh;
    564 
    565         dbh = psDBInit("localhost", "test", NULL, "test");
    566         if (!dbh) {
    567             exit(EXIT_FAILURE);
    568         }
    569 
    570         if (!p5DiffSkyfileDropTable(dbh)) {
    571             exit(EXIT_FAILURE);
    572         }
    573 
    574         psDBCleanup(dbh);
    575     }
    576 
    577     {
    578         psDB            *dbh;
    579 
    580         dbh = psDBInit("localhost", "test", NULL, "test");
    581         if (!dbh) {
    582             exit(EXIT_FAILURE);
    583         }
    584 
    585         if (!p6RunDropTable(dbh)) {
    586             exit(EXIT_FAILURE);
    587         }
    588 
    589         psDBCleanup(dbh);
    590     }
    591 
    592     {
    593         psDB            *dbh;
    594 
    595         dbh = psDBInit("localhost", "test", NULL, "test");
    596         if (!dbh) {
    597             exit(EXIT_FAILURE);
    598         }
    599 
    600         if (!p6InputSkyfileDropTable(dbh)) {
    601             exit(EXIT_FAILURE);
    602         }
    603 
    604         psDBCleanup(dbh);
    605     }
    606 
    607     {
    608         psDB            *dbh;
    609 
    610         dbh = psDBInit("localhost", "test", NULL, "test");
    611         if (!dbh) {
    612             exit(EXIT_FAILURE);
    613         }
    614 
    615         if (!p6SumSkyfileDropTable(dbh)) {
     480        if (!warpRunDropTable(dbh)) {
     481            exit(EXIT_FAILURE);
     482        }
     483
     484        psDBCleanup(dbh);
     485    }
     486
     487    {
     488        psDB            *dbh;
     489
     490        dbh = psDBInit("localhost", "test", NULL, "test");
     491        if (!dbh) {
     492            exit(EXIT_FAILURE);
     493        }
     494
     495        if (!warpInputExpDropTable(dbh)) {
     496            exit(EXIT_FAILURE);
     497        }
     498
     499        psDBCleanup(dbh);
     500    }
     501
     502    {
     503        psDB            *dbh;
     504
     505        dbh = psDBInit("localhost", "test", NULL, "test");
     506        if (!dbh) {
     507            exit(EXIT_FAILURE);
     508        }
     509
     510        if (!warpSkyCellMapDropTable(dbh)) {
     511            exit(EXIT_FAILURE);
     512        }
     513
     514        psDBCleanup(dbh);
     515    }
     516
     517    {
     518        psDB            *dbh;
     519
     520        dbh = psDBInit("localhost", "test", NULL, "test");
     521        if (!dbh) {
     522            exit(EXIT_FAILURE);
     523        }
     524
     525        if (!warpSkyfileDropTable(dbh)) {
     526            exit(EXIT_FAILURE);
     527        }
     528
     529        psDBCleanup(dbh);
     530    }
     531
     532    {
     533        psDB            *dbh;
     534
     535        dbh = psDBInit("localhost", "test", NULL, "test");
     536        if (!dbh) {
     537            exit(EXIT_FAILURE);
     538        }
     539
     540        if (!diffRunDropTable(dbh)) {
     541            exit(EXIT_FAILURE);
     542        }
     543
     544        psDBCleanup(dbh);
     545    }
     546
     547    {
     548        psDB            *dbh;
     549
     550        dbh = psDBInit("localhost", "test", NULL, "test");
     551        if (!dbh) {
     552            exit(EXIT_FAILURE);
     553        }
     554
     555        if (!diffInputSkyfileDropTable(dbh)) {
     556            exit(EXIT_FAILURE);
     557        }
     558
     559        psDBCleanup(dbh);
     560    }
     561
     562    {
     563        psDB            *dbh;
     564
     565        dbh = psDBInit("localhost", "test", NULL, "test");
     566        if (!dbh) {
     567            exit(EXIT_FAILURE);
     568        }
     569
     570        if (!diffSkyfileDropTable(dbh)) {
     571            exit(EXIT_FAILURE);
     572        }
     573
     574        psDBCleanup(dbh);
     575    }
     576
     577    {
     578        psDB            *dbh;
     579
     580        dbh = psDBInit("localhost", "test", NULL, "test");
     581        if (!dbh) {
     582            exit(EXIT_FAILURE);
     583        }
     584
     585        if (!stackRunDropTable(dbh)) {
     586            exit(EXIT_FAILURE);
     587        }
     588
     589        psDBCleanup(dbh);
     590    }
     591
     592    {
     593        psDB            *dbh;
     594
     595        dbh = psDBInit("localhost", "test", NULL, "test");
     596        if (!dbh) {
     597            exit(EXIT_FAILURE);
     598        }
     599
     600        if (!stackInputSkyfileDropTable(dbh)) {
     601            exit(EXIT_FAILURE);
     602        }
     603
     604        psDBCleanup(dbh);
     605    }
     606
     607    {
     608        psDB            *dbh;
     609
     610        dbh = psDBInit("localhost", "test", NULL, "test");
     611        if (!dbh) {
     612            exit(EXIT_FAILURE);
     613        }
     614
     615        if (!stackSumSkyfileDropTable(dbh)) {
    616616            exit(EXIT_FAILURE);
    617617        }
  • trunk/ippdb/tests/insert.c

    r11988 r12026  
    178178        }
    179179
    180         if (!p1PendingExpInsert(dbh, "a string", -32, "a string")) {
    181             exit(EXIT_FAILURE);
    182         }
    183 
    184         psDBCleanup(dbh);
    185     }
    186 
    187     {
    188         psDB            *dbh;
    189 
    190         dbh = psDBInit("localhost", "test", NULL, "test");
    191         if (!dbh) {
    192             exit(EXIT_FAILURE);
    193         }
    194 
    195         if (!p2PendingExpInsert(dbh, "a string", -32, -32, "a string", "a string", "a string", "a string")) {
    196             exit(EXIT_FAILURE);
    197         }
    198 
    199         psDBCleanup(dbh);
    200     }
    201 
    202     {
    203         psDB            *dbh;
    204 
    205         dbh = psDBInit("localhost", "test", NULL, "test");
    206         if (!dbh) {
    207             exit(EXIT_FAILURE);
    208         }
    209 
    210         if (!p2PendingImfileInsert(dbh, "a string", -32, -32, "a string", "a string", "a string")) {
    211             exit(EXIT_FAILURE);
    212         }
    213 
    214         psDBCleanup(dbh);
    215     }
    216 
    217     {
    218         psDB            *dbh;
    219 
    220         dbh = psDBInit("localhost", "test", NULL, "test");
    221         if (!dbh) {
    222             exit(EXIT_FAILURE);
    223         }
    224 
    225         if (!p2ProcessedExpInsert(dbh, "a string", -32, -32, "a string", "a string", "a string")) {
    226             exit(EXIT_FAILURE);
    227         }
    228 
    229         psDBCleanup(dbh);
    230     }
    231 
    232     {
    233         psDB            *dbh;
    234 
    235         dbh = psDBInit("localhost", "test", NULL, "test");
    236         if (!dbh) {
    237             exit(EXIT_FAILURE);
    238         }
    239 
    240         if (!p2MaskInsert(dbh, "a string")) {
    241             exit(EXIT_FAILURE);
    242         }
    243 
    244         psDBCleanup(dbh);
    245     }
    246 
    247     {
    248         psDB            *dbh;
    249 
    250         dbh = psDBInit("localhost", "test", NULL, "test");
    251         if (!dbh) {
    252             exit(EXIT_FAILURE);
    253         }
    254 
    255         if (!p2ProcessedImfileInsert(dbh, "a string", -32, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", "a string", -16)) {
    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 (!p3PendingExpInsert(dbh, "a string", -32, -32, "a string", "a string", "a string")) {
    271             exit(EXIT_FAILURE);
    272         }
    273 
    274         psDBCleanup(dbh);
    275     }
    276 
    277     {
    278         psDB            *dbh;
    279 
    280         dbh = psDBInit("localhost", "test", NULL, "test");
    281         if (!dbh) {
    282             exit(EXIT_FAILURE);
    283         }
    284 
    285         if (!p3ProcessedExpInsert(dbh, "a string", -32, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, 32.32, 32.32, -32, "a string", "a string", 32.32, 32.32, -16, "a string", "a string")) {
    286             exit(EXIT_FAILURE);
    287         }
    288 
    289         psDBCleanup(dbh);
    290     }
    291 
    292     {
    293         psDB            *dbh;
    294 
    295         dbh = psDBInit("localhost", "test", NULL, "test");
    296         if (!dbh) {
    297             exit(EXIT_FAILURE);
    298         }
    299 
    300         if (!p3MaskInsert(dbh, "a string")) {
     180        if (!guidePendingExpInsert(dbh, "a string", -32, "a string")) {
     181            exit(EXIT_FAILURE);
     182        }
     183
     184        psDBCleanup(dbh);
     185    }
     186
     187    {
     188        psDB            *dbh;
     189
     190        dbh = psDBInit("localhost", "test", NULL, "test");
     191        if (!dbh) {
     192            exit(EXIT_FAILURE);
     193        }
     194
     195        if (!chipPendingExpInsert(dbh, "a string", -32, -32, "a string", "a string", "a string", "a string")) {
     196            exit(EXIT_FAILURE);
     197        }
     198
     199        psDBCleanup(dbh);
     200    }
     201
     202    {
     203        psDB            *dbh;
     204
     205        dbh = psDBInit("localhost", "test", NULL, "test");
     206        if (!dbh) {
     207            exit(EXIT_FAILURE);
     208        }
     209
     210        if (!chipPendingImfileInsert(dbh, "a string", -32, -32, "a string", "a string", "a string")) {
     211            exit(EXIT_FAILURE);
     212        }
     213
     214        psDBCleanup(dbh);
     215    }
     216
     217    {
     218        psDB            *dbh;
     219
     220        dbh = psDBInit("localhost", "test", NULL, "test");
     221        if (!dbh) {
     222            exit(EXIT_FAILURE);
     223        }
     224
     225        if (!chipProcessedExpInsert(dbh, "a string", -32, -32, "a string", "a string", "a string")) {
     226            exit(EXIT_FAILURE);
     227        }
     228
     229        psDBCleanup(dbh);
     230    }
     231
     232    {
     233        psDB            *dbh;
     234
     235        dbh = psDBInit("localhost", "test", NULL, "test");
     236        if (!dbh) {
     237            exit(EXIT_FAILURE);
     238        }
     239
     240        if (!chipMaskInsert(dbh, "a string")) {
     241            exit(EXIT_FAILURE);
     242        }
     243
     244        psDBCleanup(dbh);
     245    }
     246
     247    {
     248        psDB            *dbh;
     249
     250        dbh = psDBInit("localhost", "test", NULL, "test");
     251        if (!dbh) {
     252            exit(EXIT_FAILURE);
     253        }
     254
     255        if (!chipProcessedImfileInsert(dbh, "a string", -32, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", "a string", -16)) {
     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 (!camPendingExpInsert(dbh, "a string", -32, -32, "a string", "a string", "a string")) {
     271            exit(EXIT_FAILURE);
     272        }
     273
     274        psDBCleanup(dbh);
     275    }
     276
     277    {
     278        psDB            *dbh;
     279
     280        dbh = psDBInit("localhost", "test", NULL, "test");
     281        if (!dbh) {
     282            exit(EXIT_FAILURE);
     283        }
     284
     285        if (!camProcessedExpInsert(dbh, "a string", -32, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, 32.32, 32.32, -32, "a string", "a string", 32.32, 32.32, -16, "a string", "a string")) {
     286            exit(EXIT_FAILURE);
     287        }
     288
     289        psDBCleanup(dbh);
     290    }
     291
     292    {
     293        psDB            *dbh;
     294
     295        dbh = psDBInit("localhost", "test", NULL, "test");
     296        if (!dbh) {
     297            exit(EXIT_FAILURE);
     298        }
     299
     300        if (!camMaskInsert(dbh, "a string")) {
    301301            exit(EXIT_FAILURE);
    302302        }
     
    478478        }
    479479
    480         if (!p4RunInsert(dbh, -32, "a string", "a string", "a string", "a string", "0001-01-01T00:00:00Z")) {
    481             exit(EXIT_FAILURE);
    482         }
    483 
    484         psDBCleanup(dbh);
    485     }
    486 
    487     {
    488         psDB            *dbh;
    489 
    490         dbh = psDBInit("localhost", "test", NULL, "test");
    491         if (!dbh) {
    492             exit(EXIT_FAILURE);
    493         }
    494 
    495         if (!p4InputExpInsert(dbh, -32, "a string", -32, true)) {
    496             exit(EXIT_FAILURE);
    497         }
    498 
    499         psDBCleanup(dbh);
    500     }
    501 
    502     {
    503         psDB            *dbh;
    504 
    505         dbh = psDBInit("localhost", "test", NULL, "test");
    506         if (!dbh) {
    507             exit(EXIT_FAILURE);
    508         }
    509 
    510         if (!p4SkyCellMapInsert(dbh, -32, "a string", "a string", "a string", -32, "a string")) {
    511             exit(EXIT_FAILURE);
    512         }
    513 
    514         psDBCleanup(dbh);
    515     }
    516 
    517     {
    518         psDB            *dbh;
    519 
    520         dbh = psDBInit("localhost", "test", NULL, "test");
    521         if (!dbh) {
    522             exit(EXIT_FAILURE);
    523         }
    524 
    525         if (!p4SkyfileInsert(dbh, -32, "a string", "a string", "a string", 64.64, 64.64)) {
    526             exit(EXIT_FAILURE);
    527         }
    528 
    529         psDBCleanup(dbh);
    530     }
    531 
    532     {
    533         psDB            *dbh;
    534 
    535         dbh = psDBInit("localhost", "test", NULL, "test");
    536         if (!dbh) {
    537             exit(EXIT_FAILURE);
    538         }
    539 
    540         if (!p5RunInsert(dbh, -32, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", "a string")) {
    541             exit(EXIT_FAILURE);
    542         }
    543 
    544         psDBCleanup(dbh);
    545     }
    546 
    547     {
    548         psDB            *dbh;
    549 
    550         dbh = psDBInit("localhost", "test", NULL, "test");
    551         if (!dbh) {
    552             exit(EXIT_FAILURE);
    553         }
    554 
    555         if (!p5InputSkyfileInsert(dbh, -32, -32, "a string", "a string", "a string", true)) {
    556             exit(EXIT_FAILURE);
    557         }
    558 
    559         psDBCleanup(dbh);
    560     }
    561 
    562     {
    563         psDB            *dbh;
    564 
    565         dbh = psDBInit("localhost", "test", NULL, "test");
    566         if (!dbh) {
    567             exit(EXIT_FAILURE);
    568         }
    569 
    570         if (!p5DiffSkyfileInsert(dbh, -32, "a string", 64.64, 64.64)) {
    571             exit(EXIT_FAILURE);
    572         }
    573 
    574         psDBCleanup(dbh);
    575     }
    576 
    577     {
    578         psDB            *dbh;
    579 
    580         dbh = psDBInit("localhost", "test", NULL, "test");
    581         if (!dbh) {
    582             exit(EXIT_FAILURE);
    583         }
    584 
    585         if (!p6RunInsert(dbh, -32, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", "a string")) {
    586             exit(EXIT_FAILURE);
    587         }
    588 
    589         psDBCleanup(dbh);
    590     }
    591 
    592     {
    593         psDB            *dbh;
    594 
    595         dbh = psDBInit("localhost", "test", NULL, "test");
    596         if (!dbh) {
    597             exit(EXIT_FAILURE);
    598         }
    599 
    600         if (!p6InputSkyfileInsert(dbh, -32, -32)) {
    601             exit(EXIT_FAILURE);
    602         }
    603 
    604         psDBCleanup(dbh);
    605     }
    606 
    607     {
    608         psDB            *dbh;
    609 
    610         dbh = psDBInit("localhost", "test", NULL, "test");
    611         if (!dbh) {
    612             exit(EXIT_FAILURE);
    613         }
    614 
    615         if (!p6SumSkyfileInsert(dbh, -32, "a string", 64.64, 64.64)) {
     480        if (!warpRunInsert(dbh, -32, "a string", "a string", "a string", "a string", "0001-01-01T00:00:00Z")) {
     481            exit(EXIT_FAILURE);
     482        }
     483
     484        psDBCleanup(dbh);
     485    }
     486
     487    {
     488        psDB            *dbh;
     489
     490        dbh = psDBInit("localhost", "test", NULL, "test");
     491        if (!dbh) {
     492            exit(EXIT_FAILURE);
     493        }
     494
     495        if (!warpInputExpInsert(dbh, -32, "a string", -32, true)) {
     496            exit(EXIT_FAILURE);
     497        }
     498
     499        psDBCleanup(dbh);
     500    }
     501
     502    {
     503        psDB            *dbh;
     504
     505        dbh = psDBInit("localhost", "test", NULL, "test");
     506        if (!dbh) {
     507            exit(EXIT_FAILURE);
     508        }
     509
     510        if (!warpSkyCellMapInsert(dbh, -32, "a string", "a string", "a string", -32, "a string")) {
     511            exit(EXIT_FAILURE);
     512        }
     513
     514        psDBCleanup(dbh);
     515    }
     516
     517    {
     518        psDB            *dbh;
     519
     520        dbh = psDBInit("localhost", "test", NULL, "test");
     521        if (!dbh) {
     522            exit(EXIT_FAILURE);
     523        }
     524
     525        if (!warpSkyfileInsert(dbh, -32, "a string", "a string", "a string", 64.64, 64.64)) {
     526            exit(EXIT_FAILURE);
     527        }
     528
     529        psDBCleanup(dbh);
     530    }
     531
     532    {
     533        psDB            *dbh;
     534
     535        dbh = psDBInit("localhost", "test", NULL, "test");
     536        if (!dbh) {
     537            exit(EXIT_FAILURE);
     538        }
     539
     540        if (!diffRunInsert(dbh, -32, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", "a string")) {
     541            exit(EXIT_FAILURE);
     542        }
     543
     544        psDBCleanup(dbh);
     545    }
     546
     547    {
     548        psDB            *dbh;
     549
     550        dbh = psDBInit("localhost", "test", NULL, "test");
     551        if (!dbh) {
     552            exit(EXIT_FAILURE);
     553        }
     554
     555        if (!diffInputSkyfileInsert(dbh, -32, -32, "a string", "a string", "a string", true)) {
     556            exit(EXIT_FAILURE);
     557        }
     558
     559        psDBCleanup(dbh);
     560    }
     561
     562    {
     563        psDB            *dbh;
     564
     565        dbh = psDBInit("localhost", "test", NULL, "test");
     566        if (!dbh) {
     567            exit(EXIT_FAILURE);
     568        }
     569
     570        if (!diffSkyfileInsert(dbh, -32, "a string", 64.64, 64.64)) {
     571            exit(EXIT_FAILURE);
     572        }
     573
     574        psDBCleanup(dbh);
     575    }
     576
     577    {
     578        psDB            *dbh;
     579
     580        dbh = psDBInit("localhost", "test", NULL, "test");
     581        if (!dbh) {
     582            exit(EXIT_FAILURE);
     583        }
     584
     585        if (!stackRunInsert(dbh, -32, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", "a string")) {
     586            exit(EXIT_FAILURE);
     587        }
     588
     589        psDBCleanup(dbh);
     590    }
     591
     592    {
     593        psDB            *dbh;
     594
     595        dbh = psDBInit("localhost", "test", NULL, "test");
     596        if (!dbh) {
     597            exit(EXIT_FAILURE);
     598        }
     599
     600        if (!stackInputSkyfileInsert(dbh, -32, -32)) {
     601            exit(EXIT_FAILURE);
     602        }
     603
     604        psDBCleanup(dbh);
     605    }
     606
     607    {
     608        psDB            *dbh;
     609
     610        dbh = psDBInit("localhost", "test", NULL, "test");
     611        if (!dbh) {
     612            exit(EXIT_FAILURE);
     613        }
     614
     615        if (!stackSumSkyfileInsert(dbh, -32, "a string", 64.64, 64.64)) {
    616616            exit(EXIT_FAILURE);
    617617        }
  • trunk/ippdb/tests/insertfits.c

    r11988 r12026  
    310310        }
    311311
    312         if (!p1PendingExpInsertFits(dbh, fits)) {
    313             exit(EXIT_FAILURE);
    314         }
    315 
    316         if (!psFitsClose(fits)) {
    317             exit(EXIT_FAILURE);
    318         }
    319 
    320         psDBCleanup(dbh);
    321     }
    322 
    323     {
    324         psDB            *dbh;
    325         psFits          *fits;
    326 
    327         dbh = psDBInit("localhost", "test", NULL, "test");
    328         if (!dbh) {
    329             exit(EXIT_FAILURE);
    330         }
    331 
    332         // open a temp
    333         fits = psFitsOpen(TMP_FILENAME, "r");
    334         if (!fits) {
    335             exit(EXIT_FAILURE);
    336         }
    337 
    338         if (!p2PendingExpInsertFits(dbh, fits)) {
    339             exit(EXIT_FAILURE);
    340         }
    341 
    342         if (!psFitsClose(fits)) {
    343             exit(EXIT_FAILURE);
    344         }
    345 
    346         psDBCleanup(dbh);
    347     }
    348 
    349     {
    350         psDB            *dbh;
    351         psFits          *fits;
    352 
    353         dbh = psDBInit("localhost", "test", NULL, "test");
    354         if (!dbh) {
    355             exit(EXIT_FAILURE);
    356         }
    357 
    358         // open a temp
    359         fits = psFitsOpen(TMP_FILENAME, "r");
    360         if (!fits) {
    361             exit(EXIT_FAILURE);
    362         }
    363 
    364         if (!p2PendingImfileInsertFits(dbh, fits)) {
    365             exit(EXIT_FAILURE);
    366         }
    367 
    368         if (!psFitsClose(fits)) {
    369             exit(EXIT_FAILURE);
    370         }
    371 
    372         psDBCleanup(dbh);
    373     }
    374 
    375     {
    376         psDB            *dbh;
    377         psFits          *fits;
    378 
    379         dbh = psDBInit("localhost", "test", NULL, "test");
    380         if (!dbh) {
    381             exit(EXIT_FAILURE);
    382         }
    383 
    384         // open a temp
    385         fits = psFitsOpen(TMP_FILENAME, "r");
    386         if (!fits) {
    387             exit(EXIT_FAILURE);
    388         }
    389 
    390         if (!p2ProcessedExpInsertFits(dbh, fits)) {
    391             exit(EXIT_FAILURE);
    392         }
    393 
    394         if (!psFitsClose(fits)) {
    395             exit(EXIT_FAILURE);
    396         }
    397 
    398         psDBCleanup(dbh);
    399     }
    400 
    401     {
    402         psDB            *dbh;
    403         psFits          *fits;
    404 
    405         dbh = psDBInit("localhost", "test", NULL, "test");
    406         if (!dbh) {
    407             exit(EXIT_FAILURE);
    408         }
    409 
    410         // open a temp
    411         fits = psFitsOpen(TMP_FILENAME, "r");
    412         if (!fits) {
    413             exit(EXIT_FAILURE);
    414         }
    415 
    416         if (!p2MaskInsertFits(dbh, fits)) {
    417             exit(EXIT_FAILURE);
    418         }
    419 
    420         if (!psFitsClose(fits)) {
    421             exit(EXIT_FAILURE);
    422         }
    423 
    424         psDBCleanup(dbh);
    425     }
    426 
    427     {
    428         psDB            *dbh;
    429         psFits          *fits;
    430 
    431         dbh = psDBInit("localhost", "test", NULL, "test");
    432         if (!dbh) {
    433             exit(EXIT_FAILURE);
    434         }
    435 
    436         // open a temp
    437         fits = psFitsOpen(TMP_FILENAME, "r");
    438         if (!fits) {
    439             exit(EXIT_FAILURE);
    440         }
    441 
    442         if (!p2ProcessedImfileInsertFits(dbh, fits)) {
    443             exit(EXIT_FAILURE);
    444         }
    445 
    446         if (!psFitsClose(fits)) {
    447             exit(EXIT_FAILURE);
    448         }
    449 
    450         psDBCleanup(dbh);
    451     }
    452 
    453     {
    454         psDB            *dbh;
    455         psFits          *fits;
    456 
    457         dbh = psDBInit("localhost", "test", NULL, "test");
    458         if (!dbh) {
    459             exit(EXIT_FAILURE);
    460         }
    461 
    462         // open a temp
    463         fits = psFitsOpen(TMP_FILENAME, "r");
    464         if (!fits) {
    465             exit(EXIT_FAILURE);
    466         }
    467 
    468         if (!p3PendingExpInsertFits(dbh, fits)) {
    469             exit(EXIT_FAILURE);
    470         }
    471 
    472         if (!psFitsClose(fits)) {
    473             exit(EXIT_FAILURE);
    474         }
    475 
    476         psDBCleanup(dbh);
    477     }
    478 
    479     {
    480         psDB            *dbh;
    481         psFits          *fits;
    482 
    483         dbh = psDBInit("localhost", "test", NULL, "test");
    484         if (!dbh) {
    485             exit(EXIT_FAILURE);
    486         }
    487 
    488         // open a temp
    489         fits = psFitsOpen(TMP_FILENAME, "r");
    490         if (!fits) {
    491             exit(EXIT_FAILURE);
    492         }
    493 
    494         if (!p3ProcessedExpInsertFits(dbh, fits)) {
    495             exit(EXIT_FAILURE);
    496         }
    497 
    498         if (!psFitsClose(fits)) {
    499             exit(EXIT_FAILURE);
    500         }
    501 
    502         psDBCleanup(dbh);
    503     }
    504 
    505     {
    506         psDB            *dbh;
    507         psFits          *fits;
    508 
    509         dbh = psDBInit("localhost", "test", NULL, "test");
    510         if (!dbh) {
    511             exit(EXIT_FAILURE);
    512         }
    513 
    514         // open a temp
    515         fits = psFitsOpen(TMP_FILENAME, "r");
    516         if (!fits) {
    517             exit(EXIT_FAILURE);
    518         }
    519 
    520         if (!p3MaskInsertFits(dbh, fits)) {
     312        if (!guidePendingExpInsertFits(dbh, fits)) {
     313            exit(EXIT_FAILURE);
     314        }
     315
     316        if (!psFitsClose(fits)) {
     317            exit(EXIT_FAILURE);
     318        }
     319
     320        psDBCleanup(dbh);
     321    }
     322
     323    {
     324        psDB            *dbh;
     325        psFits          *fits;
     326
     327        dbh = psDBInit("localhost", "test", NULL, "test");
     328        if (!dbh) {
     329            exit(EXIT_FAILURE);
     330        }
     331
     332        // open a temp
     333        fits = psFitsOpen(TMP_FILENAME, "r");
     334        if (!fits) {
     335            exit(EXIT_FAILURE);
     336        }
     337
     338        if (!chipPendingExpInsertFits(dbh, fits)) {
     339            exit(EXIT_FAILURE);
     340        }
     341
     342        if (!psFitsClose(fits)) {
     343            exit(EXIT_FAILURE);
     344        }
     345
     346        psDBCleanup(dbh);
     347    }
     348
     349    {
     350        psDB            *dbh;
     351        psFits          *fits;
     352
     353        dbh = psDBInit("localhost", "test", NULL, "test");
     354        if (!dbh) {
     355            exit(EXIT_FAILURE);
     356        }
     357
     358        // open a temp
     359        fits = psFitsOpen(TMP_FILENAME, "r");
     360        if (!fits) {
     361            exit(EXIT_FAILURE);
     362        }
     363
     364        if (!chipPendingImfileInsertFits(dbh, fits)) {
     365            exit(EXIT_FAILURE);
     366        }
     367
     368        if (!psFitsClose(fits)) {
     369            exit(EXIT_FAILURE);
     370        }
     371
     372        psDBCleanup(dbh);
     373    }
     374
     375    {
     376        psDB            *dbh;
     377        psFits          *fits;
     378
     379        dbh = psDBInit("localhost", "test", NULL, "test");
     380        if (!dbh) {
     381            exit(EXIT_FAILURE);
     382        }
     383
     384        // open a temp
     385        fits = psFitsOpen(TMP_FILENAME, "r");
     386        if (!fits) {
     387            exit(EXIT_FAILURE);
     388        }
     389
     390        if (!chipProcessedExpInsertFits(dbh, fits)) {
     391            exit(EXIT_FAILURE);
     392        }
     393
     394        if (!psFitsClose(fits)) {
     395            exit(EXIT_FAILURE);
     396        }
     397
     398        psDBCleanup(dbh);
     399    }
     400
     401    {
     402        psDB            *dbh;
     403        psFits          *fits;
     404
     405        dbh = psDBInit("localhost", "test", NULL, "test");
     406        if (!dbh) {
     407            exit(EXIT_FAILURE);
     408        }
     409
     410        // open a temp
     411        fits = psFitsOpen(TMP_FILENAME, "r");
     412        if (!fits) {
     413            exit(EXIT_FAILURE);
     414        }
     415
     416        if (!chipMaskInsertFits(dbh, fits)) {
     417            exit(EXIT_FAILURE);
     418        }
     419
     420        if (!psFitsClose(fits)) {
     421            exit(EXIT_FAILURE);
     422        }
     423
     424        psDBCleanup(dbh);
     425    }
     426
     427    {
     428        psDB            *dbh;
     429        psFits          *fits;
     430
     431        dbh = psDBInit("localhost", "test", NULL, "test");
     432        if (!dbh) {
     433            exit(EXIT_FAILURE);
     434        }
     435
     436        // open a temp
     437        fits = psFitsOpen(TMP_FILENAME, "r");
     438        if (!fits) {
     439            exit(EXIT_FAILURE);
     440        }
     441
     442        if (!chipProcessedImfileInsertFits(dbh, fits)) {
     443            exit(EXIT_FAILURE);
     444        }
     445
     446        if (!psFitsClose(fits)) {
     447            exit(EXIT_FAILURE);
     448        }
     449
     450        psDBCleanup(dbh);
     451    }
     452
     453    {
     454        psDB            *dbh;
     455        psFits          *fits;
     456
     457        dbh = psDBInit("localhost", "test", NULL, "test");
     458        if (!dbh) {
     459            exit(EXIT_FAILURE);
     460        }
     461
     462        // open a temp
     463        fits = psFitsOpen(TMP_FILENAME, "r");
     464        if (!fits) {
     465            exit(EXIT_FAILURE);
     466        }
     467
     468        if (!camPendingExpInsertFits(dbh, fits)) {
     469            exit(EXIT_FAILURE);
     470        }
     471
     472        if (!psFitsClose(fits)) {
     473            exit(EXIT_FAILURE);
     474        }
     475
     476        psDBCleanup(dbh);
     477    }
     478
     479    {
     480        psDB            *dbh;
     481        psFits          *fits;
     482
     483        dbh = psDBInit("localhost", "test", NULL, "test");
     484        if (!dbh) {
     485            exit(EXIT_FAILURE);
     486        }
     487
     488        // open a temp
     489        fits = psFitsOpen(TMP_FILENAME, "r");
     490        if (!fits) {
     491            exit(EXIT_FAILURE);
     492        }
     493
     494        if (!camProcessedExpInsertFits(dbh, fits)) {
     495            exit(EXIT_FAILURE);
     496        }
     497
     498        if (!psFitsClose(fits)) {
     499            exit(EXIT_FAILURE);
     500        }
     501
     502        psDBCleanup(dbh);
     503    }
     504
     505    {
     506        psDB            *dbh;
     507        psFits          *fits;
     508
     509        dbh = psDBInit("localhost", "test", NULL, "test");
     510        if (!dbh) {
     511            exit(EXIT_FAILURE);
     512        }
     513
     514        // open a temp
     515        fits = psFitsOpen(TMP_FILENAME, "r");
     516        if (!fits) {
     517            exit(EXIT_FAILURE);
     518        }
     519
     520        if (!camMaskInsertFits(dbh, fits)) {
    521521            exit(EXIT_FAILURE);
    522522        }
     
    830830        }
    831831
    832         if (!p4RunInsertFits(dbh, fits)) {
    833             exit(EXIT_FAILURE);
    834         }
    835 
    836         if (!psFitsClose(fits)) {
    837             exit(EXIT_FAILURE);
    838         }
    839 
    840         psDBCleanup(dbh);
    841     }
    842 
    843     {
    844         psDB            *dbh;
    845         psFits          *fits;
    846 
    847         dbh = psDBInit("localhost", "test", NULL, "test");
    848         if (!dbh) {
    849             exit(EXIT_FAILURE);
    850         }
    851 
    852         // open a temp
    853         fits = psFitsOpen(TMP_FILENAME, "r");
    854         if (!fits) {
    855             exit(EXIT_FAILURE);
    856         }
    857 
    858         if (!p4InputExpInsertFits(dbh, fits)) {
    859             exit(EXIT_FAILURE);
    860         }
    861 
    862         if (!psFitsClose(fits)) {
    863             exit(EXIT_FAILURE);
    864         }
    865 
    866         psDBCleanup(dbh);
    867     }
    868 
    869     {
    870         psDB            *dbh;
    871         psFits          *fits;
    872 
    873         dbh = psDBInit("localhost", "test", NULL, "test");
    874         if (!dbh) {
    875             exit(EXIT_FAILURE);
    876         }
    877 
    878         // open a temp
    879         fits = psFitsOpen(TMP_FILENAME, "r");
    880         if (!fits) {
    881             exit(EXIT_FAILURE);
    882         }
    883 
    884         if (!p4SkyCellMapInsertFits(dbh, fits)) {
    885             exit(EXIT_FAILURE);
    886         }
    887 
    888         if (!psFitsClose(fits)) {
    889             exit(EXIT_FAILURE);
    890         }
    891 
    892         psDBCleanup(dbh);
    893     }
    894 
    895     {
    896         psDB            *dbh;
    897         psFits          *fits;
    898 
    899         dbh = psDBInit("localhost", "test", NULL, "test");
    900         if (!dbh) {
    901             exit(EXIT_FAILURE);
    902         }
    903 
    904         // open a temp
    905         fits = psFitsOpen(TMP_FILENAME, "r");
    906         if (!fits) {
    907             exit(EXIT_FAILURE);
    908         }
    909 
    910         if (!p4SkyfileInsertFits(dbh, fits)) {
    911             exit(EXIT_FAILURE);
    912         }
    913 
    914         if (!psFitsClose(fits)) {
    915             exit(EXIT_FAILURE);
    916         }
    917 
    918         psDBCleanup(dbh);
    919     }
    920 
    921     {
    922         psDB            *dbh;
    923         psFits          *fits;
    924 
    925         dbh = psDBInit("localhost", "test", NULL, "test");
    926         if (!dbh) {
    927             exit(EXIT_FAILURE);
    928         }
    929 
    930         // open a temp
    931         fits = psFitsOpen(TMP_FILENAME, "r");
    932         if (!fits) {
    933             exit(EXIT_FAILURE);
    934         }
    935 
    936         if (!p5RunInsertFits(dbh, fits)) {
    937             exit(EXIT_FAILURE);
    938         }
    939 
    940         if (!psFitsClose(fits)) {
    941             exit(EXIT_FAILURE);
    942         }
    943 
    944         psDBCleanup(dbh);
    945     }
    946 
    947     {
    948         psDB            *dbh;
    949         psFits          *fits;
    950 
    951         dbh = psDBInit("localhost", "test", NULL, "test");
    952         if (!dbh) {
    953             exit(EXIT_FAILURE);
    954         }
    955 
    956         // open a temp
    957         fits = psFitsOpen(TMP_FILENAME, "r");
    958         if (!fits) {
    959             exit(EXIT_FAILURE);
    960         }
    961 
    962         if (!p5InputSkyfileInsertFits(dbh, fits)) {
    963             exit(EXIT_FAILURE);
    964         }
    965 
    966         if (!psFitsClose(fits)) {
    967             exit(EXIT_FAILURE);
    968         }
    969 
    970         psDBCleanup(dbh);
    971     }
    972 
    973     {
    974         psDB            *dbh;
    975         psFits          *fits;
    976 
    977         dbh = psDBInit("localhost", "test", NULL, "test");
    978         if (!dbh) {
    979             exit(EXIT_FAILURE);
    980         }
    981 
    982         // open a temp
    983         fits = psFitsOpen(TMP_FILENAME, "r");
    984         if (!fits) {
    985             exit(EXIT_FAILURE);
    986         }
    987 
    988         if (!p5DiffSkyfileInsertFits(dbh, fits)) {
    989             exit(EXIT_FAILURE);
    990         }
    991 
    992         if (!psFitsClose(fits)) {
    993             exit(EXIT_FAILURE);
    994         }
    995 
    996         psDBCleanup(dbh);
    997     }
    998 
    999     {
    1000         psDB            *dbh;
    1001         psFits          *fits;
    1002 
    1003         dbh = psDBInit("localhost", "test", NULL, "test");
    1004         if (!dbh) {
    1005             exit(EXIT_FAILURE);
    1006         }
    1007 
    1008         // open a temp
    1009         fits = psFitsOpen(TMP_FILENAME, "r");
    1010         if (!fits) {
    1011             exit(EXIT_FAILURE);
    1012         }
    1013 
    1014         if (!p6RunInsertFits(dbh, fits)) {
    1015             exit(EXIT_FAILURE);
    1016         }
    1017 
    1018         if (!psFitsClose(fits)) {
    1019             exit(EXIT_FAILURE);
    1020         }
    1021 
    1022         psDBCleanup(dbh);
    1023     }
    1024 
    1025     {
    1026         psDB            *dbh;
    1027         psFits          *fits;
    1028 
    1029         dbh = psDBInit("localhost", "test", NULL, "test");
    1030         if (!dbh) {
    1031             exit(EXIT_FAILURE);
    1032         }
    1033 
    1034         // open a temp
    1035         fits = psFitsOpen(TMP_FILENAME, "r");
    1036         if (!fits) {
    1037             exit(EXIT_FAILURE);
    1038         }
    1039 
    1040         if (!p6InputSkyfileInsertFits(dbh, fits)) {
    1041             exit(EXIT_FAILURE);
    1042         }
    1043 
    1044         if (!psFitsClose(fits)) {
    1045             exit(EXIT_FAILURE);
    1046         }
    1047 
    1048         psDBCleanup(dbh);
    1049     }
    1050 
    1051     {
    1052         psDB            *dbh;
    1053         psFits          *fits;
    1054 
    1055         dbh = psDBInit("localhost", "test", NULL, "test");
    1056         if (!dbh) {
    1057             exit(EXIT_FAILURE);
    1058         }
    1059 
    1060         // open a temp
    1061         fits = psFitsOpen(TMP_FILENAME, "r");
    1062         if (!fits) {
    1063             exit(EXIT_FAILURE);
    1064         }
    1065 
    1066         if (!p6SumSkyfileInsertFits(dbh, fits)) {
     832        if (!warpRunInsertFits(dbh, fits)) {
     833            exit(EXIT_FAILURE);
     834        }
     835
     836        if (!psFitsClose(fits)) {
     837            exit(EXIT_FAILURE);
     838        }
     839
     840        psDBCleanup(dbh);
     841    }
     842
     843    {
     844        psDB            *dbh;
     845        psFits          *fits;
     846
     847        dbh = psDBInit("localhost", "test", NULL, "test");
     848        if (!dbh) {
     849            exit(EXIT_FAILURE);
     850        }
     851
     852        // open a temp
     853        fits = psFitsOpen(TMP_FILENAME, "r");
     854        if (!fits) {
     855            exit(EXIT_FAILURE);
     856        }
     857
     858        if (!warpInputExpInsertFits(dbh, fits)) {
     859            exit(EXIT_FAILURE);
     860        }
     861
     862        if (!psFitsClose(fits)) {
     863            exit(EXIT_FAILURE);
     864        }
     865
     866        psDBCleanup(dbh);
     867    }
     868
     869    {
     870        psDB            *dbh;
     871        psFits          *fits;
     872
     873        dbh = psDBInit("localhost", "test", NULL, "test");
     874        if (!dbh) {
     875            exit(EXIT_FAILURE);
     876        }
     877
     878        // open a temp
     879        fits = psFitsOpen(TMP_FILENAME, "r");
     880        if (!fits) {
     881            exit(EXIT_FAILURE);
     882        }
     883
     884        if (!warpSkyCellMapInsertFits(dbh, fits)) {
     885            exit(EXIT_FAILURE);
     886        }
     887
     888        if (!psFitsClose(fits)) {
     889            exit(EXIT_FAILURE);
     890        }
     891
     892        psDBCleanup(dbh);
     893    }
     894
     895    {
     896        psDB            *dbh;
     897        psFits          *fits;
     898
     899        dbh = psDBInit("localhost", "test", NULL, "test");
     900        if (!dbh) {
     901            exit(EXIT_FAILURE);
     902        }
     903
     904        // open a temp
     905        fits = psFitsOpen(TMP_FILENAME, "r");
     906        if (!fits) {
     907            exit(EXIT_FAILURE);
     908        }
     909
     910        if (!warpSkyfileInsertFits(dbh, fits)) {
     911            exit(EXIT_FAILURE);
     912        }
     913
     914        if (!psFitsClose(fits)) {
     915            exit(EXIT_FAILURE);
     916        }
     917
     918        psDBCleanup(dbh);
     919    }
     920
     921    {
     922        psDB            *dbh;
     923        psFits          *fits;
     924
     925        dbh = psDBInit("localhost", "test", NULL, "test");
     926        if (!dbh) {
     927            exit(EXIT_FAILURE);
     928        }
     929
     930        // open a temp
     931        fits = psFitsOpen(TMP_FILENAME, "r");
     932        if (!fits) {
     933            exit(EXIT_FAILURE);
     934        }
     935
     936        if (!diffRunInsertFits(dbh, fits)) {
     937            exit(EXIT_FAILURE);
     938        }
     939
     940        if (!psFitsClose(fits)) {
     941            exit(EXIT_FAILURE);
     942        }
     943
     944        psDBCleanup(dbh);
     945    }
     946
     947    {
     948        psDB            *dbh;
     949        psFits          *fits;
     950
     951        dbh = psDBInit("localhost", "test", NULL, "test");
     952        if (!dbh) {
     953            exit(EXIT_FAILURE);
     954        }
     955
     956        // open a temp
     957        fits = psFitsOpen(TMP_FILENAME, "r");
     958        if (!fits) {
     959            exit(EXIT_FAILURE);
     960        }
     961
     962        if (!diffInputSkyfileInsertFits(dbh, fits)) {
     963            exit(EXIT_FAILURE);
     964        }
     965
     966        if (!psFitsClose(fits)) {
     967            exit(EXIT_FAILURE);
     968        }
     969
     970        psDBCleanup(dbh);
     971    }
     972
     973    {
     974        psDB            *dbh;
     975        psFits          *fits;
     976
     977        dbh = psDBInit("localhost", "test", NULL, "test");
     978        if (!dbh) {
     979            exit(EXIT_FAILURE);
     980        }
     981
     982        // open a temp
     983        fits = psFitsOpen(TMP_FILENAME, "r");
     984        if (!fits) {
     985            exit(EXIT_FAILURE);
     986        }
     987
     988        if (!diffSkyfileInsertFits(dbh, fits)) {
     989            exit(EXIT_FAILURE);
     990        }
     991
     992        if (!psFitsClose(fits)) {
     993            exit(EXIT_FAILURE);
     994        }
     995
     996        psDBCleanup(dbh);
     997    }
     998
     999    {
     1000        psDB            *dbh;
     1001        psFits          *fits;
     1002
     1003        dbh = psDBInit("localhost", "test", NULL, "test");
     1004        if (!dbh) {
     1005            exit(EXIT_FAILURE);
     1006        }
     1007
     1008        // open a temp
     1009        fits = psFitsOpen(TMP_FILENAME, "r");
     1010        if (!fits) {
     1011            exit(EXIT_FAILURE);
     1012        }
     1013
     1014        if (!stackRunInsertFits(dbh, fits)) {
     1015            exit(EXIT_FAILURE);
     1016        }
     1017
     1018        if (!psFitsClose(fits)) {
     1019            exit(EXIT_FAILURE);
     1020        }
     1021
     1022        psDBCleanup(dbh);
     1023    }
     1024
     1025    {
     1026        psDB            *dbh;
     1027        psFits          *fits;
     1028
     1029        dbh = psDBInit("localhost", "test", NULL, "test");
     1030        if (!dbh) {
     1031            exit(EXIT_FAILURE);
     1032        }
     1033
     1034        // open a temp
     1035        fits = psFitsOpen(TMP_FILENAME, "r");
     1036        if (!fits) {
     1037            exit(EXIT_FAILURE);
     1038        }
     1039
     1040        if (!stackInputSkyfileInsertFits(dbh, fits)) {
     1041            exit(EXIT_FAILURE);
     1042        }
     1043
     1044        if (!psFitsClose(fits)) {
     1045            exit(EXIT_FAILURE);
     1046        }
     1047
     1048        psDBCleanup(dbh);
     1049    }
     1050
     1051    {
     1052        psDB            *dbh;
     1053        psFits          *fits;
     1054
     1055        dbh = psDBInit("localhost", "test", NULL, "test");
     1056        if (!dbh) {
     1057            exit(EXIT_FAILURE);
     1058        }
     1059
     1060        // open a temp
     1061        fits = psFitsOpen(TMP_FILENAME, "r");
     1062        if (!fits) {
     1063            exit(EXIT_FAILURE);
     1064        }
     1065
     1066        if (!stackSumSkyfileInsertFits(dbh, fits)) {
    10671067            exit(EXIT_FAILURE);
    10681068        }
  • trunk/ippdb/tests/insertobject.c

    r11988 r12026  
    249249    {
    250250        psDB            *dbh;
    251         p1PendingExpRow *object;
    252 
    253         dbh = psDBInit("localhost", "test", NULL, "test");
    254         if (!dbh) {
    255             exit(EXIT_FAILURE);
    256         }
    257 
    258         object = p1PendingExpRowAlloc("a string", -32, "a string");
    259         if (!object) {
    260             exit(EXIT_FAILURE);
    261         }
    262 
    263         if (!p1PendingExpInsertObject(dbh, object)) {
    264             exit(EXIT_FAILURE);
    265         }
    266 
    267         psFree(object);
    268         psDBCleanup(dbh);
    269     }
    270 
    271     {
    272         psDB            *dbh;
    273         p2PendingExpRow *object;
    274 
    275         dbh = psDBInit("localhost", "test", NULL, "test");
    276         if (!dbh) {
    277             exit(EXIT_FAILURE);
    278         }
    279 
    280         object = p2PendingExpRowAlloc("a string", -32, -32, "a string", "a string", "a string", "a string");
    281         if (!object) {
    282             exit(EXIT_FAILURE);
    283         }
    284 
    285         if (!p2PendingExpInsertObject(dbh, object)) {
    286             exit(EXIT_FAILURE);
    287         }
    288 
    289         psFree(object);
    290         psDBCleanup(dbh);
    291     }
    292 
    293     {
    294         psDB            *dbh;
    295         p2PendingImfileRow *object;
    296 
    297         dbh = psDBInit("localhost", "test", NULL, "test");
    298         if (!dbh) {
    299             exit(EXIT_FAILURE);
    300         }
    301 
    302         object = p2PendingImfileRowAlloc("a string", -32, -32, "a string", "a string", "a string");
    303         if (!object) {
    304             exit(EXIT_FAILURE);
    305         }
    306 
    307         if (!p2PendingImfileInsertObject(dbh, object)) {
    308             exit(EXIT_FAILURE);
    309         }
    310 
    311         psFree(object);
    312         psDBCleanup(dbh);
    313     }
    314 
    315     {
    316         psDB            *dbh;
    317         p2ProcessedExpRow *object;
    318 
    319         dbh = psDBInit("localhost", "test", NULL, "test");
    320         if (!dbh) {
    321             exit(EXIT_FAILURE);
    322         }
    323 
    324         object = p2ProcessedExpRowAlloc("a string", -32, -32, "a string", "a string", "a string");
    325         if (!object) {
    326             exit(EXIT_FAILURE);
    327         }
    328 
    329         if (!p2ProcessedExpInsertObject(dbh, object)) {
    330             exit(EXIT_FAILURE);
    331         }
    332 
    333         psFree(object);
    334         psDBCleanup(dbh);
    335     }
    336 
    337     {
    338         psDB            *dbh;
    339         p2MaskRow       *object;
    340 
    341         dbh = psDBInit("localhost", "test", NULL, "test");
    342         if (!dbh) {
    343             exit(EXIT_FAILURE);
    344         }
    345 
    346         object = p2MaskRowAlloc("a string");
    347         if (!object) {
    348             exit(EXIT_FAILURE);
    349         }
    350 
    351         if (!p2MaskInsertObject(dbh, object)) {
    352             exit(EXIT_FAILURE);
    353         }
    354 
    355         psFree(object);
    356         psDBCleanup(dbh);
    357     }
    358 
    359     {
    360         psDB            *dbh;
    361         p2ProcessedImfileRow *object;
    362 
    363         dbh = psDBInit("localhost", "test", NULL, "test");
    364         if (!dbh) {
    365             exit(EXIT_FAILURE);
    366         }
    367 
    368         object = p2ProcessedImfileRowAlloc("a string", -32, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", "a string", -16);
    369         if (!object) {
    370             exit(EXIT_FAILURE);
    371         }
    372 
    373         if (!p2ProcessedImfileInsertObject(dbh, object)) {
    374             exit(EXIT_FAILURE);
    375         }
    376 
    377         psFree(object);
    378         psDBCleanup(dbh);
    379     }
    380 
    381     {
    382         psDB            *dbh;
    383         p3PendingExpRow *object;
    384 
    385         dbh = psDBInit("localhost", "test", NULL, "test");
    386         if (!dbh) {
    387             exit(EXIT_FAILURE);
    388         }
    389 
    390         object = p3PendingExpRowAlloc("a string", -32, -32, "a string", "a string", "a string");
    391         if (!object) {
    392             exit(EXIT_FAILURE);
    393         }
    394 
    395         if (!p3PendingExpInsertObject(dbh, object)) {
    396             exit(EXIT_FAILURE);
    397         }
    398 
    399         psFree(object);
    400         psDBCleanup(dbh);
    401     }
    402 
    403     {
    404         psDB            *dbh;
    405         p3ProcessedExpRow *object;
    406 
    407         dbh = psDBInit("localhost", "test", NULL, "test");
    408         if (!dbh) {
    409             exit(EXIT_FAILURE);
    410         }
    411 
    412         object = p3ProcessedExpRowAlloc("a string", -32, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, 32.32, 32.32, -32, "a string", "a string", 32.32, 32.32, -16, "a string", "a string");
    413         if (!object) {
    414             exit(EXIT_FAILURE);
    415         }
    416 
    417         if (!p3ProcessedExpInsertObject(dbh, object)) {
    418             exit(EXIT_FAILURE);
    419         }
    420 
    421         psFree(object);
    422         psDBCleanup(dbh);
    423     }
    424 
    425     {
    426         psDB            *dbh;
    427         p3MaskRow       *object;
    428 
    429         dbh = psDBInit("localhost", "test", NULL, "test");
    430         if (!dbh) {
    431             exit(EXIT_FAILURE);
    432         }
    433 
    434         object = p3MaskRowAlloc("a string");
    435         if (!object) {
    436             exit(EXIT_FAILURE);
    437         }
    438 
    439         if (!p3MaskInsertObject(dbh, object)) {
     251        guidePendingExpRow *object;
     252
     253        dbh = psDBInit("localhost", "test", NULL, "test");
     254        if (!dbh) {
     255            exit(EXIT_FAILURE);
     256        }
     257
     258        object = guidePendingExpRowAlloc("a string", -32, "a string");
     259        if (!object) {
     260            exit(EXIT_FAILURE);
     261        }
     262
     263        if (!guidePendingExpInsertObject(dbh, object)) {
     264            exit(EXIT_FAILURE);
     265        }
     266
     267        psFree(object);
     268        psDBCleanup(dbh);
     269    }
     270
     271    {
     272        psDB            *dbh;
     273        chipPendingExpRow *object;
     274
     275        dbh = psDBInit("localhost", "test", NULL, "test");
     276        if (!dbh) {
     277            exit(EXIT_FAILURE);
     278        }
     279
     280        object = chipPendingExpRowAlloc("a string", -32, -32, "a string", "a string", "a string", "a string");
     281        if (!object) {
     282            exit(EXIT_FAILURE);
     283        }
     284
     285        if (!chipPendingExpInsertObject(dbh, object)) {
     286            exit(EXIT_FAILURE);
     287        }
     288
     289        psFree(object);
     290        psDBCleanup(dbh);
     291    }
     292
     293    {
     294        psDB            *dbh;
     295        chipPendingImfileRow *object;
     296
     297        dbh = psDBInit("localhost", "test", NULL, "test");
     298        if (!dbh) {
     299            exit(EXIT_FAILURE);
     300        }
     301
     302        object = chipPendingImfileRowAlloc("a string", -32, -32, "a string", "a string", "a string");
     303        if (!object) {
     304            exit(EXIT_FAILURE);
     305        }
     306
     307        if (!chipPendingImfileInsertObject(dbh, object)) {
     308            exit(EXIT_FAILURE);
     309        }
     310
     311        psFree(object);
     312        psDBCleanup(dbh);
     313    }
     314
     315    {
     316        psDB            *dbh;
     317        chipProcessedExpRow *object;
     318
     319        dbh = psDBInit("localhost", "test", NULL, "test");
     320        if (!dbh) {
     321            exit(EXIT_FAILURE);
     322        }
     323
     324        object = chipProcessedExpRowAlloc("a string", -32, -32, "a string", "a string", "a string");
     325        if (!object) {
     326            exit(EXIT_FAILURE);
     327        }
     328
     329        if (!chipProcessedExpInsertObject(dbh, object)) {
     330            exit(EXIT_FAILURE);
     331        }
     332
     333        psFree(object);
     334        psDBCleanup(dbh);
     335    }
     336
     337    {
     338        psDB            *dbh;
     339        chipMaskRow     *object;
     340
     341        dbh = psDBInit("localhost", "test", NULL, "test");
     342        if (!dbh) {
     343            exit(EXIT_FAILURE);
     344        }
     345
     346        object = chipMaskRowAlloc("a string");
     347        if (!object) {
     348            exit(EXIT_FAILURE);
     349        }
     350
     351        if (!chipMaskInsertObject(dbh, object)) {
     352            exit(EXIT_FAILURE);
     353        }
     354
     355        psFree(object);
     356        psDBCleanup(dbh);
     357    }
     358
     359    {
     360        psDB            *dbh;
     361        chipProcessedImfileRow *object;
     362
     363        dbh = psDBInit("localhost", "test", NULL, "test");
     364        if (!dbh) {
     365            exit(EXIT_FAILURE);
     366        }
     367
     368        object = chipProcessedImfileRowAlloc("a string", -32, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", "a string", -16);
     369        if (!object) {
     370            exit(EXIT_FAILURE);
     371        }
     372
     373        if (!chipProcessedImfileInsertObject(dbh, object)) {
     374            exit(EXIT_FAILURE);
     375        }
     376
     377        psFree(object);
     378        psDBCleanup(dbh);
     379    }
     380
     381    {
     382        psDB            *dbh;
     383        camPendingExpRow *object;
     384
     385        dbh = psDBInit("localhost", "test", NULL, "test");
     386        if (!dbh) {
     387            exit(EXIT_FAILURE);
     388        }
     389
     390        object = camPendingExpRowAlloc("a string", -32, -32, "a string", "a string", "a string");
     391        if (!object) {
     392            exit(EXIT_FAILURE);
     393        }
     394
     395        if (!camPendingExpInsertObject(dbh, object)) {
     396            exit(EXIT_FAILURE);
     397        }
     398
     399        psFree(object);
     400        psDBCleanup(dbh);
     401    }
     402
     403    {
     404        psDB            *dbh;
     405        camProcessedExpRow *object;
     406
     407        dbh = psDBInit("localhost", "test", NULL, "test");
     408        if (!dbh) {
     409            exit(EXIT_FAILURE);
     410        }
     411
     412        object = camProcessedExpRowAlloc("a string", -32, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, 32.32, 32.32, -32, "a string", "a string", 32.32, 32.32, -16, "a string", "a string");
     413        if (!object) {
     414            exit(EXIT_FAILURE);
     415        }
     416
     417        if (!camProcessedExpInsertObject(dbh, object)) {
     418            exit(EXIT_FAILURE);
     419        }
     420
     421        psFree(object);
     422        psDBCleanup(dbh);
     423    }
     424
     425    {
     426        psDB            *dbh;
     427        camMaskRow      *object;
     428
     429        dbh = psDBInit("localhost", "test", NULL, "test");
     430        if (!dbh) {
     431            exit(EXIT_FAILURE);
     432        }
     433
     434        object = camMaskRowAlloc("a string");
     435        if (!object) {
     436            exit(EXIT_FAILURE);
     437        }
     438
     439        if (!camMaskInsertObject(dbh, object)) {
    440440            exit(EXIT_FAILURE);
    441441        }
     
    689689    {
    690690        psDB            *dbh;
    691         p4RunRow        *object;
    692 
    693         dbh = psDBInit("localhost", "test", NULL, "test");
    694         if (!dbh) {
    695             exit(EXIT_FAILURE);
    696         }
    697 
    698         object = p4RunRowAlloc(-32, "a string", "a string", "a string", "a string", "0001-01-01T00:00:00Z");
    699         if (!object) {
    700             exit(EXIT_FAILURE);
    701         }
    702 
    703         if (!p4RunInsertObject(dbh, object)) {
    704             exit(EXIT_FAILURE);
    705         }
    706 
    707         psFree(object);
    708         psDBCleanup(dbh);
    709     }
    710 
    711     {
    712         psDB            *dbh;
    713         p4InputExpRow  *object;
    714 
    715         dbh = psDBInit("localhost", "test", NULL, "test");
    716         if (!dbh) {
    717             exit(EXIT_FAILURE);
    718         }
    719 
    720         object = p4InputExpRowAlloc(-32, "a string", -32, true);
    721         if (!object) {
    722             exit(EXIT_FAILURE);
    723         }
    724 
    725         if (!p4InputExpInsertObject(dbh, object)) {
    726             exit(EXIT_FAILURE);
    727         }
    728 
    729         psFree(object);
    730         psDBCleanup(dbh);
    731     }
    732 
    733     {
    734         psDB            *dbh;
    735         p4SkyCellMapRow *object;
    736 
    737         dbh = psDBInit("localhost", "test", NULL, "test");
    738         if (!dbh) {
    739             exit(EXIT_FAILURE);
    740         }
    741 
    742         object = p4SkyCellMapRowAlloc(-32, "a string", "a string", "a string", -32, "a string");
    743         if (!object) {
    744             exit(EXIT_FAILURE);
    745         }
    746 
    747         if (!p4SkyCellMapInsertObject(dbh, object)) {
    748             exit(EXIT_FAILURE);
    749         }
    750 
    751         psFree(object);
    752         psDBCleanup(dbh);
    753     }
    754 
    755     {
    756         psDB            *dbh;
    757         p4SkyfileRow    *object;
    758 
    759         dbh = psDBInit("localhost", "test", NULL, "test");
    760         if (!dbh) {
    761             exit(EXIT_FAILURE);
    762         }
    763 
    764         object = p4SkyfileRowAlloc(-32, "a string", "a string", "a string", 64.64, 64.64);
    765         if (!object) {
    766             exit(EXIT_FAILURE);
    767         }
    768 
    769         if (!p4SkyfileInsertObject(dbh, object)) {
    770             exit(EXIT_FAILURE);
    771         }
    772 
    773         psFree(object);
    774         psDBCleanup(dbh);
    775     }
    776 
    777     {
    778         psDB            *dbh;
    779         p5RunRow        *object;
    780 
    781         dbh = psDBInit("localhost", "test", NULL, "test");
    782         if (!dbh) {
    783             exit(EXIT_FAILURE);
    784         }
    785 
    786         object = p5RunRowAlloc(-32, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", "a string");
    787         if (!object) {
    788             exit(EXIT_FAILURE);
    789         }
    790 
    791         if (!p5RunInsertObject(dbh, object)) {
    792             exit(EXIT_FAILURE);
    793         }
    794 
    795         psFree(object);
    796         psDBCleanup(dbh);
    797     }
    798 
    799     {
    800         psDB            *dbh;
    801         p5InputSkyfileRow *object;
    802 
    803         dbh = psDBInit("localhost", "test", NULL, "test");
    804         if (!dbh) {
    805             exit(EXIT_FAILURE);
    806         }
    807 
    808         object = p5InputSkyfileRowAlloc(-32, -32, "a string", "a string", "a string", true);
    809         if (!object) {
    810             exit(EXIT_FAILURE);
    811         }
    812 
    813         if (!p5InputSkyfileInsertObject(dbh, object)) {
    814             exit(EXIT_FAILURE);
    815         }
    816 
    817         psFree(object);
    818         psDBCleanup(dbh);
    819     }
    820 
    821     {
    822         psDB            *dbh;
    823         p5DiffSkyfileRow *object;
    824 
    825         dbh = psDBInit("localhost", "test", NULL, "test");
    826         if (!dbh) {
    827             exit(EXIT_FAILURE);
    828         }
    829 
    830         object = p5DiffSkyfileRowAlloc(-32, "a string", 64.64, 64.64);
    831         if (!object) {
    832             exit(EXIT_FAILURE);
    833         }
    834 
    835         if (!p5DiffSkyfileInsertObject(dbh, object)) {
    836             exit(EXIT_FAILURE);
    837         }
    838 
    839         psFree(object);
    840         psDBCleanup(dbh);
    841     }
    842 
    843     {
    844         psDB            *dbh;
    845         p6RunRow        *object;
    846 
    847         dbh = psDBInit("localhost", "test", NULL, "test");
    848         if (!dbh) {
    849             exit(EXIT_FAILURE);
    850         }
    851 
    852         object = p6RunRowAlloc(-32, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", "a string");
    853         if (!object) {
    854             exit(EXIT_FAILURE);
    855         }
    856 
    857         if (!p6RunInsertObject(dbh, object)) {
    858             exit(EXIT_FAILURE);
    859         }
    860 
    861         psFree(object);
    862         psDBCleanup(dbh);
    863     }
    864 
    865     {
    866         psDB            *dbh;
    867         p6InputSkyfileRow *object;
    868 
    869         dbh = psDBInit("localhost", "test", NULL, "test");
    870         if (!dbh) {
    871             exit(EXIT_FAILURE);
    872         }
    873 
    874         object = p6InputSkyfileRowAlloc(-32, -32);
    875         if (!object) {
    876             exit(EXIT_FAILURE);
    877         }
    878 
    879         if (!p6InputSkyfileInsertObject(dbh, object)) {
    880             exit(EXIT_FAILURE);
    881         }
    882 
    883         psFree(object);
    884         psDBCleanup(dbh);
    885     }
    886 
    887     {
    888         psDB            *dbh;
    889         p6SumSkyfileRow *object;
    890 
    891         dbh = psDBInit("localhost", "test", NULL, "test");
    892         if (!dbh) {
    893             exit(EXIT_FAILURE);
    894         }
    895 
    896         object = p6SumSkyfileRowAlloc(-32, "a string", 64.64, 64.64);
    897         if (!object) {
    898             exit(EXIT_FAILURE);
    899         }
    900 
    901         if (!p6SumSkyfileInsertObject(dbh, object)) {
     691        warpRunRow      *object;
     692
     693        dbh = psDBInit("localhost", "test", NULL, "test");
     694        if (!dbh) {
     695            exit(EXIT_FAILURE);
     696        }
     697
     698        object = warpRunRowAlloc(-32, "a string", "a string", "a string", "a string", "0001-01-01T00:00:00Z");
     699        if (!object) {
     700            exit(EXIT_FAILURE);
     701        }
     702
     703        if (!warpRunInsertObject(dbh, object)) {
     704            exit(EXIT_FAILURE);
     705        }
     706
     707        psFree(object);
     708        psDBCleanup(dbh);
     709    }
     710
     711    {
     712        psDB            *dbh;
     713        warpInputExpRow *object;
     714
     715        dbh = psDBInit("localhost", "test", NULL, "test");
     716        if (!dbh) {
     717            exit(EXIT_FAILURE);
     718        }
     719
     720        object = warpInputExpRowAlloc(-32, "a string", -32, true);
     721        if (!object) {
     722            exit(EXIT_FAILURE);
     723        }
     724
     725        if (!warpInputExpInsertObject(dbh, object)) {
     726            exit(EXIT_FAILURE);
     727        }
     728
     729        psFree(object);
     730        psDBCleanup(dbh);
     731    }
     732
     733    {
     734        psDB            *dbh;
     735        warpSkyCellMapRow *object;
     736
     737        dbh = psDBInit("localhost", "test", NULL, "test");
     738        if (!dbh) {
     739            exit(EXIT_FAILURE);
     740        }
     741
     742        object = warpSkyCellMapRowAlloc(-32, "a string", "a string", "a string", -32, "a string");
     743        if (!object) {
     744            exit(EXIT_FAILURE);
     745        }
     746
     747        if (!warpSkyCellMapInsertObject(dbh, object)) {
     748            exit(EXIT_FAILURE);
     749        }
     750
     751        psFree(object);
     752        psDBCleanup(dbh);
     753    }
     754
     755    {
     756        psDB            *dbh;
     757        warpSkyfileRow  *object;
     758
     759        dbh = psDBInit("localhost", "test", NULL, "test");
     760        if (!dbh) {
     761            exit(EXIT_FAILURE);
     762        }
     763
     764        object = warpSkyfileRowAlloc(-32, "a string", "a string", "a string", 64.64, 64.64);
     765        if (!object) {
     766            exit(EXIT_FAILURE);
     767        }
     768
     769        if (!warpSkyfileInsertObject(dbh, object)) {
     770            exit(EXIT_FAILURE);
     771        }
     772
     773        psFree(object);
     774        psDBCleanup(dbh);
     775    }
     776
     777    {
     778        psDB            *dbh;
     779        diffRunRow      *object;
     780
     781        dbh = psDBInit("localhost", "test", NULL, "test");
     782        if (!dbh) {
     783            exit(EXIT_FAILURE);
     784        }
     785
     786        object = diffRunRowAlloc(-32, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", "a string");
     787        if (!object) {
     788            exit(EXIT_FAILURE);
     789        }
     790
     791        if (!diffRunInsertObject(dbh, object)) {
     792            exit(EXIT_FAILURE);
     793        }
     794
     795        psFree(object);
     796        psDBCleanup(dbh);
     797    }
     798
     799    {
     800        psDB            *dbh;
     801        diffInputSkyfileRow *object;
     802
     803        dbh = psDBInit("localhost", "test", NULL, "test");
     804        if (!dbh) {
     805            exit(EXIT_FAILURE);
     806        }
     807
     808        object = diffInputSkyfileRowAlloc(-32, -32, "a string", "a string", "a string", true);
     809        if (!object) {
     810            exit(EXIT_FAILURE);
     811        }
     812
     813        if (!diffInputSkyfileInsertObject(dbh, object)) {
     814            exit(EXIT_FAILURE);
     815        }
     816
     817        psFree(object);
     818        psDBCleanup(dbh);
     819    }
     820
     821    {
     822        psDB            *dbh;
     823        diffSkyfileRow *object;
     824
     825        dbh = psDBInit("localhost", "test", NULL, "test");
     826        if (!dbh) {
     827            exit(EXIT_FAILURE);
     828        }
     829
     830        object = diffSkyfileRowAlloc(-32, "a string", 64.64, 64.64);
     831        if (!object) {
     832            exit(EXIT_FAILURE);
     833        }
     834
     835        if (!diffSkyfileInsertObject(dbh, object)) {
     836            exit(EXIT_FAILURE);
     837        }
     838
     839        psFree(object);
     840        psDBCleanup(dbh);
     841    }
     842
     843    {
     844        psDB            *dbh;
     845        stackRunRow     *object;
     846
     847        dbh = psDBInit("localhost", "test", NULL, "test");
     848        if (!dbh) {
     849            exit(EXIT_FAILURE);
     850        }
     851
     852        object = stackRunRowAlloc(-32, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", "a string");
     853        if (!object) {
     854            exit(EXIT_FAILURE);
     855        }
     856
     857        if (!stackRunInsertObject(dbh, object)) {
     858            exit(EXIT_FAILURE);
     859        }
     860
     861        psFree(object);
     862        psDBCleanup(dbh);
     863    }
     864
     865    {
     866        psDB            *dbh;
     867        stackInputSkyfileRow *object;
     868
     869        dbh = psDBInit("localhost", "test", NULL, "test");
     870        if (!dbh) {
     871            exit(EXIT_FAILURE);
     872        }
     873
     874        object = stackInputSkyfileRowAlloc(-32, -32);
     875        if (!object) {
     876            exit(EXIT_FAILURE);
     877        }
     878
     879        if (!stackInputSkyfileInsertObject(dbh, object)) {
     880            exit(EXIT_FAILURE);
     881        }
     882
     883        psFree(object);
     884        psDBCleanup(dbh);
     885    }
     886
     887    {
     888        psDB            *dbh;
     889        stackSumSkyfileRow *object;
     890
     891        dbh = psDBInit("localhost", "test", NULL, "test");
     892        if (!dbh) {
     893            exit(EXIT_FAILURE);
     894        }
     895
     896        object = stackSumSkyfileRowAlloc(-32, "a string", 64.64, 64.64);
     897        if (!object) {
     898            exit(EXIT_FAILURE);
     899        }
     900
     901        if (!stackSumSkyfileInsertObject(dbh, object)) {
    902902            exit(EXIT_FAILURE);
    903903        }
  • trunk/ippdb/tests/metadatafromobject.c

    r11988 r12026  
    591591    {
    592592        psMetadata      *md;
    593         p1PendingExpRow *object;
    594         bool            status;
    595 
    596         object = p1PendingExpRowAlloc("a string", -32, "a string");
    597         if (!object) {
    598             exit(EXIT_FAILURE);
    599         }
    600 
    601         md = p1PendingExpMetadataFromObject(object);
     593        guidePendingExpRow *object;
     594        bool            status;
     595
     596        object = guidePendingExpRowAlloc("a string", -32, "a string");
     597        if (!object) {
     598            exit(EXIT_FAILURE);
     599        }
     600
     601        md = guidePendingExpMetadataFromObject(object);
    602602        if (!md) {
    603603            exit(EXIT_FAILURE);
     
    610610            exit(EXIT_FAILURE);
    611611        }
    612         if (!psMetadataLookupS32(&status, md, "p1_version") == -32) {
     612        if (!psMetadataLookupS32(&status, md, "guide_version") == -32) {
    613613            psFree(md);
    614614            exit(EXIT_FAILURE);
     
    624624    {
    625625        psMetadata      *md;
    626         p2PendingExpRow *object;
    627         bool            status;
    628 
    629         object = p2PendingExpRowAlloc("a string", -32, -32, "a string", "a string", "a string", "a string");
    630         if (!object) {
    631             exit(EXIT_FAILURE);
    632         }
    633 
    634         md = p2PendingExpMetadataFromObject(object);
     626        chipPendingExpRow *object;
     627        bool            status;
     628
     629        object = chipPendingExpRowAlloc("a string", -32, -32, "a string", "a string", "a string", "a string");
     630        if (!object) {
     631            exit(EXIT_FAILURE);
     632        }
     633
     634        md = chipPendingExpMetadataFromObject(object);
    635635        if (!md) {
    636636            exit(EXIT_FAILURE);
     
    643643            exit(EXIT_FAILURE);
    644644        }
    645         if (!psMetadataLookupS32(&status, md, "p2_version") == -32) {
    646             psFree(md);
    647             exit(EXIT_FAILURE);
    648         }
    649         if (!psMetadataLookupS32(&status, md, "p1_version") == -32) {
     645        if (!psMetadataLookupS32(&status, md, "chip_version") == -32) {
     646            psFree(md);
     647            exit(EXIT_FAILURE);
     648        }
     649        if (!psMetadataLookupS32(&status, md, "guide_version") == -32) {
    650650            psFree(md);
    651651            exit(EXIT_FAILURE);
     
    673673    {
    674674        psMetadata      *md;
    675         p2PendingImfileRow *object;
    676         bool            status;
    677 
    678         object = p2PendingImfileRowAlloc("a string", -32, -32, "a string", "a string", "a string");
    679         if (!object) {
    680             exit(EXIT_FAILURE);
    681         }
    682 
    683         md = p2PendingImfileMetadataFromObject(object);
     675        chipPendingImfileRow *object;
     676        bool            status;
     677
     678        object = chipPendingImfileRowAlloc("a string", -32, -32, "a string", "a string", "a string");
     679        if (!object) {
     680            exit(EXIT_FAILURE);
     681        }
     682
     683        md = chipPendingImfileMetadataFromObject(object);
    684684        if (!md) {
    685685            exit(EXIT_FAILURE);
     
    692692            exit(EXIT_FAILURE);
    693693        }
    694         if (!psMetadataLookupS32(&status, md, "p2_version") == -32) {
    695             psFree(md);
    696             exit(EXIT_FAILURE);
    697         }
    698         if (!psMetadataLookupS32(&status, md, "p1_version") == -32) {
     694        if (!psMetadataLookupS32(&status, md, "chip_version") == -32) {
     695            psFree(md);
     696            exit(EXIT_FAILURE);
     697        }
     698        if (!psMetadataLookupS32(&status, md, "guide_version") == -32) {
    699699            psFree(md);
    700700            exit(EXIT_FAILURE);
     
    718718    {
    719719        psMetadata      *md;
    720         p2ProcessedExpRow *object;
    721         bool            status;
    722 
    723         object = p2ProcessedExpRowAlloc("a string", -32, -32, "a string", "a string", "a string");
    724         if (!object) {
    725             exit(EXIT_FAILURE);
    726         }
    727 
    728         md = p2ProcessedExpMetadataFromObject(object);
     720        chipProcessedExpRow *object;
     721        bool            status;
     722
     723        object = chipProcessedExpRowAlloc("a string", -32, -32, "a string", "a string", "a string");
     724        if (!object) {
     725            exit(EXIT_FAILURE);
     726        }
     727
     728        md = chipProcessedExpMetadataFromObject(object);
    729729        if (!md) {
    730730            exit(EXIT_FAILURE);
     
    737737            exit(EXIT_FAILURE);
    738738        }
    739         if (!psMetadataLookupS32(&status, md, "p2_version") == -32) {
    740             psFree(md);
    741             exit(EXIT_FAILURE);
    742         }
    743         if (!psMetadataLookupS32(&status, md, "p1_version") == -32) {
     739        if (!psMetadataLookupS32(&status, md, "chip_version") == -32) {
     740            psFree(md);
     741            exit(EXIT_FAILURE);
     742        }
     743        if (!psMetadataLookupS32(&status, md, "guide_version") == -32) {
    744744            psFree(md);
    745745            exit(EXIT_FAILURE);
     
    763763    {
    764764        psMetadata      *md;
    765         p2MaskRow       *object;
    766         bool            status;
    767 
    768         object = p2MaskRowAlloc("a string");
    769         if (!object) {
    770             exit(EXIT_FAILURE);
    771         }
    772 
    773         md = p2MaskMetadataFromObject(object);
     765        chipMaskRow     *object;
     766        bool            status;
     767
     768        object = chipMaskRowAlloc("a string");
     769        if (!object) {
     770            exit(EXIT_FAILURE);
     771        }
     772
     773        md = chipMaskMetadataFromObject(object);
    774774        if (!md) {
    775775            exit(EXIT_FAILURE);
     
    788788    {
    789789        psMetadata      *md;
    790         p2ProcessedImfileRow *object;
    791         bool            status;
    792 
    793         object = p2ProcessedImfileRowAlloc("a string", -32, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", "a string", -16);
    794         if (!object) {
    795             exit(EXIT_FAILURE);
    796         }
    797 
    798         md = p2ProcessedImfileMetadataFromObject(object);
     790        chipProcessedImfileRow *object;
     791        bool            status;
     792
     793        object = chipProcessedImfileRowAlloc("a string", -32, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", "a string", -16);
     794        if (!object) {
     795            exit(EXIT_FAILURE);
     796        }
     797
     798        md = chipProcessedImfileMetadataFromObject(object);
    799799        if (!md) {
    800800            exit(EXIT_FAILURE);
     
    807807            exit(EXIT_FAILURE);
    808808        }
    809         if (!psMetadataLookupS32(&status, md, "p2_version") == -32) {
    810             psFree(md);
    811             exit(EXIT_FAILURE);
    812         }
    813         if (!psMetadataLookupS32(&status, md, "p1_version") == -32) {
     809        if (!psMetadataLookupS32(&status, md, "chip_version") == -32) {
     810            psFree(md);
     811            exit(EXIT_FAILURE);
     812        }
     813        if (!psMetadataLookupS32(&status, md, "guide_version") == -32) {
    814814            psFree(md);
    815815            exit(EXIT_FAILURE);
     
    856856    {
    857857        psMetadata      *md;
    858         p3PendingExpRow *object;
    859         bool            status;
    860 
    861         object = p3PendingExpRowAlloc("a string", -32, -32, "a string", "a string", "a string");
    862         if (!object) {
    863             exit(EXIT_FAILURE);
    864         }
    865 
    866         md = p3PendingExpMetadataFromObject(object);
     858        camPendingExpRow *object;
     859        bool            status;
     860
     861        object = camPendingExpRowAlloc("a string", -32, -32, "a string", "a string", "a string");
     862        if (!object) {
     863            exit(EXIT_FAILURE);
     864        }
     865
     866        md = camPendingExpMetadataFromObject(object);
    867867        if (!md) {
    868868            exit(EXIT_FAILURE);
     
    875875            exit(EXIT_FAILURE);
    876876        }
    877         if (!psMetadataLookupS32(&status, md, "p3_version") == -32) {
    878             psFree(md);
    879             exit(EXIT_FAILURE);
    880         }
    881         if (!psMetadataLookupS32(&status, md, "p2_version") == -32) {
     877        if (!psMetadataLookupS32(&status, md, "cam_version") == -32) {
     878            psFree(md);
     879            exit(EXIT_FAILURE);
     880        }
     881        if (!psMetadataLookupS32(&status, md, "chip_version") == -32) {
    882882            psFree(md);
    883883            exit(EXIT_FAILURE);
     
    901901    {
    902902        psMetadata      *md;
    903         p3ProcessedExpRow *object;
    904         bool            status;
    905 
    906         object = p3ProcessedExpRowAlloc("a string", -32, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, 32.32, 32.32, -32, "a string", "a string", 32.32, 32.32, -16, "a string", "a string");
    907         if (!object) {
    908             exit(EXIT_FAILURE);
    909         }
    910 
    911         md = p3ProcessedExpMetadataFromObject(object);
     903        camProcessedExpRow *object;
     904        bool            status;
     905
     906        object = camProcessedExpRowAlloc("a string", -32, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, 32.32, 32.32, -32, "a string", "a string", 32.32, 32.32, -16, "a string", "a string");
     907        if (!object) {
     908            exit(EXIT_FAILURE);
     909        }
     910
     911        md = camProcessedExpMetadataFromObject(object);
    912912        if (!md) {
    913913            exit(EXIT_FAILURE);
     
    920920            exit(EXIT_FAILURE);
    921921        }
    922         if (!psMetadataLookupS32(&status, md, "p3_version") == -32) {
    923             psFree(md);
    924             exit(EXIT_FAILURE);
    925         }
    926         if (!psMetadataLookupS32(&status, md, "p2_version") == -32) {
     922        if (!psMetadataLookupS32(&status, md, "cam_version") == -32) {
     923            psFree(md);
     924            exit(EXIT_FAILURE);
     925        }
     926        if (!psMetadataLookupS32(&status, md, "chip_version") == -32) {
    927927            psFree(md);
    928928            exit(EXIT_FAILURE);
     
    997997    {
    998998        psMetadata      *md;
    999         p3MaskRow       *object;
    1000         bool            status;
    1001 
    1002         object = p3MaskRowAlloc("a string");
    1003         if (!object) {
    1004             exit(EXIT_FAILURE);
    1005         }
    1006 
    1007         md = p3MaskMetadataFromObject(object);
     999        camMaskRow      *object;
     1000        bool            status;
     1001
     1002        object = camMaskRowAlloc("a string");
     1003        if (!object) {
     1004            exit(EXIT_FAILURE);
     1005        }
     1006
     1007        md = camMaskMetadataFromObject(object);
    10081008        if (!md) {
    10091009            exit(EXIT_FAILURE);
     
    16951695    {
    16961696        psMetadata      *md;
    1697         p4RunRow        *object;
    1698         bool            status;
    1699 
    1700         object = p4RunRowAlloc(-32, "a string", "a string", "a string", "a string", "0001-01-01T00:00:00Z");
    1701         if (!object) {
    1702             exit(EXIT_FAILURE);
    1703         }
    1704 
    1705         md = p4RunMetadataFromObject(object);
    1706         if (!md) {
    1707             exit(EXIT_FAILURE);
    1708         }
    1709 
    1710         psFree(object);
    1711 
    1712         if (!psMetadataLookupS32(&status, md, "p4_id") == -32) {
     1697        warpRunRow      *object;
     1698        bool            status;
     1699
     1700        object = warpRunRowAlloc(-32, "a string", "a string", "a string", "a string", "0001-01-01T00:00:00Z");
     1701        if (!object) {
     1702            exit(EXIT_FAILURE);
     1703        }
     1704
     1705        md = warpRunMetadataFromObject(object);
     1706        if (!md) {
     1707            exit(EXIT_FAILURE);
     1708        }
     1709
     1710        psFree(object);
     1711
     1712        if (!psMetadataLookupS32(&status, md, "warp_id") == -32) {
    17131713            psFree(md);
    17141714            exit(EXIT_FAILURE);
     
    17391739    {
    17401740        psMetadata      *md;
    1741         p4InputExpRow  *object;
    1742         bool            status;
    1743 
    1744         object = p4InputExpRowAlloc(-32, "a string", -32, true);
    1745         if (!object) {
    1746             exit(EXIT_FAILURE);
    1747         }
    1748 
    1749         md = p4InputExpMetadataFromObject(object);
    1750         if (!md) {
    1751             exit(EXIT_FAILURE);
    1752         }
    1753 
    1754         psFree(object);
    1755 
    1756         if (!psMetadataLookupS32(&status, md, "p4_id") == -32) {
     1741        warpInputExpRow *object;
     1742        bool            status;
     1743
     1744        object = warpInputExpRowAlloc(-32, "a string", -32, true);
     1745        if (!object) {
     1746            exit(EXIT_FAILURE);
     1747        }
     1748
     1749        md = warpInputExpMetadataFromObject(object);
     1750        if (!md) {
     1751            exit(EXIT_FAILURE);
     1752        }
     1753
     1754        psFree(object);
     1755
     1756        if (!psMetadataLookupS32(&status, md, "warp_id") == -32) {
    17571757            psFree(md);
    17581758            exit(EXIT_FAILURE);
     
    17621762            exit(EXIT_FAILURE);
    17631763        }
    1764         if (!psMetadataLookupS32(&status, md, "p3_version") == -32) {
     1764        if (!psMetadataLookupS32(&status, md, "cam_version") == -32) {
    17651765            psFree(md);
    17661766            exit(EXIT_FAILURE);
     
    17761776    {
    17771777        psMetadata      *md;
    1778         p4SkyCellMapRow *object;
    1779         bool            status;
    1780 
    1781         object = p4SkyCellMapRowAlloc(-32, "a string", "a string", "a string", -32, "a string");
    1782         if (!object) {
    1783             exit(EXIT_FAILURE);
    1784         }
    1785 
    1786         md = p4SkyCellMapMetadataFromObject(object);
    1787         if (!md) {
    1788             exit(EXIT_FAILURE);
    1789         }
    1790 
    1791         psFree(object);
    1792 
    1793         if (!psMetadataLookupS32(&status, md, "p4_id") == -32) {
     1778        warpSkyCellMapRow *object;
     1779        bool            status;
     1780
     1781        object = warpSkyCellMapRowAlloc(-32, "a string", "a string", "a string", -32, "a string");
     1782        if (!object) {
     1783            exit(EXIT_FAILURE);
     1784        }
     1785
     1786        md = warpSkyCellMapMetadataFromObject(object);
     1787        if (!md) {
     1788            exit(EXIT_FAILURE);
     1789        }
     1790
     1791        psFree(object);
     1792
     1793        if (!psMetadataLookupS32(&status, md, "warp_id") == -32) {
    17941794            psFree(md);
    17951795            exit(EXIT_FAILURE);
     
    18071807            exit(EXIT_FAILURE);
    18081808        }
    1809         if (!psMetadataLookupS32(&status, md, "p3_version") == -32) {
     1809        if (!psMetadataLookupS32(&status, md, "cam_version") == -32) {
    18101810            psFree(md);
    18111811            exit(EXIT_FAILURE);
     
    18211821    {
    18221822        psMetadata      *md;
    1823         p4SkyfileRow    *object;
    1824         bool            status;
    1825 
    1826         object = p4SkyfileRowAlloc(-32, "a string", "a string", "a string", 64.64, 64.64);
    1827         if (!object) {
    1828             exit(EXIT_FAILURE);
    1829         }
    1830 
    1831         md = p4SkyfileMetadataFromObject(object);
    1832         if (!md) {
    1833             exit(EXIT_FAILURE);
    1834         }
    1835 
    1836         psFree(object);
    1837 
    1838         if (!psMetadataLookupS32(&status, md, "p4_id") == -32) {
     1823        warpSkyfileRow  *object;
     1824        bool            status;
     1825
     1826        object = warpSkyfileRowAlloc(-32, "a string", "a string", "a string", 64.64, 64.64);
     1827        if (!object) {
     1828            exit(EXIT_FAILURE);
     1829        }
     1830
     1831        md = warpSkyfileMetadataFromObject(object);
     1832        if (!md) {
     1833            exit(EXIT_FAILURE);
     1834        }
     1835
     1836        psFree(object);
     1837
     1838        if (!psMetadataLookupS32(&status, md, "warp_id") == -32) {
    18391839            psFree(md);
    18401840            exit(EXIT_FAILURE);
     
    18661866    {
    18671867        psMetadata      *md;
    1868         p5RunRow        *object;
    1869         bool            status;
    1870 
    1871         object = p5RunRowAlloc(-32, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", "a string");
    1872         if (!object) {
    1873             exit(EXIT_FAILURE);
    1874         }
    1875 
    1876         md = p5RunMetadataFromObject(object);
    1877         if (!md) {
    1878             exit(EXIT_FAILURE);
    1879         }
    1880 
    1881         psFree(object);
    1882 
    1883         if (!psMetadataLookupS32(&status, md, "p5_id") == -32) {
     1868        diffRunRow      *object;
     1869        bool            status;
     1870
     1871        object = diffRunRowAlloc(-32, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", "a string");
     1872        if (!object) {
     1873            exit(EXIT_FAILURE);
     1874        }
     1875
     1876        md = diffRunMetadataFromObject(object);
     1877        if (!md) {
     1878            exit(EXIT_FAILURE);
     1879        }
     1880
     1881        psFree(object);
     1882
     1883        if (!psMetadataLookupS32(&status, md, "diff_id") == -32) {
    18841884            psFree(md);
    18851885            exit(EXIT_FAILURE);
     
    19141914    {
    19151915        psMetadata      *md;
    1916         p5InputSkyfileRow *object;
    1917         bool            status;
    1918 
    1919         object = p5InputSkyfileRowAlloc(-32, -32, "a string", "a string", "a string", true);
    1920         if (!object) {
    1921             exit(EXIT_FAILURE);
    1922         }
    1923 
    1924         md = p5InputSkyfileMetadataFromObject(object);
    1925         if (!md) {
    1926             exit(EXIT_FAILURE);
    1927         }
    1928 
    1929         psFree(object);
    1930 
    1931         if (!psMetadataLookupS32(&status, md, "p5_id") == -32) {
    1932             psFree(md);
    1933             exit(EXIT_FAILURE);
    1934         }
    1935         if (!psMetadataLookupS32(&status, md, "p4_id") == -32) {
     1916        diffInputSkyfileRow *object;
     1917        bool            status;
     1918
     1919        object = diffInputSkyfileRowAlloc(-32, -32, "a string", "a string", "a string", true);
     1920        if (!object) {
     1921            exit(EXIT_FAILURE);
     1922        }
     1923
     1924        md = diffInputSkyfileMetadataFromObject(object);
     1925        if (!md) {
     1926            exit(EXIT_FAILURE);
     1927        }
     1928
     1929        psFree(object);
     1930
     1931        if (!psMetadataLookupS32(&status, md, "diff_id") == -32) {
     1932            psFree(md);
     1933            exit(EXIT_FAILURE);
     1934        }
     1935        if (!psMetadataLookupS32(&status, md, "warp_id") == -32) {
    19361936            psFree(md);
    19371937            exit(EXIT_FAILURE);
     
    19591959    {
    19601960        psMetadata      *md;
    1961         p5DiffSkyfileRow *object;
    1962         bool            status;
    1963 
    1964         object = p5DiffSkyfileRowAlloc(-32, "a string", 64.64, 64.64);
    1965         if (!object) {
    1966             exit(EXIT_FAILURE);
    1967         }
    1968 
    1969         md = p5DiffSkyfileMetadataFromObject(object);
    1970         if (!md) {
    1971             exit(EXIT_FAILURE);
    1972         }
    1973 
    1974         psFree(object);
    1975 
    1976         if (!psMetadataLookupS32(&status, md, "p5_id") == -32) {
     1961        diffSkyfileRow *object;
     1962        bool            status;
     1963
     1964        object = diffSkyfileRowAlloc(-32, "a string", 64.64, 64.64);
     1965        if (!object) {
     1966            exit(EXIT_FAILURE);
     1967        }
     1968
     1969        md = diffSkyfileMetadataFromObject(object);
     1970        if (!md) {
     1971            exit(EXIT_FAILURE);
     1972        }
     1973
     1974        psFree(object);
     1975
     1976        if (!psMetadataLookupS32(&status, md, "diff_id") == -32) {
    19771977            psFree(md);
    19781978            exit(EXIT_FAILURE);
     
    19961996    {
    19971997        psMetadata      *md;
    1998         p6RunRow        *object;
    1999         bool            status;
    2000 
    2001         object = p6RunRowAlloc(-32, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", "a string");
    2002         if (!object) {
    2003             exit(EXIT_FAILURE);
    2004         }
    2005 
    2006         md = p6RunMetadataFromObject(object);
    2007         if (!md) {
    2008             exit(EXIT_FAILURE);
    2009         }
    2010 
    2011         psFree(object);
    2012 
    2013         if (!psMetadataLookupS32(&status, md, "p6_id") == -32) {
     1998        stackRunRow     *object;
     1999        bool            status;
     2000
     2001        object = stackRunRowAlloc(-32, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", "a string");
     2002        if (!object) {
     2003            exit(EXIT_FAILURE);
     2004        }
     2005
     2006        md = stackRunMetadataFromObject(object);
     2007        if (!md) {
     2008            exit(EXIT_FAILURE);
     2009        }
     2010
     2011        psFree(object);
     2012
     2013        if (!psMetadataLookupS32(&status, md, "stack_id") == -32) {
    20142014            psFree(md);
    20152015            exit(EXIT_FAILURE);
     
    20442044    {
    20452045        psMetadata      *md;
    2046         p6InputSkyfileRow *object;
    2047         bool            status;
    2048 
    2049         object = p6InputSkyfileRowAlloc(-32, -32);
    2050         if (!object) {
    2051             exit(EXIT_FAILURE);
    2052         }
    2053 
    2054         md = p6InputSkyfileMetadataFromObject(object);
    2055         if (!md) {
    2056             exit(EXIT_FAILURE);
    2057         }
    2058 
    2059         psFree(object);
    2060 
    2061         if (!psMetadataLookupS32(&status, md, "p6_id") == -32) {
    2062             psFree(md);
    2063             exit(EXIT_FAILURE);
    2064         }
    2065         if (!psMetadataLookupS32(&status, md, "p4_id") == -32) {
    2066             psFree(md);
    2067             exit(EXIT_FAILURE);
    2068         }
    2069 
    2070         psFree(md);
    2071     }
    2072 
    2073     {
    2074         psMetadata      *md;
    2075         p6SumSkyfileRow *object;
    2076         bool            status;
    2077 
    2078         object = p6SumSkyfileRowAlloc(-32, "a string", 64.64, 64.64);
    2079         if (!object) {
    2080             exit(EXIT_FAILURE);
    2081         }
    2082 
    2083         md = p6SumSkyfileMetadataFromObject(object);
    2084         if (!md) {
    2085             exit(EXIT_FAILURE);
    2086         }
    2087 
    2088         psFree(object);
    2089 
    2090         if (!psMetadataLookupS32(&status, md, "p6_id") == -32) {
     2046        stackInputSkyfileRow *object;
     2047        bool            status;
     2048
     2049        object = stackInputSkyfileRowAlloc(-32, -32);
     2050        if (!object) {
     2051            exit(EXIT_FAILURE);
     2052        }
     2053
     2054        md = stackInputSkyfileMetadataFromObject(object);
     2055        if (!md) {
     2056            exit(EXIT_FAILURE);
     2057        }
     2058
     2059        psFree(object);
     2060
     2061        if (!psMetadataLookupS32(&status, md, "stack_id") == -32) {
     2062            psFree(md);
     2063            exit(EXIT_FAILURE);
     2064        }
     2065        if (!psMetadataLookupS32(&status, md, "warp_id") == -32) {
     2066            psFree(md);
     2067            exit(EXIT_FAILURE);
     2068        }
     2069
     2070        psFree(md);
     2071    }
     2072
     2073    {
     2074        psMetadata      *md;
     2075        stackSumSkyfileRow *object;
     2076        bool            status;
     2077
     2078        object = stackSumSkyfileRowAlloc(-32, "a string", 64.64, 64.64);
     2079        if (!object) {
     2080            exit(EXIT_FAILURE);
     2081        }
     2082
     2083        md = stackSumSkyfileMetadataFromObject(object);
     2084        if (!md) {
     2085            exit(EXIT_FAILURE);
     2086        }
     2087
     2088        psFree(object);
     2089
     2090        if (!psMetadataLookupS32(&status, md, "stack_id") == -32) {
    20912091            psFree(md);
    20922092            exit(EXIT_FAILURE);
  • trunk/ippdb/tests/objectfrommetadata.c

    r11988 r12026  
    908908    {
    909909        psMetadata      *md;
    910         p1PendingExpRow *object;
     910        guidePendingExpRow *object;
    911911
    912912        md = psMetadataAlloc();
     
    915915            exit(EXIT_FAILURE);
    916916        }
    917         if (!psMetadataAddS32(md, PS_LIST_TAIL, "p1_version", 0, NULL, -32)) {
     917        if (!psMetadataAddS32(md, PS_LIST_TAIL, "guide_version", 0, NULL, -32)) {
    918918            psFree(md);
    919919            exit(EXIT_FAILURE);
     
    924924        }
    925925
    926         object = p1PendingExpObjectFromMetadata(md);
     926        object = guidePendingExpObjectFromMetadata(md);
    927927        if (!object) {
    928928            psFree(md);
     
    936936            exit(EXIT_FAILURE);
    937937        }
    938         if (!object->p1_version == -32) {
     938        if (!object->guide_version == -32) {
    939939            psFree(object);
    940940            exit(EXIT_FAILURE);
     
    950950    {
    951951        psMetadata      *md;
    952         p2PendingExpRow *object;
     952        chipPendingExpRow *object;
    953953
    954954        md = psMetadataAlloc();
     
    957957            exit(EXIT_FAILURE);
    958958        }
    959         if (!psMetadataAddS32(md, PS_LIST_TAIL, "p2_version", 0, NULL, -32)) {
    960             psFree(md);
    961             exit(EXIT_FAILURE);
    962         }
    963         if (!psMetadataAddS32(md, PS_LIST_TAIL, "p1_version", 0, NULL, -32)) {
     959        if (!psMetadataAddS32(md, PS_LIST_TAIL, "chip_version", 0, NULL, -32)) {
     960            psFree(md);
     961            exit(EXIT_FAILURE);
     962        }
     963        if (!psMetadataAddS32(md, PS_LIST_TAIL, "guide_version", 0, NULL, -32)) {
    964964            psFree(md);
    965965            exit(EXIT_FAILURE);
     
    982982        }
    983983
    984         object = p2PendingExpObjectFromMetadata(md);
     984        object = chipPendingExpObjectFromMetadata(md);
    985985        if (!object) {
    986986            psFree(md);
     
    994994            exit(EXIT_FAILURE);
    995995        }
    996         if (!object->p2_version == -32) {
    997             psFree(object);
    998             exit(EXIT_FAILURE);
    999         }
    1000         if (!object->p1_version == -32) {
     996        if (!object->chip_version == -32) {
     997            psFree(object);
     998            exit(EXIT_FAILURE);
     999        }
     1000        if (!object->guide_version == -32) {
    10011001            psFree(object);
    10021002            exit(EXIT_FAILURE);
     
    10241024    {
    10251025        psMetadata      *md;
    1026         p2PendingImfileRow *object;
     1026        chipPendingImfileRow *object;
    10271027
    10281028        md = psMetadataAlloc();
     
    10311031            exit(EXIT_FAILURE);
    10321032        }
    1033         if (!psMetadataAddS32(md, PS_LIST_TAIL, "p2_version", 0, NULL, -32)) {
    1034             psFree(md);
    1035             exit(EXIT_FAILURE);
    1036         }
    1037         if (!psMetadataAddS32(md, PS_LIST_TAIL, "p1_version", 0, NULL, -32)) {
     1033        if (!psMetadataAddS32(md, PS_LIST_TAIL, "chip_version", 0, NULL, -32)) {
     1034            psFree(md);
     1035            exit(EXIT_FAILURE);
     1036        }
     1037        if (!psMetadataAddS32(md, PS_LIST_TAIL, "guide_version", 0, NULL, -32)) {
    10381038            psFree(md);
    10391039            exit(EXIT_FAILURE);
     
    10521052        }
    10531053
    1054         object = p2PendingImfileObjectFromMetadata(md);
     1054        object = chipPendingImfileObjectFromMetadata(md);
    10551055        if (!object) {
    10561056            psFree(md);
     
    10641064            exit(EXIT_FAILURE);
    10651065        }
    1066         if (!object->p2_version == -32) {
    1067             psFree(object);
    1068             exit(EXIT_FAILURE);
    1069         }
    1070         if (!object->p1_version == -32) {
     1066        if (!object->chip_version == -32) {
     1067            psFree(object);
     1068            exit(EXIT_FAILURE);
     1069        }
     1070        if (!object->guide_version == -32) {
    10711071            psFree(object);
    10721072            exit(EXIT_FAILURE);
     
    10901090    {
    10911091        psMetadata      *md;
    1092         p2ProcessedExpRow *object;
     1092        chipProcessedExpRow *object;
    10931093
    10941094        md = psMetadataAlloc();
     
    10971097            exit(EXIT_FAILURE);
    10981098        }
    1099         if (!psMetadataAddS32(md, PS_LIST_TAIL, "p2_version", 0, NULL, -32)) {
    1100             psFree(md);
    1101             exit(EXIT_FAILURE);
    1102         }
    1103         if (!psMetadataAddS32(md, PS_LIST_TAIL, "p1_version", 0, NULL, -32)) {
     1099        if (!psMetadataAddS32(md, PS_LIST_TAIL, "chip_version", 0, NULL, -32)) {
     1100            psFree(md);
     1101            exit(EXIT_FAILURE);
     1102        }
     1103        if (!psMetadataAddS32(md, PS_LIST_TAIL, "guide_version", 0, NULL, -32)) {
    11041104            psFree(md);
    11051105            exit(EXIT_FAILURE);
     
    11181118        }
    11191119
    1120         object = p2ProcessedExpObjectFromMetadata(md);
     1120        object = chipProcessedExpObjectFromMetadata(md);
    11211121        if (!object) {
    11221122            psFree(md);
     
    11301130            exit(EXIT_FAILURE);
    11311131        }
    1132         if (!object->p2_version == -32) {
    1133             psFree(object);
    1134             exit(EXIT_FAILURE);
    1135         }
    1136         if (!object->p1_version == -32) {
     1132        if (!object->chip_version == -32) {
     1133            psFree(object);
     1134            exit(EXIT_FAILURE);
     1135        }
     1136        if (!object->guide_version == -32) {
    11371137            psFree(object);
    11381138            exit(EXIT_FAILURE);
     
    11561156    {
    11571157        psMetadata      *md;
    1158         p2MaskRow       *object;
     1158        chipMaskRow     *object;
    11591159
    11601160        md = psMetadataAlloc();
     
    11641164        }
    11651165
    1166         object = p2MaskObjectFromMetadata(md);
     1166        object = chipMaskObjectFromMetadata(md);
    11671167        if (!object) {
    11681168            psFree(md);
     
    11821182    {
    11831183        psMetadata      *md;
    1184         p2ProcessedImfileRow *object;
     1184        chipProcessedImfileRow *object;
    11851185
    11861186        md = psMetadataAlloc();
     
    11891189            exit(EXIT_FAILURE);
    11901190        }
    1191         if (!psMetadataAddS32(md, PS_LIST_TAIL, "p2_version", 0, NULL, -32)) {
    1192             psFree(md);
    1193             exit(EXIT_FAILURE);
    1194         }
    1195         if (!psMetadataAddS32(md, PS_LIST_TAIL, "p1_version", 0, NULL, -32)) {
     1191        if (!psMetadataAddS32(md, PS_LIST_TAIL, "chip_version", 0, NULL, -32)) {
     1192            psFree(md);
     1193            exit(EXIT_FAILURE);
     1194        }
     1195        if (!psMetadataAddS32(md, PS_LIST_TAIL, "guide_version", 0, NULL, -32)) {
    11961196            psFree(md);
    11971197            exit(EXIT_FAILURE);
     
    12331233        }
    12341234
    1235         object = p2ProcessedImfileObjectFromMetadata(md);
     1235        object = chipProcessedImfileObjectFromMetadata(md);
    12361236        if (!object) {
    12371237            psFree(md);
     
    12451245            exit(EXIT_FAILURE);
    12461246        }
    1247         if (!object->p2_version == -32) {
    1248             psFree(object);
    1249             exit(EXIT_FAILURE);
    1250         }
    1251         if (!object->p1_version == -32) {
     1247        if (!object->chip_version == -32) {
     1248            psFree(object);
     1249            exit(EXIT_FAILURE);
     1250        }
     1251        if (!object->guide_version == -32) {
    12521252            psFree(object);
    12531253            exit(EXIT_FAILURE);
     
    12941294    {
    12951295        psMetadata      *md;
    1296         p3PendingExpRow *object;
     1296        camPendingExpRow *object;
    12971297
    12981298        md = psMetadataAlloc();
     
    13011301            exit(EXIT_FAILURE);
    13021302        }
    1303         if (!psMetadataAddS32(md, PS_LIST_TAIL, "p3_version", 0, NULL, -32)) {
    1304             psFree(md);
    1305             exit(EXIT_FAILURE);
    1306         }
    1307         if (!psMetadataAddS32(md, PS_LIST_TAIL, "p2_version", 0, NULL, -32)) {
     1303        if (!psMetadataAddS32(md, PS_LIST_TAIL, "cam_version", 0, NULL, -32)) {
     1304            psFree(md);
     1305            exit(EXIT_FAILURE);
     1306        }
     1307        if (!psMetadataAddS32(md, PS_LIST_TAIL, "chip_version", 0, NULL, -32)) {
    13081308            psFree(md);
    13091309            exit(EXIT_FAILURE);
     
    13221322        }
    13231323
    1324         object = p3PendingExpObjectFromMetadata(md);
     1324        object = camPendingExpObjectFromMetadata(md);
    13251325        if (!object) {
    13261326            psFree(md);
     
    13341334            exit(EXIT_FAILURE);
    13351335        }
    1336         if (!object->p3_version == -32) {
    1337             psFree(object);
    1338             exit(EXIT_FAILURE);
    1339         }
    1340         if (!object->p2_version == -32) {
     1336        if (!object->cam_version == -32) {
     1337            psFree(object);
     1338            exit(EXIT_FAILURE);
     1339        }
     1340        if (!object->chip_version == -32) {
    13411341            psFree(object);
    13421342            exit(EXIT_FAILURE);
     
    13601360    {
    13611361        psMetadata      *md;
    1362         p3ProcessedExpRow *object;
     1362        camProcessedExpRow *object;
    13631363
    13641364        md = psMetadataAlloc();
     
    13671367            exit(EXIT_FAILURE);
    13681368        }
    1369         if (!psMetadataAddS32(md, PS_LIST_TAIL, "p3_version", 0, NULL, -32)) {
    1370             psFree(md);
    1371             exit(EXIT_FAILURE);
    1372         }
    1373         if (!psMetadataAddS32(md, PS_LIST_TAIL, "p2_version", 0, NULL, -32)) {
     1369        if (!psMetadataAddS32(md, PS_LIST_TAIL, "cam_version", 0, NULL, -32)) {
     1370            psFree(md);
     1371            exit(EXIT_FAILURE);
     1372        }
     1373        if (!psMetadataAddS32(md, PS_LIST_TAIL, "chip_version", 0, NULL, -32)) {
    13741374            psFree(md);
    13751375            exit(EXIT_FAILURE);
     
    14391439        }
    14401440
    1441         object = p3ProcessedExpObjectFromMetadata(md);
     1441        object = camProcessedExpObjectFromMetadata(md);
    14421442        if (!object) {
    14431443            psFree(md);
     
    14511451            exit(EXIT_FAILURE);
    14521452        }
    1453         if (!object->p3_version == -32) {
    1454             psFree(object);
    1455             exit(EXIT_FAILURE);
    1456         }
    1457         if (!object->p2_version == -32) {
     1453        if (!object->cam_version == -32) {
     1454            psFree(object);
     1455            exit(EXIT_FAILURE);
     1456        }
     1457        if (!object->chip_version == -32) {
    14581458            psFree(object);
    14591459            exit(EXIT_FAILURE);
     
    15281528    {
    15291529        psMetadata      *md;
    1530         p3MaskRow       *object;
     1530        camMaskRow      *object;
    15311531
    15321532        md = psMetadataAlloc();
     
    15361536        }
    15371537
    1538         object = p3MaskObjectFromMetadata(md);
     1538        object = camMaskObjectFromMetadata(md);
    15391539        if (!object) {
    15401540            psFree(md);
     
    26362636    {
    26372637        psMetadata      *md;
    2638         p4RunRow        *object;
    2639 
    2640         md = psMetadataAlloc();
    2641         if (!psMetadataAddS32(md, PS_LIST_TAIL, "p4_id", 0, NULL, -32)) {
     2638        warpRunRow      *object;
     2639
     2640        md = psMetadataAlloc();
     2641        if (!psMetadataAddS32(md, PS_LIST_TAIL, "warp_id", 0, NULL, -32)) {
    26422642            psFree(md);
    26432643            exit(EXIT_FAILURE);
     
    26632663        }
    26642664
    2665         object = p4RunObjectFromMetadata(md);
    2666         if (!object) {
    2667             psFree(md);
    2668             exit(EXIT_FAILURE);
    2669         }
    2670 
    2671         psFree(md);
    2672 
    2673         if (!object->p4_id == -32) {
     2665        object = warpRunObjectFromMetadata(md);
     2666        if (!object) {
     2667            psFree(md);
     2668            exit(EXIT_FAILURE);
     2669        }
     2670
     2671        psFree(md);
     2672
     2673        if (!object->warp_id == -32) {
    26742674            psFree(object);
    26752675            exit(EXIT_FAILURE);
     
    27002700    {
    27012701        psMetadata      *md;
    2702         p4InputExpRow  *object;
    2703 
    2704         md = psMetadataAlloc();
    2705         if (!psMetadataAddS32(md, PS_LIST_TAIL, "p4_id", 0, NULL, -32)) {
     2702        warpInputExpRow *object;
     2703
     2704        md = psMetadataAlloc();
     2705        if (!psMetadataAddS32(md, PS_LIST_TAIL, "warp_id", 0, NULL, -32)) {
    27062706            psFree(md);
    27072707            exit(EXIT_FAILURE);
     
    27112711            exit(EXIT_FAILURE);
    27122712        }
    2713         if (!psMetadataAddS32(md, PS_LIST_TAIL, "p3_version", 0, NULL, -32)) {
     2713        if (!psMetadataAddS32(md, PS_LIST_TAIL, "cam_version", 0, NULL, -32)) {
    27142714            psFree(md);
    27152715            exit(EXIT_FAILURE);
     
    27202720        }
    27212721
    2722         object = p4InputExpObjectFromMetadata(md);
    2723         if (!object) {
    2724             psFree(md);
    2725             exit(EXIT_FAILURE);
    2726         }
    2727 
    2728         psFree(md);
    2729 
    2730         if (!object->p4_id == -32) {
     2722        object = warpInputExpObjectFromMetadata(md);
     2723        if (!object) {
     2724            psFree(md);
     2725            exit(EXIT_FAILURE);
     2726        }
     2727
     2728        psFree(md);
     2729
     2730        if (!object->warp_id == -32) {
    27312731            psFree(object);
    27322732            exit(EXIT_FAILURE);
     
    27362736            exit(EXIT_FAILURE);
    27372737        }
    2738         if (!object->p3_version == -32) {
     2738        if (!object->cam_version == -32) {
    27392739            psFree(object);
    27402740            exit(EXIT_FAILURE);
     
    27502750    {
    27512751        psMetadata      *md;
    2752         p4SkyCellMapRow *object;
    2753 
    2754         md = psMetadataAlloc();
    2755         if (!psMetadataAddS32(md, PS_LIST_TAIL, "p4_id", 0, NULL, -32)) {
     2752        warpSkyCellMapRow *object;
     2753
     2754        md = psMetadataAlloc();
     2755        if (!psMetadataAddS32(md, PS_LIST_TAIL, "warp_id", 0, NULL, -32)) {
    27562756            psFree(md);
    27572757            exit(EXIT_FAILURE);
     
    27692769            exit(EXIT_FAILURE);
    27702770        }
    2771         if (!psMetadataAddS32(md, PS_LIST_TAIL, "p3_version", 0, NULL, -32)) {
     2771        if (!psMetadataAddS32(md, PS_LIST_TAIL, "cam_version", 0, NULL, -32)) {
    27722772            psFree(md);
    27732773            exit(EXIT_FAILURE);
     
    27782778        }
    27792779
    2780         object = p4SkyCellMapObjectFromMetadata(md);
    2781         if (!object) {
    2782             psFree(md);
    2783             exit(EXIT_FAILURE);
    2784         }
    2785 
    2786         psFree(md);
    2787 
    2788         if (!object->p4_id == -32) {
     2780        object = warpSkyCellMapObjectFromMetadata(md);
     2781        if (!object) {
     2782            psFree(md);
     2783            exit(EXIT_FAILURE);
     2784        }
     2785
     2786        psFree(md);
     2787
     2788        if (!object->warp_id == -32) {
    27892789            psFree(object);
    27902790            exit(EXIT_FAILURE);
     
    28022802            exit(EXIT_FAILURE);
    28032803        }
    2804         if (!object->p3_version == -32) {
     2804        if (!object->cam_version == -32) {
    28052805            psFree(object);
    28062806            exit(EXIT_FAILURE);
     
    28162816    {
    28172817        psMetadata      *md;
    2818         p4SkyfileRow    *object;
    2819 
    2820         md = psMetadataAlloc();
    2821         if (!psMetadataAddS32(md, PS_LIST_TAIL, "p4_id", 0, NULL, -32)) {
     2818        warpSkyfileRow  *object;
     2819
     2820        md = psMetadataAlloc();
     2821        if (!psMetadataAddS32(md, PS_LIST_TAIL, "warp_id", 0, NULL, -32)) {
    28222822            psFree(md);
    28232823            exit(EXIT_FAILURE);
     
    28442844        }
    28452845
    2846         object = p4SkyfileObjectFromMetadata(md);
    2847         if (!object) {
    2848             psFree(md);
    2849             exit(EXIT_FAILURE);
    2850         }
    2851 
    2852         psFree(md);
    2853 
    2854         if (!object->p4_id == -32) {
     2846        object = warpSkyfileObjectFromMetadata(md);
     2847        if (!object) {
     2848            psFree(md);
     2849            exit(EXIT_FAILURE);
     2850        }
     2851
     2852        psFree(md);
     2853
     2854        if (!object->warp_id == -32) {
    28552855            psFree(object);
    28562856            exit(EXIT_FAILURE);
     
    28822882    {
    28832883        psMetadata      *md;
    2884         p5RunRow        *object;
    2885 
    2886         md = psMetadataAlloc();
    2887         if (!psMetadataAddS32(md, PS_LIST_TAIL, "p5_id", 0, NULL, -32)) {
     2884        diffRunRow      *object;
     2885
     2886        md = psMetadataAlloc();
     2887        if (!psMetadataAddS32(md, PS_LIST_TAIL, "diff_id", 0, NULL, -32)) {
    28882888            psFree(md);
    28892889            exit(EXIT_FAILURE);
     
    29132913        }
    29142914
    2915         object = p5RunObjectFromMetadata(md);
    2916         if (!object) {
    2917             psFree(md);
    2918             exit(EXIT_FAILURE);
    2919         }
    2920 
    2921         psFree(md);
    2922 
    2923         if (!object->p5_id == -32) {
     2915        object = diffRunObjectFromMetadata(md);
     2916        if (!object) {
     2917            psFree(md);
     2918            exit(EXIT_FAILURE);
     2919        }
     2920
     2921        psFree(md);
     2922
     2923        if (!object->diff_id == -32) {
    29242924            psFree(object);
    29252925            exit(EXIT_FAILURE);
     
    29542954    {
    29552955        psMetadata      *md;
    2956         p5InputSkyfileRow *object;
    2957 
    2958         md = psMetadataAlloc();
    2959         if (!psMetadataAddS32(md, PS_LIST_TAIL, "p5_id", 0, NULL, -32)) {
    2960             psFree(md);
    2961             exit(EXIT_FAILURE);
    2962         }
    2963         if (!psMetadataAddS32(md, PS_LIST_TAIL, "p4_id", 0, NULL, -32)) {
     2956        diffInputSkyfileRow *object;
     2957
     2958        md = psMetadataAlloc();
     2959        if (!psMetadataAddS32(md, PS_LIST_TAIL, "diff_id", 0, NULL, -32)) {
     2960            psFree(md);
     2961            exit(EXIT_FAILURE);
     2962        }
     2963        if (!psMetadataAddS32(md, PS_LIST_TAIL, "warp_id", 0, NULL, -32)) {
    29642964            psFree(md);
    29652965            exit(EXIT_FAILURE);
     
    29822982        }
    29832983
    2984         object = p5InputSkyfileObjectFromMetadata(md);
    2985         if (!object) {
    2986             psFree(md);
    2987             exit(EXIT_FAILURE);
    2988         }
    2989 
    2990         psFree(md);
    2991 
    2992         if (!object->p5_id == -32) {
    2993             psFree(object);
    2994             exit(EXIT_FAILURE);
    2995         }
    2996         if (!object->p4_id == -32) {
     2984        object = diffInputSkyfileObjectFromMetadata(md);
     2985        if (!object) {
     2986            psFree(md);
     2987            exit(EXIT_FAILURE);
     2988        }
     2989
     2990        psFree(md);
     2991
     2992        if (!object->diff_id == -32) {
     2993            psFree(object);
     2994            exit(EXIT_FAILURE);
     2995        }
     2996        if (!object->warp_id == -32) {
    29972997            psFree(object);
    29982998            exit(EXIT_FAILURE);
     
    30203020    {
    30213021        psMetadata      *md;
    3022         p5DiffSkyfileRow *object;
    3023 
    3024         md = psMetadataAlloc();
    3025         if (!psMetadataAddS32(md, PS_LIST_TAIL, "p5_id", 0, NULL, -32)) {
     3022        diffSkyfileRow *object;
     3023
     3024        md = psMetadataAlloc();
     3025        if (!psMetadataAddS32(md, PS_LIST_TAIL, "diff_id", 0, NULL, -32)) {
    30263026            psFree(md);
    30273027            exit(EXIT_FAILURE);
     
    30403040        }
    30413041
    3042         object = p5DiffSkyfileObjectFromMetadata(md);
    3043         if (!object) {
    3044             psFree(md);
    3045             exit(EXIT_FAILURE);
    3046         }
    3047 
    3048         psFree(md);
    3049 
    3050         if (!object->p5_id == -32) {
     3042        object = diffSkyfileObjectFromMetadata(md);
     3043        if (!object) {
     3044            psFree(md);
     3045            exit(EXIT_FAILURE);
     3046        }
     3047
     3048        psFree(md);
     3049
     3050        if (!object->diff_id == -32) {
    30513051            psFree(object);
    30523052            exit(EXIT_FAILURE);
     
    30703070    {
    30713071        psMetadata      *md;
    3072         p6RunRow        *object;
    3073 
    3074         md = psMetadataAlloc();
    3075         if (!psMetadataAddS32(md, PS_LIST_TAIL, "p6_id", 0, NULL, -32)) {
     3072        stackRunRow     *object;
     3073
     3074        md = psMetadataAlloc();
     3075        if (!psMetadataAddS32(md, PS_LIST_TAIL, "stack_id", 0, NULL, -32)) {
    30763076            psFree(md);
    30773077            exit(EXIT_FAILURE);
     
    31013101        }
    31023102
    3103         object = p6RunObjectFromMetadata(md);
    3104         if (!object) {
    3105             psFree(md);
    3106             exit(EXIT_FAILURE);
    3107         }
    3108 
    3109         psFree(md);
    3110 
    3111         if (!object->p6_id == -32) {
     3103        object = stackRunObjectFromMetadata(md);
     3104        if (!object) {
     3105            psFree(md);
     3106            exit(EXIT_FAILURE);
     3107        }
     3108
     3109        psFree(md);
     3110
     3111        if (!object->stack_id == -32) {
    31123112            psFree(object);
    31133113            exit(EXIT_FAILURE);
     
    31423142    {
    31433143        psMetadata      *md;
    3144         p6InputSkyfileRow *object;
    3145 
    3146         md = psMetadataAlloc();
    3147         if (!psMetadataAddS32(md, PS_LIST_TAIL, "p6_id", 0, NULL, -32)) {
    3148             psFree(md);
    3149             exit(EXIT_FAILURE);
    3150         }
    3151         if (!psMetadataAddS32(md, PS_LIST_TAIL, "p4_id", 0, NULL, -32)) {
    3152             psFree(md);
    3153             exit(EXIT_FAILURE);
    3154         }
    3155 
    3156         object = p6InputSkyfileObjectFromMetadata(md);
    3157         if (!object) {
    3158             psFree(md);
    3159             exit(EXIT_FAILURE);
    3160         }
    3161 
    3162         psFree(md);
    3163 
    3164         if (!object->p6_id == -32) {
    3165             psFree(object);
    3166             exit(EXIT_FAILURE);
    3167         }
    3168         if (!object->p4_id == -32) {
    3169             psFree(object);
    3170             exit(EXIT_FAILURE);
    3171         }
    3172 
    3173         psFree(object);
    3174     }
    3175 
    3176     {
    3177         psMetadata      *md;
    3178         p6SumSkyfileRow *object;
    3179 
    3180         md = psMetadataAlloc();
    3181         if (!psMetadataAddS32(md, PS_LIST_TAIL, "p6_id", 0, NULL, -32)) {
     3144        stackInputSkyfileRow *object;
     3145
     3146        md = psMetadataAlloc();
     3147        if (!psMetadataAddS32(md, PS_LIST_TAIL, "stack_id", 0, NULL, -32)) {
     3148            psFree(md);
     3149            exit(EXIT_FAILURE);
     3150        }
     3151        if (!psMetadataAddS32(md, PS_LIST_TAIL, "warp_id", 0, NULL, -32)) {
     3152            psFree(md);
     3153            exit(EXIT_FAILURE);
     3154        }
     3155
     3156        object = stackInputSkyfileObjectFromMetadata(md);
     3157        if (!object) {
     3158            psFree(md);
     3159            exit(EXIT_FAILURE);
     3160        }
     3161
     3162        psFree(md);
     3163
     3164        if (!object->stack_id == -32) {
     3165            psFree(object);
     3166            exit(EXIT_FAILURE);
     3167        }
     3168        if (!object->warp_id == -32) {
     3169            psFree(object);
     3170            exit(EXIT_FAILURE);
     3171        }
     3172
     3173        psFree(object);
     3174    }
     3175
     3176    {
     3177        psMetadata      *md;
     3178        stackSumSkyfileRow *object;
     3179
     3180        md = psMetadataAlloc();
     3181        if (!psMetadataAddS32(md, PS_LIST_TAIL, "stack_id", 0, NULL, -32)) {
    31823182            psFree(md);
    31833183            exit(EXIT_FAILURE);
     
    31963196        }
    31973197
    3198         object = p6SumSkyfileObjectFromMetadata(md);
    3199         if (!object) {
    3200             psFree(md);
    3201             exit(EXIT_FAILURE);
    3202         }
    3203 
    3204         psFree(md);
    3205 
    3206         if (!object->p6_id == -32) {
     3198        object = stackSumSkyfileObjectFromMetadata(md);
     3199        if (!object) {
     3200            psFree(md);
     3201            exit(EXIT_FAILURE);
     3202        }
     3203
     3204        psFree(md);
     3205
     3206        if (!object->stack_id == -32) {
    32073207            psFree(object);
    32083208            exit(EXIT_FAILURE);
  • trunk/ippdb/tests/selectrowsfits.c

    r11988 r12026  
    263263        }
    264264
    265         if (!p1PendingExpSelectRowsFits(dbh, fits, NULL, 1)) {
    266             exit(EXIT_FAILURE);
    267         }
    268 
    269         psFree(fits);
    270         psDBCleanup(dbh);
    271     }
    272 
    273     {
    274         psDB            *dbh;
    275         psFits          *fits;
    276 
    277         dbh = psDBInit("localhost", "test", NULL, "test");
    278         if (!dbh) {
    279             exit(EXIT_FAILURE);
    280         }
    281 
    282         fits = psFitsOpen(TMP_FILENAME, "w");
    283         if (!fits) {
    284             exit(EXIT_FAILURE);
    285         }
    286 
    287         if (!p2PendingExpSelectRowsFits(dbh, fits, NULL, 1)) {
    288             exit(EXIT_FAILURE);
    289         }
    290 
    291         psFree(fits);
    292         psDBCleanup(dbh);
    293     }
    294 
    295     {
    296         psDB            *dbh;
    297         psFits          *fits;
    298 
    299         dbh = psDBInit("localhost", "test", NULL, "test");
    300         if (!dbh) {
    301             exit(EXIT_FAILURE);
    302         }
    303 
    304         fits = psFitsOpen(TMP_FILENAME, "w");
    305         if (!fits) {
    306             exit(EXIT_FAILURE);
    307         }
    308 
    309         if (!p2PendingImfileSelectRowsFits(dbh, fits, NULL, 1)) {
    310             exit(EXIT_FAILURE);
    311         }
    312 
    313         psFree(fits);
    314         psDBCleanup(dbh);
    315     }
    316 
    317     {
    318         psDB            *dbh;
    319         psFits          *fits;
    320 
    321         dbh = psDBInit("localhost", "test", NULL, "test");
    322         if (!dbh) {
    323             exit(EXIT_FAILURE);
    324         }
    325 
    326         fits = psFitsOpen(TMP_FILENAME, "w");
    327         if (!fits) {
    328             exit(EXIT_FAILURE);
    329         }
    330 
    331         if (!p2ProcessedExpSelectRowsFits(dbh, fits, NULL, 1)) {
    332             exit(EXIT_FAILURE);
    333         }
    334 
    335         psFree(fits);
    336         psDBCleanup(dbh);
    337     }
    338 
    339     {
    340         psDB            *dbh;
    341         psFits          *fits;
    342 
    343         dbh = psDBInit("localhost", "test", NULL, "test");
    344         if (!dbh) {
    345             exit(EXIT_FAILURE);
    346         }
    347 
    348         fits = psFitsOpen(TMP_FILENAME, "w");
    349         if (!fits) {
    350             exit(EXIT_FAILURE);
    351         }
    352 
    353         if (!p2MaskSelectRowsFits(dbh, fits, NULL, 1)) {
    354             exit(EXIT_FAILURE);
    355         }
    356 
    357         psFree(fits);
    358         psDBCleanup(dbh);
    359     }
    360 
    361     {
    362         psDB            *dbh;
    363         psFits          *fits;
    364 
    365         dbh = psDBInit("localhost", "test", NULL, "test");
    366         if (!dbh) {
    367             exit(EXIT_FAILURE);
    368         }
    369 
    370         fits = psFitsOpen(TMP_FILENAME, "w");
    371         if (!fits) {
    372             exit(EXIT_FAILURE);
    373         }
    374 
    375         if (!p2ProcessedImfileSelectRowsFits(dbh, fits, NULL, 1)) {
    376             exit(EXIT_FAILURE);
    377         }
    378 
    379         psFree(fits);
    380         psDBCleanup(dbh);
    381     }
    382 
    383     {
    384         psDB            *dbh;
    385         psFits          *fits;
    386 
    387         dbh = psDBInit("localhost", "test", NULL, "test");
    388         if (!dbh) {
    389             exit(EXIT_FAILURE);
    390         }
    391 
    392         fits = psFitsOpen(TMP_FILENAME, "w");
    393         if (!fits) {
    394             exit(EXIT_FAILURE);
    395         }
    396 
    397         if (!p3PendingExpSelectRowsFits(dbh, fits, NULL, 1)) {
    398             exit(EXIT_FAILURE);
    399         }
    400 
    401         psFree(fits);
    402         psDBCleanup(dbh);
    403     }
    404 
    405     {
    406         psDB            *dbh;
    407         psFits          *fits;
    408 
    409         dbh = psDBInit("localhost", "test", NULL, "test");
    410         if (!dbh) {
    411             exit(EXIT_FAILURE);
    412         }
    413 
    414         fits = psFitsOpen(TMP_FILENAME, "w");
    415         if (!fits) {
    416             exit(EXIT_FAILURE);
    417         }
    418 
    419         if (!p3ProcessedExpSelectRowsFits(dbh, fits, NULL, 1)) {
    420             exit(EXIT_FAILURE);
    421         }
    422 
    423         psFree(fits);
    424         psDBCleanup(dbh);
    425     }
    426 
    427     {
    428         psDB            *dbh;
    429         psFits          *fits;
    430 
    431         dbh = psDBInit("localhost", "test", NULL, "test");
    432         if (!dbh) {
    433             exit(EXIT_FAILURE);
    434         }
    435 
    436         fits = psFitsOpen(TMP_FILENAME, "w");
    437         if (!fits) {
    438             exit(EXIT_FAILURE);
    439         }
    440 
    441         if (!p3MaskSelectRowsFits(dbh, fits, NULL, 1)) {
     265        if (!guidePendingExpSelectRowsFits(dbh, fits, NULL, 1)) {
     266            exit(EXIT_FAILURE);
     267        }
     268
     269        psFree(fits);
     270        psDBCleanup(dbh);
     271    }
     272
     273    {
     274        psDB            *dbh;
     275        psFits          *fits;
     276
     277        dbh = psDBInit("localhost", "test", NULL, "test");
     278        if (!dbh) {
     279            exit(EXIT_FAILURE);
     280        }
     281
     282        fits = psFitsOpen(TMP_FILENAME, "w");
     283        if (!fits) {
     284            exit(EXIT_FAILURE);
     285        }
     286
     287        if (!chipPendingExpSelectRowsFits(dbh, fits, NULL, 1)) {
     288            exit(EXIT_FAILURE);
     289        }
     290
     291        psFree(fits);
     292        psDBCleanup(dbh);
     293    }
     294
     295    {
     296        psDB            *dbh;
     297        psFits          *fits;
     298
     299        dbh = psDBInit("localhost", "test", NULL, "test");
     300        if (!dbh) {
     301            exit(EXIT_FAILURE);
     302        }
     303
     304        fits = psFitsOpen(TMP_FILENAME, "w");
     305        if (!fits) {
     306            exit(EXIT_FAILURE);
     307        }
     308
     309        if (!chipPendingImfileSelectRowsFits(dbh, fits, NULL, 1)) {
     310            exit(EXIT_FAILURE);
     311        }
     312
     313        psFree(fits);
     314        psDBCleanup(dbh);
     315    }
     316
     317    {
     318        psDB            *dbh;
     319        psFits          *fits;
     320
     321        dbh = psDBInit("localhost", "test", NULL, "test");
     322        if (!dbh) {
     323            exit(EXIT_FAILURE);
     324        }
     325
     326        fits = psFitsOpen(TMP_FILENAME, "w");
     327        if (!fits) {
     328            exit(EXIT_FAILURE);
     329        }
     330
     331        if (!chipProcessedExpSelectRowsFits(dbh, fits, NULL, 1)) {
     332            exit(EXIT_FAILURE);
     333        }
     334
     335        psFree(fits);
     336        psDBCleanup(dbh);
     337    }
     338
     339    {
     340        psDB            *dbh;
     341        psFits          *fits;
     342
     343        dbh = psDBInit("localhost", "test", NULL, "test");
     344        if (!dbh) {
     345            exit(EXIT_FAILURE);
     346        }
     347
     348        fits = psFitsOpen(TMP_FILENAME, "w");
     349        if (!fits) {
     350            exit(EXIT_FAILURE);
     351        }
     352
     353        if (!chipMaskSelectRowsFits(dbh, fits, NULL, 1)) {
     354            exit(EXIT_FAILURE);
     355        }
     356
     357        psFree(fits);
     358        psDBCleanup(dbh);
     359    }
     360
     361    {
     362        psDB            *dbh;
     363        psFits          *fits;
     364
     365        dbh = psDBInit("localhost", "test", NULL, "test");
     366        if (!dbh) {
     367            exit(EXIT_FAILURE);
     368        }
     369
     370        fits = psFitsOpen(TMP_FILENAME, "w");
     371        if (!fits) {
     372            exit(EXIT_FAILURE);
     373        }
     374
     375        if (!chipProcessedImfileSelectRowsFits(dbh, fits, NULL, 1)) {
     376            exit(EXIT_FAILURE);
     377        }
     378
     379        psFree(fits);
     380        psDBCleanup(dbh);
     381    }
     382
     383    {
     384        psDB            *dbh;
     385        psFits          *fits;
     386
     387        dbh = psDBInit("localhost", "test", NULL, "test");
     388        if (!dbh) {
     389            exit(EXIT_FAILURE);
     390        }
     391
     392        fits = psFitsOpen(TMP_FILENAME, "w");
     393        if (!fits) {
     394            exit(EXIT_FAILURE);
     395        }
     396
     397        if (!camPendingExpSelectRowsFits(dbh, fits, NULL, 1)) {
     398            exit(EXIT_FAILURE);
     399        }
     400
     401        psFree(fits);
     402        psDBCleanup(dbh);
     403    }
     404
     405    {
     406        psDB            *dbh;
     407        psFits          *fits;
     408
     409        dbh = psDBInit("localhost", "test", NULL, "test");
     410        if (!dbh) {
     411            exit(EXIT_FAILURE);
     412        }
     413
     414        fits = psFitsOpen(TMP_FILENAME, "w");
     415        if (!fits) {
     416            exit(EXIT_FAILURE);
     417        }
     418
     419        if (!camProcessedExpSelectRowsFits(dbh, fits, NULL, 1)) {
     420            exit(EXIT_FAILURE);
     421        }
     422
     423        psFree(fits);
     424        psDBCleanup(dbh);
     425    }
     426
     427    {
     428        psDB            *dbh;
     429        psFits          *fits;
     430
     431        dbh = psDBInit("localhost", "test", NULL, "test");
     432        if (!dbh) {
     433            exit(EXIT_FAILURE);
     434        }
     435
     436        fits = psFitsOpen(TMP_FILENAME, "w");
     437        if (!fits) {
     438            exit(EXIT_FAILURE);
     439        }
     440
     441        if (!camMaskSelectRowsFits(dbh, fits, NULL, 1)) {
    442442            exit(EXIT_FAILURE);
    443443        }
     
    703703        }
    704704
    705         if (!p4RunSelectRowsFits(dbh, fits, NULL, 1)) {
    706             exit(EXIT_FAILURE);
    707         }
    708 
    709         psFree(fits);
    710         psDBCleanup(dbh);
    711     }
    712 
    713     {
    714         psDB            *dbh;
    715         psFits          *fits;
    716 
    717         dbh = psDBInit("localhost", "test", NULL, "test");
    718         if (!dbh) {
    719             exit(EXIT_FAILURE);
    720         }
    721 
    722         fits = psFitsOpen(TMP_FILENAME, "w");
    723         if (!fits) {
    724             exit(EXIT_FAILURE);
    725         }
    726 
    727         if (!p4InputExpSelectRowsFits(dbh, fits, NULL, 1)) {
    728             exit(EXIT_FAILURE);
    729         }
    730 
    731         psFree(fits);
    732         psDBCleanup(dbh);
    733     }
    734 
    735     {
    736         psDB            *dbh;
    737         psFits          *fits;
    738 
    739         dbh = psDBInit("localhost", "test", NULL, "test");
    740         if (!dbh) {
    741             exit(EXIT_FAILURE);
    742         }
    743 
    744         fits = psFitsOpen(TMP_FILENAME, "w");
    745         if (!fits) {
    746             exit(EXIT_FAILURE);
    747         }
    748 
    749         if (!p4SkyCellMapSelectRowsFits(dbh, fits, NULL, 1)) {
    750             exit(EXIT_FAILURE);
    751         }
    752 
    753         psFree(fits);
    754         psDBCleanup(dbh);
    755     }
    756 
    757     {
    758         psDB            *dbh;
    759         psFits          *fits;
    760 
    761         dbh = psDBInit("localhost", "test", NULL, "test");
    762         if (!dbh) {
    763             exit(EXIT_FAILURE);
    764         }
    765 
    766         fits = psFitsOpen(TMP_FILENAME, "w");
    767         if (!fits) {
    768             exit(EXIT_FAILURE);
    769         }
    770 
    771         if (!p4SkyfileSelectRowsFits(dbh, fits, NULL, 1)) {
    772             exit(EXIT_FAILURE);
    773         }
    774 
    775         psFree(fits);
    776         psDBCleanup(dbh);
    777     }
    778 
    779     {
    780         psDB            *dbh;
    781         psFits          *fits;
    782 
    783         dbh = psDBInit("localhost", "test", NULL, "test");
    784         if (!dbh) {
    785             exit(EXIT_FAILURE);
    786         }
    787 
    788         fits = psFitsOpen(TMP_FILENAME, "w");
    789         if (!fits) {
    790             exit(EXIT_FAILURE);
    791         }
    792 
    793         if (!p5RunSelectRowsFits(dbh, fits, NULL, 1)) {
    794             exit(EXIT_FAILURE);
    795         }
    796 
    797         psFree(fits);
    798         psDBCleanup(dbh);
    799     }
    800 
    801     {
    802         psDB            *dbh;
    803         psFits          *fits;
    804 
    805         dbh = psDBInit("localhost", "test", NULL, "test");
    806         if (!dbh) {
    807             exit(EXIT_FAILURE);
    808         }
    809 
    810         fits = psFitsOpen(TMP_FILENAME, "w");
    811         if (!fits) {
    812             exit(EXIT_FAILURE);
    813         }
    814 
    815         if (!p5InputSkyfileSelectRowsFits(dbh, fits, NULL, 1)) {
    816             exit(EXIT_FAILURE);
    817         }
    818 
    819         psFree(fits);
    820         psDBCleanup(dbh);
    821     }
    822 
    823     {
    824         psDB            *dbh;
    825         psFits          *fits;
    826 
    827         dbh = psDBInit("localhost", "test", NULL, "test");
    828         if (!dbh) {
    829             exit(EXIT_FAILURE);
    830         }
    831 
    832         fits = psFitsOpen(TMP_FILENAME, "w");
    833         if (!fits) {
    834             exit(EXIT_FAILURE);
    835         }
    836 
    837         if (!p5DiffSkyfileSelectRowsFits(dbh, fits, NULL, 1)) {
    838             exit(EXIT_FAILURE);
    839         }
    840 
    841         psFree(fits);
    842         psDBCleanup(dbh);
    843     }
    844 
    845     {
    846         psDB            *dbh;
    847         psFits          *fits;
    848 
    849         dbh = psDBInit("localhost", "test", NULL, "test");
    850         if (!dbh) {
    851             exit(EXIT_FAILURE);
    852         }
    853 
    854         fits = psFitsOpen(TMP_FILENAME, "w");
    855         if (!fits) {
    856             exit(EXIT_FAILURE);
    857         }
    858 
    859         if (!p6RunSelectRowsFits(dbh, fits, NULL, 1)) {
    860             exit(EXIT_FAILURE);
    861         }
    862 
    863         psFree(fits);
    864         psDBCleanup(dbh);
    865     }
    866 
    867     {
    868         psDB            *dbh;
    869         psFits          *fits;
    870 
    871         dbh = psDBInit("localhost", "test", NULL, "test");
    872         if (!dbh) {
    873             exit(EXIT_FAILURE);
    874         }
    875 
    876         fits = psFitsOpen(TMP_FILENAME, "w");
    877         if (!fits) {
    878             exit(EXIT_FAILURE);
    879         }
    880 
    881         if (!p6InputSkyfileSelectRowsFits(dbh, fits, NULL, 1)) {
    882             exit(EXIT_FAILURE);
    883         }
    884 
    885         psFree(fits);
    886         psDBCleanup(dbh);
    887     }
    888 
    889     {
    890         psDB            *dbh;
    891         psFits          *fits;
    892 
    893         dbh = psDBInit("localhost", "test", NULL, "test");
    894         if (!dbh) {
    895             exit(EXIT_FAILURE);
    896         }
    897 
    898         fits = psFitsOpen(TMP_FILENAME, "w");
    899         if (!fits) {
    900             exit(EXIT_FAILURE);
    901         }
    902 
    903         if (!p6SumSkyfileSelectRowsFits(dbh, fits, NULL, 1)) {
     705        if (!warpRunSelectRowsFits(dbh, fits, NULL, 1)) {
     706            exit(EXIT_FAILURE);
     707        }
     708
     709        psFree(fits);
     710        psDBCleanup(dbh);
     711    }
     712
     713    {
     714        psDB            *dbh;
     715        psFits          *fits;
     716
     717        dbh = psDBInit("localhost", "test", NULL, "test");
     718        if (!dbh) {
     719            exit(EXIT_FAILURE);
     720        }
     721
     722        fits = psFitsOpen(TMP_FILENAME, "w");
     723        if (!fits) {
     724            exit(EXIT_FAILURE);
     725        }
     726
     727        if (!warpInputExpSelectRowsFits(dbh, fits, NULL, 1)) {
     728            exit(EXIT_FAILURE);
     729        }
     730
     731        psFree(fits);
     732        psDBCleanup(dbh);
     733    }
     734
     735    {
     736        psDB            *dbh;
     737        psFits          *fits;
     738
     739        dbh = psDBInit("localhost", "test", NULL, "test");
     740        if (!dbh) {
     741            exit(EXIT_FAILURE);
     742        }
     743
     744        fits = psFitsOpen(TMP_FILENAME, "w");
     745        if (!fits) {
     746            exit(EXIT_FAILURE);
     747        }
     748
     749        if (!warpSkyCellMapSelectRowsFits(dbh, fits, NULL, 1)) {
     750            exit(EXIT_FAILURE);
     751        }
     752
     753        psFree(fits);
     754        psDBCleanup(dbh);
     755    }
     756
     757    {
     758        psDB            *dbh;
     759        psFits          *fits;
     760
     761        dbh = psDBInit("localhost", "test", NULL, "test");
     762        if (!dbh) {
     763            exit(EXIT_FAILURE);
     764        }
     765
     766        fits = psFitsOpen(TMP_FILENAME, "w");
     767        if (!fits) {
     768            exit(EXIT_FAILURE);
     769        }
     770
     771        if (!warpSkyfileSelectRowsFits(dbh, fits, NULL, 1)) {
     772            exit(EXIT_FAILURE);
     773        }
     774
     775        psFree(fits);
     776        psDBCleanup(dbh);
     777    }
     778
     779    {
     780        psDB            *dbh;
     781        psFits          *fits;
     782
     783        dbh = psDBInit("localhost", "test", NULL, "test");
     784        if (!dbh) {
     785            exit(EXIT_FAILURE);
     786        }
     787
     788        fits = psFitsOpen(TMP_FILENAME, "w");
     789        if (!fits) {
     790            exit(EXIT_FAILURE);
     791        }
     792
     793        if (!diffRunSelectRowsFits(dbh, fits, NULL, 1)) {
     794            exit(EXIT_FAILURE);
     795        }
     796
     797        psFree(fits);
     798        psDBCleanup(dbh);
     799    }
     800
     801    {
     802        psDB            *dbh;
     803        psFits          *fits;
     804
     805        dbh = psDBInit("localhost", "test", NULL, "test");
     806        if (!dbh) {
     807            exit(EXIT_FAILURE);
     808        }
     809
     810        fits = psFitsOpen(TMP_FILENAME, "w");
     811        if (!fits) {
     812            exit(EXIT_FAILURE);
     813        }
     814
     815        if (!diffInputSkyfileSelectRowsFits(dbh, fits, NULL, 1)) {
     816            exit(EXIT_FAILURE);
     817        }
     818
     819        psFree(fits);
     820        psDBCleanup(dbh);
     821    }
     822
     823    {
     824        psDB            *dbh;
     825        psFits          *fits;
     826
     827        dbh = psDBInit("localhost", "test", NULL, "test");
     828        if (!dbh) {
     829            exit(EXIT_FAILURE);
     830        }
     831
     832        fits = psFitsOpen(TMP_FILENAME, "w");
     833        if (!fits) {
     834            exit(EXIT_FAILURE);
     835        }
     836
     837        if (!diffSkyfileSelectRowsFits(dbh, fits, NULL, 1)) {
     838            exit(EXIT_FAILURE);
     839        }
     840
     841        psFree(fits);
     842        psDBCleanup(dbh);
     843    }
     844
     845    {
     846        psDB            *dbh;
     847        psFits          *fits;
     848
     849        dbh = psDBInit("localhost", "test", NULL, "test");
     850        if (!dbh) {
     851            exit(EXIT_FAILURE);
     852        }
     853
     854        fits = psFitsOpen(TMP_FILENAME, "w");
     855        if (!fits) {
     856            exit(EXIT_FAILURE);
     857        }
     858
     859        if (!stackRunSelectRowsFits(dbh, fits, NULL, 1)) {
     860            exit(EXIT_FAILURE);
     861        }
     862
     863        psFree(fits);
     864        psDBCleanup(dbh);
     865    }
     866
     867    {
     868        psDB            *dbh;
     869        psFits          *fits;
     870
     871        dbh = psDBInit("localhost", "test", NULL, "test");
     872        if (!dbh) {
     873            exit(EXIT_FAILURE);
     874        }
     875
     876        fits = psFitsOpen(TMP_FILENAME, "w");
     877        if (!fits) {
     878            exit(EXIT_FAILURE);
     879        }
     880
     881        if (!stackInputSkyfileSelectRowsFits(dbh, fits, NULL, 1)) {
     882            exit(EXIT_FAILURE);
     883        }
     884
     885        psFree(fits);
     886        psDBCleanup(dbh);
     887    }
     888
     889    {
     890        psDB            *dbh;
     891        psFits          *fits;
     892
     893        dbh = psDBInit("localhost", "test", NULL, "test");
     894        if (!dbh) {
     895            exit(EXIT_FAILURE);
     896        }
     897
     898        fits = psFitsOpen(TMP_FILENAME, "w");
     899        if (!fits) {
     900            exit(EXIT_FAILURE);
     901        }
     902
     903        if (!stackSumSkyfileSelectRowsFits(dbh, fits, NULL, 1)) {
    904904            exit(EXIT_FAILURE);
    905905        }
Note: See TracChangeset for help on using the changeset viewer.