Changeset 20205 for trunk/ippdb/src/ippdb.c
- Timestamp:
- Oct 16, 2008, 12:32:27 PM (18 years ago)
- File:
-
- 1 edited
-
trunk/ippdb/src/ippdb.c (modified) (314 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippdb/src/ippdb.c
r18796 r20205 82 82 #define CALRUN_TABLE_NAME "calRun" 83 83 #define FLATCORRRUN_TABLE_NAME "flatcorrRun" 84 #define FLATCORREXP_TABLE_NAME "flatcorrExp" 84 #define FLATCORRCHIPLINK_TABLE_NAME "flatcorrChipLink" 85 #define FLATCORRCAMLINK_TABLE_NAME "flatcorrCamLink" 85 86 #define PSTAMPDATASTORE_TABLE_NAME "pstampDataStore" 87 #define PSTAMPPROJECT_TABLE_NAME "pstampProject" 86 88 #define PSTAMPREQUEST_TABLE_NAME "pstampRequest" 87 89 #define PSTAMPJOB_TABLE_NAME "pstampJob" … … 3230 3232 static void rawExpRowFree(rawExpRow *object); 3231 3233 3232 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 *dvodb, const char *tess_id, const char *end_stage, const char *filter, const char *comment, 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 teltemp_m1, psF32 teltemp_m1cell, psF32 teltemp_m2, psF32 teltemp_spider, psF32 teltemp_truss, psF32 teltemp_extra, psF32 pon_time, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *object, psF32 solang, const char *hostname, psS16 fault, psTime* epoch)3234 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 *dvodb, const char *tess_id, const char *end_stage, const char *filter, const char *comment, const char *obs_mode, const char *obs_group, 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 teltemp_m1, psF32 teltemp_m1cell, psF32 teltemp_m2, psF32 teltemp_spider, psF32 teltemp_truss, psF32 teltemp_extra, psF32 pon_time, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *object, psF32 sun_angle, psF32 sun_alt, psF32 moon_angle, psF32 moon_alt, psF32 moon_phase, const char *hostname, psS16 fault, psTime* epoch) 3233 3235 { 3234 3236 rawExpRow *_object; … … 3252 3254 _object->filter = psStringCopy(filter); 3253 3255 _object->comment = psStringCopy(comment); 3256 _object->obs_mode = psStringCopy(obs_mode); 3257 _object->obs_group = psStringCopy(obs_group); 3254 3258 _object->airmass = airmass; 3255 3259 _object->ra = ra; … … 3291 3295 _object->user_5 = user_5; 3292 3296 _object->object = psStringCopy(object); 3293 _object->solang = solang; 3297 _object->sun_angle = sun_angle; 3298 _object->sun_alt = sun_alt; 3299 _object->moon_angle = moon_angle; 3300 _object->moon_alt = moon_alt; 3301 _object->moon_phase = moon_phase; 3294 3302 _object->hostname = psStringCopy(hostname); 3295 3303 _object->fault = fault; … … 3315 3323 psFree(object->filter); 3316 3324 psFree(object->comment); 3325 psFree(object->obs_mode); 3326 psFree(object->obs_group); 3317 3327 psFree(object->object); 3318 3328 psFree(object->hostname); … … 3398 3408 return false; 3399 3409 } 3410 if (!psMetadataAdd(md, PS_LIST_TAIL, "obs_mode", PS_DATA_STRING, "data usage goal (eg, survey name, engineering, etc)", "64")) { 3411 psError(PS_ERR_UNKNOWN, false, "failed to add item obs_mode"); 3412 psFree(md); 3413 return false; 3414 } 3415 if (!psMetadataAdd(md, PS_LIST_TAIL, "obs_group", PS_DATA_STRING, "identifier for data block (eg, observation sequence)", "64")) { 3416 psError(PS_ERR_UNKNOWN, false, "failed to add item obs_group"); 3417 psFree(md); 3418 return false; 3419 } 3400 3420 if (!psMetadataAdd(md, PS_LIST_TAIL, "airmass", PS_DATA_F32, NULL, 0.0)) { 3401 3421 psError(PS_ERR_UNKNOWN, false, "failed to add item airmass"); … … 3593 3613 return false; 3594 3614 } 3595 if (!psMetadataAdd(md, PS_LIST_TAIL, "solang", PS_DATA_F32, NULL, 0.0)) { 3596 psError(PS_ERR_UNKNOWN, false, "failed to add item solang"); 3615 if (!psMetadataAdd(md, PS_LIST_TAIL, "sun_angle", PS_DATA_F32, NULL, 0.0)) { 3616 psError(PS_ERR_UNKNOWN, false, "failed to add item sun_angle"); 3617 psFree(md); 3618 return false; 3619 } 3620 if (!psMetadataAdd(md, PS_LIST_TAIL, "sun_alt", PS_DATA_F32, NULL, 0.0)) { 3621 psError(PS_ERR_UNKNOWN, false, "failed to add item sun_alt"); 3622 psFree(md); 3623 return false; 3624 } 3625 if (!psMetadataAdd(md, PS_LIST_TAIL, "moon_angle", PS_DATA_F32, NULL, 0.0)) { 3626 psError(PS_ERR_UNKNOWN, false, "failed to add item moon_angle"); 3627 psFree(md); 3628 return false; 3629 } 3630 if (!psMetadataAdd(md, PS_LIST_TAIL, "moon_alt", PS_DATA_F32, NULL, 0.0)) { 3631 psError(PS_ERR_UNKNOWN, false, "failed to add item moon_alt"); 3632 psFree(md); 3633 return false; 3634 } 3635 if (!psMetadataAdd(md, PS_LIST_TAIL, "moon_phase", PS_DATA_F32, NULL, 0.0)) { 3636 psError(PS_ERR_UNKNOWN, false, "failed to add item moon_phase"); 3597 3637 psFree(md); 3598 3638 return false; … … 3626 3666 } 3627 3667 3628 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 *dvodb, const char *tess_id, const char *end_stage, const char *filter, const char *comment, 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 teltemp_m1, psF32 teltemp_m1cell, psF32 teltemp_m2, psF32 teltemp_spider, psF32 teltemp_truss, psF32 teltemp_extra, psF32 pon_time, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *object, psF32 solang, const char *hostname, psS16 fault, psTime* epoch)3668 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 *dvodb, const char *tess_id, const char *end_stage, const char *filter, const char *comment, const char *obs_mode, const char *obs_group, 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 teltemp_m1, psF32 teltemp_m1cell, psF32 teltemp_m2, psF32 teltemp_spider, psF32 teltemp_truss, psF32 teltemp_extra, psF32 pon_time, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *object, psF32 sun_angle, psF32 sun_alt, psF32 moon_angle, psF32 moon_alt, psF32 moon_phase, const char *hostname, psS16 fault, psTime* epoch) 3629 3669 { 3630 3670 psMetadata *md = psMetadataAlloc(); … … 3704 3744 return false; 3705 3745 } 3746 if (!psMetadataAdd(md, PS_LIST_TAIL, "obs_mode", PS_DATA_STRING, NULL, obs_mode)) { 3747 psError(PS_ERR_UNKNOWN, false, "failed to add item obs_mode"); 3748 psFree(md); 3749 return false; 3750 } 3751 if (!psMetadataAdd(md, PS_LIST_TAIL, "obs_group", PS_DATA_STRING, NULL, obs_group)) { 3752 psError(PS_ERR_UNKNOWN, false, "failed to add item obs_group"); 3753 psFree(md); 3754 return false; 3755 } 3706 3756 if (!psMetadataAdd(md, PS_LIST_TAIL, "airmass", PS_DATA_F32, NULL, airmass)) { 3707 3757 psError(PS_ERR_UNKNOWN, false, "failed to add item airmass"); … … 3899 3949 return false; 3900 3950 } 3901 if (!psMetadataAdd(md, PS_LIST_TAIL, "solang", PS_DATA_F32, NULL, solang)) { 3902 psError(PS_ERR_UNKNOWN, false, "failed to add item solang"); 3951 if (!psMetadataAdd(md, PS_LIST_TAIL, "sun_angle", PS_DATA_F32, NULL, sun_angle)) { 3952 psError(PS_ERR_UNKNOWN, false, "failed to add item sun_angle"); 3953 psFree(md); 3954 return false; 3955 } 3956 if (!psMetadataAdd(md, PS_LIST_TAIL, "sun_alt", PS_DATA_F32, NULL, sun_alt)) { 3957 psError(PS_ERR_UNKNOWN, false, "failed to add item sun_alt"); 3958 psFree(md); 3959 return false; 3960 } 3961 if (!psMetadataAdd(md, PS_LIST_TAIL, "moon_angle", PS_DATA_F32, NULL, moon_angle)) { 3962 psError(PS_ERR_UNKNOWN, false, "failed to add item moon_angle"); 3963 psFree(md); 3964 return false; 3965 } 3966 if (!psMetadataAdd(md, PS_LIST_TAIL, "moon_alt", PS_DATA_F32, NULL, moon_alt)) { 3967 psError(PS_ERR_UNKNOWN, false, "failed to add item moon_alt"); 3968 psFree(md); 3969 return false; 3970 } 3971 if (!psMetadataAdd(md, PS_LIST_TAIL, "moon_phase", PS_DATA_F32, NULL, moon_phase)) { 3972 psError(PS_ERR_UNKNOWN, false, "failed to add item moon_phase"); 3903 3973 psFree(md); 3904 3974 return false; … … 3942 4012 bool rawExpInsertObject(psDB *dbh, rawExpRow *object) 3943 4013 { 3944 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->dvodb, object->tess_id, object->end_stage, object->filter, object->comment, 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->teltemp_m1, object->teltemp_m1cell, object->teltemp_m2, object->teltemp_spider, object->teltemp_truss, object->teltemp_extra, object->pon_time, object->user_1, object->user_2, object->user_3, object->user_4, object->user_5, object->object, object->solang, object->hostname, object->fault, object->epoch);4014 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->dvodb, object->tess_id, object->end_stage, object->filter, object->comment, object->obs_mode, object->obs_group, 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->teltemp_m1, object->teltemp_m1cell, object->teltemp_m2, object->teltemp_spider, object->teltemp_truss, object->teltemp_extra, object->pon_time, object->user_1, object->user_2, object->user_3, object->user_4, object->user_5, object->object, object->sun_angle, object->sun_alt, object->moon_angle, object->moon_alt, object->moon_phase, object->hostname, object->fault, object->epoch); 3945 4015 } 3946 4016 … … 4090 4160 return false; 4091 4161 } 4162 if (!psMetadataAdd(md, PS_LIST_TAIL, "obs_mode", PS_DATA_STRING, NULL, object->obs_mode)) { 4163 psError(PS_ERR_UNKNOWN, false, "failed to add item obs_mode"); 4164 psFree(md); 4165 return false; 4166 } 4167 if (!psMetadataAdd(md, PS_LIST_TAIL, "obs_group", PS_DATA_STRING, NULL, object->obs_group)) { 4168 psError(PS_ERR_UNKNOWN, false, "failed to add item obs_group"); 4169 psFree(md); 4170 return false; 4171 } 4092 4172 if (!psMetadataAdd(md, PS_LIST_TAIL, "airmass", PS_DATA_F32, NULL, object->airmass)) { 4093 4173 psError(PS_ERR_UNKNOWN, false, "failed to add item airmass"); … … 4285 4365 return false; 4286 4366 } 4287 if (!psMetadataAdd(md, PS_LIST_TAIL, "solang", PS_DATA_F32, NULL, object->solang)) { 4288 psError(PS_ERR_UNKNOWN, false, "failed to add item solang"); 4367 if (!psMetadataAdd(md, PS_LIST_TAIL, "sun_angle", PS_DATA_F32, NULL, object->sun_angle)) { 4368 psError(PS_ERR_UNKNOWN, false, "failed to add item sun_angle"); 4369 psFree(md); 4370 return false; 4371 } 4372 if (!psMetadataAdd(md, PS_LIST_TAIL, "sun_alt", PS_DATA_F32, NULL, object->sun_alt)) { 4373 psError(PS_ERR_UNKNOWN, false, "failed to add item sun_alt"); 4374 psFree(md); 4375 return false; 4376 } 4377 if (!psMetadataAdd(md, PS_LIST_TAIL, "moon_angle", PS_DATA_F32, NULL, object->moon_angle)) { 4378 psError(PS_ERR_UNKNOWN, false, "failed to add item moon_angle"); 4379 psFree(md); 4380 return false; 4381 } 4382 if (!psMetadataAdd(md, PS_LIST_TAIL, "moon_alt", PS_DATA_F32, NULL, object->moon_alt)) { 4383 psError(PS_ERR_UNKNOWN, false, "failed to add item moon_alt"); 4384 psFree(md); 4385 return false; 4386 } 4387 if (!psMetadataAdd(md, PS_LIST_TAIL, "moon_phase", PS_DATA_F32, NULL, object->moon_phase)) { 4388 psError(PS_ERR_UNKNOWN, false, "failed to add item moon_phase"); 4289 4389 psFree(md); 4290 4390 return false; … … 4389 4489 return false; 4390 4490 } 4491 char* obs_mode = psMetadataLookupPtr(&status, md, "obs_mode"); 4492 if (!status) { 4493 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item obs_mode"); 4494 return false; 4495 } 4496 char* obs_group = psMetadataLookupPtr(&status, md, "obs_group"); 4497 if (!status) { 4498 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item obs_group"); 4499 return false; 4500 } 4391 4501 psF32 airmass = psMetadataLookupF32(&status, md, "airmass"); 4392 4502 if (!status) { … … 4584 4694 return false; 4585 4695 } 4586 psF32 solang = psMetadataLookupF32(&status, md, "solang"); 4587 if (!status) { 4588 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item solang"); 4696 psF32 sun_angle = psMetadataLookupF32(&status, md, "sun_angle"); 4697 if (!status) { 4698 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item sun_angle"); 4699 return false; 4700 } 4701 psF32 sun_alt = psMetadataLookupF32(&status, md, "sun_alt"); 4702 if (!status) { 4703 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item sun_alt"); 4704 return false; 4705 } 4706 psF32 moon_angle = psMetadataLookupF32(&status, md, "moon_angle"); 4707 if (!status) { 4708 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item moon_angle"); 4709 return false; 4710 } 4711 psF32 moon_alt = psMetadataLookupF32(&status, md, "moon_alt"); 4712 if (!status) { 4713 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item moon_alt"); 4714 return false; 4715 } 4716 psF32 moon_phase = psMetadataLookupF32(&status, md, "moon_phase"); 4717 if (!status) { 4718 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item moon_phase"); 4589 4719 return false; 4590 4720 } … … 4605 4735 } 4606 4736 4607 return rawExpRowAlloc(exp_id, exp_name, camera, telescope, dateobs, exp_tag, exp_type, filelevel, workdir, reduction, dvodb, tess_id, end_stage, filter, comment, 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, teltemp_m1, teltemp_m1cell, teltemp_m2, teltemp_spider, teltemp_truss, teltemp_extra, pon_time, user_1, user_2, user_3, user_4, user_5, object, solang, hostname, fault, epoch);4737 return rawExpRowAlloc(exp_id, exp_name, camera, telescope, dateobs, exp_tag, exp_type, filelevel, workdir, reduction, dvodb, tess_id, end_stage, filter, comment, obs_mode, obs_group, 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, teltemp_m1, teltemp_m1cell, teltemp_m2, teltemp_spider, teltemp_truss, teltemp_extra, pon_time, user_1, user_2, user_3, user_4, user_5, object, sun_angle, sun_alt, moon_angle, moon_alt, moon_phase, hostname, fault, epoch); 4608 4738 } 4609 4739 psArray *rawExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) … … 4723 4853 static void rawImfileRowFree(rawImfileRow *object); 4724 4854 4725 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, const char *comment, 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 teltemp_m1, psF32 teltemp_m1cell, psF32 teltemp_m2, psF32 teltemp_spider, psF32 teltemp_truss, psF32 teltemp_extra, psF32 pon_time, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *object, const char *hostname, psS16 fault, psTime* epoch)4855 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, const char *comment, const char *obs_mode, const char *obs_group, 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 teltemp_m1, psF32 teltemp_m1cell, psF32 teltemp_m2, psF32 teltemp_spider, psF32 teltemp_truss, psF32 teltemp_extra, psF32 pon_time, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *object, psF32 sun_angle, psF32 sun_alt, psF32 moon_angle, psF32 moon_alt, psF32 moon_phase, const char *hostname, psS16 fault, psTime* epoch) 4726 4856 { 4727 4857 rawImfileRow *_object; … … 4742 4872 _object->filter = psStringCopy(filter); 4743 4873 _object->comment = psStringCopy(comment); 4874 _object->obs_mode = psStringCopy(obs_mode); 4875 _object->obs_group = psStringCopy(obs_group); 4744 4876 _object->airmass = airmass; 4745 4877 _object->ra = ra; … … 4781 4913 _object->user_5 = user_5; 4782 4914 _object->object = psStringCopy(object); 4915 _object->sun_angle = sun_angle; 4916 _object->sun_alt = sun_alt; 4917 _object->moon_angle = moon_angle; 4918 _object->moon_alt = moon_alt; 4919 _object->moon_phase = moon_phase; 4783 4920 _object->hostname = psStringCopy(hostname); 4784 4921 _object->fault = fault; … … 4801 4938 psFree(object->filter); 4802 4939 psFree(object->comment); 4940 psFree(object->obs_mode); 4941 psFree(object->obs_group); 4803 4942 psFree(object->object); 4804 4943 psFree(object->hostname); … … 4869 5008 return false; 4870 5009 } 5010 if (!psMetadataAdd(md, PS_LIST_TAIL, "obs_mode", PS_DATA_STRING, "data usage goal (eg, survey name, engineering, etc)", "64")) { 5011 psError(PS_ERR_UNKNOWN, false, "failed to add item obs_mode"); 5012 psFree(md); 5013 return false; 5014 } 5015 if (!psMetadataAdd(md, PS_LIST_TAIL, "obs_group", PS_DATA_STRING, "identifier for data block (eg, observation sequence)", "64")) { 5016 psError(PS_ERR_UNKNOWN, false, "failed to add item obs_group"); 5017 psFree(md); 5018 return false; 5019 } 4871 5020 if (!psMetadataAdd(md, PS_LIST_TAIL, "airmass", PS_DATA_F32, NULL, 0.0)) { 4872 5021 psError(PS_ERR_UNKNOWN, false, "failed to add item airmass"); … … 5064 5213 return false; 5065 5214 } 5215 if (!psMetadataAdd(md, PS_LIST_TAIL, "sun_angle", PS_DATA_F32, NULL, 0.0)) { 5216 psError(PS_ERR_UNKNOWN, false, "failed to add item sun_angle"); 5217 psFree(md); 5218 return false; 5219 } 5220 if (!psMetadataAdd(md, PS_LIST_TAIL, "sun_alt", PS_DATA_F32, NULL, 0.0)) { 5221 psError(PS_ERR_UNKNOWN, false, "failed to add item sun_alt"); 5222 psFree(md); 5223 return false; 5224 } 5225 if (!psMetadataAdd(md, PS_LIST_TAIL, "moon_angle", PS_DATA_F32, NULL, 0.0)) { 5226 psError(PS_ERR_UNKNOWN, false, "failed to add item moon_angle"); 5227 psFree(md); 5228 return false; 5229 } 5230 if (!psMetadataAdd(md, PS_LIST_TAIL, "moon_alt", PS_DATA_F32, NULL, 0.0)) { 5231 psError(PS_ERR_UNKNOWN, false, "failed to add item moon_alt"); 5232 psFree(md); 5233 return false; 5234 } 5235 if (!psMetadataAdd(md, PS_LIST_TAIL, "moon_phase", PS_DATA_F32, NULL, 0.0)) { 5236 psError(PS_ERR_UNKNOWN, false, "failed to add item moon_phase"); 5237 psFree(md); 5238 return false; 5239 } 5066 5240 if (!psMetadataAdd(md, PS_LIST_TAIL, "hostname", PS_DATA_STRING, NULL, "64")) { 5067 5241 psError(PS_ERR_UNKNOWN, false, "failed to add item hostname"); … … 5092 5266 } 5093 5267 5094 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, const char *comment, 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 teltemp_m1, psF32 teltemp_m1cell, psF32 teltemp_m2, psF32 teltemp_spider, psF32 teltemp_truss, psF32 teltemp_extra, psF32 pon_time, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *object, const char *hostname, psS16 fault, psTime* epoch)5268 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, const char *comment, const char *obs_mode, const char *obs_group, 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 teltemp_m1, psF32 teltemp_m1cell, psF32 teltemp_m2, psF32 teltemp_spider, psF32 teltemp_truss, psF32 teltemp_extra, psF32 pon_time, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *object, psF32 sun_angle, psF32 sun_alt, psF32 moon_angle, psF32 moon_alt, psF32 moon_phase, const char *hostname, psS16 fault, psTime* epoch) 5095 5269 { 5096 5270 psMetadata *md = psMetadataAlloc(); … … 5155 5329 return false; 5156 5330 } 5331 if (!psMetadataAdd(md, PS_LIST_TAIL, "obs_mode", PS_DATA_STRING, NULL, obs_mode)) { 5332 psError(PS_ERR_UNKNOWN, false, "failed to add item obs_mode"); 5333 psFree(md); 5334 return false; 5335 } 5336 if (!psMetadataAdd(md, PS_LIST_TAIL, "obs_group", PS_DATA_STRING, NULL, obs_group)) { 5337 psError(PS_ERR_UNKNOWN, false, "failed to add item obs_group"); 5338 psFree(md); 5339 return false; 5340 } 5157 5341 if (!psMetadataAdd(md, PS_LIST_TAIL, "airmass", PS_DATA_F32, NULL, airmass)) { 5158 5342 psError(PS_ERR_UNKNOWN, false, "failed to add item airmass"); … … 5347 5531 if (!psMetadataAdd(md, PS_LIST_TAIL, "object", PS_DATA_STRING, NULL, object)) { 5348 5532 psError(PS_ERR_UNKNOWN, false, "failed to add item object"); 5533 psFree(md); 5534 return false; 5535 } 5536 if (!psMetadataAdd(md, PS_LIST_TAIL, "sun_angle", PS_DATA_F32, NULL, sun_angle)) { 5537 psError(PS_ERR_UNKNOWN, false, "failed to add item sun_angle"); 5538 psFree(md); 5539 return false; 5540 } 5541 if (!psMetadataAdd(md, PS_LIST_TAIL, "sun_alt", PS_DATA_F32, NULL, sun_alt)) { 5542 psError(PS_ERR_UNKNOWN, false, "failed to add item sun_alt"); 5543 psFree(md); 5544 return false; 5545 } 5546 if (!psMetadataAdd(md, PS_LIST_TAIL, "moon_angle", PS_DATA_F32, NULL, moon_angle)) { 5547 psError(PS_ERR_UNKNOWN, false, "failed to add item moon_angle"); 5548 psFree(md); 5549 return false; 5550 } 5551 if (!psMetadataAdd(md, PS_LIST_TAIL, "moon_alt", PS_DATA_F32, NULL, moon_alt)) { 5552 psError(PS_ERR_UNKNOWN, false, "failed to add item moon_alt"); 5553 psFree(md); 5554 return false; 5555 } 5556 if (!psMetadataAdd(md, PS_LIST_TAIL, "moon_phase", PS_DATA_F32, NULL, moon_phase)) { 5557 psError(PS_ERR_UNKNOWN, false, "failed to add item moon_phase"); 5349 5558 psFree(md); 5350 5559 return false; … … 5388 5597 bool rawImfileInsertObject(psDB *dbh, rawImfileRow *object) 5389 5598 { 5390 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->comment, 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->teltemp_m1, object->teltemp_m1cell, object->teltemp_m2, object->teltemp_spider, object->teltemp_truss, object->teltemp_extra, object->pon_time, object->user_1, object->user_2, object->user_3, object->user_4, object->user_5, object->object, object->hostname, object->fault, object->epoch);5599 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->comment, object->obs_mode, object->obs_group, 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->teltemp_m1, object->teltemp_m1cell, object->teltemp_m2, object->teltemp_spider, object->teltemp_truss, object->teltemp_extra, object->pon_time, object->user_1, object->user_2, object->user_3, object->user_4, object->user_5, object->object, object->sun_angle, object->sun_alt, object->moon_angle, object->moon_alt, object->moon_phase, object->hostname, object->fault, object->epoch); 5391 5600 } 5392 5601 … … 5521 5730 return false; 5522 5731 } 5732 if (!psMetadataAdd(md, PS_LIST_TAIL, "obs_mode", PS_DATA_STRING, NULL, object->obs_mode)) { 5733 psError(PS_ERR_UNKNOWN, false, "failed to add item obs_mode"); 5734 psFree(md); 5735 return false; 5736 } 5737 if (!psMetadataAdd(md, PS_LIST_TAIL, "obs_group", PS_DATA_STRING, NULL, object->obs_group)) { 5738 psError(PS_ERR_UNKNOWN, false, "failed to add item obs_group"); 5739 psFree(md); 5740 return false; 5741 } 5523 5742 if (!psMetadataAdd(md, PS_LIST_TAIL, "airmass", PS_DATA_F32, NULL, object->airmass)) { 5524 5743 psError(PS_ERR_UNKNOWN, false, "failed to add item airmass"); … … 5716 5935 return false; 5717 5936 } 5937 if (!psMetadataAdd(md, PS_LIST_TAIL, "sun_angle", PS_DATA_F32, NULL, object->sun_angle)) { 5938 psError(PS_ERR_UNKNOWN, false, "failed to add item sun_angle"); 5939 psFree(md); 5940 return false; 5941 } 5942 if (!psMetadataAdd(md, PS_LIST_TAIL, "sun_alt", PS_DATA_F32, NULL, object->sun_alt)) { 5943 psError(PS_ERR_UNKNOWN, false, "failed to add item sun_alt"); 5944 psFree(md); 5945 return false; 5946 } 5947 if (!psMetadataAdd(md, PS_LIST_TAIL, "moon_angle", PS_DATA_F32, NULL, object->moon_angle)) { 5948 psError(PS_ERR_UNKNOWN, false, "failed to add item moon_angle"); 5949 psFree(md); 5950 return false; 5951 } 5952 if (!psMetadataAdd(md, PS_LIST_TAIL, "moon_alt", PS_DATA_F32, NULL, object->moon_alt)) { 5953 psError(PS_ERR_UNKNOWN, false, "failed to add item moon_alt"); 5954 psFree(md); 5955 return false; 5956 } 5957 if (!psMetadataAdd(md, PS_LIST_TAIL, "moon_phase", PS_DATA_F32, NULL, object->moon_phase)) { 5958 psError(PS_ERR_UNKNOWN, false, "failed to add item moon_phase"); 5959 psFree(md); 5960 return false; 5961 } 5718 5962 if (!psMetadataAdd(md, PS_LIST_TAIL, "hostname", PS_DATA_STRING, NULL, object->hostname)) { 5719 5963 psError(PS_ERR_UNKNOWN, false, "failed to add item hostname"); … … 5800 6044 return false; 5801 6045 } 6046 char* obs_mode = psMetadataLookupPtr(&status, md, "obs_mode"); 6047 if (!status) { 6048 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item obs_mode"); 6049 return false; 6050 } 6051 char* obs_group = psMetadataLookupPtr(&status, md, "obs_group"); 6052 if (!status) { 6053 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item obs_group"); 6054 return false; 6055 } 5802 6056 psF32 airmass = psMetadataLookupF32(&status, md, "airmass"); 5803 6057 if (!status) { … … 5995 6249 return false; 5996 6250 } 6251 psF32 sun_angle = psMetadataLookupF32(&status, md, "sun_angle"); 6252 if (!status) { 6253 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item sun_angle"); 6254 return false; 6255 } 6256 psF32 sun_alt = psMetadataLookupF32(&status, md, "sun_alt"); 6257 if (!status) { 6258 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item sun_alt"); 6259 return false; 6260 } 6261 psF32 moon_angle = psMetadataLookupF32(&status, md, "moon_angle"); 6262 if (!status) { 6263 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item moon_angle"); 6264 return false; 6265 } 6266 psF32 moon_alt = psMetadataLookupF32(&status, md, "moon_alt"); 6267 if (!status) { 6268 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item moon_alt"); 6269 return false; 6270 } 6271 psF32 moon_phase = psMetadataLookupF32(&status, md, "moon_phase"); 6272 if (!status) { 6273 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item moon_phase"); 6274 return false; 6275 } 5997 6276 char* hostname = psMetadataLookupPtr(&status, md, "hostname"); 5998 6277 if (!status) { … … 6011 6290 } 6012 6291 6013 return rawImfileRowAlloc(exp_id, exp_name, camera, telescope, dateobs, tmp_class_id, class_id, uri, exp_type, filelevel, filter, comment, 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, teltemp_m1, teltemp_m1cell, teltemp_m2, teltemp_spider, teltemp_truss, teltemp_extra, pon_time, user_1, user_2, user_3, user_4, user_5, object, hostname, fault, epoch);6292 return rawImfileRowAlloc(exp_id, exp_name, camera, telescope, dateobs, tmp_class_id, class_id, uri, exp_type, filelevel, filter, comment, obs_mode, obs_group, 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, teltemp_m1, teltemp_m1cell, teltemp_m2, teltemp_spider, teltemp_truss, teltemp_extra, pon_time, user_1, user_2, user_3, user_4, user_5, object, sun_angle, sun_alt, moon_angle, moon_alt, moon_phase, hostname, fault, epoch); 6014 6293 } 6015 6294 psArray *rawImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) … … 6949 7228 static void chipProcessedImfileRowFree(chipProcessedImfileRow *object); 6950 7229 6951 chipProcessedImfileRow *chipProcessedImfileRowAlloc(psS64 chip_id, psS64 exp_id, const char *class_id, const char * uri, psF32 bg, psF32 bg_stdev, psF32 bg_mean_stdev, psF32 bias, psF32 bias_stdev, psF32 fringe_0, psF32 fringe_1, psF32 fringe_2, psF32 sigma_ra, psF32 sigma_dec, psF32 ap_resid, psF32 ap_resid_stdev, psF32 zp_mean, psF32 zp_stdev, psF32 fwhm_major, psF32 fwhm_minor, psF32 dtime_detrend, psF32 dtime_photom, psF32 dtime_astrom, const char *hostname, psS32 n_stars, psS32 n_extended, psS32 n_cr, psS32 n_astrom, const char *path_base, psS16 fault)7230 chipProcessedImfileRow *chipProcessedImfileRowAlloc(psS64 chip_id, psS64 exp_id, const char *class_id, const char *data_state, const char *uri, psF32 bg, psF32 bg_stdev, psF32 bg_mean_stdev, psF32 bias, psF32 bias_stdev, psF32 fringe_0, psF32 fringe_1, psF32 fringe_2, psF32 ap_resid, psF32 ap_resid_stdev, psF32 fwhm_major, psF32 fwhm_minor, psF32 iq_m2, psF32 iq_m2_err, psF32 iq_m2_lq, psF32 iq_m2_uq, psF32 iq_m2c, psF32 iq_m2c_err, psF32 iq_m2c_lq, psF32 iq_m2c_uq, psF32 iq_m2s, psF32 iq_m2s_err, psF32 iq_m2s_lq, psF32 iq_m2s_uq, psF32 iq_m3, psF32 iq_m3_err, psF32 iq_m3_lq, psF32 iq_m3_uq, psF32 iq_m4, psF32 iq_m4_err, psF32 iq_m4_lq, psF32 iq_m4_uq, psF32 dtime_detrend, psF32 dtime_photom, psF32 dtime_total, psF32 dtime_script, const char *hostname, psS32 n_stars, psS32 n_psfstars, psS32 n_iqstars, psS32 n_extended, psS32 n_cr, const char *path_base, psS16 fault) 6952 7231 { 6953 7232 chipProcessedImfileRow *_object; … … 6959 7238 _object->exp_id = exp_id; 6960 7239 _object->class_id = psStringCopy(class_id); 7240 _object->data_state = psStringCopy(data_state); 6961 7241 _object->uri = psStringCopy(uri); 6962 7242 _object->bg = bg; … … 6968 7248 _object->fringe_1 = fringe_1; 6969 7249 _object->fringe_2 = fringe_2; 6970 _object->sigma_ra = sigma_ra;6971 _object->sigma_dec = sigma_dec;6972 7250 _object->ap_resid = ap_resid; 6973 7251 _object->ap_resid_stdev = ap_resid_stdev; 6974 _object->zp_mean = zp_mean;6975 _object->zp_stdev = zp_stdev;6976 7252 _object->fwhm_major = fwhm_major; 6977 7253 _object->fwhm_minor = fwhm_minor; 7254 _object->iq_m2 = iq_m2; 7255 _object->iq_m2_err = iq_m2_err; 7256 _object->iq_m2_lq = iq_m2_lq; 7257 _object->iq_m2_uq = iq_m2_uq; 7258 _object->iq_m2c = iq_m2c; 7259 _object->iq_m2c_err = iq_m2c_err; 7260 _object->iq_m2c_lq = iq_m2c_lq; 7261 _object->iq_m2c_uq = iq_m2c_uq; 7262 _object->iq_m2s = iq_m2s; 7263 _object->iq_m2s_err = iq_m2s_err; 7264 _object->iq_m2s_lq = iq_m2s_lq; 7265 _object->iq_m2s_uq = iq_m2s_uq; 7266 _object->iq_m3 = iq_m3; 7267 _object->iq_m3_err = iq_m3_err; 7268 _object->iq_m3_lq = iq_m3_lq; 7269 _object->iq_m3_uq = iq_m3_uq; 7270 _object->iq_m4 = iq_m4; 7271 _object->iq_m4_err = iq_m4_err; 7272 _object->iq_m4_lq = iq_m4_lq; 7273 _object->iq_m4_uq = iq_m4_uq; 6978 7274 _object->dtime_detrend = dtime_detrend; 6979 7275 _object->dtime_photom = dtime_photom; 6980 _object->dtime_astrom = dtime_astrom; 7276 _object->dtime_total = dtime_total; 7277 _object->dtime_script = dtime_script; 6981 7278 _object->hostname = psStringCopy(hostname); 6982 7279 _object->n_stars = n_stars; 7280 _object->n_psfstars = n_psfstars; 7281 _object->n_iqstars = n_iqstars; 6983 7282 _object->n_extended = n_extended; 6984 7283 _object->n_cr = n_cr; 6985 _object->n_astrom = n_astrom;6986 7284 _object->path_base = psStringCopy(path_base); 6987 7285 _object->fault = fault; … … 6993 7291 { 6994 7292 psFree(object->class_id); 7293 psFree(object->data_state); 6995 7294 psFree(object->uri); 6996 7295 psFree(object->hostname); … … 7016 7315 return false; 7017 7316 } 7317 if (!psMetadataAdd(md, PS_LIST_TAIL, "data_state", PS_DATA_STRING, "Key", "64")) { 7318 psError(PS_ERR_UNKNOWN, false, "failed to add item data_state"); 7319 psFree(md); 7320 return false; 7321 } 7018 7322 if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, "255")) { 7019 7323 psError(PS_ERR_UNKNOWN, false, "failed to add item uri"); … … 7061 7365 return false; 7062 7366 } 7063 if (!psMetadataAdd(md, PS_LIST_TAIL, "sigma_ra", PS_DATA_F32, NULL, 0.0)) {7064 psError(PS_ERR_UNKNOWN, false, "failed to add item sigma_ra");7065 psFree(md);7066 return false;7067 }7068 if (!psMetadataAdd(md, PS_LIST_TAIL, "sigma_dec", PS_DATA_F32, NULL, 0.0)) {7069 psError(PS_ERR_UNKNOWN, false, "failed to add item sigma_dec");7070 psFree(md);7071 return false;7072 }7073 7367 if (!psMetadataAdd(md, PS_LIST_TAIL, "ap_resid", PS_DATA_F32, NULL, 0.0)) { 7074 7368 psError(PS_ERR_UNKNOWN, false, "failed to add item ap_resid"); … … 7081 7375 return false; 7082 7376 } 7083 if (!psMetadataAdd(md, PS_LIST_TAIL, "zp_mean", PS_DATA_F32, NULL, 0.0)) {7084 psError(PS_ERR_UNKNOWN, false, "failed to add item zp_mean");7085 psFree(md);7086 return false;7087 }7088 if (!psMetadataAdd(md, PS_LIST_TAIL, "zp_stdev", PS_DATA_F32, NULL, 0.0)) {7089 psError(PS_ERR_UNKNOWN, false, "failed to add item zp_stdev");7090 psFree(md);7091 return false;7092 }7093 7377 if (!psMetadataAdd(md, PS_LIST_TAIL, "fwhm_major", PS_DATA_F32, NULL, 0.0)) { 7094 7378 psError(PS_ERR_UNKNOWN, false, "failed to add item fwhm_major"); … … 7101 7385 return false; 7102 7386 } 7387 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2", PS_DATA_F32, NULL, 0.0)) { 7388 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2"); 7389 psFree(md); 7390 return false; 7391 } 7392 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2_err", PS_DATA_F32, NULL, 0.0)) { 7393 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2_err"); 7394 psFree(md); 7395 return false; 7396 } 7397 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2_lq", PS_DATA_F32, NULL, 0.0)) { 7398 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2_lq"); 7399 psFree(md); 7400 return false; 7401 } 7402 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2_uq", PS_DATA_F32, NULL, 0.0)) { 7403 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2_uq"); 7404 psFree(md); 7405 return false; 7406 } 7407 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2c", PS_DATA_F32, NULL, 0.0)) { 7408 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2c"); 7409 psFree(md); 7410 return false; 7411 } 7412 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2c_err", PS_DATA_F32, NULL, 0.0)) { 7413 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2c_err"); 7414 psFree(md); 7415 return false; 7416 } 7417 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2c_lq", PS_DATA_F32, NULL, 0.0)) { 7418 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2c_lq"); 7419 psFree(md); 7420 return false; 7421 } 7422 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2c_uq", PS_DATA_F32, NULL, 0.0)) { 7423 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2c_uq"); 7424 psFree(md); 7425 return false; 7426 } 7427 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2s", PS_DATA_F32, NULL, 0.0)) { 7428 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2s"); 7429 psFree(md); 7430 return false; 7431 } 7432 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2s_err", PS_DATA_F32, NULL, 0.0)) { 7433 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2s_err"); 7434 psFree(md); 7435 return false; 7436 } 7437 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2s_lq", PS_DATA_F32, NULL, 0.0)) { 7438 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2s_lq"); 7439 psFree(md); 7440 return false; 7441 } 7442 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2s_uq", PS_DATA_F32, NULL, 0.0)) { 7443 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2s_uq"); 7444 psFree(md); 7445 return false; 7446 } 7447 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m3", PS_DATA_F32, NULL, 0.0)) { 7448 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m3"); 7449 psFree(md); 7450 return false; 7451 } 7452 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m3_err", PS_DATA_F32, NULL, 0.0)) { 7453 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m3_err"); 7454 psFree(md); 7455 return false; 7456 } 7457 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m3_lq", PS_DATA_F32, NULL, 0.0)) { 7458 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m3_lq"); 7459 psFree(md); 7460 return false; 7461 } 7462 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m3_uq", PS_DATA_F32, NULL, 0.0)) { 7463 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m3_uq"); 7464 psFree(md); 7465 return false; 7466 } 7467 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m4", PS_DATA_F32, NULL, 0.0)) { 7468 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m4"); 7469 psFree(md); 7470 return false; 7471 } 7472 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m4_err", PS_DATA_F32, NULL, 0.0)) { 7473 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m4_err"); 7474 psFree(md); 7475 return false; 7476 } 7477 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m4_lq", PS_DATA_F32, NULL, 0.0)) { 7478 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m4_lq"); 7479 psFree(md); 7480 return false; 7481 } 7482 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m4_uq", PS_DATA_F32, NULL, 0.0)) { 7483 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m4_uq"); 7484 psFree(md); 7485 return false; 7486 } 7103 7487 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_detrend", PS_DATA_F32, NULL, 0.0)) { 7104 7488 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_detrend"); … … 7111 7495 return false; 7112 7496 } 7113 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_astrom", PS_DATA_F32, NULL, 0.0)) { 7114 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_astrom"); 7497 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_total", PS_DATA_F32, NULL, 0.0)) { 7498 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_total"); 7499 psFree(md); 7500 return false; 7501 } 7502 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_script", PS_DATA_F32, NULL, 0.0)) { 7503 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_script"); 7115 7504 psFree(md); 7116 7505 return false; … … 7126 7515 return false; 7127 7516 } 7517 if (!psMetadataAdd(md, PS_LIST_TAIL, "n_psfstars", PS_DATA_S32, NULL, 0)) { 7518 psError(PS_ERR_UNKNOWN, false, "failed to add item n_psfstars"); 7519 psFree(md); 7520 return false; 7521 } 7522 if (!psMetadataAdd(md, PS_LIST_TAIL, "n_iqstars", PS_DATA_S32, NULL, 0)) { 7523 psError(PS_ERR_UNKNOWN, false, "failed to add item n_iqstars"); 7524 psFree(md); 7525 return false; 7526 } 7128 7527 if (!psMetadataAdd(md, PS_LIST_TAIL, "n_extended", PS_DATA_S32, NULL, 0)) { 7129 7528 psError(PS_ERR_UNKNOWN, false, "failed to add item n_extended"); … … 7136 7535 return false; 7137 7536 } 7138 if (!psMetadataAdd(md, PS_LIST_TAIL, "n_astrom", PS_DATA_S32, NULL, 0)) {7139 psError(PS_ERR_UNKNOWN, false, "failed to add item n_astrom");7140 psFree(md);7141 return false;7142 }7143 7537 if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, "255")) { 7144 7538 psError(PS_ERR_UNKNOWN, false, "failed to add item path_base"); … … 7164 7558 } 7165 7559 7166 bool chipProcessedImfileInsert(psDB * dbh, psS64 chip_id, psS64 exp_id, const char *class_id, const char * uri, psF32 bg, psF32 bg_stdev, psF32 bg_mean_stdev, psF32 bias, psF32 bias_stdev, psF32 fringe_0, psF32 fringe_1, psF32 fringe_2, psF32 sigma_ra, psF32 sigma_dec, psF32 ap_resid, psF32 ap_resid_stdev, psF32 zp_mean, psF32 zp_stdev, psF32 fwhm_major, psF32 fwhm_minor, psF32 dtime_detrend, psF32 dtime_photom, psF32 dtime_astrom, const char *hostname, psS32 n_stars, psS32 n_extended, psS32 n_cr, psS32 n_astrom, const char *path_base, psS16 fault)7560 bool chipProcessedImfileInsert(psDB * dbh, psS64 chip_id, psS64 exp_id, const char *class_id, const char *data_state, const char *uri, psF32 bg, psF32 bg_stdev, psF32 bg_mean_stdev, psF32 bias, psF32 bias_stdev, psF32 fringe_0, psF32 fringe_1, psF32 fringe_2, psF32 ap_resid, psF32 ap_resid_stdev, psF32 fwhm_major, psF32 fwhm_minor, psF32 iq_m2, psF32 iq_m2_err, psF32 iq_m2_lq, psF32 iq_m2_uq, psF32 iq_m2c, psF32 iq_m2c_err, psF32 iq_m2c_lq, psF32 iq_m2c_uq, psF32 iq_m2s, psF32 iq_m2s_err, psF32 iq_m2s_lq, psF32 iq_m2s_uq, psF32 iq_m3, psF32 iq_m3_err, psF32 iq_m3_lq, psF32 iq_m3_uq, psF32 iq_m4, psF32 iq_m4_err, psF32 iq_m4_lq, psF32 iq_m4_uq, psF32 dtime_detrend, psF32 dtime_photom, psF32 dtime_total, psF32 dtime_script, const char *hostname, psS32 n_stars, psS32 n_psfstars, psS32 n_iqstars, psS32 n_extended, psS32 n_cr, const char *path_base, psS16 fault) 7167 7561 { 7168 7562 psMetadata *md = psMetadataAlloc(); … … 7182 7576 return false; 7183 7577 } 7578 if (!psMetadataAdd(md, PS_LIST_TAIL, "data_state", PS_DATA_STRING, NULL, data_state)) { 7579 psError(PS_ERR_UNKNOWN, false, "failed to add item data_state"); 7580 psFree(md); 7581 return false; 7582 } 7184 7583 if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, uri)) { 7185 7584 psError(PS_ERR_UNKNOWN, false, "failed to add item uri"); … … 7227 7626 return false; 7228 7627 } 7229 if (!psMetadataAdd(md, PS_LIST_TAIL, "sigma_ra", PS_DATA_F32, NULL, sigma_ra)) {7230 psError(PS_ERR_UNKNOWN, false, "failed to add item sigma_ra");7231 psFree(md);7232 return false;7233 }7234 if (!psMetadataAdd(md, PS_LIST_TAIL, "sigma_dec", PS_DATA_F32, NULL, sigma_dec)) {7235 psError(PS_ERR_UNKNOWN, false, "failed to add item sigma_dec");7236 psFree(md);7237 return false;7238 }7239 7628 if (!psMetadataAdd(md, PS_LIST_TAIL, "ap_resid", PS_DATA_F32, NULL, ap_resid)) { 7240 7629 psError(PS_ERR_UNKNOWN, false, "failed to add item ap_resid"); … … 7247 7636 return false; 7248 7637 } 7249 if (!psMetadataAdd(md, PS_LIST_TAIL, "zp_mean", PS_DATA_F32, NULL, zp_mean)) {7250 psError(PS_ERR_UNKNOWN, false, "failed to add item zp_mean");7251 psFree(md);7252 return false;7253 }7254 if (!psMetadataAdd(md, PS_LIST_TAIL, "zp_stdev", PS_DATA_F32, NULL, zp_stdev)) {7255 psError(PS_ERR_UNKNOWN, false, "failed to add item zp_stdev");7256 psFree(md);7257 return false;7258 }7259 7638 if (!psMetadataAdd(md, PS_LIST_TAIL, "fwhm_major", PS_DATA_F32, NULL, fwhm_major)) { 7260 7639 psError(PS_ERR_UNKNOWN, false, "failed to add item fwhm_major"); … … 7267 7646 return false; 7268 7647 } 7648 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2", PS_DATA_F32, NULL, iq_m2)) { 7649 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2"); 7650 psFree(md); 7651 return false; 7652 } 7653 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2_err", PS_DATA_F32, NULL, iq_m2_err)) { 7654 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2_err"); 7655 psFree(md); 7656 return false; 7657 } 7658 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2_lq", PS_DATA_F32, NULL, iq_m2_lq)) { 7659 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2_lq"); 7660 psFree(md); 7661 return false; 7662 } 7663 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2_uq", PS_DATA_F32, NULL, iq_m2_uq)) { 7664 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2_uq"); 7665 psFree(md); 7666 return false; 7667 } 7668 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2c", PS_DATA_F32, NULL, iq_m2c)) { 7669 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2c"); 7670 psFree(md); 7671 return false; 7672 } 7673 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2c_err", PS_DATA_F32, NULL, iq_m2c_err)) { 7674 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2c_err"); 7675 psFree(md); 7676 return false; 7677 } 7678 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2c_lq", PS_DATA_F32, NULL, iq_m2c_lq)) { 7679 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2c_lq"); 7680 psFree(md); 7681 return false; 7682 } 7683 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2c_uq", PS_DATA_F32, NULL, iq_m2c_uq)) { 7684 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2c_uq"); 7685 psFree(md); 7686 return false; 7687 } 7688 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2s", PS_DATA_F32, NULL, iq_m2s)) { 7689 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2s"); 7690 psFree(md); 7691 return false; 7692 } 7693 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2s_err", PS_DATA_F32, NULL, iq_m2s_err)) { 7694 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2s_err"); 7695 psFree(md); 7696 return false; 7697 } 7698 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2s_lq", PS_DATA_F32, NULL, iq_m2s_lq)) { 7699 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2s_lq"); 7700 psFree(md); 7701 return false; 7702 } 7703 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2s_uq", PS_DATA_F32, NULL, iq_m2s_uq)) { 7704 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2s_uq"); 7705 psFree(md); 7706 return false; 7707 } 7708 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m3", PS_DATA_F32, NULL, iq_m3)) { 7709 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m3"); 7710 psFree(md); 7711 return false; 7712 } 7713 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m3_err", PS_DATA_F32, NULL, iq_m3_err)) { 7714 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m3_err"); 7715 psFree(md); 7716 return false; 7717 } 7718 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m3_lq", PS_DATA_F32, NULL, iq_m3_lq)) { 7719 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m3_lq"); 7720 psFree(md); 7721 return false; 7722 } 7723 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m3_uq", PS_DATA_F32, NULL, iq_m3_uq)) { 7724 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m3_uq"); 7725 psFree(md); 7726 return false; 7727 } 7728 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m4", PS_DATA_F32, NULL, iq_m4)) { 7729 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m4"); 7730 psFree(md); 7731 return false; 7732 } 7733 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m4_err", PS_DATA_F32, NULL, iq_m4_err)) { 7734 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m4_err"); 7735 psFree(md); 7736 return false; 7737 } 7738 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m4_lq", PS_DATA_F32, NULL, iq_m4_lq)) { 7739 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m4_lq"); 7740 psFree(md); 7741 return false; 7742 } 7743 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m4_uq", PS_DATA_F32, NULL, iq_m4_uq)) { 7744 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m4_uq"); 7745 psFree(md); 7746 return false; 7747 } 7269 7748 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_detrend", PS_DATA_F32, NULL, dtime_detrend)) { 7270 7749 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_detrend"); … … 7277 7756 return false; 7278 7757 } 7279 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_astrom", PS_DATA_F32, NULL, dtime_astrom)) { 7280 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_astrom"); 7758 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_total", PS_DATA_F32, NULL, dtime_total)) { 7759 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_total"); 7760 psFree(md); 7761 return false; 7762 } 7763 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_script", PS_DATA_F32, NULL, dtime_script)) { 7764 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_script"); 7281 7765 psFree(md); 7282 7766 return false; … … 7292 7776 return false; 7293 7777 } 7778 if (!psMetadataAdd(md, PS_LIST_TAIL, "n_psfstars", PS_DATA_S32, NULL, n_psfstars)) { 7779 psError(PS_ERR_UNKNOWN, false, "failed to add item n_psfstars"); 7780 psFree(md); 7781 return false; 7782 } 7783 if (!psMetadataAdd(md, PS_LIST_TAIL, "n_iqstars", PS_DATA_S32, NULL, n_iqstars)) { 7784 psError(PS_ERR_UNKNOWN, false, "failed to add item n_iqstars"); 7785 psFree(md); 7786 return false; 7787 } 7294 7788 if (!psMetadataAdd(md, PS_LIST_TAIL, "n_extended", PS_DATA_S32, NULL, n_extended)) { 7295 7789 psError(PS_ERR_UNKNOWN, false, "failed to add item n_extended"); … … 7299 7793 if (!psMetadataAdd(md, PS_LIST_TAIL, "n_cr", PS_DATA_S32, NULL, n_cr)) { 7300 7794 psError(PS_ERR_UNKNOWN, false, "failed to add item n_cr"); 7301 psFree(md);7302 return false;7303 }7304 if (!psMetadataAdd(md, PS_LIST_TAIL, "n_astrom", PS_DATA_S32, NULL, n_astrom)) {7305 psError(PS_ERR_UNKNOWN, false, "failed to add item n_astrom");7306 7795 psFree(md); 7307 7796 return false; … … 7340 7829 bool chipProcessedImfileInsertObject(psDB *dbh, chipProcessedImfileRow *object) 7341 7830 { 7342 return chipProcessedImfileInsert(dbh, object->chip_id, object->exp_id, object->class_id, object-> uri, object->bg, object->bg_stdev, object->bg_mean_stdev, object->bias, object->bias_stdev, object->fringe_0, object->fringe_1, object->fringe_2, object->sigma_ra, object->sigma_dec, object->ap_resid, object->ap_resid_stdev, object->zp_mean, object->zp_stdev, object->fwhm_major, object->fwhm_minor, object->dtime_detrend, object->dtime_photom, object->dtime_astrom, object->hostname, object->n_stars, object->n_extended, object->n_cr, object->n_astrom, object->path_base, object->fault);7831 return chipProcessedImfileInsert(dbh, object->chip_id, object->exp_id, object->class_id, object->data_state, object->uri, object->bg, object->bg_stdev, object->bg_mean_stdev, object->bias, object->bias_stdev, object->fringe_0, object->fringe_1, object->fringe_2, object->ap_resid, object->ap_resid_stdev, object->fwhm_major, object->fwhm_minor, object->iq_m2, object->iq_m2_err, object->iq_m2_lq, object->iq_m2_uq, object->iq_m2c, object->iq_m2c_err, object->iq_m2c_lq, object->iq_m2c_uq, object->iq_m2s, object->iq_m2s_err, object->iq_m2s_lq, object->iq_m2s_uq, object->iq_m3, object->iq_m3_err, object->iq_m3_lq, object->iq_m3_uq, object->iq_m4, object->iq_m4_err, object->iq_m4_lq, object->iq_m4_uq, object->dtime_detrend, object->dtime_photom, object->dtime_total, object->dtime_script, object->hostname, object->n_stars, object->n_psfstars, object->n_iqstars, object->n_extended, object->n_cr, object->path_base, object->fault); 7343 7832 } 7344 7833 … … 7428 7917 return false; 7429 7918 } 7919 if (!psMetadataAdd(md, PS_LIST_TAIL, "data_state", PS_DATA_STRING, NULL, object->data_state)) { 7920 psError(PS_ERR_UNKNOWN, false, "failed to add item data_state"); 7921 psFree(md); 7922 return false; 7923 } 7430 7924 if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, object->uri)) { 7431 7925 psError(PS_ERR_UNKNOWN, false, "failed to add item uri"); … … 7473 7967 return false; 7474 7968 } 7475 if (!psMetadataAdd(md, PS_LIST_TAIL, "sigma_ra", PS_DATA_F32, NULL, object->sigma_ra)) {7476 psError(PS_ERR_UNKNOWN, false, "failed to add item sigma_ra");7477 psFree(md);7478 return false;7479 }7480 if (!psMetadataAdd(md, PS_LIST_TAIL, "sigma_dec", PS_DATA_F32, NULL, object->sigma_dec)) {7481 psError(PS_ERR_UNKNOWN, false, "failed to add item sigma_dec");7482 psFree(md);7483 return false;7484 }7485 7969 if (!psMetadataAdd(md, PS_LIST_TAIL, "ap_resid", PS_DATA_F32, NULL, object->ap_resid)) { 7486 7970 psError(PS_ERR_UNKNOWN, false, "failed to add item ap_resid"); … … 7493 7977 return false; 7494 7978 } 7495 if (!psMetadataAdd(md, PS_LIST_TAIL, "zp_mean", PS_DATA_F32, NULL, object->zp_mean)) {7496 psError(PS_ERR_UNKNOWN, false, "failed to add item zp_mean");7497 psFree(md);7498 return false;7499 }7500 if (!psMetadataAdd(md, PS_LIST_TAIL, "zp_stdev", PS_DATA_F32, NULL, object->zp_stdev)) {7501 psError(PS_ERR_UNKNOWN, false, "failed to add item zp_stdev");7502 psFree(md);7503 return false;7504 }7505 7979 if (!psMetadataAdd(md, PS_LIST_TAIL, "fwhm_major", PS_DATA_F32, NULL, object->fwhm_major)) { 7506 7980 psError(PS_ERR_UNKNOWN, false, "failed to add item fwhm_major"); … … 7513 7987 return false; 7514 7988 } 7989 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2", PS_DATA_F32, NULL, object->iq_m2)) { 7990 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2"); 7991 psFree(md); 7992 return false; 7993 } 7994 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2_err", PS_DATA_F32, NULL, object->iq_m2_err)) { 7995 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2_err"); 7996 psFree(md); 7997 return false; 7998 } 7999 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2_lq", PS_DATA_F32, NULL, object->iq_m2_lq)) { 8000 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2_lq"); 8001 psFree(md); 8002 return false; 8003 } 8004 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2_uq", PS_DATA_F32, NULL, object->iq_m2_uq)) { 8005 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2_uq"); 8006 psFree(md); 8007 return false; 8008 } 8009 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2c", PS_DATA_F32, NULL, object->iq_m2c)) { 8010 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2c"); 8011 psFree(md); 8012 return false; 8013 } 8014 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2c_err", PS_DATA_F32, NULL, object->iq_m2c_err)) { 8015 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2c_err"); 8016 psFree(md); 8017 return false; 8018 } 8019 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2c_lq", PS_DATA_F32, NULL, object->iq_m2c_lq)) { 8020 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2c_lq"); 8021 psFree(md); 8022 return false; 8023 } 8024 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2c_uq", PS_DATA_F32, NULL, object->iq_m2c_uq)) { 8025 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2c_uq"); 8026 psFree(md); 8027 return false; 8028 } 8029 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2s", PS_DATA_F32, NULL, object->iq_m2s)) { 8030 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2s"); 8031 psFree(md); 8032 return false; 8033 } 8034 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2s_err", PS_DATA_F32, NULL, object->iq_m2s_err)) { 8035 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2s_err"); 8036 psFree(md); 8037 return false; 8038 } 8039 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2s_lq", PS_DATA_F32, NULL, object->iq_m2s_lq)) { 8040 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2s_lq"); 8041 psFree(md); 8042 return false; 8043 } 8044 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2s_uq", PS_DATA_F32, NULL, object->iq_m2s_uq)) { 8045 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2s_uq"); 8046 psFree(md); 8047 return false; 8048 } 8049 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m3", PS_DATA_F32, NULL, object->iq_m3)) { 8050 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m3"); 8051 psFree(md); 8052 return false; 8053 } 8054 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m3_err", PS_DATA_F32, NULL, object->iq_m3_err)) { 8055 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m3_err"); 8056 psFree(md); 8057 return false; 8058 } 8059 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m3_lq", PS_DATA_F32, NULL, object->iq_m3_lq)) { 8060 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m3_lq"); 8061 psFree(md); 8062 return false; 8063 } 8064 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m3_uq", PS_DATA_F32, NULL, object->iq_m3_uq)) { 8065 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m3_uq"); 8066 psFree(md); 8067 return false; 8068 } 8069 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m4", PS_DATA_F32, NULL, object->iq_m4)) { 8070 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m4"); 8071 psFree(md); 8072 return false; 8073 } 8074 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m4_err", PS_DATA_F32, NULL, object->iq_m4_err)) { 8075 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m4_err"); 8076 psFree(md); 8077 return false; 8078 } 8079 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m4_lq", PS_DATA_F32, NULL, object->iq_m4_lq)) { 8080 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m4_lq"); 8081 psFree(md); 8082 return false; 8083 } 8084 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m4_uq", PS_DATA_F32, NULL, object->iq_m4_uq)) { 8085 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m4_uq"); 8086 psFree(md); 8087 return false; 8088 } 7515 8089 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_detrend", PS_DATA_F32, NULL, object->dtime_detrend)) { 7516 8090 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_detrend"); … … 7523 8097 return false; 7524 8098 } 7525 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_astrom", PS_DATA_F32, NULL, object->dtime_astrom)) { 7526 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_astrom"); 8099 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_total", PS_DATA_F32, NULL, object->dtime_total)) { 8100 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_total"); 8101 psFree(md); 8102 return false; 8103 } 8104 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_script", PS_DATA_F32, NULL, object->dtime_script)) { 8105 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_script"); 7527 8106 psFree(md); 7528 8107 return false; … … 7538 8117 return false; 7539 8118 } 8119 if (!psMetadataAdd(md, PS_LIST_TAIL, "n_psfstars", PS_DATA_S32, NULL, object->n_psfstars)) { 8120 psError(PS_ERR_UNKNOWN, false, "failed to add item n_psfstars"); 8121 psFree(md); 8122 return false; 8123 } 8124 if (!psMetadataAdd(md, PS_LIST_TAIL, "n_iqstars", PS_DATA_S32, NULL, object->n_iqstars)) { 8125 psError(PS_ERR_UNKNOWN, false, "failed to add item n_iqstars"); 8126 psFree(md); 8127 return false; 8128 } 7540 8129 if (!psMetadataAdd(md, PS_LIST_TAIL, "n_extended", PS_DATA_S32, NULL, object->n_extended)) { 7541 8130 psError(PS_ERR_UNKNOWN, false, "failed to add item n_extended"); … … 7548 8137 return false; 7549 8138 } 7550 if (!psMetadataAdd(md, PS_LIST_TAIL, "n_astrom", PS_DATA_S32, NULL, object->n_astrom)) {7551 psError(PS_ERR_UNKNOWN, false, "failed to add item n_astrom");7552 psFree(md);7553 return false;7554 }7555 8139 if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, object->path_base)) { 7556 8140 psError(PS_ERR_UNKNOWN, false, "failed to add item path_base"); … … 7587 8171 return false; 7588 8172 } 8173 char* data_state = psMetadataLookupPtr(&status, md, "data_state"); 8174 if (!status) { 8175 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item data_state"); 8176 return false; 8177 } 7589 8178 char* uri = psMetadataLookupPtr(&status, md, "uri"); 7590 8179 if (!status) { … … 7632 8221 return false; 7633 8222 } 7634 psF32 sigma_ra = psMetadataLookupF32(&status, md, "sigma_ra");7635 if (!status) {7636 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item sigma_ra");7637 return false;7638 }7639 psF32 sigma_dec = psMetadataLookupF32(&status, md, "sigma_dec");7640 if (!status) {7641 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item sigma_dec");7642 return false;7643 }7644 8223 psF32 ap_resid = psMetadataLookupF32(&status, md, "ap_resid"); 7645 8224 if (!status) { … … 7652 8231 return false; 7653 8232 } 7654 psF32 zp_mean = psMetadataLookupF32(&status, md, "zp_mean");7655 if (!status) {7656 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item zp_mean");7657 return false;7658 }7659 psF32 zp_stdev = psMetadataLookupF32(&status, md, "zp_stdev");7660 if (!status) {7661 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item zp_stdev");7662 return false;7663 }7664 8233 psF32 fwhm_major = psMetadataLookupF32(&status, md, "fwhm_major"); 7665 8234 if (!status) { … … 7672 8241 return false; 7673 8242 } 8243 psF32 iq_m2 = psMetadataLookupF32(&status, md, "iq_m2"); 8244 if (!status) { 8245 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iq_m2"); 8246 return false; 8247 } 8248 psF32 iq_m2_err = psMetadataLookupF32(&status, md, "iq_m2_err"); 8249 if (!status) { 8250 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iq_m2_err"); 8251 return false; 8252 } 8253 psF32 iq_m2_lq = psMetadataLookupF32(&status, md, "iq_m2_lq"); 8254 if (!status) { 8255 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iq_m2_lq"); 8256 return false; 8257 } 8258 psF32 iq_m2_uq = psMetadataLookupF32(&status, md, "iq_m2_uq"); 8259 if (!status) { 8260 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iq_m2_uq"); 8261 return false; 8262 } 8263 psF32 iq_m2c = psMetadataLookupF32(&status, md, "iq_m2c"); 8264 if (!status) { 8265 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iq_m2c"); 8266 return false; 8267 } 8268 psF32 iq_m2c_err = psMetadataLookupF32(&status, md, "iq_m2c_err"); 8269 if (!status) { 8270 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iq_m2c_err"); 8271 return false; 8272 } 8273 psF32 iq_m2c_lq = psMetadataLookupF32(&status, md, "iq_m2c_lq"); 8274 if (!status) { 8275 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iq_m2c_lq"); 8276 return false; 8277 } 8278 psF32 iq_m2c_uq = psMetadataLookupF32(&status, md, "iq_m2c_uq"); 8279 if (!status) { 8280 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iq_m2c_uq"); 8281 return false; 8282 } 8283 psF32 iq_m2s = psMetadataLookupF32(&status, md, "iq_m2s"); 8284 if (!status) { 8285 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iq_m2s"); 8286 return false; 8287 } 8288 psF32 iq_m2s_err = psMetadataLookupF32(&status, md, "iq_m2s_err"); 8289 if (!status) { 8290 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iq_m2s_err"); 8291 return false; 8292 } 8293 psF32 iq_m2s_lq = psMetadataLookupF32(&status, md, "iq_m2s_lq"); 8294 if (!status) { 8295 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iq_m2s_lq"); 8296 return false; 8297 } 8298 psF32 iq_m2s_uq = psMetadataLookupF32(&status, md, "iq_m2s_uq"); 8299 if (!status) { 8300 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iq_m2s_uq"); 8301 return false; 8302 } 8303 psF32 iq_m3 = psMetadataLookupF32(&status, md, "iq_m3"); 8304 if (!status) { 8305 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iq_m3"); 8306 return false; 8307 } 8308 psF32 iq_m3_err = psMetadataLookupF32(&status, md, "iq_m3_err"); 8309 if (!status) { 8310 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iq_m3_err"); 8311 return false; 8312 } 8313 psF32 iq_m3_lq = psMetadataLookupF32(&status, md, "iq_m3_lq"); 8314 if (!status) { 8315 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iq_m3_lq"); 8316 return false; 8317 } 8318 psF32 iq_m3_uq = psMetadataLookupF32(&status, md, "iq_m3_uq"); 8319 if (!status) { 8320 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iq_m3_uq"); 8321 return false; 8322 } 8323 psF32 iq_m4 = psMetadataLookupF32(&status, md, "iq_m4"); 8324 if (!status) { 8325 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iq_m4"); 8326 return false; 8327 } 8328 psF32 iq_m4_err = psMetadataLookupF32(&status, md, "iq_m4_err"); 8329 if (!status) { 8330 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iq_m4_err"); 8331 return false; 8332 } 8333 psF32 iq_m4_lq = psMetadataLookupF32(&status, md, "iq_m4_lq"); 8334 if (!status) { 8335 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iq_m4_lq"); 8336 return false; 8337 } 8338 psF32 iq_m4_uq = psMetadataLookupF32(&status, md, "iq_m4_uq"); 8339 if (!status) { 8340 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iq_m4_uq"); 8341 return false; 8342 } 7674 8343 psF32 dtime_detrend = psMetadataLookupF32(&status, md, "dtime_detrend"); 7675 8344 if (!status) { … … 7682 8351 return false; 7683 8352 } 7684 psF32 dtime_astrom = psMetadataLookupF32(&status, md, "dtime_astrom"); 7685 if (!status) { 7686 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item dtime_astrom"); 8353 psF32 dtime_total = psMetadataLookupF32(&status, md, "dtime_total"); 8354 if (!status) { 8355 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item dtime_total"); 8356 return false; 8357 } 8358 psF32 dtime_script = psMetadataLookupF32(&status, md, "dtime_script"); 8359 if (!status) { 8360 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item dtime_script"); 7687 8361 return false; 7688 8362 } … … 7697 8371 return false; 7698 8372 } 8373 psS32 n_psfstars = psMetadataLookupS32(&status, md, "n_psfstars"); 8374 if (!status) { 8375 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item n_psfstars"); 8376 return false; 8377 } 8378 psS32 n_iqstars = psMetadataLookupS32(&status, md, "n_iqstars"); 8379 if (!status) { 8380 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item n_iqstars"); 8381 return false; 8382 } 7699 8383 psS32 n_extended = psMetadataLookupS32(&status, md, "n_extended"); 7700 8384 if (!status) { … … 7707 8391 return false; 7708 8392 } 7709 psS32 n_astrom = psMetadataLookupS32(&status, md, "n_astrom");7710 if (!status) {7711 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item n_astrom");7712 return false;7713 }7714 8393 char* path_base = psMetadataLookupPtr(&status, md, "path_base"); 7715 8394 if (!status) { … … 7723 8402 } 7724 8403 7725 return chipProcessedImfileRowAlloc(chip_id, exp_id, class_id, uri, bg, bg_stdev, bg_mean_stdev, bias, bias_stdev, fringe_0, fringe_1, fringe_2, sigma_ra, sigma_dec, ap_resid, ap_resid_stdev, zp_mean, zp_stdev, fwhm_major, fwhm_minor, dtime_detrend, dtime_photom, dtime_astrom, hostname, n_stars, n_extended, n_cr, n_astrom, path_base, fault);8404 return chipProcessedImfileRowAlloc(chip_id, exp_id, class_id, data_state, uri, bg, bg_stdev, bg_mean_stdev, bias, bias_stdev, fringe_0, fringe_1, fringe_2, ap_resid, ap_resid_stdev, fwhm_major, fwhm_minor, iq_m2, iq_m2_err, iq_m2_lq, iq_m2_uq, iq_m2c, iq_m2c_err, iq_m2c_lq, iq_m2c_uq, iq_m2s, iq_m2s_err, iq_m2s_lq, iq_m2s_uq, iq_m3, iq_m3_err, iq_m3_lq, iq_m3_uq, iq_m4, iq_m4_err, iq_m4_lq, iq_m4_uq, dtime_detrend, dtime_photom, dtime_total, dtime_script, hostname, n_stars, n_psfstars, n_iqstars, n_extended, n_cr, path_base, fault); 7726 8405 } 7727 8406 psArray *chipProcessedImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) … … 8619 9298 static void camProcessedExpRowFree(camProcessedExpRow *object); 8620 9299 8621 camProcessedExpRow *camProcessedExpRowAlloc(psS64 cam_id, const char *uri, psF32 bg, psF32 bg_stdev, psF32 bg_mean_stdev, psF32 bias, psF32 bias_stdev, psF32 fringe_0, psF32 fringe_1, psF32 fringe_2, psF32 sigma_ra, psF32 sigma_dec, psF32 ap_resid, psF32 ap_resid_stdev, psF32 zp_mean, psF32 zp_stdev, psF32 fwhm_major, psF32 fwhm_minor, psF32 dtime_detrend, psF32 dtime_photom, psF32 dtime_astrom, const char *hostname, psS32 n_stars, psS32 n_extended, psS32 n_cr, psS32 n_astrom, const char *path_base, psS16 fault)9300 camProcessedExpRow *camProcessedExpRowAlloc(psS64 cam_id, const char *uri, psF32 bg, psF32 bg_stdev, psF32 bg_mean_stdev, psF32 bias, psF32 bias_stdev, psF32 fringe_0, psF32 fringe_1, psF32 fringe_2, psF32 sigma_ra, psF32 sigma_dec, psF32 ap_resid, psF32 ap_resid_stdev, psF32 zp_mean, psF32 zp_stdev, psF32 fwhm_major, psF32 fwhm_minor, psF32 iq_m2, psF32 iq_m2_err, psF32 iq_m2_lq, psF32 iq_m2_uq, psF32 iq_m2c, psF32 iq_m2c_err, psF32 iq_m2c_lq, psF32 iq_m2c_uq, psF32 iq_m2s, psF32 iq_m2s_err, psF32 iq_m2s_lq, psF32 iq_m2s_uq, psF32 iq_m3, psF32 iq_m3_err, psF32 iq_m3_lq, psF32 iq_m3_uq, psF32 iq_m4, psF32 iq_m4_err, psF32 iq_m4_lq, psF32 iq_m4_uq, psF32 dtime_script, psF32 dtime_astrom, psF32 dtime_addstar, const char *hostname, psS32 n_stars, psS32 n_psfstars, psS32 n_iqstars, psS32 n_extended, psS32 n_cr, psS32 n_astrom, const char *path_base, psS16 fault) 8622 9301 { 8623 9302 camProcessedExpRow *_object; … … 8644 9323 _object->fwhm_major = fwhm_major; 8645 9324 _object->fwhm_minor = fwhm_minor; 8646 _object->dtime_detrend = dtime_detrend; 8647 _object->dtime_photom = dtime_photom; 9325 _object->iq_m2 = iq_m2; 9326 _object->iq_m2_err = iq_m2_err; 9327 _object->iq_m2_lq = iq_m2_lq; 9328 _object->iq_m2_uq = iq_m2_uq; 9329 _object->iq_m2c = iq_m2c; 9330 _object->iq_m2c_err = iq_m2c_err; 9331 _object->iq_m2c_lq = iq_m2c_lq; 9332 _object->iq_m2c_uq = iq_m2c_uq; 9333 _object->iq_m2s = iq_m2s; 9334 _object->iq_m2s_err = iq_m2s_err; 9335 _object->iq_m2s_lq = iq_m2s_lq; 9336 _object->iq_m2s_uq = iq_m2s_uq; 9337 _object->iq_m3 = iq_m3; 9338 _object->iq_m3_err = iq_m3_err; 9339 _object->iq_m3_lq = iq_m3_lq; 9340 _object->iq_m3_uq = iq_m3_uq; 9341 _object->iq_m4 = iq_m4; 9342 _object->iq_m4_err = iq_m4_err; 9343 _object->iq_m4_lq = iq_m4_lq; 9344 _object->iq_m4_uq = iq_m4_uq; 9345 _object->dtime_script = dtime_script; 8648 9346 _object->dtime_astrom = dtime_astrom; 9347 _object->dtime_addstar = dtime_addstar; 8649 9348 _object->hostname = psStringCopy(hostname); 8650 9349 _object->n_stars = n_stars; 9350 _object->n_psfstars = n_psfstars; 9351 _object->n_iqstars = n_iqstars; 8651 9352 _object->n_extended = n_extended; 8652 9353 _object->n_cr = n_cr; … … 8758 9459 return false; 8759 9460 } 8760 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_detrend", PS_DATA_F32, NULL, 0.0)) { 8761 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_detrend"); 8762 psFree(md); 8763 return false; 8764 } 8765 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_photom", PS_DATA_F32, NULL, 0.0)) { 8766 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_photom"); 9461 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2", PS_DATA_F32, NULL, 0.0)) { 9462 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2"); 9463 psFree(md); 9464 return false; 9465 } 9466 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2_err", PS_DATA_F32, NULL, 0.0)) { 9467 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2_err"); 9468 psFree(md); 9469 return false; 9470 } 9471 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2_lq", PS_DATA_F32, NULL, 0.0)) { 9472 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2_lq"); 9473 psFree(md); 9474 return false; 9475 } 9476 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2_uq", PS_DATA_F32, NULL, 0.0)) { 9477 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2_uq"); 9478 psFree(md); 9479 return false; 9480 } 9481 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2c", PS_DATA_F32, NULL, 0.0)) { 9482 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2c"); 9483 psFree(md); 9484 return false; 9485 } 9486 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2c_err", PS_DATA_F32, NULL, 0.0)) { 9487 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2c_err"); 9488 psFree(md); 9489 return false; 9490 } 9491 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2c_lq", PS_DATA_F32, NULL, 0.0)) { 9492 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2c_lq"); 9493 psFree(md); 9494 return false; 9495 } 9496 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2c_uq", PS_DATA_F32, NULL, 0.0)) { 9497 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2c_uq"); 9498 psFree(md); 9499 return false; 9500 } 9501 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2s", PS_DATA_F32, NULL, 0.0)) { 9502 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2s"); 9503 psFree(md); 9504 return false; 9505 } 9506 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2s_err", PS_DATA_F32, NULL, 0.0)) { 9507 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2s_err"); 9508 psFree(md); 9509 return false; 9510 } 9511 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2s_lq", PS_DATA_F32, NULL, 0.0)) { 9512 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2s_lq"); 9513 psFree(md); 9514 return false; 9515 } 9516 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2s_uq", PS_DATA_F32, NULL, 0.0)) { 9517 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2s_uq"); 9518 psFree(md); 9519 return false; 9520 } 9521 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m3", PS_DATA_F32, NULL, 0.0)) { 9522 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m3"); 9523 psFree(md); 9524 return false; 9525 } 9526 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m3_err", PS_DATA_F32, NULL, 0.0)) { 9527 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m3_err"); 9528 psFree(md); 9529 return false; 9530 } 9531 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m3_lq", PS_DATA_F32, NULL, 0.0)) { 9532 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m3_lq"); 9533 psFree(md); 9534 return false; 9535 } 9536 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m3_uq", PS_DATA_F32, NULL, 0.0)) { 9537 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m3_uq"); 9538 psFree(md); 9539 return false; 9540 } 9541 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m4", PS_DATA_F32, NULL, 0.0)) { 9542 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m4"); 9543 psFree(md); 9544 return false; 9545 } 9546 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m4_err", PS_DATA_F32, NULL, 0.0)) { 9547 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m4_err"); 9548 psFree(md); 9549 return false; 9550 } 9551 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m4_lq", PS_DATA_F32, NULL, 0.0)) { 9552 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m4_lq"); 9553 psFree(md); 9554 return false; 9555 } 9556 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m4_uq", PS_DATA_F32, NULL, 0.0)) { 9557 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m4_uq"); 9558 psFree(md); 9559 return false; 9560 } 9561 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_script", PS_DATA_F32, NULL, 0.0)) { 9562 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_script"); 8767 9563 psFree(md); 8768 9564 return false; … … 8773 9569 return false; 8774 9570 } 9571 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_addstar", PS_DATA_F32, NULL, 0.0)) { 9572 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_addstar"); 9573 psFree(md); 9574 return false; 9575 } 8775 9576 if (!psMetadataAdd(md, PS_LIST_TAIL, "hostname", PS_DATA_STRING, NULL, "64")) { 8776 9577 psError(PS_ERR_UNKNOWN, false, "failed to add item hostname"); … … 8783 9584 return false; 8784 9585 } 9586 if (!psMetadataAdd(md, PS_LIST_TAIL, "n_psfstars", PS_DATA_S32, NULL, 0)) { 9587 psError(PS_ERR_UNKNOWN, false, "failed to add item n_psfstars"); 9588 psFree(md); 9589 return false; 9590 } 9591 if (!psMetadataAdd(md, PS_LIST_TAIL, "n_iqstars", PS_DATA_S32, NULL, 0)) { 9592 psError(PS_ERR_UNKNOWN, false, "failed to add item n_iqstars"); 9593 psFree(md); 9594 return false; 9595 } 8785 9596 if (!psMetadataAdd(md, PS_LIST_TAIL, "n_extended", PS_DATA_S32, NULL, 0)) { 8786 9597 psError(PS_ERR_UNKNOWN, false, "failed to add item n_extended"); … … 8821 9632 } 8822 9633 8823 bool camProcessedExpInsert(psDB * dbh, psS64 cam_id, const char *uri, psF32 bg, psF32 bg_stdev, psF32 bg_mean_stdev, psF32 bias, psF32 bias_stdev, psF32 fringe_0, psF32 fringe_1, psF32 fringe_2, psF32 sigma_ra, psF32 sigma_dec, psF32 ap_resid, psF32 ap_resid_stdev, psF32 zp_mean, psF32 zp_stdev, psF32 fwhm_major, psF32 fwhm_minor, psF32 dtime_detrend, psF32 dtime_photom, psF32 dtime_astrom, const char *hostname, psS32 n_stars, psS32 n_extended, psS32 n_cr, psS32 n_astrom, const char *path_base, psS16 fault)9634 bool camProcessedExpInsert(psDB * dbh, psS64 cam_id, const char *uri, psF32 bg, psF32 bg_stdev, psF32 bg_mean_stdev, psF32 bias, psF32 bias_stdev, psF32 fringe_0, psF32 fringe_1, psF32 fringe_2, psF32 sigma_ra, psF32 sigma_dec, psF32 ap_resid, psF32 ap_resid_stdev, psF32 zp_mean, psF32 zp_stdev, psF32 fwhm_major, psF32 fwhm_minor, psF32 iq_m2, psF32 iq_m2_err, psF32 iq_m2_lq, psF32 iq_m2_uq, psF32 iq_m2c, psF32 iq_m2c_err, psF32 iq_m2c_lq, psF32 iq_m2c_uq, psF32 iq_m2s, psF32 iq_m2s_err, psF32 iq_m2s_lq, psF32 iq_m2s_uq, psF32 iq_m3, psF32 iq_m3_err, psF32 iq_m3_lq, psF32 iq_m3_uq, psF32 iq_m4, psF32 iq_m4_err, psF32 iq_m4_lq, psF32 iq_m4_uq, psF32 dtime_script, psF32 dtime_astrom, psF32 dtime_addstar, const char *hostname, psS32 n_stars, psS32 n_psfstars, psS32 n_iqstars, psS32 n_extended, psS32 n_cr, psS32 n_astrom, const char *path_base, psS16 fault) 8824 9635 { 8825 9636 psMetadata *md = psMetadataAlloc(); … … 8914 9725 return false; 8915 9726 } 8916 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_detrend", PS_DATA_F32, NULL, dtime_detrend)) { 8917 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_detrend"); 8918 psFree(md); 8919 return false; 8920 } 8921 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_photom", PS_DATA_F32, NULL, dtime_photom)) { 8922 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_photom"); 9727 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2", PS_DATA_F32, NULL, iq_m2)) { 9728 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2"); 9729 psFree(md); 9730 return false; 9731 } 9732 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2_err", PS_DATA_F32, NULL, iq_m2_err)) { 9733 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2_err"); 9734 psFree(md); 9735 return false; 9736 } 9737 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2_lq", PS_DATA_F32, NULL, iq_m2_lq)) { 9738 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2_lq"); 9739 psFree(md); 9740 return false; 9741 } 9742 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2_uq", PS_DATA_F32, NULL, iq_m2_uq)) { 9743 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2_uq"); 9744 psFree(md); 9745 return false; 9746 } 9747 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2c", PS_DATA_F32, NULL, iq_m2c)) { 9748 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2c"); 9749 psFree(md); 9750 return false; 9751 } 9752 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2c_err", PS_DATA_F32, NULL, iq_m2c_err)) { 9753 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2c_err"); 9754 psFree(md); 9755 return false; 9756 } 9757 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2c_lq", PS_DATA_F32, NULL, iq_m2c_lq)) { 9758 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2c_lq"); 9759 psFree(md); 9760 return false; 9761 } 9762 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2c_uq", PS_DATA_F32, NULL, iq_m2c_uq)) { 9763 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2c_uq"); 9764 psFree(md); 9765 return false; 9766 } 9767 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2s", PS_DATA_F32, NULL, iq_m2s)) { 9768 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2s"); 9769 psFree(md); 9770 return false; 9771 } 9772 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2s_err", PS_DATA_F32, NULL, iq_m2s_err)) { 9773 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2s_err"); 9774 psFree(md); 9775 return false; 9776 } 9777 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2s_lq", PS_DATA_F32, NULL, iq_m2s_lq)) { 9778 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2s_lq"); 9779 psFree(md); 9780 return false; 9781 } 9782 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2s_uq", PS_DATA_F32, NULL, iq_m2s_uq)) { 9783 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2s_uq"); 9784 psFree(md); 9785 return false; 9786 } 9787 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m3", PS_DATA_F32, NULL, iq_m3)) { 9788 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m3"); 9789 psFree(md); 9790 return false; 9791 } 9792 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m3_err", PS_DATA_F32, NULL, iq_m3_err)) { 9793 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m3_err"); 9794 psFree(md); 9795 return false; 9796 } 9797 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m3_lq", PS_DATA_F32, NULL, iq_m3_lq)) { 9798 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m3_lq"); 9799 psFree(md); 9800 return false; 9801 } 9802 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m3_uq", PS_DATA_F32, NULL, iq_m3_uq)) { 9803 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m3_uq"); 9804 psFree(md); 9805 return false; 9806 } 9807 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m4", PS_DATA_F32, NULL, iq_m4)) { 9808 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m4"); 9809 psFree(md); 9810 return false; 9811 } 9812 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m4_err", PS_DATA_F32, NULL, iq_m4_err)) { 9813 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m4_err"); 9814 psFree(md); 9815 return false; 9816 } 9817 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m4_lq", PS_DATA_F32, NULL, iq_m4_lq)) { 9818 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m4_lq"); 9819 psFree(md); 9820 return false; 9821 } 9822 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m4_uq", PS_DATA_F32, NULL, iq_m4_uq)) { 9823 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m4_uq"); 9824 psFree(md); 9825 return false; 9826 } 9827 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_script", PS_DATA_F32, NULL, dtime_script)) { 9828 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_script"); 8923 9829 psFree(md); 8924 9830 return false; … … 8929 9835 return false; 8930 9836 } 9837 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_addstar", PS_DATA_F32, NULL, dtime_addstar)) { 9838 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_addstar"); 9839 psFree(md); 9840 return false; 9841 } 8931 9842 if (!psMetadataAdd(md, PS_LIST_TAIL, "hostname", PS_DATA_STRING, NULL, hostname)) { 8932 9843 psError(PS_ERR_UNKNOWN, false, "failed to add item hostname"); … … 8936 9847 if (!psMetadataAdd(md, PS_LIST_TAIL, "n_stars", PS_DATA_S32, NULL, n_stars)) { 8937 9848 psError(PS_ERR_UNKNOWN, false, "failed to add item n_stars"); 9849 psFree(md); 9850 return false; 9851 } 9852 if (!psMetadataAdd(md, PS_LIST_TAIL, "n_psfstars", PS_DATA_S32, NULL, n_psfstars)) { 9853 psError(PS_ERR_UNKNOWN, false, "failed to add item n_psfstars"); 9854 psFree(md); 9855 return false; 9856 } 9857 if (!psMetadataAdd(md, PS_LIST_TAIL, "n_iqstars", PS_DATA_S32, NULL, n_iqstars)) { 9858 psError(PS_ERR_UNKNOWN, false, "failed to add item n_iqstars"); 8938 9859 psFree(md); 8939 9860 return false; … … 8987 9908 bool camProcessedExpInsertObject(psDB *dbh, camProcessedExpRow *object) 8988 9909 { 8989 return camProcessedExpInsert(dbh, object->cam_id, object->uri, object->bg, object->bg_stdev, object->bg_mean_stdev, object->bias, object->bias_stdev, object->fringe_0, object->fringe_1, object->fringe_2, object->sigma_ra, object->sigma_dec, object->ap_resid, object->ap_resid_stdev, object->zp_mean, object->zp_stdev, object->fwhm_major, object->fwhm_minor, object-> dtime_detrend, object->dtime_photom, object->dtime_astrom, object->hostname, object->n_stars, object->n_extended, object->n_cr, object->n_astrom, object->path_base, object->fault);9910 return camProcessedExpInsert(dbh, object->cam_id, object->uri, object->bg, object->bg_stdev, object->bg_mean_stdev, object->bias, object->bias_stdev, object->fringe_0, object->fringe_1, object->fringe_2, object->sigma_ra, object->sigma_dec, object->ap_resid, object->ap_resid_stdev, object->zp_mean, object->zp_stdev, object->fwhm_major, object->fwhm_minor, object->iq_m2, object->iq_m2_err, object->iq_m2_lq, object->iq_m2_uq, object->iq_m2c, object->iq_m2c_err, object->iq_m2c_lq, object->iq_m2c_uq, object->iq_m2s, object->iq_m2s_err, object->iq_m2s_lq, object->iq_m2s_uq, object->iq_m3, object->iq_m3_err, object->iq_m3_lq, object->iq_m3_uq, object->iq_m4, object->iq_m4_err, object->iq_m4_lq, object->iq_m4_uq, object->dtime_script, object->dtime_astrom, object->dtime_addstar, object->hostname, object->n_stars, object->n_psfstars, object->n_iqstars, object->n_extended, object->n_cr, object->n_astrom, object->path_base, object->fault); 8990 9911 } 8991 9912 … … 9150 10071 return false; 9151 10072 } 9152 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_detrend", PS_DATA_F32, NULL, object->dtime_detrend)) { 9153 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_detrend"); 9154 psFree(md); 9155 return false; 9156 } 9157 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_photom", PS_DATA_F32, NULL, object->dtime_photom)) { 9158 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_photom"); 10073 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2", PS_DATA_F32, NULL, object->iq_m2)) { 10074 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2"); 10075 psFree(md); 10076 return false; 10077 } 10078 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2_err", PS_DATA_F32, NULL, object->iq_m2_err)) { 10079 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2_err"); 10080 psFree(md); 10081 return false; 10082 } 10083 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2_lq", PS_DATA_F32, NULL, object->iq_m2_lq)) { 10084 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2_lq"); 10085 psFree(md); 10086 return false; 10087 } 10088 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2_uq", PS_DATA_F32, NULL, object->iq_m2_uq)) { 10089 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2_uq"); 10090 psFree(md); 10091 return false; 10092 } 10093 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2c", PS_DATA_F32, NULL, object->iq_m2c)) { 10094 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2c"); 10095 psFree(md); 10096 return false; 10097 } 10098 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2c_err", PS_DATA_F32, NULL, object->iq_m2c_err)) { 10099 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2c_err"); 10100 psFree(md); 10101 return false; 10102 } 10103 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2c_lq", PS_DATA_F32, NULL, object->iq_m2c_lq)) { 10104 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2c_lq"); 10105 psFree(md); 10106 return false; 10107 } 10108 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2c_uq", PS_DATA_F32, NULL, object->iq_m2c_uq)) { 10109 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2c_uq"); 10110 psFree(md); 10111 return false; 10112 } 10113 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2s", PS_DATA_F32, NULL, object->iq_m2s)) { 10114 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2s"); 10115 psFree(md); 10116 return false; 10117 } 10118 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2s_err", PS_DATA_F32, NULL, object->iq_m2s_err)) { 10119 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2s_err"); 10120 psFree(md); 10121 return false; 10122 } 10123 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2s_lq", PS_DATA_F32, NULL, object->iq_m2s_lq)) { 10124 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2s_lq"); 10125 psFree(md); 10126 return false; 10127 } 10128 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m2s_uq", PS_DATA_F32, NULL, object->iq_m2s_uq)) { 10129 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m2s_uq"); 10130 psFree(md); 10131 return false; 10132 } 10133 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m3", PS_DATA_F32, NULL, object->iq_m3)) { 10134 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m3"); 10135 psFree(md); 10136 return false; 10137 } 10138 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m3_err", PS_DATA_F32, NULL, object->iq_m3_err)) { 10139 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m3_err"); 10140 psFree(md); 10141 return false; 10142 } 10143 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m3_lq", PS_DATA_F32, NULL, object->iq_m3_lq)) { 10144 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m3_lq"); 10145 psFree(md); 10146 return false; 10147 } 10148 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m3_uq", PS_DATA_F32, NULL, object->iq_m3_uq)) { 10149 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m3_uq"); 10150 psFree(md); 10151 return false; 10152 } 10153 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m4", PS_DATA_F32, NULL, object->iq_m4)) { 10154 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m4"); 10155 psFree(md); 10156 return false; 10157 } 10158 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m4_err", PS_DATA_F32, NULL, object->iq_m4_err)) { 10159 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m4_err"); 10160 psFree(md); 10161 return false; 10162 } 10163 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m4_lq", PS_DATA_F32, NULL, object->iq_m4_lq)) { 10164 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m4_lq"); 10165 psFree(md); 10166 return false; 10167 } 10168 if (!psMetadataAdd(md, PS_LIST_TAIL, "iq_m4_uq", PS_DATA_F32, NULL, object->iq_m4_uq)) { 10169 psError(PS_ERR_UNKNOWN, false, "failed to add item iq_m4_uq"); 10170 psFree(md); 10171 return false; 10172 } 10173 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_script", PS_DATA_F32, NULL, object->dtime_script)) { 10174 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_script"); 9159 10175 psFree(md); 9160 10176 return false; … … 9165 10181 return false; 9166 10182 } 10183 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_addstar", PS_DATA_F32, NULL, object->dtime_addstar)) { 10184 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_addstar"); 10185 psFree(md); 10186 return false; 10187 } 9167 10188 if (!psMetadataAdd(md, PS_LIST_TAIL, "hostname", PS_DATA_STRING, NULL, object->hostname)) { 9168 10189 psError(PS_ERR_UNKNOWN, false, "failed to add item hostname"); … … 9175 10196 return false; 9176 10197 } 10198 if (!psMetadataAdd(md, PS_LIST_TAIL, "n_psfstars", PS_DATA_S32, NULL, object->n_psfstars)) { 10199 psError(PS_ERR_UNKNOWN, false, "failed to add item n_psfstars"); 10200 psFree(md); 10201 return false; 10202 } 10203 if (!psMetadataAdd(md, PS_LIST_TAIL, "n_iqstars", PS_DATA_S32, NULL, object->n_iqstars)) { 10204 psError(PS_ERR_UNKNOWN, false, "failed to add item n_iqstars"); 10205 psFree(md); 10206 return false; 10207 } 9177 10208 if (!psMetadataAdd(md, PS_LIST_TAIL, "n_extended", PS_DATA_S32, NULL, object->n_extended)) { 9178 10209 psError(PS_ERR_UNKNOWN, false, "failed to add item n_extended"); … … 9299 10330 return false; 9300 10331 } 9301 psF32 dtime_detrend = psMetadataLookupF32(&status, md, "dtime_detrend"); 9302 if (!status) { 9303 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item dtime_detrend"); 9304 return false; 9305 } 9306 psF32 dtime_photom = psMetadataLookupF32(&status, md, "dtime_photom"); 9307 if (!status) { 9308 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item dtime_photom"); 10332 psF32 iq_m2 = psMetadataLookupF32(&status, md, "iq_m2"); 10333 if (!status) { 10334 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iq_m2"); 10335 return false; 10336 } 10337 psF32 iq_m2_err = psMetadataLookupF32(&status, md, "iq_m2_err"); 10338 if (!status) { 10339 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iq_m2_err"); 10340 return false; 10341 } 10342 psF32 iq_m2_lq = psMetadataLookupF32(&status, md, "iq_m2_lq"); 10343 if (!status) { 10344 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iq_m2_lq"); 10345 return false; 10346 } 10347 psF32 iq_m2_uq = psMetadataLookupF32(&status, md, "iq_m2_uq"); 10348 if (!status) { 10349 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iq_m2_uq"); 10350 return false; 10351 } 10352 psF32 iq_m2c = psMetadataLookupF32(&status, md, "iq_m2c"); 10353 if (!status) { 10354 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iq_m2c"); 10355 return false; 10356 } 10357 psF32 iq_m2c_err = psMetadataLookupF32(&status, md, "iq_m2c_err"); 10358 if (!status) { 10359 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iq_m2c_err"); 10360 return false; 10361 } 10362 psF32 iq_m2c_lq = psMetadataLookupF32(&status, md, "iq_m2c_lq"); 10363 if (!status) { 10364 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iq_m2c_lq"); 10365 return false; 10366 } 10367 psF32 iq_m2c_uq = psMetadataLookupF32(&status, md, "iq_m2c_uq"); 10368 if (!status) { 10369 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iq_m2c_uq"); 10370 return false; 10371 } 10372 psF32 iq_m2s = psMetadataLookupF32(&status, md, "iq_m2s"); 10373 if (!status) { 10374 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iq_m2s"); 10375 return false; 10376 } 10377 psF32 iq_m2s_err = psMetadataLookupF32(&status, md, "iq_m2s_err"); 10378 if (!status) { 10379 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iq_m2s_err"); 10380 return false; 10381 } 10382 psF32 iq_m2s_lq = psMetadataLookupF32(&status, md, "iq_m2s_lq"); 10383 if (!status) { 10384 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iq_m2s_lq"); 10385 return false; 10386 } 10387 psF32 iq_m2s_uq = psMetadataLookupF32(&status, md, "iq_m2s_uq"); 10388 if (!status) { 10389 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iq_m2s_uq"); 10390 return false; 10391 } 10392 psF32 iq_m3 = psMetadataLookupF32(&status, md, "iq_m3"); 10393 if (!status) { 10394 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iq_m3"); 10395 return false; 10396 } 10397 psF32 iq_m3_err = psMetadataLookupF32(&status, md, "iq_m3_err"); 10398 if (!status) { 10399 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iq_m3_err"); 10400 return false; 10401 } 10402 psF32 iq_m3_lq = psMetadataLookupF32(&status, md, "iq_m3_lq"); 10403 if (!status) { 10404 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iq_m3_lq"); 10405 return false; 10406 } 10407 psF32 iq_m3_uq = psMetadataLookupF32(&status, md, "iq_m3_uq"); 10408 if (!status) { 10409 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iq_m3_uq"); 10410 return false; 10411 } 10412 psF32 iq_m4 = psMetadataLookupF32(&status, md, "iq_m4"); 10413 if (!status) { 10414 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iq_m4"); 10415 return false; 10416 } 10417 psF32 iq_m4_err = psMetadataLookupF32(&status, md, "iq_m4_err"); 10418 if (!status) { 10419 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iq_m4_err"); 10420 return false; 10421 } 10422 psF32 iq_m4_lq = psMetadataLookupF32(&status, md, "iq_m4_lq"); 10423 if (!status) { 10424 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iq_m4_lq"); 10425 return false; 10426 } 10427 psF32 iq_m4_uq = psMetadataLookupF32(&status, md, "iq_m4_uq"); 10428 if (!status) { 10429 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iq_m4_uq"); 10430 return false; 10431 } 10432 psF32 dtime_script = psMetadataLookupF32(&status, md, "dtime_script"); 10433 if (!status) { 10434 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item dtime_script"); 9309 10435 return false; 9310 10436 } … … 9314 10440 return false; 9315 10441 } 10442 psF32 dtime_addstar = psMetadataLookupF32(&status, md, "dtime_addstar"); 10443 if (!status) { 10444 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item dtime_addstar"); 10445 return false; 10446 } 9316 10447 char* hostname = psMetadataLookupPtr(&status, md, "hostname"); 9317 10448 if (!status) { … … 9324 10455 return false; 9325 10456 } 10457 psS32 n_psfstars = psMetadataLookupS32(&status, md, "n_psfstars"); 10458 if (!status) { 10459 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item n_psfstars"); 10460 return false; 10461 } 10462 psS32 n_iqstars = psMetadataLookupS32(&status, md, "n_iqstars"); 10463 if (!status) { 10464 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item n_iqstars"); 10465 return false; 10466 } 9326 10467 psS32 n_extended = psMetadataLookupS32(&status, md, "n_extended"); 9327 10468 if (!status) { … … 9350 10491 } 9351 10492 9352 return camProcessedExpRowAlloc(cam_id, uri, bg, bg_stdev, bg_mean_stdev, bias, bias_stdev, fringe_0, fringe_1, fringe_2, sigma_ra, sigma_dec, ap_resid, ap_resid_stdev, zp_mean, zp_stdev, fwhm_major, fwhm_minor, dtime_detrend, dtime_photom, dtime_astrom, hostname, n_stars, n_extended, n_cr, n_astrom, path_base, fault);10493 return camProcessedExpRowAlloc(cam_id, uri, bg, bg_stdev, bg_mean_stdev, bias, bias_stdev, fringe_0, fringe_1, fringe_2, sigma_ra, sigma_dec, ap_resid, ap_resid_stdev, zp_mean, zp_stdev, fwhm_major, fwhm_minor, iq_m2, iq_m2_err, iq_m2_lq, iq_m2_uq, iq_m2c, iq_m2c_err, iq_m2c_lq, iq_m2c_uq, iq_m2s, iq_m2s_err, iq_m2s_lq, iq_m2s_uq, iq_m3, iq_m3_err, iq_m3_lq, iq_m3_uq, iq_m4, iq_m4_err, iq_m4_lq, iq_m4_uq, dtime_script, dtime_astrom, dtime_addstar, hostname, n_stars, n_psfstars, n_iqstars, n_extended, n_cr, n_astrom, path_base, fault); 9353 10494 } 9354 10495 psArray *camProcessedExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) … … 10246 11387 static void fakeProcessedImfileRowFree(fakeProcessedImfileRow *object); 10247 11388 10248 fakeProcessedImfileRow *fakeProcessedImfileRowAlloc(psS64 fake_id, psS64 exp_id, const char *class_id, const char *uri, psF32 dtime_fake, const char *hostname, const char *path_base, psS16 fault, psTime* epoch)11389 fakeProcessedImfileRow *fakeProcessedImfileRowAlloc(psS64 fake_id, psS64 exp_id, const char *class_id, const char *uri, psF32 dtime_fake, psF32 dtime_script, const char *hostname, const char *path_base, const char *data_state, psS16 fault, psTime* epoch) 10249 11390 { 10250 11391 fakeProcessedImfileRow *_object; … … 10258 11399 _object->uri = psStringCopy(uri); 10259 11400 _object->dtime_fake = dtime_fake; 11401 _object->dtime_script = dtime_script; 10260 11402 _object->hostname = psStringCopy(hostname); 10261 11403 _object->path_base = psStringCopy(path_base); 11404 _object->data_state = psStringCopy(data_state); 10262 11405 _object->fault = fault; 10263 11406 _object->epoch = psTimeCopy(epoch); … … 10272 11415 psFree(object->hostname); 10273 11416 psFree(object->path_base); 11417 psFree(object->data_state); 10274 11418 psFree(object->epoch); 10275 11419 } … … 10303 11447 return false; 10304 11448 } 11449 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_script", PS_DATA_F32, NULL, 0.0)) { 11450 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_script"); 11451 psFree(md); 11452 return false; 11453 } 10305 11454 if (!psMetadataAdd(md, PS_LIST_TAIL, "hostname", PS_DATA_STRING, NULL, "64")) { 10306 11455 psError(PS_ERR_UNKNOWN, false, "failed to add item hostname"); … … 10313 11462 return false; 10314 11463 } 11464 if (!psMetadataAdd(md, PS_LIST_TAIL, "data_state", PS_DATA_STRING, "Key", "64")) { 11465 psError(PS_ERR_UNKNOWN, false, "failed to add item data_state"); 11466 psFree(md); 11467 return false; 11468 } 10315 11469 if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, "Key NOT NULL", 0)) { 10316 11470 psError(PS_ERR_UNKNOWN, false, "failed to add item fault"); … … 10336 11490 } 10337 11491 10338 bool fakeProcessedImfileInsert(psDB * dbh, psS64 fake_id, psS64 exp_id, const char *class_id, const char *uri, psF32 dtime_fake, const char *hostname, const char *path_base, psS16 fault, psTime* epoch)11492 bool fakeProcessedImfileInsert(psDB * dbh, psS64 fake_id, psS64 exp_id, const char *class_id, const char *uri, psF32 dtime_fake, psF32 dtime_script, const char *hostname, const char *path_base, const char *data_state, psS16 fault, psTime* epoch) 10339 11493 { 10340 11494 psMetadata *md = psMetadataAlloc(); … … 10364 11518 return false; 10365 11519 } 11520 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_script", PS_DATA_F32, NULL, dtime_script)) { 11521 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_script"); 11522 psFree(md); 11523 return false; 11524 } 10366 11525 if (!psMetadataAdd(md, PS_LIST_TAIL, "hostname", PS_DATA_STRING, NULL, hostname)) { 10367 11526 psError(PS_ERR_UNKNOWN, false, "failed to add item hostname"); … … 10371 11530 if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, path_base)) { 10372 11531 psError(PS_ERR_UNKNOWN, false, "failed to add item path_base"); 11532 psFree(md); 11533 return false; 11534 } 11535 if (!psMetadataAdd(md, PS_LIST_TAIL, "data_state", PS_DATA_STRING, NULL, data_state)) { 11536 psError(PS_ERR_UNKNOWN, false, "failed to add item data_state"); 10373 11537 psFree(md); 10374 11538 return false; … … 10407 11571 bool fakeProcessedImfileInsertObject(psDB *dbh, fakeProcessedImfileRow *object) 10408 11572 { 10409 return fakeProcessedImfileInsert(dbh, object->fake_id, object->exp_id, object->class_id, object->uri, object->dtime_fake, object-> hostname, object->path_base, object->fault, object->epoch);11573 return fakeProcessedImfileInsert(dbh, object->fake_id, object->exp_id, object->class_id, object->uri, object->dtime_fake, object->dtime_script, object->hostname, object->path_base, object->data_state, object->fault, object->epoch); 10410 11574 } 10411 11575 … … 10505 11669 return false; 10506 11670 } 11671 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_script", PS_DATA_F32, NULL, object->dtime_script)) { 11672 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_script"); 11673 psFree(md); 11674 return false; 11675 } 10507 11676 if (!psMetadataAdd(md, PS_LIST_TAIL, "hostname", PS_DATA_STRING, NULL, object->hostname)) { 10508 11677 psError(PS_ERR_UNKNOWN, false, "failed to add item hostname"); … … 10515 11684 return false; 10516 11685 } 11686 if (!psMetadataAdd(md, PS_LIST_TAIL, "data_state", PS_DATA_STRING, NULL, object->data_state)) { 11687 psError(PS_ERR_UNKNOWN, false, "failed to add item data_state"); 11688 psFree(md); 11689 return false; 11690 } 10517 11691 if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, NULL, object->fault)) { 10518 11692 psError(PS_ERR_UNKNOWN, false, "failed to add item fault"); … … 10559 11733 return false; 10560 11734 } 11735 psF32 dtime_script = psMetadataLookupF32(&status, md, "dtime_script"); 11736 if (!status) { 11737 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item dtime_script"); 11738 return false; 11739 } 10561 11740 char* hostname = psMetadataLookupPtr(&status, md, "hostname"); 10562 11741 if (!status) { … … 10569 11748 return false; 10570 11749 } 11750 char* data_state = psMetadataLookupPtr(&status, md, "data_state"); 11751 if (!status) { 11752 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item data_state"); 11753 return false; 11754 } 10571 11755 psS16 fault = psMetadataLookupS16(&status, md, "fault"); 10572 11756 if (!status) { … … 10580 11764 } 10581 11765 10582 return fakeProcessedImfileRowAlloc(fake_id, exp_id, class_id, uri, dtime_fake, hostname, path_base, fault, epoch);11766 return fakeProcessedImfileRowAlloc(fake_id, exp_id, class_id, uri, dtime_fake, dtime_script, hostname, path_base, data_state, fault, epoch); 10583 11767 } 10584 11768 psArray *fakeProcessedImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) … … 11863 13047 static void warpSkyfileRowFree(warpSkyfileRow *object); 11864 13048 11865 warpSkyfileRow *warpSkyfileRowAlloc(psS64 warp_id, const char *skycell_id, const char *tess_id, const char *uri, const char *path_base, psF64 bg, psF64 bg_stdev, psF32 dtime_warp, const char *hostname, psF32 good_frac, psS32 xmin, psS32 xmax, psS32 ymin, psS32 ymax, bool ignored, psS16 fault)13049 warpSkyfileRow *warpSkyfileRowAlloc(psS64 warp_id, const char *skycell_id, const char *tess_id, const char *uri, const char *path_base, const char *data_state, psF64 bg, psF64 bg_stdev, psF32 dtime_warp, psF32 dtime_script, const char *hostname, psF32 good_frac, psS32 xmin, psS32 xmax, psS32 ymin, psS32 ymax, bool ignored, psS16 fault) 11866 13050 { 11867 13051 warpSkyfileRow *_object; … … 11875 13059 _object->uri = psStringCopy(uri); 11876 13060 _object->path_base = psStringCopy(path_base); 13061 _object->data_state = psStringCopy(data_state); 11877 13062 _object->bg = bg; 11878 13063 _object->bg_stdev = bg_stdev; 11879 13064 _object->dtime_warp = dtime_warp; 13065 _object->dtime_script = dtime_script; 11880 13066 _object->hostname = psStringCopy(hostname); 11881 13067 _object->good_frac = good_frac; … … 11896 13082 psFree(object->uri); 11897 13083 psFree(object->path_base); 13084 psFree(object->data_state); 11898 13085 psFree(object->hostname); 11899 13086 } … … 11927 13114 return false; 11928 13115 } 13116 if (!psMetadataAdd(md, PS_LIST_TAIL, "data_state", PS_DATA_STRING, "Key", "64")) { 13117 psError(PS_ERR_UNKNOWN, false, "failed to add item data_state"); 13118 psFree(md); 13119 return false; 13120 } 11929 13121 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, 0.0)) { 11930 13122 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); … … 11942 13134 return false; 11943 13135 } 13136 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_script", PS_DATA_F32, NULL, 0.0)) { 13137 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_script"); 13138 psFree(md); 13139 return false; 13140 } 11944 13141 if (!psMetadataAdd(md, PS_LIST_TAIL, "hostname", PS_DATA_STRING, NULL, "64")) { 11945 13142 psError(PS_ERR_UNKNOWN, false, "failed to add item hostname"); … … 11995 13192 } 11996 13193 11997 bool warpSkyfileInsert(psDB * dbh, psS64 warp_id, const char *skycell_id, const char *tess_id, const char *uri, const char *path_base, psF64 bg, psF64 bg_stdev, psF32 dtime_warp, const char *hostname, psF32 good_frac, psS32 xmin, psS32 xmax, psS32 ymin, psS32 ymax, bool ignored, psS16 fault)13194 bool warpSkyfileInsert(psDB * dbh, psS64 warp_id, const char *skycell_id, const char *tess_id, const char *uri, const char *path_base, const char *data_state, psF64 bg, psF64 bg_stdev, psF32 dtime_warp, psF32 dtime_script, const char *hostname, psF32 good_frac, psS32 xmin, psS32 xmax, psS32 ymin, psS32 ymax, bool ignored, psS16 fault) 11998 13195 { 11999 13196 psMetadata *md = psMetadataAlloc(); … … 12023 13220 return false; 12024 13221 } 13222 if (!psMetadataAdd(md, PS_LIST_TAIL, "data_state", PS_DATA_STRING, NULL, data_state)) { 13223 psError(PS_ERR_UNKNOWN, false, "failed to add item data_state"); 13224 psFree(md); 13225 return false; 13226 } 12025 13227 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, bg)) { 12026 13228 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); … … 12035 13237 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_warp", PS_DATA_F32, NULL, dtime_warp)) { 12036 13238 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_warp"); 13239 psFree(md); 13240 return false; 13241 } 13242 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_script", PS_DATA_F32, NULL, dtime_script)) { 13243 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_script"); 12037 13244 psFree(md); 12038 13245 return false; … … 12101 13308 bool warpSkyfileInsertObject(psDB *dbh, warpSkyfileRow *object) 12102 13309 { 12103 return warpSkyfileInsert(dbh, object->warp_id, object->skycell_id, object->tess_id, object->uri, object->path_base, object-> bg, object->bg_stdev, object->dtime_warp, object->hostname, object->good_frac, object->xmin, object->xmax, object->ymin, object->ymax, object->ignored, object->fault);13310 return warpSkyfileInsert(dbh, object->warp_id, object->skycell_id, object->tess_id, object->uri, object->path_base, object->data_state, object->bg, object->bg_stdev, object->dtime_warp, object->dtime_script, object->hostname, object->good_frac, object->xmin, object->xmax, object->ymin, object->ymax, object->ignored, object->fault); 12104 13311 } 12105 13312 … … 12199 13406 return false; 12200 13407 } 13408 if (!psMetadataAdd(md, PS_LIST_TAIL, "data_state", PS_DATA_STRING, NULL, object->data_state)) { 13409 psError(PS_ERR_UNKNOWN, false, "failed to add item data_state"); 13410 psFree(md); 13411 return false; 13412 } 12201 13413 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, object->bg)) { 12202 13414 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); … … 12214 13426 return false; 12215 13427 } 13428 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_script", PS_DATA_F32, NULL, object->dtime_script)) { 13429 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_script"); 13430 psFree(md); 13431 return false; 13432 } 12216 13433 if (!psMetadataAdd(md, PS_LIST_TAIL, "hostname", PS_DATA_STRING, NULL, object->hostname)) { 12217 13434 psError(PS_ERR_UNKNOWN, false, "failed to add item hostname"); … … 12288 13505 return false; 12289 13506 } 13507 char* data_state = psMetadataLookupPtr(&status, md, "data_state"); 13508 if (!status) { 13509 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item data_state"); 13510 return false; 13511 } 12290 13512 psF64 bg = psMetadataLookupF64(&status, md, "bg"); 12291 13513 if (!status) { … … 12303 13525 return false; 12304 13526 } 13527 psF32 dtime_script = psMetadataLookupF32(&status, md, "dtime_script"); 13528 if (!status) { 13529 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item dtime_script"); 13530 return false; 13531 } 12305 13532 char* hostname = psMetadataLookupPtr(&status, md, "hostname"); 12306 13533 if (!status) { … … 12344 13571 } 12345 13572 12346 return warpSkyfileRowAlloc(warp_id, skycell_id, tess_id, uri, path_base, bg, bg_stdev, dtime_warp, hostname, good_frac, xmin, xmax, ymin, ymax, ignored, fault);13573 return warpSkyfileRowAlloc(warp_id, skycell_id, tess_id, uri, path_base, data_state, bg, bg_stdev, dtime_warp, dtime_script, hostname, good_frac, xmin, xmax, ymin, ymax, ignored, fault); 12347 13574 } 12348 13575 psArray *warpSkyfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) … … 12742 13969 static void diffRunRowFree(diffRunRow *object); 12743 13970 12744 diffRunRow *diffRunRowAlloc(psS64 diff_id, const char *state, const char * workdir, const char *dvodb, psTime* registered, const char *skycell_id, const char *tess_id)13971 diffRunRow *diffRunRowAlloc(psS64 diff_id, const char *state, const char *label, const char *reduction, const char *workdir, const char *dvodb, psTime* registered, const char *skycell_id, const char *tess_id) 12745 13972 { 12746 13973 diffRunRow *_object; … … 12751 13978 _object->diff_id = diff_id; 12752 13979 _object->state = psStringCopy(state); 13980 _object->label = psStringCopy(label); 13981 _object->reduction = psStringCopy(reduction); 12753 13982 _object->workdir = psStringCopy(workdir); 12754 13983 _object->dvodb = psStringCopy(dvodb); … … 12763 13992 { 12764 13993 psFree(object->state); 13994 psFree(object->label); 13995 psFree(object->reduction); 12765 13996 psFree(object->workdir); 12766 13997 psFree(object->dvodb); … … 12783 14014 return false; 12784 14015 } 14016 if (!psMetadataAdd(md, PS_LIST_TAIL, "label", PS_DATA_STRING, "Key", "64")) { 14017 psError(PS_ERR_UNKNOWN, false, "failed to add item label"); 14018 psFree(md); 14019 return false; 14020 } 14021 if (!psMetadataAdd(md, PS_LIST_TAIL, "reduction", PS_DATA_STRING, "Reduction class", "64")) { 14022 psError(PS_ERR_UNKNOWN, false, "failed to add item reduction"); 14023 psFree(md); 14024 return false; 14025 } 12785 14026 if (!psMetadataAdd(md, PS_LIST_TAIL, "workdir", PS_DATA_STRING, NULL, "255")) { 12786 14027 psError(PS_ERR_UNKNOWN, false, "failed to add item workdir"); … … 12821 14062 } 12822 14063 12823 bool diffRunInsert(psDB * dbh, psS64 diff_id, const char *state, const char * workdir, const char *dvodb, psTime* registered, const char *skycell_id, const char *tess_id)14064 bool diffRunInsert(psDB * dbh, psS64 diff_id, const char *state, const char *label, const char *reduction, const char *workdir, const char *dvodb, psTime* registered, const char *skycell_id, const char *tess_id) 12824 14065 { 12825 14066 psMetadata *md = psMetadataAlloc(); … … 12831 14072 if (!psMetadataAdd(md, PS_LIST_TAIL, "state", PS_DATA_STRING, NULL, state)) { 12832 14073 psError(PS_ERR_UNKNOWN, false, "failed to add item state"); 14074 psFree(md); 14075 return false; 14076 } 14077 if (!psMetadataAdd(md, PS_LIST_TAIL, "label", PS_DATA_STRING, NULL, label)) { 14078 psError(PS_ERR_UNKNOWN, false, "failed to add item label"); 14079 psFree(md); 14080 return false; 14081 } 14082 if (!psMetadataAdd(md, PS_LIST_TAIL, "reduction", PS_DATA_STRING, NULL, reduction)) { 14083 psError(PS_ERR_UNKNOWN, false, "failed to add item reduction"); 12833 14084 psFree(md); 12834 14085 return false; … … 12882 14133 bool diffRunInsertObject(psDB *dbh, diffRunRow *object) 12883 14134 { 12884 return diffRunInsert(dbh, object->diff_id, object->state, object-> workdir, object->dvodb, object->registered, object->skycell_id, object->tess_id);14135 return diffRunInsert(dbh, object->diff_id, object->state, object->label, object->reduction, object->workdir, object->dvodb, object->registered, object->skycell_id, object->tess_id); 12885 14136 } 12886 14137 … … 12965 14216 return false; 12966 14217 } 14218 if (!psMetadataAdd(md, PS_LIST_TAIL, "label", PS_DATA_STRING, NULL, object->label)) { 14219 psError(PS_ERR_UNKNOWN, false, "failed to add item label"); 14220 psFree(md); 14221 return false; 14222 } 14223 if (!psMetadataAdd(md, PS_LIST_TAIL, "reduction", PS_DATA_STRING, NULL, object->reduction)) { 14224 psError(PS_ERR_UNKNOWN, false, "failed to add item reduction"); 14225 psFree(md); 14226 return false; 14227 } 12967 14228 if (!psMetadataAdd(md, PS_LIST_TAIL, "workdir", PS_DATA_STRING, NULL, object->workdir)) { 12968 14229 psError(PS_ERR_UNKNOWN, false, "failed to add item workdir"); … … 13009 14270 return false; 13010 14271 } 14272 char* label = psMetadataLookupPtr(&status, md, "label"); 14273 if (!status) { 14274 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item label"); 14275 return false; 14276 } 14277 char* reduction = psMetadataLookupPtr(&status, md, "reduction"); 14278 if (!status) { 14279 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item reduction"); 14280 return false; 14281 } 13011 14282 char* workdir = psMetadataLookupPtr(&status, md, "workdir"); 13012 14283 if (!status) { … … 13035 14306 } 13036 14307 13037 return diffRunRowAlloc(diff_id, state, workdir, dvodb, registered, skycell_id, tess_id);14308 return diffRunRowAlloc(diff_id, state, label, reduction, workdir, dvodb, registered, skycell_id, tess_id); 13038 14309 } 13039 14310 psArray *diffRunSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) … … 13561 14832 static void diffSkyfileRowFree(diffSkyfileRow *object); 13562 14833 13563 diffSkyfileRow *diffSkyfileRowAlloc(psS64 diff_id, const char *uri, const char *path_base, psF64 bg, psF64 bg_stdev, psS32 stamps_num, psF32 stamps_ rms, psS32 sources, psF32 dtime_diff, const char *hostname, psF32 good_frac, psS16 fault)14834 diffSkyfileRow *diffSkyfileRowAlloc(psS64 diff_id, const char *uri, const char *path_base, psF64 bg, psF64 bg_stdev, psS32 stamps_num, psF32 stamps_mean, psF32 stamps_rms, psF32 norm, psF32 bg_diff, psF32 kernel_x, psF32 kernel_y, psF32 kernel_xx, psF32 kernel_xy, psF32 kernel_yy, psS32 sources, psF32 dtime_diff, psF32 dtime_match, psF32 dtime_phot, psF32 dtime_script, const char *hostname, psF32 good_frac, psS16 fault) 13564 14835 { 13565 14836 diffSkyfileRow *_object; … … 13574 14845 _object->bg_stdev = bg_stdev; 13575 14846 _object->stamps_num = stamps_num; 14847 _object->stamps_mean = stamps_mean; 13576 14848 _object->stamps_rms = stamps_rms; 14849 _object->norm = norm; 14850 _object->bg_diff = bg_diff; 14851 _object->kernel_x = kernel_x; 14852 _object->kernel_y = kernel_y; 14853 _object->kernel_xx = kernel_xx; 14854 _object->kernel_xy = kernel_xy; 14855 _object->kernel_yy = kernel_yy; 13577 14856 _object->sources = sources; 13578 14857 _object->dtime_diff = dtime_diff; 14858 _object->dtime_match = dtime_match; 14859 _object->dtime_phot = dtime_phot; 14860 _object->dtime_script = dtime_script; 13579 14861 _object->hostname = psStringCopy(hostname); 13580 14862 _object->good_frac = good_frac; … … 13624 14906 return false; 13625 14907 } 14908 if (!psMetadataAdd(md, PS_LIST_TAIL, "stamps_mean", PS_DATA_F32, NULL, 0.0)) { 14909 psError(PS_ERR_UNKNOWN, false, "failed to add item stamps_mean"); 14910 psFree(md); 14911 return false; 14912 } 13626 14913 if (!psMetadataAdd(md, PS_LIST_TAIL, "stamps_rms", PS_DATA_F32, NULL, 0.0)) { 13627 14914 psError(PS_ERR_UNKNOWN, false, "failed to add item stamps_rms"); … … 13629 14916 return false; 13630 14917 } 14918 if (!psMetadataAdd(md, PS_LIST_TAIL, "norm", PS_DATA_F32, NULL, 0.0)) { 14919 psError(PS_ERR_UNKNOWN, false, "failed to add item norm"); 14920 psFree(md); 14921 return false; 14922 } 14923 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_diff", PS_DATA_F32, NULL, 0.0)) { 14924 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_diff"); 14925 psFree(md); 14926 return false; 14927 } 14928 if (!psMetadataAdd(md, PS_LIST_TAIL, "kernel_x", PS_DATA_F32, NULL, 0.0)) { 14929 psError(PS_ERR_UNKNOWN, false, "failed to add item kernel_x"); 14930 psFree(md); 14931 return false; 14932 } 14933 if (!psMetadataAdd(md, PS_LIST_TAIL, "kernel_y", PS_DATA_F32, NULL, 0.0)) { 14934 psError(PS_ERR_UNKNOWN, false, "failed to add item kernel_y"); 14935 psFree(md); 14936 return false; 14937 } 14938 if (!psMetadataAdd(md, PS_LIST_TAIL, "kernel_xx", PS_DATA_F32, NULL, 0.0)) { 14939 psError(PS_ERR_UNKNOWN, false, "failed to add item kernel_xx"); 14940 psFree(md); 14941 return false; 14942 } 14943 if (!psMetadataAdd(md, PS_LIST_TAIL, "kernel_xy", PS_DATA_F32, NULL, 0.0)) { 14944 psError(PS_ERR_UNKNOWN, false, "failed to add item kernel_xy"); 14945 psFree(md); 14946 return false; 14947 } 14948 if (!psMetadataAdd(md, PS_LIST_TAIL, "kernel_yy", PS_DATA_F32, NULL, 0.0)) { 14949 psError(PS_ERR_UNKNOWN, false, "failed to add item kernel_yy"); 14950 psFree(md); 14951 return false; 14952 } 13631 14953 if (!psMetadataAdd(md, PS_LIST_TAIL, "sources", PS_DATA_S32, NULL, 0)) { 13632 14954 psError(PS_ERR_UNKNOWN, false, "failed to add item sources"); … … 13639 14961 return false; 13640 14962 } 14963 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_match", PS_DATA_F32, NULL, 0.0)) { 14964 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_match"); 14965 psFree(md); 14966 return false; 14967 } 14968 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_phot", PS_DATA_F32, NULL, 0.0)) { 14969 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_phot"); 14970 psFree(md); 14971 return false; 14972 } 14973 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_script", PS_DATA_F32, NULL, 0.0)) { 14974 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_script"); 14975 psFree(md); 14976 return false; 14977 } 13641 14978 if (!psMetadataAdd(md, PS_LIST_TAIL, "hostname", PS_DATA_STRING, NULL, "64")) { 13642 14979 psError(PS_ERR_UNKNOWN, false, "failed to add item hostname"); … … 13667 15004 } 13668 15005 13669 bool diffSkyfileInsert(psDB * dbh, psS64 diff_id, const char *uri, const char *path_base, psF64 bg, psF64 bg_stdev, psS32 stamps_num, psF32 stamps_ rms, psS32 sources, psF32 dtime_diff, const char *hostname, psF32 good_frac, psS16 fault)15006 bool diffSkyfileInsert(psDB * dbh, psS64 diff_id, const char *uri, const char *path_base, psF64 bg, psF64 bg_stdev, psS32 stamps_num, psF32 stamps_mean, psF32 stamps_rms, psF32 norm, psF32 bg_diff, psF32 kernel_x, psF32 kernel_y, psF32 kernel_xx, psF32 kernel_xy, psF32 kernel_yy, psS32 sources, psF32 dtime_diff, psF32 dtime_match, psF32 dtime_phot, psF32 dtime_script, const char *hostname, psF32 good_frac, psS16 fault) 13670 15007 { 13671 15008 psMetadata *md = psMetadataAlloc(); … … 13700 15037 return false; 13701 15038 } 15039 if (!psMetadataAdd(md, PS_LIST_TAIL, "stamps_mean", PS_DATA_F32, NULL, stamps_mean)) { 15040 psError(PS_ERR_UNKNOWN, false, "failed to add item stamps_mean"); 15041 psFree(md); 15042 return false; 15043 } 13702 15044 if (!psMetadataAdd(md, PS_LIST_TAIL, "stamps_rms", PS_DATA_F32, NULL, stamps_rms)) { 13703 15045 psError(PS_ERR_UNKNOWN, false, "failed to add item stamps_rms"); … … 13705 15047 return false; 13706 15048 } 15049 if (!psMetadataAdd(md, PS_LIST_TAIL, "norm", PS_DATA_F32, NULL, norm)) { 15050 psError(PS_ERR_UNKNOWN, false, "failed to add item norm"); 15051 psFree(md); 15052 return false; 15053 } 15054 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_diff", PS_DATA_F32, NULL, bg_diff)) { 15055 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_diff"); 15056 psFree(md); 15057 return false; 15058 } 15059 if (!psMetadataAdd(md, PS_LIST_TAIL, "kernel_x", PS_DATA_F32, NULL, kernel_x)) { 15060 psError(PS_ERR_UNKNOWN, false, "failed to add item kernel_x"); 15061 psFree(md); 15062 return false; 15063 } 15064 if (!psMetadataAdd(md, PS_LIST_TAIL, "kernel_y", PS_DATA_F32, NULL, kernel_y)) { 15065 psError(PS_ERR_UNKNOWN, false, "failed to add item kernel_y"); 15066 psFree(md); 15067 return false; 15068 } 15069 if (!psMetadataAdd(md, PS_LIST_TAIL, "kernel_xx", PS_DATA_F32, NULL, kernel_xx)) { 15070 psError(PS_ERR_UNKNOWN, false, "failed to add item kernel_xx"); 15071 psFree(md); 15072 return false; 15073 } 15074 if (!psMetadataAdd(md, PS_LIST_TAIL, "kernel_xy", PS_DATA_F32, NULL, kernel_xy)) { 15075 psError(PS_ERR_UNKNOWN, false, "failed to add item kernel_xy"); 15076 psFree(md); 15077 return false; 15078 } 15079 if (!psMetadataAdd(md, PS_LIST_TAIL, "kernel_yy", PS_DATA_F32, NULL, kernel_yy)) { 15080 psError(PS_ERR_UNKNOWN, false, "failed to add item kernel_yy"); 15081 psFree(md); 15082 return false; 15083 } 13707 15084 if (!psMetadataAdd(md, PS_LIST_TAIL, "sources", PS_DATA_S32, NULL, sources)) { 13708 15085 psError(PS_ERR_UNKNOWN, false, "failed to add item sources"); … … 13712 15089 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_diff", PS_DATA_F32, NULL, dtime_diff)) { 13713 15090 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_diff"); 15091 psFree(md); 15092 return false; 15093 } 15094 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_match", PS_DATA_F32, NULL, dtime_match)) { 15095 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_match"); 15096 psFree(md); 15097 return false; 15098 } 15099 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_phot", PS_DATA_F32, NULL, dtime_phot)) { 15100 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_phot"); 15101 psFree(md); 15102 return false; 15103 } 15104 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_script", PS_DATA_F32, NULL, dtime_script)) { 15105 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_script"); 13714 15106 psFree(md); 13715 15107 return false; … … 13753 15145 bool diffSkyfileInsertObject(psDB *dbh, diffSkyfileRow *object) 13754 15146 { 13755 return diffSkyfileInsert(dbh, object->diff_id, object->uri, object->path_base, object->bg, object->bg_stdev, object->stamps_num, object->stamps_ rms, object->sources, object->dtime_diff, object->hostname, object->good_frac, object->fault);15147 return diffSkyfileInsert(dbh, object->diff_id, object->uri, object->path_base, object->bg, object->bg_stdev, object->stamps_num, object->stamps_mean, object->stamps_rms, object->norm, object->bg_diff, object->kernel_x, object->kernel_y, object->kernel_xx, object->kernel_xy, object->kernel_yy, object->sources, object->dtime_diff, object->dtime_match, object->dtime_phot, object->dtime_script, object->hostname, object->good_frac, object->fault); 13756 15148 } 13757 15149 … … 13856 15248 return false; 13857 15249 } 15250 if (!psMetadataAdd(md, PS_LIST_TAIL, "stamps_mean", PS_DATA_F32, NULL, object->stamps_mean)) { 15251 psError(PS_ERR_UNKNOWN, false, "failed to add item stamps_mean"); 15252 psFree(md); 15253 return false; 15254 } 13858 15255 if (!psMetadataAdd(md, PS_LIST_TAIL, "stamps_rms", PS_DATA_F32, NULL, object->stamps_rms)) { 13859 15256 psError(PS_ERR_UNKNOWN, false, "failed to add item stamps_rms"); … … 13861 15258 return false; 13862 15259 } 15260 if (!psMetadataAdd(md, PS_LIST_TAIL, "norm", PS_DATA_F32, NULL, object->norm)) { 15261 psError(PS_ERR_UNKNOWN, false, "failed to add item norm"); 15262 psFree(md); 15263 return false; 15264 } 15265 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_diff", PS_DATA_F32, NULL, object->bg_diff)) { 15266 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_diff"); 15267 psFree(md); 15268 return false; 15269 } 15270 if (!psMetadataAdd(md, PS_LIST_TAIL, "kernel_x", PS_DATA_F32, NULL, object->kernel_x)) { 15271 psError(PS_ERR_UNKNOWN, false, "failed to add item kernel_x"); 15272 psFree(md); 15273 return false; 15274 } 15275 if (!psMetadataAdd(md, PS_LIST_TAIL, "kernel_y", PS_DATA_F32, NULL, object->kernel_y)) { 15276 psError(PS_ERR_UNKNOWN, false, "failed to add item kernel_y"); 15277 psFree(md); 15278 return false; 15279 } 15280 if (!psMetadataAdd(md, PS_LIST_TAIL, "kernel_xx", PS_DATA_F32, NULL, object->kernel_xx)) { 15281 psError(PS_ERR_UNKNOWN, false, "failed to add item kernel_xx"); 15282 psFree(md); 15283 return false; 15284 } 15285 if (!psMetadataAdd(md, PS_LIST_TAIL, "kernel_xy", PS_DATA_F32, NULL, object->kernel_xy)) { 15286 psError(PS_ERR_UNKNOWN, false, "failed to add item kernel_xy"); 15287 psFree(md); 15288 return false; 15289 } 15290 if (!psMetadataAdd(md, PS_LIST_TAIL, "kernel_yy", PS_DATA_F32, NULL, object->kernel_yy)) { 15291 psError(PS_ERR_UNKNOWN, false, "failed to add item kernel_yy"); 15292 psFree(md); 15293 return false; 15294 } 13863 15295 if (!psMetadataAdd(md, PS_LIST_TAIL, "sources", PS_DATA_S32, NULL, object->sources)) { 13864 15296 psError(PS_ERR_UNKNOWN, false, "failed to add item sources"); … … 13871 15303 return false; 13872 15304 } 15305 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_match", PS_DATA_F32, NULL, object->dtime_match)) { 15306 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_match"); 15307 psFree(md); 15308 return false; 15309 } 15310 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_phot", PS_DATA_F32, NULL, object->dtime_phot)) { 15311 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_phot"); 15312 psFree(md); 15313 return false; 15314 } 15315 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_script", PS_DATA_F32, NULL, object->dtime_script)) { 15316 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_script"); 15317 psFree(md); 15318 return false; 15319 } 13873 15320 if (!psMetadataAdd(md, PS_LIST_TAIL, "hostname", PS_DATA_STRING, NULL, object->hostname)) { 13874 15321 psError(PS_ERR_UNKNOWN, false, "failed to add item hostname"); … … 13925 15372 return false; 13926 15373 } 15374 psF32 stamps_mean = psMetadataLookupF32(&status, md, "stamps_mean"); 15375 if (!status) { 15376 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item stamps_mean"); 15377 return false; 15378 } 13927 15379 psF32 stamps_rms = psMetadataLookupF32(&status, md, "stamps_rms"); 13928 15380 if (!status) { … … 13930 15382 return false; 13931 15383 } 15384 psF32 norm = psMetadataLookupF32(&status, md, "norm"); 15385 if (!status) { 15386 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item norm"); 15387 return false; 15388 } 15389 psF32 bg_diff = psMetadataLookupF32(&status, md, "bg_diff"); 15390 if (!status) { 15391 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_diff"); 15392 return false; 15393 } 15394 psF32 kernel_x = psMetadataLookupF32(&status, md, "kernel_x"); 15395 if (!status) { 15396 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item kernel_x"); 15397 return false; 15398 } 15399 psF32 kernel_y = psMetadataLookupF32(&status, md, "kernel_y"); 15400 if (!status) { 15401 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item kernel_y"); 15402 return false; 15403 } 15404 psF32 kernel_xx = psMetadataLookupF32(&status, md, "kernel_xx"); 15405 if (!status) { 15406 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item kernel_xx"); 15407 return false; 15408 } 15409 psF32 kernel_xy = psMetadataLookupF32(&status, md, "kernel_xy"); 15410 if (!status) { 15411 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item kernel_xy"); 15412 return false; 15413 } 15414 psF32 kernel_yy = psMetadataLookupF32(&status, md, "kernel_yy"); 15415 if (!status) { 15416 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item kernel_yy"); 15417 return false; 15418 } 13932 15419 psS32 sources = psMetadataLookupS32(&status, md, "sources"); 13933 15420 if (!status) { … … 13940 15427 return false; 13941 15428 } 15429 psF32 dtime_match = psMetadataLookupF32(&status, md, "dtime_match"); 15430 if (!status) { 15431 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item dtime_match"); 15432 return false; 15433 } 15434 psF32 dtime_phot = psMetadataLookupF32(&status, md, "dtime_phot"); 15435 if (!status) { 15436 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item dtime_phot"); 15437 return false; 15438 } 15439 psF32 dtime_script = psMetadataLookupF32(&status, md, "dtime_script"); 15440 if (!status) { 15441 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item dtime_script"); 15442 return false; 15443 } 13942 15444 char* hostname = psMetadataLookupPtr(&status, md, "hostname"); 13943 15445 if (!status) { … … 13956 15458 } 13957 15459 13958 return diffSkyfileRowAlloc(diff_id, uri, path_base, bg, bg_stdev, stamps_num, stamps_ rms, sources, dtime_diff, hostname, good_frac, fault);15460 return diffSkyfileRowAlloc(diff_id, uri, path_base, bg, bg_stdev, stamps_num, stamps_mean, stamps_rms, norm, bg_diff, kernel_x, kernel_y, kernel_xx, kernel_xy, kernel_yy, sources, dtime_diff, dtime_match, dtime_phot, dtime_script, hostname, good_frac, fault); 13959 15461 } 13960 15462 psArray *diffSkyfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) … … 14074 15576 static void stackRunRowFree(stackRunRow *object); 14075 15577 14076 stackRunRow *stackRunRowAlloc(psS64 stack_id, const char *state, const char *workdir, const char * dvodb, psTime* registered, const char *skycell_id, const char *tess_id, const char *filter)15578 stackRunRow *stackRunRowAlloc(psS64 stack_id, const char *state, const char *workdir, const char *label, const char *reduction, const char *dvodb, psTime* registered, const char *skycell_id, const char *tess_id, const char *filter) 14077 15579 { 14078 15580 stackRunRow *_object; … … 14084 15586 _object->state = psStringCopy(state); 14085 15587 _object->workdir = psStringCopy(workdir); 15588 _object->label = psStringCopy(label); 15589 _object->reduction = psStringCopy(reduction); 14086 15590 _object->dvodb = psStringCopy(dvodb); 14087 15591 _object->registered = psTimeCopy(registered); … … 14097 15601 psFree(object->state); 14098 15602 psFree(object->workdir); 15603 psFree(object->label); 15604 psFree(object->reduction); 14099 15605 psFree(object->dvodb); 14100 15606 psFree(object->registered); … … 14122 15628 return false; 14123 15629 } 15630 if (!psMetadataAdd(md, PS_LIST_TAIL, "label", PS_DATA_STRING, "Key", "64")) { 15631 psError(PS_ERR_UNKNOWN, false, "failed to add item label"); 15632 psFree(md); 15633 return false; 15634 } 15635 if (!psMetadataAdd(md, PS_LIST_TAIL, "reduction", PS_DATA_STRING, "Reduction class", "64")) { 15636 psError(PS_ERR_UNKNOWN, false, "failed to add item reduction"); 15637 psFree(md); 15638 return false; 15639 } 14124 15640 if (!psMetadataAdd(md, PS_LIST_TAIL, "dvodb", PS_DATA_STRING, NULL, "255")) { 14125 15641 psError(PS_ERR_UNKNOWN, false, "failed to add item dvodb"); … … 14160 15676 } 14161 15677 14162 bool stackRunInsert(psDB * dbh, psS64 stack_id, const char *state, const char *workdir, const char * dvodb, psTime* registered, const char *skycell_id, const char *tess_id, const char *filter)15678 bool stackRunInsert(psDB * dbh, psS64 stack_id, const char *state, const char *workdir, const char *label, const char *reduction, const char *dvodb, psTime* registered, const char *skycell_id, const char *tess_id, const char *filter) 14163 15679 { 14164 15680 psMetadata *md = psMetadataAlloc(); … … 14175 15691 if (!psMetadataAdd(md, PS_LIST_TAIL, "workdir", PS_DATA_STRING, NULL, workdir)) { 14176 15692 psError(PS_ERR_UNKNOWN, false, "failed to add item workdir"); 15693 psFree(md); 15694 return false; 15695 } 15696 if (!psMetadataAdd(md, PS_LIST_TAIL, "label", PS_DATA_STRING, NULL, label)) { 15697 psError(PS_ERR_UNKNOWN, false, "failed to add item label"); 15698 psFree(md); 15699 return false; 15700 } 15701 if (!psMetadataAdd(md, PS_LIST_TAIL, "reduction", PS_DATA_STRING, NULL, reduction)) { 15702 psError(PS_ERR_UNKNOWN, false, "failed to add item reduction"); 14177 15703 psFree(md); 14178 15704 return false; … … 14226 15752 bool stackRunInsertObject(psDB *dbh, stackRunRow *object) 14227 15753 { 14228 return stackRunInsert(dbh, object->stack_id, object->state, object->workdir, object-> dvodb, object->registered, object->skycell_id, object->tess_id, object->filter);15754 return stackRunInsert(dbh, object->stack_id, object->state, object->workdir, object->label, object->reduction, object->dvodb, object->registered, object->skycell_id, object->tess_id, object->filter); 14229 15755 } 14230 15756 … … 14314 15840 return false; 14315 15841 } 15842 if (!psMetadataAdd(md, PS_LIST_TAIL, "label", PS_DATA_STRING, NULL, object->label)) { 15843 psError(PS_ERR_UNKNOWN, false, "failed to add item label"); 15844 psFree(md); 15845 return false; 15846 } 15847 if (!psMetadataAdd(md, PS_LIST_TAIL, "reduction", PS_DATA_STRING, NULL, object->reduction)) { 15848 psError(PS_ERR_UNKNOWN, false, "failed to add item reduction"); 15849 psFree(md); 15850 return false; 15851 } 14316 15852 if (!psMetadataAdd(md, PS_LIST_TAIL, "dvodb", PS_DATA_STRING, NULL, object->dvodb)) { 14317 15853 psError(PS_ERR_UNKNOWN, false, "failed to add item dvodb"); … … 14363 15899 return false; 14364 15900 } 15901 char* label = psMetadataLookupPtr(&status, md, "label"); 15902 if (!status) { 15903 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item label"); 15904 return false; 15905 } 15906 char* reduction = psMetadataLookupPtr(&status, md, "reduction"); 15907 if (!status) { 15908 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item reduction"); 15909 return false; 15910 } 14365 15911 char* dvodb = psMetadataLookupPtr(&status, md, "dvodb"); 14366 15912 if (!status) { … … 14389 15935 } 14390 15936 14391 return stackRunRowAlloc(stack_id, state, workdir, dvodb, registered, skycell_id, tess_id, filter);15937 return stackRunRowAlloc(stack_id, state, workdir, label, reduction, dvodb, registered, skycell_id, tess_id, filter); 14392 15938 } 14393 15939 psArray *stackRunSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) … … 14807 16353 static void stackSumSkyfileRowFree(stackSumSkyfileRow *object); 14808 16354 14809 stackSumSkyfileRow *stackSumSkyfileRowAlloc(psS64 stack_id, const char *uri, const char *path_base, psF64 bg, psF64 bg_stdev, psF32 dtime_stack, const char *hostname, psF32 good_frac, psS16 fault)16355 stackSumSkyfileRow *stackSumSkyfileRowAlloc(psS64 stack_id, const char *uri, const char *path_base, psF64 bg, psF64 bg_stdev, psF32 dtime_stack, psF32 dtime_match_mean, psF32 dtime_match_stdev, psF32 dtime_initial, psF32 dtime_reject, psF32 dtime_final, psF32 dtime_phot, psF32 dtime_script, psF32 match_mean, psF32 match_stdev, psF32 match_rms, psF32 stamps_mean, psF32 stamps_stdev, psS32 stamps_min, psS32 reject_images, psF32 reject_pix_mean, psF32 reject_pix_stdev, psS32 sources, const char *hostname, psF32 good_frac, psS16 fault) 14810 16356 { 14811 16357 stackSumSkyfileRow *_object; … … 14820 16366 _object->bg_stdev = bg_stdev; 14821 16367 _object->dtime_stack = dtime_stack; 16368 _object->dtime_match_mean = dtime_match_mean; 16369 _object->dtime_match_stdev = dtime_match_stdev; 16370 _object->dtime_initial = dtime_initial; 16371 _object->dtime_reject = dtime_reject; 16372 _object->dtime_final = dtime_final; 16373 _object->dtime_phot = dtime_phot; 16374 _object->dtime_script = dtime_script; 16375 _object->match_mean = match_mean; 16376 _object->match_stdev = match_stdev; 16377 _object->match_rms = match_rms; 16378 _object->stamps_mean = stamps_mean; 16379 _object->stamps_stdev = stamps_stdev; 16380 _object->stamps_min = stamps_min; 16381 _object->reject_images = reject_images; 16382 _object->reject_pix_mean = reject_pix_mean; 16383 _object->reject_pix_stdev = reject_pix_stdev; 16384 _object->sources = sources; 14822 16385 _object->hostname = psStringCopy(hostname); 14823 16386 _object->good_frac = good_frac; … … 14867 16430 return false; 14868 16431 } 16432 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_match_mean", PS_DATA_F32, "Key", 0.0)) { 16433 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_match_mean"); 16434 psFree(md); 16435 return false; 16436 } 16437 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_match_stdev", PS_DATA_F32, "Key", 0.0)) { 16438 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_match_stdev"); 16439 psFree(md); 16440 return false; 16441 } 16442 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_initial", PS_DATA_F32, "Key", 0.0)) { 16443 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_initial"); 16444 psFree(md); 16445 return false; 16446 } 16447 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_reject", PS_DATA_F32, "Key", 0.0)) { 16448 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_reject"); 16449 psFree(md); 16450 return false; 16451 } 16452 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_final", PS_DATA_F32, "Key", 0.0)) { 16453 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_final"); 16454 psFree(md); 16455 return false; 16456 } 16457 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_phot", PS_DATA_F32, "Key", 0.0)) { 16458 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_phot"); 16459 psFree(md); 16460 return false; 16461 } 16462 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_script", PS_DATA_F32, NULL, 0.0)) { 16463 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_script"); 16464 psFree(md); 16465 return false; 16466 } 16467 if (!psMetadataAdd(md, PS_LIST_TAIL, "match_mean", PS_DATA_F32, NULL, 0.0)) { 16468 psError(PS_ERR_UNKNOWN, false, "failed to add item match_mean"); 16469 psFree(md); 16470 return false; 16471 } 16472 if (!psMetadataAdd(md, PS_LIST_TAIL, "match_stdev", PS_DATA_F32, NULL, 0.0)) { 16473 psError(PS_ERR_UNKNOWN, false, "failed to add item match_stdev"); 16474 psFree(md); 16475 return false; 16476 } 16477 if (!psMetadataAdd(md, PS_LIST_TAIL, "match_rms", PS_DATA_F32, NULL, 0.0)) { 16478 psError(PS_ERR_UNKNOWN, false, "failed to add item match_rms"); 16479 psFree(md); 16480 return false; 16481 } 16482 if (!psMetadataAdd(md, PS_LIST_TAIL, "stamps_mean", PS_DATA_F32, NULL, 0.0)) { 16483 psError(PS_ERR_UNKNOWN, false, "failed to add item stamps_mean"); 16484 psFree(md); 16485 return false; 16486 } 16487 if (!psMetadataAdd(md, PS_LIST_TAIL, "stamps_stdev", PS_DATA_F32, NULL, 0.0)) { 16488 psError(PS_ERR_UNKNOWN, false, "failed to add item stamps_stdev"); 16489 psFree(md); 16490 return false; 16491 } 16492 if (!psMetadataAdd(md, PS_LIST_TAIL, "stamps_min", PS_DATA_S32, NULL, 0)) { 16493 psError(PS_ERR_UNKNOWN, false, "failed to add item stamps_min"); 16494 psFree(md); 16495 return false; 16496 } 16497 if (!psMetadataAdd(md, PS_LIST_TAIL, "reject_images", PS_DATA_S32, NULL, 0)) { 16498 psError(PS_ERR_UNKNOWN, false, "failed to add item reject_images"); 16499 psFree(md); 16500 return false; 16501 } 16502 if (!psMetadataAdd(md, PS_LIST_TAIL, "reject_pix_mean", PS_DATA_F32, NULL, 0.0)) { 16503 psError(PS_ERR_UNKNOWN, false, "failed to add item reject_pix_mean"); 16504 psFree(md); 16505 return false; 16506 } 16507 if (!psMetadataAdd(md, PS_LIST_TAIL, "reject_pix_stdev", PS_DATA_F32, NULL, 0.0)) { 16508 psError(PS_ERR_UNKNOWN, false, "failed to add item reject_pix_stdev"); 16509 psFree(md); 16510 return false; 16511 } 16512 if (!psMetadataAdd(md, PS_LIST_TAIL, "sources", PS_DATA_S32, NULL, 0)) { 16513 psError(PS_ERR_UNKNOWN, false, "failed to add item sources"); 16514 psFree(md); 16515 return false; 16516 } 14869 16517 if (!psMetadataAdd(md, PS_LIST_TAIL, "hostname", PS_DATA_STRING, NULL, "64")) { 14870 16518 psError(PS_ERR_UNKNOWN, false, "failed to add item hostname"); … … 14895 16543 } 14896 16544 14897 bool stackSumSkyfileInsert(psDB * dbh, psS64 stack_id, const char *uri, const char *path_base, psF64 bg, psF64 bg_stdev, psF32 dtime_stack, const char *hostname, psF32 good_frac, psS16 fault)16545 bool stackSumSkyfileInsert(psDB * dbh, psS64 stack_id, const char *uri, const char *path_base, psF64 bg, psF64 bg_stdev, psF32 dtime_stack, psF32 dtime_match_mean, psF32 dtime_match_stdev, psF32 dtime_initial, psF32 dtime_reject, psF32 dtime_final, psF32 dtime_phot, psF32 dtime_script, psF32 match_mean, psF32 match_stdev, psF32 match_rms, psF32 stamps_mean, psF32 stamps_stdev, psS32 stamps_min, psS32 reject_images, psF32 reject_pix_mean, psF32 reject_pix_stdev, psS32 sources, const char *hostname, psF32 good_frac, psS16 fault) 14898 16546 { 14899 16547 psMetadata *md = psMetadataAlloc(); … … 14925 16573 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_stack", PS_DATA_F32, NULL, dtime_stack)) { 14926 16574 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_stack"); 16575 psFree(md); 16576 return false; 16577 } 16578 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_match_mean", PS_DATA_F32, NULL, dtime_match_mean)) { 16579 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_match_mean"); 16580 psFree(md); 16581 return false; 16582 } 16583 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_match_stdev", PS_DATA_F32, NULL, dtime_match_stdev)) { 16584 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_match_stdev"); 16585 psFree(md); 16586 return false; 16587 } 16588 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_initial", PS_DATA_F32, NULL, dtime_initial)) { 16589 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_initial"); 16590 psFree(md); 16591 return false; 16592 } 16593 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_reject", PS_DATA_F32, NULL, dtime_reject)) { 16594 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_reject"); 16595 psFree(md); 16596 return false; 16597 } 16598 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_final", PS_DATA_F32, NULL, dtime_final)) { 16599 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_final"); 16600 psFree(md); 16601 return false; 16602 } 16603 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_phot", PS_DATA_F32, NULL, dtime_phot)) { 16604 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_phot"); 16605 psFree(md); 16606 return false; 16607 } 16608 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_script", PS_DATA_F32, NULL, dtime_script)) { 16609 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_script"); 16610 psFree(md); 16611 return false; 16612 } 16613 if (!psMetadataAdd(md, PS_LIST_TAIL, "match_mean", PS_DATA_F32, NULL, match_mean)) { 16614 psError(PS_ERR_UNKNOWN, false, "failed to add item match_mean"); 16615 psFree(md); 16616 return false; 16617 } 16618 if (!psMetadataAdd(md, PS_LIST_TAIL, "match_stdev", PS_DATA_F32, NULL, match_stdev)) { 16619 psError(PS_ERR_UNKNOWN, false, "failed to add item match_stdev"); 16620 psFree(md); 16621 return false; 16622 } 16623 if (!psMetadataAdd(md, PS_LIST_TAIL, "match_rms", PS_DATA_F32, NULL, match_rms)) { 16624 psError(PS_ERR_UNKNOWN, false, "failed to add item match_rms"); 16625 psFree(md); 16626 return false; 16627 } 16628 if (!psMetadataAdd(md, PS_LIST_TAIL, "stamps_mean", PS_DATA_F32, NULL, stamps_mean)) { 16629 psError(PS_ERR_UNKNOWN, false, "failed to add item stamps_mean"); 16630 psFree(md); 16631 return false; 16632 } 16633 if (!psMetadataAdd(md, PS_LIST_TAIL, "stamps_stdev", PS_DATA_F32, NULL, stamps_stdev)) { 16634 psError(PS_ERR_UNKNOWN, false, "failed to add item stamps_stdev"); 16635 psFree(md); 16636 return false; 16637 } 16638 if (!psMetadataAdd(md, PS_LIST_TAIL, "stamps_min", PS_DATA_S32, NULL, stamps_min)) { 16639 psError(PS_ERR_UNKNOWN, false, "failed to add item stamps_min"); 16640 psFree(md); 16641 return false; 16642 } 16643 if (!psMetadataAdd(md, PS_LIST_TAIL, "reject_images", PS_DATA_S32, NULL, reject_images)) { 16644 psError(PS_ERR_UNKNOWN, false, "failed to add item reject_images"); 16645 psFree(md); 16646 return false; 16647 } 16648 if (!psMetadataAdd(md, PS_LIST_TAIL, "reject_pix_mean", PS_DATA_F32, NULL, reject_pix_mean)) { 16649 psError(PS_ERR_UNKNOWN, false, "failed to add item reject_pix_mean"); 16650 psFree(md); 16651 return false; 16652 } 16653 if (!psMetadataAdd(md, PS_LIST_TAIL, "reject_pix_stdev", PS_DATA_F32, NULL, reject_pix_stdev)) { 16654 psError(PS_ERR_UNKNOWN, false, "failed to add item reject_pix_stdev"); 16655 psFree(md); 16656 return false; 16657 } 16658 if (!psMetadataAdd(md, PS_LIST_TAIL, "sources", PS_DATA_S32, NULL, sources)) { 16659 psError(PS_ERR_UNKNOWN, false, "failed to add item sources"); 14927 16660 psFree(md); 14928 16661 return false; … … 14966 16699 bool stackSumSkyfileInsertObject(psDB *dbh, stackSumSkyfileRow *object) 14967 16700 { 14968 return stackSumSkyfileInsert(dbh, object->stack_id, object->uri, object->path_base, object->bg, object->bg_stdev, object->dtime_stack, object-> hostname, object->good_frac, object->fault);16701 return stackSumSkyfileInsert(dbh, object->stack_id, object->uri, object->path_base, object->bg, object->bg_stdev, object->dtime_stack, object->dtime_match_mean, object->dtime_match_stdev, object->dtime_initial, object->dtime_reject, object->dtime_final, object->dtime_phot, object->dtime_script, object->match_mean, object->match_stdev, object->match_rms, object->stamps_mean, object->stamps_stdev, object->stamps_min, object->reject_images, object->reject_pix_mean, object->reject_pix_stdev, object->sources, object->hostname, object->good_frac, object->fault); 14969 16702 } 14970 16703 … … 15069 16802 return false; 15070 16803 } 16804 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_match_mean", PS_DATA_F32, NULL, object->dtime_match_mean)) { 16805 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_match_mean"); 16806 psFree(md); 16807 return false; 16808 } 16809 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_match_stdev", PS_DATA_F32, NULL, object->dtime_match_stdev)) { 16810 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_match_stdev"); 16811 psFree(md); 16812 return false; 16813 } 16814 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_initial", PS_DATA_F32, NULL, object->dtime_initial)) { 16815 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_initial"); 16816 psFree(md); 16817 return false; 16818 } 16819 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_reject", PS_DATA_F32, NULL, object->dtime_reject)) { 16820 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_reject"); 16821 psFree(md); 16822 return false; 16823 } 16824 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_final", PS_DATA_F32, NULL, object->dtime_final)) { 16825 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_final"); 16826 psFree(md); 16827 return false; 16828 } 16829 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_phot", PS_DATA_F32, NULL, object->dtime_phot)) { 16830 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_phot"); 16831 psFree(md); 16832 return false; 16833 } 16834 if (!psMetadataAdd(md, PS_LIST_TAIL, "dtime_script", PS_DATA_F32, NULL, object->dtime_script)) { 16835 psError(PS_ERR_UNKNOWN, false, "failed to add item dtime_script"); 16836 psFree(md); 16837 return false; 16838 } 16839 if (!psMetadataAdd(md, PS_LIST_TAIL, "match_mean", PS_DATA_F32, NULL, object->match_mean)) { 16840 psError(PS_ERR_UNKNOWN, false, "failed to add item match_mean"); 16841 psFree(md); 16842 return false; 16843 } 16844 if (!psMetadataAdd(md, PS_LIST_TAIL, "match_stdev", PS_DATA_F32, NULL, object->match_stdev)) { 16845 psError(PS_ERR_UNKNOWN, false, "failed to add item match_stdev"); 16846 psFree(md); 16847 return false; 16848 } 16849 if (!psMetadataAdd(md, PS_LIST_TAIL, "match_rms", PS_DATA_F32, NULL, object->match_rms)) { 16850 psError(PS_ERR_UNKNOWN, false, "failed to add item match_rms"); 16851 psFree(md); 16852 return false; 16853 } 16854 if (!psMetadataAdd(md, PS_LIST_TAIL, "stamps_mean", PS_DATA_F32, NULL, object->stamps_mean)) { 16855 psError(PS_ERR_UNKNOWN, false, "failed to add item stamps_mean"); 16856 psFree(md); 16857 return false; 16858 } 16859 if (!psMetadataAdd(md, PS_LIST_TAIL, "stamps_stdev", PS_DATA_F32, NULL, object->stamps_stdev)) { 16860 psError(PS_ERR_UNKNOWN, false, "failed to add item stamps_stdev"); 16861 psFree(md); 16862 return false; 16863 } 16864 if (!psMetadataAdd(md, PS_LIST_TAIL, "stamps_min", PS_DATA_S32, NULL, object->stamps_min)) { 16865 psError(PS_ERR_UNKNOWN, false, "failed to add item stamps_min"); 16866 psFree(md); 16867 return false; 16868 } 16869 if (!psMetadataAdd(md, PS_LIST_TAIL, "reject_images", PS_DATA_S32, NULL, object->reject_images)) { 16870 psError(PS_ERR_UNKNOWN, false, "failed to add item reject_images"); 16871 psFree(md); 16872 return false; 16873 } 16874 if (!psMetadataAdd(md, PS_LIST_TAIL, "reject_pix_mean", PS_DATA_F32, NULL, object->reject_pix_mean)) { 16875 psError(PS_ERR_UNKNOWN, false, "failed to add item reject_pix_mean"); 16876 psFree(md); 16877 return false; 16878 } 16879 if (!psMetadataAdd(md, PS_LIST_TAIL, "reject_pix_stdev", PS_DATA_F32, NULL, object->reject_pix_stdev)) { 16880 psError(PS_ERR_UNKNOWN, false, "failed to add item reject_pix_stdev"); 16881 psFree(md); 16882 return false; 16883 } 16884 if (!psMetadataAdd(md, PS_LIST_TAIL, "sources", PS_DATA_S32, NULL, object->sources)) { 16885 psError(PS_ERR_UNKNOWN, false, "failed to add item sources"); 16886 psFree(md); 16887 return false; 16888 } 15071 16889 if (!psMetadataAdd(md, PS_LIST_TAIL, "hostname", PS_DATA_STRING, NULL, object->hostname)) { 15072 16890 psError(PS_ERR_UNKNOWN, false, "failed to add item hostname"); … … 15123 16941 return false; 15124 16942 } 16943 psF32 dtime_match_mean = psMetadataLookupF32(&status, md, "dtime_match_mean"); 16944 if (!status) { 16945 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item dtime_match_mean"); 16946 return false; 16947 } 16948 psF32 dtime_match_stdev = psMetadataLookupF32(&status, md, "dtime_match_stdev"); 16949 if (!status) { 16950 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item dtime_match_stdev"); 16951 return false; 16952 } 16953 psF32 dtime_initial = psMetadataLookupF32(&status, md, "dtime_initial"); 16954 if (!status) { 16955 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item dtime_initial"); 16956 return false; 16957 } 16958 psF32 dtime_reject = psMetadataLookupF32(&status, md, "dtime_reject"); 16959 if (!status) { 16960 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item dtime_reject"); 16961 return false; 16962 } 16963 psF32 dtime_final = psMetadataLookupF32(&status, md, "dtime_final"); 16964 if (!status) { 16965 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item dtime_final"); 16966 return false; 16967 } 16968 psF32 dtime_phot = psMetadataLookupF32(&status, md, "dtime_phot"); 16969 if (!status) { 16970 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item dtime_phot"); 16971 return false; 16972 } 16973 psF32 dtime_script = psMetadataLookupF32(&status, md, "dtime_script"); 16974 if (!status) { 16975 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item dtime_script"); 16976 return false; 16977 } 16978 psF32 match_mean = psMetadataLookupF32(&status, md, "match_mean"); 16979 if (!status) { 16980 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item match_mean"); 16981 return false; 16982 } 16983 psF32 match_stdev = psMetadataLookupF32(&status, md, "match_stdev"); 16984 if (!status) { 16985 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item match_stdev"); 16986 return false; 16987 } 16988 psF32 match_rms = psMetadataLookupF32(&status, md, "match_rms"); 16989 if (!status) { 16990 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item match_rms"); 16991 return false; 16992 } 16993 psF32 stamps_mean = psMetadataLookupF32(&status, md, "stamps_mean"); 16994 if (!status) { 16995 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item stamps_mean"); 16996 return false; 16997 } 16998 psF32 stamps_stdev = psMetadataLookupF32(&status, md, "stamps_stdev"); 16999 if (!status) { 17000 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item stamps_stdev"); 17001 return false; 17002 } 17003 psS32 stamps_min = psMetadataLookupS32(&status, md, "stamps_min"); 17004 if (!status) { 17005 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item stamps_min"); 17006 return false; 17007 } 17008 psS32 reject_images = psMetadataLookupS32(&status, md, "reject_images"); 17009 if (!status) { 17010 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item reject_images"); 17011 return false; 17012 } 17013 psF32 reject_pix_mean = psMetadataLookupF32(&status, md, "reject_pix_mean"); 17014 if (!status) { 17015 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item reject_pix_mean"); 17016 return false; 17017 } 17018 psF32 reject_pix_stdev = psMetadataLookupF32(&status, md, "reject_pix_stdev"); 17019 if (!status) { 17020 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item reject_pix_stdev"); 17021 return false; 17022 } 17023 psS32 sources = psMetadataLookupS32(&status, md, "sources"); 17024 if (!status) { 17025 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item sources"); 17026 return false; 17027 } 15125 17028 char* hostname = psMetadataLookupPtr(&status, md, "hostname"); 15126 17029 if (!status) { … … 15139 17042 } 15140 17043 15141 return stackSumSkyfileRowAlloc(stack_id, uri, path_base, bg, bg_stdev, dtime_stack, hostname, good_frac, fault);17044 return stackSumSkyfileRowAlloc(stack_id, uri, path_base, bg, bg_stdev, dtime_stack, dtime_match_mean, dtime_match_stdev, dtime_initial, dtime_reject, dtime_final, dtime_phot, dtime_script, match_mean, match_stdev, match_rms, stamps_mean, stamps_stdev, stamps_min, reject_images, reject_pix_mean, reject_pix_stdev, sources, hostname, good_frac, fault); 15142 17045 } 15143 17046 psArray *stackSumSkyfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) … … 15257 17160 static void detRunRowFree(detRunRow *object); 15258 17161 15259 detRunRow *detRunRowAlloc(psS64 det_id, psS32 iteration, const char *det_type, const char *mode, const char *state, const char *filelevel, const char *workdir, const char *camera, const char *telescope, const char *exp_type, const char *reduction, const char *filter, psF32 airmass_min, psF32 airmass_max, psF32 exp_time_min, psF32 exp_time_max, psF32 ccd_temp_min, psF32 ccd_temp_max, psF64 posang_min, psF64 posang_max, psTime* registered, psTime* time_begin, psTime* time_end, psTime* use_begin, psTime* use_end, psF32 solang_min, psF32 solang_max, const char *label, psS 32 parent)17162 detRunRow *detRunRowAlloc(psS64 det_id, psS32 iteration, const char *det_type, const char *mode, const char *state, const char *filelevel, const char *workdir, const char *camera, const char *telescope, const char *exp_type, const char *reduction, const char *filter, psF32 airmass_min, psF32 airmass_max, psF32 exp_time_min, psF32 exp_time_max, psF32 ccd_temp_min, psF32 ccd_temp_max, psF64 posang_min, psF64 posang_max, psTime* registered, psTime* time_begin, psTime* time_end, psTime* use_begin, psTime* use_end, psF32 solang_min, psF32 solang_max, const char *label, psS64 ref_det_id, psS32 ref_iter) 15260 17163 { 15261 17164 detRunRow *_object; … … 15292 17195 _object->solang_max = solang_max; 15293 17196 _object->label = psStringCopy(label); 15294 _object->parent = parent; 17197 _object->ref_det_id = ref_det_id; 17198 _object->ref_iter = ref_iter; 15295 17199 15296 17200 return _object; … … 15460 17364 return false; 15461 17365 } 15462 if (!psMetadataAdd(md, PS_LIST_TAIL, "parent", PS_DATA_S32, "Key", 0)) { 15463 psError(PS_ERR_UNKNOWN, false, "failed to add item parent"); 17366 if (!psMetadataAdd(md, PS_LIST_TAIL, "ref_det_id", PS_DATA_S64, "reference for 'verify' and 'correction' analysis", 0)) { 17367 psError(PS_ERR_UNKNOWN, false, "failed to add item ref_det_id"); 17368 psFree(md); 17369 return false; 17370 } 17371 if (!psMetadataAdd(md, PS_LIST_TAIL, "ref_iter", PS_DATA_S32, "reference for 'verify' and 'correction' analysis", 0)) { 17372 psError(PS_ERR_UNKNOWN, false, "failed to add item ref_iter"); 15464 17373 psFree(md); 15465 17374 return false; … … 15478 17387 } 15479 17388 15480 bool detRunInsert(psDB * dbh, psS64 det_id, psS32 iteration, const char *det_type, const char *mode, const char *state, const char *filelevel, const char *workdir, const char *camera, const char *telescope, const char *exp_type, const char *reduction, const char *filter, psF32 airmass_min, psF32 airmass_max, psF32 exp_time_min, psF32 exp_time_max, psF32 ccd_temp_min, psF32 ccd_temp_max, psF64 posang_min, psF64 posang_max, psTime* registered, psTime* time_begin, psTime* time_end, psTime* use_begin, psTime* use_end, psF32 solang_min, psF32 solang_max, const char *label, psS 32 parent)17389 bool detRunInsert(psDB * dbh, psS64 det_id, psS32 iteration, const char *det_type, const char *mode, const char *state, const char *filelevel, const char *workdir, const char *camera, const char *telescope, const char *exp_type, const char *reduction, const char *filter, psF32 airmass_min, psF32 airmass_max, psF32 exp_time_min, psF32 exp_time_max, psF32 ccd_temp_min, psF32 ccd_temp_max, psF64 posang_min, psF64 posang_max, psTime* registered, psTime* time_begin, psTime* time_end, psTime* use_begin, psTime* use_end, psF32 solang_min, psF32 solang_max, const char *label, psS64 ref_det_id, psS32 ref_iter) 15481 17390 { 15482 17391 psMetadata *md = psMetadataAlloc(); … … 15621 17530 return false; 15622 17531 } 15623 if (!psMetadataAdd(md, PS_LIST_TAIL, "parent", PS_DATA_S32, NULL, parent)) { 15624 psError(PS_ERR_UNKNOWN, false, "failed to add item parent"); 17532 if (!psMetadataAdd(md, PS_LIST_TAIL, "ref_det_id", PS_DATA_S64, NULL, ref_det_id)) { 17533 psError(PS_ERR_UNKNOWN, false, "failed to add item ref_det_id"); 17534 psFree(md); 17535 return false; 17536 } 17537 if (!psMetadataAdd(md, PS_LIST_TAIL, "ref_iter", PS_DATA_S32, NULL, ref_iter)) { 17538 psError(PS_ERR_UNKNOWN, false, "failed to add item ref_iter"); 15625 17539 psFree(md); 15626 17540 return false; … … 15649 17563 bool detRunInsertObject(psDB *dbh, detRunRow *object) 15650 17564 { 15651 return detRunInsert(dbh, object->det_id, object->iteration, object->det_type, object->mode, object->state, object->filelevel, object->workdir, object->camera, object->telescope, object->exp_type, object->reduction, object->filter, object->airmass_min, object->airmass_max, object->exp_time_min, object->exp_time_max, object->ccd_temp_min, object->ccd_temp_max, object->posang_min, object->posang_max, object->registered, object->time_begin, object->time_end, object->use_begin, object->use_end, object->solang_min, object->solang_max, object->label, object-> parent);17565 return detRunInsert(dbh, object->det_id, object->iteration, object->det_type, object->mode, object->state, object->filelevel, object->workdir, object->camera, object->telescope, object->exp_type, object->reduction, object->filter, object->airmass_min, object->airmass_max, object->exp_time_min, object->exp_time_max, object->ccd_temp_min, object->ccd_temp_max, object->posang_min, object->posang_max, object->registered, object->time_begin, object->time_end, object->use_begin, object->use_end, object->solang_min, object->solang_max, object->label, object->ref_det_id, object->ref_iter); 15652 17566 } 15653 17567 … … 15862 17776 return false; 15863 17777 } 15864 if (!psMetadataAdd(md, PS_LIST_TAIL, "parent", PS_DATA_S32, NULL, object->parent)) { 15865 psError(PS_ERR_UNKNOWN, false, "failed to add item parent"); 17778 if (!psMetadataAdd(md, PS_LIST_TAIL, "ref_det_id", PS_DATA_S64, NULL, object->ref_det_id)) { 17779 psError(PS_ERR_UNKNOWN, false, "failed to add item ref_det_id"); 17780 psFree(md); 17781 return false; 17782 } 17783 if (!psMetadataAdd(md, PS_LIST_TAIL, "ref_iter", PS_DATA_S32, NULL, object->ref_iter)) { 17784 psError(PS_ERR_UNKNOWN, false, "failed to add item ref_iter"); 15866 17785 psFree(md); 15867 17786 return false; … … 16016 17935 return false; 16017 17936 } 16018 psS32 parent = psMetadataLookupS32(&status, md, "parent"); 16019 if (!status) { 16020 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item parent"); 16021 return false; 16022 } 16023 16024 return detRunRowAlloc(det_id, iteration, det_type, mode, state, filelevel, workdir, camera, telescope, exp_type, reduction, filter, airmass_min, airmass_max, exp_time_min, exp_time_max, ccd_temp_min, ccd_temp_max, posang_min, posang_max, registered, time_begin, time_end, use_begin, use_end, solang_min, solang_max, label, parent); 17937 psS64 ref_det_id = psMetadataLookupS64(&status, md, "ref_det_id"); 17938 if (!status) { 17939 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ref_det_id"); 17940 return false; 17941 } 17942 psS32 ref_iter = psMetadataLookupS32(&status, md, "ref_iter"); 17943 if (!status) { 17944 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ref_iter"); 17945 return false; 17946 } 17947 17948 return detRunRowAlloc(det_id, iteration, det_type, mode, state, filelevel, workdir, camera, telescope, exp_type, reduction, filter, airmass_min, airmass_max, exp_time_min, exp_time_max, ccd_temp_min, ccd_temp_max, posang_min, posang_max, registered, time_begin, time_end, use_begin, use_end, solang_min, solang_max, label, ref_det_id, ref_iter); 16025 17949 } 16026 17950 psArray *detRunSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) … … 16482 18406 static void detProcessedImfileRowFree(detProcessedImfileRow *object); 16483 18407 16484 detProcessedImfileRow *detProcessedImfileRowAlloc(psS64 det_id, psS64 exp_id, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 fringe_0, psF64 fringe_1, psF64 fringe_2, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, psS16 fault)18408 detProcessedImfileRow *detProcessedImfileRowAlloc(psS64 det_id, psS64 exp_id, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 fringe_0, psF64 fringe_1, psF64 fringe_2, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, const char *data_state, psS16 fault) 16485 18409 { 16486 18410 detProcessedImfileRow *_object; … … 16506 18430 _object->user_5 = user_5; 16507 18431 _object->path_base = psStringCopy(path_base); 18432 _object->data_state = psStringCopy(data_state); 16508 18433 _object->fault = fault; 16509 18434 … … 16517 18442 psFree(object->recipe); 16518 18443 psFree(object->path_base); 18444 psFree(object->data_state); 16519 18445 } 16520 18446 … … 16607 18533 return false; 16608 18534 } 18535 if (!psMetadataAdd(md, PS_LIST_TAIL, "data_state", PS_DATA_STRING, "full, cleaned, purged (only track end states; request states are in detRunSummary by iteration)", "64")) { 18536 psError(PS_ERR_UNKNOWN, false, "failed to add item data_state"); 18537 psFree(md); 18538 return false; 18539 } 16609 18540 if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, "Key NOT NULL", 0)) { 16610 18541 psError(PS_ERR_UNKNOWN, false, "failed to add item fault"); … … 16625 18556 } 16626 18557 16627 bool detProcessedImfileInsert(psDB * dbh, psS64 det_id, psS64 exp_id, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 fringe_0, psF64 fringe_1, psF64 fringe_2, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, psS16 fault)18558 bool detProcessedImfileInsert(psDB * dbh, psS64 det_id, psS64 exp_id, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 fringe_0, psF64 fringe_1, psF64 fringe_2, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, const char *data_state, psS16 fault) 16628 18559 { 16629 18560 psMetadata *md = psMetadataAlloc(); … … 16710 18641 if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, path_base)) { 16711 18642 psError(PS_ERR_UNKNOWN, false, "failed to add item path_base"); 18643 psFree(md); 18644 return false; 18645 } 18646 if (!psMetadataAdd(md, PS_LIST_TAIL, "data_state", PS_DATA_STRING, NULL, data_state)) { 18647 psError(PS_ERR_UNKNOWN, false, "failed to add item data_state"); 16712 18648 psFree(md); 16713 18649 return false; … … 16741 18677 bool detProcessedImfileInsertObject(psDB *dbh, detProcessedImfileRow *object) 16742 18678 { 16743 return detProcessedImfileInsert(dbh, object->det_id, object->exp_id, object->class_id, object->uri, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev, object->fringe_0, object->fringe_1, object->fringe_2, object->user_1, object->user_2, object->user_3, object->user_4, object->user_5, object->path_base, object-> fault);18679 return detProcessedImfileInsert(dbh, object->det_id, object->exp_id, object->class_id, object->uri, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev, object->fringe_0, object->fringe_1, object->fringe_2, object->user_1, object->user_2, object->user_3, object->user_4, object->user_5, object->path_base, object->data_state, object->fault); 16744 18680 } 16745 18681 … … 16899 18835 return false; 16900 18836 } 18837 if (!psMetadataAdd(md, PS_LIST_TAIL, "data_state", PS_DATA_STRING, NULL, object->data_state)) { 18838 psError(PS_ERR_UNKNOWN, false, "failed to add item data_state"); 18839 psFree(md); 18840 return false; 18841 } 16901 18842 if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, NULL, object->fault)) { 16902 18843 psError(PS_ERR_UNKNOWN, false, "failed to add item fault"); … … 16998 18939 return false; 16999 18940 } 18941 char* data_state = psMetadataLookupPtr(&status, md, "data_state"); 18942 if (!status) { 18943 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item data_state"); 18944 return false; 18945 } 17000 18946 psS16 fault = psMetadataLookupS16(&status, md, "fault"); 17001 18947 if (!status) { … … 17004 18950 } 17005 18951 17006 return detProcessedImfileRowAlloc(det_id, exp_id, class_id, uri, recipe, bg, bg_stdev, bg_mean_stdev, fringe_0, fringe_1, fringe_2, user_1, user_2, user_3, user_4, user_5, path_base, fault);18952 return detProcessedImfileRowAlloc(det_id, exp_id, class_id, uri, recipe, bg, bg_stdev, bg_mean_stdev, fringe_0, fringe_1, fringe_2, user_1, user_2, user_3, user_4, user_5, path_base, data_state, fault); 17007 18953 } 17008 18954 psArray *detProcessedImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) … … 17122 19068 static void detProcessedExpRowFree(detProcessedExpRow *object); 17123 19069 17124 detProcessedExpRow *detProcessedExpRowAlloc(psS64 det_id, psS64 exp_id, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 fringe_0, psF64 fringe_1, psF64 fringe_2, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, psS16 fault)19070 detProcessedExpRow *detProcessedExpRowAlloc(psS64 det_id, psS64 exp_id, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 fringe_0, psF64 fringe_1, psF64 fringe_2, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, const char *data_state, psS16 fault) 17125 19071 { 17126 19072 detProcessedExpRow *_object; … … 17144 19090 _object->user_5 = user_5; 17145 19091 _object->path_base = psStringCopy(path_base); 19092 _object->data_state = psStringCopy(data_state); 17146 19093 _object->fault = fault; 17147 19094 … … 17153 19100 psFree(object->recipe); 17154 19101 psFree(object->path_base); 19102 psFree(object->data_state); 17155 19103 } 17156 19104 … … 17233 19181 return false; 17234 19182 } 19183 if (!psMetadataAdd(md, PS_LIST_TAIL, "data_state", PS_DATA_STRING, "full, cleaned, purged (only track end states; request states are in detRunSummary by iteration)", "64")) { 19184 psError(PS_ERR_UNKNOWN, false, "failed to add item data_state"); 19185 psFree(md); 19186 return false; 19187 } 17235 19188 if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, "Key NOT NULL", 0)) { 17236 19189 psError(PS_ERR_UNKNOWN, false, "failed to add item fault"); … … 17251 19204 } 17252 19205 17253 bool detProcessedExpInsert(psDB * dbh, psS64 det_id, psS64 exp_id, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 fringe_0, psF64 fringe_1, psF64 fringe_2, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, psS16 fault)19206 bool detProcessedExpInsert(psDB * dbh, psS64 det_id, psS64 exp_id, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 fringe_0, psF64 fringe_1, psF64 fringe_2, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, const char *data_state, psS16 fault) 17254 19207 { 17255 19208 psMetadata *md = psMetadataAlloc(); … … 17326 19279 if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, path_base)) { 17327 19280 psError(PS_ERR_UNKNOWN, false, "failed to add item path_base"); 19281 psFree(md); 19282 return false; 19283 } 19284 if (!psMetadataAdd(md, PS_LIST_TAIL, "data_state", PS_DATA_STRING, NULL, data_state)) { 19285 psError(PS_ERR_UNKNOWN, false, "failed to add item data_state"); 17328 19286 psFree(md); 17329 19287 return false; … … 17357 19315 bool detProcessedExpInsertObject(psDB *dbh, detProcessedExpRow *object) 17358 19316 { 17359 return detProcessedExpInsert(dbh, object->det_id, object->exp_id, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev, object->fringe_0, object->fringe_1, object->fringe_2, object->user_1, object->user_2, object->user_3, object->user_4, object->user_5, object->path_base, object-> fault);19317 return detProcessedExpInsert(dbh, object->det_id, object->exp_id, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev, object->fringe_0, object->fringe_1, object->fringe_2, object->user_1, object->user_2, object->user_3, object->user_4, object->user_5, object->path_base, object->data_state, object->fault); 17360 19318 } 17361 19319 … … 17505 19463 return false; 17506 19464 } 19465 if (!psMetadataAdd(md, PS_LIST_TAIL, "data_state", PS_DATA_STRING, NULL, object->data_state)) { 19466 psError(PS_ERR_UNKNOWN, false, "failed to add item data_state"); 19467 psFree(md); 19468 return false; 19469 } 17507 19470 if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, NULL, object->fault)) { 17508 19471 psError(PS_ERR_UNKNOWN, false, "failed to add item fault"); … … 17594 19557 return false; 17595 19558 } 19559 char* data_state = psMetadataLookupPtr(&status, md, "data_state"); 19560 if (!status) { 19561 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item data_state"); 19562 return false; 19563 } 17596 19564 psS16 fault = psMetadataLookupS16(&status, md, "fault"); 17597 19565 if (!status) { … … 17600 19568 } 17601 19569 17602 return detProcessedExpRowAlloc(det_id, exp_id, recipe, bg, bg_stdev, bg_mean_stdev, fringe_0, fringe_1, fringe_2, user_1, user_2, user_3, user_4, user_5, path_base, fault);19570 return detProcessedExpRowAlloc(det_id, exp_id, recipe, bg, bg_stdev, bg_mean_stdev, fringe_0, fringe_1, fringe_2, user_1, user_2, user_3, user_4, user_5, path_base, data_state, fault); 17603 19571 } 17604 19572 psArray *detProcessedExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) … … 17718 19686 static void detStackedImfileRowFree(detStackedImfileRow *object); 17719 19687 17720 detStackedImfileRow *detStackedImfileRowAlloc(psS64 det_id, psS32 iteration, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, psS16 fault)19688 detStackedImfileRow *detStackedImfileRowAlloc(psS64 det_id, psS32 iteration, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *data_state, psS16 fault) 17721 19689 { 17722 19690 detStackedImfileRow *_object; … … 17738 19706 _object->user_4 = user_4; 17739 19707 _object->user_5 = user_5; 19708 _object->data_state = psStringCopy(data_state); 17740 19709 _object->fault = fault; 17741 19710 … … 17748 19717 psFree(object->uri); 17749 19718 psFree(object->recipe); 19719 psFree(object->data_state); 17750 19720 } 17751 19721 … … 17818 19788 return false; 17819 19789 } 19790 if (!psMetadataAdd(md, PS_LIST_TAIL, "data_state", PS_DATA_STRING, "full, cleaned, purged (only track end states; request states are in detRunSummary by iteration)", "64")) { 19791 psError(PS_ERR_UNKNOWN, false, "failed to add item data_state"); 19792 psFree(md); 19793 return false; 19794 } 17820 19795 if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, "Key NOT NULL", 0)) { 17821 19796 psError(PS_ERR_UNKNOWN, false, "failed to add item fault"); … … 17836 19811 } 17837 19812 17838 bool detStackedImfileInsert(psDB * dbh, psS64 det_id, psS32 iteration, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, psS16 fault)19813 bool detStackedImfileInsert(psDB * dbh, psS64 det_id, psS32 iteration, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *data_state, psS16 fault) 17839 19814 { 17840 19815 psMetadata *md = psMetadataAlloc(); … … 17901 19876 if (!psMetadataAdd(md, PS_LIST_TAIL, "user_5", PS_DATA_F64, NULL, user_5)) { 17902 19877 psError(PS_ERR_UNKNOWN, false, "failed to add item user_5"); 19878 psFree(md); 19879 return false; 19880 } 19881 if (!psMetadataAdd(md, PS_LIST_TAIL, "data_state", PS_DATA_STRING, NULL, data_state)) { 19882 psError(PS_ERR_UNKNOWN, false, "failed to add item data_state"); 17903 19883 psFree(md); 17904 19884 return false; … … 17932 19912 bool detStackedImfileInsertObject(psDB *dbh, detStackedImfileRow *object) 17933 19913 { 17934 return detStackedImfileInsert(dbh, object->det_id, object->iteration, object->class_id, object->uri, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev, object->user_1, object->user_2, object->user_3, object->user_4, object->user_5, object-> fault);19914 return detStackedImfileInsert(dbh, object->det_id, object->iteration, object->class_id, object->uri, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev, object->user_1, object->user_2, object->user_3, object->user_4, object->user_5, object->data_state, object->fault); 17935 19915 } 17936 19916 … … 18070 20050 return false; 18071 20051 } 20052 if (!psMetadataAdd(md, PS_LIST_TAIL, "data_state", PS_DATA_STRING, NULL, object->data_state)) { 20053 psError(PS_ERR_UNKNOWN, false, "failed to add item data_state"); 20054 psFree(md); 20055 return false; 20056 } 18072 20057 if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, NULL, object->fault)) { 18073 20058 psError(PS_ERR_UNKNOWN, false, "failed to add item fault"); … … 18149 20134 return false; 18150 20135 } 20136 char* data_state = psMetadataLookupPtr(&status, md, "data_state"); 20137 if (!status) { 20138 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item data_state"); 20139 return false; 20140 } 18151 20141 psS16 fault = psMetadataLookupS16(&status, md, "fault"); 18152 20142 if (!status) { … … 18155 20145 } 18156 20146 18157 return detStackedImfileRowAlloc(det_id, iteration, class_id, uri, recipe, bg, bg_stdev, bg_mean_stdev, user_1, user_2, user_3, user_4, user_5, fault);20147 return detStackedImfileRowAlloc(det_id, iteration, class_id, uri, recipe, bg, bg_stdev, bg_mean_stdev, user_1, user_2, user_3, user_4, user_5, data_state, fault); 18158 20148 } 18159 20149 psArray *detStackedImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) … … 18273 20263 static void detNormalizedStatImfileRowFree(detNormalizedStatImfileRow *object); 18274 20264 18275 detNormalizedStatImfileRow *detNormalizedStatImfileRowAlloc(psS64 det_id, psS32 iteration, const char *class_id, psF32 norm, psS16 fault)20265 detNormalizedStatImfileRow *detNormalizedStatImfileRowAlloc(psS64 det_id, psS32 iteration, const char *class_id, psF32 norm, const char *data_state, psS16 fault) 18276 20266 { 18277 20267 detNormalizedStatImfileRow *_object; … … 18284 20274 _object->class_id = psStringCopy(class_id); 18285 20275 _object->norm = norm; 20276 _object->data_state = psStringCopy(data_state); 18286 20277 _object->fault = fault; 18287 20278 … … 18292 20283 { 18293 20284 psFree(object->class_id); 20285 psFree(object->data_state); 18294 20286 } 18295 20287 … … 18317 20309 return false; 18318 20310 } 20311 if (!psMetadataAdd(md, PS_LIST_TAIL, "data_state", PS_DATA_STRING, "full, cleaned, purged (only track end states; request states are in detRunSummary by iteration)", "64")) { 20312 psError(PS_ERR_UNKNOWN, false, "failed to add item data_state"); 20313 psFree(md); 20314 return false; 20315 } 18319 20316 if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, "Key NOT NULL", 0)) { 18320 20317 psError(PS_ERR_UNKNOWN, false, "failed to add item fault"); … … 18335 20332 } 18336 20333 18337 bool detNormalizedStatImfileInsert(psDB * dbh, psS64 det_id, psS32 iteration, const char *class_id, psF32 norm, psS16 fault)20334 bool detNormalizedStatImfileInsert(psDB * dbh, psS64 det_id, psS32 iteration, const char *class_id, psF32 norm, const char *data_state, psS16 fault) 18338 20335 { 18339 20336 psMetadata *md = psMetadataAlloc(); … … 18355 20352 if (!psMetadataAdd(md, PS_LIST_TAIL, "norm", PS_DATA_F32, NULL, norm)) { 18356 20353 psError(PS_ERR_UNKNOWN, false, "failed to add item norm"); 20354 psFree(md); 20355 return false; 20356 } 20357 if (!psMetadataAdd(md, PS_LIST_TAIL, "data_state", PS_DATA_STRING, NULL, data_state)) { 20358 psError(PS_ERR_UNKNOWN, false, "failed to add item data_state"); 18357 20359 psFree(md); 18358 20360 return false; … … 18386 20388 bool detNormalizedStatImfileInsertObject(psDB *dbh, detNormalizedStatImfileRow *object) 18387 20389 { 18388 return detNormalizedStatImfileInsert(dbh, object->det_id, object->iteration, object->class_id, object->norm, object-> fault);20390 return detNormalizedStatImfileInsert(dbh, object->det_id, object->iteration, object->class_id, object->norm, object->data_state, object->fault); 18389 20391 } 18390 20392 … … 18479 20481 return false; 18480 20482 } 20483 if (!psMetadataAdd(md, PS_LIST_TAIL, "data_state", PS_DATA_STRING, NULL, object->data_state)) { 20484 psError(PS_ERR_UNKNOWN, false, "failed to add item data_state"); 20485 psFree(md); 20486 return false; 20487 } 18481 20488 if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, NULL, object->fault)) { 18482 20489 psError(PS_ERR_UNKNOWN, false, "failed to add item fault"); … … 18513 20520 return false; 18514 20521 } 20522 char* data_state = psMetadataLookupPtr(&status, md, "data_state"); 20523 if (!status) { 20524 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item data_state"); 20525 return false; 20526 } 18515 20527 psS16 fault = psMetadataLookupS16(&status, md, "fault"); 18516 20528 if (!status) { … … 18519 20531 } 18520 20532 18521 return detNormalizedStatImfileRowAlloc(det_id, iteration, class_id, norm, fault);20533 return detNormalizedStatImfileRowAlloc(det_id, iteration, class_id, norm, data_state, fault); 18522 20534 } 18523 20535 psArray *detNormalizedStatImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) … … 18637 20649 static void detNormalizedImfileRowFree(detNormalizedImfileRow *object); 18638 20650 18639 detNormalizedImfileRow *detNormalizedImfileRowAlloc(psS64 det_id, psS32 iteration, const char *class_id, const char *uri, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, psS16 fault)20651 detNormalizedImfileRow *detNormalizedImfileRowAlloc(psS64 det_id, psS32 iteration, const char *class_id, const char *uri, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, const char *data_state, psS16 fault) 18640 20652 { 18641 20653 detNormalizedImfileRow *_object; … … 18657 20669 _object->user_5 = user_5; 18658 20670 _object->path_base = psStringCopy(path_base); 20671 _object->data_state = psStringCopy(data_state); 18659 20672 _object->fault = fault; 18660 20673 … … 18667 20680 psFree(object->uri); 18668 20681 psFree(object->path_base); 20682 psFree(object->data_state); 18669 20683 } 18670 20684 … … 18737 20751 return false; 18738 20752 } 20753 if (!psMetadataAdd(md, PS_LIST_TAIL, "data_state", PS_DATA_STRING, "full, cleaned, purged (only track end states; request states are in detRunSummary by iteration)", "64")) { 20754 psError(PS_ERR_UNKNOWN, false, "failed to add item data_state"); 20755 psFree(md); 20756 return false; 20757 } 18739 20758 if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, "Key NOT NULL", 0)) { 18740 20759 psError(PS_ERR_UNKNOWN, false, "failed to add item fault"); … … 18755 20774 } 18756 20775 18757 bool detNormalizedImfileInsert(psDB * dbh, psS64 det_id, psS32 iteration, const char *class_id, const char *uri, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, psS16 fault)20776 bool detNormalizedImfileInsert(psDB * dbh, psS64 det_id, psS32 iteration, const char *class_id, const char *uri, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, const char *data_state, psS16 fault) 18758 20777 { 18759 20778 psMetadata *md = psMetadataAlloc(); … … 18820 20839 if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, path_base)) { 18821 20840 psError(PS_ERR_UNKNOWN, false, "failed to add item path_base"); 20841 psFree(md); 20842 return false; 20843 } 20844 if (!psMetadataAdd(md, PS_LIST_TAIL, "data_state", PS_DATA_STRING, NULL, data_state)) { 20845 psError(PS_ERR_UNKNOWN, false, "failed to add item data_state"); 18822 20846 psFree(md); 18823 20847 return false; … … 18851 20875 bool detNormalizedImfileInsertObject(psDB *dbh, detNormalizedImfileRow *object) 18852 20876 { 18853 return detNormalizedImfileInsert(dbh, object->det_id, object->iteration, object->class_id, object->uri, object->bg, object->bg_stdev, object->bg_mean_stdev, object->user_1, object->user_2, object->user_3, object->user_4, object->user_5, object->path_base, object-> fault);20877 return detNormalizedImfileInsert(dbh, object->det_id, object->iteration, object->class_id, object->uri, object->bg, object->bg_stdev, object->bg_mean_stdev, object->user_1, object->user_2, object->user_3, object->user_4, object->user_5, object->path_base, object->data_state, object->fault); 18854 20878 } 18855 20879 … … 18989 21013 return false; 18990 21014 } 21015 if (!psMetadataAdd(md, PS_LIST_TAIL, "data_state", PS_DATA_STRING, NULL, object->data_state)) { 21016 psError(PS_ERR_UNKNOWN, false, "failed to add item data_state"); 21017 psFree(md); 21018 return false; 21019 } 18991 21020 if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, NULL, object->fault)) { 18992 21021 psError(PS_ERR_UNKNOWN, false, "failed to add item fault"); … … 19068 21097 return false; 19069 21098 } 21099 char* data_state = psMetadataLookupPtr(&status, md, "data_state"); 21100 if (!status) { 21101 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item data_state"); 21102 return false; 21103 } 19070 21104 psS16 fault = psMetadataLookupS16(&status, md, "fault"); 19071 21105 if (!status) { … … 19074 21108 } 19075 21109 19076 return detNormalizedImfileRowAlloc(det_id, iteration, class_id, uri, bg, bg_stdev, bg_mean_stdev, user_1, user_2, user_3, user_4, user_5, path_base, fault);21110 return detNormalizedImfileRowAlloc(det_id, iteration, class_id, uri, bg, bg_stdev, bg_mean_stdev, user_1, user_2, user_3, user_4, user_5, path_base, data_state, fault); 19077 21111 } 19078 21112 psArray *detNormalizedImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) … … 19192 21226 static void detNormalizedExpRowFree(detNormalizedExpRow *object); 19193 21227 19194 detNormalizedExpRow *detNormalizedExpRowAlloc(psS64 det_id, psS32 iteration, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, psS16 fault)21228 detNormalizedExpRow *detNormalizedExpRowAlloc(psS64 det_id, psS32 iteration, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, const char *data_state, psS16 fault) 19195 21229 { 19196 21230 detNormalizedExpRow *_object; … … 19211 21245 _object->user_5 = user_5; 19212 21246 _object->path_base = psStringCopy(path_base); 21247 _object->data_state = psStringCopy(data_state); 19213 21248 _object->fault = fault; 19214 21249 … … 19220 21255 psFree(object->recipe); 19221 21256 psFree(object->path_base); 21257 psFree(object->data_state); 19222 21258 } 19223 21259 … … 19285 21321 return false; 19286 21322 } 21323 if (!psMetadataAdd(md, PS_LIST_TAIL, "data_state", PS_DATA_STRING, "full, cleaned, purged (only track end states; request states are in detRunSummary by iteration)", "64")) { 21324 psError(PS_ERR_UNKNOWN, false, "failed to add item data_state"); 21325 psFree(md); 21326 return false; 21327 } 19287 21328 if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, "Key NOT NULL", 0)) { 19288 21329 psError(PS_ERR_UNKNOWN, false, "failed to add item fault"); … … 19303 21344 } 19304 21345 19305 bool detNormalizedExpInsert(psDB * dbh, psS64 det_id, psS32 iteration, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, psS16 fault)21346 bool detNormalizedExpInsert(psDB * dbh, psS64 det_id, psS32 iteration, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, const char *data_state, psS16 fault) 19306 21347 { 19307 21348 psMetadata *md = psMetadataAlloc(); … … 19363 21404 if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, path_base)) { 19364 21405 psError(PS_ERR_UNKNOWN, false, "failed to add item path_base"); 21406 psFree(md); 21407 return false; 21408 } 21409 if (!psMetadataAdd(md, PS_LIST_TAIL, "data_state", PS_DATA_STRING, NULL, data_state)) { 21410 psError(PS_ERR_UNKNOWN, false, "failed to add item data_state"); 19365 21411 psFree(md); 19366 21412 return false; … … 19394 21440 bool detNormalizedExpInsertObject(psDB *dbh, detNormalizedExpRow *object) 19395 21441 { 19396 return detNormalizedExpInsert(dbh, object->det_id, object->iteration, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev, object->user_1, object->user_2, object->user_3, object->user_4, object->user_5, object->path_base, object-> fault);21442 return detNormalizedExpInsert(dbh, object->det_id, object->iteration, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev, object->user_1, object->user_2, object->user_3, object->user_4, object->user_5, object->path_base, object->data_state, object->fault); 19397 21443 } 19398 21444 … … 19527 21573 return false; 19528 21574 } 21575 if (!psMetadataAdd(md, PS_LIST_TAIL, "data_state", PS_DATA_STRING, NULL, object->data_state)) { 21576 psError(PS_ERR_UNKNOWN, false, "failed to add item data_state"); 21577 psFree(md); 21578 return false; 21579 } 19529 21580 if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, NULL, object->fault)) { 19530 21581 psError(PS_ERR_UNKNOWN, false, "failed to add item fault"); … … 19601 21652 return false; 19602 21653 } 21654 char* data_state = psMetadataLookupPtr(&status, md, "data_state"); 21655 if (!status) { 21656 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item data_state"); 21657 return false; 21658 } 19603 21659 psS16 fault = psMetadataLookupS16(&status, md, "fault"); 19604 21660 if (!status) { … … 19607 21663 } 19608 21664 19609 return detNormalizedExpRowAlloc(det_id, iteration, recipe, bg, bg_stdev, bg_mean_stdev, user_1, user_2, user_3, user_4, user_5, path_base, fault);21665 return detNormalizedExpRowAlloc(det_id, iteration, recipe, bg, bg_stdev, bg_mean_stdev, user_1, user_2, user_3, user_4, user_5, path_base, data_state, fault); 19610 21666 } 19611 21667 psArray *detNormalizedExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) … … 19725 21781 static void detResidImfileRowFree(detResidImfileRow *object); 19726 21782 19727 detResidImfileRow *detResidImfileRowAlloc(psS64 det_id, psS32 iteration, psS64 exp_id, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 bg_skewness, psF64 bg_kurtosis, psF64 bin_stdev, psF64 fringe_0, psF64 fringe_1, psF64 fringe_2, psF64 fringe_resid_0, psF64 fringe_resid_1, psF64 fringe_resid_2, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, psS16 fault)21783 detResidImfileRow *detResidImfileRowAlloc(psS64 det_id, psS32 iteration, psS64 ref_det_id, psS32 ref_iter, psS64 exp_id, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 bg_skewness, psF64 bg_kurtosis, psF64 bin_stdev, psF64 fringe_0, psF64 fringe_1, psF64 fringe_2, psF64 fringe_resid_0, psF64 fringe_resid_1, psF64 fringe_resid_2, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, const char *data_state, psS16 fault) 19728 21784 { 19729 21785 detResidImfileRow *_object; … … 19734 21790 _object->det_id = det_id; 19735 21791 _object->iteration = iteration; 21792 _object->ref_det_id = ref_det_id; 21793 _object->ref_iter = ref_iter; 19736 21794 _object->exp_id = exp_id; 19737 21795 _object->class_id = psStringCopy(class_id); … … 19756 21814 _object->user_5 = user_5; 19757 21815 _object->path_base = psStringCopy(path_base); 21816 _object->data_state = psStringCopy(data_state); 19758 21817 _object->fault = fault; 19759 21818 … … 19767 21826 psFree(object->recipe); 19768 21827 psFree(object->path_base); 21828 psFree(object->data_state); 19769 21829 } 19770 21830 … … 19782 21842 return false; 19783 21843 } 21844 if (!psMetadataAdd(md, PS_LIST_TAIL, "ref_det_id", PS_DATA_S64, "detrend master actually applied (same as above for 'master', but not for 'verify')", 0)) { 21845 psError(PS_ERR_UNKNOWN, false, "failed to add item ref_det_id"); 21846 psFree(md); 21847 return false; 21848 } 21849 if (!psMetadataAdd(md, PS_LIST_TAIL, "ref_iter", PS_DATA_S32, "detrend master actually applied (same as above for 'master', but not for 'verify')", 0)) { 21850 psError(PS_ERR_UNKNOWN, false, "failed to add item ref_iter"); 21851 psFree(md); 21852 return false; 21853 } 19784 21854 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_id", PS_DATA_S64, "Primary Key fkey(det_id, iteration) ref detNormalizedExp(det_id, iteration)", 64)) { 19785 21855 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id"); … … 19892 21962 return false; 19893 21963 } 21964 if (!psMetadataAdd(md, PS_LIST_TAIL, "data_state", PS_DATA_STRING, "full, cleaned, purged (only track end states; request states are in detRunSummary by iteration)", "64")) { 21965 psError(PS_ERR_UNKNOWN, false, "failed to add item data_state"); 21966 psFree(md); 21967 return false; 21968 } 19894 21969 if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, "Key NOT NULL", 0)) { 19895 21970 psError(PS_ERR_UNKNOWN, false, "failed to add item fault"); … … 19910 21985 } 19911 21986 19912 bool detResidImfileInsert(psDB * dbh, psS64 det_id, psS32 iteration, psS64 exp_id, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 bg_skewness, psF64 bg_kurtosis, psF64 bin_stdev, psF64 fringe_0, psF64 fringe_1, psF64 fringe_2, psF64 fringe_resid_0, psF64 fringe_resid_1, psF64 fringe_resid_2, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, psS16 fault)21987 bool detResidImfileInsert(psDB * dbh, psS64 det_id, psS32 iteration, psS64 ref_det_id, psS32 ref_iter, psS64 exp_id, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 bg_skewness, psF64 bg_kurtosis, psF64 bin_stdev, psF64 fringe_0, psF64 fringe_1, psF64 fringe_2, psF64 fringe_resid_0, psF64 fringe_resid_1, psF64 fringe_resid_2, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, const char *data_state, psS16 fault) 19913 21988 { 19914 21989 psMetadata *md = psMetadataAlloc(); … … 19923 21998 return false; 19924 21999 } 22000 if (!psMetadataAdd(md, PS_LIST_TAIL, "ref_det_id", PS_DATA_S64, NULL, ref_det_id)) { 22001 psError(PS_ERR_UNKNOWN, false, "failed to add item ref_det_id"); 22002 psFree(md); 22003 return false; 22004 } 22005 if (!psMetadataAdd(md, PS_LIST_TAIL, "ref_iter", PS_DATA_S32, NULL, ref_iter)) { 22006 psError(PS_ERR_UNKNOWN, false, "failed to add item ref_iter"); 22007 psFree(md); 22008 return false; 22009 } 19925 22010 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_id", PS_DATA_S64, NULL, exp_id)) { 19926 22011 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id"); … … 20030 22115 if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, path_base)) { 20031 22116 psError(PS_ERR_UNKNOWN, false, "failed to add item path_base"); 22117 psFree(md); 22118 return false; 22119 } 22120 if (!psMetadataAdd(md, PS_LIST_TAIL, "data_state", PS_DATA_STRING, NULL, data_state)) { 22121 psError(PS_ERR_UNKNOWN, false, "failed to add item data_state"); 20032 22122 psFree(md); 20033 22123 return false; … … 20061 22151 bool detResidImfileInsertObject(psDB *dbh, detResidImfileRow *object) 20062 22152 { 20063 return detResidImfileInsert(dbh, object->det_id, object->iteration, object-> exp_id, object->class_id, object->uri, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev, object->bg_skewness, object->bg_kurtosis, object->bin_stdev, object->fringe_0, object->fringe_1, object->fringe_2, object->fringe_resid_0, object->fringe_resid_1, object->fringe_resid_2, object->user_1, object->user_2, object->user_3, object->user_4, object->user_5, object->path_base, object->fault);22153 return detResidImfileInsert(dbh, object->det_id, object->iteration, object->ref_det_id, object->ref_iter, object->exp_id, object->class_id, object->uri, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev, object->bg_skewness, object->bg_kurtosis, object->bin_stdev, object->fringe_0, object->fringe_1, object->fringe_2, object->fringe_resid_0, object->fringe_resid_1, object->fringe_resid_2, object->user_1, object->user_2, object->user_3, object->user_4, object->user_5, object->path_base, object->data_state, object->fault); 20064 22154 } 20065 22155 … … 20144 22234 return false; 20145 22235 } 22236 if (!psMetadataAdd(md, PS_LIST_TAIL, "ref_det_id", PS_DATA_S64, NULL, object->ref_det_id)) { 22237 psError(PS_ERR_UNKNOWN, false, "failed to add item ref_det_id"); 22238 psFree(md); 22239 return false; 22240 } 22241 if (!psMetadataAdd(md, PS_LIST_TAIL, "ref_iter", PS_DATA_S32, NULL, object->ref_iter)) { 22242 psError(PS_ERR_UNKNOWN, false, "failed to add item ref_iter"); 22243 psFree(md); 22244 return false; 22245 } 20146 22246 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_id", PS_DATA_S64, NULL, object->exp_id)) { 20147 22247 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id"); … … 20254 22354 return false; 20255 22355 } 22356 if (!psMetadataAdd(md, PS_LIST_TAIL, "data_state", PS_DATA_STRING, NULL, object->data_state)) { 22357 psError(PS_ERR_UNKNOWN, false, "failed to add item data_state"); 22358 psFree(md); 22359 return false; 22360 } 20256 22361 if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, NULL, object->fault)) { 20257 22362 psError(PS_ERR_UNKNOWN, false, "failed to add item fault"); … … 20278 22383 return false; 20279 22384 } 22385 psS64 ref_det_id = psMetadataLookupS64(&status, md, "ref_det_id"); 22386 if (!status) { 22387 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ref_det_id"); 22388 return false; 22389 } 22390 psS32 ref_iter = psMetadataLookupS32(&status, md, "ref_iter"); 22391 if (!status) { 22392 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ref_iter"); 22393 return false; 22394 } 20280 22395 psS64 exp_id = psMetadataLookupS64(&status, md, "exp_id"); 20281 22396 if (!status) { … … 20388 22503 return false; 20389 22504 } 22505 char* data_state = psMetadataLookupPtr(&status, md, "data_state"); 22506 if (!status) { 22507 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item data_state"); 22508 return false; 22509 } 20390 22510 psS16 fault = psMetadataLookupS16(&status, md, "fault"); 20391 22511 if (!status) { … … 20394 22514 } 20395 22515 20396 return detResidImfileRowAlloc(det_id, iteration, exp_id, class_id, uri, recipe, bg, bg_stdev, bg_mean_stdev, bg_skewness, bg_kurtosis, bin_stdev, fringe_0, fringe_1, fringe_2, fringe_resid_0, fringe_resid_1, fringe_resid_2, user_1, user_2, user_3, user_4, user_5, path_base, fault);22516 return detResidImfileRowAlloc(det_id, iteration, ref_det_id, ref_iter, exp_id, class_id, uri, recipe, bg, bg_stdev, bg_mean_stdev, bg_skewness, bg_kurtosis, bin_stdev, fringe_0, fringe_1, fringe_2, fringe_resid_0, fringe_resid_1, fringe_resid_2, user_1, user_2, user_3, user_4, user_5, path_base, data_state, fault); 20397 22517 } 20398 22518 psArray *detResidImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) … … 20512 22632 static void detResidExpRowFree(detResidExpRow *object); 20513 22633 20514 detResidExpRow *detResidExpRowAlloc(psS64 det_id, psS32 iteration, psS64 exp_id, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 bg_skewness, psF64 bg_kurtosis, psF64 bin_stdev, psF64 fringe_0, psF64 fringe_1, psF64 fringe_2, psF64 fringe_resid_0, psF64 fringe_resid_1, psF64 fringe_resid_2, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, bool accept, psS16 fault)22634 detResidExpRow *detResidExpRowAlloc(psS64 det_id, psS32 iteration, psS64 exp_id, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 bg_skewness, psF64 bg_kurtosis, psF64 bin_stdev, psF64 fringe_0, psF64 fringe_1, psF64 fringe_2, psF64 fringe_resid_0, psF64 fringe_resid_1, psF64 fringe_resid_2, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, const char *data_state, bool accept, psS16 fault) 20515 22635 { 20516 22636 detResidExpRow *_object; … … 20541 22661 _object->user_5 = user_5; 20542 22662 _object->path_base = psStringCopy(path_base); 22663 _object->data_state = psStringCopy(data_state); 20543 22664 _object->accept = accept; 20544 22665 _object->fault = fault; … … 20551 22672 psFree(object->recipe); 20552 22673 psFree(object->path_base); 22674 psFree(object->data_state); 20553 22675 } 20554 22676 … … 20666 22788 return false; 20667 22789 } 22790 if (!psMetadataAdd(md, PS_LIST_TAIL, "data_state", PS_DATA_STRING, "full, cleaned, purged (only track end states; request states are in detRunSummary by iteration)", "64")) { 22791 psError(PS_ERR_UNKNOWN, false, "failed to add item data_state"); 22792 psFree(md); 22793 return false; 22794 } 20668 22795 if (!psMetadataAdd(md, PS_LIST_TAIL, "accept", PS_DATA_BOOL, NULL, 0)) { 20669 22796 psError(PS_ERR_UNKNOWN, false, "failed to add item accept"); … … 20689 22816 } 20690 22817 20691 bool detResidExpInsert(psDB * dbh, psS64 det_id, psS32 iteration, psS64 exp_id, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 bg_skewness, psF64 bg_kurtosis, psF64 bin_stdev, psF64 fringe_0, psF64 fringe_1, psF64 fringe_2, psF64 fringe_resid_0, psF64 fringe_resid_1, psF64 fringe_resid_2, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, bool accept, psS16 fault)22818 bool detResidExpInsert(psDB * dbh, psS64 det_id, psS32 iteration, psS64 exp_id, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 bg_skewness, psF64 bg_kurtosis, psF64 bin_stdev, psF64 fringe_0, psF64 fringe_1, psF64 fringe_2, psF64 fringe_resid_0, psF64 fringe_resid_1, psF64 fringe_resid_2, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, const char *data_state, bool accept, psS16 fault) 20692 22819 { 20693 22820 psMetadata *md = psMetadataAlloc(); … … 20799 22926 if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, path_base)) { 20800 22927 psError(PS_ERR_UNKNOWN, false, "failed to add item path_base"); 22928 psFree(md); 22929 return false; 22930 } 22931 if (!psMetadataAdd(md, PS_LIST_TAIL, "data_state", PS_DATA_STRING, NULL, data_state)) { 22932 psError(PS_ERR_UNKNOWN, false, "failed to add item data_state"); 20801 22933 psFree(md); 20802 22934 return false; … … 20835 22967 bool detResidExpInsertObject(psDB *dbh, detResidExpRow *object) 20836 22968 { 20837 return detResidExpInsert(dbh, object->det_id, object->iteration, object->exp_id, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev, object->bg_skewness, object->bg_kurtosis, object->bin_stdev, object->fringe_0, object->fringe_1, object->fringe_2, object->fringe_resid_0, object->fringe_resid_1, object->fringe_resid_2, object->user_1, object->user_2, object->user_3, object->user_4, object->user_5, object->path_base, object-> accept, object->fault);22969 return detResidExpInsert(dbh, object->det_id, object->iteration, object->exp_id, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev, object->bg_skewness, object->bg_kurtosis, object->bin_stdev, object->fringe_0, object->fringe_1, object->fringe_2, object->fringe_resid_0, object->fringe_resid_1, object->fringe_resid_2, object->user_1, object->user_2, object->user_3, object->user_4, object->user_5, object->path_base, object->data_state, object->accept, object->fault); 20838 22970 } 20839 22971 … … 21018 23150 return false; 21019 23151 } 23152 if (!psMetadataAdd(md, PS_LIST_TAIL, "data_state", PS_DATA_STRING, NULL, object->data_state)) { 23153 psError(PS_ERR_UNKNOWN, false, "failed to add item data_state"); 23154 psFree(md); 23155 return false; 23156 } 21020 23157 if (!psMetadataAdd(md, PS_LIST_TAIL, "accept", PS_DATA_BOOL, NULL, object->accept)) { 21021 23158 psError(PS_ERR_UNKNOWN, false, "failed to add item accept"); … … 21147 23284 return false; 21148 23285 } 23286 char* data_state = psMetadataLookupPtr(&status, md, "data_state"); 23287 if (!status) { 23288 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item data_state"); 23289 return false; 23290 } 21149 23291 bool accept = psMetadataLookupBool(&status, md, "accept"); 21150 23292 if (!status) { … … 21158 23300 } 21159 23301 21160 return detResidExpRowAlloc(det_id, iteration, exp_id, recipe, bg, bg_stdev, bg_mean_stdev, bg_skewness, bg_kurtosis, bin_stdev, fringe_0, fringe_1, fringe_2, fringe_resid_0, fringe_resid_1, fringe_resid_2, user_1, user_2, user_3, user_4, user_5, path_base, accept, fault);23302 return detResidExpRowAlloc(det_id, iteration, exp_id, recipe, bg, bg_stdev, bg_mean_stdev, bg_skewness, bg_kurtosis, bin_stdev, fringe_0, fringe_1, fringe_2, fringe_resid_0, fringe_resid_1, fringe_resid_2, user_1, user_2, user_3, user_4, user_5, path_base, data_state, accept, fault); 21161 23303 } 21162 23304 psArray *detResidExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) … … 21276 23418 static void detRunSummaryRowFree(detRunSummaryRow *object); 21277 23419 21278 detRunSummaryRow *detRunSummaryRowAlloc(psS64 det_id, psS32 iteration, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, bool accept, psS16 fault)23420 detRunSummaryRow *detRunSummaryRowAlloc(psS64 det_id, psS32 iteration, const char *data_state, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, bool accept, psS16 fault) 21279 23421 { 21280 23422 detRunSummaryRow *_object; … … 21285 23427 _object->det_id = det_id; 21286 23428 _object->iteration = iteration; 23429 _object->data_state = psStringCopy(data_state); 21287 23430 _object->bg = bg; 21288 23431 _object->bg_stdev = bg_stdev; … … 21296 23439 static void detRunSummaryRowFree(detRunSummaryRow *object) 21297 23440 { 23441 psFree(object->data_state); 21298 23442 } 21299 23443 … … 21311 23455 return false; 21312 23456 } 23457 if (!psMetadataAdd(md, PS_LIST_TAIL, "data_state", PS_DATA_STRING, "full, goto_cleaned, cleaned, goto_full, goto_purged, purged", "64")) { 23458 psError(PS_ERR_UNKNOWN, false, "failed to add item data_state"); 23459 psFree(md); 23460 return false; 23461 } 21313 23462 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, 0.0)) { 21314 23463 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); … … 21349 23498 } 21350 23499 21351 bool detRunSummaryInsert(psDB * dbh, psS64 det_id, psS32 iteration, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, bool accept, psS16 fault)23500 bool detRunSummaryInsert(psDB * dbh, psS64 det_id, psS32 iteration, const char *data_state, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, bool accept, psS16 fault) 21352 23501 { 21353 23502 psMetadata *md = psMetadataAlloc(); … … 21359 23508 if (!psMetadataAdd(md, PS_LIST_TAIL, "iteration", PS_DATA_S32, NULL, iteration)) { 21360 23509 psError(PS_ERR_UNKNOWN, false, "failed to add item iteration"); 23510 psFree(md); 23511 return false; 23512 } 23513 if (!psMetadataAdd(md, PS_LIST_TAIL, "data_state", PS_DATA_STRING, NULL, data_state)) { 23514 psError(PS_ERR_UNKNOWN, false, "failed to add item data_state"); 21361 23515 psFree(md); 21362 23516 return false; … … 21410 23564 bool detRunSummaryInsertObject(psDB *dbh, detRunSummaryRow *object) 21411 23565 { 21412 return detRunSummaryInsert(dbh, object->det_id, object->iteration, object-> bg, object->bg_stdev, object->bg_mean_stdev, object->accept, object->fault);23566 return detRunSummaryInsert(dbh, object->det_id, object->iteration, object->data_state, object->bg, object->bg_stdev, object->bg_mean_stdev, object->accept, object->fault); 21413 23567 } 21414 23568 … … 21493 23647 return false; 21494 23648 } 23649 if (!psMetadataAdd(md, PS_LIST_TAIL, "data_state", PS_DATA_STRING, NULL, object->data_state)) { 23650 psError(PS_ERR_UNKNOWN, false, "failed to add item data_state"); 23651 psFree(md); 23652 return false; 23653 } 21495 23654 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, object->bg)) { 21496 23655 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); … … 21537 23696 return false; 21538 23697 } 23698 char* data_state = psMetadataLookupPtr(&status, md, "data_state"); 23699 if (!status) { 23700 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item data_state"); 23701 return false; 23702 } 21539 23703 psF64 bg = psMetadataLookupF64(&status, md, "bg"); 21540 23704 if (!status) { … … 21563 23727 } 21564 23728 21565 return detRunSummaryRowAlloc(det_id, iteration, bg, bg_stdev, bg_mean_stdev, accept, fault);23729 return detRunSummaryRowAlloc(det_id, iteration, data_state, bg, bg_stdev, bg_mean_stdev, accept, fault); 21566 23730 } 21567 23731 psArray *detRunSummarySelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) … … 21681 23845 static void detRegisteredImfileRowFree(detRegisteredImfileRow *object); 21682 23846 21683 detRegisteredImfileRow *detRegisteredImfileRowAlloc(psS64 det_id, psS32 iteration, const char *class_id, const char *uri, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, psS16 fault)23847 detRegisteredImfileRow *detRegisteredImfileRowAlloc(psS64 det_id, psS32 iteration, const char *class_id, const char *uri, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, const char *data_state, psS16 fault) 21684 23848 { 21685 23849 detRegisteredImfileRow *_object; … … 21701 23865 _object->user_5 = user_5; 21702 23866 _object->path_base = psStringCopy(path_base); 23867 _object->data_state = psStringCopy(data_state); 21703 23868 _object->fault = fault; 21704 23869 … … 21711 23876 psFree(object->uri); 21712 23877 psFree(object->path_base); 23878 psFree(object->data_state); 21713 23879 } 21714 23880 … … 21781 23947 return false; 21782 23948 } 23949 if (!psMetadataAdd(md, PS_LIST_TAIL, "data_state", PS_DATA_STRING, "full, cleaned, purged (only track end states; request states are in detRunSummary by iteration)", "64")) { 23950 psError(PS_ERR_UNKNOWN, false, "failed to add item data_state"); 23951 psFree(md); 23952 return false; 23953 } 21783 23954 if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, "Key NOT NULL", 0)) { 21784 23955 psError(PS_ERR_UNKNOWN, false, "failed to add item fault"); … … 21799 23970 } 21800 23971 21801 bool detRegisteredImfileInsert(psDB * dbh, psS64 det_id, psS32 iteration, const char *class_id, const char *uri, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, psS16 fault)23972 bool detRegisteredImfileInsert(psDB * dbh, psS64 det_id, psS32 iteration, const char *class_id, const char *uri, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, const char *data_state, psS16 fault) 21802 23973 { 21803 23974 psMetadata *md = psMetadataAlloc(); … … 21864 24035 if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, path_base)) { 21865 24036 psError(PS_ERR_UNKNOWN, false, "failed to add item path_base"); 24037 psFree(md); 24038 return false; 24039 } 24040 if (!psMetadataAdd(md, PS_LIST_TAIL, "data_state", PS_DATA_STRING, NULL, data_state)) { 24041 psError(PS_ERR_UNKNOWN, false, "failed to add item data_state"); 21866 24042 psFree(md); 21867 24043 return false; … … 21895 24071 bool detRegisteredImfileInsertObject(psDB *dbh, detRegisteredImfileRow *object) 21896 24072 { 21897 return detRegisteredImfileInsert(dbh, object->det_id, object->iteration, object->class_id, object->uri, object->bg, object->bg_stdev, object->bg_mean_stdev, object->user_1, object->user_2, object->user_3, object->user_4, object->user_5, object->path_base, object-> fault);24073 return detRegisteredImfileInsert(dbh, object->det_id, object->iteration, object->class_id, object->uri, object->bg, object->bg_stdev, object->bg_mean_stdev, object->user_1, object->user_2, object->user_3, object->user_4, object->user_5, object->path_base, object->data_state, object->fault); 21898 24074 } 21899 24075 … … 22033 24209 return false; 22034 24210 } 24211 if (!psMetadataAdd(md, PS_LIST_TAIL, "data_state", PS_DATA_STRING, NULL, object->data_state)) { 24212 psError(PS_ERR_UNKNOWN, false, "failed to add item data_state"); 24213 psFree(md); 24214 return false; 24215 } 22035 24216 if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, NULL, object->fault)) { 22036 24217 psError(PS_ERR_UNKNOWN, false, "failed to add item fault"); … … 22112 24293 return false; 22113 24294 } 24295 char* data_state = psMetadataLookupPtr(&status, md, "data_state"); 24296 if (!status) { 24297 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item data_state"); 24298 return false; 24299 } 22114 24300 psS16 fault = psMetadataLookupS16(&status, md, "fault"); 22115 24301 if (!status) { … … 22118 24304 } 22119 24305 22120 return detRegisteredImfileRowAlloc(det_id, iteration, class_id, uri, bg, bg_stdev, bg_mean_stdev, user_1, user_2, user_3, user_4, user_5, path_base, fault);24306 return detRegisteredImfileRowAlloc(det_id, iteration, class_id, uri, bg, bg_stdev, bg_mean_stdev, user_1, user_2, user_3, user_4, user_5, path_base, data_state, fault); 22121 24307 } 22122 24308 psArray *detRegisteredImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) … … 25506 27692 static void flatcorrRunRowFree(flatcorrRunRow *object); 25507 27693 25508 flatcorrRunRow *flatcorrRunRowAlloc(psS64 corr_id, const char *dvodb, const char *filter, const char *state, const char *workdir, const char *label, const char * stats, const char *region)27694 flatcorrRunRow *flatcorrRunRowAlloc(psS64 corr_id, const char *dvodb, const char *filter, const char *state, const char *workdir, const char *label, const char *reduction, const char *region, const char *hostname, psS16 fault) 25509 27695 { 25510 27696 flatcorrRunRow *_object; … … 25519 27705 _object->workdir = psStringCopy(workdir); 25520 27706 _object->label = psStringCopy(label); 25521 _object-> stats = psStringCopy(stats);27707 _object->reduction = psStringCopy(reduction); 25522 27708 _object->region = psStringCopy(region); 27709 _object->hostname = psStringCopy(hostname); 27710 _object->fault = fault; 25523 27711 25524 27712 return _object; … … 25532 27720 psFree(object->workdir); 25533 27721 psFree(object->label); 25534 psFree(object-> stats);27722 psFree(object->reduction); 25535 27723 psFree(object->region); 27724 psFree(object->hostname); 25536 27725 } 25537 27726 … … 25569 27758 return false; 25570 27759 } 25571 if (!psMetadataAdd(md, PS_LIST_TAIL, " stats", PS_DATA_STRING, NULL, "255")) {25572 psError(PS_ERR_UNKNOWN, false, "failed to add item stats");25573 psFree(md); 25574 return false; 25575 } 25576 if (!psMetadataAdd(md, PS_LIST_TAIL, "region", PS_DATA_STRING, NULL, " 255")) {27760 if (!psMetadataAdd(md, PS_LIST_TAIL, "reduction", PS_DATA_STRING, NULL, "64")) { 27761 psError(PS_ERR_UNKNOWN, false, "failed to add item reduction"); 27762 psFree(md); 27763 return false; 27764 } 27765 if (!psMetadataAdd(md, PS_LIST_TAIL, "region", PS_DATA_STRING, NULL, "64")) { 25577 27766 psError(PS_ERR_UNKNOWN, false, "failed to add item region"); 25578 27767 psFree(md); 25579 27768 return false; 25580 27769 } 27770 if (!psMetadataAdd(md, PS_LIST_TAIL, "hostname", PS_DATA_STRING, NULL, "64")) { 27771 psError(PS_ERR_UNKNOWN, false, "failed to add item hostname"); 27772 psFree(md); 27773 return false; 27774 } 27775 if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, "Key NOT NULL", 0)) { 27776 psError(PS_ERR_UNKNOWN, false, "failed to add item fault"); 27777 psFree(md); 27778 return false; 27779 } 25581 27780 25582 27781 bool status = psDBCreateTable(dbh, FLATCORRRUN_TABLE_NAME, md); … … 25592 27791 } 25593 27792 25594 bool flatcorrRunInsert(psDB * dbh, psS64 corr_id, const char *dvodb, const char *filter, const char *state, const char *workdir, const char *label, const char * stats, const char *region)27793 bool flatcorrRunInsert(psDB * dbh, psS64 corr_id, const char *dvodb, const char *filter, const char *state, const char *workdir, const char *label, const char *reduction, const char *region, const char *hostname, psS16 fault) 25595 27794 { 25596 27795 psMetadata *md = psMetadataAlloc(); … … 25625 27824 return false; 25626 27825 } 25627 if (!psMetadataAdd(md, PS_LIST_TAIL, " stats", PS_DATA_STRING, NULL, stats)) {25628 psError(PS_ERR_UNKNOWN, false, "failed to add item stats");27826 if (!psMetadataAdd(md, PS_LIST_TAIL, "reduction", PS_DATA_STRING, NULL, reduction)) { 27827 psError(PS_ERR_UNKNOWN, false, "failed to add item reduction"); 25629 27828 psFree(md); 25630 27829 return false; … … 25632 27831 if (!psMetadataAdd(md, PS_LIST_TAIL, "region", PS_DATA_STRING, NULL, region)) { 25633 27832 psError(PS_ERR_UNKNOWN, false, "failed to add item region"); 27833 psFree(md); 27834 return false; 27835 } 27836 if (!psMetadataAdd(md, PS_LIST_TAIL, "hostname", PS_DATA_STRING, NULL, hostname)) { 27837 psError(PS_ERR_UNKNOWN, false, "failed to add item hostname"); 27838 psFree(md); 27839 return false; 27840 } 27841 if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, NULL, fault)) { 27842 psError(PS_ERR_UNKNOWN, false, "failed to add item fault"); 25634 27843 psFree(md); 25635 27844 return false; … … 25658 27867 bool flatcorrRunInsertObject(psDB *dbh, flatcorrRunRow *object) 25659 27868 { 25660 return flatcorrRunInsert(dbh, object->corr_id, object->dvodb, object->filter, object->state, object->workdir, object->label, object-> stats, object->region);27869 return flatcorrRunInsert(dbh, object->corr_id, object->dvodb, object->filter, object->state, object->workdir, object->label, object->reduction, object->region, object->hostname, object->fault); 25661 27870 } 25662 27871 … … 25761 27970 return false; 25762 27971 } 25763 if (!psMetadataAdd(md, PS_LIST_TAIL, " stats", PS_DATA_STRING, NULL, object->stats)) {25764 psError(PS_ERR_UNKNOWN, false, "failed to add item stats");27972 if (!psMetadataAdd(md, PS_LIST_TAIL, "reduction", PS_DATA_STRING, NULL, object->reduction)) { 27973 psError(PS_ERR_UNKNOWN, false, "failed to add item reduction"); 25765 27974 psFree(md); 25766 27975 return false; … … 25771 27980 return false; 25772 27981 } 27982 if (!psMetadataAdd(md, PS_LIST_TAIL, "hostname", PS_DATA_STRING, NULL, object->hostname)) { 27983 psError(PS_ERR_UNKNOWN, false, "failed to add item hostname"); 27984 psFree(md); 27985 return false; 27986 } 27987 if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, NULL, object->fault)) { 27988 psError(PS_ERR_UNKNOWN, false, "failed to add item fault"); 27989 psFree(md); 27990 return false; 27991 } 25773 27992 25774 27993 … … 25810 28029 return false; 25811 28030 } 25812 char* stats = psMetadataLookupPtr(&status, md, "stats");25813 if (!status) { 25814 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item stats");28031 char* reduction = psMetadataLookupPtr(&status, md, "reduction"); 28032 if (!status) { 28033 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item reduction"); 25815 28034 return false; 25816 28035 } … … 25820 28039 return false; 25821 28040 } 25822 25823 return flatcorrRunRowAlloc(corr_id, dvodb, filter, state, workdir, label, stats, region); 28041 char* hostname = psMetadataLookupPtr(&status, md, "hostname"); 28042 if (!status) { 28043 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item hostname"); 28044 return false; 28045 } 28046 psS16 fault = psMetadataLookupS16(&status, md, "fault"); 28047 if (!status) { 28048 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item fault"); 28049 return false; 28050 } 28051 28052 return flatcorrRunRowAlloc(corr_id, dvodb, filter, state, workdir, label, reduction, region, hostname, fault); 25824 28053 } 25825 28054 psArray *flatcorrRunSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) … … 25937 28166 return true; 25938 28167 } 25939 static void flatcorr ExpRowFree(flatcorrExpRow *object);25940 25941 flatcorr ExpRow *flatcorrExpRowAlloc(psS64 corr_id, psS64 chip_id)25942 { 25943 flatcorr ExpRow*_object;25944 25945 _object = psAlloc(sizeof(flatcorr ExpRow));25946 psMemSetDeallocator(_object, (psFreeFunc)flatcorr ExpRowFree);28168 static void flatcorrChipLinkRowFree(flatcorrChipLinkRow *object); 28169 28170 flatcorrChipLinkRow *flatcorrChipLinkRowAlloc(psS64 corr_id, psS64 chip_id) 28171 { 28172 flatcorrChipLinkRow *_object; 28173 28174 _object = psAlloc(sizeof(flatcorrChipLinkRow)); 28175 psMemSetDeallocator(_object, (psFreeFunc)flatcorrChipLinkRowFree); 25947 28176 25948 28177 _object->corr_id = corr_id; … … 25952 28181 } 25953 28182 25954 static void flatcorr ExpRowFree(flatcorrExpRow *object)25955 { 25956 } 25957 25958 bool flatcorr ExpCreateTable(psDB *dbh)28183 static void flatcorrChipLinkRowFree(flatcorrChipLinkRow *object) 28184 { 28185 } 28186 28187 bool flatcorrChipLinkCreateTable(psDB *dbh) 25959 28188 { 25960 28189 psMetadata *md = psMetadataAlloc(); … … 25964 28193 return false; 25965 28194 } 25966 if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_id", PS_DATA_S64, "Primary Key fkey(chip_id) ref chipRun(chip_id)", 64)) {28195 if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_id", PS_DATA_S64, "Primary Key fkey(chip_id) ref chipRun(chip_id)", 0)) { 25967 28196 psError(PS_ERR_UNKNOWN, false, "failed to add item chip_id"); 25968 28197 psFree(md); … … 25970 28199 } 25971 28200 25972 bool status = psDBCreateTable(dbh, FLATCORR EXP_TABLE_NAME, md);28201 bool status = psDBCreateTable(dbh, FLATCORRCHIPLINK_TABLE_NAME, md); 25973 28202 25974 28203 psFree(md); … … 25977 28206 } 25978 28207 25979 bool flatcorr ExpDropTable(psDB *dbh)25980 { 25981 return psDBDropTable(dbh, FLATCORR EXP_TABLE_NAME);25982 } 25983 25984 bool flatcorr ExpInsert(psDB * dbh, psS64 corr_id, psS64 chip_id)28208 bool flatcorrChipLinkDropTable(psDB *dbh) 28209 { 28210 return psDBDropTable(dbh, FLATCORRCHIPLINK_TABLE_NAME); 28211 } 28212 28213 bool flatcorrChipLinkInsert(psDB * dbh, psS64 corr_id, psS64 chip_id) 25985 28214 { 25986 28215 psMetadata *md = psMetadataAlloc(); … … 25996 28225 } 25997 28226 25998 bool status = psDBInsertOneRow(dbh, FLATCORR EXP_TABLE_NAME, md);28227 bool status = psDBInsertOneRow(dbh, FLATCORRCHIPLINK_TABLE_NAME, md); 25999 28228 psFree(md); 26000 28229 … … 26002 28231 } 26003 28232 26004 long long flatcorr ExpDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)28233 long long flatcorrChipLinkDelete(psDB *dbh, const psMetadata *where, unsigned long long limit) 26005 28234 { 26006 28235 long long deleted = 0; 26007 28236 26008 long long count = psDBDeleteRows(dbh, FLATCORR EXP_TABLE_NAME, where, limit);28237 long long count = psDBDeleteRows(dbh, FLATCORRCHIPLINK_TABLE_NAME, where, limit); 26009 28238 if (count < 0) { 26010 psError(PS_ERR_UNKNOWN, true, "failed to delete row from flatcorr Exp");28239 psError(PS_ERR_UNKNOWN, true, "failed to delete row from flatcorrChipLink"); 26011 28240 return count; 26012 28241 … … 26016 28245 return deleted; 26017 28246 } 26018 bool flatcorr ExpInsertObject(psDB *dbh, flatcorrExpRow *object)26019 { 26020 return flatcorr ExpInsert(dbh, object->corr_id, object->chip_id);26021 } 26022 26023 bool flatcorr ExpInsertObjects(psDB *dbh, psArray *objects)28247 bool flatcorrChipLinkInsertObject(psDB *dbh, flatcorrChipLinkRow *object) 28248 { 28249 return flatcorrChipLinkInsert(dbh, object->corr_id, object->chip_id); 28250 } 28251 28252 bool flatcorrChipLinkInsertObjects(psDB *dbh, psArray *objects) 26024 28253 { 26025 28254 for (long i = 0; i < psArrayLength(objects); i++) { 26026 if (!flatcorr ExpInsertObject(dbh, objects->data[i])) {28255 if (!flatcorrChipLinkInsertObject(dbh, objects->data[i])) { 26027 28256 return false; 26028 28257 } … … 26032 28261 } 26033 28262 26034 bool flatcorr ExpInsertFits(psDB *dbh, const psFits *fits)28263 bool flatcorrChipLinkInsertFits(psDB *dbh, const psFits *fits) 26035 28264 { 26036 28265 psArray *rowSet; 26037 28266 26038 // move to (the first?) extension named FLATCORR EXP_TABLE_NAME26039 if (!psFitsMoveExtName(fits, FLATCORR EXP_TABLE_NAME)) {26040 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", FLATCORR EXP_TABLE_NAME);28267 // move to (the first?) extension named FLATCORRCHIPLINK_TABLE_NAME 28268 if (!psFitsMoveExtName(fits, FLATCORRCHIPLINK_TABLE_NAME)) { 28269 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", FLATCORRCHIPLINK_TABLE_NAME); 26041 28270 return false; 26042 28271 } … … 26056 28285 } 26057 28286 26058 if (!psDBInsertRows(dbh, FLATCORR EXP_TABLE_NAME, rowSet)) {28287 if (!psDBInsertRows(dbh, FLATCORRCHIPLINK_TABLE_NAME, rowSet)) { 26059 28288 psError(PS_ERR_UNKNOWN, false, "databse insert failed"); 26060 28289 psFree(rowSet); … … 26067 28296 } 26068 28297 26069 bool flatcorr ExpSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)28298 bool flatcorrChipLinkSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit) 26070 28299 { 26071 28300 psArray *rowSet; 26072 28301 26073 rowSet = psDBSelectRows(dbh, FLATCORR EXP_TABLE_NAME, where, limit);28302 rowSet = psDBSelectRows(dbh, FLATCORRCHIPLINK_TABLE_NAME, where, limit); 26074 28303 if (!rowSet) { 26075 28304 return false; … … 26077 28306 26078 28307 // output to fits 26079 if (!psFitsWriteTable(fits, NULL, rowSet, FLATCORR EXP_TABLE_NAME)) {28308 if (!psFitsWriteTable(fits, NULL, rowSet, FLATCORRCHIPLINK_TABLE_NAME)) { 26080 28309 psError(PS_ERR_UNKNOWN, false, "FITS table write failed"); 26081 28310 psFree(rowSet); … … 26088 28317 } 26089 28318 26090 psMetadata *flatcorr ExpMetadataFromObject(const flatcorrExpRow *object)28319 psMetadata *flatcorrChipLinkMetadataFromObject(const flatcorrChipLinkRow *object) 26091 28320 { 26092 28321 psMetadata *md = psMetadataAlloc(); … … 26106 28335 } 26107 28336 26108 flatcorr ExpRow *flatcorrExpObjectFromMetadata(psMetadata *md)28337 flatcorrChipLinkRow *flatcorrChipLinkObjectFromMetadata(psMetadata *md) 26109 28338 { 26110 28339 … … 26121 28350 } 26122 28351 26123 return flatcorr ExpRowAlloc(corr_id, chip_id);26124 } 26125 psArray *flatcorr ExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)28352 return flatcorrChipLinkRowAlloc(corr_id, chip_id); 28353 } 28354 psArray *flatcorrChipLinkSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) 26126 28355 { 26127 28356 psArray *rowSet; … … 26129 28358 psU64 i; 26130 28359 26131 rowSet = psDBSelectRows(dbh, FLATCORR EXP_TABLE_NAME, where, limit);28360 rowSet = psDBSelectRows(dbh, FLATCORRCHIPLINK_TABLE_NAME, where, limit); 26132 28361 if (!rowSet) { 26133 28362 return NULL; … … 26139 28368 26140 28369 for (i = 0; i < rowSet->n; i++) { 26141 flatcorr ExpRow *object = flatcorrExpObjectFromMetadata(rowSet->data[i]);28370 flatcorrChipLinkRow *object = flatcorrChipLinkObjectFromMetadata(rowSet->data[i]); 26142 28371 if (!object) { 26143 28372 psFree(object); … … 26154 28383 return returnSet; 26155 28384 } 26156 bool flatcorr ExpDeleteObject(psDB *dbh, const flatcorrExpRow *object)26157 { 26158 psMetadata *where = flatcorr ExpMetadataFromObject(object);26159 long long count = psDBDeleteRows(dbh, FLATCORR EXP_TABLE_NAME, where, 0);28385 bool flatcorrChipLinkDeleteObject(psDB *dbh, const flatcorrChipLinkRow *object) 28386 { 28387 psMetadata *where = flatcorrChipLinkMetadataFromObject(object); 28388 long long count = psDBDeleteRows(dbh, FLATCORRCHIPLINK_TABLE_NAME, where, 0); 26160 28389 psFree(where); 26161 28390 if (count < 0) { 26162 psError(PS_ERR_UNKNOWN, true, "failed to delete row from flatcorr Exp");28391 psError(PS_ERR_UNKNOWN, true, "failed to delete row from flatcorrChipLink"); 26163 28392 return false; 26164 28393 } … … 26166 28395 // XXX should this be a psAbort() instead? It is possible that 26167 28396 // having an object match multiple rows was by design. 26168 psError(PS_ERR_UNKNOWN, true, "flatcorr ExpRow object matched more then one row. Check your database schema");26169 return false; 26170 } 26171 26172 return true; 26173 } 26174 long long flatcorr ExpDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)28397 psError(PS_ERR_UNKNOWN, true, "flatcorrChipLinkRow object matched more then one row. Check your database schema"); 28398 return false; 28399 } 28400 28401 return true; 28402 } 28403 long long flatcorrChipLinkDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit) 26175 28404 { 26176 28405 long long deleted = 0; 26177 28406 26178 28407 for (long long i = 0; i < objects->n; i++) { 26179 flatcorr ExpRow *object = objects->data[i];26180 psMetadata *where = flatcorr ExpMetadataFromObject(object);26181 long long count = psDBDeleteRows(dbh, FLATCORR EXP_TABLE_NAME, where, limit);28408 flatcorrChipLinkRow *object = objects->data[i]; 28409 psMetadata *where = flatcorrChipLinkMetadataFromObject(object); 28410 long long count = psDBDeleteRows(dbh, FLATCORRCHIPLINK_TABLE_NAME, where, limit); 26182 28411 psFree(where); 26183 28412 if (count < 0) { 26184 psError(PS_ERR_UNKNOWN, true, "failed to delete row from flatcorr Exp");28413 psError(PS_ERR_UNKNOWN, true, "failed to delete row from flatcorrChipLink"); 26185 28414 return count; 26186 28415 } … … 26191 28420 return deleted; 26192 28421 } 26193 bool flatcorr ExpPrintObjects(FILE *stream, psArray *objects, bool mdcf)28422 bool flatcorrChipLinkPrintObjects(FILE *stream, psArray *objects, bool mdcf) 26194 28423 { 26195 28424 PS_ASSERT_PTR_NON_NULL(objects, false); … … 26197 28426 psMetadata *output = psMetadataAlloc(); 26198 28427 for (long i = 0; i < psArrayLength(objects); i++) { 26199 psMetadata *md = flatcorr ExpMetadataFromObject(objects->data[i]);28428 psMetadata *md = flatcorrChipLinkMetadataFromObject(objects->data[i]); 26200 28429 if (!psMetadataAddMetadata( 26201 28430 output, 26202 28431 PS_LIST_TAIL, 26203 FLATCORR EXP_TABLE_NAME,28432 FLATCORRCHIPLINK_TABLE_NAME, 26204 28433 PS_META_DUPLICATE_OK, 26205 28434 NULL, … … 26222 28451 return true; 26223 28452 } 26224 bool flatcorr ExpPrintObject(FILE *stream, flatcorrExpRow *object, bool mdcf)28453 bool flatcorrChipLinkPrintObject(FILE *stream, flatcorrChipLinkRow *object, bool mdcf) 26225 28454 { 26226 28455 PS_ASSERT_PTR_NON_NULL(object, false); 26227 28456 26228 psMetadata *md = flatcorrExpMetadataFromObject(object); 28457 psMetadata *md = flatcorrChipLinkMetadataFromObject(object); 28458 28459 if (!ippdbPrintMetadataRaw(stream, md, mdcf)) { 28460 psError(PS_ERR_UNKNOWN, false, "failed to print metadata"); 28461 psFree(md); 28462 } 28463 28464 psFree(md); 28465 28466 return true; 28467 } 28468 static void flatcorrCamLinkRowFree(flatcorrCamLinkRow *object); 28469 28470 flatcorrCamLinkRow *flatcorrCamLinkRowAlloc(psS64 corr_id, psS64 chip_id, psS64 cam_id) 28471 { 28472 flatcorrCamLinkRow *_object; 28473 28474 _object = psAlloc(sizeof(flatcorrCamLinkRow)); 28475 psMemSetDeallocator(_object, (psFreeFunc)flatcorrCamLinkRowFree); 28476 28477 _object->corr_id = corr_id; 28478 _object->chip_id = chip_id; 28479 _object->cam_id = cam_id; 28480 28481 return _object; 28482 } 28483 28484 static void flatcorrCamLinkRowFree(flatcorrCamLinkRow *object) 28485 { 28486 } 28487 28488 bool flatcorrCamLinkCreateTable(psDB *dbh) 28489 { 28490 psMetadata *md = psMetadataAlloc(); 28491 if (!psMetadataAdd(md, PS_LIST_TAIL, "corr_id", PS_DATA_S64, "Primary Key fkey(corr_id) ref flatcorrRun(corr_id)", 0)) { 28492 psError(PS_ERR_UNKNOWN, false, "failed to add item corr_id"); 28493 psFree(md); 28494 return false; 28495 } 28496 if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_id", PS_DATA_S64, "Primary Key fkey(chip_id) ref chipRun(chip_id)", 0)) { 28497 psError(PS_ERR_UNKNOWN, false, "failed to add item chip_id"); 28498 psFree(md); 28499 return false; 28500 } 28501 if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_id", PS_DATA_S64, "Primary Key fkey(chip_id) ref chipRun(chip_id)", 0)) { 28502 psError(PS_ERR_UNKNOWN, false, "failed to add item cam_id"); 28503 psFree(md); 28504 return false; 28505 } 28506 28507 bool status = psDBCreateTable(dbh, FLATCORRCAMLINK_TABLE_NAME, md); 28508 28509 psFree(md); 28510 28511 return status; 28512 } 28513 28514 bool flatcorrCamLinkDropTable(psDB *dbh) 28515 { 28516 return psDBDropTable(dbh, FLATCORRCAMLINK_TABLE_NAME); 28517 } 28518 28519 bool flatcorrCamLinkInsert(psDB * dbh, psS64 corr_id, psS64 chip_id, psS64 cam_id) 28520 { 28521 psMetadata *md = psMetadataAlloc(); 28522 if (!psMetadataAdd(md, PS_LIST_TAIL, "corr_id", PS_DATA_S64, NULL, corr_id)) { 28523 psError(PS_ERR_UNKNOWN, false, "failed to add item corr_id"); 28524 psFree(md); 28525 return false; 28526 } 28527 if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_id", PS_DATA_S64, NULL, chip_id)) { 28528 psError(PS_ERR_UNKNOWN, false, "failed to add item chip_id"); 28529 psFree(md); 28530 return false; 28531 } 28532 if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_id", PS_DATA_S64, NULL, cam_id)) { 28533 psError(PS_ERR_UNKNOWN, false, "failed to add item cam_id"); 28534 psFree(md); 28535 return false; 28536 } 28537 28538 bool status = psDBInsertOneRow(dbh, FLATCORRCAMLINK_TABLE_NAME, md); 28539 psFree(md); 28540 28541 return status; 28542 } 28543 28544 long long flatcorrCamLinkDelete(psDB *dbh, const psMetadata *where, unsigned long long limit) 28545 { 28546 long long deleted = 0; 28547 28548 long long count = psDBDeleteRows(dbh, FLATCORRCAMLINK_TABLE_NAME, where, limit); 28549 if (count < 0) { 28550 psError(PS_ERR_UNKNOWN, true, "failed to delete row from flatcorrCamLink"); 28551 return count; 28552 28553 deleted += count; 28554 } 28555 28556 return deleted; 28557 } 28558 bool flatcorrCamLinkInsertObject(psDB *dbh, flatcorrCamLinkRow *object) 28559 { 28560 return flatcorrCamLinkInsert(dbh, object->corr_id, object->chip_id, object->cam_id); 28561 } 28562 28563 bool flatcorrCamLinkInsertObjects(psDB *dbh, psArray *objects) 28564 { 28565 for (long i = 0; i < psArrayLength(objects); i++) { 28566 if (!flatcorrCamLinkInsertObject(dbh, objects->data[i])) { 28567 return false; 28568 } 28569 } 28570 28571 return true; 28572 } 28573 28574 bool flatcorrCamLinkInsertFits(psDB *dbh, const psFits *fits) 28575 { 28576 psArray *rowSet; 28577 28578 // move to (the first?) extension named FLATCORRCAMLINK_TABLE_NAME 28579 if (!psFitsMoveExtName(fits, FLATCORRCAMLINK_TABLE_NAME)) { 28580 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", FLATCORRCAMLINK_TABLE_NAME); 28581 return false; 28582 } 28583 28584 // check HDU type 28585 if (psFitsGetExtType(fits) != PS_FITS_TYPE_BINARY_TABLE) { 28586 psError(PS_ERR_UNKNOWN, true, "FITS HDU type is not PS_FITS_TYPE_BINARY_TABLE"); 28587 return false; 28588 } 28589 28590 // read fits table 28591 rowSet = psFitsReadTable(fits); 28592 if (!rowSet) { 28593 psError(PS_ERR_UNKNOWN, true, "FITS read error or FITS table is empty"); 28594 psFree(rowSet); 28595 return false; 28596 } 28597 28598 if (!psDBInsertRows(dbh, FLATCORRCAMLINK_TABLE_NAME, rowSet)) { 28599 psError(PS_ERR_UNKNOWN, false, "databse insert failed"); 28600 psFree(rowSet); 28601 return false; 28602 } 28603 28604 psFree(rowSet); 28605 28606 return true; 28607 } 28608 28609 bool flatcorrCamLinkSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit) 28610 { 28611 psArray *rowSet; 28612 28613 rowSet = psDBSelectRows(dbh, FLATCORRCAMLINK_TABLE_NAME, where, limit); 28614 if (!rowSet) { 28615 return false; 28616 } 28617 28618 // output to fits 28619 if (!psFitsWriteTable(fits, NULL, rowSet, FLATCORRCAMLINK_TABLE_NAME)) { 28620 psError(PS_ERR_UNKNOWN, false, "FITS table write failed"); 28621 psFree(rowSet); 28622 return false; 28623 } 28624 28625 psFree(rowSet); 28626 28627 return true; 28628 } 28629 28630 psMetadata *flatcorrCamLinkMetadataFromObject(const flatcorrCamLinkRow *object) 28631 { 28632 psMetadata *md = psMetadataAlloc(); 28633 if (!psMetadataAdd(md, PS_LIST_TAIL, "corr_id", PS_DATA_S64, NULL, object->corr_id)) { 28634 psError(PS_ERR_UNKNOWN, false, "failed to add item corr_id"); 28635 psFree(md); 28636 return false; 28637 } 28638 if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_id", PS_DATA_S64, NULL, object->chip_id)) { 28639 psError(PS_ERR_UNKNOWN, false, "failed to add item chip_id"); 28640 psFree(md); 28641 return false; 28642 } 28643 if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_id", PS_DATA_S64, NULL, object->cam_id)) { 28644 psError(PS_ERR_UNKNOWN, false, "failed to add item cam_id"); 28645 psFree(md); 28646 return false; 28647 } 28648 28649 28650 return md; 28651 } 28652 28653 flatcorrCamLinkRow *flatcorrCamLinkObjectFromMetadata(psMetadata *md) 28654 { 28655 28656 bool status = false; 28657 psS64 corr_id = psMetadataLookupS64(&status, md, "corr_id"); 28658 if (!status) { 28659 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item corr_id"); 28660 return false; 28661 } 28662 psS64 chip_id = psMetadataLookupS64(&status, md, "chip_id"); 28663 if (!status) { 28664 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item chip_id"); 28665 return false; 28666 } 28667 psS64 cam_id = psMetadataLookupS64(&status, md, "cam_id"); 28668 if (!status) { 28669 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item cam_id"); 28670 return false; 28671 } 28672 28673 return flatcorrCamLinkRowAlloc(corr_id, chip_id, cam_id); 28674 } 28675 psArray *flatcorrCamLinkSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) 28676 { 28677 psArray *rowSet; 28678 psArray *returnSet; 28679 psU64 i; 28680 28681 rowSet = psDBSelectRows(dbh, FLATCORRCAMLINK_TABLE_NAME, where, limit); 28682 if (!rowSet) { 28683 return NULL; 28684 } 28685 28686 // convert psMetadata rows to row objects 28687 28688 returnSet = psArrayAllocEmpty(rowSet->n); 28689 28690 for (i = 0; i < rowSet->n; i++) { 28691 flatcorrCamLinkRow *object = flatcorrCamLinkObjectFromMetadata(rowSet->data[i]); 28692 if (!object) { 28693 psFree(object); 28694 psFree(returnSet); 28695 psError(PS_ERR_UNKNOWN, false, "database error"); 28696 return NULL; 28697 } 28698 psArrayAdd(returnSet, 0, object); 28699 psFree(object); 28700 } 28701 28702 psFree(rowSet); 28703 28704 return returnSet; 28705 } 28706 bool flatcorrCamLinkDeleteObject(psDB *dbh, const flatcorrCamLinkRow *object) 28707 { 28708 psMetadata *where = flatcorrCamLinkMetadataFromObject(object); 28709 long long count = psDBDeleteRows(dbh, FLATCORRCAMLINK_TABLE_NAME, where, 0); 28710 psFree(where); 28711 if (count < 0) { 28712 psError(PS_ERR_UNKNOWN, true, "failed to delete row from flatcorrCamLink"); 28713 return false; 28714 } 28715 if (count > 1) { 28716 // XXX should this be a psAbort() instead? It is possible that 28717 // having an object match multiple rows was by design. 28718 psError(PS_ERR_UNKNOWN, true, "flatcorrCamLinkRow object matched more then one row. Check your database schema"); 28719 return false; 28720 } 28721 28722 return true; 28723 } 28724 long long flatcorrCamLinkDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit) 28725 { 28726 long long deleted = 0; 28727 28728 for (long long i = 0; i < objects->n; i++) { 28729 flatcorrCamLinkRow *object = objects->data[i]; 28730 psMetadata *where = flatcorrCamLinkMetadataFromObject(object); 28731 long long count = psDBDeleteRows(dbh, FLATCORRCAMLINK_TABLE_NAME, where, limit); 28732 psFree(where); 28733 if (count < 0) { 28734 psError(PS_ERR_UNKNOWN, true, "failed to delete row from flatcorrCamLink"); 28735 return count; 28736 } 28737 28738 deleted += count; 28739 } 28740 28741 return deleted; 28742 } 28743 bool flatcorrCamLinkPrintObjects(FILE *stream, psArray *objects, bool mdcf) 28744 { 28745 PS_ASSERT_PTR_NON_NULL(objects, false); 28746 28747 psMetadata *output = psMetadataAlloc(); 28748 for (long i = 0; i < psArrayLength(objects); i++) { 28749 psMetadata *md = flatcorrCamLinkMetadataFromObject(objects->data[i]); 28750 if (!psMetadataAddMetadata( 28751 output, 28752 PS_LIST_TAIL, 28753 FLATCORRCAMLINK_TABLE_NAME, 28754 PS_META_DUPLICATE_OK, 28755 NULL, 28756 md 28757 )) { 28758 psError(PS_ERR_UNKNOWN, false, "failed to add metadata"); 28759 psFree(md); 28760 psFree(output); 28761 return false; 28762 } 28763 psFree(md); 28764 } 28765 28766 if (!ippdbPrintMetadataRaw(stream, output, mdcf)) { 28767 psError(PS_ERR_UNKNOWN, false, "failed to print metadata"); 28768 psFree(output); 28769 } 28770 psFree(output); 28771 28772 return true; 28773 } 28774 bool flatcorrCamLinkPrintObject(FILE *stream, flatcorrCamLinkRow *object, bool mdcf) 28775 { 28776 PS_ASSERT_PTR_NON_NULL(object, false); 28777 28778 psMetadata *md = flatcorrCamLinkMetadataFromObject(object); 26229 28779 26230 28780 if (!ippdbPrintMetadataRaw(stream, md, mdcf)) { … … 26604 29154 return true; 26605 29155 } 29156 static void pstampProjectRowFree(pstampProjectRow *object); 29157 29158 pstampProjectRow *pstampProjectRowAlloc(psS64 proj_id, const char *name, const char *state, const char *dbname, const char *dvodb, const char *camera, const char *telescope, bool need_magic) 29159 { 29160 pstampProjectRow *_object; 29161 29162 _object = psAlloc(sizeof(pstampProjectRow)); 29163 psMemSetDeallocator(_object, (psFreeFunc)pstampProjectRowFree); 29164 29165 _object->proj_id = proj_id; 29166 _object->name = psStringCopy(name); 29167 _object->state = psStringCopy(state); 29168 _object->dbname = psStringCopy(dbname); 29169 _object->dvodb = psStringCopy(dvodb); 29170 _object->camera = psStringCopy(camera); 29171 _object->telescope = psStringCopy(telescope); 29172 _object->need_magic = need_magic; 29173 29174 return _object; 29175 } 29176 29177 static void pstampProjectRowFree(pstampProjectRow *object) 29178 { 29179 psFree(object->name); 29180 psFree(object->state); 29181 psFree(object->dbname); 29182 psFree(object->dvodb); 29183 psFree(object->camera); 29184 psFree(object->telescope); 29185 } 29186 29187 bool pstampProjectCreateTable(psDB *dbh) 29188 { 29189 psMetadata *md = psMetadataAlloc(); 29190 if (!psMetadataAdd(md, PS_LIST_TAIL, "proj_id", PS_DATA_S64, "Primary Key AUTO_INCREMENT", 0)) { 29191 psError(PS_ERR_UNKNOWN, false, "failed to add item proj_id"); 29192 psFree(md); 29193 return false; 29194 } 29195 if (!psMetadataAdd(md, PS_LIST_TAIL, "name", PS_DATA_STRING, "UNIQUE", "64")) { 29196 psError(PS_ERR_UNKNOWN, false, "failed to add item name"); 29197 psFree(md); 29198 return false; 29199 } 29200 if (!psMetadataAdd(md, PS_LIST_TAIL, "state", PS_DATA_STRING, NULL, "64")) { 29201 psError(PS_ERR_UNKNOWN, false, "failed to add item state"); 29202 psFree(md); 29203 return false; 29204 } 29205 if (!psMetadataAdd(md, PS_LIST_TAIL, "dbname", PS_DATA_STRING, NULL, "64")) { 29206 psError(PS_ERR_UNKNOWN, false, "failed to add item dbname"); 29207 psFree(md); 29208 return false; 29209 } 29210 if (!psMetadataAdd(md, PS_LIST_TAIL, "dvodb", PS_DATA_STRING, NULL, "64")) { 29211 psError(PS_ERR_UNKNOWN, false, "failed to add item dvodb"); 29212 psFree(md); 29213 return false; 29214 } 29215 if (!psMetadataAdd(md, PS_LIST_TAIL, "camera", PS_DATA_STRING, NULL, "64")) { 29216 psError(PS_ERR_UNKNOWN, false, "failed to add item camera"); 29217 psFree(md); 29218 return false; 29219 } 29220 if (!psMetadataAdd(md, PS_LIST_TAIL, "telescope", PS_DATA_STRING, NULL, "64")) { 29221 psError(PS_ERR_UNKNOWN, false, "failed to add item telescope"); 29222 psFree(md); 29223 return false; 29224 } 29225 if (!psMetadataAdd(md, PS_LIST_TAIL, "need_magic", PS_DATA_BOOL, NULL, 0)) { 29226 psError(PS_ERR_UNKNOWN, false, "failed to add item need_magic"); 29227 psFree(md); 29228 return false; 29229 } 29230 29231 bool status = psDBCreateTable(dbh, PSTAMPPROJECT_TABLE_NAME, md); 29232 29233 psFree(md); 29234 29235 return status; 29236 } 29237 29238 bool pstampProjectDropTable(psDB *dbh) 29239 { 29240 return psDBDropTable(dbh, PSTAMPPROJECT_TABLE_NAME); 29241 } 29242 29243 bool pstampProjectInsert(psDB * dbh, psS64 proj_id, const char *name, const char *state, const char *dbname, const char *dvodb, const char *camera, const char *telescope, bool need_magic) 29244 { 29245 psMetadata *md = psMetadataAlloc(); 29246 if (!psMetadataAdd(md, PS_LIST_TAIL, "proj_id", PS_DATA_S64, NULL, proj_id)) { 29247 psError(PS_ERR_UNKNOWN, false, "failed to add item proj_id"); 29248 psFree(md); 29249 return false; 29250 } 29251 if (!psMetadataAdd(md, PS_LIST_TAIL, "name", PS_DATA_STRING, NULL, name)) { 29252 psError(PS_ERR_UNKNOWN, false, "failed to add item name"); 29253 psFree(md); 29254 return false; 29255 } 29256 if (!psMetadataAdd(md, PS_LIST_TAIL, "state", PS_DATA_STRING, NULL, state)) { 29257 psError(PS_ERR_UNKNOWN, false, "failed to add item state"); 29258 psFree(md); 29259 return false; 29260 } 29261 if (!psMetadataAdd(md, PS_LIST_TAIL, "dbname", PS_DATA_STRING, NULL, dbname)) { 29262 psError(PS_ERR_UNKNOWN, false, "failed to add item dbname"); 29263 psFree(md); 29264 return false; 29265 } 29266 if (!psMetadataAdd(md, PS_LIST_TAIL, "dvodb", PS_DATA_STRING, NULL, dvodb)) { 29267 psError(PS_ERR_UNKNOWN, false, "failed to add item dvodb"); 29268 psFree(md); 29269 return false; 29270 } 29271 if (!psMetadataAdd(md, PS_LIST_TAIL, "camera", PS_DATA_STRING, NULL, camera)) { 29272 psError(PS_ERR_UNKNOWN, false, "failed to add item camera"); 29273 psFree(md); 29274 return false; 29275 } 29276 if (!psMetadataAdd(md, PS_LIST_TAIL, "telescope", PS_DATA_STRING, NULL, telescope)) { 29277 psError(PS_ERR_UNKNOWN, false, "failed to add item telescope"); 29278 psFree(md); 29279 return false; 29280 } 29281 if (!psMetadataAdd(md, PS_LIST_TAIL, "need_magic", PS_DATA_BOOL, NULL, need_magic)) { 29282 psError(PS_ERR_UNKNOWN, false, "failed to add item need_magic"); 29283 psFree(md); 29284 return false; 29285 } 29286 29287 bool status = psDBInsertOneRow(dbh, PSTAMPPROJECT_TABLE_NAME, md); 29288 psFree(md); 29289 29290 return status; 29291 } 29292 29293 long long pstampProjectDelete(psDB *dbh, const psMetadata *where, unsigned long long limit) 29294 { 29295 long long deleted = 0; 29296 29297 long long count = psDBDeleteRows(dbh, PSTAMPPROJECT_TABLE_NAME, where, limit); 29298 if (count < 0) { 29299 psError(PS_ERR_UNKNOWN, true, "failed to delete row from pstampProject"); 29300 return count; 29301 29302 deleted += count; 29303 } 29304 29305 return deleted; 29306 } 29307 bool pstampProjectInsertObject(psDB *dbh, pstampProjectRow *object) 29308 { 29309 return pstampProjectInsert(dbh, object->proj_id, object->name, object->state, object->dbname, object->dvodb, object->camera, object->telescope, object->need_magic); 29310 } 29311 29312 bool pstampProjectInsertObjects(psDB *dbh, psArray *objects) 29313 { 29314 for (long i = 0; i < psArrayLength(objects); i++) { 29315 if (!pstampProjectInsertObject(dbh, objects->data[i])) { 29316 return false; 29317 } 29318 } 29319 29320 return true; 29321 } 29322 29323 bool pstampProjectInsertFits(psDB *dbh, const psFits *fits) 29324 { 29325 psArray *rowSet; 29326 29327 // move to (the first?) extension named PSTAMPPROJECT_TABLE_NAME 29328 if (!psFitsMoveExtName(fits, PSTAMPPROJECT_TABLE_NAME)) { 29329 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", PSTAMPPROJECT_TABLE_NAME); 29330 return false; 29331 } 29332 29333 // check HDU type 29334 if (psFitsGetExtType(fits) != PS_FITS_TYPE_BINARY_TABLE) { 29335 psError(PS_ERR_UNKNOWN, true, "FITS HDU type is not PS_FITS_TYPE_BINARY_TABLE"); 29336 return false; 29337 } 29338 29339 // read fits table 29340 rowSet = psFitsReadTable(fits); 29341 if (!rowSet) { 29342 psError(PS_ERR_UNKNOWN, true, "FITS read error or FITS table is empty"); 29343 psFree(rowSet); 29344 return false; 29345 } 29346 29347 if (!psDBInsertRows(dbh, PSTAMPPROJECT_TABLE_NAME, rowSet)) { 29348 psError(PS_ERR_UNKNOWN, false, "databse insert failed"); 29349 psFree(rowSet); 29350 return false; 29351 } 29352 29353 psFree(rowSet); 29354 29355 return true; 29356 } 29357 29358 bool pstampProjectSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit) 29359 { 29360 psArray *rowSet; 29361 29362 rowSet = psDBSelectRows(dbh, PSTAMPPROJECT_TABLE_NAME, where, limit); 29363 if (!rowSet) { 29364 return false; 29365 } 29366 29367 // output to fits 29368 if (!psFitsWriteTable(fits, NULL, rowSet, PSTAMPPROJECT_TABLE_NAME)) { 29369 psError(PS_ERR_UNKNOWN, false, "FITS table write failed"); 29370 psFree(rowSet); 29371 return false; 29372 } 29373 29374 psFree(rowSet); 29375 29376 return true; 29377 } 29378 29379 psMetadata *pstampProjectMetadataFromObject(const pstampProjectRow *object) 29380 { 29381 psMetadata *md = psMetadataAlloc(); 29382 if (!psMetadataAdd(md, PS_LIST_TAIL, "proj_id", PS_DATA_S64, NULL, object->proj_id)) { 29383 psError(PS_ERR_UNKNOWN, false, "failed to add item proj_id"); 29384 psFree(md); 29385 return false; 29386 } 29387 if (!psMetadataAdd(md, PS_LIST_TAIL, "name", PS_DATA_STRING, NULL, object->name)) { 29388 psError(PS_ERR_UNKNOWN, false, "failed to add item name"); 29389 psFree(md); 29390 return false; 29391 } 29392 if (!psMetadataAdd(md, PS_LIST_TAIL, "state", PS_DATA_STRING, NULL, object->state)) { 29393 psError(PS_ERR_UNKNOWN, false, "failed to add item state"); 29394 psFree(md); 29395 return false; 29396 } 29397 if (!psMetadataAdd(md, PS_LIST_TAIL, "dbname", PS_DATA_STRING, NULL, object->dbname)) { 29398 psError(PS_ERR_UNKNOWN, false, "failed to add item dbname"); 29399 psFree(md); 29400 return false; 29401 } 29402 if (!psMetadataAdd(md, PS_LIST_TAIL, "dvodb", PS_DATA_STRING, NULL, object->dvodb)) { 29403 psError(PS_ERR_UNKNOWN, false, "failed to add item dvodb"); 29404 psFree(md); 29405 return false; 29406 } 29407 if (!psMetadataAdd(md, PS_LIST_TAIL, "camera", PS_DATA_STRING, NULL, object->camera)) { 29408 psError(PS_ERR_UNKNOWN, false, "failed to add item camera"); 29409 psFree(md); 29410 return false; 29411 } 29412 if (!psMetadataAdd(md, PS_LIST_TAIL, "telescope", PS_DATA_STRING, NULL, object->telescope)) { 29413 psError(PS_ERR_UNKNOWN, false, "failed to add item telescope"); 29414 psFree(md); 29415 return false; 29416 } 29417 if (!psMetadataAdd(md, PS_LIST_TAIL, "need_magic", PS_DATA_BOOL, NULL, object->need_magic)) { 29418 psError(PS_ERR_UNKNOWN, false, "failed to add item need_magic"); 29419 psFree(md); 29420 return false; 29421 } 29422 29423 29424 return md; 29425 } 29426 29427 pstampProjectRow *pstampProjectObjectFromMetadata(psMetadata *md) 29428 { 29429 29430 bool status = false; 29431 psS64 proj_id = psMetadataLookupS64(&status, md, "proj_id"); 29432 if (!status) { 29433 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item proj_id"); 29434 return false; 29435 } 29436 char* name = psMetadataLookupPtr(&status, md, "name"); 29437 if (!status) { 29438 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item name"); 29439 return false; 29440 } 29441 char* state = psMetadataLookupPtr(&status, md, "state"); 29442 if (!status) { 29443 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item state"); 29444 return false; 29445 } 29446 char* dbname = psMetadataLookupPtr(&status, md, "dbname"); 29447 if (!status) { 29448 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item dbname"); 29449 return false; 29450 } 29451 char* dvodb = psMetadataLookupPtr(&status, md, "dvodb"); 29452 if (!status) { 29453 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item dvodb"); 29454 return false; 29455 } 29456 char* camera = psMetadataLookupPtr(&status, md, "camera"); 29457 if (!status) { 29458 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item camera"); 29459 return false; 29460 } 29461 char* telescope = psMetadataLookupPtr(&status, md, "telescope"); 29462 if (!status) { 29463 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item telescope"); 29464 return false; 29465 } 29466 bool need_magic = psMetadataLookupBool(&status, md, "need_magic"); 29467 if (!status) { 29468 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item need_magic"); 29469 return false; 29470 } 29471 29472 return pstampProjectRowAlloc(proj_id, name, state, dbname, dvodb, camera, telescope, need_magic); 29473 } 29474 psArray *pstampProjectSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) 29475 { 29476 psArray *rowSet; 29477 psArray *returnSet; 29478 psU64 i; 29479 29480 rowSet = psDBSelectRows(dbh, PSTAMPPROJECT_TABLE_NAME, where, limit); 29481 if (!rowSet) { 29482 return NULL; 29483 } 29484 29485 // convert psMetadata rows to row objects 29486 29487 returnSet = psArrayAllocEmpty(rowSet->n); 29488 29489 for (i = 0; i < rowSet->n; i++) { 29490 pstampProjectRow *object = pstampProjectObjectFromMetadata(rowSet->data[i]); 29491 if (!object) { 29492 psFree(object); 29493 psFree(returnSet); 29494 psError(PS_ERR_UNKNOWN, false, "database error"); 29495 return NULL; 29496 } 29497 psArrayAdd(returnSet, 0, object); 29498 psFree(object); 29499 } 29500 29501 psFree(rowSet); 29502 29503 return returnSet; 29504 } 29505 bool pstampProjectDeleteObject(psDB *dbh, const pstampProjectRow *object) 29506 { 29507 psMetadata *where = pstampProjectMetadataFromObject(object); 29508 long long count = psDBDeleteRows(dbh, PSTAMPPROJECT_TABLE_NAME, where, 0); 29509 psFree(where); 29510 if (count < 0) { 29511 psError(PS_ERR_UNKNOWN, true, "failed to delete row from pstampProject"); 29512 return false; 29513 } 29514 if (count > 1) { 29515 // XXX should this be a psAbort() instead? It is possible that 29516 // having an object match multiple rows was by design. 29517 psError(PS_ERR_UNKNOWN, true, "pstampProjectRow object matched more then one row. Check your database schema"); 29518 return false; 29519 } 29520 29521 return true; 29522 } 29523 long long pstampProjectDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit) 29524 { 29525 long long deleted = 0; 29526 29527 for (long long i = 0; i < objects->n; i++) { 29528 pstampProjectRow *object = objects->data[i]; 29529 psMetadata *where = pstampProjectMetadataFromObject(object); 29530 long long count = psDBDeleteRows(dbh, PSTAMPPROJECT_TABLE_NAME, where, limit); 29531 psFree(where); 29532 if (count < 0) { 29533 psError(PS_ERR_UNKNOWN, true, "failed to delete row from pstampProject"); 29534 return count; 29535 } 29536 29537 deleted += count; 29538 } 29539 29540 return deleted; 29541 } 29542 bool pstampProjectPrintObjects(FILE *stream, psArray *objects, bool mdcf) 29543 { 29544 PS_ASSERT_PTR_NON_NULL(objects, false); 29545 29546 psMetadata *output = psMetadataAlloc(); 29547 for (long i = 0; i < psArrayLength(objects); i++) { 29548 psMetadata *md = pstampProjectMetadataFromObject(objects->data[i]); 29549 if (!psMetadataAddMetadata( 29550 output, 29551 PS_LIST_TAIL, 29552 PSTAMPPROJECT_TABLE_NAME, 29553 PS_META_DUPLICATE_OK, 29554 NULL, 29555 md 29556 )) { 29557 psError(PS_ERR_UNKNOWN, false, "failed to add metadata"); 29558 psFree(md); 29559 psFree(output); 29560 return false; 29561 } 29562 psFree(md); 29563 } 29564 29565 if (!ippdbPrintMetadataRaw(stream, output, mdcf)) { 29566 psError(PS_ERR_UNKNOWN, false, "failed to print metadata"); 29567 psFree(output); 29568 } 29569 psFree(output); 29570 29571 return true; 29572 } 29573 bool pstampProjectPrintObject(FILE *stream, pstampProjectRow *object, bool mdcf) 29574 { 29575 PS_ASSERT_PTR_NON_NULL(object, false); 29576 29577 psMetadata *md = pstampProjectMetadataFromObject(object); 29578 29579 if (!ippdbPrintMetadataRaw(stream, md, mdcf)) { 29580 psError(PS_ERR_UNKNOWN, false, "failed to print metadata"); 29581 psFree(md); 29582 } 29583 29584 psFree(md); 29585 29586 return true; 29587 } 26606 29588 static void pstampRequestRowFree(pstampRequestRow *object); 26607 29589 … … 27037 30019 static void pstampJobRowFree(pstampJobRow *object); 27038 30020 27039 pstampJobRow *pstampJobRowAlloc(psS64 job_id, psS64 req_id, const char *rownum, const char *state, const char *jobType, psS32 fault, const char *uri, const char *outputBase, const char *args)30021 pstampJobRow *pstampJobRowAlloc(psS64 job_id, psS64 req_id, const char *rownum, const char *state, const char *jobType, psS32 fault, const char *uri, psS64 exp_id, const char *outputBase, const char *args) 27040 30022 { 27041 30023 pstampJobRow *_object; … … 27051 30033 _object->fault = fault; 27052 30034 _object->uri = psStringCopy(uri); 30035 _object->exp_id = exp_id; 27053 30036 _object->outputBase = psStringCopy(outputBase); 27054 30037 _object->args = psStringCopy(args); … … 27105 30088 return false; 27106 30089 } 30090 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_id", PS_DATA_S64, NULL, 0)) { 30091 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id"); 30092 psFree(md); 30093 return false; 30094 } 27107 30095 if (!psMetadataAdd(md, PS_LIST_TAIL, "outputBase", PS_DATA_STRING, NULL, "255")) { 27108 30096 psError(PS_ERR_UNKNOWN, false, "failed to add item outputBase"); … … 27128 30116 } 27129 30117 27130 bool pstampJobInsert(psDB * dbh, psS64 job_id, psS64 req_id, const char *rownum, const char *state, const char *jobType, psS32 fault, const char *uri, const char *outputBase, const char *args)30118 bool pstampJobInsert(psDB * dbh, psS64 job_id, psS64 req_id, const char *rownum, const char *state, const char *jobType, psS32 fault, const char *uri, psS64 exp_id, const char *outputBase, const char *args) 27131 30119 { 27132 30120 psMetadata *md = psMetadataAlloc(); … … 27163 30151 if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, uri)) { 27164 30152 psError(PS_ERR_UNKNOWN, false, "failed to add item uri"); 30153 psFree(md); 30154 return false; 30155 } 30156 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_id", PS_DATA_S64, NULL, exp_id)) { 30157 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id"); 27165 30158 psFree(md); 27166 30159 return false; … … 27199 30192 bool pstampJobInsertObject(psDB *dbh, pstampJobRow *object) 27200 30193 { 27201 return pstampJobInsert(dbh, object->job_id, object->req_id, object->rownum, object->state, object->jobType, object->fault, object->uri, object-> outputBase, object->args);30194 return pstampJobInsert(dbh, object->job_id, object->req_id, object->rownum, object->state, object->jobType, object->fault, object->uri, object->exp_id, object->outputBase, object->args); 27202 30195 } 27203 30196 … … 27307 30300 return false; 27308 30301 } 30302 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_id", PS_DATA_S64, NULL, object->exp_id)) { 30303 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id"); 30304 psFree(md); 30305 return false; 30306 } 27309 30307 if (!psMetadataAdd(md, PS_LIST_TAIL, "outputBase", PS_DATA_STRING, NULL, object->outputBase)) { 27310 30308 psError(PS_ERR_UNKNOWN, false, "failed to add item outputBase"); … … 27361 30359 return false; 27362 30360 } 30361 psS64 exp_id = psMetadataLookupS64(&status, md, "exp_id"); 30362 if (!status) { 30363 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_id"); 30364 return false; 30365 } 27363 30366 char* outputBase = psMetadataLookupPtr(&status, md, "outputBase"); 27364 30367 if (!status) { … … 27372 30375 } 27373 30376 27374 return pstampJobRowAlloc(job_id, req_id, rownum, state, jobType, fault, uri, outputBase, args);30377 return pstampJobRowAlloc(job_id, req_id, rownum, state, jobType, fault, uri, exp_id, outputBase, args); 27375 30378 } 27376 30379 psArray *pstampJobSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
Note:
See TracChangeset
for help on using the changeset viewer.
