IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Feb 9, 2007, 12:13:45 PM (19 years ago)
Author:
jhoblitt
Message:

VERSION 1.1.4

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ippdb/src/ippdb.c

    r11720 r11733  
    36783678        return false;
    36793679    }
    3680     if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, "NOT NULL", 0)) {
     3680    if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, "Key NOT NULL", 0)) {
    36813681        psError(PS_ERR_UNKNOWN, false, "failed to add item fault");
    36823682        psFree(md);
     
    43884388        return false;
    43894389    }
    4390     if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, "NOT NULL", 0)) {
     4390    if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, "Key NOT NULL", 0)) {
    43914391        psError(PS_ERR_UNKNOWN, false, "failed to add item fault");
    43924392        psFree(md);
     
    49274927static void p1PendingExpRowFree(p1PendingExpRow *object);
    49284928
    4929 p1PendingExpRow *p1PendingExpRowAlloc(const char *exp_tag, const char *recipe, psS32 p1_version)
     4929p1PendingExpRow *p1PendingExpRowAlloc(const char *exp_tag, psS32 p1_version, const char *recipe)
    49304930{
    49314931    p1PendingExpRow *_object;
     
    49354935
    49364936    _object->exp_tag = psStringCopy(exp_tag);
     4937    _object->p1_version = p1_version;
    49374938    _object->recipe = psStringCopy(recipe);
    4938     _object->p1_version = p1_version;
    49394939
    49404940    return _object;
     
    49554955        return false;
    49564956    }
     4957    if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, "Primary Key", 0)) {
     4958        psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
     4959        psFree(md);
     4960        return false;
     4961    }
    49574962    if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, "64")) {
    49584963        psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
     
    49604965        return false;
    49614966    }
    4962     if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, 0)) {
    4963         psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
    4964         psFree(md);
    4965         return false;
    4966     }
    49674967
    49684968    bool status = psDBCreateTable(dbh, P1PENDINGEXP_TABLE_NAME, md);
     
    49784978}
    49794979
    4980 bool p1PendingExpInsert(psDB * dbh, const char *exp_tag, const char *recipe, psS32 p1_version)
     4980bool p1PendingExpInsert(psDB * dbh, const char *exp_tag, psS32 p1_version, const char *recipe)
    49814981{
    49824982    psMetadata *md = psMetadataAlloc();
     
    49864986        return false;
    49874987    }
     4988    if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, p1_version)) {
     4989        psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
     4990        psFree(md);
     4991        return false;
     4992    }
    49884993    if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, recipe)) {
    49894994        psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
    4990         psFree(md);
    4991         return false;
    4992     }
    4993     if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, p1_version)) {
    4994         psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
    49954995        psFree(md);
    49964996        return false;
     
    50195019bool p1PendingExpInsertObject(psDB *dbh, p1PendingExpRow *object)
    50205020{
    5021     return p1PendingExpInsert(dbh, object->exp_tag, object->recipe, object->p1_version);
     5021    return p1PendingExpInsert(dbh, object->exp_tag, object->p1_version, object->recipe);
    50225022}
    50235023
     
    50975097        return false;
    50985098    }
     5099    if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, object->p1_version)) {
     5100        psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
     5101        psFree(md);
     5102        return false;
     5103    }
    50995104    if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, object->recipe)) {
    51005105        psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
     
    51025107        return false;
    51035108    }
    5104     if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, object->p1_version)) {
    5105         psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
    5106         psFree(md);
    5107         return false;
    5108     }
    51095109
    51105110
     
    51215121        return false;
    51225122    }
     5123    psS32 p1_version = psMetadataLookupS32(&status, md, "p1_version");
     5124    if (!status) {
     5125        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p1_version");
     5126        return false;
     5127    }
    51235128    char* recipe = psMetadataLookupPtr(&status, md, "recipe");
    51245129    if (!status) {
     
    51265131        return false;
    51275132    }
    5128     psS32 p1_version = psMetadataLookupS32(&status, md, "p1_version");
    5129     if (!status) {
    5130         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p1_version");
    5131         return false;
    5132     }
    5133 
    5134     return p1PendingExpRowAlloc(exp_tag, recipe, p1_version);
     5133
     5134    return p1PendingExpRowAlloc(exp_tag, p1_version, recipe);
    51355135}
    51365136psArray *p1PendingExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     
    52445244static void p2PendingExpRowFree(p2PendingExpRow *object);
    52455245
    5246 p2PendingExpRow *p2PendingExpRowAlloc(const char *exp_tag, const char *recipe, psS32 p1_version, psS32 p2_version, const char *label)
     5246p2PendingExpRow *p2PendingExpRowAlloc(const char *exp_tag, psS32 p2_version, psS32 p1_version, const char *label, const char *recipe)
    52475247{
    52485248    p2PendingExpRow *_object;
     
    52525252
    52535253    _object->exp_tag = psStringCopy(exp_tag);
     5254    _object->p2_version = p2_version;
     5255    _object->p1_version = p1_version;
     5256    _object->label = psStringCopy(label);
    52545257    _object->recipe = psStringCopy(recipe);
    5255     _object->p1_version = p1_version;
    5256     _object->p2_version = p2_version;
    5257     _object->label = psStringCopy(label);
    52585258
    52595259    return _object;
     
    52635263{
    52645264    psFree(object->exp_tag);
     5265    psFree(object->label);
    52655266    psFree(object->recipe);
    5266     psFree(object->label);
    52675267}
    52685268
     
    52755275        return false;
    52765276    }
     5277    if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, "Primary Key", 0)) {
     5278        psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
     5279        psFree(md);
     5280        return false;
     5281    }
     5282    if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, 0)) {
     5283        psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
     5284        psFree(md);
     5285        return false;
     5286    }
     5287    if (!psMetadataAdd(md, PS_LIST_TAIL, "label", PS_DATA_STRING, "key", "64")) {
     5288        psError(PS_ERR_UNKNOWN, false, "failed to add item label");
     5289        psFree(md);
     5290        return false;
     5291    }
    52775292    if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, "64")) {
    52785293        psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
     
    52805295        return false;
    52815296    }
    5282     if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, 0)) {
    5283         psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
    5284         psFree(md);
    5285         return false;
    5286     }
    5287     if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, 0)) {
    5288         psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
    5289         psFree(md);
    5290         return false;
    5291     }
    5292     if (!psMetadataAdd(md, PS_LIST_TAIL, "label", PS_DATA_STRING, "key", "64")) {
    5293         psError(PS_ERR_UNKNOWN, false, "failed to add item label");
    5294         psFree(md);
    5295         return false;
    5296     }
    52975297
    52985298    bool status = psDBCreateTable(dbh, P2PENDINGEXP_TABLE_NAME, md);
     
    53085308}
    53095309
    5310 bool p2PendingExpInsert(psDB * dbh, const char *exp_tag, const char *recipe, psS32 p1_version, psS32 p2_version, const char *label)
     5310bool p2PendingExpInsert(psDB * dbh, const char *exp_tag, psS32 p2_version, psS32 p1_version, const char *label, const char *recipe)
    53115311{
    53125312    psMetadata *md = psMetadataAlloc();
     
    53165316        return false;
    53175317    }
     5318    if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, p2_version)) {
     5319        psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
     5320        psFree(md);
     5321        return false;
     5322    }
     5323    if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, p1_version)) {
     5324        psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
     5325        psFree(md);
     5326        return false;
     5327    }
     5328    if (!psMetadataAdd(md, PS_LIST_TAIL, "label", PS_DATA_STRING, NULL, label)) {
     5329        psError(PS_ERR_UNKNOWN, false, "failed to add item label");
     5330        psFree(md);
     5331        return false;
     5332    }
    53185333    if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, recipe)) {
    53195334        psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
    5320         psFree(md);
    5321         return false;
    5322     }
    5323     if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, p1_version)) {
    5324         psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
    5325         psFree(md);
    5326         return false;
    5327     }
    5328     if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, p2_version)) {
    5329         psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
    5330         psFree(md);
    5331         return false;
    5332     }
    5333     if (!psMetadataAdd(md, PS_LIST_TAIL, "label", PS_DATA_STRING, NULL, label)) {
    5334         psError(PS_ERR_UNKNOWN, false, "failed to add item label");
    53355335        psFree(md);
    53365336        return false;
     
    53595359bool p2PendingExpInsertObject(psDB *dbh, p2PendingExpRow *object)
    53605360{
    5361     return p2PendingExpInsert(dbh, object->exp_tag, object->recipe, object->p1_version, object->p2_version, object->label);
     5361    return p2PendingExpInsert(dbh, object->exp_tag, object->p2_version, object->p1_version, object->label, object->recipe);
    53625362}
    53635363
     
    54375437        return false;
    54385438    }
     5439    if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, object->p2_version)) {
     5440        psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
     5441        psFree(md);
     5442        return false;
     5443    }
     5444    if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, object->p1_version)) {
     5445        psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
     5446        psFree(md);
     5447        return false;
     5448    }
     5449    if (!psMetadataAdd(md, PS_LIST_TAIL, "label", PS_DATA_STRING, NULL, object->label)) {
     5450        psError(PS_ERR_UNKNOWN, false, "failed to add item label");
     5451        psFree(md);
     5452        return false;
     5453    }
    54395454    if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, object->recipe)) {
    54405455        psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
     
    54425457        return false;
    54435458    }
    5444     if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, object->p1_version)) {
    5445         psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
    5446         psFree(md);
    5447         return false;
    5448     }
    5449     if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, object->p2_version)) {
    5450         psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
    5451         psFree(md);
    5452         return false;
    5453     }
    5454     if (!psMetadataAdd(md, PS_LIST_TAIL, "label", PS_DATA_STRING, NULL, object->label)) {
    5455         psError(PS_ERR_UNKNOWN, false, "failed to add item label");
    5456         psFree(md);
    5457         return false;
    5458     }
    54595459
    54605460
     
    54715471        return false;
    54725472    }
     5473    psS32 p2_version = psMetadataLookupS32(&status, md, "p2_version");
     5474    if (!status) {
     5475        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p2_version");
     5476        return false;
     5477    }
     5478    psS32 p1_version = psMetadataLookupS32(&status, md, "p1_version");
     5479    if (!status) {
     5480        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p1_version");
     5481        return false;
     5482    }
     5483    char* label = psMetadataLookupPtr(&status, md, "label");
     5484    if (!status) {
     5485        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item label");
     5486        return false;
     5487    }
    54735488    char* recipe = psMetadataLookupPtr(&status, md, "recipe");
    54745489    if (!status) {
     
    54765491        return false;
    54775492    }
    5478     psS32 p1_version = psMetadataLookupS32(&status, md, "p1_version");
    5479     if (!status) {
    5480         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p1_version");
    5481         return false;
    5482     }
    5483     psS32 p2_version = psMetadataLookupS32(&status, md, "p2_version");
    5484     if (!status) {
    5485         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p2_version");
    5486         return false;
    5487     }
    5488     char* label = psMetadataLookupPtr(&status, md, "label");
    5489     if (!status) {
    5490         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item label");
    5491         return false;
    5492     }
    5493 
    5494     return p2PendingExpRowAlloc(exp_tag, recipe, p1_version, p2_version, label);
     5493
     5494    return p2PendingExpRowAlloc(exp_tag, p2_version, p1_version, label, recipe);
    54955495}
    54965496psArray *p2PendingExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     
    56045604static void p2PendingImfileRowFree(p2PendingImfileRow *object);
    56055605
    5606 p2PendingImfileRow *p2PendingImfileRowAlloc(const char *exp_tag, const char *class_id, const char *uri, const char *recipe, psS32 p1_version, psS32 p2_version)
     5606p2PendingImfileRow *p2PendingImfileRowAlloc(const char *exp_tag, psS32 p2_version, psS32 p1_version, const char *class_id, const char *recipe, const char *uri)
    56075607{
    56085608    p2PendingImfileRow *_object;
     
    56125612
    56135613    _object->exp_tag = psStringCopy(exp_tag);
     5614    _object->p2_version = p2_version;
     5615    _object->p1_version = p1_version;
    56145616    _object->class_id = psStringCopy(class_id);
     5617    _object->recipe = psStringCopy(recipe);
    56155618    _object->uri = psStringCopy(uri);
    5616     _object->recipe = psStringCopy(recipe);
    5617     _object->p1_version = p1_version;
    5618     _object->p2_version = p2_version;
    56195619
    56205620    return _object;
     
    56255625    psFree(object->exp_tag);
    56265626    psFree(object->class_id);
     5627    psFree(object->recipe);
    56275628    psFree(object->uri);
    5628     psFree(object->recipe);
    56295629}
    56305630
     
    56375637        return false;
    56385638    }
     5639    if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, "Primary Key", 0)) {
     5640        psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
     5641        psFree(md);
     5642        return false;
     5643    }
     5644    if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, 0)) {
     5645        psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
     5646        psFree(md);
     5647        return false;
     5648    }
    56395649    if (!psMetadataAdd(md, PS_LIST_TAIL, "class_id", PS_DATA_STRING, "Primary Key", "64")) {
    56405650        psError(PS_ERR_UNKNOWN, false, "failed to add item class_id");
     
    56425652        return false;
    56435653    }
     5654    if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, "64")) {
     5655        psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
     5656        psFree(md);
     5657        return false;
     5658    }
    56445659    if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, "255")) {
    56455660        psError(PS_ERR_UNKNOWN, false, "failed to add item uri");
     
    56475662        return false;
    56485663    }
    5649     if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, "64")) {
    5650         psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
    5651         psFree(md);
    5652         return false;
    5653     }
    5654     if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, 0)) {
    5655         psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
    5656         psFree(md);
    5657         return false;
    5658     }
    5659     if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, 0)) {
    5660         psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
    5661         psFree(md);
    5662         return false;
    5663     }
    56645664
    56655665    bool status = psDBCreateTable(dbh, P2PENDINGIMFILE_TABLE_NAME, md);
     
    56755675}
    56765676
    5677 bool p2PendingImfileInsert(psDB * dbh, const char *exp_tag, const char *class_id, const char *uri, const char *recipe, psS32 p1_version, psS32 p2_version)
     5677bool p2PendingImfileInsert(psDB * dbh, const char *exp_tag, psS32 p2_version, psS32 p1_version, const char *class_id, const char *recipe, const char *uri)
    56785678{
    56795679    psMetadata *md = psMetadataAlloc();
     
    56835683        return false;
    56845684    }
     5685    if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, p2_version)) {
     5686        psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
     5687        psFree(md);
     5688        return false;
     5689    }
     5690    if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, p1_version)) {
     5691        psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
     5692        psFree(md);
     5693        return false;
     5694    }
    56855695    if (!psMetadataAdd(md, PS_LIST_TAIL, "class_id", PS_DATA_STRING, NULL, class_id)) {
    56865696        psError(PS_ERR_UNKNOWN, false, "failed to add item class_id");
     
    56885698        return false;
    56895699    }
     5700    if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, recipe)) {
     5701        psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
     5702        psFree(md);
     5703        return false;
     5704    }
    56905705    if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, uri)) {
    56915706        psError(PS_ERR_UNKNOWN, false, "failed to add item uri");
    5692         psFree(md);
    5693         return false;
    5694     }
    5695     if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, recipe)) {
    5696         psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
    5697         psFree(md);
    5698         return false;
    5699     }
    5700     if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, p1_version)) {
    5701         psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
    5702         psFree(md);
    5703         return false;
    5704     }
    5705     if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, p2_version)) {
    5706         psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
    57075707        psFree(md);
    57085708        return false;
     
    57315731bool p2PendingImfileInsertObject(psDB *dbh, p2PendingImfileRow *object)
    57325732{
    5733     return p2PendingImfileInsert(dbh, object->exp_tag, object->class_id, object->uri, object->recipe, object->p1_version, object->p2_version);
     5733    return p2PendingImfileInsert(dbh, object->exp_tag, object->p2_version, object->p1_version, object->class_id, object->recipe, object->uri);
    57345734}
    57355735
     
    58095809        return false;
    58105810    }
     5811    if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, object->p2_version)) {
     5812        psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
     5813        psFree(md);
     5814        return false;
     5815    }
     5816    if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, object->p1_version)) {
     5817        psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
     5818        psFree(md);
     5819        return false;
     5820    }
    58115821    if (!psMetadataAdd(md, PS_LIST_TAIL, "class_id", PS_DATA_STRING, NULL, object->class_id)) {
    58125822        psError(PS_ERR_UNKNOWN, false, "failed to add item class_id");
     
    58145824        return false;
    58155825    }
     5826    if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, object->recipe)) {
     5827        psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
     5828        psFree(md);
     5829        return false;
     5830    }
    58165831    if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, object->uri)) {
    58175832        psError(PS_ERR_UNKNOWN, false, "failed to add item uri");
     
    58195834        return false;
    58205835    }
    5821     if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, object->recipe)) {
    5822         psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
    5823         psFree(md);
    5824         return false;
    5825     }
    5826     if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, object->p1_version)) {
    5827         psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
    5828         psFree(md);
    5829         return false;
    5830     }
    5831     if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, object->p2_version)) {
    5832         psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
    5833         psFree(md);
    5834         return false;
    5835     }
    58365836
    58375837
     
    58485848        return false;
    58495849    }
     5850    psS32 p2_version = psMetadataLookupS32(&status, md, "p2_version");
     5851    if (!status) {
     5852        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p2_version");
     5853        return false;
     5854    }
     5855    psS32 p1_version = psMetadataLookupS32(&status, md, "p1_version");
     5856    if (!status) {
     5857        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p1_version");
     5858        return false;
     5859    }
    58505860    char* class_id = psMetadataLookupPtr(&status, md, "class_id");
    58515861    if (!status) {
     
    58535863        return false;
    58545864    }
     5865    char* recipe = psMetadataLookupPtr(&status, md, "recipe");
     5866    if (!status) {
     5867        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item recipe");
     5868        return false;
     5869    }
    58555870    char* uri = psMetadataLookupPtr(&status, md, "uri");
    58565871    if (!status) {
     
    58585873        return false;
    58595874    }
    5860     char* recipe = psMetadataLookupPtr(&status, md, "recipe");
    5861     if (!status) {
    5862         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item recipe");
    5863         return false;
    5864     }
    5865     psS32 p1_version = psMetadataLookupS32(&status, md, "p1_version");
    5866     if (!status) {
    5867         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p1_version");
    5868         return false;
    5869     }
    5870     psS32 p2_version = psMetadataLookupS32(&status, md, "p2_version");
    5871     if (!status) {
    5872         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p2_version");
    5873         return false;
    5874     }
    5875 
    5876     return p2PendingImfileRowAlloc(exp_tag, class_id, uri, recipe, p1_version, p2_version);
     5875
     5876    return p2PendingImfileRowAlloc(exp_tag, p2_version, p1_version, class_id, recipe, uri);
    58775877}
    58785878psArray *p2PendingImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     
    59865986static void p2ProcessedExpRowFree(p2ProcessedExpRow *object);
    59875987
    5988 p2ProcessedExpRow *p2ProcessedExpRowAlloc(const char *exp_tag, psS32 p1_version, psS32 p2_version, const char *label)
     5988p2ProcessedExpRow *p2ProcessedExpRowAlloc(const char *exp_tag, psS32 p2_version, psS32 p1_version, const char *label)
    59895989{
    59905990    p2ProcessedExpRow *_object;
     
    59945994
    59955995    _object->exp_tag = psStringCopy(exp_tag);
     5996    _object->p2_version = p2_version;
    59965997    _object->p1_version = p1_version;
    5997     _object->p2_version = p2_version;
    59985998    _object->label = psStringCopy(label);
    59995999
     
    60156015        return false;
    60166016    }
     6017    if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, "Primary Key", 0)) {
     6018        psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
     6019        psFree(md);
     6020        return false;
     6021    }
    60176022    if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, 0)) {
    60186023        psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
     
    60206025        return false;
    60216026    }
    6022     if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, 0)) {
    6023         psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
    6024         psFree(md);
    6025         return false;
    6026     }
    60276027    if (!psMetadataAdd(md, PS_LIST_TAIL, "label", PS_DATA_STRING, "key", "64")) {
    60286028        psError(PS_ERR_UNKNOWN, false, "failed to add item label");
     
    60436043}
    60446044
    6045 bool p2ProcessedExpInsert(psDB * dbh, const char *exp_tag, psS32 p1_version, psS32 p2_version, const char *label)
     6045bool p2ProcessedExpInsert(psDB * dbh, const char *exp_tag, psS32 p2_version, psS32 p1_version, const char *label)
    60466046{
    60476047    psMetadata *md = psMetadataAlloc();
     
    60516051        return false;
    60526052    }
     6053    if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, p2_version)) {
     6054        psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
     6055        psFree(md);
     6056        return false;
     6057    }
    60536058    if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, p1_version)) {
    60546059        psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
    6055         psFree(md);
    6056         return false;
    6057     }
    6058     if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, p2_version)) {
    6059         psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
    60606060        psFree(md);
    60616061        return false;
     
    60896089bool p2ProcessedExpInsertObject(psDB *dbh, p2ProcessedExpRow *object)
    60906090{
    6091     return p2ProcessedExpInsert(dbh, object->exp_tag, object->p1_version, object->p2_version, object->label);
     6091    return p2ProcessedExpInsert(dbh, object->exp_tag, object->p2_version, object->p1_version, object->label);
    60926092}
    60936093
     
    61676167        return false;
    61686168    }
     6169    if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, object->p2_version)) {
     6170        psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
     6171        psFree(md);
     6172        return false;
     6173    }
    61696174    if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, object->p1_version)) {
    61706175        psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
     
    61726177        return false;
    61736178    }
    6174     if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, object->p2_version)) {
    6175         psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
    6176         psFree(md);
    6177         return false;
    6178     }
    61796179    if (!psMetadataAdd(md, PS_LIST_TAIL, "label", PS_DATA_STRING, NULL, object->label)) {
    61806180        psError(PS_ERR_UNKNOWN, false, "failed to add item label");
     
    61966196        return false;
    61976197    }
     6198    psS32 p2_version = psMetadataLookupS32(&status, md, "p2_version");
     6199    if (!status) {
     6200        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p2_version");
     6201        return false;
     6202    }
    61986203    psS32 p1_version = psMetadataLookupS32(&status, md, "p1_version");
    61996204    if (!status) {
     
    62016206        return false;
    62026207    }
    6203     psS32 p2_version = psMetadataLookupS32(&status, md, "p2_version");
    6204     if (!status) {
    6205         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p2_version");
    6206         return false;
    6207     }
    62086208    char* label = psMetadataLookupPtr(&status, md, "label");
    62096209    if (!status) {
     
    62126212    }
    62136213
    6214     return p2ProcessedExpRowAlloc(exp_tag, p1_version, p2_version, label);
     6214    return p2ProcessedExpRowAlloc(exp_tag, p2_version, p1_version, label);
    62156215}
    62166216psArray *p2ProcessedExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     
    65986598static void p2ProcessedImfileRowFree(p2ProcessedImfileRow *object);
    65996599
    6600 p2ProcessedImfileRow *p2ProcessedImfileRowAlloc(const char *exp_tag, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *b1_uri, const char *b2_uri, psS32 p1_version, psS32 p2_version, psS16 fault)
     6600p2ProcessedImfileRow *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)
    66016601{
    66026602    p2ProcessedImfileRow *_object;
     
    66066606
    66076607    _object->exp_tag = psStringCopy(exp_tag);
     6608    _object->p2_version = p2_version;
     6609    _object->p1_version = p1_version;
    66086610    _object->class_id = psStringCopy(class_id);
     6611    _object->recipe = psStringCopy(recipe);
    66096612    _object->uri = psStringCopy(uri);
    6610     _object->recipe = psStringCopy(recipe);
    66116613    _object->bg = bg;
    66126614    _object->bg_stdev = bg_stdev;
     
    66146616    _object->b1_uri = psStringCopy(b1_uri);
    66156617    _object->b2_uri = psStringCopy(b2_uri);
    6616     _object->p1_version = p1_version;
    6617     _object->p2_version = p2_version;
    66186618    _object->fault = fault;
    66196619
     
    66256625    psFree(object->exp_tag);
    66266626    psFree(object->class_id);
     6627    psFree(object->recipe);
    66276628    psFree(object->uri);
    6628     psFree(object->recipe);
    66296629    psFree(object->b1_uri);
    66306630    psFree(object->b2_uri);
     
    66396639        return false;
    66406640    }
     6641    if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, "Primary Key", 0)) {
     6642        psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
     6643        psFree(md);
     6644        return false;
     6645    }
     6646    if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, 0)) {
     6647        psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
     6648        psFree(md);
     6649        return false;
     6650    }
    66416651    if (!psMetadataAdd(md, PS_LIST_TAIL, "class_id", PS_DATA_STRING, "Primary Key", "64")) {
    66426652        psError(PS_ERR_UNKNOWN, false, "failed to add item class_id");
     
    66446654        return false;
    66456655    }
     6656    if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, "64")) {
     6657        psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
     6658        psFree(md);
     6659        return false;
     6660    }
    66466661    if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, "255")) {
    66476662        psError(PS_ERR_UNKNOWN, false, "failed to add item uri");
     
    66496664        return false;
    66506665    }
    6651     if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, "64")) {
    6652         psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
    6653         psFree(md);
    6654         return false;
    6655     }
    66566666    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, 0.0)) {
    66576667        psError(PS_ERR_UNKNOWN, false, "failed to add item bg");
     
    66796689        return false;
    66806690    }
    6681     if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, 0)) {
    6682         psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
    6683         psFree(md);
    6684         return false;
    6685     }
    6686     if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, 0)) {
    6687         psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
    6688         psFree(md);
    6689         return false;
    6690     }
    6691     if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, "NOT NULL", 0)) {
     6691    if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, "Key NOT NULL", 0)) {
    66926692        psError(PS_ERR_UNKNOWN, false, "failed to add item fault");
    66936693        psFree(md);
     
    67076707}
    67086708
    6709 bool p2ProcessedImfileInsert(psDB * dbh, const char *exp_tag, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *b1_uri, const char *b2_uri, psS32 p1_version, psS32 p2_version, psS16 fault)
     6709bool 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)
    67106710{
    67116711    psMetadata *md = psMetadataAlloc();
     
    67156715        return false;
    67166716    }
     6717    if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, p2_version)) {
     6718        psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
     6719        psFree(md);
     6720        return false;
     6721    }
     6722    if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, p1_version)) {
     6723        psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
     6724        psFree(md);
     6725        return false;
     6726    }
    67176727    if (!psMetadataAdd(md, PS_LIST_TAIL, "class_id", PS_DATA_STRING, NULL, class_id)) {
    67186728        psError(PS_ERR_UNKNOWN, false, "failed to add item class_id");
     
    67206730        return false;
    67216731    }
     6732    if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, recipe)) {
     6733        psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
     6734        psFree(md);
     6735        return false;
     6736    }
    67226737    if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, uri)) {
    67236738        psError(PS_ERR_UNKNOWN, false, "failed to add item uri");
     
    67256740        return false;
    67266741    }
    6727     if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, recipe)) {
    6728         psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
    6729         psFree(md);
    6730         return false;
    6731     }
    67326742    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, bg)) {
    67336743        psError(PS_ERR_UNKNOWN, false, "failed to add item bg");
     
    67526762    if (!psMetadataAdd(md, PS_LIST_TAIL, "b2_uri", PS_DATA_STRING, NULL, b2_uri)) {
    67536763        psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri");
    6754         psFree(md);
    6755         return false;
    6756     }
    6757     if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, p1_version)) {
    6758         psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
    6759         psFree(md);
    6760         return false;
    6761     }
    6762     if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, p2_version)) {
    6763         psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
    67646764        psFree(md);
    67656765        return false;
     
    67936793bool p2ProcessedImfileInsertObject(psDB *dbh, p2ProcessedImfileRow *object)
    67946794{
    6795     return p2ProcessedImfileInsert(dbh, object->exp_tag, object->class_id, object->uri, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev, object->b1_uri, object->b2_uri, object->p1_version, object->p2_version, object->fault);
     6795    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);
    67966796}
    67976797
     
    68716871        return false;
    68726872    }
     6873    if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, object->p2_version)) {
     6874        psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
     6875        psFree(md);
     6876        return false;
     6877    }
     6878    if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, object->p1_version)) {
     6879        psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
     6880        psFree(md);
     6881        return false;
     6882    }
    68736883    if (!psMetadataAdd(md, PS_LIST_TAIL, "class_id", PS_DATA_STRING, NULL, object->class_id)) {
    68746884        psError(PS_ERR_UNKNOWN, false, "failed to add item class_id");
     
    68766886        return false;
    68776887    }
     6888    if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, object->recipe)) {
     6889        psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
     6890        psFree(md);
     6891        return false;
     6892    }
    68786893    if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, object->uri)) {
    68796894        psError(PS_ERR_UNKNOWN, false, "failed to add item uri");
     
    68816896        return false;
    68826897    }
    6883     if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, object->recipe)) {
    6884         psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
    6885         psFree(md);
    6886         return false;
    6887     }
    68886898    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, object->bg)) {
    68896899        psError(PS_ERR_UNKNOWN, false, "failed to add item bg");
     
    69116921        return false;
    69126922    }
    6913     if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, object->p1_version)) {
    6914         psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");
    6915         psFree(md);
    6916         return false;
    6917     }
    6918     if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, object->p2_version)) {
    6919         psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
    6920         psFree(md);
    6921         return false;
    6922     }
    69236923    if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, NULL, object->fault)) {
    69246924        psError(PS_ERR_UNKNOWN, false, "failed to add item fault");
     
    69406940        return false;
    69416941    }
     6942    psS32 p2_version = psMetadataLookupS32(&status, md, "p2_version");
     6943    if (!status) {
     6944        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p2_version");
     6945        return false;
     6946    }
     6947    psS32 p1_version = psMetadataLookupS32(&status, md, "p1_version");
     6948    if (!status) {
     6949        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p1_version");
     6950        return false;
     6951    }
    69426952    char* class_id = psMetadataLookupPtr(&status, md, "class_id");
    69436953    if (!status) {
     
    69456955        return false;
    69466956    }
     6957    char* recipe = psMetadataLookupPtr(&status, md, "recipe");
     6958    if (!status) {
     6959        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item recipe");
     6960        return false;
     6961    }
    69476962    char* uri = psMetadataLookupPtr(&status, md, "uri");
    69486963    if (!status) {
     
    69506965        return false;
    69516966    }
    6952     char* recipe = psMetadataLookupPtr(&status, md, "recipe");
    6953     if (!status) {
    6954         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item recipe");
    6955         return false;
    6956     }
    69576967    psF64 bg = psMetadataLookupF64(&status, md, "bg");
    69586968    if (!status) {
     
    69806990        return false;
    69816991    }
    6982     psS32 p1_version = psMetadataLookupS32(&status, md, "p1_version");
    6983     if (!status) {
    6984         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p1_version");
    6985         return false;
    6986     }
    6987     psS32 p2_version = psMetadataLookupS32(&status, md, "p2_version");
    6988     if (!status) {
    6989         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p2_version");
    6990         return false;
    6991     }
    69926992    psS16 fault = psMetadataLookupS16(&status, md, "fault");
    69936993    if (!status) {
     
    69966996    }
    69976997
    6998     return p2ProcessedImfileRowAlloc(exp_tag, class_id, uri, recipe, bg, bg_stdev, bg_mean_stdev, b1_uri, b2_uri, p1_version, p2_version, fault);
     6998    return p2ProcessedImfileRowAlloc(exp_tag, p2_version, p1_version, class_id, recipe, uri, bg, bg_stdev, bg_mean_stdev, b1_uri, b2_uri, fault);
    69996999}
    70007000psArray *p2ProcessedImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     
    71087108static void p3PendingExpRowFree(p3PendingExpRow *object);
    71097109
    7110 p3PendingExpRow *p3PendingExpRowAlloc(const char *exp_tag, psS32 p2_version, psS32 p3_version, const char *label)
     7110p3PendingExpRow *p3PendingExpRowAlloc(const char *exp_tag, psS32 p3_version, psS32 p2_version, const char *label)
    71117111{
    71127112    p3PendingExpRow *_object;
     
    71167116
    71177117    _object->exp_tag = psStringCopy(exp_tag);
     7118    _object->p3_version = p3_version;
    71187119    _object->p2_version = p2_version;
    7119     _object->p3_version = p3_version;
    71207120    _object->label = psStringCopy(label);
    71217121
     
    71377137        return false;
    71387138    }
     7139    if (!psMetadataAdd(md, PS_LIST_TAIL, "p3_version", PS_DATA_S32, "Primary Key", 0)) {
     7140        psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version");
     7141        psFree(md);
     7142        return false;
     7143    }
    71397144    if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, 0)) {
    71407145        psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
     
    71427147        return false;
    71437148    }
    7144     if (!psMetadataAdd(md, PS_LIST_TAIL, "p3_version", PS_DATA_S32, NULL, 0)) {
    7145         psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version");
    7146         psFree(md);
    7147         return false;
    7148     }
    71497149    if (!psMetadataAdd(md, PS_LIST_TAIL, "label", PS_DATA_STRING, "key", "64")) {
    71507150        psError(PS_ERR_UNKNOWN, false, "failed to add item label");
     
    71657165}
    71667166
    7167 bool p3PendingExpInsert(psDB * dbh, const char *exp_tag, psS32 p2_version, psS32 p3_version, const char *label)
     7167bool p3PendingExpInsert(psDB * dbh, const char *exp_tag, psS32 p3_version, psS32 p2_version, const char *label)
    71687168{
    71697169    psMetadata *md = psMetadataAlloc();
     
    71737173        return false;
    71747174    }
     7175    if (!psMetadataAdd(md, PS_LIST_TAIL, "p3_version", PS_DATA_S32, NULL, p3_version)) {
     7176        psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version");
     7177        psFree(md);
     7178        return false;
     7179    }
    71757180    if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, p2_version)) {
    71767181        psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
    7177         psFree(md);
    7178         return false;
    7179     }
    7180     if (!psMetadataAdd(md, PS_LIST_TAIL, "p3_version", PS_DATA_S32, NULL, p3_version)) {
    7181         psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version");
    71827182        psFree(md);
    71837183        return false;
     
    72117211bool p3PendingExpInsertObject(psDB *dbh, p3PendingExpRow *object)
    72127212{
    7213     return p3PendingExpInsert(dbh, object->exp_tag, object->p2_version, object->p3_version, object->label);
     7213    return p3PendingExpInsert(dbh, object->exp_tag, object->p3_version, object->p2_version, object->label);
    72147214}
    72157215
     
    72897289        return false;
    72907290    }
     7291    if (!psMetadataAdd(md, PS_LIST_TAIL, "p3_version", PS_DATA_S32, NULL, object->p3_version)) {
     7292        psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version");
     7293        psFree(md);
     7294        return false;
     7295    }
    72917296    if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, object->p2_version)) {
    72927297        psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
     
    72947299        return false;
    72957300    }
    7296     if (!psMetadataAdd(md, PS_LIST_TAIL, "p3_version", PS_DATA_S32, NULL, object->p3_version)) {
    7297         psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version");
    7298         psFree(md);
    7299         return false;
    7300     }
    73017301    if (!psMetadataAdd(md, PS_LIST_TAIL, "label", PS_DATA_STRING, NULL, object->label)) {
    73027302        psError(PS_ERR_UNKNOWN, false, "failed to add item label");
     
    73187318        return false;
    73197319    }
     7320    psS32 p3_version = psMetadataLookupS32(&status, md, "p3_version");
     7321    if (!status) {
     7322        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p3_version");
     7323        return false;
     7324    }
    73207325    psS32 p2_version = psMetadataLookupS32(&status, md, "p2_version");
    73217326    if (!status) {
     
    73237328        return false;
    73247329    }
    7325     psS32 p3_version = psMetadataLookupS32(&status, md, "p3_version");
    7326     if (!status) {
    7327         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p3_version");
    7328         return false;
    7329     }
    73307330    char* label = psMetadataLookupPtr(&status, md, "label");
    73317331    if (!status) {
     
    73347334    }
    73357335
    7336     return p3PendingExpRowAlloc(exp_tag, p2_version, p3_version, label);
     7336    return p3PendingExpRowAlloc(exp_tag, p3_version, p2_version, label);
    73377337}
    73387338psArray *p3PendingExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     
    74467446static void p3ProcessedExpRowFree(p3ProcessedExpRow *object);
    74477447
    7448 p3ProcessedExpRow *p3ProcessedExpRowAlloc(const char *exp_tag, 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, psS32 p2_version, psS32 p3_version, const char *label, psS16 fault)
     7448p3ProcessedExpRow *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)
    74497449{
    74507450    p3ProcessedExpRow *_object;
     
    74547454
    74557455    _object->exp_tag = psStringCopy(exp_tag);
     7456    _object->p3_version = p3_version;
     7457    _object->p2_version = p2_version;
     7458    _object->label = psStringCopy(label);
    74567459    _object->uri = psStringCopy(uri);
    74577460    _object->recipe = psStringCopy(recipe);
     
    74667469    _object->zp_mean = zp_mean;
    74677470    _object->zp_stdev = zp_stdev;
    7468     _object->p2_version = p2_version;
    7469     _object->p3_version = p3_version;
    7470     _object->label = psStringCopy(label);
    74717471    _object->fault = fault;
    74727472
     
    74777477{
    74787478    psFree(object->exp_tag);
     7479    psFree(object->label);
    74797480    psFree(object->uri);
    74807481    psFree(object->recipe);
    74817482    psFree(object->b1_uri);
    74827483    psFree(object->b2_uri);
    7483     psFree(object->label);
    74847484}
    74857485
     
    74927492        return false;
    74937493    }
     7494    if (!psMetadataAdd(md, PS_LIST_TAIL, "p3_version", PS_DATA_S32, "Primary Key", 0)) {
     7495        psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version");
     7496        psFree(md);
     7497        return false;
     7498    }
     7499    if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, 0)) {
     7500        psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
     7501        psFree(md);
     7502        return false;
     7503    }
     7504    if (!psMetadataAdd(md, PS_LIST_TAIL, "label", PS_DATA_STRING, "key", "64")) {
     7505        psError(PS_ERR_UNKNOWN, false, "failed to add item label");
     7506        psFree(md);
     7507        return false;
     7508    }
    74947509    if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, "255")) {
    74957510        psError(PS_ERR_UNKNOWN, false, "failed to add item uri");
     
    75527567        return false;
    75537568    }
    7554     if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, 0)) {
    7555         psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
    7556         psFree(md);
    7557         return false;
    7558     }
    7559     if (!psMetadataAdd(md, PS_LIST_TAIL, "p3_version", PS_DATA_S32, NULL, 0)) {
    7560         psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version");
    7561         psFree(md);
    7562         return false;
    7563     }
    7564     if (!psMetadataAdd(md, PS_LIST_TAIL, "label", PS_DATA_STRING, "key", "64")) {
    7565         psError(PS_ERR_UNKNOWN, false, "failed to add item label");
    7566         psFree(md);
    7567         return false;
    7568     }
    7569     if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, "NOT NULL", 0)) {
     7569    if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, "Key NOT NULL", 0)) {
    75707570        psError(PS_ERR_UNKNOWN, false, "failed to add item fault");
    75717571        psFree(md);
     
    75857585}
    75867586
    7587 bool p3ProcessedExpInsert(psDB * dbh, const char *exp_tag, 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, psS32 p2_version, psS32 p3_version, const char *label, psS16 fault)
     7587bool 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)
    75887588{
    75897589    psMetadata *md = psMetadataAlloc();
     
    75937593        return false;
    75947594    }
     7595    if (!psMetadataAdd(md, PS_LIST_TAIL, "p3_version", PS_DATA_S32, NULL, p3_version)) {
     7596        psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version");
     7597        psFree(md);
     7598        return false;
     7599    }
     7600    if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, p2_version)) {
     7601        psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
     7602        psFree(md);
     7603        return false;
     7604    }
     7605    if (!psMetadataAdd(md, PS_LIST_TAIL, "label", PS_DATA_STRING, NULL, label)) {
     7606        psError(PS_ERR_UNKNOWN, false, "failed to add item label");
     7607        psFree(md);
     7608        return false;
     7609    }
    75957610    if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, uri)) {
    75967611        psError(PS_ERR_UNKNOWN, false, "failed to add item uri");
     
    76507665    if (!psMetadataAdd(md, PS_LIST_TAIL, "zp_stdev", PS_DATA_F32, NULL, zp_stdev)) {
    76517666        psError(PS_ERR_UNKNOWN, false, "failed to add item zp_stdev");
    7652         psFree(md);
    7653         return false;
    7654     }
    7655     if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, p2_version)) {
    7656         psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
    7657         psFree(md);
    7658         return false;
    7659     }
    7660     if (!psMetadataAdd(md, PS_LIST_TAIL, "p3_version", PS_DATA_S32, NULL, p3_version)) {
    7661         psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version");
    7662         psFree(md);
    7663         return false;
    7664     }
    7665     if (!psMetadataAdd(md, PS_LIST_TAIL, "label", PS_DATA_STRING, NULL, label)) {
    7666         psError(PS_ERR_UNKNOWN, false, "failed to add item label");
    76677667        psFree(md);
    76687668        return false;
     
    76967696bool p3ProcessedExpInsertObject(psDB *dbh, p3ProcessedExpRow *object)
    76977697{
    7698     return p3ProcessedExpInsert(dbh, object->exp_tag, 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->p2_version, object->p3_version, object->label, object->fault);
     7698    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);
    76997699}
    77007700
     
    77747774        return false;
    77757775    }
     7776    if (!psMetadataAdd(md, PS_LIST_TAIL, "p3_version", PS_DATA_S32, NULL, object->p3_version)) {
     7777        psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version");
     7778        psFree(md);
     7779        return false;
     7780    }
     7781    if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, object->p2_version)) {
     7782        psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
     7783        psFree(md);
     7784        return false;
     7785    }
     7786    if (!psMetadataAdd(md, PS_LIST_TAIL, "label", PS_DATA_STRING, NULL, object->label)) {
     7787        psError(PS_ERR_UNKNOWN, false, "failed to add item label");
     7788        psFree(md);
     7789        return false;
     7790    }
    77767791    if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, object->uri)) {
    77777792        psError(PS_ERR_UNKNOWN, false, "failed to add item uri");
     
    78347849        return false;
    78357850    }
    7836     if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, object->p2_version)) {
    7837         psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");
    7838         psFree(md);
    7839         return false;
    7840     }
    7841     if (!psMetadataAdd(md, PS_LIST_TAIL, "p3_version", PS_DATA_S32, NULL, object->p3_version)) {
    7842         psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version");
    7843         psFree(md);
    7844         return false;
    7845     }
    7846     if (!psMetadataAdd(md, PS_LIST_TAIL, "label", PS_DATA_STRING, NULL, object->label)) {
    7847         psError(PS_ERR_UNKNOWN, false, "failed to add item label");
    7848         psFree(md);
    7849         return false;
    7850     }
    78517851    if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, NULL, object->fault)) {
    78527852        psError(PS_ERR_UNKNOWN, false, "failed to add item fault");
     
    78687868        return false;
    78697869    }
     7870    psS32 p3_version = psMetadataLookupS32(&status, md, "p3_version");
     7871    if (!status) {
     7872        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p3_version");
     7873        return false;
     7874    }
     7875    psS32 p2_version = psMetadataLookupS32(&status, md, "p2_version");
     7876    if (!status) {
     7877        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p2_version");
     7878        return false;
     7879    }
     7880    char* label = psMetadataLookupPtr(&status, md, "label");
     7881    if (!status) {
     7882        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item label");
     7883        return false;
     7884    }
    78707885    char* uri = psMetadataLookupPtr(&status, md, "uri");
    78717886    if (!status) {
     
    79287943        return false;
    79297944    }
    7930     psS32 p2_version = psMetadataLookupS32(&status, md, "p2_version");
    7931     if (!status) {
    7932         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p2_version");
    7933         return false;
    7934     }
    7935     psS32 p3_version = psMetadataLookupS32(&status, md, "p3_version");
    7936     if (!status) {
    7937         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p3_version");
    7938         return false;
    7939     }
    7940     char* label = psMetadataLookupPtr(&status, md, "label");
    7941     if (!status) {
    7942         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item label");
    7943         return false;
    7944     }
    79457945    psS16 fault = psMetadataLookupS16(&status, md, "fault");
    79467946    if (!status) {
     
    79497949    }
    79507950
    7951     return p3ProcessedExpRowAlloc(exp_tag, uri, recipe, bg, bg_stdev, bg_mean_stdev, sigma_ra, sigma_dec, nastro, b1_uri, b2_uri, zp_mean, zp_stdev, p2_version, p3_version, label, fault);
     7951    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);
    79527952}
    79537953psArray *p3ProcessedExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     
    95059505        return false;
    95069506    }
    9507     if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, "NOT NULL", 0)) {
     9507    if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, "Key NOT NULL", 0)) {
    95089508        psError(PS_ERR_UNKNOWN, false, "failed to add item fault");
    95099509        psFree(md);
     
    99809980        return false;
    99819981    }
    9982     if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, "NOT NULL", 0)) {
     9982    if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, "Key NOT NULL", 0)) {
    99839983        psError(PS_ERR_UNKNOWN, false, "failed to add item fault");
    99849984        psFree(md);
     
    1042410424        return false;
    1042510425    }
    10426     if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, "NOT NULL", 0)) {
     10426    if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, "Key NOT NULL", 0)) {
    1042710427        psError(PS_ERR_UNKNOWN, false, "failed to add item fault");
    1042810428        psFree(md);
     
    1084210842        return false;
    1084310843    }
    10844     if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, "NOT NULL", 0)) {
     10844    if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, "Key NOT NULL", 0)) {
    1084510845        psError(PS_ERR_UNKNOWN, false, "failed to add item fault");
    1084610846        psFree(md);
     
    1123311233        return false;
    1123411234    }
    11235     if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, "NOT NULL", 0)) {
     11235    if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, "Key NOT NULL", 0)) {
    1123611236        psError(PS_ERR_UNKNOWN, false, "failed to add item fault");
    1123711237        psFree(md);
     
    1169211692        return false;
    1169311693    }
    11694     if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, "NOT NULL", 0)) {
     11694    if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, "Key NOT NULL", 0)) {
    1169511695        psError(PS_ERR_UNKNOWN, false, "failed to add item fault");
    1169611696        psFree(md);
     
    1215712157        return false;
    1215812158    }
    12159     if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, "NOT NULL", 0)) {
     12159    if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, "Key NOT NULL", 0)) {
    1216012160        psError(PS_ERR_UNKNOWN, false, "failed to add item fault");
    1216112161        psFree(md);
     
    1265912659        return false;
    1266012660    }
    12661     if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, "NOT NULL", 0)) {
     12661    if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, "Key NOT NULL", 0)) {
    1266212662        psError(PS_ERR_UNKNOWN, false, "failed to add item fault");
    1266312663        psFree(md);
     
    1311813118        return false;
    1311913119    }
    13120     if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, "NOT NULL", 0)) {
     13120    if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, "Key NOT NULL", 0)) {
    1312113121        psError(PS_ERR_UNKNOWN, false, "failed to add item fault");
    1312213122        psFree(md);
Note: See TracChangeset for help on using the changeset viewer.