IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Dec 7, 2007, 3:24:51 PM (18 years ago)
Author:
jhoblitt
Message:

update

File:
1 edited

Legend:

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

    r15582 r15766  
    35593559static void rawExpRowFree(rawExpRow *object);
    35603560
    3561 rawExpRow *rawExpRowAlloc(psS64 exp_id, const char *exp_name, const char *camera, const char *telescope, psTime* dateobs, const char *exp_tag, const char *exp_type, const char *filelevel, const char *workdir, const char *reduction, const char *filter, psF32 airmass, psF64 ra, psF64 decl, psF32 exp_time, psF32 sat_pixel_frac, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 alt, psF64 az, psF32 ccd_temp, psF64 posang, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *object, psF32 solang, psS16 fault)
     3561rawExpRow *rawExpRowAlloc(psS64 exp_id, const char *exp_name, const char *camera, const char *telescope, psTime* dateobs, const char *exp_tag, const char *exp_type, const char *filelevel, const char *workdir, const char *reduction, const char *filter, psF32 airmass, psF64 ra, psF64 decl, psF32 exp_time, psF32 sat_pixel_frac, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 alt, psF64 az, psF32 ccd_temp, psF64 posang, psF32 M1_x, psF32 M1_y, psF32 M1_z, psF32 M1_tip, psF32 M1_tilt, psF32 M2_x, psF32 M2_y, psF32 M2_z, psF32 M2_tip, psF32 M2_tilt, psF32 env_temperature, psF32 env_humidity, psF32 env_wind_speed, psF32 env_wind_dir, psF32 pon_time, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *object, psF32 solang, psS16 fault)
    35623562{
    35633563    rawExpRow       *_object;
     
    35893589    _object->ccd_temp = ccd_temp;
    35903590    _object->posang = posang;
     3591    _object->M1_x = M1_x;
     3592    _object->M1_y = M1_y;
     3593    _object->M1_z = M1_z;
     3594    _object->M1_tip = M1_tip;
     3595    _object->M1_tilt = M1_tilt;
     3596    _object->M2_x = M2_x;
     3597    _object->M2_y = M2_y;
     3598    _object->M2_z = M2_z;
     3599    _object->M2_tip = M2_tip;
     3600    _object->M2_tilt = M2_tilt;
     3601    _object->env_temperature = env_temperature;
     3602    _object->env_humidity = env_humidity;
     3603    _object->env_wind_speed = env_wind_speed;
     3604    _object->env_wind_dir = env_wind_dir;
     3605    _object->pon_time = pon_time;
    35913606    _object->user_1 = user_1;
    35923607    _object->user_2 = user_2;
     
    37343749        return false;
    37353750    }
     3751    if (!psMetadataAdd(md, PS_LIST_TAIL, "M1_x", PS_DATA_F32, NULL, 0.0)) {
     3752        psError(PS_ERR_UNKNOWN, false, "failed to add item M1_x");
     3753        psFree(md);
     3754        return false;
     3755    }
     3756    if (!psMetadataAdd(md, PS_LIST_TAIL, "M1_y", PS_DATA_F32, NULL, 0.0)) {
     3757        psError(PS_ERR_UNKNOWN, false, "failed to add item M1_y");
     3758        psFree(md);
     3759        return false;
     3760    }
     3761    if (!psMetadataAdd(md, PS_LIST_TAIL, "M1_z", PS_DATA_F32, NULL, 0.0)) {
     3762        psError(PS_ERR_UNKNOWN, false, "failed to add item M1_z");
     3763        psFree(md);
     3764        return false;
     3765    }
     3766    if (!psMetadataAdd(md, PS_LIST_TAIL, "M1_tip", PS_DATA_F32, NULL, 0.0)) {
     3767        psError(PS_ERR_UNKNOWN, false, "failed to add item M1_tip");
     3768        psFree(md);
     3769        return false;
     3770    }
     3771    if (!psMetadataAdd(md, PS_LIST_TAIL, "M1_tilt", PS_DATA_F32, NULL, 0.0)) {
     3772        psError(PS_ERR_UNKNOWN, false, "failed to add item M1_tilt");
     3773        psFree(md);
     3774        return false;
     3775    }
     3776    if (!psMetadataAdd(md, PS_LIST_TAIL, "M2_x", PS_DATA_F32, NULL, 0.0)) {
     3777        psError(PS_ERR_UNKNOWN, false, "failed to add item M2_x");
     3778        psFree(md);
     3779        return false;
     3780    }
     3781    if (!psMetadataAdd(md, PS_LIST_TAIL, "M2_y", PS_DATA_F32, NULL, 0.0)) {
     3782        psError(PS_ERR_UNKNOWN, false, "failed to add item M2_y");
     3783        psFree(md);
     3784        return false;
     3785    }
     3786    if (!psMetadataAdd(md, PS_LIST_TAIL, "M2_z", PS_DATA_F32, NULL, 0.0)) {
     3787        psError(PS_ERR_UNKNOWN, false, "failed to add item M2_z");
     3788        psFree(md);
     3789        return false;
     3790    }
     3791    if (!psMetadataAdd(md, PS_LIST_TAIL, "M2_tip", PS_DATA_F32, NULL, 0.0)) {
     3792        psError(PS_ERR_UNKNOWN, false, "failed to add item M2_tip");
     3793        psFree(md);
     3794        return false;
     3795    }
     3796    if (!psMetadataAdd(md, PS_LIST_TAIL, "M2_tilt", PS_DATA_F32, NULL, 0.0)) {
     3797        psError(PS_ERR_UNKNOWN, false, "failed to add item M2_tilt");
     3798        psFree(md);
     3799        return false;
     3800    }
     3801    if (!psMetadataAdd(md, PS_LIST_TAIL, "env_temperature", PS_DATA_F32, NULL, 0.0)) {
     3802        psError(PS_ERR_UNKNOWN, false, "failed to add item env_temperature");
     3803        psFree(md);
     3804        return false;
     3805    }
     3806    if (!psMetadataAdd(md, PS_LIST_TAIL, "env_humidity", PS_DATA_F32, NULL, 0.0)) {
     3807        psError(PS_ERR_UNKNOWN, false, "failed to add item env_humidity");
     3808        psFree(md);
     3809        return false;
     3810    }
     3811    if (!psMetadataAdd(md, PS_LIST_TAIL, "env_wind_speed", PS_DATA_F32, NULL, 0.0)) {
     3812        psError(PS_ERR_UNKNOWN, false, "failed to add item env_wind_speed");
     3813        psFree(md);
     3814        return false;
     3815    }
     3816    if (!psMetadataAdd(md, PS_LIST_TAIL, "env_wind_dir", PS_DATA_F32, NULL, 0.0)) {
     3817        psError(PS_ERR_UNKNOWN, false, "failed to add item env_wind_dir");
     3818        psFree(md);
     3819        return false;
     3820    }
     3821    if (!psMetadataAdd(md, PS_LIST_TAIL, "pon_time", PS_DATA_F32, NULL, 0.0)) {
     3822        psError(PS_ERR_UNKNOWN, false, "failed to add item pon_time");
     3823        psFree(md);
     3824        return false;
     3825    }
    37363826    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_1", PS_DATA_F64, NULL, 0.0)) {
    37373827        psError(PS_ERR_UNKNOWN, false, "failed to add item user_1");
     
    37873877}
    37883878
    3789 bool rawExpInsert(psDB * dbh, psS64 exp_id, const char *exp_name, const char *camera, const char *telescope, psTime* dateobs, const char *exp_tag, const char *exp_type, const char *filelevel, const char *workdir, const char *reduction, const char *filter, psF32 airmass, psF64 ra, psF64 decl, psF32 exp_time, psF32 sat_pixel_frac, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 alt, psF64 az, psF32 ccd_temp, psF64 posang, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *object, psF32 solang, psS16 fault)
     3879bool rawExpInsert(psDB * dbh, psS64 exp_id, const char *exp_name, const char *camera, const char *telescope, psTime* dateobs, const char *exp_tag, const char *exp_type, const char *filelevel, const char *workdir, const char *reduction, const char *filter, psF32 airmass, psF64 ra, psF64 decl, psF32 exp_time, psF32 sat_pixel_frac, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 alt, psF64 az, psF32 ccd_temp, psF64 posang, psF32 M1_x, psF32 M1_y, psF32 M1_z, psF32 M1_tip, psF32 M1_tilt, psF32 M2_x, psF32 M2_y, psF32 M2_z, psF32 M2_tip, psF32 M2_tilt, psF32 env_temperature, psF32 env_humidity, psF32 env_wind_speed, psF32 env_wind_dir, psF32 pon_time, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *object, psF32 solang, psS16 fault)
    37903880{
    37913881    psMetadata *md = psMetadataAlloc();
     
    39023992    if (!psMetadataAdd(md, PS_LIST_TAIL, "posang", PS_DATA_F64, NULL, posang)) {
    39033993        psError(PS_ERR_UNKNOWN, false, "failed to add item posang");
     3994        psFree(md);
     3995        return false;
     3996    }
     3997    if (!psMetadataAdd(md, PS_LIST_TAIL, "M1_x", PS_DATA_F32, NULL, M1_x)) {
     3998        psError(PS_ERR_UNKNOWN, false, "failed to add item M1_x");
     3999        psFree(md);
     4000        return false;
     4001    }
     4002    if (!psMetadataAdd(md, PS_LIST_TAIL, "M1_y", PS_DATA_F32, NULL, M1_y)) {
     4003        psError(PS_ERR_UNKNOWN, false, "failed to add item M1_y");
     4004        psFree(md);
     4005        return false;
     4006    }
     4007    if (!psMetadataAdd(md, PS_LIST_TAIL, "M1_z", PS_DATA_F32, NULL, M1_z)) {
     4008        psError(PS_ERR_UNKNOWN, false, "failed to add item M1_z");
     4009        psFree(md);
     4010        return false;
     4011    }
     4012    if (!psMetadataAdd(md, PS_LIST_TAIL, "M1_tip", PS_DATA_F32, NULL, M1_tip)) {
     4013        psError(PS_ERR_UNKNOWN, false, "failed to add item M1_tip");
     4014        psFree(md);
     4015        return false;
     4016    }
     4017    if (!psMetadataAdd(md, PS_LIST_TAIL, "M1_tilt", PS_DATA_F32, NULL, M1_tilt)) {
     4018        psError(PS_ERR_UNKNOWN, false, "failed to add item M1_tilt");
     4019        psFree(md);
     4020        return false;
     4021    }
     4022    if (!psMetadataAdd(md, PS_LIST_TAIL, "M2_x", PS_DATA_F32, NULL, M2_x)) {
     4023        psError(PS_ERR_UNKNOWN, false, "failed to add item M2_x");
     4024        psFree(md);
     4025        return false;
     4026    }
     4027    if (!psMetadataAdd(md, PS_LIST_TAIL, "M2_y", PS_DATA_F32, NULL, M2_y)) {
     4028        psError(PS_ERR_UNKNOWN, false, "failed to add item M2_y");
     4029        psFree(md);
     4030        return false;
     4031    }
     4032    if (!psMetadataAdd(md, PS_LIST_TAIL, "M2_z", PS_DATA_F32, NULL, M2_z)) {
     4033        psError(PS_ERR_UNKNOWN, false, "failed to add item M2_z");
     4034        psFree(md);
     4035        return false;
     4036    }
     4037    if (!psMetadataAdd(md, PS_LIST_TAIL, "M2_tip", PS_DATA_F32, NULL, M2_tip)) {
     4038        psError(PS_ERR_UNKNOWN, false, "failed to add item M2_tip");
     4039        psFree(md);
     4040        return false;
     4041    }
     4042    if (!psMetadataAdd(md, PS_LIST_TAIL, "M2_tilt", PS_DATA_F32, NULL, M2_tilt)) {
     4043        psError(PS_ERR_UNKNOWN, false, "failed to add item M2_tilt");
     4044        psFree(md);
     4045        return false;
     4046    }
     4047    if (!psMetadataAdd(md, PS_LIST_TAIL, "env_temperature", PS_DATA_F32, NULL, env_temperature)) {
     4048        psError(PS_ERR_UNKNOWN, false, "failed to add item env_temperature");
     4049        psFree(md);
     4050        return false;
     4051    }
     4052    if (!psMetadataAdd(md, PS_LIST_TAIL, "env_humidity", PS_DATA_F32, NULL, env_humidity)) {
     4053        psError(PS_ERR_UNKNOWN, false, "failed to add item env_humidity");
     4054        psFree(md);
     4055        return false;
     4056    }
     4057    if (!psMetadataAdd(md, PS_LIST_TAIL, "env_wind_speed", PS_DATA_F32, NULL, env_wind_speed)) {
     4058        psError(PS_ERR_UNKNOWN, false, "failed to add item env_wind_speed");
     4059        psFree(md);
     4060        return false;
     4061    }
     4062    if (!psMetadataAdd(md, PS_LIST_TAIL, "env_wind_dir", PS_DATA_F32, NULL, env_wind_dir)) {
     4063        psError(PS_ERR_UNKNOWN, false, "failed to add item env_wind_dir");
     4064        psFree(md);
     4065        return false;
     4066    }
     4067    if (!psMetadataAdd(md, PS_LIST_TAIL, "pon_time", PS_DATA_F32, NULL, pon_time)) {
     4068        psError(PS_ERR_UNKNOWN, false, "failed to add item pon_time");
    39044069        psFree(md);
    39054070        return false;
     
    39684133bool rawExpInsertObject(psDB *dbh, rawExpRow *object)
    39694134{
    3970     return rawExpInsert(dbh, object->exp_id, object->exp_name, object->camera, object->telescope, object->dateobs, object->exp_tag, object->exp_type, object->filelevel, object->workdir, object->reduction, object->filter, object->airmass, object->ra, object->decl, object->exp_time, object->sat_pixel_frac, object->bg, object->bg_stdev, object->bg_mean_stdev, object->alt, object->az, object->ccd_temp, object->posang, object->user_1, object->user_2, object->user_3, object->user_4, object->user_5, object->object, object->solang, object->fault);
     4135    return rawExpInsert(dbh, object->exp_id, object->exp_name, object->camera, object->telescope, object->dateobs, object->exp_tag, object->exp_type, object->filelevel, object->workdir, object->reduction, object->filter, object->airmass, object->ra, object->decl, object->exp_time, object->sat_pixel_frac, object->bg, object->bg_stdev, object->bg_mean_stdev, object->alt, object->az, object->ccd_temp, object->posang, object->M1_x, object->M1_y, object->M1_z, object->M1_tip, object->M1_tilt, object->M2_x, object->M2_y, object->M2_z, object->M2_tip, object->M2_tilt, object->env_temperature, object->env_humidity, object->env_wind_speed, object->env_wind_dir, object->pon_time, object->user_1, object->user_2, object->user_3, object->user_4, object->user_5, object->object, object->solang, object->fault);
    39714136}
    39724137
     
    41564321        return false;
    41574322    }
     4323    if (!psMetadataAdd(md, PS_LIST_TAIL, "M1_x", PS_DATA_F32, NULL, object->M1_x)) {
     4324        psError(PS_ERR_UNKNOWN, false, "failed to add item M1_x");
     4325        psFree(md);
     4326        return false;
     4327    }
     4328    if (!psMetadataAdd(md, PS_LIST_TAIL, "M1_y", PS_DATA_F32, NULL, object->M1_y)) {
     4329        psError(PS_ERR_UNKNOWN, false, "failed to add item M1_y");
     4330        psFree(md);
     4331        return false;
     4332    }
     4333    if (!psMetadataAdd(md, PS_LIST_TAIL, "M1_z", PS_DATA_F32, NULL, object->M1_z)) {
     4334        psError(PS_ERR_UNKNOWN, false, "failed to add item M1_z");
     4335        psFree(md);
     4336        return false;
     4337    }
     4338    if (!psMetadataAdd(md, PS_LIST_TAIL, "M1_tip", PS_DATA_F32, NULL, object->M1_tip)) {
     4339        psError(PS_ERR_UNKNOWN, false, "failed to add item M1_tip");
     4340        psFree(md);
     4341        return false;
     4342    }
     4343    if (!psMetadataAdd(md, PS_LIST_TAIL, "M1_tilt", PS_DATA_F32, NULL, object->M1_tilt)) {
     4344        psError(PS_ERR_UNKNOWN, false, "failed to add item M1_tilt");
     4345        psFree(md);
     4346        return false;
     4347    }
     4348    if (!psMetadataAdd(md, PS_LIST_TAIL, "M2_x", PS_DATA_F32, NULL, object->M2_x)) {
     4349        psError(PS_ERR_UNKNOWN, false, "failed to add item M2_x");
     4350        psFree(md);
     4351        return false;
     4352    }
     4353    if (!psMetadataAdd(md, PS_LIST_TAIL, "M2_y", PS_DATA_F32, NULL, object->M2_y)) {
     4354        psError(PS_ERR_UNKNOWN, false, "failed to add item M2_y");
     4355        psFree(md);
     4356        return false;
     4357    }
     4358    if (!psMetadataAdd(md, PS_LIST_TAIL, "M2_z", PS_DATA_F32, NULL, object->M2_z)) {
     4359        psError(PS_ERR_UNKNOWN, false, "failed to add item M2_z");
     4360        psFree(md);
     4361        return false;
     4362    }
     4363    if (!psMetadataAdd(md, PS_LIST_TAIL, "M2_tip", PS_DATA_F32, NULL, object->M2_tip)) {
     4364        psError(PS_ERR_UNKNOWN, false, "failed to add item M2_tip");
     4365        psFree(md);
     4366        return false;
     4367    }
     4368    if (!psMetadataAdd(md, PS_LIST_TAIL, "M2_tilt", PS_DATA_F32, NULL, object->M2_tilt)) {
     4369        psError(PS_ERR_UNKNOWN, false, "failed to add item M2_tilt");
     4370        psFree(md);
     4371        return false;
     4372    }
     4373    if (!psMetadataAdd(md, PS_LIST_TAIL, "env_temperature", PS_DATA_F32, NULL, object->env_temperature)) {
     4374        psError(PS_ERR_UNKNOWN, false, "failed to add item env_temperature");
     4375        psFree(md);
     4376        return false;
     4377    }
     4378    if (!psMetadataAdd(md, PS_LIST_TAIL, "env_humidity", PS_DATA_F32, NULL, object->env_humidity)) {
     4379        psError(PS_ERR_UNKNOWN, false, "failed to add item env_humidity");
     4380        psFree(md);
     4381        return false;
     4382    }
     4383    if (!psMetadataAdd(md, PS_LIST_TAIL, "env_wind_speed", PS_DATA_F32, NULL, object->env_wind_speed)) {
     4384        psError(PS_ERR_UNKNOWN, false, "failed to add item env_wind_speed");
     4385        psFree(md);
     4386        return false;
     4387    }
     4388    if (!psMetadataAdd(md, PS_LIST_TAIL, "env_wind_dir", PS_DATA_F32, NULL, object->env_wind_dir)) {
     4389        psError(PS_ERR_UNKNOWN, false, "failed to add item env_wind_dir");
     4390        psFree(md);
     4391        return false;
     4392    }
     4393    if (!psMetadataAdd(md, PS_LIST_TAIL, "pon_time", PS_DATA_F32, NULL, object->pon_time)) {
     4394        psError(PS_ERR_UNKNOWN, false, "failed to add item pon_time");
     4395        psFree(md);
     4396        return false;
     4397    }
    41584398    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_1", PS_DATA_F64, NULL, object->user_1)) {
    41594399        psError(PS_ERR_UNKNOWN, false, "failed to add item user_1");
     
    43204560        return false;
    43214561    }
     4562    psF32 M1_x = psMetadataLookupF32(&status, md, "M1_x");
     4563    if (!status) {
     4564        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item M1_x");
     4565        return false;
     4566    }
     4567    psF32 M1_y = psMetadataLookupF32(&status, md, "M1_y");
     4568    if (!status) {
     4569        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item M1_y");
     4570        return false;
     4571    }
     4572    psF32 M1_z = psMetadataLookupF32(&status, md, "M1_z");
     4573    if (!status) {
     4574        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item M1_z");
     4575        return false;
     4576    }
     4577    psF32 M1_tip = psMetadataLookupF32(&status, md, "M1_tip");
     4578    if (!status) {
     4579        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item M1_tip");
     4580        return false;
     4581    }
     4582    psF32 M1_tilt = psMetadataLookupF32(&status, md, "M1_tilt");
     4583    if (!status) {
     4584        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item M1_tilt");
     4585        return false;
     4586    }
     4587    psF32 M2_x = psMetadataLookupF32(&status, md, "M2_x");
     4588    if (!status) {
     4589        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item M2_x");
     4590        return false;
     4591    }
     4592    psF32 M2_y = psMetadataLookupF32(&status, md, "M2_y");
     4593    if (!status) {
     4594        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item M2_y");
     4595        return false;
     4596    }
     4597    psF32 M2_z = psMetadataLookupF32(&status, md, "M2_z");
     4598    if (!status) {
     4599        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item M2_z");
     4600        return false;
     4601    }
     4602    psF32 M2_tip = psMetadataLookupF32(&status, md, "M2_tip");
     4603    if (!status) {
     4604        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item M2_tip");
     4605        return false;
     4606    }
     4607    psF32 M2_tilt = psMetadataLookupF32(&status, md, "M2_tilt");
     4608    if (!status) {
     4609        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item M2_tilt");
     4610        return false;
     4611    }
     4612    psF32 env_temperature = psMetadataLookupF32(&status, md, "env_temperature");
     4613    if (!status) {
     4614        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item env_temperature");
     4615        return false;
     4616    }
     4617    psF32 env_humidity = psMetadataLookupF32(&status, md, "env_humidity");
     4618    if (!status) {
     4619        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item env_humidity");
     4620        return false;
     4621    }
     4622    psF32 env_wind_speed = psMetadataLookupF32(&status, md, "env_wind_speed");
     4623    if (!status) {
     4624        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item env_wind_speed");
     4625        return false;
     4626    }
     4627    psF32 env_wind_dir = psMetadataLookupF32(&status, md, "env_wind_dir");
     4628    if (!status) {
     4629        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item env_wind_dir");
     4630        return false;
     4631    }
     4632    psF32 pon_time = psMetadataLookupF32(&status, md, "pon_time");
     4633    if (!status) {
     4634        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item pon_time");
     4635        return false;
     4636    }
    43224637    psF64 user_1 = psMetadataLookupF64(&status, md, "user_1");
    43234638    if (!status) {
     
    43614676    }
    43624677
    4363     return rawExpRowAlloc(exp_id, exp_name, camera, telescope, dateobs, exp_tag, exp_type, filelevel, workdir, reduction, filter, airmass, ra, decl, exp_time, sat_pixel_frac, bg, bg_stdev, bg_mean_stdev, alt, az, ccd_temp, posang, user_1, user_2, user_3, user_4, user_5, object, solang, fault);
     4678    return rawExpRowAlloc(exp_id, exp_name, camera, telescope, dateobs, exp_tag, exp_type, filelevel, workdir, reduction, filter, airmass, ra, decl, exp_time, sat_pixel_frac, bg, bg_stdev, bg_mean_stdev, alt, az, ccd_temp, posang, M1_x, M1_y, M1_z, M1_tip, M1_tilt, M2_x, M2_y, M2_z, M2_tip, M2_tilt, env_temperature, env_humidity, env_wind_speed, env_wind_dir, pon_time, user_1, user_2, user_3, user_4, user_5, object, solang, fault);
    43644679}
    43654680psArray *rawExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     
    44734788static void rawImfileRowFree(rawImfileRow *object);
    44744789
    4475 rawImfileRow *rawImfileRowAlloc(psS64 exp_id, const char *exp_name, const char *camera, const char *telescope, psTime* dateobs, const char *tmp_class_id, const char *class_id, const char *uri, const char *exp_type, const char *filelevel, const char *filter, psF32 airmass, psF64 ra, psF64 decl, psF32 exp_time, psF32 sat_pixel_frac, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 alt, psF64 az, psF32 ccd_temp, psF64 posang, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *object, psS16 fault)
     4790rawImfileRow *rawImfileRowAlloc(psS64 exp_id, const char *exp_name, const char *camera, const char *telescope, psTime* dateobs, const char *tmp_class_id, const char *class_id, const char *uri, const char *exp_type, const char *filelevel, const char *filter, psF32 airmass, psF64 ra, psF64 decl, psF32 exp_time, psF32 sat_pixel_frac, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 alt, psF64 az, psF32 ccd_temp, psF64 posang, psF32 M1_x, psF32 M1_y, psF32 M1_z, psF32 M1_tip, psF32 M1_tilt, psF32 M2_x, psF32 M2_y, psF32 M2_z, psF32 M2_tip, psF32 M2_tilt, psF32 env_temperature, psF32 env_humidity, psF32 env_wind_speed, psF32 env_wind_dir, psF32 pon_time, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *object, psS16 fault)
    44764791{
    44774792    rawImfileRow    *_object;
     
    45034818    _object->ccd_temp = ccd_temp;
    45044819    _object->posang = posang;
     4820    _object->M1_x = M1_x;
     4821    _object->M1_y = M1_y;
     4822    _object->M1_z = M1_z;
     4823    _object->M1_tip = M1_tip;
     4824    _object->M1_tilt = M1_tilt;
     4825    _object->M2_x = M2_x;
     4826    _object->M2_y = M2_y;
     4827    _object->M2_z = M2_z;
     4828    _object->M2_tip = M2_tip;
     4829    _object->M2_tilt = M2_tilt;
     4830    _object->env_temperature = env_temperature;
     4831    _object->env_humidity = env_humidity;
     4832    _object->env_wind_speed = env_wind_speed;
     4833    _object->env_wind_dir = env_wind_dir;
     4834    _object->pon_time = pon_time;
    45054835    _object->user_1 = user_1;
    45064836    _object->user_2 = user_2;
     
    46474977        return false;
    46484978    }
     4979    if (!psMetadataAdd(md, PS_LIST_TAIL, "M1_x", PS_DATA_F32, NULL, 0.0)) {
     4980        psError(PS_ERR_UNKNOWN, false, "failed to add item M1_x");
     4981        psFree(md);
     4982        return false;
     4983    }
     4984    if (!psMetadataAdd(md, PS_LIST_TAIL, "M1_y", PS_DATA_F32, NULL, 0.0)) {
     4985        psError(PS_ERR_UNKNOWN, false, "failed to add item M1_y");
     4986        psFree(md);
     4987        return false;
     4988    }
     4989    if (!psMetadataAdd(md, PS_LIST_TAIL, "M1_z", PS_DATA_F32, NULL, 0.0)) {
     4990        psError(PS_ERR_UNKNOWN, false, "failed to add item M1_z");
     4991        psFree(md);
     4992        return false;
     4993    }
     4994    if (!psMetadataAdd(md, PS_LIST_TAIL, "M1_tip", PS_DATA_F32, NULL, 0.0)) {
     4995        psError(PS_ERR_UNKNOWN, false, "failed to add item M1_tip");
     4996        psFree(md);
     4997        return false;
     4998    }
     4999    if (!psMetadataAdd(md, PS_LIST_TAIL, "M1_tilt", PS_DATA_F32, NULL, 0.0)) {
     5000        psError(PS_ERR_UNKNOWN, false, "failed to add item M1_tilt");
     5001        psFree(md);
     5002        return false;
     5003    }
     5004    if (!psMetadataAdd(md, PS_LIST_TAIL, "M2_x", PS_DATA_F32, NULL, 0.0)) {
     5005        psError(PS_ERR_UNKNOWN, false, "failed to add item M2_x");
     5006        psFree(md);
     5007        return false;
     5008    }
     5009    if (!psMetadataAdd(md, PS_LIST_TAIL, "M2_y", PS_DATA_F32, NULL, 0.0)) {
     5010        psError(PS_ERR_UNKNOWN, false, "failed to add item M2_y");
     5011        psFree(md);
     5012        return false;
     5013    }
     5014    if (!psMetadataAdd(md, PS_LIST_TAIL, "M2_z", PS_DATA_F32, NULL, 0.0)) {
     5015        psError(PS_ERR_UNKNOWN, false, "failed to add item M2_z");
     5016        psFree(md);
     5017        return false;
     5018    }
     5019    if (!psMetadataAdd(md, PS_LIST_TAIL, "M2_tip", PS_DATA_F32, NULL, 0.0)) {
     5020        psError(PS_ERR_UNKNOWN, false, "failed to add item M2_tip");
     5021        psFree(md);
     5022        return false;
     5023    }
     5024    if (!psMetadataAdd(md, PS_LIST_TAIL, "M2_tilt", PS_DATA_F32, NULL, 0.0)) {
     5025        psError(PS_ERR_UNKNOWN, false, "failed to add item M2_tilt");
     5026        psFree(md);
     5027        return false;
     5028    }
     5029    if (!psMetadataAdd(md, PS_LIST_TAIL, "env_temperature", PS_DATA_F32, NULL, 0.0)) {
     5030        psError(PS_ERR_UNKNOWN, false, "failed to add item env_temperature");
     5031        psFree(md);
     5032        return false;
     5033    }
     5034    if (!psMetadataAdd(md, PS_LIST_TAIL, "env_humidity", PS_DATA_F32, NULL, 0.0)) {
     5035        psError(PS_ERR_UNKNOWN, false, "failed to add item env_humidity");
     5036        psFree(md);
     5037        return false;
     5038    }
     5039    if (!psMetadataAdd(md, PS_LIST_TAIL, "env_wind_speed", PS_DATA_F32, NULL, 0.0)) {
     5040        psError(PS_ERR_UNKNOWN, false, "failed to add item env_wind_speed");
     5041        psFree(md);
     5042        return false;
     5043    }
     5044    if (!psMetadataAdd(md, PS_LIST_TAIL, "env_wind_dir", PS_DATA_F32, NULL, 0.0)) {
     5045        psError(PS_ERR_UNKNOWN, false, "failed to add item env_wind_dir");
     5046        psFree(md);
     5047        return false;
     5048    }
     5049    if (!psMetadataAdd(md, PS_LIST_TAIL, "pon_time", PS_DATA_F32, NULL, 0.0)) {
     5050        psError(PS_ERR_UNKNOWN, false, "failed to add item pon_time");
     5051        psFree(md);
     5052        return false;
     5053    }
    46495054    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_1", PS_DATA_F64, NULL, 0.0)) {
    46505055        psError(PS_ERR_UNKNOWN, false, "failed to add item user_1");
     
    46955100}
    46965101
    4697 bool rawImfileInsert(psDB * dbh, psS64 exp_id, const char *exp_name, const char *camera, const char *telescope, psTime* dateobs, const char *tmp_class_id, const char *class_id, const char *uri, const char *exp_type, const char *filelevel, const char *filter, psF32 airmass, psF64 ra, psF64 decl, psF32 exp_time, psF32 sat_pixel_frac, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 alt, psF64 az, psF32 ccd_temp, psF64 posang, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *object, psS16 fault)
     5102bool rawImfileInsert(psDB * dbh, psS64 exp_id, const char *exp_name, const char *camera, const char *telescope, psTime* dateobs, const char *tmp_class_id, const char *class_id, const char *uri, const char *exp_type, const char *filelevel, const char *filter, psF32 airmass, psF64 ra, psF64 decl, psF32 exp_time, psF32 sat_pixel_frac, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 alt, psF64 az, psF32 ccd_temp, psF64 posang, psF32 M1_x, psF32 M1_y, psF32 M1_z, psF32 M1_tip, psF32 M1_tilt, psF32 M2_x, psF32 M2_y, psF32 M2_z, psF32 M2_tip, psF32 M2_tilt, psF32 env_temperature, psF32 env_humidity, psF32 env_wind_speed, psF32 env_wind_dir, psF32 pon_time, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *object, psS16 fault)
    46985103{
    46995104    psMetadata *md = psMetadataAlloc();
     
    48105215    if (!psMetadataAdd(md, PS_LIST_TAIL, "posang", PS_DATA_F64, NULL, posang)) {
    48115216        psError(PS_ERR_UNKNOWN, false, "failed to add item posang");
     5217        psFree(md);
     5218        return false;
     5219    }
     5220    if (!psMetadataAdd(md, PS_LIST_TAIL, "M1_x", PS_DATA_F32, NULL, M1_x)) {
     5221        psError(PS_ERR_UNKNOWN, false, "failed to add item M1_x");
     5222        psFree(md);
     5223        return false;
     5224    }
     5225    if (!psMetadataAdd(md, PS_LIST_TAIL, "M1_y", PS_DATA_F32, NULL, M1_y)) {
     5226        psError(PS_ERR_UNKNOWN, false, "failed to add item M1_y");
     5227        psFree(md);
     5228        return false;
     5229    }
     5230    if (!psMetadataAdd(md, PS_LIST_TAIL, "M1_z", PS_DATA_F32, NULL, M1_z)) {
     5231        psError(PS_ERR_UNKNOWN, false, "failed to add item M1_z");
     5232        psFree(md);
     5233        return false;
     5234    }
     5235    if (!psMetadataAdd(md, PS_LIST_TAIL, "M1_tip", PS_DATA_F32, NULL, M1_tip)) {
     5236        psError(PS_ERR_UNKNOWN, false, "failed to add item M1_tip");
     5237        psFree(md);
     5238        return false;
     5239    }
     5240    if (!psMetadataAdd(md, PS_LIST_TAIL, "M1_tilt", PS_DATA_F32, NULL, M1_tilt)) {
     5241        psError(PS_ERR_UNKNOWN, false, "failed to add item M1_tilt");
     5242        psFree(md);
     5243        return false;
     5244    }
     5245    if (!psMetadataAdd(md, PS_LIST_TAIL, "M2_x", PS_DATA_F32, NULL, M2_x)) {
     5246        psError(PS_ERR_UNKNOWN, false, "failed to add item M2_x");
     5247        psFree(md);
     5248        return false;
     5249    }
     5250    if (!psMetadataAdd(md, PS_LIST_TAIL, "M2_y", PS_DATA_F32, NULL, M2_y)) {
     5251        psError(PS_ERR_UNKNOWN, false, "failed to add item M2_y");
     5252        psFree(md);
     5253        return false;
     5254    }
     5255    if (!psMetadataAdd(md, PS_LIST_TAIL, "M2_z", PS_DATA_F32, NULL, M2_z)) {
     5256        psError(PS_ERR_UNKNOWN, false, "failed to add item M2_z");
     5257        psFree(md);
     5258        return false;
     5259    }
     5260    if (!psMetadataAdd(md, PS_LIST_TAIL, "M2_tip", PS_DATA_F32, NULL, M2_tip)) {
     5261        psError(PS_ERR_UNKNOWN, false, "failed to add item M2_tip");
     5262        psFree(md);
     5263        return false;
     5264    }
     5265    if (!psMetadataAdd(md, PS_LIST_TAIL, "M2_tilt", PS_DATA_F32, NULL, M2_tilt)) {
     5266        psError(PS_ERR_UNKNOWN, false, "failed to add item M2_tilt");
     5267        psFree(md);
     5268        return false;
     5269    }
     5270    if (!psMetadataAdd(md, PS_LIST_TAIL, "env_temperature", PS_DATA_F32, NULL, env_temperature)) {
     5271        psError(PS_ERR_UNKNOWN, false, "failed to add item env_temperature");
     5272        psFree(md);
     5273        return false;
     5274    }
     5275    if (!psMetadataAdd(md, PS_LIST_TAIL, "env_humidity", PS_DATA_F32, NULL, env_humidity)) {
     5276        psError(PS_ERR_UNKNOWN, false, "failed to add item env_humidity");
     5277        psFree(md);
     5278        return false;
     5279    }
     5280    if (!psMetadataAdd(md, PS_LIST_TAIL, "env_wind_speed", PS_DATA_F32, NULL, env_wind_speed)) {
     5281        psError(PS_ERR_UNKNOWN, false, "failed to add item env_wind_speed");
     5282        psFree(md);
     5283        return false;
     5284    }
     5285    if (!psMetadataAdd(md, PS_LIST_TAIL, "env_wind_dir", PS_DATA_F32, NULL, env_wind_dir)) {
     5286        psError(PS_ERR_UNKNOWN, false, "failed to add item env_wind_dir");
     5287        psFree(md);
     5288        return false;
     5289    }
     5290    if (!psMetadataAdd(md, PS_LIST_TAIL, "pon_time", PS_DATA_F32, NULL, pon_time)) {
     5291        psError(PS_ERR_UNKNOWN, false, "failed to add item pon_time");
    48125292        psFree(md);
    48135293        return false;
     
    48715351bool rawImfileInsertObject(psDB *dbh, rawImfileRow *object)
    48725352{
    4873     return rawImfileInsert(dbh, object->exp_id, object->exp_name, object->camera, object->telescope, object->dateobs, object->tmp_class_id, object->class_id, object->uri, object->exp_type, object->filelevel, object->filter, object->airmass, object->ra, object->decl, object->exp_time, object->sat_pixel_frac, object->bg, object->bg_stdev, object->bg_mean_stdev, object->alt, object->az, object->ccd_temp, object->posang, object->user_1, object->user_2, object->user_3, object->user_4, object->user_5, object->object, object->fault);
     5353    return rawImfileInsert(dbh, object->exp_id, object->exp_name, object->camera, object->telescope, object->dateobs, object->tmp_class_id, object->class_id, object->uri, object->exp_type, object->filelevel, object->filter, object->airmass, object->ra, object->decl, object->exp_time, object->sat_pixel_frac, object->bg, object->bg_stdev, object->bg_mean_stdev, object->alt, object->az, object->ccd_temp, object->posang, object->M1_x, object->M1_y, object->M1_z, object->M1_tip, object->M1_tilt, object->M2_x, object->M2_y, object->M2_z, object->M2_tip, object->M2_tilt, object->env_temperature, object->env_humidity, object->env_wind_speed, object->env_wind_dir, object->pon_time, object->user_1, object->user_2, object->user_3, object->user_4, object->user_5, object->object, object->fault);
    48745354}
    48755355
     
    50595539        return false;
    50605540    }
     5541    if (!psMetadataAdd(md, PS_LIST_TAIL, "M1_x", PS_DATA_F32, NULL, object->M1_x)) {
     5542        psError(PS_ERR_UNKNOWN, false, "failed to add item M1_x");
     5543        psFree(md);
     5544        return false;
     5545    }
     5546    if (!psMetadataAdd(md, PS_LIST_TAIL, "M1_y", PS_DATA_F32, NULL, object->M1_y)) {
     5547        psError(PS_ERR_UNKNOWN, false, "failed to add item M1_y");
     5548        psFree(md);
     5549        return false;
     5550    }
     5551    if (!psMetadataAdd(md, PS_LIST_TAIL, "M1_z", PS_DATA_F32, NULL, object->M1_z)) {
     5552        psError(PS_ERR_UNKNOWN, false, "failed to add item M1_z");
     5553        psFree(md);
     5554        return false;
     5555    }
     5556    if (!psMetadataAdd(md, PS_LIST_TAIL, "M1_tip", PS_DATA_F32, NULL, object->M1_tip)) {
     5557        psError(PS_ERR_UNKNOWN, false, "failed to add item M1_tip");
     5558        psFree(md);
     5559        return false;
     5560    }
     5561    if (!psMetadataAdd(md, PS_LIST_TAIL, "M1_tilt", PS_DATA_F32, NULL, object->M1_tilt)) {
     5562        psError(PS_ERR_UNKNOWN, false, "failed to add item M1_tilt");
     5563        psFree(md);
     5564        return false;
     5565    }
     5566    if (!psMetadataAdd(md, PS_LIST_TAIL, "M2_x", PS_DATA_F32, NULL, object->M2_x)) {
     5567        psError(PS_ERR_UNKNOWN, false, "failed to add item M2_x");
     5568        psFree(md);
     5569        return false;
     5570    }
     5571    if (!psMetadataAdd(md, PS_LIST_TAIL, "M2_y", PS_DATA_F32, NULL, object->M2_y)) {
     5572        psError(PS_ERR_UNKNOWN, false, "failed to add item M2_y");
     5573        psFree(md);
     5574        return false;
     5575    }
     5576    if (!psMetadataAdd(md, PS_LIST_TAIL, "M2_z", PS_DATA_F32, NULL, object->M2_z)) {
     5577        psError(PS_ERR_UNKNOWN, false, "failed to add item M2_z");
     5578        psFree(md);
     5579        return false;
     5580    }
     5581    if (!psMetadataAdd(md, PS_LIST_TAIL, "M2_tip", PS_DATA_F32, NULL, object->M2_tip)) {
     5582        psError(PS_ERR_UNKNOWN, false, "failed to add item M2_tip");
     5583        psFree(md);
     5584        return false;
     5585    }
     5586    if (!psMetadataAdd(md, PS_LIST_TAIL, "M2_tilt", PS_DATA_F32, NULL, object->M2_tilt)) {
     5587        psError(PS_ERR_UNKNOWN, false, "failed to add item M2_tilt");
     5588        psFree(md);
     5589        return false;
     5590    }
     5591    if (!psMetadataAdd(md, PS_LIST_TAIL, "env_temperature", PS_DATA_F32, NULL, object->env_temperature)) {
     5592        psError(PS_ERR_UNKNOWN, false, "failed to add item env_temperature");
     5593        psFree(md);
     5594        return false;
     5595    }
     5596    if (!psMetadataAdd(md, PS_LIST_TAIL, "env_humidity", PS_DATA_F32, NULL, object->env_humidity)) {
     5597        psError(PS_ERR_UNKNOWN, false, "failed to add item env_humidity");
     5598        psFree(md);
     5599        return false;
     5600    }
     5601    if (!psMetadataAdd(md, PS_LIST_TAIL, "env_wind_speed", PS_DATA_F32, NULL, object->env_wind_speed)) {
     5602        psError(PS_ERR_UNKNOWN, false, "failed to add item env_wind_speed");
     5603        psFree(md);
     5604        return false;
     5605    }
     5606    if (!psMetadataAdd(md, PS_LIST_TAIL, "env_wind_dir", PS_DATA_F32, NULL, object->env_wind_dir)) {
     5607        psError(PS_ERR_UNKNOWN, false, "failed to add item env_wind_dir");
     5608        psFree(md);
     5609        return false;
     5610    }
     5611    if (!psMetadataAdd(md, PS_LIST_TAIL, "pon_time", PS_DATA_F32, NULL, object->pon_time)) {
     5612        psError(PS_ERR_UNKNOWN, false, "failed to add item pon_time");
     5613        psFree(md);
     5614        return false;
     5615    }
    50615616    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_1", PS_DATA_F64, NULL, object->user_1)) {
    50625617        psError(PS_ERR_UNKNOWN, false, "failed to add item user_1");
     
    52185773        return false;
    52195774    }
     5775    psF32 M1_x = psMetadataLookupF32(&status, md, "M1_x");
     5776    if (!status) {
     5777        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item M1_x");
     5778        return false;
     5779    }
     5780    psF32 M1_y = psMetadataLookupF32(&status, md, "M1_y");
     5781    if (!status) {
     5782        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item M1_y");
     5783        return false;
     5784    }
     5785    psF32 M1_z = psMetadataLookupF32(&status, md, "M1_z");
     5786    if (!status) {
     5787        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item M1_z");
     5788        return false;
     5789    }
     5790    psF32 M1_tip = psMetadataLookupF32(&status, md, "M1_tip");
     5791    if (!status) {
     5792        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item M1_tip");
     5793        return false;
     5794    }
     5795    psF32 M1_tilt = psMetadataLookupF32(&status, md, "M1_tilt");
     5796    if (!status) {
     5797        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item M1_tilt");
     5798        return false;
     5799    }
     5800    psF32 M2_x = psMetadataLookupF32(&status, md, "M2_x");
     5801    if (!status) {
     5802        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item M2_x");
     5803        return false;
     5804    }
     5805    psF32 M2_y = psMetadataLookupF32(&status, md, "M2_y");
     5806    if (!status) {
     5807        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item M2_y");
     5808        return false;
     5809    }
     5810    psF32 M2_z = psMetadataLookupF32(&status, md, "M2_z");
     5811    if (!status) {
     5812        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item M2_z");
     5813        return false;
     5814    }
     5815    psF32 M2_tip = psMetadataLookupF32(&status, md, "M2_tip");
     5816    if (!status) {
     5817        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item M2_tip");
     5818        return false;
     5819    }
     5820    psF32 M2_tilt = psMetadataLookupF32(&status, md, "M2_tilt");
     5821    if (!status) {
     5822        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item M2_tilt");
     5823        return false;
     5824    }
     5825    psF32 env_temperature = psMetadataLookupF32(&status, md, "env_temperature");
     5826    if (!status) {
     5827        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item env_temperature");
     5828        return false;
     5829    }
     5830    psF32 env_humidity = psMetadataLookupF32(&status, md, "env_humidity");
     5831    if (!status) {
     5832        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item env_humidity");
     5833        return false;
     5834    }
     5835    psF32 env_wind_speed = psMetadataLookupF32(&status, md, "env_wind_speed");
     5836    if (!status) {
     5837        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item env_wind_speed");
     5838        return false;
     5839    }
     5840    psF32 env_wind_dir = psMetadataLookupF32(&status, md, "env_wind_dir");
     5841    if (!status) {
     5842        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item env_wind_dir");
     5843        return false;
     5844    }
     5845    psF32 pon_time = psMetadataLookupF32(&status, md, "pon_time");
     5846    if (!status) {
     5847        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item pon_time");
     5848        return false;
     5849    }
    52205850    psF64 user_1 = psMetadataLookupF64(&status, md, "user_1");
    52215851    if (!status) {
     
    52545884    }
    52555885
    5256     return rawImfileRowAlloc(exp_id, exp_name, camera, telescope, dateobs, tmp_class_id, class_id, uri, exp_type, filelevel, filter, airmass, ra, decl, exp_time, sat_pixel_frac, bg, bg_stdev, bg_mean_stdev, alt, az, ccd_temp, posang, user_1, user_2, user_3, user_4, user_5, object, fault);
     5886    return rawImfileRowAlloc(exp_id, exp_name, camera, telescope, dateobs, tmp_class_id, class_id, uri, exp_type, filelevel, filter, airmass, ra, decl, exp_time, sat_pixel_frac, bg, bg_stdev, bg_mean_stdev, alt, az, ccd_temp, posang, M1_x, M1_y, M1_z, M1_tip, M1_tilt, M2_x, M2_y, M2_z, M2_tip, M2_tilt, env_temperature, env_humidity, env_wind_speed, env_wind_dir, pon_time, user_1, user_2, user_3, user_4, user_5, object, fault);
    52575887}
    52585888psArray *rawImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     
    2270423334static void flatcorrRunRowFree(flatcorrRunRow *object);
    2270523335
    22706 flatcorrRunRow *flatcorrRunRowAlloc(psS64 corr_id, const char *dvodb, const char *state, const char *workdir, const char *label)
     23336flatcorrRunRow *flatcorrRunRowAlloc(psS64 corr_id, const char *dvodb, const char *state, const char *workdir, const char *label, const char *stats)
    2270723337{
    2270823338    flatcorrRunRow  *_object;
     
    2271623346    _object->workdir = psStringCopy(workdir);
    2271723347    _object->label = psStringCopy(label);
     23348    _object->stats = psStringCopy(stats);
    2271823349
    2271923350    return _object;
     
    2272623357    psFree(object->workdir);
    2272723358    psFree(object->label);
     23359    psFree(object->stats);
    2272823360}
    2272923361
     
    2275623388        return false;
    2275723389    }
     23390    if (!psMetadataAdd(md, PS_LIST_TAIL, "stats", PS_DATA_STRING, NULL, "255")) {
     23391        psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
     23392        psFree(md);
     23393        return false;
     23394    }
    2275823395
    2275923396    bool status = psDBCreateTable(dbh, FLATCORRRUN_TABLE_NAME, md);
     
    2276923406}
    2277023407
    22771 bool flatcorrRunInsert(psDB * dbh, psS64 corr_id, const char *dvodb, const char *state, const char *workdir, const char *label)
     23408bool flatcorrRunInsert(psDB * dbh, psS64 corr_id, const char *dvodb, const char *state, const char *workdir, const char *label, const char *stats)
    2277223409{
    2277323410    psMetadata *md = psMetadataAlloc();
     
    2279423431    if (!psMetadataAdd(md, PS_LIST_TAIL, "label", PS_DATA_STRING, NULL, label)) {
    2279523432        psError(PS_ERR_UNKNOWN, false, "failed to add item label");
     23433        psFree(md);
     23434        return false;
     23435    }
     23436    if (!psMetadataAdd(md, PS_LIST_TAIL, "stats", PS_DATA_STRING, NULL, stats)) {
     23437        psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
    2279623438        psFree(md);
    2279723439        return false;
     
    2282023462bool flatcorrRunInsertObject(psDB *dbh, flatcorrRunRow *object)
    2282123463{
    22822     return flatcorrRunInsert(dbh, object->corr_id, object->dvodb, object->state, object->workdir, object->label);
     23464    return flatcorrRunInsert(dbh, object->corr_id, object->dvodb, object->state, object->workdir, object->label, object->stats);
    2282323465}
    2282423466
     
    2291823560        return false;
    2291923561    }
     23562    if (!psMetadataAdd(md, PS_LIST_TAIL, "stats", PS_DATA_STRING, NULL, object->stats)) {
     23563        psError(PS_ERR_UNKNOWN, false, "failed to add item stats");
     23564        psFree(md);
     23565        return false;
     23566    }
    2292023567
    2292123568
     
    2295223599        return false;
    2295323600    }
    22954 
    22955     return flatcorrRunRowAlloc(corr_id, dvodb, state, workdir, label);
     23601    char* stats = psMetadataLookupPtr(&status, md, "stats");
     23602    if (!status) {
     23603        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item stats");
     23604        return false;
     23605    }
     23606
     23607    return flatcorrRunRowAlloc(corr_id, dvodb, state, workdir, label, stats);
    2295623608}
    2295723609psArray *flatcorrRunSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
Note: See TracChangeset for help on using the changeset viewer.