IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 8006


Ignore:
Timestamp:
Jul 31, 2006, 11:44:52 AM (20 years ago)
Author:
jhoblitt
Message:

updated version to fix memory leaks

Location:
branches/jhoblitt/ippdb
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • branches/jhoblitt/ippdb/src/ippdb.c

    r7500 r8006  
    531531
    532532    for (i = 0; i < rowSet->n; i++) {
    533         psArrayAdd(returnSet, 0, weatherObjectFromMetadata(rowSet->data[i]));
     533        weatherRow *object = weatherObjectFromMetadata(rowSet->data[i]);
     534        psArrayAdd(returnSet, 0, object);
     535        psFree(object);
    534536    }
    535537
     
    647649
    648650    md = psMetadataAlloc();
    649     if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, psStringCopy(filter))) {
     651    if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, filter)) {
    650652        psError(PS_ERR_UNKNOWN, false, "failed to add item filter");
    651653        psFree(md);
     
    900902
    901903    md = psMetadataAlloc();
    902     if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, psStringCopy(object->filter))) {
     904    if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, object->filter)) {
    903905        psError(PS_ERR_UNKNOWN, false, "failed to add item filter");
    904906        psFree(md);
     
    10141016
    10151017    for (i = 0; i < rowSet->n; i++) {
    1016         psArrayAdd(returnSet, 0, skyp_transparencyObjectFromMetadata(rowSet->data[i]));
     1018        skyp_transparencyRow *object = skyp_transparencyObjectFromMetadata(rowSet->data[i]);
     1019        psArrayAdd(returnSet, 0, object);
     1020        psFree(object);
    10171021    }
    10181022
     
    11421146
    11431147    md = psMetadataAlloc();
    1144     if (!psMetadataAddStr(md, PS_LIST_TAIL, "disperser_id", 0, NULL, psStringCopy(disperser_id))) {
     1148    if (!psMetadataAddStr(md, PS_LIST_TAIL, "disperser_id", 0, NULL, disperser_id)) {
    11451149        psError(PS_ERR_UNKNOWN, false, "failed to add item disperser_id");
    11461150        psFree(md);
     
    14191423
    14201424    md = psMetadataAlloc();
    1421     if (!psMetadataAddStr(md, PS_LIST_TAIL, "disperser_id", 0, NULL, psStringCopy(object->disperser_id))) {
     1425    if (!psMetadataAddStr(md, PS_LIST_TAIL, "disperser_id", 0, NULL, object->disperser_id)) {
    14221426        psError(PS_ERR_UNKNOWN, false, "failed to add item disperser_id");
    14231427        psFree(md);
     
    15551559
    15561560    for (i = 0; i < rowSet->n; i++) {
    1557         psArrayAdd(returnSet, 0, skyp_absorptionObjectFromMetadata(rowSet->data[i]));
     1561        skyp_absorptionRow *object = skyp_absorptionObjectFromMetadata(rowSet->data[i]);
     1562        psArrayAdd(returnSet, 0, object);
     1563        psFree(object);
    15581564    }
    15591565
     
    16651671
    16661672    md = psMetadataAlloc();
    1667     if (!psMetadataAddStr(md, PS_LIST_TAIL, "disperser_id", 0, NULL, psStringCopy(disperser_id))) {
     1673    if (!psMetadataAddStr(md, PS_LIST_TAIL, "disperser_id", 0, NULL, disperser_id)) {
    16681674        psError(PS_ERR_UNKNOWN, false, "failed to add item disperser_id");
    16691675        psFree(md);
     
    19061912
    19071913    md = psMetadataAlloc();
    1908     if (!psMetadataAddStr(md, PS_LIST_TAIL, "disperser_id", 0, NULL, psStringCopy(object->disperser_id))) {
     1914    if (!psMetadataAddStr(md, PS_LIST_TAIL, "disperser_id", 0, NULL, object->disperser_id)) {
    19091915        psError(PS_ERR_UNKNOWN, false, "failed to add item disperser_id");
    19101916        psFree(md);
     
    20092015
    20102016    for (i = 0; i < rowSet->n; i++) {
    2011         psArrayAdd(returnSet, 0, skyp_emissionObjectFromMetadata(rowSet->data[i]));
     2017        skyp_emissionRow *object = skyp_emissionObjectFromMetadata(rowSet->data[i]);
     2018        psArrayAdd(returnSet, 0, object);
     2019        psFree(object);
    20122020    }
    20132021
     
    21552163        return false;
    21562164    }
    2157     if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope_id", 0, NULL, psStringCopy(telescope_id))) {
     2165    if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope_id", 0, NULL, telescope_id)) {
    21582166        psError(PS_ERR_UNKNOWN, false, "failed to add item telescope_id");
    21592167        psFree(md);
     
    24082416        return NULL;
    24092417    }
    2410     if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope_id", 0, NULL, psStringCopy(object->telescope_id))) {
     2418    if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope_id", 0, NULL, object->telescope_id)) {
    24112419        psError(PS_ERR_UNKNOWN, false, "failed to add item telescope_id");
    24122420        psFree(md);
     
    24922500
    24932501    for (i = 0; i < rowSet->n; i++) {
    2494         psArrayAdd(returnSet, 0, dimmObjectFromMetadata(rowSet->data[i]));
     2502        dimmRow *object = dimmObjectFromMetadata(rowSet->data[i]);
     2503        psArrayAdd(returnSet, 0, object);
     2504        psFree(object);
    24952505    }
    24962506
     
    29452955
    29462956    for (i = 0; i < rowSet->n; i++) {
    2947         psArrayAdd(returnSet, 0, skyp_irObjectFromMetadata(rowSet->data[i]));
     2957        skyp_irRow *object = skyp_irObjectFromMetadata(rowSet->data[i]);
     2958        psArrayAdd(returnSet, 0, object);
     2959        psFree(object);
    29482960    }
    29492961
     
    33403352
    33413353    for (i = 0; i < rowSet->n; i++) {
    3342         psArrayAdd(returnSet, 0, domeObjectFromMetadata(rowSet->data[i]));
     3354        domeRow *object = domeObjectFromMetadata(rowSet->data[i]);
     3355        psArrayAdd(returnSet, 0, object);
     3356        psFree(object);
    33433357    }
    33443358
     
    34443458
    34453459    md = psMetadataAlloc();
    3446     if (!psMetadataAddStr(md, PS_LIST_TAIL, "guide", 0, NULL, psStringCopy(guide))) {
     3460    if (!psMetadataAddStr(md, PS_LIST_TAIL, "guide", 0, NULL, guide)) {
    34473461        psError(PS_ERR_UNKNOWN, false, "failed to add item guide");
    34483462        psFree(md);
     
    36733687
    36743688    md = psMetadataAlloc();
    3675     if (!psMetadataAddStr(md, PS_LIST_TAIL, "guide", 0, NULL, psStringCopy(object->guide))) {
     3689    if (!psMetadataAddStr(md, PS_LIST_TAIL, "guide", 0, NULL, object->guide)) {
    36763690        psError(PS_ERR_UNKNOWN, false, "failed to add item guide");
    36773691        psFree(md);
     
    37653779
    37663780    for (i = 0; i < rowSet->n; i++) {
    3767         psArrayAdd(returnSet, 0, telescopeObjectFromMetadata(rowSet->data[i]));
     3781        telescopeRow *object = telescopeObjectFromMetadata(rowSet->data[i]);
     3782        psArrayAdd(returnSet, 0, object);
     3783        psFree(object);
    37683784    }
    37693785
     
    38733889
    38743890    md = psMetadataAlloc();
    3875     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, psStringCopy(exp_id))) {
     3891    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, exp_id)) {
    38763892        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    38773893        psFree(md);
    38783894        return false;
    38793895    }
    3880     if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, psStringCopy(camera))) {
     3896    if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, camera)) {
    38813897        psError(PS_ERR_UNKNOWN, false, "failed to add item camera");
    38823898        psFree(md);
    38833899        return false;
    38843900    }
    3885     if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, psStringCopy(telescope))) {
     3901    if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, telescope)) {
    38863902        psError(PS_ERR_UNKNOWN, false, "failed to add item telescope");
    38873903        psFree(md);
    38883904        return false;
    38893905    }
    3890     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, psStringCopy(exp_type))) {
     3906    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, exp_type)) {
    38913907        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type");
    38923908        psFree(md);
    38933909        return false;
    38943910    }
    3895     if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, psStringCopy(uri))) {
     3911    if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, uri)) {
    38963912        psError(PS_ERR_UNKNOWN, false, "failed to add item uri");
    38973913        psFree(md);
     
    41024118
    41034119    md = psMetadataAlloc();
    4104     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, psStringCopy(object->exp_id))) {
     4120    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, object->exp_id)) {
    41054121        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    41064122        psFree(md);
    41074123        return NULL;
    41084124    }
    4109     if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, psStringCopy(object->camera))) {
     4125    if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, object->camera)) {
    41104126        psError(PS_ERR_UNKNOWN, false, "failed to add item camera");
    41114127        psFree(md);
    41124128        return NULL;
    41134129    }
    4114     if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, psStringCopy(object->telescope))) {
     4130    if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, object->telescope)) {
    41154131        psError(PS_ERR_UNKNOWN, false, "failed to add item telescope");
    41164132        psFree(md);
    41174133        return NULL;
    41184134    }
    4119     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, psStringCopy(object->exp_type))) {
     4135    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, object->exp_type)) {
    41204136        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type");
    41214137        psFree(md);
    41224138        return NULL;
    41234139    }
    4124     if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, psStringCopy(object->uri))) {
     4140    if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, object->uri)) {
    41254141        psError(PS_ERR_UNKNOWN, false, "failed to add item uri");
    41264142        psFree(md);
     
    41944210
    41954211    for (i = 0; i < rowSet->n; i++) {
    4196         psArrayAdd(returnSet, 0, summitExpObjectFromMetadata(rowSet->data[i]));
     4212        summitExpRow *object = summitExpObjectFromMetadata(rowSet->data[i]);
     4213        psArrayAdd(returnSet, 0, object);
     4214        psFree(object);
    41974215    }
    41984216
     
    43014319
    43024320    md = psMetadataAlloc();
    4303     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, psStringCopy(exp_id))) {
     4321    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, exp_id)) {
    43044322        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    43054323        psFree(md);
    43064324        return false;
    43074325    }
    4308     if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, psStringCopy(camera))) {
     4326    if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, camera)) {
    43094327        psError(PS_ERR_UNKNOWN, false, "failed to add item camera");
    43104328        psFree(md);
    43114329        return false;
    43124330    }
    4313     if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, psStringCopy(telescope))) {
     4331    if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, telescope)) {
    43144332        psError(PS_ERR_UNKNOWN, false, "failed to add item telescope");
    43154333        psFree(md);
    43164334        return false;
    43174335    }
    4318     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, psStringCopy(exp_type))) {
     4336    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, exp_type)) {
    43194337        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type");
    43204338        psFree(md);
     
    45304548
    45314549    md = psMetadataAlloc();
    4532     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, psStringCopy(object->exp_id))) {
     4550    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, object->exp_id)) {
    45334551        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    45344552        psFree(md);
    45354553        return NULL;
    45364554    }
    4537     if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, psStringCopy(object->camera))) {
     4555    if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, object->camera)) {
    45384556        psError(PS_ERR_UNKNOWN, false, "failed to add item camera");
    45394557        psFree(md);
    45404558        return NULL;
    45414559    }
    4542     if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, psStringCopy(object->telescope))) {
     4560    if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, object->telescope)) {
    45434561        psError(PS_ERR_UNKNOWN, false, "failed to add item telescope");
    45444562        psFree(md);
    45454563        return NULL;
    45464564    }
    4547     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, psStringCopy(object->exp_type))) {
     4565    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, object->exp_type)) {
    45484566        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type");
    45494567        psFree(md);
     
    46224640
    46234641    for (i = 0; i < rowSet->n; i++) {
    4624         psArrayAdd(returnSet, 0, pzPendingExpObjectFromMetadata(rowSet->data[i]));
     4642        pzPendingExpRow *object = pzPendingExpObjectFromMetadata(rowSet->data[i]);
     4643        psArrayAdd(returnSet, 0, object);
     4644        psFree(object);
    46254645    }
    46264646
     
    47364756
    47374757    md = psMetadataAlloc();
    4738     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, psStringCopy(exp_id))) {
     4758    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, exp_id)) {
    47394759        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    47404760        psFree(md);
     
    47464766        return false;
    47474767    }
    4748     if (!psMetadataAddStr(md, PS_LIST_TAIL, "md5sum", 0, NULL, psStringCopy(md5sum))) {
     4768    if (!psMetadataAddStr(md, PS_LIST_TAIL, "md5sum", 0, NULL, md5sum)) {
    47494769        psError(PS_ERR_UNKNOWN, false, "failed to add item md5sum");
    47504770        psFree(md);
    47514771        return false;
    47524772    }
    4753     if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, psStringCopy(class))) {
     4773    if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, class)) {
    47544774        psError(PS_ERR_UNKNOWN, false, "failed to add item class");
    47554775        psFree(md);
    47564776        return false;
    47574777    }
    4758     if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, psStringCopy(class_id))) {
     4778    if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, class_id)) {
    47594779        psError(PS_ERR_UNKNOWN, false, "failed to add item class_id");
    47604780        psFree(md);
    47614781        return false;
    47624782    }
    4763     if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, psStringCopy(uri))) {
     4783    if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, uri)) {
    47644784        psError(PS_ERR_UNKNOWN, false, "failed to add item uri");
    47654785        psFree(md);
     
    49774997
    49784998    md = psMetadataAlloc();
    4979     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, psStringCopy(object->exp_id))) {
     4999    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, object->exp_id)) {
    49805000        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    49815001        psFree(md);
     
    49875007        return NULL;
    49885008    }
    4989     if (!psMetadataAddStr(md, PS_LIST_TAIL, "md5sum", 0, NULL, psStringCopy(object->md5sum))) {
     5009    if (!psMetadataAddStr(md, PS_LIST_TAIL, "md5sum", 0, NULL, object->md5sum)) {
    49905010        psError(PS_ERR_UNKNOWN, false, "failed to add item md5sum");
    49915011        psFree(md);
    49925012        return NULL;
    49935013    }
    4994     if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, psStringCopy(object->class))) {
     5014    if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, object->class)) {
    49955015        psError(PS_ERR_UNKNOWN, false, "failed to add item class");
    49965016        psFree(md);
    49975017        return NULL;
    49985018    }
    4999     if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, psStringCopy(object->class_id))) {
     5019    if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, object->class_id)) {
    50005020        psError(PS_ERR_UNKNOWN, false, "failed to add item class_id");
    50015021        psFree(md);
    50025022        return NULL;
    50035023    }
    5004     if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, psStringCopy(object->uri))) {
     5024    if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, object->uri)) {
    50055025        psError(PS_ERR_UNKNOWN, false, "failed to add item uri");
    50065026        psFree(md);
     
    50805100
    50815101    for (i = 0; i < rowSet->n; i++) {
    5082         psArrayAdd(returnSet, 0, pzPendingImfileObjectFromMetadata(rowSet->data[i]));
     5102        pzPendingImfileRow *object = pzPendingImfileObjectFromMetadata(rowSet->data[i]);
     5103        psArrayAdd(returnSet, 0, object);
     5104        psFree(object);
    50835105    }
    50845106
     
    51875209
    51885210    md = psMetadataAlloc();
    5189     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, psStringCopy(exp_id))) {
     5211    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, exp_id)) {
    51905212        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    51915213        psFree(md);
    51925214        return false;
    51935215    }
    5194     if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, psStringCopy(camera))) {
     5216    if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, camera)) {
    51955217        psError(PS_ERR_UNKNOWN, false, "failed to add item camera");
    51965218        psFree(md);
    51975219        return false;
    51985220    }
    5199     if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, psStringCopy(telescope))) {
     5221    if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, telescope)) {
    52005222        psError(PS_ERR_UNKNOWN, false, "failed to add item telescope");
    52015223        psFree(md);
    52025224        return false;
    52035225    }
    5204     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, psStringCopy(exp_type))) {
     5226    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, exp_type)) {
    52055227        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type");
    52065228        psFree(md);
     
    54165438
    54175439    md = psMetadataAlloc();
    5418     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, psStringCopy(object->exp_id))) {
     5440    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, object->exp_id)) {
    54195441        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    54205442        psFree(md);
    54215443        return NULL;
    54225444    }
    5423     if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, psStringCopy(object->camera))) {
     5445    if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, object->camera)) {
    54245446        psError(PS_ERR_UNKNOWN, false, "failed to add item camera");
    54255447        psFree(md);
    54265448        return NULL;
    54275449    }
    5428     if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, psStringCopy(object->telescope))) {
     5450    if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, object->telescope)) {
    54295451        psError(PS_ERR_UNKNOWN, false, "failed to add item telescope");
    54305452        psFree(md);
    54315453        return NULL;
    54325454    }
    5433     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, psStringCopy(object->exp_type))) {
     5455    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, object->exp_type)) {
    54345456        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type");
    54355457        psFree(md);
     
    55085530
    55095531    for (i = 0; i < rowSet->n; i++) {
    5510         psArrayAdd(returnSet, 0, newExpObjectFromMetadata(rowSet->data[i]));
     5532        newExpRow *object = newExpObjectFromMetadata(rowSet->data[i]);
     5533        psArrayAdd(returnSet, 0, object);
     5534        psFree(object);
    55115535    }
    55125536
     
    56095633
    56105634    md = psMetadataAlloc();
    5611     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, psStringCopy(exp_id))) {
     5635    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, exp_id)) {
    56125636        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    56135637        psFree(md);
    56145638        return false;
    56155639    }
    5616     if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, psStringCopy(class))) {
     5640    if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, class)) {
    56175641        psError(PS_ERR_UNKNOWN, false, "failed to add item class");
    56185642        psFree(md);
    56195643        return false;
    56205644    }
    5621     if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, psStringCopy(class_id))) {
     5645    if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, class_id)) {
    56225646        psError(PS_ERR_UNKNOWN, false, "failed to add item class_id");
    56235647        psFree(md);
    56245648        return false;
    56255649    }
    5626     if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, psStringCopy(uri))) {
     5650    if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, uri)) {
    56275651        psError(PS_ERR_UNKNOWN, false, "failed to add item uri");
    56285652        psFree(md);
     
    58265850
    58275851    md = psMetadataAlloc();
    5828     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, psStringCopy(object->exp_id))) {
     5852    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, object->exp_id)) {
    58295853        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    58305854        psFree(md);
    58315855        return NULL;
    58325856    }
    5833     if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, psStringCopy(object->class))) {
     5857    if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, object->class)) {
    58345858        psError(PS_ERR_UNKNOWN, false, "failed to add item class");
    58355859        psFree(md);
    58365860        return NULL;
    58375861    }
    5838     if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, psStringCopy(object->class_id))) {
     5862    if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, object->class_id)) {
    58395863        psError(PS_ERR_UNKNOWN, false, "failed to add item class_id");
    58405864        psFree(md);
    58415865        return NULL;
    58425866    }
    5843     if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, psStringCopy(object->uri))) {
     5867    if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, object->uri)) {
    58445868        psError(PS_ERR_UNKNOWN, false, "failed to add item uri");
    58455869        psFree(md);
     
    59075931
    59085932    for (i = 0; i < rowSet->n; i++) {
    5909         psArrayAdd(returnSet, 0, newImfileObjectFromMetadata(rowSet->data[i]));
     5933        newImfileRow *object = newImfileObjectFromMetadata(rowSet->data[i]);
     5934        psArrayAdd(returnSet, 0, object);
     5935        psFree(object);
    59105936    }
    59115937
     
    60286054
    60296055    md = psMetadataAlloc();
    6030     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, psStringCopy(exp_id))) {
     6056    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, exp_id)) {
    60316057        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    60326058        psFree(md);
    60336059        return false;
    60346060    }
    6035     if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, psStringCopy(camera))) {
     6061    if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, camera)) {
    60366062        psError(PS_ERR_UNKNOWN, false, "failed to add item camera");
    60376063        psFree(md);
    60386064        return false;
    60396065    }
    6040     if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, psStringCopy(telescope))) {
     6066    if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, telescope)) {
    60416067        psError(PS_ERR_UNKNOWN, false, "failed to add item telescope");
    60426068        psFree(md);
    60436069        return false;
    60446070    }
    6045     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, psStringCopy(exp_type))) {
     6071    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, exp_type)) {
    60466072        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type");
    60476073        psFree(md);
     
    60536079        return false;
    60546080    }
    6055     if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, psStringCopy(filter))) {
     6081    if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, filter)) {
    60566082        psError(PS_ERR_UNKNOWN, false, "failed to add item filter");
    60576083        psFree(md);
    60586084        return false;
    60596085    }
    6060     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, psStringCopy(stats))) {
     6086    if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, stats)) {
    60616087        psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
    60626088        psFree(md);
     
    62816307
    62826308    md = psMetadataAlloc();
    6283     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, psStringCopy(object->exp_id))) {
     6309    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, object->exp_id)) {
    62846310        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    62856311        psFree(md);
    62866312        return NULL;
    62876313    }
    6288     if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, psStringCopy(object->camera))) {
     6314    if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, object->camera)) {
    62896315        psError(PS_ERR_UNKNOWN, false, "failed to add item camera");
    62906316        psFree(md);
    62916317        return NULL;
    62926318    }
    6293     if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, psStringCopy(object->telescope))) {
     6319    if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, object->telescope)) {
    62946320        psError(PS_ERR_UNKNOWN, false, "failed to add item telescope");
    62956321        psFree(md);
    62966322        return NULL;
    62976323    }
    6298     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, psStringCopy(object->exp_type))) {
     6324    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, object->exp_type)) {
    62996325        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type");
    63006326        psFree(md);
     
    63066332        return NULL;
    63076333    }
    6308     if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, psStringCopy(object->filter))) {
     6334    if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, object->filter)) {
    63096335        psError(PS_ERR_UNKNOWN, false, "failed to add item filter");
    63106336        psFree(md);
    63116337        return NULL;
    63126338    }
    6313     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, psStringCopy(object->stats))) {
     6339    if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, object->stats)) {
    63146340        psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
    63156341        psFree(md);
     
    63956421
    63966422    for (i = 0; i < rowSet->n; i++) {
    6397         psArrayAdd(returnSet, 0, rawDetrendExpObjectFromMetadata(rowSet->data[i]));
     6423        rawDetrendExpRow *object = rawDetrendExpObjectFromMetadata(rowSet->data[i]);
     6424        psArrayAdd(returnSet, 0, object);
     6425        psFree(object);
    63986426    }
    63996427
     
    65166544
    65176545    md = psMetadataAlloc();
    6518     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, psStringCopy(exp_id))) {
     6546    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, exp_id)) {
    65196547        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    65206548        psFree(md);
    65216549        return false;
    65226550    }
    6523     if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, psStringCopy(camera))) {
     6551    if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, camera)) {
    65246552        psError(PS_ERR_UNKNOWN, false, "failed to add item camera");
    65256553        psFree(md);
    65266554        return false;
    65276555    }
    6528     if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, psStringCopy(telescope))) {
     6556    if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, telescope)) {
    65296557        psError(PS_ERR_UNKNOWN, false, "failed to add item telescope");
    65306558        psFree(md);
    65316559        return false;
    65326560    }
    6533     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, psStringCopy(exp_type))) {
     6561    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, exp_type)) {
    65346562        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type");
    65356563        psFree(md);
     
    65416569        return false;
    65426570    }
    6543     if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, psStringCopy(filter))) {
     6571    if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, filter)) {
    65446572        psError(PS_ERR_UNKNOWN, false, "failed to add item filter");
    65456573        psFree(md);
    65466574        return false;
    65476575    }
    6548     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, psStringCopy(stats))) {
     6576    if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, stats)) {
    65496577        psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
    65506578        psFree(md);
     
    67696797
    67706798    md = psMetadataAlloc();
    6771     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, psStringCopy(object->exp_id))) {
     6799    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, object->exp_id)) {
    67726800        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    67736801        psFree(md);
    67746802        return NULL;
    67756803    }
    6776     if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, psStringCopy(object->camera))) {
     6804    if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, object->camera)) {
    67776805        psError(PS_ERR_UNKNOWN, false, "failed to add item camera");
    67786806        psFree(md);
    67796807        return NULL;
    67806808    }
    6781     if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, psStringCopy(object->telescope))) {
     6809    if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, object->telescope)) {
    67826810        psError(PS_ERR_UNKNOWN, false, "failed to add item telescope");
    67836811        psFree(md);
    67846812        return NULL;
    67856813    }
    6786     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, psStringCopy(object->exp_type))) {
     6814    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, object->exp_type)) {
    67876815        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type");
    67886816        psFree(md);
     
    67946822        return NULL;
    67956823    }
    6796     if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, psStringCopy(object->filter))) {
     6824    if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, object->filter)) {
    67976825        psError(PS_ERR_UNKNOWN, false, "failed to add item filter");
    67986826        psFree(md);
    67996827        return NULL;
    68006828    }
    6801     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, psStringCopy(object->stats))) {
     6829    if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, object->stats)) {
    68026830        psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
    68036831        psFree(md);
     
    68836911
    68846912    for (i = 0; i < rowSet->n; i++) {
    6885         psArrayAdd(returnSet, 0, rawScienceExpObjectFromMetadata(rowSet->data[i]));
     6913        rawScienceExpRow *object = rawScienceExpObjectFromMetadata(rowSet->data[i]);
     6914        psArrayAdd(returnSet, 0, object);
     6915        psFree(object);
    68866916    }
    68876917
     
    69847014
    69857015    md = psMetadataAlloc();
    6986     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, psStringCopy(exp_id))) {
     7016    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, exp_id)) {
    69877017        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    69887018        psFree(md);
    69897019        return false;
    69907020    }
    6991     if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, psStringCopy(class_id))) {
     7021    if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, class_id)) {
    69927022        psError(PS_ERR_UNKNOWN, false, "failed to add item class_id");
    69937023        psFree(md);
    69947024        return false;
    69957025    }
    6996     if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, psStringCopy(uri))) {
     7026    if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, uri)) {
    69977027        psError(PS_ERR_UNKNOWN, false, "failed to add item uri");
    69987028        psFree(md);
    69997029        return false;
    70007030    }
    7001     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, psStringCopy(stats))) {
     7031    if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, stats)) {
    70027032        psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
    70037033        psFree(md);
     
    72017231
    72027232    md = psMetadataAlloc();
    7203     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, psStringCopy(object->exp_id))) {
     7233    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, object->exp_id)) {
    72047234        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    72057235        psFree(md);
    72067236        return NULL;
    72077237    }
    7208     if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, psStringCopy(object->class_id))) {
     7238    if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, object->class_id)) {
    72097239        psError(PS_ERR_UNKNOWN, false, "failed to add item class_id");
    72107240        psFree(md);
    72117241        return NULL;
    72127242    }
    7213     if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, psStringCopy(object->uri))) {
     7243    if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, object->uri)) {
    72147244        psError(PS_ERR_UNKNOWN, false, "failed to add item uri");
    72157245        psFree(md);
    72167246        return NULL;
    72177247    }
    7218     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, psStringCopy(object->stats))) {
     7248    if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, object->stats)) {
    72197249        psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
    72207250        psFree(md);
     
    72827312
    72837313    for (i = 0; i < rowSet->n; i++) {
    7284         psArrayAdd(returnSet, 0, rawImfileObjectFromMetadata(rowSet->data[i]));
     7314        rawImfileRow *object = rawImfileObjectFromMetadata(rowSet->data[i]);
     7315        psArrayAdd(returnSet, 0, object);
     7316        psFree(object);
    72857317    }
    72867318
     
    74167448
    74177449    md = psMetadataAlloc();
    7418     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, psStringCopy(exp_id))) {
     7450    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, exp_id)) {
    74197451        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    74207452        psFree(md);
    74217453        return false;
    74227454    }
    7423     if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, psStringCopy(camera))) {
     7455    if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, camera)) {
    74247456        psError(PS_ERR_UNKNOWN, false, "failed to add item camera");
    74257457        psFree(md);
    74267458        return false;
    74277459    }
    7428     if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, psStringCopy(telescope))) {
     7460    if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, telescope)) {
    74297461        psError(PS_ERR_UNKNOWN, false, "failed to add item telescope");
    74307462        psFree(md);
    74317463        return false;
    74327464    }
    7433     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, psStringCopy(exp_type))) {
     7465    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, exp_type)) {
    74347466        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type");
    74357467        psFree(md);
     
    74417473        return false;
    74427474    }
    7443     if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, psStringCopy(filter))) {
     7475    if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, filter)) {
    74447476        psError(PS_ERR_UNKNOWN, false, "failed to add item filter");
    74457477        psFree(md);
    74467478        return false;
    74477479    }
    7448     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, psStringCopy(stats))) {
     7480    if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, stats)) {
    74497481        psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
    74507482        psFree(md);
    74517483        return false;
    74527484    }
    7453     if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, psStringCopy(recipe))) {
     7485    if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, recipe)) {
    74547486        psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
    74557487        psFree(md);
     
    76937725
    76947726    md = psMetadataAlloc();
    7695     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, psStringCopy(object->exp_id))) {
     7727    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, object->exp_id)) {
    76967728        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    76977729        psFree(md);
    76987730        return NULL;
    76997731    }
    7700     if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, psStringCopy(object->camera))) {
     7732    if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, object->camera)) {
    77017733        psError(PS_ERR_UNKNOWN, false, "failed to add item camera");
    77027734        psFree(md);
    77037735        return NULL;
    77047736    }
    7705     if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, psStringCopy(object->telescope))) {
     7737    if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, object->telescope)) {
    77067738        psError(PS_ERR_UNKNOWN, false, "failed to add item telescope");
    77077739        psFree(md);
    77087740        return NULL;
    77097741    }
    7710     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, psStringCopy(object->exp_type))) {
     7742    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, object->exp_type)) {
    77117743        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type");
    77127744        psFree(md);
     
    77187750        return NULL;
    77197751    }
    7720     if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, psStringCopy(object->filter))) {
     7752    if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, object->filter)) {
    77217753        psError(PS_ERR_UNKNOWN, false, "failed to add item filter");
    77227754        psFree(md);
    77237755        return NULL;
    77247756    }
    7725     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, psStringCopy(object->stats))) {
     7757    if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, object->stats)) {
    77267758        psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
    77277759        psFree(md);
    77287760        return NULL;
    77297761    }
    7730     if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, psStringCopy(object->recipe))) {
     7762    if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, object->recipe)) {
    77317763        psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
    77327764        psFree(md);
     
    78297861
    78307862    for (i = 0; i < rowSet->n; i++) {
    7831         psArrayAdd(returnSet, 0, p1PendingExpObjectFromMetadata(rowSet->data[i]));
     7863        p1PendingExpRow *object = p1PendingExpObjectFromMetadata(rowSet->data[i]);
     7864        psArrayAdd(returnSet, 0, object);
     7865        psFree(object);
    78327866    }
    78337867
     
    79698003
    79708004    md = psMetadataAlloc();
    7971     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, psStringCopy(exp_id))) {
     8005    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, exp_id)) {
    79728006        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    79738007        psFree(md);
    79748008        return false;
    79758009    }
    7976     if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, psStringCopy(camera))) {
     8010    if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, camera)) {
    79778011        psError(PS_ERR_UNKNOWN, false, "failed to add item camera");
    79788012        psFree(md);
    79798013        return false;
    79808014    }
    7981     if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, psStringCopy(telescope))) {
     8015    if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, telescope)) {
    79828016        psError(PS_ERR_UNKNOWN, false, "failed to add item telescope");
    79838017        psFree(md);
    79848018        return false;
    79858019    }
    7986     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, psStringCopy(exp_type))) {
     8020    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, exp_type)) {
    79878021        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type");
    79888022        psFree(md);
     
    79948028        return false;
    79958029    }
    7996     if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, psStringCopy(filter))) {
     8030    if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, filter)) {
    79978031        psError(PS_ERR_UNKNOWN, false, "failed to add item filter");
    79988032        psFree(md);
    79998033        return false;
    80008034    }
    8001     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, psStringCopy(stats))) {
     8035    if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, stats)) {
    80028036        psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
    80038037        psFree(md);
    80048038        return false;
    80058039    }
    8006     if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, psStringCopy(recipe))) {
     8040    if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, recipe)) {
    80078041        psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
    80088042        psFree(md);
     
    82588292
    82598293    md = psMetadataAlloc();
    8260     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, psStringCopy(object->exp_id))) {
     8294    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, object->exp_id)) {
    82618295        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    82628296        psFree(md);
    82638297        return NULL;
    82648298    }
    8265     if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, psStringCopy(object->camera))) {
     8299    if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, object->camera)) {
    82668300        psError(PS_ERR_UNKNOWN, false, "failed to add item camera");
    82678301        psFree(md);
    82688302        return NULL;
    82698303    }
    8270     if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, psStringCopy(object->telescope))) {
     8304    if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, object->telescope)) {
    82718305        psError(PS_ERR_UNKNOWN, false, "failed to add item telescope");
    82728306        psFree(md);
    82738307        return NULL;
    82748308    }
    8275     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, psStringCopy(object->exp_type))) {
     8309    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, object->exp_type)) {
    82768310        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type");
    82778311        psFree(md);
     
    82838317        return NULL;
    82848318    }
    8285     if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, psStringCopy(object->filter))) {
     8319    if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, object->filter)) {
    82868320        psError(PS_ERR_UNKNOWN, false, "failed to add item filter");
    82878321        psFree(md);
    82888322        return NULL;
    82898323    }
    8290     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, psStringCopy(object->stats))) {
     8324    if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, object->stats)) {
    82918325        psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
    82928326        psFree(md);
    82938327        return NULL;
    82948328    }
    8295     if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, psStringCopy(object->recipe))) {
     8329    if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, object->recipe)) {
    82968330        psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
    82978331        psFree(md);
     
    84058439
    84068440    for (i = 0; i < rowSet->n; i++) {
    8407         psArrayAdd(returnSet, 0, p2PendingExpObjectFromMetadata(rowSet->data[i]));
     8441        p2PendingExpRow *object = p2PendingExpObjectFromMetadata(rowSet->data[i]);
     8442        psArrayAdd(returnSet, 0, object);
     8443        psFree(object);
    84088444    }
    84098445
     
    85258561
    85268562    md = psMetadataAlloc();
    8527     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, psStringCopy(exp_id))) {
     8563    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, exp_id)) {
    85288564        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    85298565        psFree(md);
    85308566        return false;
    85318567    }
    8532     if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, psStringCopy(class_id))) {
     8568    if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, class_id)) {
    85338569        psError(PS_ERR_UNKNOWN, false, "failed to add item class_id");
    85348570        psFree(md);
    85358571        return false;
    85368572    }
    8537     if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, psStringCopy(uri))) {
     8573    if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, uri)) {
    85388574        psError(PS_ERR_UNKNOWN, false, "failed to add item uri");
    85398575        psFree(md);
    85408576        return false;
    85418577    }
    8542     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, psStringCopy(stats))) {
     8578    if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, stats)) {
    85438579        psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
    85448580        psFree(md);
    85458581        return false;
    85468582    }
    8547     if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, psStringCopy(recipe))) {
     8583    if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, recipe)) {
    85488584        psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
    85498585        psFree(md);
     
    87788814
    87798815    md = psMetadataAlloc();
    8780     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, psStringCopy(object->exp_id))) {
     8816    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, object->exp_id)) {
    87818817        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    87828818        psFree(md);
    87838819        return NULL;
    87848820    }
    8785     if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, psStringCopy(object->class_id))) {
     8821    if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, object->class_id)) {
    87868822        psError(PS_ERR_UNKNOWN, false, "failed to add item class_id");
    87878823        psFree(md);
    87888824        return NULL;
    87898825    }
    8790     if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, psStringCopy(object->uri))) {
     8826    if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, object->uri)) {
    87918827        psError(PS_ERR_UNKNOWN, false, "failed to add item uri");
    87928828        psFree(md);
    87938829        return NULL;
    87948830    }
    8795     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, psStringCopy(object->stats))) {
     8831    if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, object->stats)) {
    87968832        psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
    87978833        psFree(md);
    87988834        return NULL;
    87998835    }
    8800     if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, psStringCopy(object->recipe))) {
     8836    if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, object->recipe)) {
    88018837        psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
    88028838        psFree(md);
     
    88928928
    88938929    for (i = 0; i < rowSet->n; i++) {
    8894         psArrayAdd(returnSet, 0, p2PendingImfileObjectFromMetadata(rowSet->data[i]));
     8930        p2PendingImfileRow *object = p2PendingImfileObjectFromMetadata(rowSet->data[i]);
     8931        psArrayAdd(returnSet, 0, object);
     8932        psFree(object);
    88958933    }
    88968934
     
    90329070
    90339071    md = psMetadataAlloc();
    9034     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, psStringCopy(exp_id))) {
     9072    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, exp_id)) {
    90359073        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    90369074        psFree(md);
    90379075        return false;
    90389076    }
    9039     if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, psStringCopy(camera))) {
     9077    if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, camera)) {
    90409078        psError(PS_ERR_UNKNOWN, false, "failed to add item camera");
    90419079        psFree(md);
    90429080        return false;
    90439081    }
    9044     if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, psStringCopy(telescope))) {
     9082    if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, telescope)) {
    90459083        psError(PS_ERR_UNKNOWN, false, "failed to add item telescope");
    90469084        psFree(md);
    90479085        return false;
    90489086    }
    9049     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, psStringCopy(exp_type))) {
     9087    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, exp_type)) {
    90509088        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type");
    90519089        psFree(md);
     
    90579095        return false;
    90589096    }
    9059     if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, psStringCopy(filter))) {
     9097    if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, filter)) {
    90609098        psError(PS_ERR_UNKNOWN, false, "failed to add item filter");
    90619099        psFree(md);
    90629100        return false;
    90639101    }
    9064     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, psStringCopy(stats))) {
     9102    if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, stats)) {
    90659103        psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
    90669104        psFree(md);
    90679105        return false;
    90689106    }
    9069     if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, psStringCopy(recipe))) {
     9107    if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, recipe)) {
    90709108        psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
    90719109        psFree(md);
     
    93219359
    93229360    md = psMetadataAlloc();
    9323     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, psStringCopy(object->exp_id))) {
     9361    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, object->exp_id)) {
    93249362        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    93259363        psFree(md);
    93269364        return NULL;
    93279365    }
    9328     if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, psStringCopy(object->camera))) {
     9366    if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, object->camera)) {
    93299367        psError(PS_ERR_UNKNOWN, false, "failed to add item camera");
    93309368        psFree(md);
    93319369        return NULL;
    93329370    }
    9333     if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, psStringCopy(object->telescope))) {
     9371    if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, object->telescope)) {
    93349372        psError(PS_ERR_UNKNOWN, false, "failed to add item telescope");
    93359373        psFree(md);
    93369374        return NULL;
    93379375    }
    9338     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, psStringCopy(object->exp_type))) {
     9376    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, object->exp_type)) {
    93399377        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type");
    93409378        psFree(md);
     
    93469384        return NULL;
    93479385    }
    9348     if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, psStringCopy(object->filter))) {
     9386    if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, object->filter)) {
    93499387        psError(PS_ERR_UNKNOWN, false, "failed to add item filter");
    93509388        psFree(md);
    93519389        return NULL;
    93529390    }
    9353     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, psStringCopy(object->stats))) {
     9391    if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, object->stats)) {
    93549392        psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
    93559393        psFree(md);
    93569394        return NULL;
    93579395    }
    9358     if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, psStringCopy(object->recipe))) {
     9396    if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, object->recipe)) {
    93599397        psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
    93609398        psFree(md);
     
    94689506
    94699507    for (i = 0; i < rowSet->n; i++) {
    9470         psArrayAdd(returnSet, 0, p2DoneExpObjectFromMetadata(rowSet->data[i]));
     9508        p2DoneExpRow *object = p2DoneExpObjectFromMetadata(rowSet->data[i]);
     9509        psArrayAdd(returnSet, 0, object);
     9510        psFree(object);
    94719511    }
    94729512
     
    95889628
    95899629    md = psMetadataAlloc();
    9590     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, psStringCopy(exp_id))) {
     9630    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, exp_id)) {
    95919631        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    95929632        psFree(md);
    95939633        return false;
    95949634    }
    9595     if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, psStringCopy(class_id))) {
     9635    if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, class_id)) {
    95969636        psError(PS_ERR_UNKNOWN, false, "failed to add item class_id");
    95979637        psFree(md);
    95989638        return false;
    95999639    }
    9600     if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, psStringCopy(uri))) {
     9640    if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, uri)) {
    96019641        psError(PS_ERR_UNKNOWN, false, "failed to add item uri");
    96029642        psFree(md);
    96039643        return false;
    96049644    }
    9605     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, psStringCopy(stats))) {
     9645    if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, stats)) {
    96069646        psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
    96079647        psFree(md);
    96089648        return false;
    96099649    }
    9610     if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, psStringCopy(recipe))) {
     9650    if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, recipe)) {
    96119651        psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
    96129652        psFree(md);
     
    98419881
    98429882    md = psMetadataAlloc();
    9843     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, psStringCopy(object->exp_id))) {
     9883    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, object->exp_id)) {
    98449884        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    98459885        psFree(md);
    98469886        return NULL;
    98479887    }
    9848     if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, psStringCopy(object->class_id))) {
     9888    if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, object->class_id)) {
    98499889        psError(PS_ERR_UNKNOWN, false, "failed to add item class_id");
    98509890        psFree(md);
    98519891        return NULL;
    98529892    }
    9853     if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, psStringCopy(object->uri))) {
     9893    if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, object->uri)) {
    98549894        psError(PS_ERR_UNKNOWN, false, "failed to add item uri");
    98559895        psFree(md);
    98569896        return NULL;
    98579897    }
    9858     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, psStringCopy(object->stats))) {
     9898    if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, object->stats)) {
    98599899        psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
    98609900        psFree(md);
    98619901        return NULL;
    98629902    }
    9863     if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, psStringCopy(object->recipe))) {
     9903    if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, object->recipe)) {
    98649904        psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
    98659905        psFree(md);
     
    99559995
    99569996    for (i = 0; i < rowSet->n; i++) {
    9957         psArrayAdd(returnSet, 0, p2DoneImfileObjectFromMetadata(rowSet->data[i]));
     9997        p2DoneImfileRow *object = p2DoneImfileObjectFromMetadata(rowSet->data[i]);
     9998        psArrayAdd(returnSet, 0, object);
     9999        psFree(object);
    995810000    }
    995910001
     
    1008810130
    1008910131    md = psMetadataAlloc();
    10090     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, psStringCopy(exp_id))) {
     10132    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, exp_id)) {
    1009110133        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    1009210134        psFree(md);
    1009310135        return false;
    1009410136    }
    10095     if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, psStringCopy(camera))) {
     10137    if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, camera)) {
    1009610138        psError(PS_ERR_UNKNOWN, false, "failed to add item camera");
    1009710139        psFree(md);
    1009810140        return false;
    1009910141    }
    10100     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, psStringCopy(exp_type))) {
     10142    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, exp_type)) {
    1010110143        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type");
    1010210144        psFree(md);
     
    1010810150        return false;
    1010910151    }
    10110     if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, psStringCopy(filter))) {
     10152    if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, filter)) {
    1011110153        psError(PS_ERR_UNKNOWN, false, "failed to add item filter");
    1011210154        psFree(md);
    1011310155        return false;
    1011410156    }
    10115     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, psStringCopy(stats))) {
     10157    if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, stats)) {
    1011610158        psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
    1011710159        psFree(md);
    1011810160        return false;
    1011910161    }
    10120     if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, psStringCopy(recipe))) {
     10162    if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, recipe)) {
    1012110163        psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
    1012210164        psFree(md);
     
    1036510407
    1036610408    md = psMetadataAlloc();
    10367     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, psStringCopy(object->exp_id))) {
     10409    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, object->exp_id)) {
    1036810410        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    1036910411        psFree(md);
    1037010412        return NULL;
    1037110413    }
    10372     if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, psStringCopy(object->camera))) {
     10414    if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, object->camera)) {
    1037310415        psError(PS_ERR_UNKNOWN, false, "failed to add item camera");
    1037410416        psFree(md);
    1037510417        return NULL;
    1037610418    }
    10377     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, psStringCopy(object->exp_type))) {
     10419    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, object->exp_type)) {
    1037810420        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type");
    1037910421        psFree(md);
     
    1038510427        return NULL;
    1038610428    }
    10387     if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, psStringCopy(object->filter))) {
     10429    if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, object->filter)) {
    1038810430        psError(PS_ERR_UNKNOWN, false, "failed to add item filter");
    1038910431        psFree(md);
    1039010432        return NULL;
    1039110433    }
    10392     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, psStringCopy(object->stats))) {
     10434    if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, object->stats)) {
    1039310435        psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
    1039410436        psFree(md);
    1039510437        return NULL;
    1039610438    }
    10397     if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, psStringCopy(object->recipe))) {
     10439    if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, object->recipe)) {
    1039810440        psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
    1039910441        psFree(md);
     
    1050110543
    1050210544    for (i = 0; i < rowSet->n; i++) {
    10503         psArrayAdd(returnSet, 0, p3PendingExpObjectFromMetadata(rowSet->data[i]));
     10545        p3PendingExpRow *object = p3PendingExpObjectFromMetadata(rowSet->data[i]);
     10546        psArrayAdd(returnSet, 0, object);
     10547        psFree(object);
    1050410548    }
    1050510549
     
    1052910573static void detRunRowFree(detRunRow *object);
    1053010574
    10531 detRunRow *detRunRowAlloc(const char *det_type, psS32 iteration)
     10575detRunRow *detRunRowAlloc(psS32 iteration, const char *det_type)
    1053210576{
    1053310577    detRunRow       *object;
     
    1053610580    psMemSetDeallocator(object, (psFreeFunc)detRunRowFree);
    1053710581
     10582    object->iteration = iteration;
    1053810583    object->det_type = psStringCopy(det_type);
    10539     object->iteration = iteration;
    1054010584
    1054110585    return object;
     
    1055810602        return false;
    1055910603    }
     10604    if (!psMetadataAddS32(md, PS_LIST_TAIL, "iteration", 0, NULL, 0)) {
     10605        psError(PS_ERR_UNKNOWN, false, "failed to add item iteration");
     10606        psFree(md);
     10607        return false;
     10608    }
    1056010609    if (!psMetadataAddStr(md, PS_LIST_TAIL, "det_type", 0, "Key", "255")) {
    1056110610        psError(PS_ERR_UNKNOWN, false, "failed to add item det_type");
     
    1056310612        return false;
    1056410613    }
    10565     if (!psMetadataAddS32(md, PS_LIST_TAIL, "iteration", 0, NULL, 0)) {
    10566         psError(PS_ERR_UNKNOWN, false, "failed to add item iteration");
    10567         psFree(md);
    10568         return false;
    10569     }
    1057010614
    1057110615    status = psDBCreateTable(dbh, DETRUN_TABLE_NAME, md);
     
    1058110625}
    1058210626
    10583 bool detRunInsert(psDB * dbh, const char *det_type, psS32 iteration)
     10627bool detRunInsert(psDB * dbh, psS32 iteration, const char *det_type)
    1058410628{
    1058510629    psMetadata      *md;
     
    1058710631
    1058810632    md = psMetadataAlloc();
    10589     if (!psMetadataAddStr(md, PS_LIST_TAIL, "det_type", 0, NULL, psStringCopy(det_type))) {
    10590         psError(PS_ERR_UNKNOWN, false, "failed to add item det_type");
    10591         psFree(md);
    10592         return false;
    10593     }
    1059410633    if (!psMetadataAddS32(md, PS_LIST_TAIL, "iteration", 0, NULL, iteration)) {
    1059510634        psError(PS_ERR_UNKNOWN, false, "failed to add item iteration");
     
    1059710636        return false;
    1059810637    }
     10638    if (!psMetadataAddStr(md, PS_LIST_TAIL, "det_type", 0, NULL, det_type)) {
     10639        psError(PS_ERR_UNKNOWN, false, "failed to add item det_type");
     10640        psFree(md);
     10641        return false;
     10642    }
    1059910643
    1060010644    status = psDBInsertOneRow(dbh, DETRUN_TABLE_NAME, md);
     
    1060410648}
    1060510649
    10606 bool detRunPop(psDB *dbh, char **det_type, psS32 *iteration)
     10650bool detRunPop(psDB *dbh, psS32 *iteration, char **det_type)
    1060710651{
    1060810652    psArray         *rowSet;
     
    1064810692    psFree(popped);
    1064910693
     10694    *iteration = psMetadataLookupS32(&status, row, "iteration");
     10695    if (!status) {
     10696        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iteration");
     10697        psFree(row);
     10698        return false;
     10699    }
    1065010700    *det_type = psMetadataLookupPtr(&status, row, "det_type");
    1065110701    if (!status) {
     
    1065410704        return false;
    1065510705    }
    10656     *iteration = psMetadataLookupS32(&status, row, "iteration");
    10657     if (!status) {
    10658         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iteration");
    10659         psFree(row);
    10660         return false;
    10661     }
    1066210706
    1066310707    psFree(row);
     
    1066810712bool detRunInsertObject(psDB *dbh, detRunRow *object)
    1066910713{
    10670     return detRunInsert(dbh, object->det_type, object->iteration);
     10714    return detRunInsert(dbh, object->iteration, object->det_type);
    1067110715}
    1067210716
    1067310717detRunRow *detRunPopObject(psDB *dbh)
    1067410718{
     10719    psS32           iteration;
    1067510720    char            det_type[256];
    10676     psS32           iteration;
    10677 
    10678     if (!detRunPop(dbh, (char **)&det_type, &iteration)) {
     10721
     10722    if (!detRunPop(dbh, &iteration, (char **)&det_type)) {
    1067910723        psError(PS_ERR_UNKNOWN, false, "failed to pop a database row");
    1068010724        return NULL;
    1068110725    }
    1068210726
    10683     return detRunRowAlloc(det_type, iteration);
     10727    return detRunRowAlloc(iteration, det_type);
    1068410728}
    1068510729
     
    1078010824
    1078110825    md = psMetadataAlloc();
    10782     if (!psMetadataAddStr(md, PS_LIST_TAIL, "det_type", 0, NULL, psStringCopy(object->det_type))) {
    10783         psError(PS_ERR_UNKNOWN, false, "failed to add item det_type");
    10784         psFree(md);
    10785         return NULL;
    10786     }
    1078710826    if (!psMetadataAddS32(md, PS_LIST_TAIL, "iteration", 0, NULL, object->iteration)) {
    1078810827        psError(PS_ERR_UNKNOWN, false, "failed to add item iteration");
     
    1079010829        return NULL;
    1079110830    }
     10831    if (!psMetadataAddStr(md, PS_LIST_TAIL, "det_type", 0, NULL, object->det_type)) {
     10832        psError(PS_ERR_UNKNOWN, false, "failed to add item det_type");
     10833        psFree(md);
     10834        return NULL;
     10835    }
    1079210836
    1079310837    return md;
     
    1079710841{
    1079810842    bool            status;
     10843    psS32           iteration;
    1079910844    char            *det_type;
    10800     psS32           iteration;
    10801 
     10845
     10846    iteration = psMetadataLookupS32(&status, md, "iteration");
     10847    if (!status) {
     10848        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iteration");
     10849        return false;
     10850    }
    1080210851    det_type = psMetadataLookupPtr(&status, md, "det_type");
    1080310852    if (!status) {
     
    1080510854        return false;
    1080610855    }
    10807     iteration = psMetadataLookupS32(&status, md, "iteration");
    10808     if (!status) {
    10809         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iteration");
    10810         return false;
    10811     }
    10812 
    10813     return detRunRowAlloc(det_type, iteration);
     10856
     10857    return detRunRowAlloc(iteration, det_type);
    1081410858}
    1081510859psArray *detRunSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     
    1083910883
    1084010884    for (i = 0; i < rowSet->n; i++) {
    10841         psArrayAdd(returnSet, 0, detRunObjectFromMetadata(rowSet->data[i]));
     10885        detRunRow *object = detRunObjectFromMetadata(rowSet->data[i]);
     10886        psArrayAdd(returnSet, 0, object);
     10887        psFree(object);
    1084210888    }
    1084310889
     
    1098211028        return false;
    1098311029    }
    10984     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, psStringCopy(exp_id))) {
     11030    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, exp_id)) {
    1098511031        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    1098611032        psFree(md);
    1098711033        return false;
    1098811034    }
    10989     if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, psStringCopy(camera))) {
     11035    if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, camera)) {
    1099011036        psError(PS_ERR_UNKNOWN, false, "failed to add item camera");
    1099111037        psFree(md);
    1099211038        return false;
    1099311039    }
    10994     if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, psStringCopy(telescope))) {
     11040    if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, telescope)) {
    1099511041        psError(PS_ERR_UNKNOWN, false, "failed to add item telescope");
    1099611042        psFree(md);
    1099711043        return false;
    1099811044    }
    10999     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, psStringCopy(exp_type))) {
     11045    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, exp_type)) {
    1100011046        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type");
    1100111047        psFree(md);
     
    1100711053        return false;
    1100811054    }
    11009     if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, psStringCopy(filter))) {
     11055    if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, filter)) {
    1101011056        psError(PS_ERR_UNKNOWN, false, "failed to add item filter");
    1101111057        psFree(md);
    1101211058        return false;
    1101311059    }
    11014     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, psStringCopy(stats))) {
     11060    if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, stats)) {
    1101511061        psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
    1101611062        psFree(md);
     
    1125911305        return NULL;
    1126011306    }
    11261     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, psStringCopy(object->exp_id))) {
     11307    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, object->exp_id)) {
    1126211308        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    1126311309        psFree(md);
    1126411310        return NULL;
    1126511311    }
    11266     if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, psStringCopy(object->camera))) {
     11312    if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, object->camera)) {
    1126711313        psError(PS_ERR_UNKNOWN, false, "failed to add item camera");
    1126811314        psFree(md);
    1126911315        return NULL;
    1127011316    }
    11271     if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, psStringCopy(object->telescope))) {
     11317    if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, object->telescope)) {
    1127211318        psError(PS_ERR_UNKNOWN, false, "failed to add item telescope");
    1127311319        psFree(md);
    1127411320        return NULL;
    1127511321    }
    11276     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, psStringCopy(object->exp_type))) {
     11322    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, object->exp_type)) {
    1127711323        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type");
    1127811324        psFree(md);
     
    1128411330        return NULL;
    1128511331    }
    11286     if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, psStringCopy(object->filter))) {
     11332    if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, object->filter)) {
    1128711333        psError(PS_ERR_UNKNOWN, false, "failed to add item filter");
    1128811334        psFree(md);
    1128911335        return NULL;
    1129011336    }
    11291     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, psStringCopy(object->stats))) {
     11337    if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, object->stats)) {
    1129211338        psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
    1129311339        psFree(md);
     
    1138511431
    1138611432    for (i = 0; i < rowSet->n; i++) {
    11387         psArrayAdd(returnSet, 0, detInputExpObjectFromMetadata(rowSet->data[i]));
     11433        detInputExpRow *object = detInputExpObjectFromMetadata(rowSet->data[i]);
     11434        psArrayAdd(returnSet, 0, object);
     11435        psFree(object);
    1138811436    }
    1138911437
     
    1150411552        return false;
    1150511553    }
    11506     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, psStringCopy(exp_id))) {
     11554    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, exp_id)) {
    1150711555        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    1150811556        psFree(md);
    1150911557        return false;
    1151011558    }
    11511     if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, psStringCopy(class_id))) {
     11559    if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, class_id)) {
    1151211560        psError(PS_ERR_UNKNOWN, false, "failed to add item class_id");
    1151311561        psFree(md);
    1151411562        return false;
    1151511563    }
    11516     if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, psStringCopy(uri))) {
     11564    if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, uri)) {
    1151711565        psError(PS_ERR_UNKNOWN, false, "failed to add item uri");
    1151811566        psFree(md);
    1151911567        return false;
    1152011568    }
    11521     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, psStringCopy(stats))) {
     11569    if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, stats)) {
    1152211570        psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
    1152311571        psFree(md);
    1152411572        return false;
    1152511573    }
    11526     if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, psStringCopy(recipe))) {
     11574    if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, recipe)) {
    1152711575        psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
    1152811576        psFree(md);
     
    1174511793        return NULL;
    1174611794    }
    11747     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, psStringCopy(object->exp_id))) {
     11795    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, object->exp_id)) {
    1174811796        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    1174911797        psFree(md);
    1175011798        return NULL;
    1175111799    }
    11752     if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, psStringCopy(object->class_id))) {
     11800    if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, object->class_id)) {
    1175311801        psError(PS_ERR_UNKNOWN, false, "failed to add item class_id");
    1175411802        psFree(md);
    1175511803        return NULL;
    1175611804    }
    11757     if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, psStringCopy(object->uri))) {
     11805    if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, object->uri)) {
    1175811806        psError(PS_ERR_UNKNOWN, false, "failed to add item uri");
    1175911807        psFree(md);
    1176011808        return NULL;
    1176111809    }
    11762     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, psStringCopy(object->stats))) {
     11810    if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, object->stats)) {
    1176311811        psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
    1176411812        psFree(md);
    1176511813        return NULL;
    1176611814    }
    11767     if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, psStringCopy(object->recipe))) {
     11815    if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, object->recipe)) {
    1176811816        psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
    1176911817        psFree(md);
     
    1184311891
    1184411892    for (i = 0; i < rowSet->n; i++) {
    11845         psArrayAdd(returnSet, 0, detProcessedImfileObjectFromMetadata(rowSet->data[i]));
     11893        detProcessedImfileRow *object = detProcessedImfileObjectFromMetadata(rowSet->data[i]);
     11894        psArrayAdd(returnSet, 0, object);
     11895        psFree(object);
    1184611896    }
    1184711897
     
    1196612016        return false;
    1196712017    }
    11968     if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, psStringCopy(class_id))) {
     12018    if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, class_id)) {
    1196912019        psError(PS_ERR_UNKNOWN, false, "failed to add item class_id");
    1197012020        psFree(md);
    1197112021        return false;
    1197212022    }
    11973     if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, psStringCopy(uri))) {
     12023    if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, uri)) {
    1197412024        psError(PS_ERR_UNKNOWN, false, "failed to add item uri");
    1197512025        psFree(md);
    1197612026        return false;
    1197712027    }
    11978     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, psStringCopy(stats))) {
     12028    if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, stats)) {
    1197912029        psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
    1198012030        psFree(md);
    1198112031        return false;
    1198212032    }
    11983     if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, psStringCopy(recipe))) {
     12033    if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, recipe)) {
    1198412034        psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
    1198512035        psFree(md);
     
    1220712257        return NULL;
    1220812258    }
    12209     if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, psStringCopy(object->class_id))) {
     12259    if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, object->class_id)) {
    1221012260        psError(PS_ERR_UNKNOWN, false, "failed to add item class_id");
    1221112261        psFree(md);
    1221212262        return NULL;
    1221312263    }
    12214     if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, psStringCopy(object->uri))) {
     12264    if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, object->uri)) {
    1221512265        psError(PS_ERR_UNKNOWN, false, "failed to add item uri");
    1221612266        psFree(md);
    1221712267        return NULL;
    1221812268    }
    12219     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, psStringCopy(object->stats))) {
     12269    if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, object->stats)) {
    1222012270        psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
    1222112271        psFree(md);
    1222212272        return NULL;
    1222312273    }
    12224     if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, psStringCopy(object->recipe))) {
     12274    if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, object->recipe)) {
    1222512275        psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
    1222612276        psFree(md);
     
    1230012350
    1230112351    for (i = 0; i < rowSet->n; i++) {
    12302         psArrayAdd(returnSet, 0, detStackedImfileObjectFromMetadata(rowSet->data[i]));
     12352        detStackedImfileRow *object = detStackedImfileObjectFromMetadata(rowSet->data[i]);
     12353        psArrayAdd(returnSet, 0, object);
     12354        psFree(object);
    1230312355    }
    1230412356
     
    1242312475        return false;
    1242412476    }
    12425     if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, psStringCopy(class_id))) {
     12477    if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, class_id)) {
    1242612478        psError(PS_ERR_UNKNOWN, false, "failed to add item class_id");
    1242712479        psFree(md);
    1242812480        return false;
    1242912481    }
    12430     if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, psStringCopy(uri))) {
     12482    if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, uri)) {
    1243112483        psError(PS_ERR_UNKNOWN, false, "failed to add item uri");
    1243212484        psFree(md);
    1243312485        return false;
    1243412486    }
    12435     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, psStringCopy(stats))) {
     12487    if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, stats)) {
    1243612488        psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
    1243712489        psFree(md);
    1243812490        return false;
    1243912491    }
    12440     if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, psStringCopy(recipe))) {
     12492    if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, recipe)) {
    1244112493        psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
    1244212494        psFree(md);
     
    1266412716        return NULL;
    1266512717    }
    12666     if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, psStringCopy(object->class_id))) {
     12718    if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, object->class_id)) {
    1266712719        psError(PS_ERR_UNKNOWN, false, "failed to add item class_id");
    1266812720        psFree(md);
    1266912721        return NULL;
    1267012722    }
    12671     if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, psStringCopy(object->uri))) {
     12723    if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, object->uri)) {
    1267212724        psError(PS_ERR_UNKNOWN, false, "failed to add item uri");
    1267312725        psFree(md);
    1267412726        return NULL;
    1267512727    }
    12676     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, psStringCopy(object->stats))) {
     12728    if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, object->stats)) {
    1267712729        psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
    1267812730        psFree(md);
    1267912731        return NULL;
    1268012732    }
    12681     if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, psStringCopy(object->recipe))) {
     12733    if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, object->recipe)) {
    1268212734        psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
    1268312735        psFree(md);
     
    1275712809
    1275812810    for (i = 0; i < rowSet->n; i++) {
    12759         psArrayAdd(returnSet, 0, detNormalizedImfileObjectFromMetadata(rowSet->data[i]));
     12811        detNormalizedImfileRow *object = detNormalizedImfileObjectFromMetadata(rowSet->data[i]);
     12812        psArrayAdd(returnSet, 0, object);
     12813        psFree(object);
    1276012814    }
    1276112815
     
    1285912913        return false;
    1286012914    }
    12861     if (!psMetadataAddStr(md, PS_LIST_TAIL, "comment", 0, NULL, psStringCopy(comment))) {
     12915    if (!psMetadataAddStr(md, PS_LIST_TAIL, "comment", 0, NULL, comment)) {
    1286212916        psError(PS_ERR_UNKNOWN, false, "failed to add item comment");
    1286312917        psFree(md);
     
    1306413118        return NULL;
    1306513119    }
    13066     if (!psMetadataAddStr(md, PS_LIST_TAIL, "comment", 0, NULL, psStringCopy(object->comment))) {
     13120    if (!psMetadataAddStr(md, PS_LIST_TAIL, "comment", 0, NULL, object->comment)) {
    1306713121        psError(PS_ERR_UNKNOWN, false, "failed to add item comment");
    1306813122        psFree(md);
     
    1312413178
    1312513179    for (i = 0; i < rowSet->n; i++) {
    13126         psArrayAdd(returnSet, 0, detMasterFrameObjectFromMetadata(rowSet->data[i]));
     13180        detMasterFrameRow *object = detMasterFrameObjectFromMetadata(rowSet->data[i]);
     13181        psArrayAdd(returnSet, 0, object);
     13182        psFree(object);
    1312713183    }
    1312813184
     
    1323613292        return false;
    1323713293    }
    13238     if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, psStringCopy(class_id))) {
     13294    if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, class_id)) {
    1323913295        psError(PS_ERR_UNKNOWN, false, "failed to add item class_id");
    1324013296        psFree(md);
    1324113297        return false;
    1324213298    }
    13243     if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, psStringCopy(uri))) {
     13299    if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, uri)) {
    1324413300        psError(PS_ERR_UNKNOWN, false, "failed to add item uri");
    1324513301        psFree(md);
    1324613302        return false;
    1324713303    }
    13248     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, psStringCopy(stats))) {
     13304    if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, stats)) {
    1324913305        psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
    1325013306        psFree(md);
    1325113307        return false;
    1325213308    }
    13253     if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, psStringCopy(recipe))) {
     13309    if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, recipe)) {
    1325413310        psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
    1325513311        psFree(md);
     
    1346513521        return NULL;
    1346613522    }
    13467     if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, psStringCopy(object->class_id))) {
     13523    if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, object->class_id)) {
    1346813524        psError(PS_ERR_UNKNOWN, false, "failed to add item class_id");
    1346913525        psFree(md);
    1347013526        return NULL;
    1347113527    }
    13472     if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, psStringCopy(object->uri))) {
     13528    if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, object->uri)) {
    1347313529        psError(PS_ERR_UNKNOWN, false, "failed to add item uri");
    1347413530        psFree(md);
    1347513531        return NULL;
    1347613532    }
    13477     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, psStringCopy(object->stats))) {
     13533    if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, object->stats)) {
    1347813534        psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
    1347913535        psFree(md);
    1348013536        return NULL;
    1348113537    }
    13482     if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, psStringCopy(object->recipe))) {
     13538    if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, object->recipe)) {
    1348313539        psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
    1348413540        psFree(md);
     
    1355213608
    1355313609    for (i = 0; i < rowSet->n; i++) {
    13554         psArrayAdd(returnSet, 0, detMasterImfileObjectFromMetadata(rowSet->data[i]));
     13610        detMasterImfileRow *object = detMasterImfileObjectFromMetadata(rowSet->data[i]);
     13611        psArrayAdd(returnSet, 0, object);
     13612        psFree(object);
    1355513613    }
    1355613614
     
    1367513733        return false;
    1367613734    }
    13677     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, psStringCopy(exp_id))) {
     13735    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, exp_id)) {
    1367813736        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    1367913737        psFree(md);
    1368013738        return false;
    1368113739    }
    13682     if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, psStringCopy(class_id))) {
     13740    if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, class_id)) {
    1368313741        psError(PS_ERR_UNKNOWN, false, "failed to add item class_id");
    1368413742        psFree(md);
    1368513743        return false;
    1368613744    }
    13687     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, psStringCopy(stats))) {
     13745    if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, stats)) {
    1368813746        psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
    1368913747        psFree(md);
    1369013748        return false;
    1369113749    }
    13692     if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, psStringCopy(recipe))) {
     13750    if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, recipe)) {
    1369313751        psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
    1369413752        psFree(md);
     
    1391613974        return NULL;
    1391713975    }
    13918     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, psStringCopy(object->exp_id))) {
     13976    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, object->exp_id)) {
    1391913977        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    1392013978        psFree(md);
    1392113979        return NULL;
    1392213980    }
    13923     if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, psStringCopy(object->class_id))) {
     13981    if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, object->class_id)) {
    1392413982        psError(PS_ERR_UNKNOWN, false, "failed to add item class_id");
    1392513983        psFree(md);
    1392613984        return NULL;
    1392713985    }
    13928     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, psStringCopy(object->stats))) {
     13986    if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, object->stats)) {
    1392913987        psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
    1393013988        psFree(md);
    1393113989        return NULL;
    1393213990    }
    13933     if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, psStringCopy(object->recipe))) {
     13991    if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, object->recipe)) {
    1393413992        psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
    1393513993        psFree(md);
     
    1400914067
    1401014068    for (i = 0; i < rowSet->n; i++) {
    14011         psArrayAdd(returnSet, 0, detResidImfileAnalysisObjectFromMetadata(rowSet->data[i]));
     14069        detResidImfileAnalysisRow *object = detResidImfileAnalysisObjectFromMetadata(rowSet->data[i]);
     14070        psArrayAdd(returnSet, 0, object);
     14071        psFree(object);
    1401214072    }
    1401314073
     
    1413114191        return false;
    1413214192    }
    14133     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, psStringCopy(exp_id))) {
     14193    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, exp_id)) {
    1413414194        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    1413514195        psFree(md);
    1413614196        return false;
    1413714197    }
    14138     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, psStringCopy(stats))) {
     14198    if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, stats)) {
    1413914199        psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
    1414014200        psFree(md);
    1414114201        return false;
    1414214202    }
    14143     if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, psStringCopy(recipe))) {
     14203    if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, recipe)) {
    1414414204        psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
    1414514205        psFree(md);
     
    1437214432        return NULL;
    1437314433    }
    14374     if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, psStringCopy(object->exp_id))) {
     14434    if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, object->exp_id)) {
    1437514435        psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
    1437614436        psFree(md);
    1437714437        return NULL;
    1437814438    }
    14379     if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, psStringCopy(object->stats))) {
     14439    if (!psMetadataAddStr(md, PS_LIST_TAIL, "stats", 0, NULL, object->stats)) {
    1438014440        psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
    1438114441        psFree(md);
    1438214442        return NULL;
    1438314443    }
    14384     if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, psStringCopy(object->recipe))) {
     14444    if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, object->recipe)) {
    1438514445        psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
    1438614446        psFree(md);
     
    1446514525
    1446614526    for (i = 0; i < rowSet->n; i++) {
    14467         psArrayAdd(returnSet, 0, detResidExpAnalysisObjectFromMetadata(rowSet->data[i]));
     14527        detResidExpAnalysisRow *object = detResidExpAnalysisObjectFromMetadata(rowSet->data[i]);
     14528        psArrayAdd(returnSet, 0, object);
     14529        psFree(object);
    1446814530    }
    1446914531
  • branches/jhoblitt/ippdb/src/ippdb.h

    r7500 r8006  
    42074207
    42084208typedef struct {
     4209    psS32           iteration;
    42094210    char            *det_type;
    4210     psS32           iteration;
    42114211} detRunRow;
    42124212
     
    42174217
    42184218detRunRow *detRunRowAlloc(
    4219     const char      *det_type,
    4220     psS32           iteration
     4219    psS32           iteration,
     4220    const char      *det_type
    42214221);
    42224222
     
    42484248bool detRunInsert(
    42494249    psDB            *dbh,               ///< Database handle
    4250     const char      *det_type,
    4251     psS32           iteration
     4250    psS32           iteration,
     4251    const char      *det_type
    42524252);
    42534253
     
    42594259bool detRunPop(
    42604260    psDB            *dbh,               ///< Database handle
    4261     char            **det_type,
    4262     psS32           *iteration
     4261    psS32           *iteration,
     4262    char            **det_type
    42634263);
    42644264
  • branches/jhoblitt/ippdb/tests/alloc.c

    r7500 r8006  
    880880        detRunRow       *object;
    881881
    882         object = detRunRowAlloc("a string", -32    );
    883 
    884         if (!object) {
    885             exit(EXIT_FAILURE);
    886         }
    887 
     882        object = detRunRowAlloc(-32, "a string"    );
     883
     884        if (!object) {
     885            exit(EXIT_FAILURE);
     886        }
     887
     888        if (!object->iteration == -32) {
     889            psFree(object);
     890            exit(EXIT_FAILURE);
     891        }
    888892        if (strncmp(object->det_type, "a string", MAX_STRING_LENGTH)) {
    889             psFree(object);
    890             exit(EXIT_FAILURE);
    891         }
    892         if (!object->iteration == -32) {
    893893            psFree(object);
    894894            exit(EXIT_FAILURE);
  • branches/jhoblitt/ippdb/tests/insert.c

    r7500 r8006  
    343343        }
    344344
    345         if (!detRunInsert(dbh, "a string", -32)) {
     345        if (!detRunInsert(dbh, -32, "a string")) {
    346346            exit(EXIT_FAILURE);
    347347        }
  • branches/jhoblitt/ippdb/tests/insertobject.c

    r7500 r8006  
    498498        }
    499499
    500         object = detRunRowAlloc("a string", -32);
     500        object = detRunRowAlloc(-32, "a string");
    501501        if (!object) {
    502502            exit(EXIT_FAILURE);
  • branches/jhoblitt/ippdb/tests/metadatafromobject.c

    r7500 r8006  
    10591059        bool            status;
    10601060
    1061         object = detRunRowAlloc("a string", -32);
     1061        object = detRunRowAlloc(-32, "a string");
    10621062        if (!object) {
    10631063            exit(EXIT_FAILURE);
     
    10711071        psFree(object);
    10721072
     1073        if (!psMetadataLookupS32(&status, md, "iteration") == -32) {
     1074            psFree(md);
     1075            exit(EXIT_FAILURE);
     1076        }
    10731077        if (strncmp(psMetadataLookupPtr(&status, md, "det_type"), "a string", MAX_STRING_LENGTH)) {
    1074             psFree(md);
    1075             exit(EXIT_FAILURE);
    1076         }
    1077         if (!psMetadataLookupS32(&status, md, "iteration") == -32) {
    10781078            psFree(md);
    10791079            exit(EXIT_FAILURE);
  • branches/jhoblitt/ippdb/tests/objectfrommetadata.c

    r7500 r8006  
    15771577
    15781578        md = psMetadataAlloc();
     1579        if (!psMetadataAddS32(md, PS_LIST_TAIL, "iteration", 0, NULL, -32)) {
     1580            psFree(md);
     1581            exit(EXIT_FAILURE);
     1582        }
    15791583        if (!psMetadataAddStr(md, PS_LIST_TAIL, "det_type", 0, NULL, "a string")) {
    15801584            psFree(md);
    15811585            exit(EXIT_FAILURE);
    15821586        }
    1583         if (!psMetadataAddS32(md, PS_LIST_TAIL, "iteration", 0, NULL, -32)) {
    1584             psFree(md);
    1585             exit(EXIT_FAILURE);
    1586         }
    15871587
    15881588        object = detRunObjectFromMetadata(md);
     
    15941594        psFree(md);
    15951595
     1596        if (!object->iteration == -32) {
     1597            psFree(object);
     1598            exit(EXIT_FAILURE);
     1599        }
    15961600        if (strncmp(object->det_type, "a string", MAX_STRING_LENGTH)) {
    1597             psFree(object);
    1598             exit(EXIT_FAILURE);
    1599         }
    1600         if (!object->iteration == -32) {
    16011601            psFree(object);
    16021602            exit(EXIT_FAILURE);
  • branches/jhoblitt/ippdb/tests/pop.c

    r7500 r8006  
    483483    {
    484484        psDB            *dbh;
     485        psS32           iteration;
    485486        char            det_type[256];
    486         psS32           iteration;
    487 
    488         dbh = psDBInit("localhost", "test", NULL, "test");
    489         if (!dbh) {
    490             exit(EXIT_FAILURE);
    491         }
    492 
    493         if (!detRunPop(dbh, (char **)&det_type, &iteration)) {
     487
     488        dbh = psDBInit("localhost", "test", NULL, "test");
     489        if (!dbh) {
     490            exit(EXIT_FAILURE);
     491        }
     492
     493        if (!detRunPop(dbh, &iteration, (char **)&det_type)) {
    494494            exit(EXIT_FAILURE);
    495495        }
Note: See TracChangeset for help on using the changeset viewer.