Changeset 9684
- Timestamp:
- Oct 20, 2006, 2:38:16 PM (20 years ago)
- Location:
- trunk/ippdb
- Files:
-
- 15 edited
-
Makefile.am (modified) (2 diffs)
-
configure.ac (modified) (1 diff)
-
src/ippdb.c (modified) (174 diffs)
-
src/ippdb.h (modified) (10 diffs)
-
tests/alloc.c (modified) (5 diffs)
-
tests/createtable.c (modified) (1 diff)
-
tests/dbcleanup.c (modified) (1 diff)
-
tests/dbsetup.c (modified) (1 diff)
-
tests/droptable.c (modified) (1 diff)
-
tests/insert.c (modified) (2 diffs)
-
tests/insertfits.c (modified) (1 diff)
-
tests/insertobject.c (modified) (4 diffs)
-
tests/metadatafromobject.c (modified) (5 diffs)
-
tests/objectfrommetadata.c (modified) (8 diffs)
-
tests/selectrowsfits.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippdb/Makefile.am
r9301 r9684 10 10 man_MANS = \ 11 11 $(top_builddir)/docs/man/man3/ippdb.3 \ 12 $(top_builddir)/docs/man/man3/weatherRow.3 \13 $(top_builddir)/docs/man/man3/skyp_transparencyRow.3 \14 $(top_builddir)/docs/man/man3/skyp_absorptionRow.3 \15 $(top_builddir)/docs/man/man3/skyp_emissionRow.3 \16 $(top_builddir)/docs/man/man3/dimmRow.3 \17 $(top_builddir)/docs/man/man3/skyp_irRow.3 \18 $(top_builddir)/docs/man/man3/domeRow.3 \19 $(top_builddir)/docs/man/man3/telescopeRow.3 \20 12 $(top_builddir)/docs/man/man3/summitExpRow.3 \ 21 13 $(top_builddir)/docs/man/man3/pzPendingExpRow.3 \ … … 48 40 49 41 50 docs/man/man3/ippdb.3 docs/man/man3/ weatherRow.3 docs/man/man3/skyp_transparencyRow.3 docs/man/man3/skyp_absorptionRow.3 docs/man/man3/skyp_emissionRow.3 docs/man/man3/dimmRow.3 docs/man/man3/skyp_irRow.3 docs/man/man3/domeRow.3 docs/man/man3/telescopeRow.3 docs/man/man3/summitExpRow.3 docs/man/man3/pzPendingExpRow.3 docs/man/man3/pzPendingImfileRow.3 docs/man/man3/newExpRow.3 docs/man/man3/newImfileRow.3 docs/man/man3/rawDetrendExpRow.3 docs/man/man3/rawScienceExpRow.3 docs/man/man3/rawImfileRow.3 docs/man/man3/p1PendingExpRow.3 docs/man/man3/p2PendingExpRow.3 docs/man/man3/p2PendingImfileRow.3 docs/man/man3/p2ProcessedExpRow.3 docs/man/man3/p2ProcessedImfileRow.3 docs/man/man3/p3PendingExpRow.3 docs/man/man3/p3ProcessedExpRow.3 docs/man/man3/detRunRow.3 docs/man/man3/detInputExpRow.3 docs/man/man3/detProcessedImfileRow.3 docs/man/man3/detProcessedExpRow.3 docs/man/man3/detStackedImfileRow.3 docs/man/man3/detNormalizedStatImfileRow.3 docs/man/man3/detNormalizedImfileRow.3 docs/man/man3/detNormalizedExpRow.3 docs/man/man3/detMasterFrameRow.3 docs/man/man3/detMasterImfileRow.3 docs/man/man3/detResidImfileRow.3 docs/man/man3/detResidExpRow.3 docs/man/man3/detRunSummaryRow.3:42 docs/man/man3/ippdb.3 docs/man/man3/summitExpRow.3 docs/man/man3/pzPendingExpRow.3 docs/man/man3/pzPendingImfileRow.3 docs/man/man3/newExpRow.3 docs/man/man3/newImfileRow.3 docs/man/man3/rawDetrendExpRow.3 docs/man/man3/rawScienceExpRow.3 docs/man/man3/rawImfileRow.3 docs/man/man3/p1PendingExpRow.3 docs/man/man3/p2PendingExpRow.3 docs/man/man3/p2PendingImfileRow.3 docs/man/man3/p2ProcessedExpRow.3 docs/man/man3/p2ProcessedImfileRow.3 docs/man/man3/p3PendingExpRow.3 docs/man/man3/p3ProcessedExpRow.3 docs/man/man3/detRunRow.3 docs/man/man3/detInputExpRow.3 docs/man/man3/detProcessedImfileRow.3 docs/man/man3/detProcessedExpRow.3 docs/man/man3/detStackedImfileRow.3 docs/man/man3/detNormalizedStatImfileRow.3 docs/man/man3/detNormalizedImfileRow.3 docs/man/man3/detNormalizedExpRow.3 docs/man/man3/detMasterFrameRow.3 docs/man/man3/detMasterImfileRow.3 docs/man/man3/detResidImfileRow.3 docs/man/man3/detResidExpRow.3 docs/man/man3/detRunSummaryRow.3: 51 43 $(DOXYGEN) 52 44 -
trunk/ippdb/configure.ac
r9423 r9684 7 7 AC_PREREQ(2.59) 8 8 9 AC_INIT([ippdb], [0.0. 49], [pan-starrs.ifa.hawaii.edu])9 AC_INIT([ippdb], [0.0.50], [pan-starrs.ifa.hawaii.edu]) 10 10 AC_CONFIG_SRCDIR([ippdb.pc.in]) 11 11 -
trunk/ippdb/src/ippdb.c
r9423 r9684 31 31 #include "ippdb.h" 32 32 33 #define WEATHER_TABLE_NAME "weather"34 #define SKYP_TRANSPARENCY_TABLE_NAME "skyp_transparency"35 #define SKYP_ABSORPTION_TABLE_NAME "skyp_absorption"36 #define SKYP_EMISSION_TABLE_NAME "skyp_emission"37 #define DIMM_TABLE_NAME "dimm"38 #define SKYP_IR_TABLE_NAME "skyp_ir"39 #define DOME_TABLE_NAME "dome"40 #define TELESCOPE_TABLE_NAME "telescope"41 33 #define SUMMITEXP_TABLE_NAME "summitExp" 42 34 #define PZPENDINGEXP_TABLE_NAME "pzPendingExp" … … 228 220 } 229 221 230 static void weatherRowFree(weatherRow *object); 231 232 weatherRow *weatherRowAlloc(psF32 temp01, psF32 humi01, psF32 temp02, psF32 humi02, psF32 temp03, psF32 humi03, psF32 pressure) 233 { 234 weatherRow *_object; 235 236 _object = psAlloc(sizeof(weatherRow)); 237 psMemSetDeallocator(_object, (psFreeFunc)weatherRowFree); 238 239 _object->temp01 = temp01; 240 _object->humi01 = humi01; 241 _object->temp02 = temp02; 242 _object->humi02 = humi02; 243 _object->temp03 = temp03; 244 _object->humi03 = humi03; 245 _object->pressure = pressure; 222 static void summitExpRowFree(summitExpRow *object); 223 224 summitExpRow *summitExpRowAlloc(const char *exp_id, const char *camera, const char *telescope, const char *exp_type, const char *uri) 225 { 226 summitExpRow *_object; 227 228 _object = psAlloc(sizeof(summitExpRow)); 229 psMemSetDeallocator(_object, (psFreeFunc)summitExpRowFree); 230 231 _object->exp_id = psStringCopy(exp_id); 232 _object->camera = psStringCopy(camera); 233 _object->telescope = psStringCopy(telescope); 234 _object->exp_type = psStringCopy(exp_type); 235 _object->uri = psStringCopy(uri); 246 236 247 237 return _object; 248 238 } 249 239 250 static void weatherRowFree(weatherRow *object) 251 { 252 } 253 254 bool weatherCreateTable(psDB *dbh) 255 { 256 psMetadata *md; 257 bool status; 258 259 md = psMetadataAlloc(); 260 if (!psMetadataAddF32(md, PS_LIST_TAIL, "temp01", 0, NULL, 0.0)) { 261 psError(PS_ERR_UNKNOWN, false, "failed to add item temp01"); 262 psFree(md); 263 return false; 264 } 265 if (!psMetadataAddF32(md, PS_LIST_TAIL, "humi01", 0, NULL, 0.0)) { 266 psError(PS_ERR_UNKNOWN, false, "failed to add item humi01"); 267 psFree(md); 268 return false; 269 } 270 if (!psMetadataAddF32(md, PS_LIST_TAIL, "temp02", 0, NULL, 0.0)) { 271 psError(PS_ERR_UNKNOWN, false, "failed to add item temp02"); 272 psFree(md); 273 return false; 274 } 275 if (!psMetadataAddF32(md, PS_LIST_TAIL, "humi02", 0, NULL, 0.0)) { 276 psError(PS_ERR_UNKNOWN, false, "failed to add item humi02"); 277 psFree(md); 278 return false; 279 } 280 if (!psMetadataAddF32(md, PS_LIST_TAIL, "temp03", 0, NULL, 0.0)) { 281 psError(PS_ERR_UNKNOWN, false, "failed to add item temp03"); 282 psFree(md); 283 return false; 284 } 285 if (!psMetadataAddF32(md, PS_LIST_TAIL, "humi03", 0, NULL, 0.0)) { 286 psError(PS_ERR_UNKNOWN, false, "failed to add item humi03"); 287 psFree(md); 288 return false; 289 } 290 if (!psMetadataAddF32(md, PS_LIST_TAIL, "pressure", 0, NULL, 0.0)) { 291 psError(PS_ERR_UNKNOWN, false, "failed to add item pressure"); 292 psFree(md); 293 return false; 294 } 295 296 status = psDBCreateTable(dbh, WEATHER_TABLE_NAME, md); 240 static void summitExpRowFree(summitExpRow *object) 241 { 242 psFree(object->exp_id); 243 psFree(object->camera); 244 psFree(object->telescope); 245 psFree(object->exp_type); 246 psFree(object->uri); 247 } 248 249 bool summitExpCreateTable(psDB *dbh) 250 { 251 psMetadata *md = psMetadataAlloc(); 252 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_id", PS_DATA_STRING, "Primary Key", "64")) { 253 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id"); 254 psFree(md); 255 return false; 256 } 257 if (!psMetadataAdd(md, PS_LIST_TAIL, "camera", PS_DATA_STRING, "Primary Key", "64")) { 258 psError(PS_ERR_UNKNOWN, false, "failed to add item camera"); 259 psFree(md); 260 return false; 261 } 262 if (!psMetadataAdd(md, PS_LIST_TAIL, "telescope", PS_DATA_STRING, "Primary Key", "64")) { 263 psError(PS_ERR_UNKNOWN, false, "failed to add item telescope"); 264 psFree(md); 265 return false; 266 } 267 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_type", PS_DATA_STRING, NULL, "64")) { 268 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type"); 269 psFree(md); 270 return false; 271 } 272 if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, "255")) { 273 psError(PS_ERR_UNKNOWN, false, "failed to add item uri"); 274 psFree(md); 275 return false; 276 } 277 278 bool status = psDBCreateTable(dbh, SUMMITEXP_TABLE_NAME, md); 297 279 298 280 psFree(md); … … 301 283 } 302 284 303 bool weatherDropTable(psDB *dbh) 304 { 305 return psDBDropTable(dbh, WEATHER_TABLE_NAME); 306 } 307 308 bool weatherInsert(psDB * dbh, psF32 temp01, psF32 humi01, psF32 temp02, psF32 humi02, psF32 temp03, psF32 humi03, psF32 pressure) 309 { 310 psMetadata *md; 311 bool status; 312 313 md = psMetadataAlloc(); 314 if (!psMetadataAddF32(md, PS_LIST_TAIL, "temp01", 0, NULL, temp01)) { 315 psError(PS_ERR_UNKNOWN, false, "failed to add item temp01"); 316 psFree(md); 317 return false; 318 } 319 if (!psMetadataAddF32(md, PS_LIST_TAIL, "humi01", 0, NULL, humi01)) { 320 psError(PS_ERR_UNKNOWN, false, "failed to add item humi01"); 321 psFree(md); 322 return false; 323 } 324 if (!psMetadataAddF32(md, PS_LIST_TAIL, "temp02", 0, NULL, temp02)) { 325 psError(PS_ERR_UNKNOWN, false, "failed to add item temp02"); 326 psFree(md); 327 return false; 328 } 329 if (!psMetadataAddF32(md, PS_LIST_TAIL, "humi02", 0, NULL, humi02)) { 330 psError(PS_ERR_UNKNOWN, false, "failed to add item humi02"); 331 psFree(md); 332 return false; 333 } 334 if (!psMetadataAddF32(md, PS_LIST_TAIL, "temp03", 0, NULL, temp03)) { 335 psError(PS_ERR_UNKNOWN, false, "failed to add item temp03"); 336 psFree(md); 337 return false; 338 } 339 if (!psMetadataAddF32(md, PS_LIST_TAIL, "humi03", 0, NULL, humi03)) { 340 psError(PS_ERR_UNKNOWN, false, "failed to add item humi03"); 341 psFree(md); 342 return false; 343 } 344 if (!psMetadataAddF32(md, PS_LIST_TAIL, "pressure", 0, NULL, pressure)) { 345 psError(PS_ERR_UNKNOWN, false, "failed to add item pressure"); 346 psFree(md); 347 return false; 348 } 349 350 status = psDBInsertOneRow(dbh, WEATHER_TABLE_NAME, md); 285 bool summitExpDropTable(psDB *dbh) 286 { 287 return psDBDropTable(dbh, SUMMITEXP_TABLE_NAME); 288 } 289 290 bool summitExpInsert(psDB * dbh, const char *exp_id, const char *camera, const char *telescope, const char *exp_type, const char *uri) 291 { 292 psMetadata *md = psMetadataAlloc(); 293 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_id", PS_DATA_STRING, NULL, exp_id)) { 294 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id"); 295 psFree(md); 296 return false; 297 } 298 if (!psMetadataAdd(md, PS_LIST_TAIL, "camera", PS_DATA_STRING, NULL, camera)) { 299 psError(PS_ERR_UNKNOWN, false, "failed to add item camera"); 300 psFree(md); 301 return false; 302 } 303 if (!psMetadataAdd(md, PS_LIST_TAIL, "telescope", PS_DATA_STRING, NULL, telescope)) { 304 psError(PS_ERR_UNKNOWN, false, "failed to add item telescope"); 305 psFree(md); 306 return false; 307 } 308 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_type", PS_DATA_STRING, NULL, exp_type)) { 309 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type"); 310 psFree(md); 311 return false; 312 } 313 if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, uri)) { 314 psError(PS_ERR_UNKNOWN, false, "failed to add item uri"); 315 psFree(md); 316 return false; 317 } 318 319 bool status = psDBInsertOneRow(dbh, SUMMITEXP_TABLE_NAME, md); 351 320 psFree(md); 352 321 … … 354 323 } 355 324 356 long long weatherDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)325 long long summitExpDelete(psDB *dbh, const psMetadata *where, unsigned long long limit) 357 326 { 358 327 long long deleted = 0; 359 328 360 long long count = psDBDeleteRows(dbh, WEATHER_TABLE_NAME, where, limit);329 long long count = psDBDeleteRows(dbh, SUMMITEXP_TABLE_NAME, where, limit); 361 330 if (count < 0) { 362 psError(PS_ERR_UNKNOWN, true, "failed to delete row from weather");331 psError(PS_ERR_UNKNOWN, true, "failed to delete row from summitExp"); 363 332 return count; 364 333 … … 368 337 return deleted; 369 338 } 370 bool weatherInsertObject(psDB *dbh, weatherRow *object)371 { 372 return weatherInsert(dbh, object->temp01, object->humi01, object->temp02, object->humi02, object->temp03, object->humi03, object->pressure);373 } 374 375 bool weatherInsertObjects(psDB *dbh, psArray *objects)339 bool summitExpInsertObject(psDB *dbh, summitExpRow *object) 340 { 341 return summitExpInsert(dbh, object->exp_id, object->camera, object->telescope, object->exp_type, object->uri); 342 } 343 344 bool summitExpInsertObjects(psDB *dbh, psArray *objects) 376 345 { 377 346 for (long i = 0; i < psArrayLength(objects); i++) { 378 if (! weatherInsertObject(dbh, objects->data[i])) {347 if (!summitExpInsertObject(dbh, objects->data[i])) { 379 348 return false; 380 349 } … … 384 353 } 385 354 386 bool weatherInsertFits(psDB *dbh, const psFits *fits)355 bool summitExpInsertFits(psDB *dbh, const psFits *fits) 387 356 { 388 357 psArray *rowSet; 389 358 390 // move to (the first?) extension named WEATHER_TABLE_NAME391 if (!psFitsMoveExtName(fits, WEATHER_TABLE_NAME)) {392 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", WEATHER_TABLE_NAME);359 // move to (the first?) extension named SUMMITEXP_TABLE_NAME 360 if (!psFitsMoveExtName(fits, SUMMITEXP_TABLE_NAME)) { 361 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", SUMMITEXP_TABLE_NAME); 393 362 return false; 394 363 } … … 408 377 } 409 378 410 if (!psDBInsertRows(dbh, WEATHER_TABLE_NAME, rowSet)) {411 psError(PS_ERR_UNKNOWN, false, "databse insert failed");412 psFree(rowSet);413 return false;414 }415 416 psFree(rowSet);417 418 return true;419 }420 421 bool weatherSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)422 {423 psArray *rowSet;424 425 rowSet = psDBSelectRows(dbh, WEATHER_TABLE_NAME, where, limit);426 if (!rowSet) {427 return false;428 }429 430 // output to fits431 if (!psFitsWriteTable(fits, NULL, rowSet, WEATHER_TABLE_NAME)) {432 psError(PS_ERR_UNKNOWN, false, "FITS table write failed");433 psFree(rowSet);434 return false;435 }436 437 psFree(rowSet);438 439 return true;440 }441 442 psMetadata *weatherMetadataFromObject(const weatherRow *object)443 {444 psMetadata *md;445 446 md = psMetadataAlloc();447 if (!psMetadataAddF32(md, PS_LIST_TAIL, "temp01", 0, NULL, object->temp01)) {448 psError(PS_ERR_UNKNOWN, false, "failed to add item temp01");449 psFree(md);450 return NULL;451 }452 if (!psMetadataAddF32(md, PS_LIST_TAIL, "humi01", 0, NULL, object->humi01)) {453 psError(PS_ERR_UNKNOWN, false, "failed to add item humi01");454 psFree(md);455 return NULL;456 }457 if (!psMetadataAddF32(md, PS_LIST_TAIL, "temp02", 0, NULL, object->temp02)) {458 psError(PS_ERR_UNKNOWN, false, "failed to add item temp02");459 psFree(md);460 return NULL;461 }462 if (!psMetadataAddF32(md, PS_LIST_TAIL, "humi02", 0, NULL, object->humi02)) {463 psError(PS_ERR_UNKNOWN, false, "failed to add item humi02");464 psFree(md);465 return NULL;466 }467 if (!psMetadataAddF32(md, PS_LIST_TAIL, "temp03", 0, NULL, object->temp03)) {468 psError(PS_ERR_UNKNOWN, false, "failed to add item temp03");469 psFree(md);470 return NULL;471 }472 if (!psMetadataAddF32(md, PS_LIST_TAIL, "humi03", 0, NULL, object->humi03)) {473 psError(PS_ERR_UNKNOWN, false, "failed to add item humi03");474 psFree(md);475 return NULL;476 }477 if (!psMetadataAddF32(md, PS_LIST_TAIL, "pressure", 0, NULL, object->pressure)) {478 psError(PS_ERR_UNKNOWN, false, "failed to add item pressure");479 psFree(md);480 return NULL;481 }482 483 return md;484 }485 486 weatherRow *weatherObjectFromMetadata(psMetadata *md)487 {488 bool status;489 psF32 temp01;490 psF32 humi01;491 psF32 temp02;492 psF32 humi02;493 psF32 temp03;494 psF32 humi03;495 psF32 pressure;496 497 temp01 = psMetadataLookupF32(&status, md, "temp01");498 if (!status) {499 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item temp01");500 return false;501 }502 humi01 = psMetadataLookupF32(&status, md, "humi01");503 if (!status) {504 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item humi01");505 return false;506 }507 temp02 = psMetadataLookupF32(&status, md, "temp02");508 if (!status) {509 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item temp02");510 return false;511 }512 humi02 = psMetadataLookupF32(&status, md, "humi02");513 if (!status) {514 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item humi02");515 return false;516 }517 temp03 = psMetadataLookupF32(&status, md, "temp03");518 if (!status) {519 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item temp03");520 return false;521 }522 humi03 = psMetadataLookupF32(&status, md, "humi03");523 if (!status) {524 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item humi03");525 return false;526 }527 pressure = psMetadataLookupF32(&status, md, "pressure");528 if (!status) {529 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item pressure");530 return false;531 }532 533 return weatherRowAlloc(temp01, humi01, temp02, humi02, temp03, humi03, pressure);534 }535 psArray *weatherSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)536 {537 psArray *rowSet;538 psArray *returnSet;539 psU64 i;540 541 rowSet = psDBSelectRows(dbh, WEATHER_TABLE_NAME, where, limit);542 if (!rowSet) {543 return NULL;544 }545 546 // convert psMetadata rows to row objects547 548 returnSet = psArrayAlloc(rowSet->n);549 returnSet->n = 0;550 551 for (i = 0; i < rowSet->n; i++) {552 weatherRow *object = weatherObjectFromMetadata(rowSet->data[i]);553 psArrayAdd(returnSet, 0, object);554 psFree(object);555 }556 557 psFree(rowSet);558 559 return returnSet;560 }561 bool weatherDeleteObject(psDB *dbh, const weatherRow *object)562 {563 psMetadata *where = weatherMetadataFromObject(object);564 long long count = psDBDeleteRows(dbh, WEATHER_TABLE_NAME, where, 0);565 psFree(where)566 if (count < 0) {567 psError(PS_ERR_UNKNOWN, true, "failed to delete row from weather");568 return false;569 }570 if (count > 1) {571 // XXX should this be a psAbort() instead? It is possible that572 // having an object match multiple rows was by design.573 psError(PS_ERR_UNKNOWN, true, "weatherRow object matched more then one row. Check your database schema");574 return false;575 }576 577 return true;578 }579 long long weatherDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)580 {581 long long deleted = 0;582 583 for (long long i = 0; i < objects->n; i++) {584 weatherRow *object = objects->data[i];585 psMetadata *where = weatherMetadataFromObject(object);586 long long count = psDBDeleteRows(dbh, WEATHER_TABLE_NAME, where, limit);587 psFree(where)588 if (count < 0) {589 psError(PS_ERR_UNKNOWN, true, "failed to delete row from weather");590 return count;591 }592 593 deleted += count;594 }595 596 return deleted;597 }598 bool weatherPrintObjects(FILE *stream, psArray *objects, bool mdcf)599 {600 PS_ASSERT_PTR_NON_NULL(objects, false);601 602 psMetadata *output = psMetadataAlloc();603 for (long i = 0; i < psArrayLength(objects); i++) {604 psMetadata *md = weatherMetadataFromObject(objects->data[i]);605 if (!psMetadataAddMetadata(606 output,607 PS_LIST_TAIL,608 WEATHER_TABLE_NAME,609 PS_META_DUPLICATE_OK,610 NULL,611 md612 )) {613 psError(PS_ERR_UNKNOWN, false, "failed to add metadata");614 psFree(md);615 psFree(output);616 return false;617 }618 psFree(md);619 }620 621 if (!ippdbPrintMetadataRaw(stream, output, mdcf)) {622 psError(PS_ERR_UNKNOWN, false, "failed to print metadata");623 psFree(output);624 }625 psFree(output);626 627 return true;628 }629 static void skyp_transparencyRowFree(skyp_transparencyRow *object);630 631 skyp_transparencyRow *skyp_transparencyRowAlloc(const char *filter, psF64 trans, psS32 nstars, psF64 ra, psF64 decl, psF32 exptime, psF64 sky_bright)632 {633 skyp_transparencyRow *_object;634 635 _object = psAlloc(sizeof(skyp_transparencyRow));636 psMemSetDeallocator(_object, (psFreeFunc)skyp_transparencyRowFree);637 638 _object->filter = psStringCopy(filter);639 _object->trans = trans;640 _object->nstars = nstars;641 _object->ra = ra;642 _object->decl = decl;643 _object->exptime = exptime;644 _object->sky_bright = sky_bright;645 646 return _object;647 }648 649 static void skyp_transparencyRowFree(skyp_transparencyRow *object)650 {651 psFree(object->filter);652 }653 654 bool skyp_transparencyCreateTable(psDB *dbh)655 {656 psMetadata *md;657 bool status;658 659 md = psMetadataAlloc();660 if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, "255")) {661 psError(PS_ERR_UNKNOWN, false, "failed to add item filter");662 psFree(md);663 return false;664 }665 if (!psMetadataAddF64(md, PS_LIST_TAIL, "trans", 0, NULL, 0.0)) {666 psError(PS_ERR_UNKNOWN, false, "failed to add item trans");667 psFree(md);668 return false;669 }670 if (!psMetadataAddS32(md, PS_LIST_TAIL, "nstars", 0, NULL, 0)) {671 psError(PS_ERR_UNKNOWN, false, "failed to add item nstars");672 psFree(md);673 return false;674 }675 if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, 0.0)) {676 psError(PS_ERR_UNKNOWN, false, "failed to add item ra");677 psFree(md);678 return false;679 }680 if (!psMetadataAddF64(md, PS_LIST_TAIL, "decl", 0, NULL, 0.0)) {681 psError(PS_ERR_UNKNOWN, false, "failed to add item decl");682 psFree(md);683 return false;684 }685 if (!psMetadataAddF32(md, PS_LIST_TAIL, "exptime", 0, NULL, 0.0)) {686 psError(PS_ERR_UNKNOWN, false, "failed to add item exptime");687 psFree(md);688 return false;689 }690 if (!psMetadataAddF64(md, PS_LIST_TAIL, "sky_bright", 0, NULL, 0.0)) {691 psError(PS_ERR_UNKNOWN, false, "failed to add item sky_bright");692 psFree(md);693 return false;694 }695 696 status = psDBCreateTable(dbh, SKYP_TRANSPARENCY_TABLE_NAME, md);697 698 psFree(md);699 700 return status;701 }702 703 bool skyp_transparencyDropTable(psDB *dbh)704 {705 return psDBDropTable(dbh, SKYP_TRANSPARENCY_TABLE_NAME);706 }707 708 bool skyp_transparencyInsert(psDB * dbh, const char *filter, psF64 trans, psS32 nstars, psF64 ra, psF64 decl, psF32 exptime, psF64 sky_bright)709 {710 psMetadata *md;711 bool status;712 713 md = psMetadataAlloc();714 if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, filter)) {715 psError(PS_ERR_UNKNOWN, false, "failed to add item filter");716 psFree(md);717 return false;718 }719 if (!psMetadataAddF64(md, PS_LIST_TAIL, "trans", 0, NULL, trans)) {720 psError(PS_ERR_UNKNOWN, false, "failed to add item trans");721 psFree(md);722 return false;723 }724 if (!psMetadataAddS32(md, PS_LIST_TAIL, "nstars", 0, NULL, nstars)) {725 psError(PS_ERR_UNKNOWN, false, "failed to add item nstars");726 psFree(md);727 return false;728 }729 if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, ra)) {730 psError(PS_ERR_UNKNOWN, false, "failed to add item ra");731 psFree(md);732 return false;733 }734 if (!psMetadataAddF64(md, PS_LIST_TAIL, "decl", 0, NULL, decl)) {735 psError(PS_ERR_UNKNOWN, false, "failed to add item decl");736 psFree(md);737 return false;738 }739 if (!psMetadataAddF32(md, PS_LIST_TAIL, "exptime", 0, NULL, exptime)) {740 psError(PS_ERR_UNKNOWN, false, "failed to add item exptime");741 psFree(md);742 return false;743 }744 if (!psMetadataAddF64(md, PS_LIST_TAIL, "sky_bright", 0, NULL, sky_bright)) {745 psError(PS_ERR_UNKNOWN, false, "failed to add item sky_bright");746 psFree(md);747 return false;748 }749 750 status = psDBInsertOneRow(dbh, SKYP_TRANSPARENCY_TABLE_NAME, md);751 psFree(md);752 753 return status;754 }755 756 long long skyp_transparencyDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)757 {758 long long deleted = 0;759 760 long long count = psDBDeleteRows(dbh, SKYP_TRANSPARENCY_TABLE_NAME, where, limit);761 if (count < 0) {762 psError(PS_ERR_UNKNOWN, true, "failed to delete row from skyp_transparency");763 return count;764 765 deleted += count;766 }767 768 return deleted;769 }770 bool skyp_transparencyInsertObject(psDB *dbh, skyp_transparencyRow *object)771 {772 return skyp_transparencyInsert(dbh, object->filter, object->trans, object->nstars, object->ra, object->decl, object->exptime, object->sky_bright);773 }774 775 bool skyp_transparencyInsertObjects(psDB *dbh, psArray *objects)776 {777 for (long i = 0; i < psArrayLength(objects); i++) {778 if (!skyp_transparencyInsertObject(dbh, objects->data[i])) {779 return false;780 }781 }782 783 return true;784 }785 786 bool skyp_transparencyInsertFits(psDB *dbh, const psFits *fits)787 {788 psArray *rowSet;789 790 // move to (the first?) extension named SKYP_TRANSPARENCY_TABLE_NAME791 if (!psFitsMoveExtName(fits, SKYP_TRANSPARENCY_TABLE_NAME)) {792 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", SKYP_TRANSPARENCY_TABLE_NAME);793 return false;794 }795 796 // check HDU type797 if (psFitsGetExtType(fits) != PS_FITS_TYPE_BINARY_TABLE) {798 psError(PS_ERR_UNKNOWN, true, "FITS HDU type is not PS_FITS_TYPE_BINARY_TABLE");799 return false;800 }801 802 // read fits table803 rowSet = psFitsReadTable(fits);804 if (!rowSet) {805 psError(PS_ERR_UNKNOWN, true, "FITS read error or FITS table is empty");806 psFree(rowSet);807 return false;808 }809 810 if (!psDBInsertRows(dbh, SKYP_TRANSPARENCY_TABLE_NAME, rowSet)) {811 psError(PS_ERR_UNKNOWN, false, "databse insert failed");812 psFree(rowSet);813 return false;814 }815 816 psFree(rowSet);817 818 return true;819 }820 821 bool skyp_transparencySelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)822 {823 psArray *rowSet;824 825 rowSet = psDBSelectRows(dbh, SKYP_TRANSPARENCY_TABLE_NAME, where, limit);826 if (!rowSet) {827 return false;828 }829 830 // output to fits831 if (!psFitsWriteTable(fits, NULL, rowSet, SKYP_TRANSPARENCY_TABLE_NAME)) {832 psError(PS_ERR_UNKNOWN, false, "FITS table write failed");833 psFree(rowSet);834 return false;835 }836 837 psFree(rowSet);838 839 return true;840 }841 842 psMetadata *skyp_transparencyMetadataFromObject(const skyp_transparencyRow *object)843 {844 psMetadata *md;845 846 md = psMetadataAlloc();847 if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, object->filter)) {848 psError(PS_ERR_UNKNOWN, false, "failed to add item filter");849 psFree(md);850 return NULL;851 }852 if (!psMetadataAddF64(md, PS_LIST_TAIL, "trans", 0, NULL, object->trans)) {853 psError(PS_ERR_UNKNOWN, false, "failed to add item trans");854 psFree(md);855 return NULL;856 }857 if (!psMetadataAddS32(md, PS_LIST_TAIL, "nstars", 0, NULL, object->nstars)) {858 psError(PS_ERR_UNKNOWN, false, "failed to add item nstars");859 psFree(md);860 return NULL;861 }862 if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, object->ra)) {863 psError(PS_ERR_UNKNOWN, false, "failed to add item ra");864 psFree(md);865 return NULL;866 }867 if (!psMetadataAddF64(md, PS_LIST_TAIL, "decl", 0, NULL, object->decl)) {868 psError(PS_ERR_UNKNOWN, false, "failed to add item decl");869 psFree(md);870 return NULL;871 }872 if (!psMetadataAddF32(md, PS_LIST_TAIL, "exptime", 0, NULL, object->exptime)) {873 psError(PS_ERR_UNKNOWN, false, "failed to add item exptime");874 psFree(md);875 return NULL;876 }877 if (!psMetadataAddF64(md, PS_LIST_TAIL, "sky_bright", 0, NULL, object->sky_bright)) {878 psError(PS_ERR_UNKNOWN, false, "failed to add item sky_bright");879 psFree(md);880 return NULL;881 }882 883 return md;884 }885 886 skyp_transparencyRow *skyp_transparencyObjectFromMetadata(psMetadata *md)887 {888 bool status;889 char *filter;890 psF64 trans;891 psS32 nstars;892 psF64 ra;893 psF64 decl;894 psF32 exptime;895 psF64 sky_bright;896 897 filter = psMetadataLookupPtr(&status, md, "filter");898 if (!status) {899 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item filter");900 return false;901 }902 trans = psMetadataLookupF64(&status, md, "trans");903 if (!status) {904 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item trans");905 return false;906 }907 nstars = psMetadataLookupS32(&status, md, "nstars");908 if (!status) {909 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item nstars");910 return false;911 }912 ra = psMetadataLookupF64(&status, md, "ra");913 if (!status) {914 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ra");915 return false;916 }917 decl = psMetadataLookupF64(&status, md, "decl");918 if (!status) {919 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item decl");920 return false;921 }922 exptime = psMetadataLookupF32(&status, md, "exptime");923 if (!status) {924 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exptime");925 return false;926 }927 sky_bright = psMetadataLookupF64(&status, md, "sky_bright");928 if (!status) {929 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item sky_bright");930 return false;931 }932 933 return skyp_transparencyRowAlloc(filter, trans, nstars, ra, decl, exptime, sky_bright);934 }935 psArray *skyp_transparencySelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)936 {937 psArray *rowSet;938 psArray *returnSet;939 psU64 i;940 941 rowSet = psDBSelectRows(dbh, SKYP_TRANSPARENCY_TABLE_NAME, where, limit);942 if (!rowSet) {943 return NULL;944 }945 946 // convert psMetadata rows to row objects947 948 returnSet = psArrayAlloc(rowSet->n);949 returnSet->n = 0;950 951 for (i = 0; i < rowSet->n; i++) {952 skyp_transparencyRow *object = skyp_transparencyObjectFromMetadata(rowSet->data[i]);953 psArrayAdd(returnSet, 0, object);954 psFree(object);955 }956 957 psFree(rowSet);958 959 return returnSet;960 }961 bool skyp_transparencyDeleteObject(psDB *dbh, const skyp_transparencyRow *object)962 {963 psMetadata *where = skyp_transparencyMetadataFromObject(object);964 long long count = psDBDeleteRows(dbh, SKYP_TRANSPARENCY_TABLE_NAME, where, 0);965 psFree(where)966 if (count < 0) {967 psError(PS_ERR_UNKNOWN, true, "failed to delete row from skyp_transparency");968 return false;969 }970 if (count > 1) {971 // XXX should this be a psAbort() instead? It is possible that972 // having an object match multiple rows was by design.973 psError(PS_ERR_UNKNOWN, true, "skyp_transparencyRow object matched more then one row. Check your database schema");974 return false;975 }976 977 return true;978 }979 long long skyp_transparencyDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)980 {981 long long deleted = 0;982 983 for (long long i = 0; i < objects->n; i++) {984 skyp_transparencyRow *object = objects->data[i];985 psMetadata *where = skyp_transparencyMetadataFromObject(object);986 long long count = psDBDeleteRows(dbh, SKYP_TRANSPARENCY_TABLE_NAME, where, limit);987 psFree(where)988 if (count < 0) {989 psError(PS_ERR_UNKNOWN, true, "failed to delete row from skyp_transparency");990 return count;991 }992 993 deleted += count;994 }995 996 return deleted;997 }998 bool skyp_transparencyPrintObjects(FILE *stream, psArray *objects, bool mdcf)999 {1000 PS_ASSERT_PTR_NON_NULL(objects, false);1001 1002 psMetadata *output = psMetadataAlloc();1003 for (long i = 0; i < psArrayLength(objects); i++) {1004 psMetadata *md = skyp_transparencyMetadataFromObject(objects->data[i]);1005 if (!psMetadataAddMetadata(1006 output,1007 PS_LIST_TAIL,1008 SKYP_TRANSPARENCY_TABLE_NAME,1009 PS_META_DUPLICATE_OK,1010 NULL,1011 md1012 )) {1013 psError(PS_ERR_UNKNOWN, false, "failed to add metadata");1014 psFree(md);1015 psFree(output);1016 return false;1017 }1018 psFree(md);1019 }1020 1021 if (!ippdbPrintMetadataRaw(stream, output, mdcf)) {1022 psError(PS_ERR_UNKNOWN, false, "failed to print metadata");1023 psFree(output);1024 }1025 psFree(output);1026 1027 return true;1028 }1029 static void skyp_absorptionRowFree(skyp_absorptionRow *object);1030 1031 skyp_absorptionRow *skyp_absorptionRowAlloc(const char *disperser_id, psF32 atmcomp1, psF32 atmcomp2, psF32 atmcomp3, psS32 nstars, psF64 ra, psF64 decl, psF32 exptime, psF64 sky_bright)1032 {1033 skyp_absorptionRow *_object;1034 1035 _object = psAlloc(sizeof(skyp_absorptionRow));1036 psMemSetDeallocator(_object, (psFreeFunc)skyp_absorptionRowFree);1037 1038 _object->disperser_id = psStringCopy(disperser_id);1039 _object->atmcomp1 = atmcomp1;1040 _object->atmcomp2 = atmcomp2;1041 _object->atmcomp3 = atmcomp3;1042 _object->nstars = nstars;1043 _object->ra = ra;1044 _object->decl = decl;1045 _object->exptime = exptime;1046 _object->sky_bright = sky_bright;1047 1048 return _object;1049 }1050 1051 static void skyp_absorptionRowFree(skyp_absorptionRow *object)1052 {1053 psFree(object->disperser_id);1054 }1055 1056 bool skyp_absorptionCreateTable(psDB *dbh)1057 {1058 psMetadata *md;1059 bool status;1060 1061 md = psMetadataAlloc();1062 if (!psMetadataAddStr(md, PS_LIST_TAIL, "disperser_id", 0, NULL, "255")) {1063 psError(PS_ERR_UNKNOWN, false, "failed to add item disperser_id");1064 psFree(md);1065 return false;1066 }1067 if (!psMetadataAddF32(md, PS_LIST_TAIL, "atmcomp1", 0, NULL, 0.0)) {1068 psError(PS_ERR_UNKNOWN, false, "failed to add item atmcomp1");1069 psFree(md);1070 return false;1071 }1072 if (!psMetadataAddF32(md, PS_LIST_TAIL, "atmcomp2", 0, NULL, 0.0)) {1073 psError(PS_ERR_UNKNOWN, false, "failed to add item atmcomp2");1074 psFree(md);1075 return false;1076 }1077 if (!psMetadataAddF32(md, PS_LIST_TAIL, "atmcomp3", 0, NULL, 0.0)) {1078 psError(PS_ERR_UNKNOWN, false, "failed to add item atmcomp3");1079 psFree(md);1080 return false;1081 }1082 if (!psMetadataAddS32(md, PS_LIST_TAIL, "nstars", 0, NULL, 0)) {1083 psError(PS_ERR_UNKNOWN, false, "failed to add item nstars");1084 psFree(md);1085 return false;1086 }1087 if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, 0.0)) {1088 psError(PS_ERR_UNKNOWN, false, "failed to add item ra");1089 psFree(md);1090 return false;1091 }1092 if (!psMetadataAddF64(md, PS_LIST_TAIL, "decl", 0, NULL, 0.0)) {1093 psError(PS_ERR_UNKNOWN, false, "failed to add item decl");1094 psFree(md);1095 return false;1096 }1097 if (!psMetadataAddF32(md, PS_LIST_TAIL, "exptime", 0, NULL, 0.0)) {1098 psError(PS_ERR_UNKNOWN, false, "failed to add item exptime");1099 psFree(md);1100 return false;1101 }1102 if (!psMetadataAddF64(md, PS_LIST_TAIL, "sky_bright", 0, NULL, 0.0)) {1103 psError(PS_ERR_UNKNOWN, false, "failed to add item sky_bright");1104 psFree(md);1105 return false;1106 }1107 1108 status = psDBCreateTable(dbh, SKYP_ABSORPTION_TABLE_NAME, md);1109 1110 psFree(md);1111 1112 return status;1113 }1114 1115 bool skyp_absorptionDropTable(psDB *dbh)1116 {1117 return psDBDropTable(dbh, SKYP_ABSORPTION_TABLE_NAME);1118 }1119 1120 bool skyp_absorptionInsert(psDB * dbh, const char *disperser_id, psF32 atmcomp1, psF32 atmcomp2, psF32 atmcomp3, psS32 nstars, psF64 ra, psF64 decl, psF32 exptime, psF64 sky_bright)1121 {1122 psMetadata *md;1123 bool status;1124 1125 md = psMetadataAlloc();1126 if (!psMetadataAddStr(md, PS_LIST_TAIL, "disperser_id", 0, NULL, disperser_id)) {1127 psError(PS_ERR_UNKNOWN, false, "failed to add item disperser_id");1128 psFree(md);1129 return false;1130 }1131 if (!psMetadataAddF32(md, PS_LIST_TAIL, "atmcomp1", 0, NULL, atmcomp1)) {1132 psError(PS_ERR_UNKNOWN, false, "failed to add item atmcomp1");1133 psFree(md);1134 return false;1135 }1136 if (!psMetadataAddF32(md, PS_LIST_TAIL, "atmcomp2", 0, NULL, atmcomp2)) {1137 psError(PS_ERR_UNKNOWN, false, "failed to add item atmcomp2");1138 psFree(md);1139 return false;1140 }1141 if (!psMetadataAddF32(md, PS_LIST_TAIL, "atmcomp3", 0, NULL, atmcomp3)) {1142 psError(PS_ERR_UNKNOWN, false, "failed to add item atmcomp3");1143 psFree(md);1144 return false;1145 }1146 if (!psMetadataAddS32(md, PS_LIST_TAIL, "nstars", 0, NULL, nstars)) {1147 psError(PS_ERR_UNKNOWN, false, "failed to add item nstars");1148 psFree(md);1149 return false;1150 }1151 if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, ra)) {1152 psError(PS_ERR_UNKNOWN, false, "failed to add item ra");1153 psFree(md);1154 return false;1155 }1156 if (!psMetadataAddF64(md, PS_LIST_TAIL, "decl", 0, NULL, decl)) {1157 psError(PS_ERR_UNKNOWN, false, "failed to add item decl");1158 psFree(md);1159 return false;1160 }1161 if (!psMetadataAddF32(md, PS_LIST_TAIL, "exptime", 0, NULL, exptime)) {1162 psError(PS_ERR_UNKNOWN, false, "failed to add item exptime");1163 psFree(md);1164 return false;1165 }1166 if (!psMetadataAddF64(md, PS_LIST_TAIL, "sky_bright", 0, NULL, sky_bright)) {1167 psError(PS_ERR_UNKNOWN, false, "failed to add item sky_bright");1168 psFree(md);1169 return false;1170 }1171 1172 status = psDBInsertOneRow(dbh, SKYP_ABSORPTION_TABLE_NAME, md);1173 psFree(md);1174 1175 return status;1176 }1177 1178 long long skyp_absorptionDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)1179 {1180 long long deleted = 0;1181 1182 long long count = psDBDeleteRows(dbh, SKYP_ABSORPTION_TABLE_NAME, where, limit);1183 if (count < 0) {1184 psError(PS_ERR_UNKNOWN, true, "failed to delete row from skyp_absorption");1185 return count;1186 1187 deleted += count;1188 }1189 1190 return deleted;1191 }1192 bool skyp_absorptionInsertObject(psDB *dbh, skyp_absorptionRow *object)1193 {1194 return skyp_absorptionInsert(dbh, object->disperser_id, object->atmcomp1, object->atmcomp2, object->atmcomp3, object->nstars, object->ra, object->decl, object->exptime, object->sky_bright);1195 }1196 1197 bool skyp_absorptionInsertObjects(psDB *dbh, psArray *objects)1198 {1199 for (long i = 0; i < psArrayLength(objects); i++) {1200 if (!skyp_absorptionInsertObject(dbh, objects->data[i])) {1201 return false;1202 }1203 }1204 1205 return true;1206 }1207 1208 bool skyp_absorptionInsertFits(psDB *dbh, const psFits *fits)1209 {1210 psArray *rowSet;1211 1212 // move to (the first?) extension named SKYP_ABSORPTION_TABLE_NAME1213 if (!psFitsMoveExtName(fits, SKYP_ABSORPTION_TABLE_NAME)) {1214 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", SKYP_ABSORPTION_TABLE_NAME);1215 return false;1216 }1217 1218 // check HDU type1219 if (psFitsGetExtType(fits) != PS_FITS_TYPE_BINARY_TABLE) {1220 psError(PS_ERR_UNKNOWN, true, "FITS HDU type is not PS_FITS_TYPE_BINARY_TABLE");1221 return false;1222 }1223 1224 // read fits table1225 rowSet = psFitsReadTable(fits);1226 if (!rowSet) {1227 psError(PS_ERR_UNKNOWN, true, "FITS read error or FITS table is empty");1228 psFree(rowSet);1229 return false;1230 }1231 1232 if (!psDBInsertRows(dbh, SKYP_ABSORPTION_TABLE_NAME, rowSet)) {1233 psError(PS_ERR_UNKNOWN, false, "databse insert failed");1234 psFree(rowSet);1235 return false;1236 }1237 1238 psFree(rowSet);1239 1240 return true;1241 }1242 1243 bool skyp_absorptionSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)1244 {1245 psArray *rowSet;1246 1247 rowSet = psDBSelectRows(dbh, SKYP_ABSORPTION_TABLE_NAME, where, limit);1248 if (!rowSet) {1249 return false;1250 }1251 1252 // output to fits1253 if (!psFitsWriteTable(fits, NULL, rowSet, SKYP_ABSORPTION_TABLE_NAME)) {1254 psError(PS_ERR_UNKNOWN, false, "FITS table write failed");1255 psFree(rowSet);1256 return false;1257 }1258 1259 psFree(rowSet);1260 1261 return true;1262 }1263 1264 psMetadata *skyp_absorptionMetadataFromObject(const skyp_absorptionRow *object)1265 {1266 psMetadata *md;1267 1268 md = psMetadataAlloc();1269 if (!psMetadataAddStr(md, PS_LIST_TAIL, "disperser_id", 0, NULL, object->disperser_id)) {1270 psError(PS_ERR_UNKNOWN, false, "failed to add item disperser_id");1271 psFree(md);1272 return NULL;1273 }1274 if (!psMetadataAddF32(md, PS_LIST_TAIL, "atmcomp1", 0, NULL, object->atmcomp1)) {1275 psError(PS_ERR_UNKNOWN, false, "failed to add item atmcomp1");1276 psFree(md);1277 return NULL;1278 }1279 if (!psMetadataAddF32(md, PS_LIST_TAIL, "atmcomp2", 0, NULL, object->atmcomp2)) {1280 psError(PS_ERR_UNKNOWN, false, "failed to add item atmcomp2");1281 psFree(md);1282 return NULL;1283 }1284 if (!psMetadataAddF32(md, PS_LIST_TAIL, "atmcomp3", 0, NULL, object->atmcomp3)) {1285 psError(PS_ERR_UNKNOWN, false, "failed to add item atmcomp3");1286 psFree(md);1287 return NULL;1288 }1289 if (!psMetadataAddS32(md, PS_LIST_TAIL, "nstars", 0, NULL, object->nstars)) {1290 psError(PS_ERR_UNKNOWN, false, "failed to add item nstars");1291 psFree(md);1292 return NULL;1293 }1294 if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, object->ra)) {1295 psError(PS_ERR_UNKNOWN, false, "failed to add item ra");1296 psFree(md);1297 return NULL;1298 }1299 if (!psMetadataAddF64(md, PS_LIST_TAIL, "decl", 0, NULL, object->decl)) {1300 psError(PS_ERR_UNKNOWN, false, "failed to add item decl");1301 psFree(md);1302 return NULL;1303 }1304 if (!psMetadataAddF32(md, PS_LIST_TAIL, "exptime", 0, NULL, object->exptime)) {1305 psError(PS_ERR_UNKNOWN, false, "failed to add item exptime");1306 psFree(md);1307 return NULL;1308 }1309 if (!psMetadataAddF64(md, PS_LIST_TAIL, "sky_bright", 0, NULL, object->sky_bright)) {1310 psError(PS_ERR_UNKNOWN, false, "failed to add item sky_bright");1311 psFree(md);1312 return NULL;1313 }1314 1315 return md;1316 }1317 1318 skyp_absorptionRow *skyp_absorptionObjectFromMetadata(psMetadata *md)1319 {1320 bool status;1321 char *disperser_id;1322 psF32 atmcomp1;1323 psF32 atmcomp2;1324 psF32 atmcomp3;1325 psS32 nstars;1326 psF64 ra;1327 psF64 decl;1328 psF32 exptime;1329 psF64 sky_bright;1330 1331 disperser_id = psMetadataLookupPtr(&status, md, "disperser_id");1332 if (!status) {1333 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item disperser_id");1334 return false;1335 }1336 atmcomp1 = psMetadataLookupF32(&status, md, "atmcomp1");1337 if (!status) {1338 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item atmcomp1");1339 return false;1340 }1341 atmcomp2 = psMetadataLookupF32(&status, md, "atmcomp2");1342 if (!status) {1343 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item atmcomp2");1344 return false;1345 }1346 atmcomp3 = psMetadataLookupF32(&status, md, "atmcomp3");1347 if (!status) {1348 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item atmcomp3");1349 return false;1350 }1351 nstars = psMetadataLookupS32(&status, md, "nstars");1352 if (!status) {1353 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item nstars");1354 return false;1355 }1356 ra = psMetadataLookupF64(&status, md, "ra");1357 if (!status) {1358 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ra");1359 return false;1360 }1361 decl = psMetadataLookupF64(&status, md, "decl");1362 if (!status) {1363 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item decl");1364 return false;1365 }1366 exptime = psMetadataLookupF32(&status, md, "exptime");1367 if (!status) {1368 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exptime");1369 return false;1370 }1371 sky_bright = psMetadataLookupF64(&status, md, "sky_bright");1372 if (!status) {1373 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item sky_bright");1374 return false;1375 }1376 1377 return skyp_absorptionRowAlloc(disperser_id, atmcomp1, atmcomp2, atmcomp3, nstars, ra, decl, exptime, sky_bright);1378 }1379 psArray *skyp_absorptionSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)1380 {1381 psArray *rowSet;1382 psArray *returnSet;1383 psU64 i;1384 1385 rowSet = psDBSelectRows(dbh, SKYP_ABSORPTION_TABLE_NAME, where, limit);1386 if (!rowSet) {1387 return NULL;1388 }1389 1390 // convert psMetadata rows to row objects1391 1392 returnSet = psArrayAlloc(rowSet->n);1393 returnSet->n = 0;1394 1395 for (i = 0; i < rowSet->n; i++) {1396 skyp_absorptionRow *object = skyp_absorptionObjectFromMetadata(rowSet->data[i]);1397 psArrayAdd(returnSet, 0, object);1398 psFree(object);1399 }1400 1401 psFree(rowSet);1402 1403 return returnSet;1404 }1405 bool skyp_absorptionDeleteObject(psDB *dbh, const skyp_absorptionRow *object)1406 {1407 psMetadata *where = skyp_absorptionMetadataFromObject(object);1408 long long count = psDBDeleteRows(dbh, SKYP_ABSORPTION_TABLE_NAME, where, 0);1409 psFree(where)1410 if (count < 0) {1411 psError(PS_ERR_UNKNOWN, true, "failed to delete row from skyp_absorption");1412 return false;1413 }1414 if (count > 1) {1415 // XXX should this be a psAbort() instead? It is possible that1416 // having an object match multiple rows was by design.1417 psError(PS_ERR_UNKNOWN, true, "skyp_absorptionRow object matched more then one row. Check your database schema");1418 return false;1419 }1420 1421 return true;1422 }1423 long long skyp_absorptionDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)1424 {1425 long long deleted = 0;1426 1427 for (long long i = 0; i < objects->n; i++) {1428 skyp_absorptionRow *object = objects->data[i];1429 psMetadata *where = skyp_absorptionMetadataFromObject(object);1430 long long count = psDBDeleteRows(dbh, SKYP_ABSORPTION_TABLE_NAME, where, limit);1431 psFree(where)1432 if (count < 0) {1433 psError(PS_ERR_UNKNOWN, true, "failed to delete row from skyp_absorption");1434 return count;1435 }1436 1437 deleted += count;1438 }1439 1440 return deleted;1441 }1442 bool skyp_absorptionPrintObjects(FILE *stream, psArray *objects, bool mdcf)1443 {1444 PS_ASSERT_PTR_NON_NULL(objects, false);1445 1446 psMetadata *output = psMetadataAlloc();1447 for (long i = 0; i < psArrayLength(objects); i++) {1448 psMetadata *md = skyp_absorptionMetadataFromObject(objects->data[i]);1449 if (!psMetadataAddMetadata(1450 output,1451 PS_LIST_TAIL,1452 SKYP_ABSORPTION_TABLE_NAME,1453 PS_META_DUPLICATE_OK,1454 NULL,1455 md1456 )) {1457 psError(PS_ERR_UNKNOWN, false, "failed to add metadata");1458 psFree(md);1459 psFree(output);1460 return false;1461 }1462 psFree(md);1463 }1464 1465 if (!ippdbPrintMetadataRaw(stream, output, mdcf)) {1466 psError(PS_ERR_UNKNOWN, false, "failed to print metadata");1467 psFree(output);1468 }1469 psFree(output);1470 1471 return true;1472 }1473 static void skyp_emissionRowFree(skyp_emissionRow *object);1474 1475 skyp_emissionRow *skyp_emissionRowAlloc(const char *disperser_id, psF32 atmcomp1, psF32 atmcomp2, psF32 atmcomp3, psF32 continuum, psF32 exptime)1476 {1477 skyp_emissionRow *_object;1478 1479 _object = psAlloc(sizeof(skyp_emissionRow));1480 psMemSetDeallocator(_object, (psFreeFunc)skyp_emissionRowFree);1481 1482 _object->disperser_id = psStringCopy(disperser_id);1483 _object->atmcomp1 = atmcomp1;1484 _object->atmcomp2 = atmcomp2;1485 _object->atmcomp3 = atmcomp3;1486 _object->continuum = continuum;1487 _object->exptime = exptime;1488 1489 return _object;1490 }1491 1492 static void skyp_emissionRowFree(skyp_emissionRow *object)1493 {1494 psFree(object->disperser_id);1495 }1496 1497 bool skyp_emissionCreateTable(psDB *dbh)1498 {1499 psMetadata *md;1500 bool status;1501 1502 md = psMetadataAlloc();1503 if (!psMetadataAddStr(md, PS_LIST_TAIL, "disperser_id", 0, NULL, "255")) {1504 psError(PS_ERR_UNKNOWN, false, "failed to add item disperser_id");1505 psFree(md);1506 return false;1507 }1508 if (!psMetadataAddF32(md, PS_LIST_TAIL, "atmcomp1", 0, NULL, 0.0)) {1509 psError(PS_ERR_UNKNOWN, false, "failed to add item atmcomp1");1510 psFree(md);1511 return false;1512 }1513 if (!psMetadataAddF32(md, PS_LIST_TAIL, "atmcomp2", 0, NULL, 0.0)) {1514 psError(PS_ERR_UNKNOWN, false, "failed to add item atmcomp2");1515 psFree(md);1516 return false;1517 }1518 if (!psMetadataAddF32(md, PS_LIST_TAIL, "atmcomp3", 0, NULL, 0.0)) {1519 psError(PS_ERR_UNKNOWN, false, "failed to add item atmcomp3");1520 psFree(md);1521 return false;1522 }1523 if (!psMetadataAddF32(md, PS_LIST_TAIL, "continuum", 0, NULL, 0.0)) {1524 psError(PS_ERR_UNKNOWN, false, "failed to add item continuum");1525 psFree(md);1526 return false;1527 }1528 if (!psMetadataAddF32(md, PS_LIST_TAIL, "exptime", 0, NULL, 0.0)) {1529 psError(PS_ERR_UNKNOWN, false, "failed to add item exptime");1530 psFree(md);1531 return false;1532 }1533 1534 status = psDBCreateTable(dbh, SKYP_EMISSION_TABLE_NAME, md);1535 1536 psFree(md);1537 1538 return status;1539 }1540 1541 bool skyp_emissionDropTable(psDB *dbh)1542 {1543 return psDBDropTable(dbh, SKYP_EMISSION_TABLE_NAME);1544 }1545 1546 bool skyp_emissionInsert(psDB * dbh, const char *disperser_id, psF32 atmcomp1, psF32 atmcomp2, psF32 atmcomp3, psF32 continuum, psF32 exptime)1547 {1548 psMetadata *md;1549 bool status;1550 1551 md = psMetadataAlloc();1552 if (!psMetadataAddStr(md, PS_LIST_TAIL, "disperser_id", 0, NULL, disperser_id)) {1553 psError(PS_ERR_UNKNOWN, false, "failed to add item disperser_id");1554 psFree(md);1555 return false;1556 }1557 if (!psMetadataAddF32(md, PS_LIST_TAIL, "atmcomp1", 0, NULL, atmcomp1)) {1558 psError(PS_ERR_UNKNOWN, false, "failed to add item atmcomp1");1559 psFree(md);1560 return false;1561 }1562 if (!psMetadataAddF32(md, PS_LIST_TAIL, "atmcomp2", 0, NULL, atmcomp2)) {1563 psError(PS_ERR_UNKNOWN, false, "failed to add item atmcomp2");1564 psFree(md);1565 return false;1566 }1567 if (!psMetadataAddF32(md, PS_LIST_TAIL, "atmcomp3", 0, NULL, atmcomp3)) {1568 psError(PS_ERR_UNKNOWN, false, "failed to add item atmcomp3");1569 psFree(md);1570 return false;1571 }1572 if (!psMetadataAddF32(md, PS_LIST_TAIL, "continuum", 0, NULL, continuum)) {1573 psError(PS_ERR_UNKNOWN, false, "failed to add item continuum");1574 psFree(md);1575 return false;1576 }1577 if (!psMetadataAddF32(md, PS_LIST_TAIL, "exptime", 0, NULL, exptime)) {1578 psError(PS_ERR_UNKNOWN, false, "failed to add item exptime");1579 psFree(md);1580 return false;1581 }1582 1583 status = psDBInsertOneRow(dbh, SKYP_EMISSION_TABLE_NAME, md);1584 psFree(md);1585 1586 return status;1587 }1588 1589 long long skyp_emissionDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)1590 {1591 long long deleted = 0;1592 1593 long long count = psDBDeleteRows(dbh, SKYP_EMISSION_TABLE_NAME, where, limit);1594 if (count < 0) {1595 psError(PS_ERR_UNKNOWN, true, "failed to delete row from skyp_emission");1596 return count;1597 1598 deleted += count;1599 }1600 1601 return deleted;1602 }1603 bool skyp_emissionInsertObject(psDB *dbh, skyp_emissionRow *object)1604 {1605 return skyp_emissionInsert(dbh, object->disperser_id, object->atmcomp1, object->atmcomp2, object->atmcomp3, object->continuum, object->exptime);1606 }1607 1608 bool skyp_emissionInsertObjects(psDB *dbh, psArray *objects)1609 {1610 for (long i = 0; i < psArrayLength(objects); i++) {1611 if (!skyp_emissionInsertObject(dbh, objects->data[i])) {1612 return false;1613 }1614 }1615 1616 return true;1617 }1618 1619 bool skyp_emissionInsertFits(psDB *dbh, const psFits *fits)1620 {1621 psArray *rowSet;1622 1623 // move to (the first?) extension named SKYP_EMISSION_TABLE_NAME1624 if (!psFitsMoveExtName(fits, SKYP_EMISSION_TABLE_NAME)) {1625 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", SKYP_EMISSION_TABLE_NAME);1626 return false;1627 }1628 1629 // check HDU type1630 if (psFitsGetExtType(fits) != PS_FITS_TYPE_BINARY_TABLE) {1631 psError(PS_ERR_UNKNOWN, true, "FITS HDU type is not PS_FITS_TYPE_BINARY_TABLE");1632 return false;1633 }1634 1635 // read fits table1636 rowSet = psFitsReadTable(fits);1637 if (!rowSet) {1638 psError(PS_ERR_UNKNOWN, true, "FITS read error or FITS table is empty");1639 psFree(rowSet);1640 return false;1641 }1642 1643 if (!psDBInsertRows(dbh, SKYP_EMISSION_TABLE_NAME, rowSet)) {1644 psError(PS_ERR_UNKNOWN, false, "databse insert failed");1645 psFree(rowSet);1646 return false;1647 }1648 1649 psFree(rowSet);1650 1651 return true;1652 }1653 1654 bool skyp_emissionSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)1655 {1656 psArray *rowSet;1657 1658 rowSet = psDBSelectRows(dbh, SKYP_EMISSION_TABLE_NAME, where, limit);1659 if (!rowSet) {1660 return false;1661 }1662 1663 // output to fits1664 if (!psFitsWriteTable(fits, NULL, rowSet, SKYP_EMISSION_TABLE_NAME)) {1665 psError(PS_ERR_UNKNOWN, false, "FITS table write failed");1666 psFree(rowSet);1667 return false;1668 }1669 1670 psFree(rowSet);1671 1672 return true;1673 }1674 1675 psMetadata *skyp_emissionMetadataFromObject(const skyp_emissionRow *object)1676 {1677 psMetadata *md;1678 1679 md = psMetadataAlloc();1680 if (!psMetadataAddStr(md, PS_LIST_TAIL, "disperser_id", 0, NULL, object->disperser_id)) {1681 psError(PS_ERR_UNKNOWN, false, "failed to add item disperser_id");1682 psFree(md);1683 return NULL;1684 }1685 if (!psMetadataAddF32(md, PS_LIST_TAIL, "atmcomp1", 0, NULL, object->atmcomp1)) {1686 psError(PS_ERR_UNKNOWN, false, "failed to add item atmcomp1");1687 psFree(md);1688 return NULL;1689 }1690 if (!psMetadataAddF32(md, PS_LIST_TAIL, "atmcomp2", 0, NULL, object->atmcomp2)) {1691 psError(PS_ERR_UNKNOWN, false, "failed to add item atmcomp2");1692 psFree(md);1693 return NULL;1694 }1695 if (!psMetadataAddF32(md, PS_LIST_TAIL, "atmcomp3", 0, NULL, object->atmcomp3)) {1696 psError(PS_ERR_UNKNOWN, false, "failed to add item atmcomp3");1697 psFree(md);1698 return NULL;1699 }1700 if (!psMetadataAddF32(md, PS_LIST_TAIL, "continuum", 0, NULL, object->continuum)) {1701 psError(PS_ERR_UNKNOWN, false, "failed to add item continuum");1702 psFree(md);1703 return NULL;1704 }1705 if (!psMetadataAddF32(md, PS_LIST_TAIL, "exptime", 0, NULL, object->exptime)) {1706 psError(PS_ERR_UNKNOWN, false, "failed to add item exptime");1707 psFree(md);1708 return NULL;1709 }1710 1711 return md;1712 }1713 1714 skyp_emissionRow *skyp_emissionObjectFromMetadata(psMetadata *md)1715 {1716 bool status;1717 char *disperser_id;1718 psF32 atmcomp1;1719 psF32 atmcomp2;1720 psF32 atmcomp3;1721 psF32 continuum;1722 psF32 exptime;1723 1724 disperser_id = psMetadataLookupPtr(&status, md, "disperser_id");1725 if (!status) {1726 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item disperser_id");1727 return false;1728 }1729 atmcomp1 = psMetadataLookupF32(&status, md, "atmcomp1");1730 if (!status) {1731 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item atmcomp1");1732 return false;1733 }1734 atmcomp2 = psMetadataLookupF32(&status, md, "atmcomp2");1735 if (!status) {1736 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item atmcomp2");1737 return false;1738 }1739 atmcomp3 = psMetadataLookupF32(&status, md, "atmcomp3");1740 if (!status) {1741 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item atmcomp3");1742 return false;1743 }1744 continuum = psMetadataLookupF32(&status, md, "continuum");1745 if (!status) {1746 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item continuum");1747 return false;1748 }1749 exptime = psMetadataLookupF32(&status, md, "exptime");1750 if (!status) {1751 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exptime");1752 return false;1753 }1754 1755 return skyp_emissionRowAlloc(disperser_id, atmcomp1, atmcomp2, atmcomp3, continuum, exptime);1756 }1757 psArray *skyp_emissionSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)1758 {1759 psArray *rowSet;1760 psArray *returnSet;1761 psU64 i;1762 1763 rowSet = psDBSelectRows(dbh, SKYP_EMISSION_TABLE_NAME, where, limit);1764 if (!rowSet) {1765 return NULL;1766 }1767 1768 // convert psMetadata rows to row objects1769 1770 returnSet = psArrayAlloc(rowSet->n);1771 returnSet->n = 0;1772 1773 for (i = 0; i < rowSet->n; i++) {1774 skyp_emissionRow *object = skyp_emissionObjectFromMetadata(rowSet->data[i]);1775 psArrayAdd(returnSet, 0, object);1776 psFree(object);1777 }1778 1779 psFree(rowSet);1780 1781 return returnSet;1782 }1783 bool skyp_emissionDeleteObject(psDB *dbh, const skyp_emissionRow *object)1784 {1785 psMetadata *where = skyp_emissionMetadataFromObject(object);1786 long long count = psDBDeleteRows(dbh, SKYP_EMISSION_TABLE_NAME, where, 0);1787 psFree(where)1788 if (count < 0) {1789 psError(PS_ERR_UNKNOWN, true, "failed to delete row from skyp_emission");1790 return false;1791 }1792 if (count > 1) {1793 // XXX should this be a psAbort() instead? It is possible that1794 // having an object match multiple rows was by design.1795 psError(PS_ERR_UNKNOWN, true, "skyp_emissionRow object matched more then one row. Check your database schema");1796 return false;1797 }1798 1799 return true;1800 }1801 long long skyp_emissionDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)1802 {1803 long long deleted = 0;1804 1805 for (long long i = 0; i < objects->n; i++) {1806 skyp_emissionRow *object = objects->data[i];1807 psMetadata *where = skyp_emissionMetadataFromObject(object);1808 long long count = psDBDeleteRows(dbh, SKYP_EMISSION_TABLE_NAME, where, limit);1809 psFree(where)1810 if (count < 0) {1811 psError(PS_ERR_UNKNOWN, true, "failed to delete row from skyp_emission");1812 return count;1813 }1814 1815 deleted += count;1816 }1817 1818 return deleted;1819 }1820 bool skyp_emissionPrintObjects(FILE *stream, psArray *objects, bool mdcf)1821 {1822 PS_ASSERT_PTR_NON_NULL(objects, false);1823 1824 psMetadata *output = psMetadataAlloc();1825 for (long i = 0; i < psArrayLength(objects); i++) {1826 psMetadata *md = skyp_emissionMetadataFromObject(objects->data[i]);1827 if (!psMetadataAddMetadata(1828 output,1829 PS_LIST_TAIL,1830 SKYP_EMISSION_TABLE_NAME,1831 PS_META_DUPLICATE_OK,1832 NULL,1833 md1834 )) {1835 psError(PS_ERR_UNKNOWN, false, "failed to add metadata");1836 psFree(md);1837 psFree(output);1838 return false;1839 }1840 psFree(md);1841 }1842 1843 if (!ippdbPrintMetadataRaw(stream, output, mdcf)) {1844 psError(PS_ERR_UNKNOWN, false, "failed to print metadata");1845 psFree(output);1846 }1847 psFree(output);1848 1849 return true;1850 }1851 static void dimmRowFree(dimmRow *object);1852 1853 dimmRow *dimmRowAlloc(psF32 sigmax, psF32 sigmay, psF32 fwhm, psF64 ra, psF64 decl, psF32 expttime, const char *telescope_id)1854 {1855 dimmRow *_object;1856 1857 _object = psAlloc(sizeof(dimmRow));1858 psMemSetDeallocator(_object, (psFreeFunc)dimmRowFree);1859 1860 _object->sigmax = sigmax;1861 _object->sigmay = sigmay;1862 _object->fwhm = fwhm;1863 _object->ra = ra;1864 _object->decl = decl;1865 _object->expttime = expttime;1866 _object->telescope_id = psStringCopy(telescope_id);1867 1868 return _object;1869 }1870 1871 static void dimmRowFree(dimmRow *object)1872 {1873 psFree(object->telescope_id);1874 }1875 1876 bool dimmCreateTable(psDB *dbh)1877 {1878 psMetadata *md;1879 bool status;1880 1881 md = psMetadataAlloc();1882 if (!psMetadataAddF32(md, PS_LIST_TAIL, "sigmax", 0, NULL, 0.0)) {1883 psError(PS_ERR_UNKNOWN, false, "failed to add item sigmax");1884 psFree(md);1885 return false;1886 }1887 if (!psMetadataAddF32(md, PS_LIST_TAIL, "sigmay", 0, NULL, 0.0)) {1888 psError(PS_ERR_UNKNOWN, false, "failed to add item sigmay");1889 psFree(md);1890 return false;1891 }1892 if (!psMetadataAddF32(md, PS_LIST_TAIL, "fwhm", 0, NULL, 0.0)) {1893 psError(PS_ERR_UNKNOWN, false, "failed to add item fwhm");1894 psFree(md);1895 return false;1896 }1897 if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, 0.0)) {1898 psError(PS_ERR_UNKNOWN, false, "failed to add item ra");1899 psFree(md);1900 return false;1901 }1902 if (!psMetadataAddF64(md, PS_LIST_TAIL, "decl", 0, NULL, 0.0)) {1903 psError(PS_ERR_UNKNOWN, false, "failed to add item decl");1904 psFree(md);1905 return false;1906 }1907 if (!psMetadataAddF32(md, PS_LIST_TAIL, "expttime", 0, NULL, 0.0)) {1908 psError(PS_ERR_UNKNOWN, false, "failed to add item expttime");1909 psFree(md);1910 return false;1911 }1912 if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope_id", 0, NULL, "255")) {1913 psError(PS_ERR_UNKNOWN, false, "failed to add item telescope_id");1914 psFree(md);1915 return false;1916 }1917 1918 status = psDBCreateTable(dbh, DIMM_TABLE_NAME, md);1919 1920 psFree(md);1921 1922 return status;1923 }1924 1925 bool dimmDropTable(psDB *dbh)1926 {1927 return psDBDropTable(dbh, DIMM_TABLE_NAME);1928 }1929 1930 bool dimmInsert(psDB * dbh, psF32 sigmax, psF32 sigmay, psF32 fwhm, psF64 ra, psF64 decl, psF32 expttime, const char *telescope_id)1931 {1932 psMetadata *md;1933 bool status;1934 1935 md = psMetadataAlloc();1936 if (!psMetadataAddF32(md, PS_LIST_TAIL, "sigmax", 0, NULL, sigmax)) {1937 psError(PS_ERR_UNKNOWN, false, "failed to add item sigmax");1938 psFree(md);1939 return false;1940 }1941 if (!psMetadataAddF32(md, PS_LIST_TAIL, "sigmay", 0, NULL, sigmay)) {1942 psError(PS_ERR_UNKNOWN, false, "failed to add item sigmay");1943 psFree(md);1944 return false;1945 }1946 if (!psMetadataAddF32(md, PS_LIST_TAIL, "fwhm", 0, NULL, fwhm)) {1947 psError(PS_ERR_UNKNOWN, false, "failed to add item fwhm");1948 psFree(md);1949 return false;1950 }1951 if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, ra)) {1952 psError(PS_ERR_UNKNOWN, false, "failed to add item ra");1953 psFree(md);1954 return false;1955 }1956 if (!psMetadataAddF64(md, PS_LIST_TAIL, "decl", 0, NULL, decl)) {1957 psError(PS_ERR_UNKNOWN, false, "failed to add item decl");1958 psFree(md);1959 return false;1960 }1961 if (!psMetadataAddF32(md, PS_LIST_TAIL, "expttime", 0, NULL, expttime)) {1962 psError(PS_ERR_UNKNOWN, false, "failed to add item expttime");1963 psFree(md);1964 return false;1965 }1966 if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope_id", 0, NULL, telescope_id)) {1967 psError(PS_ERR_UNKNOWN, false, "failed to add item telescope_id");1968 psFree(md);1969 return false;1970 }1971 1972 status = psDBInsertOneRow(dbh, DIMM_TABLE_NAME, md);1973 psFree(md);1974 1975 return status;1976 }1977 1978 long long dimmDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)1979 {1980 long long deleted = 0;1981 1982 long long count = psDBDeleteRows(dbh, DIMM_TABLE_NAME, where, limit);1983 if (count < 0) {1984 psError(PS_ERR_UNKNOWN, true, "failed to delete row from dimm");1985 return count;1986 1987 deleted += count;1988 }1989 1990 return deleted;1991 }1992 bool dimmInsertObject(psDB *dbh, dimmRow *object)1993 {1994 return dimmInsert(dbh, object->sigmax, object->sigmay, object->fwhm, object->ra, object->decl, object->expttime, object->telescope_id);1995 }1996 1997 bool dimmInsertObjects(psDB *dbh, psArray *objects)1998 {1999 for (long i = 0; i < psArrayLength(objects); i++) {2000 if (!dimmInsertObject(dbh, objects->data[i])) {2001 return false;2002 }2003 }2004 2005 return true;2006 }2007 2008 bool dimmInsertFits(psDB *dbh, const psFits *fits)2009 {2010 psArray *rowSet;2011 2012 // move to (the first?) extension named DIMM_TABLE_NAME2013 if (!psFitsMoveExtName(fits, DIMM_TABLE_NAME)) {2014 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", DIMM_TABLE_NAME);2015 return false;2016 }2017 2018 // check HDU type2019 if (psFitsGetExtType(fits) != PS_FITS_TYPE_BINARY_TABLE) {2020 psError(PS_ERR_UNKNOWN, true, "FITS HDU type is not PS_FITS_TYPE_BINARY_TABLE");2021 return false;2022 }2023 2024 // read fits table2025 rowSet = psFitsReadTable(fits);2026 if (!rowSet) {2027 psError(PS_ERR_UNKNOWN, true, "FITS read error or FITS table is empty");2028 psFree(rowSet);2029 return false;2030 }2031 2032 if (!psDBInsertRows(dbh, DIMM_TABLE_NAME, rowSet)) {2033 psError(PS_ERR_UNKNOWN, false, "databse insert failed");2034 psFree(rowSet);2035 return false;2036 }2037 2038 psFree(rowSet);2039 2040 return true;2041 }2042 2043 bool dimmSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)2044 {2045 psArray *rowSet;2046 2047 rowSet = psDBSelectRows(dbh, DIMM_TABLE_NAME, where, limit);2048 if (!rowSet) {2049 return false;2050 }2051 2052 // output to fits2053 if (!psFitsWriteTable(fits, NULL, rowSet, DIMM_TABLE_NAME)) {2054 psError(PS_ERR_UNKNOWN, false, "FITS table write failed");2055 psFree(rowSet);2056 return false;2057 }2058 2059 psFree(rowSet);2060 2061 return true;2062 }2063 2064 psMetadata *dimmMetadataFromObject(const dimmRow *object)2065 {2066 psMetadata *md;2067 2068 md = psMetadataAlloc();2069 if (!psMetadataAddF32(md, PS_LIST_TAIL, "sigmax", 0, NULL, object->sigmax)) {2070 psError(PS_ERR_UNKNOWN, false, "failed to add item sigmax");2071 psFree(md);2072 return NULL;2073 }2074 if (!psMetadataAddF32(md, PS_LIST_TAIL, "sigmay", 0, NULL, object->sigmay)) {2075 psError(PS_ERR_UNKNOWN, false, "failed to add item sigmay");2076 psFree(md);2077 return NULL;2078 }2079 if (!psMetadataAddF32(md, PS_LIST_TAIL, "fwhm", 0, NULL, object->fwhm)) {2080 psError(PS_ERR_UNKNOWN, false, "failed to add item fwhm");2081 psFree(md);2082 return NULL;2083 }2084 if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, object->ra)) {2085 psError(PS_ERR_UNKNOWN, false, "failed to add item ra");2086 psFree(md);2087 return NULL;2088 }2089 if (!psMetadataAddF64(md, PS_LIST_TAIL, "decl", 0, NULL, object->decl)) {2090 psError(PS_ERR_UNKNOWN, false, "failed to add item decl");2091 psFree(md);2092 return NULL;2093 }2094 if (!psMetadataAddF32(md, PS_LIST_TAIL, "expttime", 0, NULL, object->expttime)) {2095 psError(PS_ERR_UNKNOWN, false, "failed to add item expttime");2096 psFree(md);2097 return NULL;2098 }2099 if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope_id", 0, NULL, object->telescope_id)) {2100 psError(PS_ERR_UNKNOWN, false, "failed to add item telescope_id");2101 psFree(md);2102 return NULL;2103 }2104 2105 return md;2106 }2107 2108 dimmRow *dimmObjectFromMetadata(psMetadata *md)2109 {2110 bool status;2111 psF32 sigmax;2112 psF32 sigmay;2113 psF32 fwhm;2114 psF64 ra;2115 psF64 decl;2116 psF32 expttime;2117 char *telescope_id;2118 2119 sigmax = psMetadataLookupF32(&status, md, "sigmax");2120 if (!status) {2121 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item sigmax");2122 return false;2123 }2124 sigmay = psMetadataLookupF32(&status, md, "sigmay");2125 if (!status) {2126 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item sigmay");2127 return false;2128 }2129 fwhm = psMetadataLookupF32(&status, md, "fwhm");2130 if (!status) {2131 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item fwhm");2132 return false;2133 }2134 ra = psMetadataLookupF64(&status, md, "ra");2135 if (!status) {2136 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ra");2137 return false;2138 }2139 decl = psMetadataLookupF64(&status, md, "decl");2140 if (!status) {2141 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item decl");2142 return false;2143 }2144 expttime = psMetadataLookupF32(&status, md, "expttime");2145 if (!status) {2146 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item expttime");2147 return false;2148 }2149 telescope_id = psMetadataLookupPtr(&status, md, "telescope_id");2150 if (!status) {2151 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item telescope_id");2152 return false;2153 }2154 2155 return dimmRowAlloc(sigmax, sigmay, fwhm, ra, decl, expttime, telescope_id);2156 }2157 psArray *dimmSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)2158 {2159 psArray *rowSet;2160 psArray *returnSet;2161 psU64 i;2162 2163 rowSet = psDBSelectRows(dbh, DIMM_TABLE_NAME, where, limit);2164 if (!rowSet) {2165 return NULL;2166 }2167 2168 // convert psMetadata rows to row objects2169 2170 returnSet = psArrayAlloc(rowSet->n);2171 returnSet->n = 0;2172 2173 for (i = 0; i < rowSet->n; i++) {2174 dimmRow *object = dimmObjectFromMetadata(rowSet->data[i]);2175 psArrayAdd(returnSet, 0, object);2176 psFree(object);2177 }2178 2179 psFree(rowSet);2180 2181 return returnSet;2182 }2183 bool dimmDeleteObject(psDB *dbh, const dimmRow *object)2184 {2185 psMetadata *where = dimmMetadataFromObject(object);2186 long long count = psDBDeleteRows(dbh, DIMM_TABLE_NAME, where, 0);2187 psFree(where)2188 if (count < 0) {2189 psError(PS_ERR_UNKNOWN, true, "failed to delete row from dimm");2190 return false;2191 }2192 if (count > 1) {2193 // XXX should this be a psAbort() instead? It is possible that2194 // having an object match multiple rows was by design.2195 psError(PS_ERR_UNKNOWN, true, "dimmRow object matched more then one row. Check your database schema");2196 return false;2197 }2198 2199 return true;2200 }2201 long long dimmDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)2202 {2203 long long deleted = 0;2204 2205 for (long long i = 0; i < objects->n; i++) {2206 dimmRow *object = objects->data[i];2207 psMetadata *where = dimmMetadataFromObject(object);2208 long long count = psDBDeleteRows(dbh, DIMM_TABLE_NAME, where, limit);2209 psFree(where)2210 if (count < 0) {2211 psError(PS_ERR_UNKNOWN, true, "failed to delete row from dimm");2212 return count;2213 }2214 2215 deleted += count;2216 }2217 2218 return deleted;2219 }2220 bool dimmPrintObjects(FILE *stream, psArray *objects, bool mdcf)2221 {2222 PS_ASSERT_PTR_NON_NULL(objects, false);2223 2224 psMetadata *output = psMetadataAlloc();2225 for (long i = 0; i < psArrayLength(objects); i++) {2226 psMetadata *md = dimmMetadataFromObject(objects->data[i]);2227 if (!psMetadataAddMetadata(2228 output,2229 PS_LIST_TAIL,2230 DIMM_TABLE_NAME,2231 PS_META_DUPLICATE_OK,2232 NULL,2233 md2234 )) {2235 psError(PS_ERR_UNKNOWN, false, "failed to add metadata");2236 psFree(md);2237 psFree(output);2238 return false;2239 }2240 psFree(md);2241 }2242 2243 if (!ippdbPrintMetadataRaw(stream, output, mdcf)) {2244 psError(PS_ERR_UNKNOWN, false, "failed to print metadata");2245 psFree(output);2246 }2247 psFree(output);2248 2249 return true;2250 }2251 static void skyp_irRowFree(skyp_irRow *object);2252 2253 skyp_irRow *skyp_irRowAlloc(psF64 sky_bright, psF64 sky_var, psF64 ra, psF64 decl, psF32 fov_x, psF32 fov_y)2254 {2255 skyp_irRow *_object;2256 2257 _object = psAlloc(sizeof(skyp_irRow));2258 psMemSetDeallocator(_object, (psFreeFunc)skyp_irRowFree);2259 2260 _object->sky_bright = sky_bright;2261 _object->sky_var = sky_var;2262 _object->ra = ra;2263 _object->decl = decl;2264 _object->fov_x = fov_x;2265 _object->fov_y = fov_y;2266 2267 return _object;2268 }2269 2270 static void skyp_irRowFree(skyp_irRow *object)2271 {2272 }2273 2274 bool skyp_irCreateTable(psDB *dbh)2275 {2276 psMetadata *md;2277 bool status;2278 2279 md = psMetadataAlloc();2280 if (!psMetadataAddF64(md, PS_LIST_TAIL, "sky_bright", 0, NULL, 0.0)) {2281 psError(PS_ERR_UNKNOWN, false, "failed to add item sky_bright");2282 psFree(md);2283 return false;2284 }2285 if (!psMetadataAddF64(md, PS_LIST_TAIL, "sky_var", 0, NULL, 0.0)) {2286 psError(PS_ERR_UNKNOWN, false, "failed to add item sky_var");2287 psFree(md);2288 return false;2289 }2290 if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, 0.0)) {2291 psError(PS_ERR_UNKNOWN, false, "failed to add item ra");2292 psFree(md);2293 return false;2294 }2295 if (!psMetadataAddF64(md, PS_LIST_TAIL, "decl", 0, NULL, 0.0)) {2296 psError(PS_ERR_UNKNOWN, false, "failed to add item decl");2297 psFree(md);2298 return false;2299 }2300 if (!psMetadataAddF32(md, PS_LIST_TAIL, "fov_x", 0, NULL, 0.0)) {2301 psError(PS_ERR_UNKNOWN, false, "failed to add item fov_x");2302 psFree(md);2303 return false;2304 }2305 if (!psMetadataAddF32(md, PS_LIST_TAIL, "fov_y", 0, NULL, 0.0)) {2306 psError(PS_ERR_UNKNOWN, false, "failed to add item fov_y");2307 psFree(md);2308 return false;2309 }2310 2311 status = psDBCreateTable(dbh, SKYP_IR_TABLE_NAME, md);2312 2313 psFree(md);2314 2315 return status;2316 }2317 2318 bool skyp_irDropTable(psDB *dbh)2319 {2320 return psDBDropTable(dbh, SKYP_IR_TABLE_NAME);2321 }2322 2323 bool skyp_irInsert(psDB * dbh, psF64 sky_bright, psF64 sky_var, psF64 ra, psF64 decl, psF32 fov_x, psF32 fov_y)2324 {2325 psMetadata *md;2326 bool status;2327 2328 md = psMetadataAlloc();2329 if (!psMetadataAddF64(md, PS_LIST_TAIL, "sky_bright", 0, NULL, sky_bright)) {2330 psError(PS_ERR_UNKNOWN, false, "failed to add item sky_bright");2331 psFree(md);2332 return false;2333 }2334 if (!psMetadataAddF64(md, PS_LIST_TAIL, "sky_var", 0, NULL, sky_var)) {2335 psError(PS_ERR_UNKNOWN, false, "failed to add item sky_var");2336 psFree(md);2337 return false;2338 }2339 if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, ra)) {2340 psError(PS_ERR_UNKNOWN, false, "failed to add item ra");2341 psFree(md);2342 return false;2343 }2344 if (!psMetadataAddF64(md, PS_LIST_TAIL, "decl", 0, NULL, decl)) {2345 psError(PS_ERR_UNKNOWN, false, "failed to add item decl");2346 psFree(md);2347 return false;2348 }2349 if (!psMetadataAddF32(md, PS_LIST_TAIL, "fov_x", 0, NULL, fov_x)) {2350 psError(PS_ERR_UNKNOWN, false, "failed to add item fov_x");2351 psFree(md);2352 return false;2353 }2354 if (!psMetadataAddF32(md, PS_LIST_TAIL, "fov_y", 0, NULL, fov_y)) {2355 psError(PS_ERR_UNKNOWN, false, "failed to add item fov_y");2356 psFree(md);2357 return false;2358 }2359 2360 status = psDBInsertOneRow(dbh, SKYP_IR_TABLE_NAME, md);2361 psFree(md);2362 2363 return status;2364 }2365 2366 long long skyp_irDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)2367 {2368 long long deleted = 0;2369 2370 long long count = psDBDeleteRows(dbh, SKYP_IR_TABLE_NAME, where, limit);2371 if (count < 0) {2372 psError(PS_ERR_UNKNOWN, true, "failed to delete row from skyp_ir");2373 return count;2374 2375 deleted += count;2376 }2377 2378 return deleted;2379 }2380 bool skyp_irInsertObject(psDB *dbh, skyp_irRow *object)2381 {2382 return skyp_irInsert(dbh, object->sky_bright, object->sky_var, object->ra, object->decl, object->fov_x, object->fov_y);2383 }2384 2385 bool skyp_irInsertObjects(psDB *dbh, psArray *objects)2386 {2387 for (long i = 0; i < psArrayLength(objects); i++) {2388 if (!skyp_irInsertObject(dbh, objects->data[i])) {2389 return false;2390 }2391 }2392 2393 return true;2394 }2395 2396 bool skyp_irInsertFits(psDB *dbh, const psFits *fits)2397 {2398 psArray *rowSet;2399 2400 // move to (the first?) extension named SKYP_IR_TABLE_NAME2401 if (!psFitsMoveExtName(fits, SKYP_IR_TABLE_NAME)) {2402 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", SKYP_IR_TABLE_NAME);2403 return false;2404 }2405 2406 // check HDU type2407 if (psFitsGetExtType(fits) != PS_FITS_TYPE_BINARY_TABLE) {2408 psError(PS_ERR_UNKNOWN, true, "FITS HDU type is not PS_FITS_TYPE_BINARY_TABLE");2409 return false;2410 }2411 2412 // read fits table2413 rowSet = psFitsReadTable(fits);2414 if (!rowSet) {2415 psError(PS_ERR_UNKNOWN, true, "FITS read error or FITS table is empty");2416 psFree(rowSet);2417 return false;2418 }2419 2420 if (!psDBInsertRows(dbh, SKYP_IR_TABLE_NAME, rowSet)) {2421 psError(PS_ERR_UNKNOWN, false, "databse insert failed");2422 psFree(rowSet);2423 return false;2424 }2425 2426 psFree(rowSet);2427 2428 return true;2429 }2430 2431 bool skyp_irSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)2432 {2433 psArray *rowSet;2434 2435 rowSet = psDBSelectRows(dbh, SKYP_IR_TABLE_NAME, where, limit);2436 if (!rowSet) {2437 return false;2438 }2439 2440 // output to fits2441 if (!psFitsWriteTable(fits, NULL, rowSet, SKYP_IR_TABLE_NAME)) {2442 psError(PS_ERR_UNKNOWN, false, "FITS table write failed");2443 psFree(rowSet);2444 return false;2445 }2446 2447 psFree(rowSet);2448 2449 return true;2450 }2451 2452 psMetadata *skyp_irMetadataFromObject(const skyp_irRow *object)2453 {2454 psMetadata *md;2455 2456 md = psMetadataAlloc();2457 if (!psMetadataAddF64(md, PS_LIST_TAIL, "sky_bright", 0, NULL, object->sky_bright)) {2458 psError(PS_ERR_UNKNOWN, false, "failed to add item sky_bright");2459 psFree(md);2460 return NULL;2461 }2462 if (!psMetadataAddF64(md, PS_LIST_TAIL, "sky_var", 0, NULL, object->sky_var)) {2463 psError(PS_ERR_UNKNOWN, false, "failed to add item sky_var");2464 psFree(md);2465 return NULL;2466 }2467 if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, object->ra)) {2468 psError(PS_ERR_UNKNOWN, false, "failed to add item ra");2469 psFree(md);2470 return NULL;2471 }2472 if (!psMetadataAddF64(md, PS_LIST_TAIL, "decl", 0, NULL, object->decl)) {2473 psError(PS_ERR_UNKNOWN, false, "failed to add item decl");2474 psFree(md);2475 return NULL;2476 }2477 if (!psMetadataAddF32(md, PS_LIST_TAIL, "fov_x", 0, NULL, object->fov_x)) {2478 psError(PS_ERR_UNKNOWN, false, "failed to add item fov_x");2479 psFree(md);2480 return NULL;2481 }2482 if (!psMetadataAddF32(md, PS_LIST_TAIL, "fov_y", 0, NULL, object->fov_y)) {2483 psError(PS_ERR_UNKNOWN, false, "failed to add item fov_y");2484 psFree(md);2485 return NULL;2486 }2487 2488 return md;2489 }2490 2491 skyp_irRow *skyp_irObjectFromMetadata(psMetadata *md)2492 {2493 bool status;2494 psF64 sky_bright;2495 psF64 sky_var;2496 psF64 ra;2497 psF64 decl;2498 psF32 fov_x;2499 psF32 fov_y;2500 2501 sky_bright = psMetadataLookupF64(&status, md, "sky_bright");2502 if (!status) {2503 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item sky_bright");2504 return false;2505 }2506 sky_var = psMetadataLookupF64(&status, md, "sky_var");2507 if (!status) {2508 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item sky_var");2509 return false;2510 }2511 ra = psMetadataLookupF64(&status, md, "ra");2512 if (!status) {2513 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ra");2514 return false;2515 }2516 decl = psMetadataLookupF64(&status, md, "decl");2517 if (!status) {2518 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item decl");2519 return false;2520 }2521 fov_x = psMetadataLookupF32(&status, md, "fov_x");2522 if (!status) {2523 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item fov_x");2524 return false;2525 }2526 fov_y = psMetadataLookupF32(&status, md, "fov_y");2527 if (!status) {2528 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item fov_y");2529 return false;2530 }2531 2532 return skyp_irRowAlloc(sky_bright, sky_var, ra, decl, fov_x, fov_y);2533 }2534 psArray *skyp_irSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)2535 {2536 psArray *rowSet;2537 psArray *returnSet;2538 psU64 i;2539 2540 rowSet = psDBSelectRows(dbh, SKYP_IR_TABLE_NAME, where, limit);2541 if (!rowSet) {2542 return NULL;2543 }2544 2545 // convert psMetadata rows to row objects2546 2547 returnSet = psArrayAlloc(rowSet->n);2548 returnSet->n = 0;2549 2550 for (i = 0; i < rowSet->n; i++) {2551 skyp_irRow *object = skyp_irObjectFromMetadata(rowSet->data[i]);2552 psArrayAdd(returnSet, 0, object);2553 psFree(object);2554 }2555 2556 psFree(rowSet);2557 2558 return returnSet;2559 }2560 bool skyp_irDeleteObject(psDB *dbh, const skyp_irRow *object)2561 {2562 psMetadata *where = skyp_irMetadataFromObject(object);2563 long long count = psDBDeleteRows(dbh, SKYP_IR_TABLE_NAME, where, 0);2564 psFree(where)2565 if (count < 0) {2566 psError(PS_ERR_UNKNOWN, true, "failed to delete row from skyp_ir");2567 return false;2568 }2569 if (count > 1) {2570 // XXX should this be a psAbort() instead? It is possible that2571 // having an object match multiple rows was by design.2572 psError(PS_ERR_UNKNOWN, true, "skyp_irRow object matched more then one row. Check your database schema");2573 return false;2574 }2575 2576 return true;2577 }2578 long long skyp_irDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)2579 {2580 long long deleted = 0;2581 2582 for (long long i = 0; i < objects->n; i++) {2583 skyp_irRow *object = objects->data[i];2584 psMetadata *where = skyp_irMetadataFromObject(object);2585 long long count = psDBDeleteRows(dbh, SKYP_IR_TABLE_NAME, where, limit);2586 psFree(where)2587 if (count < 0) {2588 psError(PS_ERR_UNKNOWN, true, "failed to delete row from skyp_ir");2589 return count;2590 }2591 2592 deleted += count;2593 }2594 2595 return deleted;2596 }2597 bool skyp_irPrintObjects(FILE *stream, psArray *objects, bool mdcf)2598 {2599 PS_ASSERT_PTR_NON_NULL(objects, false);2600 2601 psMetadata *output = psMetadataAlloc();2602 for (long i = 0; i < psArrayLength(objects); i++) {2603 psMetadata *md = skyp_irMetadataFromObject(objects->data[i]);2604 if (!psMetadataAddMetadata(2605 output,2606 PS_LIST_TAIL,2607 SKYP_IR_TABLE_NAME,2608 PS_META_DUPLICATE_OK,2609 NULL,2610 md2611 )) {2612 psError(PS_ERR_UNKNOWN, false, "failed to add metadata");2613 psFree(md);2614 psFree(output);2615 return false;2616 }2617 psFree(md);2618 }2619 2620 if (!ippdbPrintMetadataRaw(stream, output, mdcf)) {2621 psError(PS_ERR_UNKNOWN, false, "failed to print metadata");2622 psFree(output);2623 }2624 psFree(output);2625 2626 return true;2627 }2628 static void domeRowFree(domeRow *object);2629 2630 domeRow *domeRowAlloc(psF32 az, bool open, bool light, bool track)2631 {2632 domeRow *_object;2633 2634 _object = psAlloc(sizeof(domeRow));2635 psMemSetDeallocator(_object, (psFreeFunc)domeRowFree);2636 2637 _object->az = az;2638 _object->open = open;2639 _object->light = light;2640 _object->track = track;2641 2642 return _object;2643 }2644 2645 static void domeRowFree(domeRow *object)2646 {2647 }2648 2649 bool domeCreateTable(psDB *dbh)2650 {2651 psMetadata *md;2652 bool status;2653 2654 md = psMetadataAlloc();2655 if (!psMetadataAddF32(md, PS_LIST_TAIL, "az", 0, NULL, 0.0)) {2656 psError(PS_ERR_UNKNOWN, false, "failed to add item az");2657 psFree(md);2658 return false;2659 }2660 if (!psMetadataAdd(md, PS_LIST_TAIL, "open", PS_DATA_BOOL, NULL, true)) {2661 psError(PS_ERR_UNKNOWN, false, "failed to add item open");2662 psFree(md);2663 return false;2664 }2665 if (!psMetadataAdd(md, PS_LIST_TAIL, "light", PS_DATA_BOOL, NULL, true)) {2666 psError(PS_ERR_UNKNOWN, false, "failed to add item light");2667 psFree(md);2668 return false;2669 }2670 if (!psMetadataAdd(md, PS_LIST_TAIL, "track", PS_DATA_BOOL, NULL, true)) {2671 psError(PS_ERR_UNKNOWN, false, "failed to add item track");2672 psFree(md);2673 return false;2674 }2675 2676 status = psDBCreateTable(dbh, DOME_TABLE_NAME, md);2677 2678 psFree(md);2679 2680 return status;2681 }2682 2683 bool domeDropTable(psDB *dbh)2684 {2685 return psDBDropTable(dbh, DOME_TABLE_NAME);2686 }2687 2688 bool domeInsert(psDB * dbh, psF32 az, bool open, bool light, bool track)2689 {2690 psMetadata *md;2691 bool status;2692 2693 md = psMetadataAlloc();2694 if (!psMetadataAddF32(md, PS_LIST_TAIL, "az", 0, NULL, az)) {2695 psError(PS_ERR_UNKNOWN, false, "failed to add item az");2696 psFree(md);2697 return false;2698 }2699 if (!psMetadataAdd(md, PS_LIST_TAIL, "open", PS_DATA_BOOL, NULL, open)) {2700 psError(PS_ERR_UNKNOWN, false, "failed to add item open");2701 psFree(md);2702 return false;2703 }2704 if (!psMetadataAdd(md, PS_LIST_TAIL, "light", PS_DATA_BOOL, NULL, light)) {2705 psError(PS_ERR_UNKNOWN, false, "failed to add item light");2706 psFree(md);2707 return false;2708 }2709 if (!psMetadataAdd(md, PS_LIST_TAIL, "track", PS_DATA_BOOL, NULL, track)) {2710 psError(PS_ERR_UNKNOWN, false, "failed to add item track");2711 psFree(md);2712 return false;2713 }2714 2715 status = psDBInsertOneRow(dbh, DOME_TABLE_NAME, md);2716 psFree(md);2717 2718 return status;2719 }2720 2721 long long domeDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)2722 {2723 long long deleted = 0;2724 2725 long long count = psDBDeleteRows(dbh, DOME_TABLE_NAME, where, limit);2726 if (count < 0) {2727 psError(PS_ERR_UNKNOWN, true, "failed to delete row from dome");2728 return count;2729 2730 deleted += count;2731 }2732 2733 return deleted;2734 }2735 bool domeInsertObject(psDB *dbh, domeRow *object)2736 {2737 return domeInsert(dbh, object->az, object->open, object->light, object->track);2738 }2739 2740 bool domeInsertObjects(psDB *dbh, psArray *objects)2741 {2742 for (long i = 0; i < psArrayLength(objects); i++) {2743 if (!domeInsertObject(dbh, objects->data[i])) {2744 return false;2745 }2746 }2747 2748 return true;2749 }2750 2751 bool domeInsertFits(psDB *dbh, const psFits *fits)2752 {2753 psArray *rowSet;2754 2755 // move to (the first?) extension named DOME_TABLE_NAME2756 if (!psFitsMoveExtName(fits, DOME_TABLE_NAME)) {2757 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", DOME_TABLE_NAME);2758 return false;2759 }2760 2761 // check HDU type2762 if (psFitsGetExtType(fits) != PS_FITS_TYPE_BINARY_TABLE) {2763 psError(PS_ERR_UNKNOWN, true, "FITS HDU type is not PS_FITS_TYPE_BINARY_TABLE");2764 return false;2765 }2766 2767 // read fits table2768 rowSet = psFitsReadTable(fits);2769 if (!rowSet) {2770 psError(PS_ERR_UNKNOWN, true, "FITS read error or FITS table is empty");2771 psFree(rowSet);2772 return false;2773 }2774 2775 if (!psDBInsertRows(dbh, DOME_TABLE_NAME, rowSet)) {2776 psError(PS_ERR_UNKNOWN, false, "databse insert failed");2777 psFree(rowSet);2778 return false;2779 }2780 2781 psFree(rowSet);2782 2783 return true;2784 }2785 2786 bool domeSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)2787 {2788 psArray *rowSet;2789 2790 rowSet = psDBSelectRows(dbh, DOME_TABLE_NAME, where, limit);2791 if (!rowSet) {2792 return false;2793 }2794 2795 // output to fits2796 if (!psFitsWriteTable(fits, NULL, rowSet, DOME_TABLE_NAME)) {2797 psError(PS_ERR_UNKNOWN, false, "FITS table write failed");2798 psFree(rowSet);2799 return false;2800 }2801 2802 psFree(rowSet);2803 2804 return true;2805 }2806 2807 psMetadata *domeMetadataFromObject(const domeRow *object)2808 {2809 psMetadata *md;2810 2811 md = psMetadataAlloc();2812 if (!psMetadataAddF32(md, PS_LIST_TAIL, "az", 0, NULL, object->az)) {2813 psError(PS_ERR_UNKNOWN, false, "failed to add item az");2814 psFree(md);2815 return NULL;2816 }2817 if (!psMetadataAdd(md, PS_LIST_TAIL, "open", PS_DATA_BOOL, NULL, object->open)) {2818 psError(PS_ERR_UNKNOWN, false, "failed to add item open");2819 psFree(md);2820 return NULL;2821 }2822 if (!psMetadataAdd(md, PS_LIST_TAIL, "light", PS_DATA_BOOL, NULL, object->light)) {2823 psError(PS_ERR_UNKNOWN, false, "failed to add item light");2824 psFree(md);2825 return NULL;2826 }2827 if (!psMetadataAdd(md, PS_LIST_TAIL, "track", PS_DATA_BOOL, NULL, object->track)) {2828 psError(PS_ERR_UNKNOWN, false, "failed to add item track");2829 psFree(md);2830 return NULL;2831 }2832 2833 return md;2834 }2835 2836 domeRow *domeObjectFromMetadata(psMetadata *md)2837 {2838 bool status;2839 psF32 az;2840 bool open;2841 bool light;2842 bool track;2843 2844 az = psMetadataLookupF32(&status, md, "az");2845 if (!status) {2846 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item az");2847 return false;2848 }2849 open = psMetadataLookupBool(&status, md, "open");2850 if (!status) {2851 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item open");2852 return false;2853 }2854 light = psMetadataLookupBool(&status, md, "light");2855 if (!status) {2856 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item light");2857 return false;2858 }2859 track = psMetadataLookupBool(&status, md, "track");2860 if (!status) {2861 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item track");2862 return false;2863 }2864 2865 return domeRowAlloc(az, open, light, track);2866 }2867 psArray *domeSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)2868 {2869 psArray *rowSet;2870 psArray *returnSet;2871 psU64 i;2872 2873 rowSet = psDBSelectRows(dbh, DOME_TABLE_NAME, where, limit);2874 if (!rowSet) {2875 return NULL;2876 }2877 2878 // convert psMetadata rows to row objects2879 2880 returnSet = psArrayAlloc(rowSet->n);2881 returnSet->n = 0;2882 2883 for (i = 0; i < rowSet->n; i++) {2884 domeRow *object = domeObjectFromMetadata(rowSet->data[i]);2885 psArrayAdd(returnSet, 0, object);2886 psFree(object);2887 }2888 2889 psFree(rowSet);2890 2891 return returnSet;2892 }2893 bool domeDeleteObject(psDB *dbh, const domeRow *object)2894 {2895 psMetadata *where = domeMetadataFromObject(object);2896 long long count = psDBDeleteRows(dbh, DOME_TABLE_NAME, where, 0);2897 psFree(where)2898 if (count < 0) {2899 psError(PS_ERR_UNKNOWN, true, "failed to delete row from dome");2900 return false;2901 }2902 if (count > 1) {2903 // XXX should this be a psAbort() instead? It is possible that2904 // having an object match multiple rows was by design.2905 psError(PS_ERR_UNKNOWN, true, "domeRow object matched more then one row. Check your database schema");2906 return false;2907 }2908 2909 return true;2910 }2911 long long domeDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)2912 {2913 long long deleted = 0;2914 2915 for (long long i = 0; i < objects->n; i++) {2916 domeRow *object = objects->data[i];2917 psMetadata *where = domeMetadataFromObject(object);2918 long long count = psDBDeleteRows(dbh, DOME_TABLE_NAME, where, limit);2919 psFree(where)2920 if (count < 0) {2921 psError(PS_ERR_UNKNOWN, true, "failed to delete row from dome");2922 return count;2923 }2924 2925 deleted += count;2926 }2927 2928 return deleted;2929 }2930 bool domePrintObjects(FILE *stream, psArray *objects, bool mdcf)2931 {2932 PS_ASSERT_PTR_NON_NULL(objects, false);2933 2934 psMetadata *output = psMetadataAlloc();2935 for (long i = 0; i < psArrayLength(objects); i++) {2936 psMetadata *md = domeMetadataFromObject(objects->data[i]);2937 if (!psMetadataAddMetadata(2938 output,2939 PS_LIST_TAIL,2940 DOME_TABLE_NAME,2941 PS_META_DUPLICATE_OK,2942 NULL,2943 md2944 )) {2945 psError(PS_ERR_UNKNOWN, false, "failed to add metadata");2946 psFree(md);2947 psFree(output);2948 return false;2949 }2950 psFree(md);2951 }2952 2953 if (!ippdbPrintMetadataRaw(stream, output, mdcf)) {2954 psError(PS_ERR_UNKNOWN, false, "failed to print metadata");2955 psFree(output);2956 }2957 psFree(output);2958 2959 return true;2960 }2961 static void telescopeRowFree(telescopeRow *object);2962 2963 telescopeRow *telescopeRowAlloc(const char *guide, psF32 alt, psF32 az, psF64 ra, psF64 decl)2964 {2965 telescopeRow *_object;2966 2967 _object = psAlloc(sizeof(telescopeRow));2968 psMemSetDeallocator(_object, (psFreeFunc)telescopeRowFree);2969 2970 _object->guide = psStringCopy(guide);2971 _object->alt = alt;2972 _object->az = az;2973 _object->ra = ra;2974 _object->decl = decl;2975 2976 return _object;2977 }2978 2979 static void telescopeRowFree(telescopeRow *object)2980 {2981 psFree(object->guide);2982 }2983 2984 bool telescopeCreateTable(psDB *dbh)2985 {2986 psMetadata *md;2987 bool status;2988 2989 md = psMetadataAlloc();2990 if (!psMetadataAddStr(md, PS_LIST_TAIL, "guide", 0, NULL, "255")) {2991 psError(PS_ERR_UNKNOWN, false, "failed to add item guide");2992 psFree(md);2993 return false;2994 }2995 if (!psMetadataAddF32(md, PS_LIST_TAIL, "alt", 0, NULL, 0.0)) {2996 psError(PS_ERR_UNKNOWN, false, "failed to add item alt");2997 psFree(md);2998 return false;2999 }3000 if (!psMetadataAddF32(md, PS_LIST_TAIL, "az", 0, NULL, 0.0)) {3001 psError(PS_ERR_UNKNOWN, false, "failed to add item az");3002 psFree(md);3003 return false;3004 }3005 if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, 0.0)) {3006 psError(PS_ERR_UNKNOWN, false, "failed to add item ra");3007 psFree(md);3008 return false;3009 }3010 if (!psMetadataAddF64(md, PS_LIST_TAIL, "decl", 0, NULL, 0.0)) {3011 psError(PS_ERR_UNKNOWN, false, "failed to add item decl");3012 psFree(md);3013 return false;3014 }3015 3016 status = psDBCreateTable(dbh, TELESCOPE_TABLE_NAME, md);3017 3018 psFree(md);3019 3020 return status;3021 }3022 3023 bool telescopeDropTable(psDB *dbh)3024 {3025 return psDBDropTable(dbh, TELESCOPE_TABLE_NAME);3026 }3027 3028 bool telescopeInsert(psDB * dbh, const char *guide, psF32 alt, psF32 az, psF64 ra, psF64 decl)3029 {3030 psMetadata *md;3031 bool status;3032 3033 md = psMetadataAlloc();3034 if (!psMetadataAddStr(md, PS_LIST_TAIL, "guide", 0, NULL, guide)) {3035 psError(PS_ERR_UNKNOWN, false, "failed to add item guide");3036 psFree(md);3037 return false;3038 }3039 if (!psMetadataAddF32(md, PS_LIST_TAIL, "alt", 0, NULL, alt)) {3040 psError(PS_ERR_UNKNOWN, false, "failed to add item alt");3041 psFree(md);3042 return false;3043 }3044 if (!psMetadataAddF32(md, PS_LIST_TAIL, "az", 0, NULL, az)) {3045 psError(PS_ERR_UNKNOWN, false, "failed to add item az");3046 psFree(md);3047 return false;3048 }3049 if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, ra)) {3050 psError(PS_ERR_UNKNOWN, false, "failed to add item ra");3051 psFree(md);3052 return false;3053 }3054 if (!psMetadataAddF64(md, PS_LIST_TAIL, "decl", 0, NULL, decl)) {3055 psError(PS_ERR_UNKNOWN, false, "failed to add item decl");3056 psFree(md);3057 return false;3058 }3059 3060 status = psDBInsertOneRow(dbh, TELESCOPE_TABLE_NAME, md);3061 psFree(md);3062 3063 return status;3064 }3065 3066 long long telescopeDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)3067 {3068 long long deleted = 0;3069 3070 long long count = psDBDeleteRows(dbh, TELESCOPE_TABLE_NAME, where, limit);3071 if (count < 0) {3072 psError(PS_ERR_UNKNOWN, true, "failed to delete row from telescope");3073 return count;3074 3075 deleted += count;3076 }3077 3078 return deleted;3079 }3080 bool telescopeInsertObject(psDB *dbh, telescopeRow *object)3081 {3082 return telescopeInsert(dbh, object->guide, object->alt, object->az, object->ra, object->decl);3083 }3084 3085 bool telescopeInsertObjects(psDB *dbh, psArray *objects)3086 {3087 for (long i = 0; i < psArrayLength(objects); i++) {3088 if (!telescopeInsertObject(dbh, objects->data[i])) {3089 return false;3090 }3091 }3092 3093 return true;3094 }3095 3096 bool telescopeInsertFits(psDB *dbh, const psFits *fits)3097 {3098 psArray *rowSet;3099 3100 // move to (the first?) extension named TELESCOPE_TABLE_NAME3101 if (!psFitsMoveExtName(fits, TELESCOPE_TABLE_NAME)) {3102 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", TELESCOPE_TABLE_NAME);3103 return false;3104 }3105 3106 // check HDU type3107 if (psFitsGetExtType(fits) != PS_FITS_TYPE_BINARY_TABLE) {3108 psError(PS_ERR_UNKNOWN, true, "FITS HDU type is not PS_FITS_TYPE_BINARY_TABLE");3109 return false;3110 }3111 3112 // read fits table3113 rowSet = psFitsReadTable(fits);3114 if (!rowSet) {3115 psError(PS_ERR_UNKNOWN, true, "FITS read error or FITS table is empty");3116 psFree(rowSet);3117 return false;3118 }3119 3120 if (!psDBInsertRows(dbh, TELESCOPE_TABLE_NAME, rowSet)) {3121 psError(PS_ERR_UNKNOWN, false, "databse insert failed");3122 psFree(rowSet);3123 return false;3124 }3125 3126 psFree(rowSet);3127 3128 return true;3129 }3130 3131 bool telescopeSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)3132 {3133 psArray *rowSet;3134 3135 rowSet = psDBSelectRows(dbh, TELESCOPE_TABLE_NAME, where, limit);3136 if (!rowSet) {3137 return false;3138 }3139 3140 // output to fits3141 if (!psFitsWriteTable(fits, NULL, rowSet, TELESCOPE_TABLE_NAME)) {3142 psError(PS_ERR_UNKNOWN, false, "FITS table write failed");3143 psFree(rowSet);3144 return false;3145 }3146 3147 psFree(rowSet);3148 3149 return true;3150 }3151 3152 psMetadata *telescopeMetadataFromObject(const telescopeRow *object)3153 {3154 psMetadata *md;3155 3156 md = psMetadataAlloc();3157 if (!psMetadataAddStr(md, PS_LIST_TAIL, "guide", 0, NULL, object->guide)) {3158 psError(PS_ERR_UNKNOWN, false, "failed to add item guide");3159 psFree(md);3160 return NULL;3161 }3162 if (!psMetadataAddF32(md, PS_LIST_TAIL, "alt", 0, NULL, object->alt)) {3163 psError(PS_ERR_UNKNOWN, false, "failed to add item alt");3164 psFree(md);3165 return NULL;3166 }3167 if (!psMetadataAddF32(md, PS_LIST_TAIL, "az", 0, NULL, object->az)) {3168 psError(PS_ERR_UNKNOWN, false, "failed to add item az");3169 psFree(md);3170 return NULL;3171 }3172 if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, object->ra)) {3173 psError(PS_ERR_UNKNOWN, false, "failed to add item ra");3174 psFree(md);3175 return NULL;3176 }3177 if (!psMetadataAddF64(md, PS_LIST_TAIL, "decl", 0, NULL, object->decl)) {3178 psError(PS_ERR_UNKNOWN, false, "failed to add item decl");3179 psFree(md);3180 return NULL;3181 }3182 3183 return md;3184 }3185 3186 telescopeRow *telescopeObjectFromMetadata(psMetadata *md)3187 {3188 bool status;3189 char *guide;3190 psF32 alt;3191 psF32 az;3192 psF64 ra;3193 psF64 decl;3194 3195 guide = psMetadataLookupPtr(&status, md, "guide");3196 if (!status) {3197 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item guide");3198 return false;3199 }3200 alt = psMetadataLookupF32(&status, md, "alt");3201 if (!status) {3202 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item alt");3203 return false;3204 }3205 az = psMetadataLookupF32(&status, md, "az");3206 if (!status) {3207 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item az");3208 return false;3209 }3210 ra = psMetadataLookupF64(&status, md, "ra");3211 if (!status) {3212 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ra");3213 return false;3214 }3215 decl = psMetadataLookupF64(&status, md, "decl");3216 if (!status) {3217 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item decl");3218 return false;3219 }3220 3221 return telescopeRowAlloc(guide, alt, az, ra, decl);3222 }3223 psArray *telescopeSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)3224 {3225 psArray *rowSet;3226 psArray *returnSet;3227 psU64 i;3228 3229 rowSet = psDBSelectRows(dbh, TELESCOPE_TABLE_NAME, where, limit);3230 if (!rowSet) {3231 return NULL;3232 }3233 3234 // convert psMetadata rows to row objects3235 3236 returnSet = psArrayAlloc(rowSet->n);3237 returnSet->n = 0;3238 3239 for (i = 0; i < rowSet->n; i++) {3240 telescopeRow *object = telescopeObjectFromMetadata(rowSet->data[i]);3241 psArrayAdd(returnSet, 0, object);3242 psFree(object);3243 }3244 3245 psFree(rowSet);3246 3247 return returnSet;3248 }3249 bool telescopeDeleteObject(psDB *dbh, const telescopeRow *object)3250 {3251 psMetadata *where = telescopeMetadataFromObject(object);3252 long long count = psDBDeleteRows(dbh, TELESCOPE_TABLE_NAME, where, 0);3253 psFree(where)3254 if (count < 0) {3255 psError(PS_ERR_UNKNOWN, true, "failed to delete row from telescope");3256 return false;3257 }3258 if (count > 1) {3259 // XXX should this be a psAbort() instead? It is possible that3260 // having an object match multiple rows was by design.3261 psError(PS_ERR_UNKNOWN, true, "telescopeRow object matched more then one row. Check your database schema");3262 return false;3263 }3264 3265 return true;3266 }3267 long long telescopeDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)3268 {3269 long long deleted = 0;3270 3271 for (long long i = 0; i < objects->n; i++) {3272 telescopeRow *object = objects->data[i];3273 psMetadata *where = telescopeMetadataFromObject(object);3274 long long count = psDBDeleteRows(dbh, TELESCOPE_TABLE_NAME, where, limit);3275 psFree(where)3276 if (count < 0) {3277 psError(PS_ERR_UNKNOWN, true, "failed to delete row from telescope");3278 return count;3279 }3280 3281 deleted += count;3282 }3283 3284 return deleted;3285 }3286 bool telescopePrintObjects(FILE *stream, psArray *objects, bool mdcf)3287 {3288 PS_ASSERT_PTR_NON_NULL(objects, false);3289 3290 psMetadata *output = psMetadataAlloc();3291 for (long i = 0; i < psArrayLength(objects); i++) {3292 psMetadata *md = telescopeMetadataFromObject(objects->data[i]);3293 if (!psMetadataAddMetadata(3294 output,3295 PS_LIST_TAIL,3296 TELESCOPE_TABLE_NAME,3297 PS_META_DUPLICATE_OK,3298 NULL,3299 md3300 )) {3301 psError(PS_ERR_UNKNOWN, false, "failed to add metadata");3302 psFree(md);3303 psFree(output);3304 return false;3305 }3306 psFree(md);3307 }3308 3309 if (!ippdbPrintMetadataRaw(stream, output, mdcf)) {3310 psError(PS_ERR_UNKNOWN, false, "failed to print metadata");3311 psFree(output);3312 }3313 psFree(output);3314 3315 return true;3316 }3317 static void summitExpRowFree(summitExpRow *object);3318 3319 summitExpRow *summitExpRowAlloc(const char *exp_id, const char *camera, const char *telescope, const char *exp_type, const char *uri)3320 {3321 summitExpRow *_object;3322 3323 _object = psAlloc(sizeof(summitExpRow));3324 psMemSetDeallocator(_object, (psFreeFunc)summitExpRowFree);3325 3326 _object->exp_id = psStringCopy(exp_id);3327 _object->camera = psStringCopy(camera);3328 _object->telescope = psStringCopy(telescope);3329 _object->exp_type = psStringCopy(exp_type);3330 _object->uri = psStringCopy(uri);3331 3332 return _object;3333 }3334 3335 static void summitExpRowFree(summitExpRow *object)3336 {3337 psFree(object->exp_id);3338 psFree(object->camera);3339 psFree(object->telescope);3340 psFree(object->exp_type);3341 psFree(object->uri);3342 }3343 3344 bool summitExpCreateTable(psDB *dbh)3345 {3346 psMetadata *md;3347 bool status;3348 3349 md = psMetadataAlloc();3350 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, "Primary Key", "64")) {3351 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");3352 psFree(md);3353 return false;3354 }3355 if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, "Primary Key", "64")) {3356 psError(PS_ERR_UNKNOWN, false, "failed to add item camera");3357 psFree(md);3358 return false;3359 }3360 if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, "Primary Key", "64")) {3361 psError(PS_ERR_UNKNOWN, false, "failed to add item telescope");3362 psFree(md);3363 return false;3364 }3365 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, "64")) {3366 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type");3367 psFree(md);3368 return false;3369 }3370 if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, "255")) {3371 psError(PS_ERR_UNKNOWN, false, "failed to add item uri");3372 psFree(md);3373 return false;3374 }3375 3376 status = psDBCreateTable(dbh, SUMMITEXP_TABLE_NAME, md);3377 3378 psFree(md);3379 3380 return status;3381 }3382 3383 bool summitExpDropTable(psDB *dbh)3384 {3385 return psDBDropTable(dbh, SUMMITEXP_TABLE_NAME);3386 }3387 3388 bool summitExpInsert(psDB * dbh, const char *exp_id, const char *camera, const char *telescope, const char *exp_type, const char *uri)3389 {3390 psMetadata *md;3391 bool status;3392 3393 md = psMetadataAlloc();3394 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, exp_id)) {3395 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");3396 psFree(md);3397 return false;3398 }3399 if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, camera)) {3400 psError(PS_ERR_UNKNOWN, false, "failed to add item camera");3401 psFree(md);3402 return false;3403 }3404 if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, telescope)) {3405 psError(PS_ERR_UNKNOWN, false, "failed to add item telescope");3406 psFree(md);3407 return false;3408 }3409 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, exp_type)) {3410 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type");3411 psFree(md);3412 return false;3413 }3414 if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, uri)) {3415 psError(PS_ERR_UNKNOWN, false, "failed to add item uri");3416 psFree(md);3417 return false;3418 }3419 3420 status = psDBInsertOneRow(dbh, SUMMITEXP_TABLE_NAME, md);3421 psFree(md);3422 3423 return status;3424 }3425 3426 long long summitExpDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)3427 {3428 long long deleted = 0;3429 3430 long long count = psDBDeleteRows(dbh, SUMMITEXP_TABLE_NAME, where, limit);3431 if (count < 0) {3432 psError(PS_ERR_UNKNOWN, true, "failed to delete row from summitExp");3433 return count;3434 3435 deleted += count;3436 }3437 3438 return deleted;3439 }3440 bool summitExpInsertObject(psDB *dbh, summitExpRow *object)3441 {3442 return summitExpInsert(dbh, object->exp_id, object->camera, object->telescope, object->exp_type, object->uri);3443 }3444 3445 bool summitExpInsertObjects(psDB *dbh, psArray *objects)3446 {3447 for (long i = 0; i < psArrayLength(objects); i++) {3448 if (!summitExpInsertObject(dbh, objects->data[i])) {3449 return false;3450 }3451 }3452 3453 return true;3454 }3455 3456 bool summitExpInsertFits(psDB *dbh, const psFits *fits)3457 {3458 psArray *rowSet;3459 3460 // move to (the first?) extension named SUMMITEXP_TABLE_NAME3461 if (!psFitsMoveExtName(fits, SUMMITEXP_TABLE_NAME)) {3462 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", SUMMITEXP_TABLE_NAME);3463 return false;3464 }3465 3466 // check HDU type3467 if (psFitsGetExtType(fits) != PS_FITS_TYPE_BINARY_TABLE) {3468 psError(PS_ERR_UNKNOWN, true, "FITS HDU type is not PS_FITS_TYPE_BINARY_TABLE");3469 return false;3470 }3471 3472 // read fits table3473 rowSet = psFitsReadTable(fits);3474 if (!rowSet) {3475 psError(PS_ERR_UNKNOWN, true, "FITS read error or FITS table is empty");3476 psFree(rowSet);3477 return false;3478 }3479 3480 379 if (!psDBInsertRows(dbh, SUMMITEXP_TABLE_NAME, rowSet)) { 3481 380 psError(PS_ERR_UNKNOWN, false, "databse insert failed"); … … 3512 411 psMetadata *summitExpMetadataFromObject(const summitExpRow *object) 3513 412 { 3514 psMetadata *md; 3515 3516 md = psMetadataAlloc(); 3517 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, object->exp_id)) { 413 psMetadata *md = psMetadataAlloc(); 414 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_id", PS_DATA_STRING, NULL, object->exp_id)) { 3518 415 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id"); 3519 416 psFree(md); 3520 return NULL;3521 } 3522 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "camera", 0, NULL, object->camera)) {417 return false; 418 } 419 if (!psMetadataAdd(md, PS_LIST_TAIL, "camera", PS_DATA_STRING, NULL, object->camera)) { 3523 420 psError(PS_ERR_UNKNOWN, false, "failed to add item camera"); 3524 421 psFree(md); 3525 return NULL;3526 } 3527 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "telescope", 0, NULL, object->telescope)) {422 return false; 423 } 424 if (!psMetadataAdd(md, PS_LIST_TAIL, "telescope", PS_DATA_STRING, NULL, object->telescope)) { 3528 425 psError(PS_ERR_UNKNOWN, false, "failed to add item telescope"); 3529 426 psFree(md); 3530 return NULL;3531 } 3532 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "exp_type", 0, NULL, object->exp_type)) {427 return false; 428 } 429 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_type", PS_DATA_STRING, NULL, object->exp_type)) { 3533 430 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type"); 3534 431 psFree(md); 3535 return NULL;3536 } 3537 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "uri", 0, NULL, object->uri)) {432 return false; 433 } 434 if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, object->uri)) { 3538 435 psError(PS_ERR_UNKNOWN, false, "failed to add item uri"); 3539 436 psFree(md); 3540 return NULL; 3541 } 437 return false; 438 } 439 3542 440 3543 441 return md; … … 3546 444 summitExpRow *summitExpObjectFromMetadata(psMetadata *md) 3547 445 { 3548 bool status; 3549 char *exp_id; 3550 char *camera; 3551 char *telescope; 3552 char *exp_type; 3553 char *uri; 3554 3555 exp_id = psMetadataLookupPtr(&status, md, "exp_id"); 446 447 bool status = false; 448 char* exp_id = psMetadataLookupPtr(&status, md, "exp_id"); 3556 449 if (!status) { 3557 450 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_id"); 3558 451 return false; 3559 452 } 3560 c amera = psMetadataLookupPtr(&status, md, "camera");453 char* camera = psMetadataLookupPtr(&status, md, "camera"); 3561 454 if (!status) { 3562 455 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item camera"); 3563 456 return false; 3564 457 } 3565 telescope = psMetadataLookupPtr(&status, md, "telescope");458 char* telescope = psMetadataLookupPtr(&status, md, "telescope"); 3566 459 if (!status) { 3567 460 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item telescope"); 3568 461 return false; 3569 462 } 3570 exp_type = psMetadataLookupPtr(&status, md, "exp_type");463 char* exp_type = psMetadataLookupPtr(&status, md, "exp_type"); 3571 464 if (!status) { 3572 465 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_type"); 3573 466 return false; 3574 467 } 3575 uri = psMetadataLookupPtr(&status, md, "uri");468 char* uri = psMetadataLookupPtr(&status, md, "uri"); 3576 469 if (!status) { 3577 470 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item uri"); … … 3703 596 bool pzPendingExpCreateTable(psDB *dbh) 3704 597 { 3705 psMetadata *md; 3706 bool status; 3707 3708 md = psMetadataAlloc(); 3709 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, "Primary Key", "64")) { 598 psMetadata *md = psMetadataAlloc(); 599 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_id", PS_DATA_STRING, "Primary Key", "64")) { 3710 600 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id"); 3711 601 psFree(md); 3712 602 return false; 3713 603 } 3714 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "camera", 0, "Primary Key", "64")) {604 if (!psMetadataAdd(md, PS_LIST_TAIL, "camera", PS_DATA_STRING, "Primary Key", "64")) { 3715 605 psError(PS_ERR_UNKNOWN, false, "failed to add item camera"); 3716 606 psFree(md); 3717 607 return false; 3718 608 } 3719 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "telescope", 0, "Primary Key", "64")) {609 if (!psMetadataAdd(md, PS_LIST_TAIL, "telescope", PS_DATA_STRING, "Primary Key", "64")) { 3720 610 psError(PS_ERR_UNKNOWN, false, "failed to add item telescope"); 3721 611 psFree(md); 3722 612 return false; 3723 613 } 3724 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "exp_type", 0, NULL, "64")) {614 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_type", PS_DATA_STRING, NULL, "64")) { 3725 615 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type"); 3726 616 psFree(md); 3727 617 return false; 3728 618 } 3729 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "imfiles", 0, NULL, 0)) {619 if (!psMetadataAdd(md, PS_LIST_TAIL, "imfiles", PS_DATA_S32, NULL, 0)) { 3730 620 psError(PS_ERR_UNKNOWN, false, "failed to add item imfiles"); 3731 621 psFree(md); … … 3733 623 } 3734 624 3735 status = psDBCreateTable(dbh, PZPENDINGEXP_TABLE_NAME, md);625 bool status = psDBCreateTable(dbh, PZPENDINGEXP_TABLE_NAME, md); 3736 626 3737 627 psFree(md); … … 3747 637 bool pzPendingExpInsert(psDB * dbh, const char *exp_id, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles) 3748 638 { 3749 psMetadata *md; 3750 bool status; 3751 3752 md = psMetadataAlloc(); 3753 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, exp_id)) { 639 psMetadata *md = psMetadataAlloc(); 640 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_id", PS_DATA_STRING, NULL, exp_id)) { 3754 641 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id"); 3755 642 psFree(md); 3756 643 return false; 3757 644 } 3758 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "camera", 0, NULL, camera)) {645 if (!psMetadataAdd(md, PS_LIST_TAIL, "camera", PS_DATA_STRING, NULL, camera)) { 3759 646 psError(PS_ERR_UNKNOWN, false, "failed to add item camera"); 3760 647 psFree(md); 3761 648 return false; 3762 649 } 3763 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "telescope", 0, NULL, telescope)) {650 if (!psMetadataAdd(md, PS_LIST_TAIL, "telescope", PS_DATA_STRING, NULL, telescope)) { 3764 651 psError(PS_ERR_UNKNOWN, false, "failed to add item telescope"); 3765 652 psFree(md); 3766 653 return false; 3767 654 } 3768 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "exp_type", 0, NULL, exp_type)) {655 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_type", PS_DATA_STRING, NULL, exp_type)) { 3769 656 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type"); 3770 657 psFree(md); 3771 658 return false; 3772 659 } 3773 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "imfiles", 0, NULL, imfiles)) {660 if (!psMetadataAdd(md, PS_LIST_TAIL, "imfiles", PS_DATA_S32, NULL, imfiles)) { 3774 661 psError(PS_ERR_UNKNOWN, false, "failed to add item imfiles"); 3775 662 psFree(md); … … 3777 664 } 3778 665 3779 status = psDBInsertOneRow(dbh, PZPENDINGEXP_TABLE_NAME, md);666 bool status = psDBInsertOneRow(dbh, PZPENDINGEXP_TABLE_NAME, md); 3780 667 psFree(md); 3781 668 … … 3871 758 psMetadata *pzPendingExpMetadataFromObject(const pzPendingExpRow *object) 3872 759 { 3873 psMetadata *md; 3874 3875 md = psMetadataAlloc(); 3876 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, object->exp_id)) { 760 psMetadata *md = psMetadataAlloc(); 761 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_id", PS_DATA_STRING, NULL, object->exp_id)) { 3877 762 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id"); 3878 763 psFree(md); 3879 return NULL;3880 } 3881 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "camera", 0, NULL, object->camera)) {764 return false; 765 } 766 if (!psMetadataAdd(md, PS_LIST_TAIL, "camera", PS_DATA_STRING, NULL, object->camera)) { 3882 767 psError(PS_ERR_UNKNOWN, false, "failed to add item camera"); 3883 768 psFree(md); 3884 return NULL;3885 } 3886 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "telescope", 0, NULL, object->telescope)) {769 return false; 770 } 771 if (!psMetadataAdd(md, PS_LIST_TAIL, "telescope", PS_DATA_STRING, NULL, object->telescope)) { 3887 772 psError(PS_ERR_UNKNOWN, false, "failed to add item telescope"); 3888 773 psFree(md); 3889 return NULL;3890 } 3891 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "exp_type", 0, NULL, object->exp_type)) {774 return false; 775 } 776 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_type", PS_DATA_STRING, NULL, object->exp_type)) { 3892 777 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type"); 3893 778 psFree(md); 3894 return NULL;3895 } 3896 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "imfiles", 0, NULL, object->imfiles)) {779 return false; 780 } 781 if (!psMetadataAdd(md, PS_LIST_TAIL, "imfiles", PS_DATA_S32, NULL, object->imfiles)) { 3897 782 psError(PS_ERR_UNKNOWN, false, "failed to add item imfiles"); 3898 783 psFree(md); 3899 return NULL; 3900 } 784 return false; 785 } 786 3901 787 3902 788 return md; … … 3905 791 pzPendingExpRow *pzPendingExpObjectFromMetadata(psMetadata *md) 3906 792 { 3907 bool status; 3908 char *exp_id; 3909 char *camera; 3910 char *telescope; 3911 char *exp_type; 3912 psS32 imfiles; 3913 3914 exp_id = psMetadataLookupPtr(&status, md, "exp_id"); 793 794 bool status = false; 795 char* exp_id = psMetadataLookupPtr(&status, md, "exp_id"); 3915 796 if (!status) { 3916 797 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_id"); 3917 798 return false; 3918 799 } 3919 c amera = psMetadataLookupPtr(&status, md, "camera");800 char* camera = psMetadataLookupPtr(&status, md, "camera"); 3920 801 if (!status) { 3921 802 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item camera"); 3922 803 return false; 3923 804 } 3924 telescope = psMetadataLookupPtr(&status, md, "telescope");805 char* telescope = psMetadataLookupPtr(&status, md, "telescope"); 3925 806 if (!status) { 3926 807 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item telescope"); 3927 808 return false; 3928 809 } 3929 exp_type = psMetadataLookupPtr(&status, md, "exp_type");810 char* exp_type = psMetadataLookupPtr(&status, md, "exp_type"); 3930 811 if (!status) { 3931 812 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_type"); 3932 813 return false; 3933 814 } 3934 imfiles = psMetadataLookupS32(&status, md, "imfiles");815 psS32 imfiles = psMetadataLookupS32(&status, md, "imfiles"); 3935 816 if (!status) { 3936 817 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item imfiles"); … … 4068 949 bool pzPendingImfileCreateTable(psDB *dbh) 4069 950 { 4070 psMetadata *md; 4071 bool status; 4072 4073 md = psMetadataAlloc(); 4074 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, "Primary Key", "64")) { 951 psMetadata *md = psMetadataAlloc(); 952 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_id", PS_DATA_STRING, "Primary Key", "64")) { 4075 953 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id"); 4076 954 psFree(md); 4077 955 return false; 4078 956 } 4079 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "camera", 0, "Primary Key", "64")) {957 if (!psMetadataAdd(md, PS_LIST_TAIL, "camera", PS_DATA_STRING, "Primary Key", "64")) { 4080 958 psError(PS_ERR_UNKNOWN, false, "failed to add item camera"); 4081 959 psFree(md); 4082 960 return false; 4083 961 } 4084 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "telescope", 0, "Primary Key", "64")) {962 if (!psMetadataAdd(md, PS_LIST_TAIL, "telescope", PS_DATA_STRING, "Primary Key", "64")) { 4085 963 psError(PS_ERR_UNKNOWN, false, "failed to add item telescope"); 4086 964 psFree(md); 4087 965 return false; 4088 966 } 4089 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "bytes", 0, NULL, 0)) {967 if (!psMetadataAdd(md, PS_LIST_TAIL, "bytes", PS_DATA_S32, NULL, 0)) { 4090 968 psError(PS_ERR_UNKNOWN, false, "failed to add item bytes"); 4091 969 psFree(md); 4092 970 return false; 4093 971 } 4094 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "md5sum", 0, NULL, "32")) {972 if (!psMetadataAdd(md, PS_LIST_TAIL, "md5sum", PS_DATA_STRING, NULL, "32")) { 4095 973 psError(PS_ERR_UNKNOWN, false, "failed to add item md5sum"); 4096 974 psFree(md); 4097 975 return false; 4098 976 } 4099 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "class", 0, NULL, "64")) {977 if (!psMetadataAdd(md, PS_LIST_TAIL, "class", PS_DATA_STRING, NULL, "64")) { 4100 978 psError(PS_ERR_UNKNOWN, false, "failed to add item class"); 4101 979 psFree(md); 4102 980 return false; 4103 981 } 4104 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "class_id", 0, "Primary Key", "64")) {982 if (!psMetadataAdd(md, PS_LIST_TAIL, "class_id", PS_DATA_STRING, "Primary Key", "64")) { 4105 983 psError(PS_ERR_UNKNOWN, false, "failed to add item class_id"); 4106 984 psFree(md); 4107 985 return false; 4108 986 } 4109 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "uri", 0, NULL, "255")) {987 if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, "255")) { 4110 988 psError(PS_ERR_UNKNOWN, false, "failed to add item uri"); 4111 989 psFree(md); … … 4113 991 } 4114 992 4115 status = psDBCreateTable(dbh, PZPENDINGIMFILE_TABLE_NAME, md);993 bool status = psDBCreateTable(dbh, PZPENDINGIMFILE_TABLE_NAME, md); 4116 994 4117 995 psFree(md); … … 4127 1005 bool pzPendingImfileInsert(psDB * dbh, const char *exp_id, const char *camera, const char *telescope, psS32 bytes, const char *md5sum, const char *class, const char *class_id, const char *uri) 4128 1006 { 4129 psMetadata *md; 4130 bool status; 4131 4132 md = psMetadataAlloc(); 4133 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, exp_id)) { 1007 psMetadata *md = psMetadataAlloc(); 1008 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_id", PS_DATA_STRING, NULL, exp_id)) { 4134 1009 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id"); 4135 1010 psFree(md); 4136 1011 return false; 4137 1012 } 4138 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "camera", 0, NULL, camera)) {1013 if (!psMetadataAdd(md, PS_LIST_TAIL, "camera", PS_DATA_STRING, NULL, camera)) { 4139 1014 psError(PS_ERR_UNKNOWN, false, "failed to add item camera"); 4140 1015 psFree(md); 4141 1016 return false; 4142 1017 } 4143 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "telescope", 0, NULL, telescope)) {1018 if (!psMetadataAdd(md, PS_LIST_TAIL, "telescope", PS_DATA_STRING, NULL, telescope)) { 4144 1019 psError(PS_ERR_UNKNOWN, false, "failed to add item telescope"); 4145 1020 psFree(md); 4146 1021 return false; 4147 1022 } 4148 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "bytes", 0, NULL, bytes)) {1023 if (!psMetadataAdd(md, PS_LIST_TAIL, "bytes", PS_DATA_S32, NULL, bytes)) { 4149 1024 psError(PS_ERR_UNKNOWN, false, "failed to add item bytes"); 4150 1025 psFree(md); 4151 1026 return false; 4152 1027 } 4153 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "md5sum", 0, NULL, md5sum)) {1028 if (!psMetadataAdd(md, PS_LIST_TAIL, "md5sum", PS_DATA_STRING, NULL, md5sum)) { 4154 1029 psError(PS_ERR_UNKNOWN, false, "failed to add item md5sum"); 4155 1030 psFree(md); 4156 1031 return false; 4157 1032 } 4158 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "class", 0, NULL, class)) {1033 if (!psMetadataAdd(md, PS_LIST_TAIL, "class", PS_DATA_STRING, NULL, class)) { 4159 1034 psError(PS_ERR_UNKNOWN, false, "failed to add item class"); 4160 1035 psFree(md); 4161 1036 return false; 4162 1037 } 4163 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "class_id", 0, NULL, class_id)) {1038 if (!psMetadataAdd(md, PS_LIST_TAIL, "class_id", PS_DATA_STRING, NULL, class_id)) { 4164 1039 psError(PS_ERR_UNKNOWN, false, "failed to add item class_id"); 4165 1040 psFree(md); 4166 1041 return false; 4167 1042 } 4168 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "uri", 0, NULL, uri)) {1043 if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, uri)) { 4169 1044 psError(PS_ERR_UNKNOWN, false, "failed to add item uri"); 4170 1045 psFree(md); … … 4172 1047 } 4173 1048 4174 status = psDBInsertOneRow(dbh, PZPENDINGIMFILE_TABLE_NAME, md);1049 bool status = psDBInsertOneRow(dbh, PZPENDINGIMFILE_TABLE_NAME, md); 4175 1050 psFree(md); 4176 1051 … … 4266 1141 psMetadata *pzPendingImfileMetadataFromObject(const pzPendingImfileRow *object) 4267 1142 { 4268 psMetadata *md; 4269 4270 md = psMetadataAlloc(); 4271 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, object->exp_id)) { 1143 psMetadata *md = psMetadataAlloc(); 1144 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_id", PS_DATA_STRING, NULL, object->exp_id)) { 4272 1145 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id"); 4273 1146 psFree(md); 4274 return NULL;4275 } 4276 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "camera", 0, NULL, object->camera)) {1147 return false; 1148 } 1149 if (!psMetadataAdd(md, PS_LIST_TAIL, "camera", PS_DATA_STRING, NULL, object->camera)) { 4277 1150 psError(PS_ERR_UNKNOWN, false, "failed to add item camera"); 4278 1151 psFree(md); 4279 return NULL;4280 } 4281 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "telescope", 0, NULL, object->telescope)) {1152 return false; 1153 } 1154 if (!psMetadataAdd(md, PS_LIST_TAIL, "telescope", PS_DATA_STRING, NULL, object->telescope)) { 4282 1155 psError(PS_ERR_UNKNOWN, false, "failed to add item telescope"); 4283 1156 psFree(md); 4284 return NULL;4285 } 4286 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "bytes", 0, NULL, object->bytes)) {1157 return false; 1158 } 1159 if (!psMetadataAdd(md, PS_LIST_TAIL, "bytes", PS_DATA_S32, NULL, object->bytes)) { 4287 1160 psError(PS_ERR_UNKNOWN, false, "failed to add item bytes"); 4288 1161 psFree(md); 4289 return NULL;4290 } 4291 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "md5sum", 0, NULL, object->md5sum)) {1162 return false; 1163 } 1164 if (!psMetadataAdd(md, PS_LIST_TAIL, "md5sum", PS_DATA_STRING, NULL, object->md5sum)) { 4292 1165 psError(PS_ERR_UNKNOWN, false, "failed to add item md5sum"); 4293 1166 psFree(md); 4294 return NULL;4295 } 4296 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "class", 0, NULL, object->class)) {1167 return false; 1168 } 1169 if (!psMetadataAdd(md, PS_LIST_TAIL, "class", PS_DATA_STRING, NULL, object->class)) { 4297 1170 psError(PS_ERR_UNKNOWN, false, "failed to add item class"); 4298 1171 psFree(md); 4299 return NULL;4300 } 4301 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "class_id", 0, NULL, object->class_id)) {1172 return false; 1173 } 1174 if (!psMetadataAdd(md, PS_LIST_TAIL, "class_id", PS_DATA_STRING, NULL, object->class_id)) { 4302 1175 psError(PS_ERR_UNKNOWN, false, "failed to add item class_id"); 4303 1176 psFree(md); 4304 return NULL;4305 } 4306 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "uri", 0, NULL, object->uri)) {1177 return false; 1178 } 1179 if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, object->uri)) { 4307 1180 psError(PS_ERR_UNKNOWN, false, "failed to add item uri"); 4308 1181 psFree(md); 4309 return NULL; 4310 } 1182 return false; 1183 } 1184 4311 1185 4312 1186 return md; … … 4315 1189 pzPendingImfileRow *pzPendingImfileObjectFromMetadata(psMetadata *md) 4316 1190 { 4317 bool status; 4318 char *exp_id; 4319 char *camera; 4320 char *telescope; 4321 psS32 bytes; 4322 char *md5sum; 4323 char *class; 4324 char *class_id; 4325 char *uri; 4326 4327 exp_id = psMetadataLookupPtr(&status, md, "exp_id"); 1191 1192 bool status = false; 1193 char* exp_id = psMetadataLookupPtr(&status, md, "exp_id"); 4328 1194 if (!status) { 4329 1195 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_id"); 4330 1196 return false; 4331 1197 } 4332 c amera = psMetadataLookupPtr(&status, md, "camera");1198 char* camera = psMetadataLookupPtr(&status, md, "camera"); 4333 1199 if (!status) { 4334 1200 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item camera"); 4335 1201 return false; 4336 1202 } 4337 telescope = psMetadataLookupPtr(&status, md, "telescope");1203 char* telescope = psMetadataLookupPtr(&status, md, "telescope"); 4338 1204 if (!status) { 4339 1205 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item telescope"); 4340 1206 return false; 4341 1207 } 4342 bytes = psMetadataLookupS32(&status, md, "bytes");1208 psS32 bytes = psMetadataLookupS32(&status, md, "bytes"); 4343 1209 if (!status) { 4344 1210 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bytes"); 4345 1211 return false; 4346 1212 } 4347 md5sum = psMetadataLookupPtr(&status, md, "md5sum");1213 char* md5sum = psMetadataLookupPtr(&status, md, "md5sum"); 4348 1214 if (!status) { 4349 1215 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item md5sum"); 4350 1216 return false; 4351 1217 } 4352 c lass = psMetadataLookupPtr(&status, md, "class");1218 char* class = psMetadataLookupPtr(&status, md, "class"); 4353 1219 if (!status) { 4354 1220 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item class"); 4355 1221 return false; 4356 1222 } 4357 c lass_id = psMetadataLookupPtr(&status, md, "class_id");1223 char* class_id = psMetadataLookupPtr(&status, md, "class_id"); 4358 1224 if (!status) { 4359 1225 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item class_id"); 4360 1226 return false; 4361 1227 } 4362 uri = psMetadataLookupPtr(&status, md, "uri");1228 char* uri = psMetadataLookupPtr(&status, md, "uri"); 4363 1229 if (!status) { 4364 1230 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item uri"); … … 4492 1358 bool newExpCreateTable(psDB *dbh) 4493 1359 { 4494 psMetadata *md; 4495 bool status; 4496 4497 md = psMetadataAlloc(); 4498 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_tag", 0, "Primary Key", "64")) { 1360 psMetadata *md = psMetadataAlloc(); 1361 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, "Primary Key", "64")) { 4499 1362 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag"); 4500 1363 psFree(md); 4501 1364 return false; 4502 1365 } 4503 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "exp_id", 0, "Key", "64")) {1366 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_id", PS_DATA_STRING, "Key", "64")) { 4504 1367 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id"); 4505 1368 psFree(md); 4506 1369 return false; 4507 1370 } 4508 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "camera", 0, NULL, "64")) {1371 if (!psMetadataAdd(md, PS_LIST_TAIL, "camera", PS_DATA_STRING, NULL, "64")) { 4509 1372 psError(PS_ERR_UNKNOWN, false, "failed to add item camera"); 4510 1373 psFree(md); 4511 1374 return false; 4512 1375 } 4513 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "telescope", 0, NULL, "64")) {1376 if (!psMetadataAdd(md, PS_LIST_TAIL, "telescope", PS_DATA_STRING, NULL, "64")) { 4514 1377 psError(PS_ERR_UNKNOWN, false, "failed to add item telescope"); 4515 1378 psFree(md); 4516 1379 return false; 4517 1380 } 4518 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "exp_type", 0, NULL, "64")) {1381 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_type", PS_DATA_STRING, NULL, "64")) { 4519 1382 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type"); 4520 1383 psFree(md); 4521 1384 return false; 4522 1385 } 4523 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "imfiles", 0, NULL, 0)) {1386 if (!psMetadataAdd(md, PS_LIST_TAIL, "imfiles", PS_DATA_S32, NULL, 0)) { 4524 1387 psError(PS_ERR_UNKNOWN, false, "failed to add item imfiles"); 4525 1388 psFree(md); … … 4527 1390 } 4528 1391 4529 status = psDBCreateTable(dbh, NEWEXP_TABLE_NAME, md);1392 bool status = psDBCreateTable(dbh, NEWEXP_TABLE_NAME, md); 4530 1393 4531 1394 psFree(md); … … 4541 1404 bool newExpInsert(psDB * dbh, const char *exp_tag, const char *exp_id, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles) 4542 1405 { 4543 psMetadata *md; 4544 bool status; 4545 4546 md = psMetadataAlloc(); 4547 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_tag", 0, NULL, exp_tag)) { 1406 psMetadata *md = psMetadataAlloc(); 1407 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, NULL, exp_tag)) { 4548 1408 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag"); 4549 1409 psFree(md); 4550 1410 return false; 4551 1411 } 4552 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "exp_id", 0, NULL, exp_id)) {1412 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_id", PS_DATA_STRING, NULL, exp_id)) { 4553 1413 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id"); 4554 1414 psFree(md); 4555 1415 return false; 4556 1416 } 4557 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "camera", 0, NULL, camera)) {1417 if (!psMetadataAdd(md, PS_LIST_TAIL, "camera", PS_DATA_STRING, NULL, camera)) { 4558 1418 psError(PS_ERR_UNKNOWN, false, "failed to add item camera"); 4559 1419 psFree(md); 4560 1420 return false; 4561 1421 } 4562 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "telescope", 0, NULL, telescope)) {1422 if (!psMetadataAdd(md, PS_LIST_TAIL, "telescope", PS_DATA_STRING, NULL, telescope)) { 4563 1423 psError(PS_ERR_UNKNOWN, false, "failed to add item telescope"); 4564 1424 psFree(md); 4565 1425 return false; 4566 1426 } 4567 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "exp_type", 0, NULL, exp_type)) {1427 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_type", PS_DATA_STRING, NULL, exp_type)) { 4568 1428 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type"); 4569 1429 psFree(md); 4570 1430 return false; 4571 1431 } 4572 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "imfiles", 0, NULL, imfiles)) {1432 if (!psMetadataAdd(md, PS_LIST_TAIL, "imfiles", PS_DATA_S32, NULL, imfiles)) { 4573 1433 psError(PS_ERR_UNKNOWN, false, "failed to add item imfiles"); 4574 1434 psFree(md); … … 4576 1436 } 4577 1437 4578 status = psDBInsertOneRow(dbh, NEWEXP_TABLE_NAME, md);1438 bool status = psDBInsertOneRow(dbh, NEWEXP_TABLE_NAME, md); 4579 1439 psFree(md); 4580 1440 … … 4670 1530 psMetadata *newExpMetadataFromObject(const newExpRow *object) 4671 1531 { 4672 psMetadata *md; 4673 4674 md = psMetadataAlloc(); 4675 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_tag", 0, NULL, object->exp_tag)) { 1532 psMetadata *md = psMetadataAlloc(); 1533 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, NULL, object->exp_tag)) { 4676 1534 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag"); 4677 1535 psFree(md); 4678 return NULL;4679 } 4680 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "exp_id", 0, NULL, object->exp_id)) {1536 return false; 1537 } 1538 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_id", PS_DATA_STRING, NULL, object->exp_id)) { 4681 1539 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id"); 4682 1540 psFree(md); 4683 return NULL;4684 } 4685 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "camera", 0, NULL, object->camera)) {1541 return false; 1542 } 1543 if (!psMetadataAdd(md, PS_LIST_TAIL, "camera", PS_DATA_STRING, NULL, object->camera)) { 4686 1544 psError(PS_ERR_UNKNOWN, false, "failed to add item camera"); 4687 1545 psFree(md); 4688 return NULL;4689 } 4690 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "telescope", 0, NULL, object->telescope)) {1546 return false; 1547 } 1548 if (!psMetadataAdd(md, PS_LIST_TAIL, "telescope", PS_DATA_STRING, NULL, object->telescope)) { 4691 1549 psError(PS_ERR_UNKNOWN, false, "failed to add item telescope"); 4692 1550 psFree(md); 4693 return NULL;4694 } 4695 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "exp_type", 0, NULL, object->exp_type)) {1551 return false; 1552 } 1553 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_type", PS_DATA_STRING, NULL, object->exp_type)) { 4696 1554 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type"); 4697 1555 psFree(md); 4698 return NULL;4699 } 4700 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "imfiles", 0, NULL, object->imfiles)) {1556 return false; 1557 } 1558 if (!psMetadataAdd(md, PS_LIST_TAIL, "imfiles", PS_DATA_S32, NULL, object->imfiles)) { 4701 1559 psError(PS_ERR_UNKNOWN, false, "failed to add item imfiles"); 4702 1560 psFree(md); 4703 return NULL; 4704 } 1561 return false; 1562 } 1563 4705 1564 4706 1565 return md; … … 4709 1568 newExpRow *newExpObjectFromMetadata(psMetadata *md) 4710 1569 { 4711 bool status; 4712 char *exp_tag; 4713 char *exp_id; 4714 char *camera; 4715 char *telescope; 4716 char *exp_type; 4717 psS32 imfiles; 4718 4719 exp_tag = psMetadataLookupPtr(&status, md, "exp_tag"); 1570 1571 bool status = false; 1572 char* exp_tag = psMetadataLookupPtr(&status, md, "exp_tag"); 4720 1573 if (!status) { 4721 1574 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_tag"); 4722 1575 return false; 4723 1576 } 4724 exp_id = psMetadataLookupPtr(&status, md, "exp_id");1577 char* exp_id = psMetadataLookupPtr(&status, md, "exp_id"); 4725 1578 if (!status) { 4726 1579 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_id"); 4727 1580 return false; 4728 1581 } 4729 c amera = psMetadataLookupPtr(&status, md, "camera");1582 char* camera = psMetadataLookupPtr(&status, md, "camera"); 4730 1583 if (!status) { 4731 1584 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item camera"); 4732 1585 return false; 4733 1586 } 4734 telescope = psMetadataLookupPtr(&status, md, "telescope");1587 char* telescope = psMetadataLookupPtr(&status, md, "telescope"); 4735 1588 if (!status) { 4736 1589 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item telescope"); 4737 1590 return false; 4738 1591 } 4739 exp_type = psMetadataLookupPtr(&status, md, "exp_type");1592 char* exp_type = psMetadataLookupPtr(&status, md, "exp_type"); 4740 1593 if (!status) { 4741 1594 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_type"); 4742 1595 return false; 4743 1596 } 4744 imfiles = psMetadataLookupS32(&status, md, "imfiles");1597 psS32 imfiles = psMetadataLookupS32(&status, md, "imfiles"); 4745 1598 if (!status) { 4746 1599 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item imfiles"); … … 4871 1724 bool newImfileCreateTable(psDB *dbh) 4872 1725 { 4873 psMetadata *md; 4874 bool status; 4875 4876 md = psMetadataAlloc(); 4877 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_tag", 0, "Primary Key", "64")) { 1726 psMetadata *md = psMetadataAlloc(); 1727 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, "Primary Key", "64")) { 4878 1728 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag"); 4879 1729 psFree(md); 4880 1730 return false; 4881 1731 } 4882 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "class", 0, NULL, "64")) {1732 if (!psMetadataAdd(md, PS_LIST_TAIL, "class", PS_DATA_STRING, NULL, "64")) { 4883 1733 psError(PS_ERR_UNKNOWN, false, "failed to add item class"); 4884 1734 psFree(md); 4885 1735 return false; 4886 1736 } 4887 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "class_id", 0, "Primary Key", "64")) {1737 if (!psMetadataAdd(md, PS_LIST_TAIL, "class_id", PS_DATA_STRING, "Primary Key", "64")) { 4888 1738 psError(PS_ERR_UNKNOWN, false, "failed to add item class_id"); 4889 1739 psFree(md); 4890 1740 return false; 4891 1741 } 4892 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "uri", 0, NULL, "255")) {1742 if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, "255")) { 4893 1743 psError(PS_ERR_UNKNOWN, false, "failed to add item uri"); 4894 1744 psFree(md); … … 4896 1746 } 4897 1747 4898 status = psDBCreateTable(dbh, NEWIMFILE_TABLE_NAME, md);1748 bool status = psDBCreateTable(dbh, NEWIMFILE_TABLE_NAME, md); 4899 1749 4900 1750 psFree(md); … … 4910 1760 bool newImfileInsert(psDB * dbh, const char *exp_tag, const char *class, const char *class_id, const char *uri) 4911 1761 { 4912 psMetadata *md; 4913 bool status; 4914 4915 md = psMetadataAlloc(); 4916 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_tag", 0, NULL, exp_tag)) { 1762 psMetadata *md = psMetadataAlloc(); 1763 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, NULL, exp_tag)) { 4917 1764 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag"); 4918 1765 psFree(md); 4919 1766 return false; 4920 1767 } 4921 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "class", 0, NULL, class)) {1768 if (!psMetadataAdd(md, PS_LIST_TAIL, "class", PS_DATA_STRING, NULL, class)) { 4922 1769 psError(PS_ERR_UNKNOWN, false, "failed to add item class"); 4923 1770 psFree(md); 4924 1771 return false; 4925 1772 } 4926 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "class_id", 0, NULL, class_id)) {1773 if (!psMetadataAdd(md, PS_LIST_TAIL, "class_id", PS_DATA_STRING, NULL, class_id)) { 4927 1774 psError(PS_ERR_UNKNOWN, false, "failed to add item class_id"); 4928 1775 psFree(md); 4929 1776 return false; 4930 1777 } 4931 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "uri", 0, NULL, uri)) {1778 if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, uri)) { 4932 1779 psError(PS_ERR_UNKNOWN, false, "failed to add item uri"); 4933 1780 psFree(md); … … 4935 1782 } 4936 1783 4937 status = psDBInsertOneRow(dbh, NEWIMFILE_TABLE_NAME, md);1784 bool status = psDBInsertOneRow(dbh, NEWIMFILE_TABLE_NAME, md); 4938 1785 psFree(md); 4939 1786 … … 5029 1876 psMetadata *newImfileMetadataFromObject(const newImfileRow *object) 5030 1877 { 5031 psMetadata *md; 5032 5033 md = psMetadataAlloc(); 5034 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_tag", 0, NULL, object->exp_tag)) { 1878 psMetadata *md = psMetadataAlloc(); 1879 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, NULL, object->exp_tag)) { 5035 1880 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag"); 5036 1881 psFree(md); 5037 return NULL;5038 } 5039 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "class", 0, NULL, object->class)) {1882 return false; 1883 } 1884 if (!psMetadataAdd(md, PS_LIST_TAIL, "class", PS_DATA_STRING, NULL, object->class)) { 5040 1885 psError(PS_ERR_UNKNOWN, false, "failed to add item class"); 5041 1886 psFree(md); 5042 return NULL;5043 } 5044 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "class_id", 0, NULL, object->class_id)) {1887 return false; 1888 } 1889 if (!psMetadataAdd(md, PS_LIST_TAIL, "class_id", PS_DATA_STRING, NULL, object->class_id)) { 5045 1890 psError(PS_ERR_UNKNOWN, false, "failed to add item class_id"); 5046 1891 psFree(md); 5047 return NULL;5048 } 5049 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "uri", 0, NULL, object->uri)) {1892 return false; 1893 } 1894 if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, object->uri)) { 5050 1895 psError(PS_ERR_UNKNOWN, false, "failed to add item uri"); 5051 1896 psFree(md); 5052 return NULL; 5053 } 1897 return false; 1898 } 1899 5054 1900 5055 1901 return md; … … 5058 1904 newImfileRow *newImfileObjectFromMetadata(psMetadata *md) 5059 1905 { 5060 bool status; 5061 char *exp_tag; 5062 char *class; 5063 char *class_id; 5064 char *uri; 5065 5066 exp_tag = psMetadataLookupPtr(&status, md, "exp_tag"); 1906 1907 bool status = false; 1908 char* exp_tag = psMetadataLookupPtr(&status, md, "exp_tag"); 5067 1909 if (!status) { 5068 1910 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_tag"); 5069 1911 return false; 5070 1912 } 5071 c lass = psMetadataLookupPtr(&status, md, "class");1913 char* class = psMetadataLookupPtr(&status, md, "class"); 5072 1914 if (!status) { 5073 1915 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item class"); 5074 1916 return false; 5075 1917 } 5076 c lass_id = psMetadataLookupPtr(&status, md, "class_id");1918 char* class_id = psMetadataLookupPtr(&status, md, "class_id"); 5077 1919 if (!status) { 5078 1920 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item class_id"); 5079 1921 return false; 5080 1922 } 5081 uri = psMetadataLookupPtr(&status, md, "uri");1923 char* uri = psMetadataLookupPtr(&status, md, "uri"); 5082 1924 if (!status) { 5083 1925 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item uri"); … … 5183 2025 static void rawDetrendExpRowFree(rawDetrendExpRow *object); 5184 2026 5185 rawDetrendExpRow *rawDetrendExpRowAlloc(const char *exp_tag, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *filter, psF32 airmass, psF64 ra, psF64 decl, psF32 exp_time, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 alt, psF64 az, psF32 ccd_temp, psF64 posang, const char *object )2027 rawDetrendExpRow *rawDetrendExpRowAlloc(const char *exp_tag, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *filter, psF32 airmass, psF64 ra, psF64 decl, psF32 exp_time, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 alt, psF64 az, psF32 ccd_temp, psF64 posang, const char *object, psTime* dateobs) 5186 2028 { 5187 2029 rawDetrendExpRow *_object; … … 5208 2050 _object->posang = posang; 5209 2051 _object->object = psStringCopy(object); 2052 _object->dateobs = psTimeCopy(dateobs); 5210 2053 5211 2054 return _object; … … 5220 2063 psFree(object->filter); 5221 2064 psFree(object->object); 2065 psFree(object->dateobs); 5222 2066 } 5223 2067 5224 2068 bool rawDetrendExpCreateTable(psDB *dbh) 5225 2069 { 5226 psMetadata *md; 5227 bool status; 5228 5229 md = psMetadataAlloc(); 5230 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_tag", 0, "Primary Key", "64")) { 2070 psMetadata *md = psMetadataAlloc(); 2071 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, "Primary Key", "64")) { 5231 2072 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag"); 5232 2073 psFree(md); 5233 2074 return false; 5234 2075 } 5235 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "camera", 0, NULL, "64")) {2076 if (!psMetadataAdd(md, PS_LIST_TAIL, "camera", PS_DATA_STRING, NULL, "64")) { 5236 2077 psError(PS_ERR_UNKNOWN, false, "failed to add item camera"); 5237 2078 psFree(md); 5238 2079 return false; 5239 2080 } 5240 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "telescope", 0, NULL, "64")) {2081 if (!psMetadataAdd(md, PS_LIST_TAIL, "telescope", PS_DATA_STRING, NULL, "64")) { 5241 2082 psError(PS_ERR_UNKNOWN, false, "failed to add item telescope"); 5242 2083 psFree(md); 5243 2084 return false; 5244 2085 } 5245 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "exp_type", 0, NULL, "64")) {2086 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_type", PS_DATA_STRING, NULL, "64")) { 5246 2087 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type"); 5247 2088 psFree(md); 5248 2089 return false; 5249 2090 } 5250 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "imfiles", 0, NULL, 0)) {2091 if (!psMetadataAdd(md, PS_LIST_TAIL, "imfiles", PS_DATA_S32, NULL, 0)) { 5251 2092 psError(PS_ERR_UNKNOWN, false, "failed to add item imfiles"); 5252 2093 psFree(md); 5253 2094 return false; 5254 2095 } 5255 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "filter", 0, NULL, "255")) {2096 if (!psMetadataAdd(md, PS_LIST_TAIL, "filter", PS_DATA_STRING, NULL, "255")) { 5256 2097 psError(PS_ERR_UNKNOWN, false, "failed to add item filter"); 5257 2098 psFree(md); 5258 2099 return false; 5259 2100 } 5260 if (!psMetadataAdd F32(md, PS_LIST_TAIL, "airmass", 0, NULL, 0.0)) {2101 if (!psMetadataAdd(md, PS_LIST_TAIL, "airmass", PS_DATA_F32, NULL, 0.0)) { 5261 2102 psError(PS_ERR_UNKNOWN, false, "failed to add item airmass"); 5262 2103 psFree(md); 5263 2104 return false; 5264 2105 } 5265 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "ra", 0, NULL, 0.0)) {2106 if (!psMetadataAdd(md, PS_LIST_TAIL, "ra", PS_DATA_F64, NULL, 0.0)) { 5266 2107 psError(PS_ERR_UNKNOWN, false, "failed to add item ra"); 5267 2108 psFree(md); 5268 2109 return false; 5269 2110 } 5270 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "decl", 0, NULL, 0.0)) {2111 if (!psMetadataAdd(md, PS_LIST_TAIL, "decl", PS_DATA_F64, NULL, 0.0)) { 5271 2112 psError(PS_ERR_UNKNOWN, false, "failed to add item decl"); 5272 2113 psFree(md); 5273 2114 return false; 5274 2115 } 5275 if (!psMetadataAdd F32(md, PS_LIST_TAIL, "exp_time", 0, NULL, 0.0)) {2116 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_time", PS_DATA_F32, NULL, 0.0)) { 5276 2117 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time"); 5277 2118 psFree(md); 5278 2119 return false; 5279 2120 } 5280 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg", 0, NULL, 0.0)) {2121 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, 0.0)) { 5281 2122 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); 5282 2123 psFree(md); 5283 2124 return false; 5284 2125 } 5285 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, 0.0)) {2126 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, 0.0)) { 5286 2127 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev"); 5287 2128 psFree(md); 5288 2129 return false; 5289 2130 } 5290 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, 0.0)) {2131 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, 0.0)) { 5291 2132 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev"); 5292 2133 psFree(md); 5293 2134 return false; 5294 2135 } 5295 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "alt", 0, NULL, 0.0)) {2136 if (!psMetadataAdd(md, PS_LIST_TAIL, "alt", PS_DATA_F64, NULL, 0.0)) { 5296 2137 psError(PS_ERR_UNKNOWN, false, "failed to add item alt"); 5297 2138 psFree(md); 5298 2139 return false; 5299 2140 } 5300 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "az", 0, NULL, 0.0)) {2141 if (!psMetadataAdd(md, PS_LIST_TAIL, "az", PS_DATA_F64, NULL, 0.0)) { 5301 2142 psError(PS_ERR_UNKNOWN, false, "failed to add item az"); 5302 2143 psFree(md); 5303 2144 return false; 5304 2145 } 5305 if (!psMetadataAdd F32(md, PS_LIST_TAIL, "ccd_temp", 0, NULL, 0.0)) {2146 if (!psMetadataAdd(md, PS_LIST_TAIL, "ccd_temp", PS_DATA_F32, NULL, 0.0)) { 5306 2147 psError(PS_ERR_UNKNOWN, false, "failed to add item ccd_temp"); 5307 2148 psFree(md); 5308 2149 return false; 5309 2150 } 5310 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "posang", 0, NULL, 0.0)) {2151 if (!psMetadataAdd(md, PS_LIST_TAIL, "posang", PS_DATA_F64, NULL, 0.0)) { 5311 2152 psError(PS_ERR_UNKNOWN, false, "failed to add item posang"); 5312 2153 psFree(md); 5313 2154 return false; 5314 2155 } 5315 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "object", 0, NULL, "64")) {2156 if (!psMetadataAdd(md, PS_LIST_TAIL, "object", PS_DATA_STRING, NULL, "64")) { 5316 2157 psError(PS_ERR_UNKNOWN, false, "failed to add item object"); 5317 2158 psFree(md); 5318 2159 return false; 5319 2160 } 5320 5321 status = psDBCreateTable(dbh, RAWDETRENDEXP_TABLE_NAME, md); 2161 psTime* dateobs = psTimeFromISO("0001-01-01T00:00:00", PS_TIME_UTC); 2162 if (!psMetadataAdd(md, PS_LIST_TAIL, "dateobs", PS_DATA_TIME, NULL, dateobs)) { 2163 psFree(dateobs); 2164 psError(PS_ERR_UNKNOWN, false, "failed to add item dateobs"); 2165 psFree(md); 2166 return false; 2167 } 2168 psFree(dateobs); 2169 2170 bool status = psDBCreateTable(dbh, RAWDETRENDEXP_TABLE_NAME, md); 5322 2171 5323 2172 psFree(md); … … 5331 2180 } 5332 2181 5333 bool rawDetrendExpInsert(psDB * dbh, const char *exp_tag, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *filter, psF32 airmass, psF64 ra, psF64 decl, psF32 exp_time, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 alt, psF64 az, psF32 ccd_temp, psF64 posang, const char *object) 5334 { 5335 psMetadata *md; 5336 bool status; 5337 5338 md = psMetadataAlloc(); 5339 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_tag", 0, NULL, exp_tag)) { 2182 bool rawDetrendExpInsert(psDB * dbh, const char *exp_tag, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *filter, psF32 airmass, psF64 ra, psF64 decl, psF32 exp_time, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 alt, psF64 az, psF32 ccd_temp, psF64 posang, const char *object, psTime* dateobs) 2183 { 2184 psMetadata *md = psMetadataAlloc(); 2185 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, NULL, exp_tag)) { 5340 2186 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag"); 5341 2187 psFree(md); 5342 2188 return false; 5343 2189 } 5344 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "camera", 0, NULL, camera)) {2190 if (!psMetadataAdd(md, PS_LIST_TAIL, "camera", PS_DATA_STRING, NULL, camera)) { 5345 2191 psError(PS_ERR_UNKNOWN, false, "failed to add item camera"); 5346 2192 psFree(md); 5347 2193 return false; 5348 2194 } 5349 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "telescope", 0, NULL, telescope)) {2195 if (!psMetadataAdd(md, PS_LIST_TAIL, "telescope", PS_DATA_STRING, NULL, telescope)) { 5350 2196 psError(PS_ERR_UNKNOWN, false, "failed to add item telescope"); 5351 2197 psFree(md); 5352 2198 return false; 5353 2199 } 5354 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "exp_type", 0, NULL, exp_type)) {2200 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_type", PS_DATA_STRING, NULL, exp_type)) { 5355 2201 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type"); 5356 2202 psFree(md); 5357 2203 return false; 5358 2204 } 5359 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "imfiles", 0, NULL, imfiles)) {2205 if (!psMetadataAdd(md, PS_LIST_TAIL, "imfiles", PS_DATA_S32, NULL, imfiles)) { 5360 2206 psError(PS_ERR_UNKNOWN, false, "failed to add item imfiles"); 5361 2207 psFree(md); 5362 2208 return false; 5363 2209 } 5364 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "filter", 0, NULL, filter)) {2210 if (!psMetadataAdd(md, PS_LIST_TAIL, "filter", PS_DATA_STRING, NULL, filter)) { 5365 2211 psError(PS_ERR_UNKNOWN, false, "failed to add item filter"); 5366 2212 psFree(md); 5367 2213 return false; 5368 2214 } 5369 if (!psMetadataAdd F32(md, PS_LIST_TAIL, "airmass", 0, NULL, airmass)) {2215 if (!psMetadataAdd(md, PS_LIST_TAIL, "airmass", PS_DATA_F32, NULL, airmass)) { 5370 2216 psError(PS_ERR_UNKNOWN, false, "failed to add item airmass"); 5371 2217 psFree(md); 5372 2218 return false; 5373 2219 } 5374 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "ra", 0, NULL, ra)) {2220 if (!psMetadataAdd(md, PS_LIST_TAIL, "ra", PS_DATA_F64, NULL, ra)) { 5375 2221 psError(PS_ERR_UNKNOWN, false, "failed to add item ra"); 5376 2222 psFree(md); 5377 2223 return false; 5378 2224 } 5379 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "decl", 0, NULL, decl)) {2225 if (!psMetadataAdd(md, PS_LIST_TAIL, "decl", PS_DATA_F64, NULL, decl)) { 5380 2226 psError(PS_ERR_UNKNOWN, false, "failed to add item decl"); 5381 2227 psFree(md); 5382 2228 return false; 5383 2229 } 5384 if (!psMetadataAdd F32(md, PS_LIST_TAIL, "exp_time", 0, NULL, exp_time)) {2230 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_time", PS_DATA_F32, NULL, exp_time)) { 5385 2231 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time"); 5386 2232 psFree(md); 5387 2233 return false; 5388 2234 } 5389 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg", 0, NULL, bg)) {2235 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, bg)) { 5390 2236 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); 5391 2237 psFree(md); 5392 2238 return false; 5393 2239 } 5394 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, bg_stdev)) {2240 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, bg_stdev)) { 5395 2241 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev"); 5396 2242 psFree(md); 5397 2243 return false; 5398 2244 } 5399 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, bg_mean_stdev)) {2245 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, bg_mean_stdev)) { 5400 2246 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev"); 5401 2247 psFree(md); 5402 2248 return false; 5403 2249 } 5404 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "alt", 0, NULL, alt)) {2250 if (!psMetadataAdd(md, PS_LIST_TAIL, "alt", PS_DATA_F64, NULL, alt)) { 5405 2251 psError(PS_ERR_UNKNOWN, false, "failed to add item alt"); 5406 2252 psFree(md); 5407 2253 return false; 5408 2254 } 5409 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "az", 0, NULL, az)) {2255 if (!psMetadataAdd(md, PS_LIST_TAIL, "az", PS_DATA_F64, NULL, az)) { 5410 2256 psError(PS_ERR_UNKNOWN, false, "failed to add item az"); 5411 2257 psFree(md); 5412 2258 return false; 5413 2259 } 5414 if (!psMetadataAdd F32(md, PS_LIST_TAIL, "ccd_temp", 0, NULL, ccd_temp)) {2260 if (!psMetadataAdd(md, PS_LIST_TAIL, "ccd_temp", PS_DATA_F32, NULL, ccd_temp)) { 5415 2261 psError(PS_ERR_UNKNOWN, false, "failed to add item ccd_temp"); 5416 2262 psFree(md); 5417 2263 return false; 5418 2264 } 5419 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "posang", 0, NULL, posang)) {2265 if (!psMetadataAdd(md, PS_LIST_TAIL, "posang", PS_DATA_F64, NULL, posang)) { 5420 2266 psError(PS_ERR_UNKNOWN, false, "failed to add item posang"); 5421 2267 psFree(md); 5422 2268 return false; 5423 2269 } 5424 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "object", 0, NULL, object)) {2270 if (!psMetadataAdd(md, PS_LIST_TAIL, "object", PS_DATA_STRING, NULL, object)) { 5425 2271 psError(PS_ERR_UNKNOWN, false, "failed to add item object"); 5426 2272 psFree(md); 5427 2273 return false; 5428 2274 } 5429 5430 status = psDBInsertOneRow(dbh, RAWDETRENDEXP_TABLE_NAME, md); 2275 if (!psMetadataAdd(md, PS_LIST_TAIL, "dateobs", PS_DATA_TIME, NULL, dateobs)) { 2276 psError(PS_ERR_UNKNOWN, false, "failed to add item dateobs"); 2277 psFree(md); 2278 return false; 2279 } 2280 2281 bool status = psDBInsertOneRow(dbh, RAWDETRENDEXP_TABLE_NAME, md); 5431 2282 psFree(md); 5432 2283 … … 5450 2301 bool rawDetrendExpInsertObject(psDB *dbh, rawDetrendExpRow *object) 5451 2302 { 5452 return rawDetrendExpInsert(dbh, object->exp_tag, object->camera, object->telescope, object->exp_type, object->imfiles, object->filter, object->airmass, object->ra, object->decl, object->exp_time, object->bg, object->bg_stdev, object->bg_mean_stdev, object->alt, object->az, object->ccd_temp, object->posang, object->object );2303 return rawDetrendExpInsert(dbh, object->exp_tag, object->camera, object->telescope, object->exp_type, object->imfiles, object->filter, object->airmass, object->ra, object->decl, object->exp_time, object->bg, object->bg_stdev, object->bg_mean_stdev, object->alt, object->az, object->ccd_temp, object->posang, object->object, object->dateobs); 5453 2304 } 5454 2305 … … 5522 2373 psMetadata *rawDetrendExpMetadataFromObject(const rawDetrendExpRow *object) 5523 2374 { 5524 psMetadata *md; 5525 5526 md = psMetadataAlloc(); 5527 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_tag", 0, NULL, object->exp_tag)) { 2375 psMetadata *md = psMetadataAlloc(); 2376 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, NULL, object->exp_tag)) { 5528 2377 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag"); 5529 2378 psFree(md); 5530 return NULL;5531 } 5532 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "camera", 0, NULL, object->camera)) {2379 return false; 2380 } 2381 if (!psMetadataAdd(md, PS_LIST_TAIL, "camera", PS_DATA_STRING, NULL, object->camera)) { 5533 2382 psError(PS_ERR_UNKNOWN, false, "failed to add item camera"); 5534 2383 psFree(md); 5535 return NULL;5536 } 5537 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "telescope", 0, NULL, object->telescope)) {2384 return false; 2385 } 2386 if (!psMetadataAdd(md, PS_LIST_TAIL, "telescope", PS_DATA_STRING, NULL, object->telescope)) { 5538 2387 psError(PS_ERR_UNKNOWN, false, "failed to add item telescope"); 5539 2388 psFree(md); 5540 return NULL;5541 } 5542 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "exp_type", 0, NULL, object->exp_type)) {2389 return false; 2390 } 2391 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_type", PS_DATA_STRING, NULL, object->exp_type)) { 5543 2392 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type"); 5544 2393 psFree(md); 5545 return NULL;5546 } 5547 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "imfiles", 0, NULL, object->imfiles)) {2394 return false; 2395 } 2396 if (!psMetadataAdd(md, PS_LIST_TAIL, "imfiles", PS_DATA_S32, NULL, object->imfiles)) { 5548 2397 psError(PS_ERR_UNKNOWN, false, "failed to add item imfiles"); 5549 2398 psFree(md); 5550 return NULL;5551 } 5552 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "filter", 0, NULL, object->filter)) {2399 return false; 2400 } 2401 if (!psMetadataAdd(md, PS_LIST_TAIL, "filter", PS_DATA_STRING, NULL, object->filter)) { 5553 2402 psError(PS_ERR_UNKNOWN, false, "failed to add item filter"); 5554 2403 psFree(md); 5555 return NULL;5556 } 5557 if (!psMetadataAdd F32(md, PS_LIST_TAIL, "airmass", 0, NULL, object->airmass)) {2404 return false; 2405 } 2406 if (!psMetadataAdd(md, PS_LIST_TAIL, "airmass", PS_DATA_F32, NULL, object->airmass)) { 5558 2407 psError(PS_ERR_UNKNOWN, false, "failed to add item airmass"); 5559 2408 psFree(md); 5560 return NULL;5561 } 5562 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "ra", 0, NULL, object->ra)) {2409 return false; 2410 } 2411 if (!psMetadataAdd(md, PS_LIST_TAIL, "ra", PS_DATA_F64, NULL, object->ra)) { 5563 2412 psError(PS_ERR_UNKNOWN, false, "failed to add item ra"); 5564 2413 psFree(md); 5565 return NULL;5566 } 5567 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "decl", 0, NULL, object->decl)) {2414 return false; 2415 } 2416 if (!psMetadataAdd(md, PS_LIST_TAIL, "decl", PS_DATA_F64, NULL, object->decl)) { 5568 2417 psError(PS_ERR_UNKNOWN, false, "failed to add item decl"); 5569 2418 psFree(md); 5570 return NULL;5571 } 5572 if (!psMetadataAdd F32(md, PS_LIST_TAIL, "exp_time", 0, NULL, object->exp_time)) {2419 return false; 2420 } 2421 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_time", PS_DATA_F32, NULL, object->exp_time)) { 5573 2422 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time"); 5574 2423 psFree(md); 5575 return NULL;5576 } 5577 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg", 0, NULL, object->bg)) {2424 return false; 2425 } 2426 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, object->bg)) { 5578 2427 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); 5579 2428 psFree(md); 5580 return NULL;5581 } 5582 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, object->bg_stdev)) {2429 return false; 2430 } 2431 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, object->bg_stdev)) { 5583 2432 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev"); 5584 2433 psFree(md); 5585 return NULL;5586 } 5587 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, object->bg_mean_stdev)) {2434 return false; 2435 } 2436 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, object->bg_mean_stdev)) { 5588 2437 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev"); 5589 2438 psFree(md); 5590 return NULL;5591 } 5592 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "alt", 0, NULL, object->alt)) {2439 return false; 2440 } 2441 if (!psMetadataAdd(md, PS_LIST_TAIL, "alt", PS_DATA_F64, NULL, object->alt)) { 5593 2442 psError(PS_ERR_UNKNOWN, false, "failed to add item alt"); 5594 2443 psFree(md); 5595 return NULL;5596 } 5597 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "az", 0, NULL, object->az)) {2444 return false; 2445 } 2446 if (!psMetadataAdd(md, PS_LIST_TAIL, "az", PS_DATA_F64, NULL, object->az)) { 5598 2447 psError(PS_ERR_UNKNOWN, false, "failed to add item az"); 5599 2448 psFree(md); 5600 return NULL;5601 } 5602 if (!psMetadataAdd F32(md, PS_LIST_TAIL, "ccd_temp", 0, NULL, object->ccd_temp)) {2449 return false; 2450 } 2451 if (!psMetadataAdd(md, PS_LIST_TAIL, "ccd_temp", PS_DATA_F32, NULL, object->ccd_temp)) { 5603 2452 psError(PS_ERR_UNKNOWN, false, "failed to add item ccd_temp"); 5604 2453 psFree(md); 5605 return NULL;5606 } 5607 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "posang", 0, NULL, object->posang)) {2454 return false; 2455 } 2456 if (!psMetadataAdd(md, PS_LIST_TAIL, "posang", PS_DATA_F64, NULL, object->posang)) { 5608 2457 psError(PS_ERR_UNKNOWN, false, "failed to add item posang"); 5609 2458 psFree(md); 5610 return NULL;5611 } 5612 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "object", 0, NULL, object->object)) {2459 return false; 2460 } 2461 if (!psMetadataAdd(md, PS_LIST_TAIL, "object", PS_DATA_STRING, NULL, object->object)) { 5613 2462 psError(PS_ERR_UNKNOWN, false, "failed to add item object"); 5614 2463 psFree(md); 5615 return NULL; 5616 } 2464 return false; 2465 } 2466 if (!psMetadataAdd(md, PS_LIST_TAIL, "dateobs", PS_DATA_TIME, NULL, object->dateobs)) { 2467 psError(PS_ERR_UNKNOWN, false, "failed to add item dateobs"); 2468 psFree(md); 2469 return false; 2470 } 2471 5617 2472 5618 2473 return md; … … 5621 2476 rawDetrendExpRow *rawDetrendExpObjectFromMetadata(psMetadata *md) 5622 2477 { 5623 bool status; 5624 char *exp_tag; 5625 char *camera; 5626 char *telescope; 5627 char *exp_type; 5628 psS32 imfiles; 5629 char *filter; 5630 psF32 airmass; 5631 psF64 ra; 5632 psF64 decl; 5633 psF32 exp_time; 5634 psF64 bg; 5635 psF64 bg_stdev; 5636 psF64 bg_mean_stdev; 5637 psF64 alt; 5638 psF64 az; 5639 psF32 ccd_temp; 5640 psF64 posang; 5641 char *object; 5642 5643 exp_tag = psMetadataLookupPtr(&status, md, "exp_tag"); 2478 2479 bool status = false; 2480 char* exp_tag = psMetadataLookupPtr(&status, md, "exp_tag"); 5644 2481 if (!status) { 5645 2482 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_tag"); 5646 2483 return false; 5647 2484 } 5648 c amera = psMetadataLookupPtr(&status, md, "camera");2485 char* camera = psMetadataLookupPtr(&status, md, "camera"); 5649 2486 if (!status) { 5650 2487 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item camera"); 5651 2488 return false; 5652 2489 } 5653 telescope = psMetadataLookupPtr(&status, md, "telescope");2490 char* telescope = psMetadataLookupPtr(&status, md, "telescope"); 5654 2491 if (!status) { 5655 2492 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item telescope"); 5656 2493 return false; 5657 2494 } 5658 exp_type = psMetadataLookupPtr(&status, md, "exp_type");2495 char* exp_type = psMetadataLookupPtr(&status, md, "exp_type"); 5659 2496 if (!status) { 5660 2497 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_type"); 5661 2498 return false; 5662 2499 } 5663 imfiles = psMetadataLookupS32(&status, md, "imfiles");2500 psS32 imfiles = psMetadataLookupS32(&status, md, "imfiles"); 5664 2501 if (!status) { 5665 2502 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item imfiles"); 5666 2503 return false; 5667 2504 } 5668 filter = psMetadataLookupPtr(&status, md, "filter");2505 char* filter = psMetadataLookupPtr(&status, md, "filter"); 5669 2506 if (!status) { 5670 2507 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item filter"); 5671 2508 return false; 5672 2509 } 5673 airmass = psMetadataLookupF32(&status, md, "airmass");2510 psF32 airmass = psMetadataLookupF32(&status, md, "airmass"); 5674 2511 if (!status) { 5675 2512 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item airmass"); 5676 2513 return false; 5677 2514 } 5678 ra = psMetadataLookupF64(&status, md, "ra");2515 psF64 ra = psMetadataLookupF64(&status, md, "ra"); 5679 2516 if (!status) { 5680 2517 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ra"); 5681 2518 return false; 5682 2519 } 5683 decl = psMetadataLookupF64(&status, md, "decl");2520 psF64 decl = psMetadataLookupF64(&status, md, "decl"); 5684 2521 if (!status) { 5685 2522 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item decl"); 5686 2523 return false; 5687 2524 } 5688 exp_time = psMetadataLookupF32(&status, md, "exp_time");2525 psF32 exp_time = psMetadataLookupF32(&status, md, "exp_time"); 5689 2526 if (!status) { 5690 2527 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_time"); 5691 2528 return false; 5692 2529 } 5693 bg = psMetadataLookupF64(&status, md, "bg");2530 psF64 bg = psMetadataLookupF64(&status, md, "bg"); 5694 2531 if (!status) { 5695 2532 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg"); 5696 2533 return false; 5697 2534 } 5698 bg_stdev = psMetadataLookupF64(&status, md, "bg_stdev");2535 psF64 bg_stdev = psMetadataLookupF64(&status, md, "bg_stdev"); 5699 2536 if (!status) { 5700 2537 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_stdev"); 5701 2538 return false; 5702 2539 } 5703 bg_mean_stdev = psMetadataLookupF64(&status, md, "bg_mean_stdev");2540 psF64 bg_mean_stdev = psMetadataLookupF64(&status, md, "bg_mean_stdev"); 5704 2541 if (!status) { 5705 2542 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_mean_stdev"); 5706 2543 return false; 5707 2544 } 5708 alt = psMetadataLookupF64(&status, md, "alt");2545 psF64 alt = psMetadataLookupF64(&status, md, "alt"); 5709 2546 if (!status) { 5710 2547 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item alt"); 5711 2548 return false; 5712 2549 } 5713 az = psMetadataLookupF64(&status, md, "az");2550 psF64 az = psMetadataLookupF64(&status, md, "az"); 5714 2551 if (!status) { 5715 2552 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item az"); 5716 2553 return false; 5717 2554 } 5718 ccd_temp = psMetadataLookupF32(&status, md, "ccd_temp");2555 psF32 ccd_temp = psMetadataLookupF32(&status, md, "ccd_temp"); 5719 2556 if (!status) { 5720 2557 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ccd_temp"); 5721 2558 return false; 5722 2559 } 5723 p osang = psMetadataLookupF64(&status, md, "posang");2560 psF64 posang = psMetadataLookupF64(&status, md, "posang"); 5724 2561 if (!status) { 5725 2562 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item posang"); 5726 2563 return false; 5727 2564 } 5728 object = psMetadataLookupPtr(&status, md, "object");2565 char* object = psMetadataLookupPtr(&status, md, "object"); 5729 2566 if (!status) { 5730 2567 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item object"); 5731 2568 return false; 5732 2569 } 5733 5734 return rawDetrendExpRowAlloc(exp_tag, camera, telescope, exp_type, imfiles, filter, airmass, ra, decl, exp_time, bg, bg_stdev, bg_mean_stdev, alt, az, ccd_temp, posang, object); 2570 psTime* dateobs = psMetadataLookupPtr(&status, md, "dateobs"); 2571 if (!status) { 2572 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item dateobs"); 2573 return false; 2574 } 2575 2576 return rawDetrendExpRowAlloc(exp_tag, camera, telescope, exp_type, imfiles, filter, airmass, ra, decl, exp_time, bg, bg_stdev, bg_mean_stdev, alt, az, ccd_temp, posang, object, dateobs); 5735 2577 } 5736 2578 psArray *rawDetrendExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) … … 5830 2672 static void rawScienceExpRowFree(rawScienceExpRow *object); 5831 2673 5832 rawScienceExpRow *rawScienceExpRowAlloc(const char *exp_tag, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *filter, psF32 airmass, psF64 ra, psF64 decl, psF32 exp_time, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 alt, psF64 az, psF32 ccd_temp, psF64 posang, const char *object )2674 rawScienceExpRow *rawScienceExpRowAlloc(const char *exp_tag, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *filter, psF32 airmass, psF64 ra, psF64 decl, psF32 exp_time, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 alt, psF64 az, psF32 ccd_temp, psF64 posang, const char *object, psTime* dateobs) 5833 2675 { 5834 2676 rawScienceExpRow *_object; … … 5855 2697 _object->posang = posang; 5856 2698 _object->object = psStringCopy(object); 2699 _object->dateobs = psTimeCopy(dateobs); 5857 2700 5858 2701 return _object; … … 5867 2710 psFree(object->filter); 5868 2711 psFree(object->object); 2712 psFree(object->dateobs); 5869 2713 } 5870 2714 5871 2715 bool rawScienceExpCreateTable(psDB *dbh) 5872 2716 { 5873 psMetadata *md; 5874 bool status; 5875 5876 md = psMetadataAlloc(); 5877 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_tag", 0, "Primary Key", "64")) { 2717 psMetadata *md = psMetadataAlloc(); 2718 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, "Primary Key", "64")) { 5878 2719 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag"); 5879 2720 psFree(md); 5880 2721 return false; 5881 2722 } 5882 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "camera", 0, NULL, "64")) {2723 if (!psMetadataAdd(md, PS_LIST_TAIL, "camera", PS_DATA_STRING, NULL, "64")) { 5883 2724 psError(PS_ERR_UNKNOWN, false, "failed to add item camera"); 5884 2725 psFree(md); 5885 2726 return false; 5886 2727 } 5887 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "telescope", 0, NULL, "64")) {2728 if (!psMetadataAdd(md, PS_LIST_TAIL, "telescope", PS_DATA_STRING, NULL, "64")) { 5888 2729 psError(PS_ERR_UNKNOWN, false, "failed to add item telescope"); 5889 2730 psFree(md); 5890 2731 return false; 5891 2732 } 5892 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "exp_type", 0, NULL, "64")) {2733 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_type", PS_DATA_STRING, NULL, "64")) { 5893 2734 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type"); 5894 2735 psFree(md); 5895 2736 return false; 5896 2737 } 5897 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "imfiles", 0, NULL, 0)) {2738 if (!psMetadataAdd(md, PS_LIST_TAIL, "imfiles", PS_DATA_S32, NULL, 0)) { 5898 2739 psError(PS_ERR_UNKNOWN, false, "failed to add item imfiles"); 5899 2740 psFree(md); 5900 2741 return false; 5901 2742 } 5902 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "filter", 0, NULL, "255")) {2743 if (!psMetadataAdd(md, PS_LIST_TAIL, "filter", PS_DATA_STRING, NULL, "255")) { 5903 2744 psError(PS_ERR_UNKNOWN, false, "failed to add item filter"); 5904 2745 psFree(md); 5905 2746 return false; 5906 2747 } 5907 if (!psMetadataAdd F32(md, PS_LIST_TAIL, "airmass", 0, NULL, 0.0)) {2748 if (!psMetadataAdd(md, PS_LIST_TAIL, "airmass", PS_DATA_F32, NULL, 0.0)) { 5908 2749 psError(PS_ERR_UNKNOWN, false, "failed to add item airmass"); 5909 2750 psFree(md); 5910 2751 return false; 5911 2752 } 5912 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "ra", 0, NULL, 0.0)) {2753 if (!psMetadataAdd(md, PS_LIST_TAIL, "ra", PS_DATA_F64, NULL, 0.0)) { 5913 2754 psError(PS_ERR_UNKNOWN, false, "failed to add item ra"); 5914 2755 psFree(md); 5915 2756 return false; 5916 2757 } 5917 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "decl", 0, NULL, 0.0)) {2758 if (!psMetadataAdd(md, PS_LIST_TAIL, "decl", PS_DATA_F64, NULL, 0.0)) { 5918 2759 psError(PS_ERR_UNKNOWN, false, "failed to add item decl"); 5919 2760 psFree(md); 5920 2761 return false; 5921 2762 } 5922 if (!psMetadataAdd F32(md, PS_LIST_TAIL, "exp_time", 0, NULL, 0.0)) {2763 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_time", PS_DATA_F32, NULL, 0.0)) { 5923 2764 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time"); 5924 2765 psFree(md); 5925 2766 return false; 5926 2767 } 5927 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg", 0, NULL, 0.0)) {2768 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, 0.0)) { 5928 2769 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); 5929 2770 psFree(md); 5930 2771 return false; 5931 2772 } 5932 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, 0.0)) {2773 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, 0.0)) { 5933 2774 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev"); 5934 2775 psFree(md); 5935 2776 return false; 5936 2777 } 5937 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, 0.0)) {2778 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, 0.0)) { 5938 2779 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev"); 5939 2780 psFree(md); 5940 2781 return false; 5941 2782 } 5942 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "alt", 0, NULL, 0.0)) {2783 if (!psMetadataAdd(md, PS_LIST_TAIL, "alt", PS_DATA_F64, NULL, 0.0)) { 5943 2784 psError(PS_ERR_UNKNOWN, false, "failed to add item alt"); 5944 2785 psFree(md); 5945 2786 return false; 5946 2787 } 5947 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "az", 0, NULL, 0.0)) {2788 if (!psMetadataAdd(md, PS_LIST_TAIL, "az", PS_DATA_F64, NULL, 0.0)) { 5948 2789 psError(PS_ERR_UNKNOWN, false, "failed to add item az"); 5949 2790 psFree(md); 5950 2791 return false; 5951 2792 } 5952 if (!psMetadataAdd F32(md, PS_LIST_TAIL, "ccd_temp", 0, NULL, 0.0)) {2793 if (!psMetadataAdd(md, PS_LIST_TAIL, "ccd_temp", PS_DATA_F32, NULL, 0.0)) { 5953 2794 psError(PS_ERR_UNKNOWN, false, "failed to add item ccd_temp"); 5954 2795 psFree(md); 5955 2796 return false; 5956 2797 } 5957 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "posang", 0, NULL, 0.0)) {2798 if (!psMetadataAdd(md, PS_LIST_TAIL, "posang", PS_DATA_F64, NULL, 0.0)) { 5958 2799 psError(PS_ERR_UNKNOWN, false, "failed to add item posang"); 5959 2800 psFree(md); 5960 2801 return false; 5961 2802 } 5962 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "object", 0, NULL, "64")) {2803 if (!psMetadataAdd(md, PS_LIST_TAIL, "object", PS_DATA_STRING, NULL, "64")) { 5963 2804 psError(PS_ERR_UNKNOWN, false, "failed to add item object"); 5964 2805 psFree(md); 5965 2806 return false; 5966 2807 } 5967 5968 status = psDBCreateTable(dbh, RAWSCIENCEEXP_TABLE_NAME, md); 2808 psTime* dateobs = psTimeFromISO("0001-01-01T00:00:00", PS_TIME_UTC); 2809 if (!psMetadataAdd(md, PS_LIST_TAIL, "dateobs", PS_DATA_TIME, NULL, dateobs)) { 2810 psFree(dateobs); 2811 psError(PS_ERR_UNKNOWN, false, "failed to add item dateobs"); 2812 psFree(md); 2813 return false; 2814 } 2815 psFree(dateobs); 2816 2817 bool status = psDBCreateTable(dbh, RAWSCIENCEEXP_TABLE_NAME, md); 5969 2818 5970 2819 psFree(md); … … 5978 2827 } 5979 2828 5980 bool rawScienceExpInsert(psDB * dbh, const char *exp_tag, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *filter, psF32 airmass, psF64 ra, psF64 decl, psF32 exp_time, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 alt, psF64 az, psF32 ccd_temp, psF64 posang, const char *object) 5981 { 5982 psMetadata *md; 5983 bool status; 5984 5985 md = psMetadataAlloc(); 5986 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_tag", 0, NULL, exp_tag)) { 2829 bool rawScienceExpInsert(psDB * dbh, const char *exp_tag, const char *camera, const char *telescope, const char *exp_type, psS32 imfiles, const char *filter, psF32 airmass, psF64 ra, psF64 decl, psF32 exp_time, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 alt, psF64 az, psF32 ccd_temp, psF64 posang, const char *object, psTime* dateobs) 2830 { 2831 psMetadata *md = psMetadataAlloc(); 2832 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, NULL, exp_tag)) { 5987 2833 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag"); 5988 2834 psFree(md); 5989 2835 return false; 5990 2836 } 5991 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "camera", 0, NULL, camera)) {2837 if (!psMetadataAdd(md, PS_LIST_TAIL, "camera", PS_DATA_STRING, NULL, camera)) { 5992 2838 psError(PS_ERR_UNKNOWN, false, "failed to add item camera"); 5993 2839 psFree(md); 5994 2840 return false; 5995 2841 } 5996 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "telescope", 0, NULL, telescope)) {2842 if (!psMetadataAdd(md, PS_LIST_TAIL, "telescope", PS_DATA_STRING, NULL, telescope)) { 5997 2843 psError(PS_ERR_UNKNOWN, false, "failed to add item telescope"); 5998 2844 psFree(md); 5999 2845 return false; 6000 2846 } 6001 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "exp_type", 0, NULL, exp_type)) {2847 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_type", PS_DATA_STRING, NULL, exp_type)) { 6002 2848 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type"); 6003 2849 psFree(md); 6004 2850 return false; 6005 2851 } 6006 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "imfiles", 0, NULL, imfiles)) {2852 if (!psMetadataAdd(md, PS_LIST_TAIL, "imfiles", PS_DATA_S32, NULL, imfiles)) { 6007 2853 psError(PS_ERR_UNKNOWN, false, "failed to add item imfiles"); 6008 2854 psFree(md); 6009 2855 return false; 6010 2856 } 6011 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "filter", 0, NULL, filter)) {2857 if (!psMetadataAdd(md, PS_LIST_TAIL, "filter", PS_DATA_STRING, NULL, filter)) { 6012 2858 psError(PS_ERR_UNKNOWN, false, "failed to add item filter"); 6013 2859 psFree(md); 6014 2860 return false; 6015 2861 } 6016 if (!psMetadataAdd F32(md, PS_LIST_TAIL, "airmass", 0, NULL, airmass)) {2862 if (!psMetadataAdd(md, PS_LIST_TAIL, "airmass", PS_DATA_F32, NULL, airmass)) { 6017 2863 psError(PS_ERR_UNKNOWN, false, "failed to add item airmass"); 6018 2864 psFree(md); 6019 2865 return false; 6020 2866 } 6021 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "ra", 0, NULL, ra)) {2867 if (!psMetadataAdd(md, PS_LIST_TAIL, "ra", PS_DATA_F64, NULL, ra)) { 6022 2868 psError(PS_ERR_UNKNOWN, false, "failed to add item ra"); 6023 2869 psFree(md); 6024 2870 return false; 6025 2871 } 6026 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "decl", 0, NULL, decl)) {2872 if (!psMetadataAdd(md, PS_LIST_TAIL, "decl", PS_DATA_F64, NULL, decl)) { 6027 2873 psError(PS_ERR_UNKNOWN, false, "failed to add item decl"); 6028 2874 psFree(md); 6029 2875 return false; 6030 2876 } 6031 if (!psMetadataAdd F32(md, PS_LIST_TAIL, "exp_time", 0, NULL, exp_time)) {2877 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_time", PS_DATA_F32, NULL, exp_time)) { 6032 2878 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time"); 6033 2879 psFree(md); 6034 2880 return false; 6035 2881 } 6036 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg", 0, NULL, bg)) {2882 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, bg)) { 6037 2883 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); 6038 2884 psFree(md); 6039 2885 return false; 6040 2886 } 6041 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, bg_stdev)) {2887 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, bg_stdev)) { 6042 2888 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev"); 6043 2889 psFree(md); 6044 2890 return false; 6045 2891 } 6046 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, bg_mean_stdev)) {2892 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, bg_mean_stdev)) { 6047 2893 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev"); 6048 2894 psFree(md); 6049 2895 return false; 6050 2896 } 6051 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "alt", 0, NULL, alt)) {2897 if (!psMetadataAdd(md, PS_LIST_TAIL, "alt", PS_DATA_F64, NULL, alt)) { 6052 2898 psError(PS_ERR_UNKNOWN, false, "failed to add item alt"); 6053 2899 psFree(md); 6054 2900 return false; 6055 2901 } 6056 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "az", 0, NULL, az)) {2902 if (!psMetadataAdd(md, PS_LIST_TAIL, "az", PS_DATA_F64, NULL, az)) { 6057 2903 psError(PS_ERR_UNKNOWN, false, "failed to add item az"); 6058 2904 psFree(md); 6059 2905 return false; 6060 2906 } 6061 if (!psMetadataAdd F32(md, PS_LIST_TAIL, "ccd_temp", 0, NULL, ccd_temp)) {2907 if (!psMetadataAdd(md, PS_LIST_TAIL, "ccd_temp", PS_DATA_F32, NULL, ccd_temp)) { 6062 2908 psError(PS_ERR_UNKNOWN, false, "failed to add item ccd_temp"); 6063 2909 psFree(md); 6064 2910 return false; 6065 2911 } 6066 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "posang", 0, NULL, posang)) {2912 if (!psMetadataAdd(md, PS_LIST_TAIL, "posang", PS_DATA_F64, NULL, posang)) { 6067 2913 psError(PS_ERR_UNKNOWN, false, "failed to add item posang"); 6068 2914 psFree(md); 6069 2915 return false; 6070 2916 } 6071 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "object", 0, NULL, object)) {2917 if (!psMetadataAdd(md, PS_LIST_TAIL, "object", PS_DATA_STRING, NULL, object)) { 6072 2918 psError(PS_ERR_UNKNOWN, false, "failed to add item object"); 6073 2919 psFree(md); 6074 2920 return false; 6075 2921 } 6076 6077 status = psDBInsertOneRow(dbh, RAWSCIENCEEXP_TABLE_NAME, md); 2922 if (!psMetadataAdd(md, PS_LIST_TAIL, "dateobs", PS_DATA_TIME, NULL, dateobs)) { 2923 psError(PS_ERR_UNKNOWN, false, "failed to add item dateobs"); 2924 psFree(md); 2925 return false; 2926 } 2927 2928 bool status = psDBInsertOneRow(dbh, RAWSCIENCEEXP_TABLE_NAME, md); 6078 2929 psFree(md); 6079 2930 … … 6097 2948 bool rawScienceExpInsertObject(psDB *dbh, rawScienceExpRow *object) 6098 2949 { 6099 return rawScienceExpInsert(dbh, object->exp_tag, object->camera, object->telescope, object->exp_type, object->imfiles, object->filter, object->airmass, object->ra, object->decl, object->exp_time, object->bg, object->bg_stdev, object->bg_mean_stdev, object->alt, object->az, object->ccd_temp, object->posang, object->object );2950 return rawScienceExpInsert(dbh, object->exp_tag, object->camera, object->telescope, object->exp_type, object->imfiles, object->filter, object->airmass, object->ra, object->decl, object->exp_time, object->bg, object->bg_stdev, object->bg_mean_stdev, object->alt, object->az, object->ccd_temp, object->posang, object->object, object->dateobs); 6100 2951 } 6101 2952 … … 6169 3020 psMetadata *rawScienceExpMetadataFromObject(const rawScienceExpRow *object) 6170 3021 { 6171 psMetadata *md; 6172 6173 md = psMetadataAlloc(); 6174 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_tag", 0, NULL, object->exp_tag)) { 3022 psMetadata *md = psMetadataAlloc(); 3023 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, NULL, object->exp_tag)) { 6175 3024 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag"); 6176 3025 psFree(md); 6177 return NULL;6178 } 6179 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "camera", 0, NULL, object->camera)) {3026 return false; 3027 } 3028 if (!psMetadataAdd(md, PS_LIST_TAIL, "camera", PS_DATA_STRING, NULL, object->camera)) { 6180 3029 psError(PS_ERR_UNKNOWN, false, "failed to add item camera"); 6181 3030 psFree(md); 6182 return NULL;6183 } 6184 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "telescope", 0, NULL, object->telescope)) {3031 return false; 3032 } 3033 if (!psMetadataAdd(md, PS_LIST_TAIL, "telescope", PS_DATA_STRING, NULL, object->telescope)) { 6185 3034 psError(PS_ERR_UNKNOWN, false, "failed to add item telescope"); 6186 3035 psFree(md); 6187 return NULL;6188 } 6189 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "exp_type", 0, NULL, object->exp_type)) {3036 return false; 3037 } 3038 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_type", PS_DATA_STRING, NULL, object->exp_type)) { 6190 3039 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type"); 6191 3040 psFree(md); 6192 return NULL;6193 } 6194 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "imfiles", 0, NULL, object->imfiles)) {3041 return false; 3042 } 3043 if (!psMetadataAdd(md, PS_LIST_TAIL, "imfiles", PS_DATA_S32, NULL, object->imfiles)) { 6195 3044 psError(PS_ERR_UNKNOWN, false, "failed to add item imfiles"); 6196 3045 psFree(md); 6197 return NULL;6198 } 6199 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "filter", 0, NULL, object->filter)) {3046 return false; 3047 } 3048 if (!psMetadataAdd(md, PS_LIST_TAIL, "filter", PS_DATA_STRING, NULL, object->filter)) { 6200 3049 psError(PS_ERR_UNKNOWN, false, "failed to add item filter"); 6201 3050 psFree(md); 6202 return NULL;6203 } 6204 if (!psMetadataAdd F32(md, PS_LIST_TAIL, "airmass", 0, NULL, object->airmass)) {3051 return false; 3052 } 3053 if (!psMetadataAdd(md, PS_LIST_TAIL, "airmass", PS_DATA_F32, NULL, object->airmass)) { 6205 3054 psError(PS_ERR_UNKNOWN, false, "failed to add item airmass"); 6206 3055 psFree(md); 6207 return NULL;6208 } 6209 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "ra", 0, NULL, object->ra)) {3056 return false; 3057 } 3058 if (!psMetadataAdd(md, PS_LIST_TAIL, "ra", PS_DATA_F64, NULL, object->ra)) { 6210 3059 psError(PS_ERR_UNKNOWN, false, "failed to add item ra"); 6211 3060 psFree(md); 6212 return NULL;6213 } 6214 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "decl", 0, NULL, object->decl)) {3061 return false; 3062 } 3063 if (!psMetadataAdd(md, PS_LIST_TAIL, "decl", PS_DATA_F64, NULL, object->decl)) { 6215 3064 psError(PS_ERR_UNKNOWN, false, "failed to add item decl"); 6216 3065 psFree(md); 6217 return NULL;6218 } 6219 if (!psMetadataAdd F32(md, PS_LIST_TAIL, "exp_time", 0, NULL, object->exp_time)) {3066 return false; 3067 } 3068 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_time", PS_DATA_F32, NULL, object->exp_time)) { 6220 3069 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time"); 6221 3070 psFree(md); 6222 return NULL;6223 } 6224 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg", 0, NULL, object->bg)) {3071 return false; 3072 } 3073 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, object->bg)) { 6225 3074 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); 6226 3075 psFree(md); 6227 return NULL;6228 } 6229 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, object->bg_stdev)) {3076 return false; 3077 } 3078 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, object->bg_stdev)) { 6230 3079 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev"); 6231 3080 psFree(md); 6232 return NULL;6233 } 6234 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, object->bg_mean_stdev)) {3081 return false; 3082 } 3083 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, object->bg_mean_stdev)) { 6235 3084 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev"); 6236 3085 psFree(md); 6237 return NULL;6238 } 6239 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "alt", 0, NULL, object->alt)) {3086 return false; 3087 } 3088 if (!psMetadataAdd(md, PS_LIST_TAIL, "alt", PS_DATA_F64, NULL, object->alt)) { 6240 3089 psError(PS_ERR_UNKNOWN, false, "failed to add item alt"); 6241 3090 psFree(md); 6242 return NULL;6243 } 6244 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "az", 0, NULL, object->az)) {3091 return false; 3092 } 3093 if (!psMetadataAdd(md, PS_LIST_TAIL, "az", PS_DATA_F64, NULL, object->az)) { 6245 3094 psError(PS_ERR_UNKNOWN, false, "failed to add item az"); 6246 3095 psFree(md); 6247 return NULL;6248 } 6249 if (!psMetadataAdd F32(md, PS_LIST_TAIL, "ccd_temp", 0, NULL, object->ccd_temp)) {3096 return false; 3097 } 3098 if (!psMetadataAdd(md, PS_LIST_TAIL, "ccd_temp", PS_DATA_F32, NULL, object->ccd_temp)) { 6250 3099 psError(PS_ERR_UNKNOWN, false, "failed to add item ccd_temp"); 6251 3100 psFree(md); 6252 return NULL;6253 } 6254 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "posang", 0, NULL, object->posang)) {3101 return false; 3102 } 3103 if (!psMetadataAdd(md, PS_LIST_TAIL, "posang", PS_DATA_F64, NULL, object->posang)) { 6255 3104 psError(PS_ERR_UNKNOWN, false, "failed to add item posang"); 6256 3105 psFree(md); 6257 return NULL;6258 } 6259 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "object", 0, NULL, object->object)) {3106 return false; 3107 } 3108 if (!psMetadataAdd(md, PS_LIST_TAIL, "object", PS_DATA_STRING, NULL, object->object)) { 6260 3109 psError(PS_ERR_UNKNOWN, false, "failed to add item object"); 6261 3110 psFree(md); 6262 return NULL; 6263 } 3111 return false; 3112 } 3113 if (!psMetadataAdd(md, PS_LIST_TAIL, "dateobs", PS_DATA_TIME, NULL, object->dateobs)) { 3114 psError(PS_ERR_UNKNOWN, false, "failed to add item dateobs"); 3115 psFree(md); 3116 return false; 3117 } 3118 6264 3119 6265 3120 return md; … … 6268 3123 rawScienceExpRow *rawScienceExpObjectFromMetadata(psMetadata *md) 6269 3124 { 6270 bool status; 6271 char *exp_tag; 6272 char *camera; 6273 char *telescope; 6274 char *exp_type; 6275 psS32 imfiles; 6276 char *filter; 6277 psF32 airmass; 6278 psF64 ra; 6279 psF64 decl; 6280 psF32 exp_time; 6281 psF64 bg; 6282 psF64 bg_stdev; 6283 psF64 bg_mean_stdev; 6284 psF64 alt; 6285 psF64 az; 6286 psF32 ccd_temp; 6287 psF64 posang; 6288 char *object; 6289 6290 exp_tag = psMetadataLookupPtr(&status, md, "exp_tag"); 3125 3126 bool status = false; 3127 char* exp_tag = psMetadataLookupPtr(&status, md, "exp_tag"); 6291 3128 if (!status) { 6292 3129 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_tag"); 6293 3130 return false; 6294 3131 } 6295 c amera = psMetadataLookupPtr(&status, md, "camera");3132 char* camera = psMetadataLookupPtr(&status, md, "camera"); 6296 3133 if (!status) { 6297 3134 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item camera"); 6298 3135 return false; 6299 3136 } 6300 telescope = psMetadataLookupPtr(&status, md, "telescope");3137 char* telescope = psMetadataLookupPtr(&status, md, "telescope"); 6301 3138 if (!status) { 6302 3139 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item telescope"); 6303 3140 return false; 6304 3141 } 6305 exp_type = psMetadataLookupPtr(&status, md, "exp_type");3142 char* exp_type = psMetadataLookupPtr(&status, md, "exp_type"); 6306 3143 if (!status) { 6307 3144 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_type"); 6308 3145 return false; 6309 3146 } 6310 imfiles = psMetadataLookupS32(&status, md, "imfiles");3147 psS32 imfiles = psMetadataLookupS32(&status, md, "imfiles"); 6311 3148 if (!status) { 6312 3149 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item imfiles"); 6313 3150 return false; 6314 3151 } 6315 filter = psMetadataLookupPtr(&status, md, "filter");3152 char* filter = psMetadataLookupPtr(&status, md, "filter"); 6316 3153 if (!status) { 6317 3154 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item filter"); 6318 3155 return false; 6319 3156 } 6320 airmass = psMetadataLookupF32(&status, md, "airmass");3157 psF32 airmass = psMetadataLookupF32(&status, md, "airmass"); 6321 3158 if (!status) { 6322 3159 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item airmass"); 6323 3160 return false; 6324 3161 } 6325 ra = psMetadataLookupF64(&status, md, "ra");3162 psF64 ra = psMetadataLookupF64(&status, md, "ra"); 6326 3163 if (!status) { 6327 3164 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ra"); 6328 3165 return false; 6329 3166 } 6330 decl = psMetadataLookupF64(&status, md, "decl");3167 psF64 decl = psMetadataLookupF64(&status, md, "decl"); 6331 3168 if (!status) { 6332 3169 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item decl"); 6333 3170 return false; 6334 3171 } 6335 exp_time = psMetadataLookupF32(&status, md, "exp_time");3172 psF32 exp_time = psMetadataLookupF32(&status, md, "exp_time"); 6336 3173 if (!status) { 6337 3174 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_time"); 6338 3175 return false; 6339 3176 } 6340 bg = psMetadataLookupF64(&status, md, "bg");3177 psF64 bg = psMetadataLookupF64(&status, md, "bg"); 6341 3178 if (!status) { 6342 3179 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg"); 6343 3180 return false; 6344 3181 } 6345 bg_stdev = psMetadataLookupF64(&status, md, "bg_stdev");3182 psF64 bg_stdev = psMetadataLookupF64(&status, md, "bg_stdev"); 6346 3183 if (!status) { 6347 3184 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_stdev"); 6348 3185 return false; 6349 3186 } 6350 bg_mean_stdev = psMetadataLookupF64(&status, md, "bg_mean_stdev");3187 psF64 bg_mean_stdev = psMetadataLookupF64(&status, md, "bg_mean_stdev"); 6351 3188 if (!status) { 6352 3189 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_mean_stdev"); 6353 3190 return false; 6354 3191 } 6355 alt = psMetadataLookupF64(&status, md, "alt");3192 psF64 alt = psMetadataLookupF64(&status, md, "alt"); 6356 3193 if (!status) { 6357 3194 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item alt"); 6358 3195 return false; 6359 3196 } 6360 az = psMetadataLookupF64(&status, md, "az");3197 psF64 az = psMetadataLookupF64(&status, md, "az"); 6361 3198 if (!status) { 6362 3199 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item az"); 6363 3200 return false; 6364 3201 } 6365 ccd_temp = psMetadataLookupF32(&status, md, "ccd_temp");3202 psF32 ccd_temp = psMetadataLookupF32(&status, md, "ccd_temp"); 6366 3203 if (!status) { 6367 3204 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ccd_temp"); 6368 3205 return false; 6369 3206 } 6370 p osang = psMetadataLookupF64(&status, md, "posang");3207 psF64 posang = psMetadataLookupF64(&status, md, "posang"); 6371 3208 if (!status) { 6372 3209 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item posang"); 6373 3210 return false; 6374 3211 } 6375 object = psMetadataLookupPtr(&status, md, "object");3212 char* object = psMetadataLookupPtr(&status, md, "object"); 6376 3213 if (!status) { 6377 3214 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item object"); 6378 3215 return false; 6379 3216 } 6380 6381 return rawScienceExpRowAlloc(exp_tag, camera, telescope, exp_type, imfiles, filter, airmass, ra, decl, exp_time, bg, bg_stdev, bg_mean_stdev, alt, az, ccd_temp, posang, object); 3217 psTime* dateobs = psMetadataLookupPtr(&status, md, "dateobs"); 3218 if (!status) { 3219 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item dateobs"); 3220 return false; 3221 } 3222 3223 return rawScienceExpRowAlloc(exp_tag, camera, telescope, exp_type, imfiles, filter, airmass, ra, decl, exp_time, bg, bg_stdev, bg_mean_stdev, alt, az, ccd_temp, posang, object, dateobs); 6382 3224 } 6383 3225 psArray *rawScienceExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) … … 6477 3319 static void rawImfileRowFree(rawImfileRow *object); 6478 3320 6479 rawImfileRow *rawImfileRowAlloc(const char *exp_tag, const char *class, const char *class_id, const char *uri, const char *exp_type, const char *filter, psF32 airmass, psF64 ra, psF64 decl, psF32 exp_time, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 alt, psF64 az, psF32 ccd_temp, psF64 posang, const char *object )3321 rawImfileRow *rawImfileRowAlloc(const char *exp_tag, const char *class, const char *class_id, const char *uri, const char *exp_type, const char *filter, psF32 airmass, psF64 ra, psF64 decl, psF32 exp_time, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 alt, psF64 az, psF32 ccd_temp, psF64 posang, const char *object, psTime* dateobs) 6480 3322 { 6481 3323 rawImfileRow *_object; … … 6502 3344 _object->posang = posang; 6503 3345 _object->object = psStringCopy(object); 3346 _object->dateobs = psTimeCopy(dateobs); 6504 3347 6505 3348 return _object; … … 6515 3358 psFree(object->filter); 6516 3359 psFree(object->object); 3360 psFree(object->dateobs); 6517 3361 } 6518 3362 6519 3363 bool rawImfileCreateTable(psDB *dbh) 6520 3364 { 6521 psMetadata *md; 6522 bool status; 6523 6524 md = psMetadataAlloc(); 6525 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_tag", 0, "Primary Key", "64")) { 3365 psMetadata *md = psMetadataAlloc(); 3366 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, "Primary Key", "64")) { 6526 3367 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag"); 6527 3368 psFree(md); 6528 3369 return false; 6529 3370 } 6530 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "class", 0, NULL, "64")) {3371 if (!psMetadataAdd(md, PS_LIST_TAIL, "class", PS_DATA_STRING, NULL, "64")) { 6531 3372 psError(PS_ERR_UNKNOWN, false, "failed to add item class"); 6532 3373 psFree(md); 6533 3374 return false; 6534 3375 } 6535 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "class_id", 0, "Primary Key", "64")) {3376 if (!psMetadataAdd(md, PS_LIST_TAIL, "class_id", PS_DATA_STRING, "Primary Key", "64")) { 6536 3377 psError(PS_ERR_UNKNOWN, false, "failed to add item class_id"); 6537 3378 psFree(md); 6538 3379 return false; 6539 3380 } 6540 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "uri", 0, NULL, "255")) {3381 if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, "255")) { 6541 3382 psError(PS_ERR_UNKNOWN, false, "failed to add item uri"); 6542 3383 psFree(md); 6543 3384 return false; 6544 3385 } 6545 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "exp_type", 0, NULL, "64")) {3386 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_type", PS_DATA_STRING, NULL, "64")) { 6546 3387 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type"); 6547 3388 psFree(md); 6548 3389 return false; 6549 3390 } 6550 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "filter", 0, NULL, "255")) {3391 if (!psMetadataAdd(md, PS_LIST_TAIL, "filter", PS_DATA_STRING, NULL, "255")) { 6551 3392 psError(PS_ERR_UNKNOWN, false, "failed to add item filter"); 6552 3393 psFree(md); 6553 3394 return false; 6554 3395 } 6555 if (!psMetadataAdd F32(md, PS_LIST_TAIL, "airmass", 0, NULL, 0.0)) {3396 if (!psMetadataAdd(md, PS_LIST_TAIL, "airmass", PS_DATA_F32, NULL, 0.0)) { 6556 3397 psError(PS_ERR_UNKNOWN, false, "failed to add item airmass"); 6557 3398 psFree(md); 6558 3399 return false; 6559 3400 } 6560 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "ra", 0, NULL, 0.0)) {3401 if (!psMetadataAdd(md, PS_LIST_TAIL, "ra", PS_DATA_F64, NULL, 0.0)) { 6561 3402 psError(PS_ERR_UNKNOWN, false, "failed to add item ra"); 6562 3403 psFree(md); 6563 3404 return false; 6564 3405 } 6565 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "decl", 0, NULL, 0.0)) {3406 if (!psMetadataAdd(md, PS_LIST_TAIL, "decl", PS_DATA_F64, NULL, 0.0)) { 6566 3407 psError(PS_ERR_UNKNOWN, false, "failed to add item decl"); 6567 3408 psFree(md); 6568 3409 return false; 6569 3410 } 6570 if (!psMetadataAdd F32(md, PS_LIST_TAIL, "exp_time", 0, NULL, 0.0)) {3411 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_time", PS_DATA_F32, NULL, 0.0)) { 6571 3412 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time"); 6572 3413 psFree(md); 6573 3414 return false; 6574 3415 } 6575 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg", 0, NULL, 0.0)) {3416 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, 0.0)) { 6576 3417 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); 6577 3418 psFree(md); 6578 3419 return false; 6579 3420 } 6580 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, 0.0)) {3421 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, 0.0)) { 6581 3422 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev"); 6582 3423 psFree(md); 6583 3424 return false; 6584 3425 } 6585 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, 0.0)) {3426 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, 0.0)) { 6586 3427 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev"); 6587 3428 psFree(md); 6588 3429 return false; 6589 3430 } 6590 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "alt", 0, NULL, 0.0)) {3431 if (!psMetadataAdd(md, PS_LIST_TAIL, "alt", PS_DATA_F64, NULL, 0.0)) { 6591 3432 psError(PS_ERR_UNKNOWN, false, "failed to add item alt"); 6592 3433 psFree(md); 6593 3434 return false; 6594 3435 } 6595 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "az", 0, NULL, 0.0)) {3436 if (!psMetadataAdd(md, PS_LIST_TAIL, "az", PS_DATA_F64, NULL, 0.0)) { 6596 3437 psError(PS_ERR_UNKNOWN, false, "failed to add item az"); 6597 3438 psFree(md); 6598 3439 return false; 6599 3440 } 6600 if (!psMetadataAdd F32(md, PS_LIST_TAIL, "ccd_temp", 0, NULL, 0.0)) {3441 if (!psMetadataAdd(md, PS_LIST_TAIL, "ccd_temp", PS_DATA_F32, NULL, 0.0)) { 6601 3442 psError(PS_ERR_UNKNOWN, false, "failed to add item ccd_temp"); 6602 3443 psFree(md); 6603 3444 return false; 6604 3445 } 6605 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "posang", 0, NULL, 0.0)) {3446 if (!psMetadataAdd(md, PS_LIST_TAIL, "posang", PS_DATA_F64, NULL, 0.0)) { 6606 3447 psError(PS_ERR_UNKNOWN, false, "failed to add item posang"); 6607 3448 psFree(md); 6608 3449 return false; 6609 3450 } 6610 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "object", 0, NULL, "64")) {3451 if (!psMetadataAdd(md, PS_LIST_TAIL, "object", PS_DATA_STRING, NULL, "64")) { 6611 3452 psError(PS_ERR_UNKNOWN, false, "failed to add item object"); 6612 3453 psFree(md); 6613 3454 return false; 6614 3455 } 6615 6616 status = psDBCreateTable(dbh, RAWIMFILE_TABLE_NAME, md); 3456 psTime* dateobs = psTimeFromISO("0001-01-01T00:00:00", PS_TIME_UTC); 3457 if (!psMetadataAdd(md, PS_LIST_TAIL, "dateobs", PS_DATA_TIME, NULL, dateobs)) { 3458 psFree(dateobs); 3459 psError(PS_ERR_UNKNOWN, false, "failed to add item dateobs"); 3460 psFree(md); 3461 return false; 3462 } 3463 psFree(dateobs); 3464 3465 bool status = psDBCreateTable(dbh, RAWIMFILE_TABLE_NAME, md); 6617 3466 6618 3467 psFree(md); … … 6626 3475 } 6627 3476 6628 bool rawImfileInsert(psDB * dbh, const char *exp_tag, const char *class, const char *class_id, const char *uri, const char *exp_type, const char *filter, psF32 airmass, psF64 ra, psF64 decl, psF32 exp_time, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 alt, psF64 az, psF32 ccd_temp, psF64 posang, const char *object) 6629 { 6630 psMetadata *md; 6631 bool status; 6632 6633 md = psMetadataAlloc(); 6634 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_tag", 0, NULL, exp_tag)) { 3477 bool rawImfileInsert(psDB * dbh, const char *exp_tag, const char *class, const char *class_id, const char *uri, const char *exp_type, const char *filter, psF32 airmass, psF64 ra, psF64 decl, psF32 exp_time, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 alt, psF64 az, psF32 ccd_temp, psF64 posang, const char *object, psTime* dateobs) 3478 { 3479 psMetadata *md = psMetadataAlloc(); 3480 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, NULL, exp_tag)) { 6635 3481 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag"); 6636 3482 psFree(md); 6637 3483 return false; 6638 3484 } 6639 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "class", 0, NULL, class)) {3485 if (!psMetadataAdd(md, PS_LIST_TAIL, "class", PS_DATA_STRING, NULL, class)) { 6640 3486 psError(PS_ERR_UNKNOWN, false, "failed to add item class"); 6641 3487 psFree(md); 6642 3488 return false; 6643 3489 } 6644 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "class_id", 0, NULL, class_id)) {3490 if (!psMetadataAdd(md, PS_LIST_TAIL, "class_id", PS_DATA_STRING, NULL, class_id)) { 6645 3491 psError(PS_ERR_UNKNOWN, false, "failed to add item class_id"); 6646 3492 psFree(md); 6647 3493 return false; 6648 3494 } 6649 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "uri", 0, NULL, uri)) {3495 if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, uri)) { 6650 3496 psError(PS_ERR_UNKNOWN, false, "failed to add item uri"); 6651 3497 psFree(md); 6652 3498 return false; 6653 3499 } 6654 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "exp_type", 0, NULL, exp_type)) {3500 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_type", PS_DATA_STRING, NULL, exp_type)) { 6655 3501 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type"); 6656 3502 psFree(md); 6657 3503 return false; 6658 3504 } 6659 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "filter", 0, NULL, filter)) {3505 if (!psMetadataAdd(md, PS_LIST_TAIL, "filter", PS_DATA_STRING, NULL, filter)) { 6660 3506 psError(PS_ERR_UNKNOWN, false, "failed to add item filter"); 6661 3507 psFree(md); 6662 3508 return false; 6663 3509 } 6664 if (!psMetadataAdd F32(md, PS_LIST_TAIL, "airmass", 0, NULL, airmass)) {3510 if (!psMetadataAdd(md, PS_LIST_TAIL, "airmass", PS_DATA_F32, NULL, airmass)) { 6665 3511 psError(PS_ERR_UNKNOWN, false, "failed to add item airmass"); 6666 3512 psFree(md); 6667 3513 return false; 6668 3514 } 6669 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "ra", 0, NULL, ra)) {3515 if (!psMetadataAdd(md, PS_LIST_TAIL, "ra", PS_DATA_F64, NULL, ra)) { 6670 3516 psError(PS_ERR_UNKNOWN, false, "failed to add item ra"); 6671 3517 psFree(md); 6672 3518 return false; 6673 3519 } 6674 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "decl", 0, NULL, decl)) {3520 if (!psMetadataAdd(md, PS_LIST_TAIL, "decl", PS_DATA_F64, NULL, decl)) { 6675 3521 psError(PS_ERR_UNKNOWN, false, "failed to add item decl"); 6676 3522 psFree(md); 6677 3523 return false; 6678 3524 } 6679 if (!psMetadataAdd F32(md, PS_LIST_TAIL, "exp_time", 0, NULL, exp_time)) {3525 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_time", PS_DATA_F32, NULL, exp_time)) { 6680 3526 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time"); 6681 3527 psFree(md); 6682 3528 return false; 6683 3529 } 6684 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg", 0, NULL, bg)) {3530 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, bg)) { 6685 3531 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); 6686 3532 psFree(md); 6687 3533 return false; 6688 3534 } 6689 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, bg_stdev)) {3535 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, bg_stdev)) { 6690 3536 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev"); 6691 3537 psFree(md); 6692 3538 return false; 6693 3539 } 6694 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, bg_mean_stdev)) {3540 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, bg_mean_stdev)) { 6695 3541 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev"); 6696 3542 psFree(md); 6697 3543 return false; 6698 3544 } 6699 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "alt", 0, NULL, alt)) {3545 if (!psMetadataAdd(md, PS_LIST_TAIL, "alt", PS_DATA_F64, NULL, alt)) { 6700 3546 psError(PS_ERR_UNKNOWN, false, "failed to add item alt"); 6701 3547 psFree(md); 6702 3548 return false; 6703 3549 } 6704 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "az", 0, NULL, az)) {3550 if (!psMetadataAdd(md, PS_LIST_TAIL, "az", PS_DATA_F64, NULL, az)) { 6705 3551 psError(PS_ERR_UNKNOWN, false, "failed to add item az"); 6706 3552 psFree(md); 6707 3553 return false; 6708 3554 } 6709 if (!psMetadataAdd F32(md, PS_LIST_TAIL, "ccd_temp", 0, NULL, ccd_temp)) {3555 if (!psMetadataAdd(md, PS_LIST_TAIL, "ccd_temp", PS_DATA_F32, NULL, ccd_temp)) { 6710 3556 psError(PS_ERR_UNKNOWN, false, "failed to add item ccd_temp"); 6711 3557 psFree(md); 6712 3558 return false; 6713 3559 } 6714 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "posang", 0, NULL, posang)) {3560 if (!psMetadataAdd(md, PS_LIST_TAIL, "posang", PS_DATA_F64, NULL, posang)) { 6715 3561 psError(PS_ERR_UNKNOWN, false, "failed to add item posang"); 6716 3562 psFree(md); 6717 3563 return false; 6718 3564 } 6719 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "object", 0, NULL, object)) {3565 if (!psMetadataAdd(md, PS_LIST_TAIL, "object", PS_DATA_STRING, NULL, object)) { 6720 3566 psError(PS_ERR_UNKNOWN, false, "failed to add item object"); 6721 3567 psFree(md); 6722 3568 return false; 6723 3569 } 6724 6725 status = psDBInsertOneRow(dbh, RAWIMFILE_TABLE_NAME, md); 3570 if (!psMetadataAdd(md, PS_LIST_TAIL, "dateobs", PS_DATA_TIME, NULL, dateobs)) { 3571 psError(PS_ERR_UNKNOWN, false, "failed to add item dateobs"); 3572 psFree(md); 3573 return false; 3574 } 3575 3576 bool status = psDBInsertOneRow(dbh, RAWIMFILE_TABLE_NAME, md); 6726 3577 psFree(md); 6727 3578 … … 6745 3596 bool rawImfileInsertObject(psDB *dbh, rawImfileRow *object) 6746 3597 { 6747 return rawImfileInsert(dbh, object->exp_tag, object->class, object->class_id, object->uri, object->exp_type, object->filter, object->airmass, object->ra, object->decl, object->exp_time, object->bg, object->bg_stdev, object->bg_mean_stdev, object->alt, object->az, object->ccd_temp, object->posang, object->object );3598 return rawImfileInsert(dbh, object->exp_tag, object->class, object->class_id, object->uri, object->exp_type, object->filter, object->airmass, object->ra, object->decl, object->exp_time, object->bg, object->bg_stdev, object->bg_mean_stdev, object->alt, object->az, object->ccd_temp, object->posang, object->object, object->dateobs); 6748 3599 } 6749 3600 … … 6817 3668 psMetadata *rawImfileMetadataFromObject(const rawImfileRow *object) 6818 3669 { 6819 psMetadata *md; 6820 6821 md = psMetadataAlloc(); 6822 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_tag", 0, NULL, object->exp_tag)) { 3670 psMetadata *md = psMetadataAlloc(); 3671 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, NULL, object->exp_tag)) { 6823 3672 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag"); 6824 3673 psFree(md); 6825 return NULL;6826 } 6827 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "class", 0, NULL, object->class)) {3674 return false; 3675 } 3676 if (!psMetadataAdd(md, PS_LIST_TAIL, "class", PS_DATA_STRING, NULL, object->class)) { 6828 3677 psError(PS_ERR_UNKNOWN, false, "failed to add item class"); 6829 3678 psFree(md); 6830 return NULL;6831 } 6832 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "class_id", 0, NULL, object->class_id)) {3679 return false; 3680 } 3681 if (!psMetadataAdd(md, PS_LIST_TAIL, "class_id", PS_DATA_STRING, NULL, object->class_id)) { 6833 3682 psError(PS_ERR_UNKNOWN, false, "failed to add item class_id"); 6834 3683 psFree(md); 6835 return NULL;6836 } 6837 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "uri", 0, NULL, object->uri)) {3684 return false; 3685 } 3686 if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, object->uri)) { 6838 3687 psError(PS_ERR_UNKNOWN, false, "failed to add item uri"); 6839 3688 psFree(md); 6840 return NULL;6841 } 6842 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "exp_type", 0, NULL, object->exp_type)) {3689 return false; 3690 } 3691 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_type", PS_DATA_STRING, NULL, object->exp_type)) { 6843 3692 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type"); 6844 3693 psFree(md); 6845 return NULL;6846 } 6847 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "filter", 0, NULL, object->filter)) {3694 return false; 3695 } 3696 if (!psMetadataAdd(md, PS_LIST_TAIL, "filter", PS_DATA_STRING, NULL, object->filter)) { 6848 3697 psError(PS_ERR_UNKNOWN, false, "failed to add item filter"); 6849 3698 psFree(md); 6850 return NULL;6851 } 6852 if (!psMetadataAdd F32(md, PS_LIST_TAIL, "airmass", 0, NULL, object->airmass)) {3699 return false; 3700 } 3701 if (!psMetadataAdd(md, PS_LIST_TAIL, "airmass", PS_DATA_F32, NULL, object->airmass)) { 6853 3702 psError(PS_ERR_UNKNOWN, false, "failed to add item airmass"); 6854 3703 psFree(md); 6855 return NULL;6856 } 6857 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "ra", 0, NULL, object->ra)) {3704 return false; 3705 } 3706 if (!psMetadataAdd(md, PS_LIST_TAIL, "ra", PS_DATA_F64, NULL, object->ra)) { 6858 3707 psError(PS_ERR_UNKNOWN, false, "failed to add item ra"); 6859 3708 psFree(md); 6860 return NULL;6861 } 6862 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "decl", 0, NULL, object->decl)) {3709 return false; 3710 } 3711 if (!psMetadataAdd(md, PS_LIST_TAIL, "decl", PS_DATA_F64, NULL, object->decl)) { 6863 3712 psError(PS_ERR_UNKNOWN, false, "failed to add item decl"); 6864 3713 psFree(md); 6865 return NULL;6866 } 6867 if (!psMetadataAdd F32(md, PS_LIST_TAIL, "exp_time", 0, NULL, object->exp_time)) {3714 return false; 3715 } 3716 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_time", PS_DATA_F32, NULL, object->exp_time)) { 6868 3717 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_time"); 6869 3718 psFree(md); 6870 return NULL;6871 } 6872 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg", 0, NULL, object->bg)) {3719 return false; 3720 } 3721 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, object->bg)) { 6873 3722 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); 6874 3723 psFree(md); 6875 return NULL;6876 } 6877 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, object->bg_stdev)) {3724 return false; 3725 } 3726 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, object->bg_stdev)) { 6878 3727 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev"); 6879 3728 psFree(md); 6880 return NULL;6881 } 6882 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, object->bg_mean_stdev)) {3729 return false; 3730 } 3731 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, object->bg_mean_stdev)) { 6883 3732 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev"); 6884 3733 psFree(md); 6885 return NULL;6886 } 6887 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "alt", 0, NULL, object->alt)) {3734 return false; 3735 } 3736 if (!psMetadataAdd(md, PS_LIST_TAIL, "alt", PS_DATA_F64, NULL, object->alt)) { 6888 3737 psError(PS_ERR_UNKNOWN, false, "failed to add item alt"); 6889 3738 psFree(md); 6890 return NULL;6891 } 6892 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "az", 0, NULL, object->az)) {3739 return false; 3740 } 3741 if (!psMetadataAdd(md, PS_LIST_TAIL, "az", PS_DATA_F64, NULL, object->az)) { 6893 3742 psError(PS_ERR_UNKNOWN, false, "failed to add item az"); 6894 3743 psFree(md); 6895 return NULL;6896 } 6897 if (!psMetadataAdd F32(md, PS_LIST_TAIL, "ccd_temp", 0, NULL, object->ccd_temp)) {3744 return false; 3745 } 3746 if (!psMetadataAdd(md, PS_LIST_TAIL, "ccd_temp", PS_DATA_F32, NULL, object->ccd_temp)) { 6898 3747 psError(PS_ERR_UNKNOWN, false, "failed to add item ccd_temp"); 6899 3748 psFree(md); 6900 return NULL;6901 } 6902 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "posang", 0, NULL, object->posang)) {3749 return false; 3750 } 3751 if (!psMetadataAdd(md, PS_LIST_TAIL, "posang", PS_DATA_F64, NULL, object->posang)) { 6903 3752 psError(PS_ERR_UNKNOWN, false, "failed to add item posang"); 6904 3753 psFree(md); 6905 return NULL;6906 } 6907 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "object", 0, NULL, object->object)) {3754 return false; 3755 } 3756 if (!psMetadataAdd(md, PS_LIST_TAIL, "object", PS_DATA_STRING, NULL, object->object)) { 6908 3757 psError(PS_ERR_UNKNOWN, false, "failed to add item object"); 6909 3758 psFree(md); 6910 return NULL; 6911 } 3759 return false; 3760 } 3761 if (!psMetadataAdd(md, PS_LIST_TAIL, "dateobs", PS_DATA_TIME, NULL, object->dateobs)) { 3762 psError(PS_ERR_UNKNOWN, false, "failed to add item dateobs"); 3763 psFree(md); 3764 return false; 3765 } 3766 6912 3767 6913 3768 return md; … … 6916 3771 rawImfileRow *rawImfileObjectFromMetadata(psMetadata *md) 6917 3772 { 6918 bool status; 6919 char *exp_tag; 6920 char *class; 6921 char *class_id; 6922 char *uri; 6923 char *exp_type; 6924 char *filter; 6925 psF32 airmass; 6926 psF64 ra; 6927 psF64 decl; 6928 psF32 exp_time; 6929 psF64 bg; 6930 psF64 bg_stdev; 6931 psF64 bg_mean_stdev; 6932 psF64 alt; 6933 psF64 az; 6934 psF32 ccd_temp; 6935 psF64 posang; 6936 char *object; 6937 6938 exp_tag = psMetadataLookupPtr(&status, md, "exp_tag"); 3773 3774 bool status = false; 3775 char* exp_tag = psMetadataLookupPtr(&status, md, "exp_tag"); 6939 3776 if (!status) { 6940 3777 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_tag"); 6941 3778 return false; 6942 3779 } 6943 c lass = psMetadataLookupPtr(&status, md, "class");3780 char* class = psMetadataLookupPtr(&status, md, "class"); 6944 3781 if (!status) { 6945 3782 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item class"); 6946 3783 return false; 6947 3784 } 6948 c lass_id = psMetadataLookupPtr(&status, md, "class_id");3785 char* class_id = psMetadataLookupPtr(&status, md, "class_id"); 6949 3786 if (!status) { 6950 3787 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item class_id"); 6951 3788 return false; 6952 3789 } 6953 uri = psMetadataLookupPtr(&status, md, "uri");3790 char* uri = psMetadataLookupPtr(&status, md, "uri"); 6954 3791 if (!status) { 6955 3792 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item uri"); 6956 3793 return false; 6957 3794 } 6958 exp_type = psMetadataLookupPtr(&status, md, "exp_type");3795 char* exp_type = psMetadataLookupPtr(&status, md, "exp_type"); 6959 3796 if (!status) { 6960 3797 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_type"); 6961 3798 return false; 6962 3799 } 6963 filter = psMetadataLookupPtr(&status, md, "filter");3800 char* filter = psMetadataLookupPtr(&status, md, "filter"); 6964 3801 if (!status) { 6965 3802 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item filter"); 6966 3803 return false; 6967 3804 } 6968 airmass = psMetadataLookupF32(&status, md, "airmass");3805 psF32 airmass = psMetadataLookupF32(&status, md, "airmass"); 6969 3806 if (!status) { 6970 3807 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item airmass"); 6971 3808 return false; 6972 3809 } 6973 ra = psMetadataLookupF64(&status, md, "ra");3810 psF64 ra = psMetadataLookupF64(&status, md, "ra"); 6974 3811 if (!status) { 6975 3812 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ra"); 6976 3813 return false; 6977 3814 } 6978 decl = psMetadataLookupF64(&status, md, "decl");3815 psF64 decl = psMetadataLookupF64(&status, md, "decl"); 6979 3816 if (!status) { 6980 3817 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item decl"); 6981 3818 return false; 6982 3819 } 6983 exp_time = psMetadataLookupF32(&status, md, "exp_time");3820 psF32 exp_time = psMetadataLookupF32(&status, md, "exp_time"); 6984 3821 if (!status) { 6985 3822 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_time"); 6986 3823 return false; 6987 3824 } 6988 bg = psMetadataLookupF64(&status, md, "bg");3825 psF64 bg = psMetadataLookupF64(&status, md, "bg"); 6989 3826 if (!status) { 6990 3827 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg"); 6991 3828 return false; 6992 3829 } 6993 bg_stdev = psMetadataLookupF64(&status, md, "bg_stdev");3830 psF64 bg_stdev = psMetadataLookupF64(&status, md, "bg_stdev"); 6994 3831 if (!status) { 6995 3832 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_stdev"); 6996 3833 return false; 6997 3834 } 6998 bg_mean_stdev = psMetadataLookupF64(&status, md, "bg_mean_stdev");3835 psF64 bg_mean_stdev = psMetadataLookupF64(&status, md, "bg_mean_stdev"); 6999 3836 if (!status) { 7000 3837 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_mean_stdev"); 7001 3838 return false; 7002 3839 } 7003 alt = psMetadataLookupF64(&status, md, "alt");3840 psF64 alt = psMetadataLookupF64(&status, md, "alt"); 7004 3841 if (!status) { 7005 3842 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item alt"); 7006 3843 return false; 7007 3844 } 7008 az = psMetadataLookupF64(&status, md, "az");3845 psF64 az = psMetadataLookupF64(&status, md, "az"); 7009 3846 if (!status) { 7010 3847 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item az"); 7011 3848 return false; 7012 3849 } 7013 ccd_temp = psMetadataLookupF32(&status, md, "ccd_temp");3850 psF32 ccd_temp = psMetadataLookupF32(&status, md, "ccd_temp"); 7014 3851 if (!status) { 7015 3852 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ccd_temp"); 7016 3853 return false; 7017 3854 } 7018 p osang = psMetadataLookupF64(&status, md, "posang");3855 psF64 posang = psMetadataLookupF64(&status, md, "posang"); 7019 3856 if (!status) { 7020 3857 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item posang"); 7021 3858 return false; 7022 3859 } 7023 object = psMetadataLookupPtr(&status, md, "object");3860 char* object = psMetadataLookupPtr(&status, md, "object"); 7024 3861 if (!status) { 7025 3862 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item object"); 7026 3863 return false; 7027 3864 } 7028 7029 return rawImfileRowAlloc(exp_tag, class, class_id, uri, exp_type, filter, airmass, ra, decl, exp_time, bg, bg_stdev, bg_mean_stdev, alt, az, ccd_temp, posang, object); 3865 psTime* dateobs = psMetadataLookupPtr(&status, md, "dateobs"); 3866 if (!status) { 3867 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item dateobs"); 3868 return false; 3869 } 3870 3871 return rawImfileRowAlloc(exp_tag, class, class_id, uri, exp_type, filter, airmass, ra, decl, exp_time, bg, bg_stdev, bg_mean_stdev, alt, az, ccd_temp, posang, object, dateobs); 7030 3872 } 7031 3873 psArray *rawImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) … … 7147 3989 bool p1PendingExpCreateTable(psDB *dbh) 7148 3990 { 7149 psMetadata *md; 7150 bool status; 7151 7152 md = psMetadataAlloc(); 7153 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_tag", 0, "Primary Key", "64")) { 3991 psMetadata *md = psMetadataAlloc(); 3992 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, "Primary Key", "64")) { 7154 3993 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag"); 7155 3994 psFree(md); 7156 3995 return false; 7157 3996 } 7158 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "recipe", 0, NULL, "64")) {3997 if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, "64")) { 7159 3998 psError(PS_ERR_UNKNOWN, false, "failed to add item recipe"); 7160 3999 psFree(md); 7161 4000 return false; 7162 4001 } 7163 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "p1_version", 0, NULL, 0)) {4002 if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, 0)) { 7164 4003 psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version"); 7165 4004 psFree(md); … … 7167 4006 } 7168 4007 7169 status = psDBCreateTable(dbh, P1PENDINGEXP_TABLE_NAME, md);4008 bool status = psDBCreateTable(dbh, P1PENDINGEXP_TABLE_NAME, md); 7170 4009 7171 4010 psFree(md); … … 7181 4020 bool p1PendingExpInsert(psDB * dbh, const char *exp_tag, const char *recipe, psS32 p1_version) 7182 4021 { 7183 psMetadata *md; 7184 bool status; 7185 7186 md = psMetadataAlloc(); 7187 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_tag", 0, NULL, exp_tag)) { 4022 psMetadata *md = psMetadataAlloc(); 4023 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, NULL, exp_tag)) { 7188 4024 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag"); 7189 4025 psFree(md); 7190 4026 return false; 7191 4027 } 7192 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "recipe", 0, NULL, recipe)) {4028 if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, recipe)) { 7193 4029 psError(PS_ERR_UNKNOWN, false, "failed to add item recipe"); 7194 4030 psFree(md); 7195 4031 return false; 7196 4032 } 7197 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "p1_version", 0, NULL, p1_version)) {4033 if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, p1_version)) { 7198 4034 psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version"); 7199 4035 psFree(md); … … 7201 4037 } 7202 4038 7203 status = psDBInsertOneRow(dbh, P1PENDINGEXP_TABLE_NAME, md);4039 bool status = psDBInsertOneRow(dbh, P1PENDINGEXP_TABLE_NAME, md); 7204 4040 psFree(md); 7205 4041 … … 7295 4131 psMetadata *p1PendingExpMetadataFromObject(const p1PendingExpRow *object) 7296 4132 { 7297 psMetadata *md; 7298 7299 md = psMetadataAlloc(); 7300 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_tag", 0, NULL, object->exp_tag)) { 4133 psMetadata *md = psMetadataAlloc(); 4134 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, NULL, object->exp_tag)) { 7301 4135 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag"); 7302 4136 psFree(md); 7303 return NULL;7304 } 7305 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "recipe", 0, NULL, object->recipe)) {4137 return false; 4138 } 4139 if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, object->recipe)) { 7306 4140 psError(PS_ERR_UNKNOWN, false, "failed to add item recipe"); 7307 4141 psFree(md); 7308 return NULL;7309 } 7310 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "p1_version", 0, NULL, object->p1_version)) {4142 return false; 4143 } 4144 if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, object->p1_version)) { 7311 4145 psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version"); 7312 4146 psFree(md); 7313 return NULL; 7314 } 4147 return false; 4148 } 4149 7315 4150 7316 4151 return md; … … 7319 4154 p1PendingExpRow *p1PendingExpObjectFromMetadata(psMetadata *md) 7320 4155 { 7321 bool status; 7322 char *exp_tag; 7323 char *recipe; 7324 psS32 p1_version; 7325 7326 exp_tag = psMetadataLookupPtr(&status, md, "exp_tag"); 4156 4157 bool status = false; 4158 char* exp_tag = psMetadataLookupPtr(&status, md, "exp_tag"); 7327 4159 if (!status) { 7328 4160 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_tag"); 7329 4161 return false; 7330 4162 } 7331 recipe = psMetadataLookupPtr(&status, md, "recipe");4163 char* recipe = psMetadataLookupPtr(&status, md, "recipe"); 7332 4164 if (!status) { 7333 4165 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item recipe"); 7334 4166 return false; 7335 4167 } 7336 p 1_version = psMetadataLookupS32(&status, md, "p1_version");4168 psS32 p1_version = psMetadataLookupS32(&status, md, "p1_version"); 7337 4169 if (!status) { 7338 4170 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p1_version"); … … 7461 4293 bool p2PendingExpCreateTable(psDB *dbh) 7462 4294 { 7463 psMetadata *md; 7464 bool status; 7465 7466 md = psMetadataAlloc(); 7467 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_tag", 0, "Primary Key", "64")) { 4295 psMetadata *md = psMetadataAlloc(); 4296 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, "Primary Key", "64")) { 7468 4297 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag"); 7469 4298 psFree(md); 7470 4299 return false; 7471 4300 } 7472 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "recipe", 0, NULL, "64")) {4301 if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, "64")) { 7473 4302 psError(PS_ERR_UNKNOWN, false, "failed to add item recipe"); 7474 4303 psFree(md); 7475 4304 return false; 7476 4305 } 7477 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "p1_version", 0, NULL, 0)) {4306 if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, 0)) { 7478 4307 psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version"); 7479 4308 psFree(md); 7480 4309 return false; 7481 4310 } 7482 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "p2_version", 0, NULL, 0)) {4311 if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, 0)) { 7483 4312 psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version"); 7484 4313 psFree(md); … … 7486 4315 } 7487 4316 7488 status = psDBCreateTable(dbh, P2PENDINGEXP_TABLE_NAME, md);4317 bool status = psDBCreateTable(dbh, P2PENDINGEXP_TABLE_NAME, md); 7489 4318 7490 4319 psFree(md); … … 7500 4329 bool p2PendingExpInsert(psDB * dbh, const char *exp_tag, const char *recipe, psS32 p1_version, psS32 p2_version) 7501 4330 { 7502 psMetadata *md; 7503 bool status; 7504 7505 md = psMetadataAlloc(); 7506 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_tag", 0, NULL, exp_tag)) { 4331 psMetadata *md = psMetadataAlloc(); 4332 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, NULL, exp_tag)) { 7507 4333 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag"); 7508 4334 psFree(md); 7509 4335 return false; 7510 4336 } 7511 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "recipe", 0, NULL, recipe)) {4337 if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, recipe)) { 7512 4338 psError(PS_ERR_UNKNOWN, false, "failed to add item recipe"); 7513 4339 psFree(md); 7514 4340 return false; 7515 4341 } 7516 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "p1_version", 0, NULL, p1_version)) {4342 if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, p1_version)) { 7517 4343 psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version"); 7518 4344 psFree(md); 7519 4345 return false; 7520 4346 } 7521 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "p2_version", 0, NULL, p2_version)) {4347 if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, p2_version)) { 7522 4348 psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version"); 7523 4349 psFree(md); … … 7525 4351 } 7526 4352 7527 status = psDBInsertOneRow(dbh, P2PENDINGEXP_TABLE_NAME, md);4353 bool status = psDBInsertOneRow(dbh, P2PENDINGEXP_TABLE_NAME, md); 7528 4354 psFree(md); 7529 4355 … … 7619 4445 psMetadata *p2PendingExpMetadataFromObject(const p2PendingExpRow *object) 7620 4446 { 7621 psMetadata *md; 7622 7623 md = psMetadataAlloc(); 7624 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_tag", 0, NULL, object->exp_tag)) { 4447 psMetadata *md = psMetadataAlloc(); 4448 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, NULL, object->exp_tag)) { 7625 4449 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag"); 7626 4450 psFree(md); 7627 return NULL;7628 } 7629 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "recipe", 0, NULL, object->recipe)) {4451 return false; 4452 } 4453 if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, object->recipe)) { 7630 4454 psError(PS_ERR_UNKNOWN, false, "failed to add item recipe"); 7631 4455 psFree(md); 7632 return NULL;7633 } 7634 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "p1_version", 0, NULL, object->p1_version)) {4456 return false; 4457 } 4458 if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, object->p1_version)) { 7635 4459 psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version"); 7636 4460 psFree(md); 7637 return NULL;7638 } 7639 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "p2_version", 0, NULL, object->p2_version)) {4461 return false; 4462 } 4463 if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, object->p2_version)) { 7640 4464 psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version"); 7641 4465 psFree(md); 7642 return NULL; 7643 } 4466 return false; 4467 } 4468 7644 4469 7645 4470 return md; … … 7648 4473 p2PendingExpRow *p2PendingExpObjectFromMetadata(psMetadata *md) 7649 4474 { 7650 bool status; 7651 char *exp_tag; 7652 char *recipe; 7653 psS32 p1_version; 7654 psS32 p2_version; 7655 7656 exp_tag = psMetadataLookupPtr(&status, md, "exp_tag"); 4475 4476 bool status = false; 4477 char* exp_tag = psMetadataLookupPtr(&status, md, "exp_tag"); 7657 4478 if (!status) { 7658 4479 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_tag"); 7659 4480 return false; 7660 4481 } 7661 recipe = psMetadataLookupPtr(&status, md, "recipe");4482 char* recipe = psMetadataLookupPtr(&status, md, "recipe"); 7662 4483 if (!status) { 7663 4484 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item recipe"); 7664 4485 return false; 7665 4486 } 7666 p 1_version = psMetadataLookupS32(&status, md, "p1_version");4487 psS32 p1_version = psMetadataLookupS32(&status, md, "p1_version"); 7667 4488 if (!status) { 7668 4489 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p1_version"); 7669 4490 return false; 7670 4491 } 7671 p 2_version = psMetadataLookupS32(&status, md, "p2_version");4492 psS32 p2_version = psMetadataLookupS32(&status, md, "p2_version"); 7672 4493 if (!status) { 7673 4494 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p2_version"); … … 7800 4621 bool p2PendingImfileCreateTable(psDB *dbh) 7801 4622 { 7802 psMetadata *md; 7803 bool status; 7804 7805 md = psMetadataAlloc(); 7806 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_tag", 0, "Primary Key", "64")) { 4623 psMetadata *md = psMetadataAlloc(); 4624 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, "Primary Key", "64")) { 7807 4625 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag"); 7808 4626 psFree(md); 7809 4627 return false; 7810 4628 } 7811 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "class_id", 0, "Primary Key", "64")) {4629 if (!psMetadataAdd(md, PS_LIST_TAIL, "class_id", PS_DATA_STRING, "Primary Key", "64")) { 7812 4630 psError(PS_ERR_UNKNOWN, false, "failed to add item class_id"); 7813 4631 psFree(md); 7814 4632 return false; 7815 4633 } 7816 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "uri", 0, NULL, "255")) {4634 if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, "255")) { 7817 4635 psError(PS_ERR_UNKNOWN, false, "failed to add item uri"); 7818 4636 psFree(md); 7819 4637 return false; 7820 4638 } 7821 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "recipe", 0, NULL, "64")) {4639 if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, "64")) { 7822 4640 psError(PS_ERR_UNKNOWN, false, "failed to add item recipe"); 7823 4641 psFree(md); 7824 4642 return false; 7825 4643 } 7826 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "p1_version", 0, NULL, 0)) {4644 if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, 0)) { 7827 4645 psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version"); 7828 4646 psFree(md); 7829 4647 return false; 7830 4648 } 7831 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "p2_version", 0, NULL, 0)) {4649 if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, 0)) { 7832 4650 psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version"); 7833 4651 psFree(md); … … 7835 4653 } 7836 4654 7837 status = psDBCreateTable(dbh, P2PENDINGIMFILE_TABLE_NAME, md);4655 bool status = psDBCreateTable(dbh, P2PENDINGIMFILE_TABLE_NAME, md); 7838 4656 7839 4657 psFree(md); … … 7849 4667 bool p2PendingImfileInsert(psDB * dbh, const char *exp_tag, const char *class_id, const char *uri, const char *recipe, psS32 p1_version, psS32 p2_version) 7850 4668 { 7851 psMetadata *md; 7852 bool status; 7853 7854 md = psMetadataAlloc(); 7855 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_tag", 0, NULL, exp_tag)) { 4669 psMetadata *md = psMetadataAlloc(); 4670 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, NULL, exp_tag)) { 7856 4671 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag"); 7857 4672 psFree(md); 7858 4673 return false; 7859 4674 } 7860 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "class_id", 0, NULL, class_id)) {4675 if (!psMetadataAdd(md, PS_LIST_TAIL, "class_id", PS_DATA_STRING, NULL, class_id)) { 7861 4676 psError(PS_ERR_UNKNOWN, false, "failed to add item class_id"); 7862 4677 psFree(md); 7863 4678 return false; 7864 4679 } 7865 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "uri", 0, NULL, uri)) {4680 if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, uri)) { 7866 4681 psError(PS_ERR_UNKNOWN, false, "failed to add item uri"); 7867 4682 psFree(md); 7868 4683 return false; 7869 4684 } 7870 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "recipe", 0, NULL, recipe)) {4685 if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, recipe)) { 7871 4686 psError(PS_ERR_UNKNOWN, false, "failed to add item recipe"); 7872 4687 psFree(md); 7873 4688 return false; 7874 4689 } 7875 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "p1_version", 0, NULL, p1_version)) {4690 if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, p1_version)) { 7876 4691 psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version"); 7877 4692 psFree(md); 7878 4693 return false; 7879 4694 } 7880 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "p2_version", 0, NULL, p2_version)) {4695 if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, p2_version)) { 7881 4696 psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version"); 7882 4697 psFree(md); … … 7884 4699 } 7885 4700 7886 status = psDBInsertOneRow(dbh, P2PENDINGIMFILE_TABLE_NAME, md);4701 bool status = psDBInsertOneRow(dbh, P2PENDINGIMFILE_TABLE_NAME, md); 7887 4702 psFree(md); 7888 4703 … … 7978 4793 psMetadata *p2PendingImfileMetadataFromObject(const p2PendingImfileRow *object) 7979 4794 { 7980 psMetadata *md; 7981 7982 md = psMetadataAlloc(); 7983 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_tag", 0, NULL, object->exp_tag)) { 4795 psMetadata *md = psMetadataAlloc(); 4796 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, NULL, object->exp_tag)) { 7984 4797 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag"); 7985 4798 psFree(md); 7986 return NULL;7987 } 7988 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "class_id", 0, NULL, object->class_id)) {4799 return false; 4800 } 4801 if (!psMetadataAdd(md, PS_LIST_TAIL, "class_id", PS_DATA_STRING, NULL, object->class_id)) { 7989 4802 psError(PS_ERR_UNKNOWN, false, "failed to add item class_id"); 7990 4803 psFree(md); 7991 return NULL;7992 } 7993 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "uri", 0, NULL, object->uri)) {4804 return false; 4805 } 4806 if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, object->uri)) { 7994 4807 psError(PS_ERR_UNKNOWN, false, "failed to add item uri"); 7995 4808 psFree(md); 7996 return NULL;7997 } 7998 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "recipe", 0, NULL, object->recipe)) {4809 return false; 4810 } 4811 if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, object->recipe)) { 7999 4812 psError(PS_ERR_UNKNOWN, false, "failed to add item recipe"); 8000 4813 psFree(md); 8001 return NULL;8002 } 8003 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "p1_version", 0, NULL, object->p1_version)) {4814 return false; 4815 } 4816 if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, object->p1_version)) { 8004 4817 psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version"); 8005 4818 psFree(md); 8006 return NULL;8007 } 8008 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "p2_version", 0, NULL, object->p2_version)) {4819 return false; 4820 } 4821 if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, object->p2_version)) { 8009 4822 psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version"); 8010 4823 psFree(md); 8011 return NULL; 8012 } 4824 return false; 4825 } 4826 8013 4827 8014 4828 return md; … … 8017 4831 p2PendingImfileRow *p2PendingImfileObjectFromMetadata(psMetadata *md) 8018 4832 { 8019 bool status; 8020 char *exp_tag; 8021 char *class_id; 8022 char *uri; 8023 char *recipe; 8024 psS32 p1_version; 8025 psS32 p2_version; 8026 8027 exp_tag = psMetadataLookupPtr(&status, md, "exp_tag"); 4833 4834 bool status = false; 4835 char* exp_tag = psMetadataLookupPtr(&status, md, "exp_tag"); 8028 4836 if (!status) { 8029 4837 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_tag"); 8030 4838 return false; 8031 4839 } 8032 c lass_id = psMetadataLookupPtr(&status, md, "class_id");4840 char* class_id = psMetadataLookupPtr(&status, md, "class_id"); 8033 4841 if (!status) { 8034 4842 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item class_id"); 8035 4843 return false; 8036 4844 } 8037 uri = psMetadataLookupPtr(&status, md, "uri");4845 char* uri = psMetadataLookupPtr(&status, md, "uri"); 8038 4846 if (!status) { 8039 4847 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item uri"); 8040 4848 return false; 8041 4849 } 8042 recipe = psMetadataLookupPtr(&status, md, "recipe");4850 char* recipe = psMetadataLookupPtr(&status, md, "recipe"); 8043 4851 if (!status) { 8044 4852 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item recipe"); 8045 4853 return false; 8046 4854 } 8047 p 1_version = psMetadataLookupS32(&status, md, "p1_version");4855 psS32 p1_version = psMetadataLookupS32(&status, md, "p1_version"); 8048 4856 if (!status) { 8049 4857 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p1_version"); 8050 4858 return false; 8051 4859 } 8052 p 2_version = psMetadataLookupS32(&status, md, "p2_version");4860 psS32 p2_version = psMetadataLookupS32(&status, md, "p2_version"); 8053 4861 if (!status) { 8054 4862 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p2_version"); … … 8175 4983 bool p2ProcessedExpCreateTable(psDB *dbh) 8176 4984 { 8177 psMetadata *md; 8178 bool status; 8179 8180 md = psMetadataAlloc(); 8181 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_tag", 0, "Primary Key", "64")) { 4985 psMetadata *md = psMetadataAlloc(); 4986 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, "Primary Key", "64")) { 8182 4987 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag"); 8183 4988 psFree(md); 8184 4989 return false; 8185 4990 } 8186 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "p1_version", 0, NULL, 0)) {4991 if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, 0)) { 8187 4992 psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version"); 8188 4993 psFree(md); 8189 4994 return false; 8190 4995 } 8191 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "p2_version", 0, NULL, 0)) {4996 if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, 0)) { 8192 4997 psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version"); 8193 4998 psFree(md); … … 8195 5000 } 8196 5001 8197 status = psDBCreateTable(dbh, P2PROCESSEDEXP_TABLE_NAME, md);5002 bool status = psDBCreateTable(dbh, P2PROCESSEDEXP_TABLE_NAME, md); 8198 5003 8199 5004 psFree(md); … … 8209 5014 bool p2ProcessedExpInsert(psDB * dbh, const char *exp_tag, psS32 p1_version, psS32 p2_version) 8210 5015 { 8211 psMetadata *md; 8212 bool status; 8213 8214 md = psMetadataAlloc(); 8215 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_tag", 0, NULL, exp_tag)) { 5016 psMetadata *md = psMetadataAlloc(); 5017 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, NULL, exp_tag)) { 8216 5018 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag"); 8217 5019 psFree(md); 8218 5020 return false; 8219 5021 } 8220 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "p1_version", 0, NULL, p1_version)) {5022 if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, p1_version)) { 8221 5023 psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version"); 8222 5024 psFree(md); 8223 5025 return false; 8224 5026 } 8225 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "p2_version", 0, NULL, p2_version)) {5027 if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, p2_version)) { 8226 5028 psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version"); 8227 5029 psFree(md); … … 8229 5031 } 8230 5032 8231 status = psDBInsertOneRow(dbh, P2PROCESSEDEXP_TABLE_NAME, md);5033 bool status = psDBInsertOneRow(dbh, P2PROCESSEDEXP_TABLE_NAME, md); 8232 5034 psFree(md); 8233 5035 … … 8323 5125 psMetadata *p2ProcessedExpMetadataFromObject(const p2ProcessedExpRow *object) 8324 5126 { 8325 psMetadata *md; 8326 8327 md = psMetadataAlloc(); 8328 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_tag", 0, NULL, object->exp_tag)) { 5127 psMetadata *md = psMetadataAlloc(); 5128 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, NULL, object->exp_tag)) { 8329 5129 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag"); 8330 5130 psFree(md); 8331 return NULL;8332 } 8333 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "p1_version", 0, NULL, object->p1_version)) {5131 return false; 5132 } 5133 if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, object->p1_version)) { 8334 5134 psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version"); 8335 5135 psFree(md); 8336 return NULL;8337 } 8338 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "p2_version", 0, NULL, object->p2_version)) {5136 return false; 5137 } 5138 if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, object->p2_version)) { 8339 5139 psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version"); 8340 5140 psFree(md); 8341 return NULL; 8342 } 5141 return false; 5142 } 5143 8343 5144 8344 5145 return md; … … 8347 5148 p2ProcessedExpRow *p2ProcessedExpObjectFromMetadata(psMetadata *md) 8348 5149 { 8349 bool status; 8350 char *exp_tag; 8351 psS32 p1_version; 8352 psS32 p2_version; 8353 8354 exp_tag = psMetadataLookupPtr(&status, md, "exp_tag"); 5150 5151 bool status = false; 5152 char* exp_tag = psMetadataLookupPtr(&status, md, "exp_tag"); 8355 5153 if (!status) { 8356 5154 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_tag"); 8357 5155 return false; 8358 5156 } 8359 p 1_version = psMetadataLookupS32(&status, md, "p1_version");5157 psS32 p1_version = psMetadataLookupS32(&status, md, "p1_version"); 8360 5158 if (!status) { 8361 5159 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p1_version"); 8362 5160 return false; 8363 5161 } 8364 p 2_version = psMetadataLookupS32(&status, md, "p2_version");5162 psS32 p2_version = psMetadataLookupS32(&status, md, "p2_version"); 8365 5163 if (!status) { 8366 5164 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p2_version"); … … 8500 5298 bool p2ProcessedImfileCreateTable(psDB *dbh) 8501 5299 { 8502 psMetadata *md; 8503 bool status; 8504 8505 md = psMetadataAlloc(); 8506 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_tag", 0, "Primary Key", "64")) { 5300 psMetadata *md = psMetadataAlloc(); 5301 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, "Primary Key", "64")) { 8507 5302 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag"); 8508 5303 psFree(md); 8509 5304 return false; 8510 5305 } 8511 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "class_id", 0, "Primary Key", "64")) {5306 if (!psMetadataAdd(md, PS_LIST_TAIL, "class_id", PS_DATA_STRING, "Primary Key", "64")) { 8512 5307 psError(PS_ERR_UNKNOWN, false, "failed to add item class_id"); 8513 5308 psFree(md); 8514 5309 return false; 8515 5310 } 8516 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "uri", 0, NULL, "255")) {5311 if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, "255")) { 8517 5312 psError(PS_ERR_UNKNOWN, false, "failed to add item uri"); 8518 5313 psFree(md); 8519 5314 return false; 8520 5315 } 8521 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "recipe", 0, NULL, "64")) {5316 if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, "64")) { 8522 5317 psError(PS_ERR_UNKNOWN, false, "failed to add item recipe"); 8523 5318 psFree(md); 8524 5319 return false; 8525 5320 } 8526 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg", 0, NULL, 0.0)) {5321 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, 0.0)) { 8527 5322 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); 8528 5323 psFree(md); 8529 5324 return false; 8530 5325 } 8531 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, 0.0)) {5326 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, 0.0)) { 8532 5327 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev"); 8533 5328 psFree(md); 8534 5329 return false; 8535 5330 } 8536 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, 0.0)) {5331 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, 0.0)) { 8537 5332 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev"); 8538 5333 psFree(md); 8539 5334 return false; 8540 5335 } 8541 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "b1_uri", 0, NULL, "255")) {5336 if (!psMetadataAdd(md, PS_LIST_TAIL, "b1_uri", PS_DATA_STRING, NULL, "255")) { 8542 5337 psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri"); 8543 5338 psFree(md); 8544 5339 return false; 8545 5340 } 8546 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "b2_uri", 0, NULL, "255")) {5341 if (!psMetadataAdd(md, PS_LIST_TAIL, "b2_uri", PS_DATA_STRING, NULL, "255")) { 8547 5342 psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri"); 8548 5343 psFree(md); 8549 5344 return false; 8550 5345 } 8551 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "p1_version", 0, NULL, 0)) {5346 if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, 0)) { 8552 5347 psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version"); 8553 5348 psFree(md); 8554 5349 return false; 8555 5350 } 8556 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "p2_version", 0, NULL, 0)) {5351 if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, 0)) { 8557 5352 psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version"); 8558 5353 psFree(md); … … 8560 5355 } 8561 5356 8562 status = psDBCreateTable(dbh, P2PROCESSEDIMFILE_TABLE_NAME, md);5357 bool status = psDBCreateTable(dbh, P2PROCESSEDIMFILE_TABLE_NAME, md); 8563 5358 8564 5359 psFree(md); … … 8574 5369 bool p2ProcessedImfileInsert(psDB * dbh, const char *exp_tag, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *b1_uri, const char *b2_uri, psS32 p1_version, psS32 p2_version) 8575 5370 { 8576 psMetadata *md; 8577 bool status; 8578 8579 md = psMetadataAlloc(); 8580 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_tag", 0, NULL, exp_tag)) { 5371 psMetadata *md = psMetadataAlloc(); 5372 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, NULL, exp_tag)) { 8581 5373 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag"); 8582 5374 psFree(md); 8583 5375 return false; 8584 5376 } 8585 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "class_id", 0, NULL, class_id)) {5377 if (!psMetadataAdd(md, PS_LIST_TAIL, "class_id", PS_DATA_STRING, NULL, class_id)) { 8586 5378 psError(PS_ERR_UNKNOWN, false, "failed to add item class_id"); 8587 5379 psFree(md); 8588 5380 return false; 8589 5381 } 8590 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "uri", 0, NULL, uri)) {5382 if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, uri)) { 8591 5383 psError(PS_ERR_UNKNOWN, false, "failed to add item uri"); 8592 5384 psFree(md); 8593 5385 return false; 8594 5386 } 8595 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "recipe", 0, NULL, recipe)) {5387 if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, recipe)) { 8596 5388 psError(PS_ERR_UNKNOWN, false, "failed to add item recipe"); 8597 5389 psFree(md); 8598 5390 return false; 8599 5391 } 8600 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg", 0, NULL, bg)) {5392 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, bg)) { 8601 5393 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); 8602 5394 psFree(md); 8603 5395 return false; 8604 5396 } 8605 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, bg_stdev)) {5397 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, bg_stdev)) { 8606 5398 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev"); 8607 5399 psFree(md); 8608 5400 return false; 8609 5401 } 8610 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, bg_mean_stdev)) {5402 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, bg_mean_stdev)) { 8611 5403 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev"); 8612 5404 psFree(md); 8613 5405 return false; 8614 5406 } 8615 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "b1_uri", 0, NULL, b1_uri)) {5407 if (!psMetadataAdd(md, PS_LIST_TAIL, "b1_uri", PS_DATA_STRING, NULL, b1_uri)) { 8616 5408 psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri"); 8617 5409 psFree(md); 8618 5410 return false; 8619 5411 } 8620 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "b2_uri", 0, NULL, b2_uri)) {5412 if (!psMetadataAdd(md, PS_LIST_TAIL, "b2_uri", PS_DATA_STRING, NULL, b2_uri)) { 8621 5413 psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri"); 8622 5414 psFree(md); 8623 5415 return false; 8624 5416 } 8625 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "p1_version", 0, NULL, p1_version)) {5417 if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, p1_version)) { 8626 5418 psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version"); 8627 5419 psFree(md); 8628 5420 return false; 8629 5421 } 8630 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "p2_version", 0, NULL, p2_version)) {5422 if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, p2_version)) { 8631 5423 psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version"); 8632 5424 psFree(md); … … 8634 5426 } 8635 5427 8636 status = psDBInsertOneRow(dbh, P2PROCESSEDIMFILE_TABLE_NAME, md);5428 bool status = psDBInsertOneRow(dbh, P2PROCESSEDIMFILE_TABLE_NAME, md); 8637 5429 psFree(md); 8638 5430 … … 8728 5520 psMetadata *p2ProcessedImfileMetadataFromObject(const p2ProcessedImfileRow *object) 8729 5521 { 8730 psMetadata *md; 8731 8732 md = psMetadataAlloc(); 8733 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_tag", 0, NULL, object->exp_tag)) { 5522 psMetadata *md = psMetadataAlloc(); 5523 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, NULL, object->exp_tag)) { 8734 5524 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag"); 8735 5525 psFree(md); 8736 return NULL;8737 } 8738 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "class_id", 0, NULL, object->class_id)) {5526 return false; 5527 } 5528 if (!psMetadataAdd(md, PS_LIST_TAIL, "class_id", PS_DATA_STRING, NULL, object->class_id)) { 8739 5529 psError(PS_ERR_UNKNOWN, false, "failed to add item class_id"); 8740 5530 psFree(md); 8741 return NULL;8742 } 8743 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "uri", 0, NULL, object->uri)) {5531 return false; 5532 } 5533 if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, object->uri)) { 8744 5534 psError(PS_ERR_UNKNOWN, false, "failed to add item uri"); 8745 5535 psFree(md); 8746 return NULL;8747 } 8748 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "recipe", 0, NULL, object->recipe)) {5536 return false; 5537 } 5538 if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, object->recipe)) { 8749 5539 psError(PS_ERR_UNKNOWN, false, "failed to add item recipe"); 8750 5540 psFree(md); 8751 return NULL;8752 } 8753 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg", 0, NULL, object->bg)) {5541 return false; 5542 } 5543 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, object->bg)) { 8754 5544 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); 8755 5545 psFree(md); 8756 return NULL;8757 } 8758 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, object->bg_stdev)) {5546 return false; 5547 } 5548 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, object->bg_stdev)) { 8759 5549 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev"); 8760 5550 psFree(md); 8761 return NULL;8762 } 8763 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, object->bg_mean_stdev)) {5551 return false; 5552 } 5553 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, object->bg_mean_stdev)) { 8764 5554 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev"); 8765 5555 psFree(md); 8766 return NULL;8767 } 8768 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "b1_uri", 0, NULL, object->b1_uri)) {5556 return false; 5557 } 5558 if (!psMetadataAdd(md, PS_LIST_TAIL, "b1_uri", PS_DATA_STRING, NULL, object->b1_uri)) { 8769 5559 psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri"); 8770 5560 psFree(md); 8771 return NULL;8772 } 8773 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "b2_uri", 0, NULL, object->b2_uri)) {5561 return false; 5562 } 5563 if (!psMetadataAdd(md, PS_LIST_TAIL, "b2_uri", PS_DATA_STRING, NULL, object->b2_uri)) { 8774 5564 psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri"); 8775 5565 psFree(md); 8776 return NULL;8777 } 8778 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "p1_version", 0, NULL, object->p1_version)) {5566 return false; 5567 } 5568 if (!psMetadataAdd(md, PS_LIST_TAIL, "p1_version", PS_DATA_S32, NULL, object->p1_version)) { 8779 5569 psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version"); 8780 5570 psFree(md); 8781 return NULL;8782 } 8783 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "p2_version", 0, NULL, object->p2_version)) {5571 return false; 5572 } 5573 if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, object->p2_version)) { 8784 5574 psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version"); 8785 5575 psFree(md); 8786 return NULL; 8787 } 5576 return false; 5577 } 5578 8788 5579 8789 5580 return md; … … 8792 5583 p2ProcessedImfileRow *p2ProcessedImfileObjectFromMetadata(psMetadata *md) 8793 5584 { 8794 bool status; 8795 char *exp_tag; 8796 char *class_id; 8797 char *uri; 8798 char *recipe; 8799 psF64 bg; 8800 psF64 bg_stdev; 8801 psF64 bg_mean_stdev; 8802 char *b1_uri; 8803 char *b2_uri; 8804 psS32 p1_version; 8805 psS32 p2_version; 8806 8807 exp_tag = psMetadataLookupPtr(&status, md, "exp_tag"); 5585 5586 bool status = false; 5587 char* exp_tag = psMetadataLookupPtr(&status, md, "exp_tag"); 8808 5588 if (!status) { 8809 5589 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_tag"); 8810 5590 return false; 8811 5591 } 8812 c lass_id = psMetadataLookupPtr(&status, md, "class_id");5592 char* class_id = psMetadataLookupPtr(&status, md, "class_id"); 8813 5593 if (!status) { 8814 5594 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item class_id"); 8815 5595 return false; 8816 5596 } 8817 uri = psMetadataLookupPtr(&status, md, "uri");5597 char* uri = psMetadataLookupPtr(&status, md, "uri"); 8818 5598 if (!status) { 8819 5599 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item uri"); 8820 5600 return false; 8821 5601 } 8822 recipe = psMetadataLookupPtr(&status, md, "recipe");5602 char* recipe = psMetadataLookupPtr(&status, md, "recipe"); 8823 5603 if (!status) { 8824 5604 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item recipe"); 8825 5605 return false; 8826 5606 } 8827 bg = psMetadataLookupF64(&status, md, "bg");5607 psF64 bg = psMetadataLookupF64(&status, md, "bg"); 8828 5608 if (!status) { 8829 5609 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg"); 8830 5610 return false; 8831 5611 } 8832 bg_stdev = psMetadataLookupF64(&status, md, "bg_stdev");5612 psF64 bg_stdev = psMetadataLookupF64(&status, md, "bg_stdev"); 8833 5613 if (!status) { 8834 5614 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_stdev"); 8835 5615 return false; 8836 5616 } 8837 bg_mean_stdev = psMetadataLookupF64(&status, md, "bg_mean_stdev");5617 psF64 bg_mean_stdev = psMetadataLookupF64(&status, md, "bg_mean_stdev"); 8838 5618 if (!status) { 8839 5619 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_mean_stdev"); 8840 5620 return false; 8841 5621 } 8842 b1_uri = psMetadataLookupPtr(&status, md, "b1_uri");5622 char* b1_uri = psMetadataLookupPtr(&status, md, "b1_uri"); 8843 5623 if (!status) { 8844 5624 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item b1_uri"); 8845 5625 return false; 8846 5626 } 8847 b2_uri = psMetadataLookupPtr(&status, md, "b2_uri");5627 char* b2_uri = psMetadataLookupPtr(&status, md, "b2_uri"); 8848 5628 if (!status) { 8849 5629 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item b2_uri"); 8850 5630 return false; 8851 5631 } 8852 p 1_version = psMetadataLookupS32(&status, md, "p1_version");5632 psS32 p1_version = psMetadataLookupS32(&status, md, "p1_version"); 8853 5633 if (!status) { 8854 5634 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p1_version"); 8855 5635 return false; 8856 5636 } 8857 p 2_version = psMetadataLookupS32(&status, md, "p2_version");5637 psS32 p2_version = psMetadataLookupS32(&status, md, "p2_version"); 8858 5638 if (!status) { 8859 5639 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p2_version"); … … 8980 5760 bool p3PendingExpCreateTable(psDB *dbh) 8981 5761 { 8982 psMetadata *md; 8983 bool status; 8984 8985 md = psMetadataAlloc(); 8986 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_tag", 0, "Primary Key", "64")) { 5762 psMetadata *md = psMetadataAlloc(); 5763 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, "Primary Key", "64")) { 8987 5764 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag"); 8988 5765 psFree(md); 8989 5766 return false; 8990 5767 } 8991 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "p2_version", 0, NULL, 0)) {5768 if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, 0)) { 8992 5769 psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version"); 8993 5770 psFree(md); 8994 5771 return false; 8995 5772 } 8996 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "p3_version", 0, NULL, 0)) {5773 if (!psMetadataAdd(md, PS_LIST_TAIL, "p3_version", PS_DATA_S32, NULL, 0)) { 8997 5774 psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version"); 8998 5775 psFree(md); … … 9000 5777 } 9001 5778 9002 status = psDBCreateTable(dbh, P3PENDINGEXP_TABLE_NAME, md);5779 bool status = psDBCreateTable(dbh, P3PENDINGEXP_TABLE_NAME, md); 9003 5780 9004 5781 psFree(md); … … 9014 5791 bool p3PendingExpInsert(psDB * dbh, const char *exp_tag, psS32 p2_version, psS32 p3_version) 9015 5792 { 9016 psMetadata *md; 9017 bool status; 9018 9019 md = psMetadataAlloc(); 9020 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_tag", 0, NULL, exp_tag)) { 5793 psMetadata *md = psMetadataAlloc(); 5794 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, NULL, exp_tag)) { 9021 5795 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag"); 9022 5796 psFree(md); 9023 5797 return false; 9024 5798 } 9025 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "p2_version", 0, NULL, p2_version)) {5799 if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, p2_version)) { 9026 5800 psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version"); 9027 5801 psFree(md); 9028 5802 return false; 9029 5803 } 9030 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "p3_version", 0, NULL, p3_version)) {5804 if (!psMetadataAdd(md, PS_LIST_TAIL, "p3_version", PS_DATA_S32, NULL, p3_version)) { 9031 5805 psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version"); 9032 5806 psFree(md); … … 9034 5808 } 9035 5809 9036 status = psDBInsertOneRow(dbh, P3PENDINGEXP_TABLE_NAME, md);5810 bool status = psDBInsertOneRow(dbh, P3PENDINGEXP_TABLE_NAME, md); 9037 5811 psFree(md); 9038 5812 … … 9128 5902 psMetadata *p3PendingExpMetadataFromObject(const p3PendingExpRow *object) 9129 5903 { 9130 psMetadata *md; 9131 9132 md = psMetadataAlloc(); 9133 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_tag", 0, NULL, object->exp_tag)) { 5904 psMetadata *md = psMetadataAlloc(); 5905 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, NULL, object->exp_tag)) { 9134 5906 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag"); 9135 5907 psFree(md); 9136 return NULL;9137 } 9138 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "p2_version", 0, NULL, object->p2_version)) {5908 return false; 5909 } 5910 if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, object->p2_version)) { 9139 5911 psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version"); 9140 5912 psFree(md); 9141 return NULL;9142 } 9143 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "p3_version", 0, NULL, object->p3_version)) {5913 return false; 5914 } 5915 if (!psMetadataAdd(md, PS_LIST_TAIL, "p3_version", PS_DATA_S32, NULL, object->p3_version)) { 9144 5916 psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version"); 9145 5917 psFree(md); 9146 return NULL; 9147 } 5918 return false; 5919 } 5920 9148 5921 9149 5922 return md; … … 9152 5925 p3PendingExpRow *p3PendingExpObjectFromMetadata(psMetadata *md) 9153 5926 { 9154 bool status; 9155 char *exp_tag; 9156 psS32 p2_version; 9157 psS32 p3_version; 9158 9159 exp_tag = psMetadataLookupPtr(&status, md, "exp_tag"); 5927 5928 bool status = false; 5929 char* exp_tag = psMetadataLookupPtr(&status, md, "exp_tag"); 9160 5930 if (!status) { 9161 5931 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_tag"); 9162 5932 return false; 9163 5933 } 9164 p 2_version = psMetadataLookupS32(&status, md, "p2_version");5934 psS32 p2_version = psMetadataLookupS32(&status, md, "p2_version"); 9165 5935 if (!status) { 9166 5936 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p2_version"); 9167 5937 return false; 9168 5938 } 9169 p 3_version = psMetadataLookupS32(&status, md, "p3_version");5939 psS32 p3_version = psMetadataLookupS32(&status, md, "p3_version"); 9170 5940 if (!status) { 9171 5941 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p3_version"); … … 9308 6078 bool p3ProcessedExpCreateTable(psDB *dbh) 9309 6079 { 9310 psMetadata *md; 9311 bool status; 9312 9313 md = psMetadataAlloc(); 9314 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_tag", 0, "Primary Key", "64")) { 6080 psMetadata *md = psMetadataAlloc(); 6081 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, "Primary Key", "64")) { 9315 6082 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag"); 9316 6083 psFree(md); 9317 6084 return false; 9318 6085 } 9319 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "uri", 0, NULL, "255")) {6086 if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, "255")) { 9320 6087 psError(PS_ERR_UNKNOWN, false, "failed to add item uri"); 9321 6088 psFree(md); 9322 6089 return false; 9323 6090 } 9324 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "recipe", 0, NULL, "64")) {6091 if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, "64")) { 9325 6092 psError(PS_ERR_UNKNOWN, false, "failed to add item recipe"); 9326 6093 psFree(md); 9327 6094 return false; 9328 6095 } 9329 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg", 0, NULL, 0.0)) {6096 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, 0.0)) { 9330 6097 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); 9331 6098 psFree(md); 9332 6099 return false; 9333 6100 } 9334 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, 0.0)) {6101 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, 0.0)) { 9335 6102 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev"); 9336 6103 psFree(md); 9337 6104 return false; 9338 6105 } 9339 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, 0.0)) {6106 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, 0.0)) { 9340 6107 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev"); 9341 6108 psFree(md); 9342 6109 return false; 9343 6110 } 9344 if (!psMetadataAdd F32(md, PS_LIST_TAIL, "sigma_ra", 0, NULL, 0.0)) {6111 if (!psMetadataAdd(md, PS_LIST_TAIL, "sigma_ra", PS_DATA_F32, NULL, 0.0)) { 9345 6112 psError(PS_ERR_UNKNOWN, false, "failed to add item sigma_ra"); 9346 6113 psFree(md); 9347 6114 return false; 9348 6115 } 9349 if (!psMetadataAdd F32(md, PS_LIST_TAIL, "sigma_dec", 0, NULL, 0.0)) {6116 if (!psMetadataAdd(md, PS_LIST_TAIL, "sigma_dec", PS_DATA_F32, NULL, 0.0)) { 9350 6117 psError(PS_ERR_UNKNOWN, false, "failed to add item sigma_dec"); 9351 6118 psFree(md); 9352 6119 return false; 9353 6120 } 9354 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "nastro", 0, NULL, 0)) {6121 if (!psMetadataAdd(md, PS_LIST_TAIL, "nastro", PS_DATA_S32, NULL, 0)) { 9355 6122 psError(PS_ERR_UNKNOWN, false, "failed to add item nastro"); 9356 6123 psFree(md); 9357 6124 return false; 9358 6125 } 9359 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "b1_uri", 0, NULL, "255")) {6126 if (!psMetadataAdd(md, PS_LIST_TAIL, "b1_uri", PS_DATA_STRING, NULL, "255")) { 9360 6127 psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri"); 9361 6128 psFree(md); 9362 6129 return false; 9363 6130 } 9364 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "b2_uri", 0, NULL, "255")) {6131 if (!psMetadataAdd(md, PS_LIST_TAIL, "b2_uri", PS_DATA_STRING, NULL, "255")) { 9365 6132 psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri"); 9366 6133 psFree(md); 9367 6134 return false; 9368 6135 } 9369 if (!psMetadataAdd F32(md, PS_LIST_TAIL, "zp_mean", 0, NULL, 0.0)) {6136 if (!psMetadataAdd(md, PS_LIST_TAIL, "zp_mean", PS_DATA_F32, NULL, 0.0)) { 9370 6137 psError(PS_ERR_UNKNOWN, false, "failed to add item zp_mean"); 9371 6138 psFree(md); 9372 6139 return false; 9373 6140 } 9374 if (!psMetadataAdd F32(md, PS_LIST_TAIL, "zp_stdev", 0, NULL, 0.0)) {6141 if (!psMetadataAdd(md, PS_LIST_TAIL, "zp_stdev", PS_DATA_F32, NULL, 0.0)) { 9375 6142 psError(PS_ERR_UNKNOWN, false, "failed to add item zp_stdev"); 9376 6143 psFree(md); 9377 6144 return false; 9378 6145 } 9379 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "p2_version", 0, NULL, 0)) {6146 if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, 0)) { 9380 6147 psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version"); 9381 6148 psFree(md); 9382 6149 return false; 9383 6150 } 9384 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "p3_version", 0, NULL, 0)) {6151 if (!psMetadataAdd(md, PS_LIST_TAIL, "p3_version", PS_DATA_S32, NULL, 0)) { 9385 6152 psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version"); 9386 6153 psFree(md); … … 9388 6155 } 9389 6156 9390 status = psDBCreateTable(dbh, P3PROCESSEDEXP_TABLE_NAME, md);6157 bool status = psDBCreateTable(dbh, P3PROCESSEDEXP_TABLE_NAME, md); 9391 6158 9392 6159 psFree(md); … … 9402 6169 bool p3ProcessedExpInsert(psDB * dbh, const char *exp_tag, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF32 sigma_ra, psF32 sigma_dec, psS32 nastro, const char *b1_uri, const char *b2_uri, psF32 zp_mean, psF32 zp_stdev, psS32 p2_version, psS32 p3_version) 9403 6170 { 9404 psMetadata *md; 9405 bool status; 9406 9407 md = psMetadataAlloc(); 9408 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_tag", 0, NULL, exp_tag)) { 6171 psMetadata *md = psMetadataAlloc(); 6172 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, NULL, exp_tag)) { 9409 6173 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag"); 9410 6174 psFree(md); 9411 6175 return false; 9412 6176 } 9413 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "uri", 0, NULL, uri)) {6177 if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, uri)) { 9414 6178 psError(PS_ERR_UNKNOWN, false, "failed to add item uri"); 9415 6179 psFree(md); 9416 6180 return false; 9417 6181 } 9418 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "recipe", 0, NULL, recipe)) {6182 if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, recipe)) { 9419 6183 psError(PS_ERR_UNKNOWN, false, "failed to add item recipe"); 9420 6184 psFree(md); 9421 6185 return false; 9422 6186 } 9423 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg", 0, NULL, bg)) {6187 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, bg)) { 9424 6188 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); 9425 6189 psFree(md); 9426 6190 return false; 9427 6191 } 9428 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, bg_stdev)) {6192 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, bg_stdev)) { 9429 6193 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev"); 9430 6194 psFree(md); 9431 6195 return false; 9432 6196 } 9433 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, bg_mean_stdev)) {6197 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, bg_mean_stdev)) { 9434 6198 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev"); 9435 6199 psFree(md); 9436 6200 return false; 9437 6201 } 9438 if (!psMetadataAdd F32(md, PS_LIST_TAIL, "sigma_ra", 0, NULL, sigma_ra)) {6202 if (!psMetadataAdd(md, PS_LIST_TAIL, "sigma_ra", PS_DATA_F32, NULL, sigma_ra)) { 9439 6203 psError(PS_ERR_UNKNOWN, false, "failed to add item sigma_ra"); 9440 6204 psFree(md); 9441 6205 return false; 9442 6206 } 9443 if (!psMetadataAdd F32(md, PS_LIST_TAIL, "sigma_dec", 0, NULL, sigma_dec)) {6207 if (!psMetadataAdd(md, PS_LIST_TAIL, "sigma_dec", PS_DATA_F32, NULL, sigma_dec)) { 9444 6208 psError(PS_ERR_UNKNOWN, false, "failed to add item sigma_dec"); 9445 6209 psFree(md); 9446 6210 return false; 9447 6211 } 9448 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "nastro", 0, NULL, nastro)) {6212 if (!psMetadataAdd(md, PS_LIST_TAIL, "nastro", PS_DATA_S32, NULL, nastro)) { 9449 6213 psError(PS_ERR_UNKNOWN, false, "failed to add item nastro"); 9450 6214 psFree(md); 9451 6215 return false; 9452 6216 } 9453 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "b1_uri", 0, NULL, b1_uri)) {6217 if (!psMetadataAdd(md, PS_LIST_TAIL, "b1_uri", PS_DATA_STRING, NULL, b1_uri)) { 9454 6218 psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri"); 9455 6219 psFree(md); 9456 6220 return false; 9457 6221 } 9458 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "b2_uri", 0, NULL, b2_uri)) {6222 if (!psMetadataAdd(md, PS_LIST_TAIL, "b2_uri", PS_DATA_STRING, NULL, b2_uri)) { 9459 6223 psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri"); 9460 6224 psFree(md); 9461 6225 return false; 9462 6226 } 9463 if (!psMetadataAdd F32(md, PS_LIST_TAIL, "zp_mean", 0, NULL, zp_mean)) {6227 if (!psMetadataAdd(md, PS_LIST_TAIL, "zp_mean", PS_DATA_F32, NULL, zp_mean)) { 9464 6228 psError(PS_ERR_UNKNOWN, false, "failed to add item zp_mean"); 9465 6229 psFree(md); 9466 6230 return false; 9467 6231 } 9468 if (!psMetadataAdd F32(md, PS_LIST_TAIL, "zp_stdev", 0, NULL, zp_stdev)) {6232 if (!psMetadataAdd(md, PS_LIST_TAIL, "zp_stdev", PS_DATA_F32, NULL, zp_stdev)) { 9469 6233 psError(PS_ERR_UNKNOWN, false, "failed to add item zp_stdev"); 9470 6234 psFree(md); 9471 6235 return false; 9472 6236 } 9473 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "p2_version", 0, NULL, p2_version)) {6237 if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, p2_version)) { 9474 6238 psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version"); 9475 6239 psFree(md); 9476 6240 return false; 9477 6241 } 9478 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "p3_version", 0, NULL, p3_version)) {6242 if (!psMetadataAdd(md, PS_LIST_TAIL, "p3_version", PS_DATA_S32, NULL, p3_version)) { 9479 6243 psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version"); 9480 6244 psFree(md); … … 9482 6246 } 9483 6247 9484 status = psDBInsertOneRow(dbh, P3PROCESSEDEXP_TABLE_NAME, md);6248 bool status = psDBInsertOneRow(dbh, P3PROCESSEDEXP_TABLE_NAME, md); 9485 6249 psFree(md); 9486 6250 … … 9576 6340 psMetadata *p3ProcessedExpMetadataFromObject(const p3ProcessedExpRow *object) 9577 6341 { 9578 psMetadata *md; 9579 9580 md = psMetadataAlloc(); 9581 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_tag", 0, NULL, object->exp_tag)) { 6342 psMetadata *md = psMetadataAlloc(); 6343 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, NULL, object->exp_tag)) { 9582 6344 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag"); 9583 6345 psFree(md); 9584 return NULL;9585 } 9586 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "uri", 0, NULL, object->uri)) {6346 return false; 6347 } 6348 if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, object->uri)) { 9587 6349 psError(PS_ERR_UNKNOWN, false, "failed to add item uri"); 9588 6350 psFree(md); 9589 return NULL;9590 } 9591 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "recipe", 0, NULL, object->recipe)) {6351 return false; 6352 } 6353 if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, object->recipe)) { 9592 6354 psError(PS_ERR_UNKNOWN, false, "failed to add item recipe"); 9593 6355 psFree(md); 9594 return NULL;9595 } 9596 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg", 0, NULL, object->bg)) {6356 return false; 6357 } 6358 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, object->bg)) { 9597 6359 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); 9598 6360 psFree(md); 9599 return NULL;9600 } 9601 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, object->bg_stdev)) {6361 return false; 6362 } 6363 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, object->bg_stdev)) { 9602 6364 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev"); 9603 6365 psFree(md); 9604 return NULL;9605 } 9606 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, object->bg_mean_stdev)) {6366 return false; 6367 } 6368 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, object->bg_mean_stdev)) { 9607 6369 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev"); 9608 6370 psFree(md); 9609 return NULL;9610 } 9611 if (!psMetadataAdd F32(md, PS_LIST_TAIL, "sigma_ra", 0, NULL, object->sigma_ra)) {6371 return false; 6372 } 6373 if (!psMetadataAdd(md, PS_LIST_TAIL, "sigma_ra", PS_DATA_F32, NULL, object->sigma_ra)) { 9612 6374 psError(PS_ERR_UNKNOWN, false, "failed to add item sigma_ra"); 9613 6375 psFree(md); 9614 return NULL;9615 } 9616 if (!psMetadataAdd F32(md, PS_LIST_TAIL, "sigma_dec", 0, NULL, object->sigma_dec)) {6376 return false; 6377 } 6378 if (!psMetadataAdd(md, PS_LIST_TAIL, "sigma_dec", PS_DATA_F32, NULL, object->sigma_dec)) { 9617 6379 psError(PS_ERR_UNKNOWN, false, "failed to add item sigma_dec"); 9618 6380 psFree(md); 9619 return NULL;9620 } 9621 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "nastro", 0, NULL, object->nastro)) {6381 return false; 6382 } 6383 if (!psMetadataAdd(md, PS_LIST_TAIL, "nastro", PS_DATA_S32, NULL, object->nastro)) { 9622 6384 psError(PS_ERR_UNKNOWN, false, "failed to add item nastro"); 9623 6385 psFree(md); 9624 return NULL;9625 } 9626 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "b1_uri", 0, NULL, object->b1_uri)) {6386 return false; 6387 } 6388 if (!psMetadataAdd(md, PS_LIST_TAIL, "b1_uri", PS_DATA_STRING, NULL, object->b1_uri)) { 9627 6389 psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri"); 9628 6390 psFree(md); 9629 return NULL;9630 } 9631 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "b2_uri", 0, NULL, object->b2_uri)) {6391 return false; 6392 } 6393 if (!psMetadataAdd(md, PS_LIST_TAIL, "b2_uri", PS_DATA_STRING, NULL, object->b2_uri)) { 9632 6394 psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri"); 9633 6395 psFree(md); 9634 return NULL;9635 } 9636 if (!psMetadataAdd F32(md, PS_LIST_TAIL, "zp_mean", 0, NULL, object->zp_mean)) {6396 return false; 6397 } 6398 if (!psMetadataAdd(md, PS_LIST_TAIL, "zp_mean", PS_DATA_F32, NULL, object->zp_mean)) { 9637 6399 psError(PS_ERR_UNKNOWN, false, "failed to add item zp_mean"); 9638 6400 psFree(md); 9639 return NULL;9640 } 9641 if (!psMetadataAdd F32(md, PS_LIST_TAIL, "zp_stdev", 0, NULL, object->zp_stdev)) {6401 return false; 6402 } 6403 if (!psMetadataAdd(md, PS_LIST_TAIL, "zp_stdev", PS_DATA_F32, NULL, object->zp_stdev)) { 9642 6404 psError(PS_ERR_UNKNOWN, false, "failed to add item zp_stdev"); 9643 6405 psFree(md); 9644 return NULL;9645 } 9646 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "p2_version", 0, NULL, object->p2_version)) {6406 return false; 6407 } 6408 if (!psMetadataAdd(md, PS_LIST_TAIL, "p2_version", PS_DATA_S32, NULL, object->p2_version)) { 9647 6409 psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version"); 9648 6410 psFree(md); 9649 return NULL;9650 } 9651 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "p3_version", 0, NULL, object->p3_version)) {6411 return false; 6412 } 6413 if (!psMetadataAdd(md, PS_LIST_TAIL, "p3_version", PS_DATA_S32, NULL, object->p3_version)) { 9652 6414 psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version"); 9653 6415 psFree(md); 9654 return NULL; 9655 } 6416 return false; 6417 } 6418 9656 6419 9657 6420 return md; … … 9660 6423 p3ProcessedExpRow *p3ProcessedExpObjectFromMetadata(psMetadata *md) 9661 6424 { 9662 bool status; 9663 char *exp_tag; 9664 char *uri; 9665 char *recipe; 9666 psF64 bg; 9667 psF64 bg_stdev; 9668 psF64 bg_mean_stdev; 9669 psF32 sigma_ra; 9670 psF32 sigma_dec; 9671 psS32 nastro; 9672 char *b1_uri; 9673 char *b2_uri; 9674 psF32 zp_mean; 9675 psF32 zp_stdev; 9676 psS32 p2_version; 9677 psS32 p3_version; 9678 9679 exp_tag = psMetadataLookupPtr(&status, md, "exp_tag"); 6425 6426 bool status = false; 6427 char* exp_tag = psMetadataLookupPtr(&status, md, "exp_tag"); 9680 6428 if (!status) { 9681 6429 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_tag"); 9682 6430 return false; 9683 6431 } 9684 uri = psMetadataLookupPtr(&status, md, "uri");6432 char* uri = psMetadataLookupPtr(&status, md, "uri"); 9685 6433 if (!status) { 9686 6434 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item uri"); 9687 6435 return false; 9688 6436 } 9689 recipe = psMetadataLookupPtr(&status, md, "recipe");6437 char* recipe = psMetadataLookupPtr(&status, md, "recipe"); 9690 6438 if (!status) { 9691 6439 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item recipe"); 9692 6440 return false; 9693 6441 } 9694 bg = psMetadataLookupF64(&status, md, "bg");6442 psF64 bg = psMetadataLookupF64(&status, md, "bg"); 9695 6443 if (!status) { 9696 6444 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg"); 9697 6445 return false; 9698 6446 } 9699 bg_stdev = psMetadataLookupF64(&status, md, "bg_stdev");6447 psF64 bg_stdev = psMetadataLookupF64(&status, md, "bg_stdev"); 9700 6448 if (!status) { 9701 6449 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_stdev"); 9702 6450 return false; 9703 6451 } 9704 bg_mean_stdev = psMetadataLookupF64(&status, md, "bg_mean_stdev");6452 psF64 bg_mean_stdev = psMetadataLookupF64(&status, md, "bg_mean_stdev"); 9705 6453 if (!status) { 9706 6454 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_mean_stdev"); 9707 6455 return false; 9708 6456 } 9709 sigma_ra = psMetadataLookupF32(&status, md, "sigma_ra");6457 psF32 sigma_ra = psMetadataLookupF32(&status, md, "sigma_ra"); 9710 6458 if (!status) { 9711 6459 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item sigma_ra"); 9712 6460 return false; 9713 6461 } 9714 sigma_dec = psMetadataLookupF32(&status, md, "sigma_dec");6462 psF32 sigma_dec = psMetadataLookupF32(&status, md, "sigma_dec"); 9715 6463 if (!status) { 9716 6464 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item sigma_dec"); 9717 6465 return false; 9718 6466 } 9719 nastro = psMetadataLookupS32(&status, md, "nastro");6467 psS32 nastro = psMetadataLookupS32(&status, md, "nastro"); 9720 6468 if (!status) { 9721 6469 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item nastro"); 9722 6470 return false; 9723 6471 } 9724 b1_uri = psMetadataLookupPtr(&status, md, "b1_uri");6472 char* b1_uri = psMetadataLookupPtr(&status, md, "b1_uri"); 9725 6473 if (!status) { 9726 6474 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item b1_uri"); 9727 6475 return false; 9728 6476 } 9729 b2_uri = psMetadataLookupPtr(&status, md, "b2_uri");6477 char* b2_uri = psMetadataLookupPtr(&status, md, "b2_uri"); 9730 6478 if (!status) { 9731 6479 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item b2_uri"); 9732 6480 return false; 9733 6481 } 9734 zp_mean = psMetadataLookupF32(&status, md, "zp_mean");6482 psF32 zp_mean = psMetadataLookupF32(&status, md, "zp_mean"); 9735 6483 if (!status) { 9736 6484 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item zp_mean"); 9737 6485 return false; 9738 6486 } 9739 zp_stdev = psMetadataLookupF32(&status, md, "zp_stdev");6487 psF32 zp_stdev = psMetadataLookupF32(&status, md, "zp_stdev"); 9740 6488 if (!status) { 9741 6489 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item zp_stdev"); 9742 6490 return false; 9743 6491 } 9744 p 2_version = psMetadataLookupS32(&status, md, "p2_version");6492 psS32 p2_version = psMetadataLookupS32(&status, md, "p2_version"); 9745 6493 if (!status) { 9746 6494 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p2_version"); 9747 6495 return false; 9748 6496 } 9749 p 3_version = psMetadataLookupS32(&status, md, "p3_version");6497 psS32 p3_version = psMetadataLookupS32(&status, md, "p3_version"); 9750 6498 if (!status) { 9751 6499 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p3_version"); … … 9874 6622 bool detRunCreateTable(psDB *dbh) 9875 6623 { 9876 psMetadata *md; 9877 bool status; 9878 9879 md = psMetadataAlloc(); 9880 if (!psMetadataAddS32(md, PS_LIST_TAIL, "det_id", 0, "Primary Key AUTO_INCREMENT", 0)) { 6624 psMetadata *md = psMetadataAlloc(); 6625 if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, "Primary Key AUTO_INCREMENT", 0)) { 9881 6626 psError(PS_ERR_UNKNOWN, false, "failed to add item det_id"); 9882 6627 psFree(md); 9883 6628 return false; 9884 6629 } 9885 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "iteration", 0, "Key", 0)) {6630 if (!psMetadataAdd(md, PS_LIST_TAIL, "iteration", PS_DATA_S32, "Key", 0)) { 9886 6631 psError(PS_ERR_UNKNOWN, false, "failed to add item iteration"); 9887 6632 psFree(md); 9888 6633 return false; 9889 6634 } 9890 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "det_type", 0, "Key", "255")) {6635 if (!psMetadataAdd(md, PS_LIST_TAIL, "det_type", PS_DATA_STRING, "Key", "255")) { 9891 6636 psError(PS_ERR_UNKNOWN, false, "failed to add item det_type"); 9892 6637 psFree(md); 9893 6638 return false; 9894 6639 } 9895 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "state", 0, "Key", "64")) {6640 if (!psMetadataAdd(md, PS_LIST_TAIL, "state", PS_DATA_STRING, "Key", "64")) { 9896 6641 psError(PS_ERR_UNKNOWN, false, "failed to add item state"); 9897 6642 psFree(md); … … 9899 6644 } 9900 6645 9901 status = psDBCreateTable(dbh, DETRUN_TABLE_NAME, md);6646 bool status = psDBCreateTable(dbh, DETRUN_TABLE_NAME, md); 9902 6647 9903 6648 psFree(md); … … 9913 6658 bool detRunInsert(psDB * dbh, psS32 det_id, psS32 iteration, const char *det_type, const char *state) 9914 6659 { 9915 psMetadata *md; 9916 bool status; 9917 9918 md = psMetadataAlloc(); 9919 if (!psMetadataAddS32(md, PS_LIST_TAIL, "det_id", 0, NULL, det_id)) { 6660 psMetadata *md = psMetadataAlloc(); 6661 if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, NULL, det_id)) { 9920 6662 psError(PS_ERR_UNKNOWN, false, "failed to add item det_id"); 9921 6663 psFree(md); 9922 6664 return false; 9923 6665 } 9924 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "iteration", 0, NULL, iteration)) {6666 if (!psMetadataAdd(md, PS_LIST_TAIL, "iteration", PS_DATA_S32, NULL, iteration)) { 9925 6667 psError(PS_ERR_UNKNOWN, false, "failed to add item iteration"); 9926 6668 psFree(md); 9927 6669 return false; 9928 6670 } 9929 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "det_type", 0, NULL, det_type)) {6671 if (!psMetadataAdd(md, PS_LIST_TAIL, "det_type", PS_DATA_STRING, NULL, det_type)) { 9930 6672 psError(PS_ERR_UNKNOWN, false, "failed to add item det_type"); 9931 6673 psFree(md); 9932 6674 return false; 9933 6675 } 9934 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "state", 0, NULL, state)) {6676 if (!psMetadataAdd(md, PS_LIST_TAIL, "state", PS_DATA_STRING, NULL, state)) { 9935 6677 psError(PS_ERR_UNKNOWN, false, "failed to add item state"); 9936 6678 psFree(md); … … 9938 6680 } 9939 6681 9940 status = psDBInsertOneRow(dbh, DETRUN_TABLE_NAME, md);6682 bool status = psDBInsertOneRow(dbh, DETRUN_TABLE_NAME, md); 9941 6683 psFree(md); 9942 6684 … … 10032 6774 psMetadata *detRunMetadataFromObject(const detRunRow *object) 10033 6775 { 10034 psMetadata *md; 10035 10036 md = psMetadataAlloc(); 10037 if (!psMetadataAddS32(md, PS_LIST_TAIL, "det_id", 0, NULL, object->det_id)) { 6776 psMetadata *md = psMetadataAlloc(); 6777 if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, NULL, object->det_id)) { 10038 6778 psError(PS_ERR_UNKNOWN, false, "failed to add item det_id"); 10039 6779 psFree(md); 10040 return NULL;10041 } 10042 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "iteration", 0, NULL, object->iteration)) {6780 return false; 6781 } 6782 if (!psMetadataAdd(md, PS_LIST_TAIL, "iteration", PS_DATA_S32, NULL, object->iteration)) { 10043 6783 psError(PS_ERR_UNKNOWN, false, "failed to add item iteration"); 10044 6784 psFree(md); 10045 return NULL;10046 } 10047 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "det_type", 0, NULL, object->det_type)) {6785 return false; 6786 } 6787 if (!psMetadataAdd(md, PS_LIST_TAIL, "det_type", PS_DATA_STRING, NULL, object->det_type)) { 10048 6788 psError(PS_ERR_UNKNOWN, false, "failed to add item det_type"); 10049 6789 psFree(md); 10050 return NULL;10051 } 10052 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "state", 0, NULL, object->state)) {6790 return false; 6791 } 6792 if (!psMetadataAdd(md, PS_LIST_TAIL, "state", PS_DATA_STRING, NULL, object->state)) { 10053 6793 psError(PS_ERR_UNKNOWN, false, "failed to add item state"); 10054 6794 psFree(md); 10055 return NULL; 10056 } 6795 return false; 6796 } 6797 10057 6798 10058 6799 return md; … … 10061 6802 detRunRow *detRunObjectFromMetadata(psMetadata *md) 10062 6803 { 10063 bool status; 10064 psS32 det_id; 10065 psS32 iteration; 10066 char *det_type; 10067 char *state; 10068 10069 det_id = psMetadataLookupS32(&status, md, "det_id"); 6804 6805 bool status = false; 6806 psS32 det_id = psMetadataLookupS32(&status, md, "det_id"); 10070 6807 if (!status) { 10071 6808 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item det_id"); 10072 6809 return false; 10073 6810 } 10074 iteration = psMetadataLookupS32(&status, md, "iteration");6811 psS32 iteration = psMetadataLookupS32(&status, md, "iteration"); 10075 6812 if (!status) { 10076 6813 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iteration"); 10077 6814 return false; 10078 6815 } 10079 det_type = psMetadataLookupPtr(&status, md, "det_type");6816 char* det_type = psMetadataLookupPtr(&status, md, "det_type"); 10080 6817 if (!status) { 10081 6818 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item det_type"); 10082 6819 return false; 10083 6820 } 10084 state = psMetadataLookupPtr(&status, md, "state");6821 char* state = psMetadataLookupPtr(&status, md, "state"); 10085 6822 if (!status) { 10086 6823 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item state"); … … 10208 6945 bool detInputExpCreateTable(psDB *dbh) 10209 6946 { 10210 psMetadata *md; 10211 bool status; 10212 10213 md = psMetadataAlloc(); 10214 if (!psMetadataAddS32(md, PS_LIST_TAIL, "det_id", 0, "Primary Key", 0)) { 6947 psMetadata *md = psMetadataAlloc(); 6948 if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, "Primary Key", 0)) { 10215 6949 psError(PS_ERR_UNKNOWN, false, "failed to add item det_id"); 10216 6950 psFree(md); 10217 6951 return false; 10218 6952 } 10219 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "iteration", 0, "Primary Key", 0)) {6953 if (!psMetadataAdd(md, PS_LIST_TAIL, "iteration", PS_DATA_S32, "Primary Key", 0)) { 10220 6954 psError(PS_ERR_UNKNOWN, false, "failed to add item iteration"); 10221 6955 psFree(md); 10222 6956 return false; 10223 6957 } 10224 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "exp_tag", 0, "Primary Key", "64")) {6958 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, "Primary Key", "64")) { 10225 6959 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag"); 10226 6960 psFree(md); 10227 6961 return false; 10228 6962 } 10229 if (!psMetadataAdd(md, PS_LIST_TAIL, "include", PS_DATA_BOOL, NULL, false)) {6963 if (!psMetadataAdd(md, PS_LIST_TAIL, "include", PS_DATA_BOOL, NULL, 0)) { 10230 6964 psError(PS_ERR_UNKNOWN, false, "failed to add item include"); 10231 6965 psFree(md); … … 10233 6967 } 10234 6968 10235 status = psDBCreateTable(dbh, DETINPUTEXP_TABLE_NAME, md);6969 bool status = psDBCreateTable(dbh, DETINPUTEXP_TABLE_NAME, md); 10236 6970 10237 6971 psFree(md); … … 10247 6981 bool detInputExpInsert(psDB * dbh, psS32 det_id, psS32 iteration, const char *exp_tag, bool include) 10248 6982 { 10249 psMetadata *md; 10250 bool status; 10251 10252 md = psMetadataAlloc(); 10253 if (!psMetadataAddS32(md, PS_LIST_TAIL, "det_id", 0, NULL, det_id)) { 6983 psMetadata *md = psMetadataAlloc(); 6984 if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, NULL, det_id)) { 10254 6985 psError(PS_ERR_UNKNOWN, false, "failed to add item det_id"); 10255 6986 psFree(md); 10256 6987 return false; 10257 6988 } 10258 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "iteration", 0, NULL, iteration)) {6989 if (!psMetadataAdd(md, PS_LIST_TAIL, "iteration", PS_DATA_S32, NULL, iteration)) { 10259 6990 psError(PS_ERR_UNKNOWN, false, "failed to add item iteration"); 10260 6991 psFree(md); 10261 6992 return false; 10262 6993 } 10263 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "exp_tag", 0, NULL, exp_tag)) {6994 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, NULL, exp_tag)) { 10264 6995 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag"); 10265 6996 psFree(md); … … 10272 7003 } 10273 7004 10274 status = psDBInsertOneRow(dbh, DETINPUTEXP_TABLE_NAME, md);7005 bool status = psDBInsertOneRow(dbh, DETINPUTEXP_TABLE_NAME, md); 10275 7006 psFree(md); 10276 7007 … … 10366 7097 psMetadata *detInputExpMetadataFromObject(const detInputExpRow *object) 10367 7098 { 10368 psMetadata *md; 10369 10370 md = psMetadataAlloc(); 10371 if (!psMetadataAddS32(md, PS_LIST_TAIL, "det_id", 0, NULL, object->det_id)) { 7099 psMetadata *md = psMetadataAlloc(); 7100 if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, NULL, object->det_id)) { 10372 7101 psError(PS_ERR_UNKNOWN, false, "failed to add item det_id"); 10373 7102 psFree(md); 10374 return NULL;10375 } 10376 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "iteration", 0, NULL, object->iteration)) {7103 return false; 7104 } 7105 if (!psMetadataAdd(md, PS_LIST_TAIL, "iteration", PS_DATA_S32, NULL, object->iteration)) { 10377 7106 psError(PS_ERR_UNKNOWN, false, "failed to add item iteration"); 10378 7107 psFree(md); 10379 return NULL;10380 } 10381 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "exp_tag", 0, NULL, object->exp_tag)) {7108 return false; 7109 } 7110 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, NULL, object->exp_tag)) { 10382 7111 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag"); 10383 7112 psFree(md); 10384 return NULL;7113 return false; 10385 7114 } 10386 7115 if (!psMetadataAdd(md, PS_LIST_TAIL, "include", PS_DATA_BOOL, NULL, object->include)) { 10387 7116 psError(PS_ERR_UNKNOWN, false, "failed to add item include"); 10388 7117 psFree(md); 10389 return NULL; 10390 } 7118 return false; 7119 } 7120 10391 7121 10392 7122 return md; … … 10395 7125 detInputExpRow *detInputExpObjectFromMetadata(psMetadata *md) 10396 7126 { 10397 bool status; 10398 psS32 det_id; 10399 psS32 iteration; 10400 char *exp_tag; 10401 bool include; 10402 10403 det_id = psMetadataLookupS32(&status, md, "det_id"); 7127 7128 bool status = false; 7129 psS32 det_id = psMetadataLookupS32(&status, md, "det_id"); 10404 7130 if (!status) { 10405 7131 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item det_id"); 10406 7132 return false; 10407 7133 } 10408 iteration = psMetadataLookupS32(&status, md, "iteration");7134 psS32 iteration = psMetadataLookupS32(&status, md, "iteration"); 10409 7135 if (!status) { 10410 7136 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iteration"); 10411 7137 return false; 10412 7138 } 10413 exp_tag = psMetadataLookupPtr(&status, md, "exp_tag");7139 char* exp_tag = psMetadataLookupPtr(&status, md, "exp_tag"); 10414 7140 if (!status) { 10415 7141 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_tag"); 10416 7142 return false; 10417 7143 } 10418 include = psMetadataLookupBool(&status, md, "include");7144 bool include = psMetadataLookupBool(&status, md, "include"); 10419 7145 if (!status) { 10420 7146 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item include"); … … 10553 7279 bool detProcessedImfileCreateTable(psDB *dbh) 10554 7280 { 10555 psMetadata *md; 10556 bool status; 10557 10558 md = psMetadataAlloc(); 10559 if (!psMetadataAddS32(md, PS_LIST_TAIL, "det_id", 0, "Primary Key", 0)) { 7281 psMetadata *md = psMetadataAlloc(); 7282 if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, "Primary Key", 0)) { 10560 7283 psError(PS_ERR_UNKNOWN, false, "failed to add item det_id"); 10561 7284 psFree(md); 10562 7285 return false; 10563 7286 } 10564 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "exp_tag", 0, "Primary Key", "64")) {7287 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, "Primary Key", "64")) { 10565 7288 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag"); 10566 7289 psFree(md); 10567 7290 return false; 10568 7291 } 10569 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "class_id", 0, "Primary Key", "64")) {7292 if (!psMetadataAdd(md, PS_LIST_TAIL, "class_id", PS_DATA_STRING, "Primary Key", "64")) { 10570 7293 psError(PS_ERR_UNKNOWN, false, "failed to add item class_id"); 10571 7294 psFree(md); 10572 7295 return false; 10573 7296 } 10574 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "uri", 0, NULL, "255")) {7297 if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, "255")) { 10575 7298 psError(PS_ERR_UNKNOWN, false, "failed to add item uri"); 10576 7299 psFree(md); 10577 7300 return false; 10578 7301 } 10579 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "recipe", 0, NULL, "64")) {7302 if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, "64")) { 10580 7303 psError(PS_ERR_UNKNOWN, false, "failed to add item recipe"); 10581 7304 psFree(md); 10582 7305 return false; 10583 7306 } 10584 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg", 0, NULL, 0.0)) {7307 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, 0.0)) { 10585 7308 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); 10586 7309 psFree(md); 10587 7310 return false; 10588 7311 } 10589 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, 0.0)) {7312 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, 0.0)) { 10590 7313 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev"); 10591 7314 psFree(md); 10592 7315 return false; 10593 7316 } 10594 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, 0.0)) {7317 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, 0.0)) { 10595 7318 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev"); 10596 7319 psFree(md); 10597 7320 return false; 10598 7321 } 10599 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "b1_uri", 0, NULL, "255")) {7322 if (!psMetadataAdd(md, PS_LIST_TAIL, "b1_uri", PS_DATA_STRING, NULL, "255")) { 10600 7323 psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri"); 10601 7324 psFree(md); 10602 7325 return false; 10603 7326 } 10604 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "b2_uri", 0, NULL, "255")) {7327 if (!psMetadataAdd(md, PS_LIST_TAIL, "b2_uri", PS_DATA_STRING, NULL, "255")) { 10605 7328 psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri"); 10606 7329 psFree(md); … … 10608 7331 } 10609 7332 10610 status = psDBCreateTable(dbh, DETPROCESSEDIMFILE_TABLE_NAME, md);7333 bool status = psDBCreateTable(dbh, DETPROCESSEDIMFILE_TABLE_NAME, md); 10611 7334 10612 7335 psFree(md); … … 10622 7345 bool detProcessedImfileInsert(psDB * dbh, psS32 det_id, const char *exp_tag, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *b1_uri, const char *b2_uri) 10623 7346 { 10624 psMetadata *md; 10625 bool status; 10626 10627 md = psMetadataAlloc(); 10628 if (!psMetadataAddS32(md, PS_LIST_TAIL, "det_id", 0, NULL, det_id)) { 7347 psMetadata *md = psMetadataAlloc(); 7348 if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, NULL, det_id)) { 10629 7349 psError(PS_ERR_UNKNOWN, false, "failed to add item det_id"); 10630 7350 psFree(md); 10631 7351 return false; 10632 7352 } 10633 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "exp_tag", 0, NULL, exp_tag)) {7353 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, NULL, exp_tag)) { 10634 7354 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag"); 10635 7355 psFree(md); 10636 7356 return false; 10637 7357 } 10638 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "class_id", 0, NULL, class_id)) {7358 if (!psMetadataAdd(md, PS_LIST_TAIL, "class_id", PS_DATA_STRING, NULL, class_id)) { 10639 7359 psError(PS_ERR_UNKNOWN, false, "failed to add item class_id"); 10640 7360 psFree(md); 10641 7361 return false; 10642 7362 } 10643 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "uri", 0, NULL, uri)) {7363 if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, uri)) { 10644 7364 psError(PS_ERR_UNKNOWN, false, "failed to add item uri"); 10645 7365 psFree(md); 10646 7366 return false; 10647 7367 } 10648 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "recipe", 0, NULL, recipe)) {7368 if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, recipe)) { 10649 7369 psError(PS_ERR_UNKNOWN, false, "failed to add item recipe"); 10650 7370 psFree(md); 10651 7371 return false; 10652 7372 } 10653 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg", 0, NULL, bg)) {7373 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, bg)) { 10654 7374 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); 10655 7375 psFree(md); 10656 7376 return false; 10657 7377 } 10658 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, bg_stdev)) {7378 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, bg_stdev)) { 10659 7379 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev"); 10660 7380 psFree(md); 10661 7381 return false; 10662 7382 } 10663 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, bg_mean_stdev)) {7383 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, bg_mean_stdev)) { 10664 7384 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev"); 10665 7385 psFree(md); 10666 7386 return false; 10667 7387 } 10668 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "b1_uri", 0, NULL, b1_uri)) {7388 if (!psMetadataAdd(md, PS_LIST_TAIL, "b1_uri", PS_DATA_STRING, NULL, b1_uri)) { 10669 7389 psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri"); 10670 7390 psFree(md); 10671 7391 return false; 10672 7392 } 10673 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "b2_uri", 0, NULL, b2_uri)) {7393 if (!psMetadataAdd(md, PS_LIST_TAIL, "b2_uri", PS_DATA_STRING, NULL, b2_uri)) { 10674 7394 psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri"); 10675 7395 psFree(md); … … 10677 7397 } 10678 7398 10679 status = psDBInsertOneRow(dbh, DETPROCESSEDIMFILE_TABLE_NAME, md);7399 bool status = psDBInsertOneRow(dbh, DETPROCESSEDIMFILE_TABLE_NAME, md); 10680 7400 psFree(md); 10681 7401 … … 10771 7491 psMetadata *detProcessedImfileMetadataFromObject(const detProcessedImfileRow *object) 10772 7492 { 10773 psMetadata *md; 10774 10775 md = psMetadataAlloc(); 10776 if (!psMetadataAddS32(md, PS_LIST_TAIL, "det_id", 0, NULL, object->det_id)) { 7493 psMetadata *md = psMetadataAlloc(); 7494 if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, NULL, object->det_id)) { 10777 7495 psError(PS_ERR_UNKNOWN, false, "failed to add item det_id"); 10778 7496 psFree(md); 10779 return NULL;10780 } 10781 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "exp_tag", 0, NULL, object->exp_tag)) {7497 return false; 7498 } 7499 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, NULL, object->exp_tag)) { 10782 7500 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag"); 10783 7501 psFree(md); 10784 return NULL;10785 } 10786 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "class_id", 0, NULL, object->class_id)) {7502 return false; 7503 } 7504 if (!psMetadataAdd(md, PS_LIST_TAIL, "class_id", PS_DATA_STRING, NULL, object->class_id)) { 10787 7505 psError(PS_ERR_UNKNOWN, false, "failed to add item class_id"); 10788 7506 psFree(md); 10789 return NULL;10790 } 10791 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "uri", 0, NULL, object->uri)) {7507 return false; 7508 } 7509 if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, object->uri)) { 10792 7510 psError(PS_ERR_UNKNOWN, false, "failed to add item uri"); 10793 7511 psFree(md); 10794 return NULL;10795 } 10796 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "recipe", 0, NULL, object->recipe)) {7512 return false; 7513 } 7514 if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, object->recipe)) { 10797 7515 psError(PS_ERR_UNKNOWN, false, "failed to add item recipe"); 10798 7516 psFree(md); 10799 return NULL;10800 } 10801 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg", 0, NULL, object->bg)) {7517 return false; 7518 } 7519 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, object->bg)) { 10802 7520 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); 10803 7521 psFree(md); 10804 return NULL;10805 } 10806 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, object->bg_stdev)) {7522 return false; 7523 } 7524 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, object->bg_stdev)) { 10807 7525 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev"); 10808 7526 psFree(md); 10809 return NULL;10810 } 10811 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, object->bg_mean_stdev)) {7527 return false; 7528 } 7529 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, object->bg_mean_stdev)) { 10812 7530 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev"); 10813 7531 psFree(md); 10814 return NULL;10815 } 10816 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "b1_uri", 0, NULL, object->b1_uri)) {7532 return false; 7533 } 7534 if (!psMetadataAdd(md, PS_LIST_TAIL, "b1_uri", PS_DATA_STRING, NULL, object->b1_uri)) { 10817 7535 psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri"); 10818 7536 psFree(md); 10819 return NULL;10820 } 10821 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "b2_uri", 0, NULL, object->b2_uri)) {7537 return false; 7538 } 7539 if (!psMetadataAdd(md, PS_LIST_TAIL, "b2_uri", PS_DATA_STRING, NULL, object->b2_uri)) { 10822 7540 psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri"); 10823 7541 psFree(md); 10824 return NULL; 10825 } 7542 return false; 7543 } 7544 10826 7545 10827 7546 return md; … … 10830 7549 detProcessedImfileRow *detProcessedImfileObjectFromMetadata(psMetadata *md) 10831 7550 { 10832 bool status; 10833 psS32 det_id; 10834 char *exp_tag; 10835 char *class_id; 10836 char *uri; 10837 char *recipe; 10838 psF64 bg; 10839 psF64 bg_stdev; 10840 psF64 bg_mean_stdev; 10841 char *b1_uri; 10842 char *b2_uri; 10843 10844 det_id = psMetadataLookupS32(&status, md, "det_id"); 7551 7552 bool status = false; 7553 psS32 det_id = psMetadataLookupS32(&status, md, "det_id"); 10845 7554 if (!status) { 10846 7555 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item det_id"); 10847 7556 return false; 10848 7557 } 10849 exp_tag = psMetadataLookupPtr(&status, md, "exp_tag");7558 char* exp_tag = psMetadataLookupPtr(&status, md, "exp_tag"); 10850 7559 if (!status) { 10851 7560 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_tag"); 10852 7561 return false; 10853 7562 } 10854 c lass_id = psMetadataLookupPtr(&status, md, "class_id");7563 char* class_id = psMetadataLookupPtr(&status, md, "class_id"); 10855 7564 if (!status) { 10856 7565 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item class_id"); 10857 7566 return false; 10858 7567 } 10859 uri = psMetadataLookupPtr(&status, md, "uri");7568 char* uri = psMetadataLookupPtr(&status, md, "uri"); 10860 7569 if (!status) { 10861 7570 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item uri"); 10862 7571 return false; 10863 7572 } 10864 recipe = psMetadataLookupPtr(&status, md, "recipe");7573 char* recipe = psMetadataLookupPtr(&status, md, "recipe"); 10865 7574 if (!status) { 10866 7575 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item recipe"); 10867 7576 return false; 10868 7577 } 10869 bg = psMetadataLookupF64(&status, md, "bg");7578 psF64 bg = psMetadataLookupF64(&status, md, "bg"); 10870 7579 if (!status) { 10871 7580 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg"); 10872 7581 return false; 10873 7582 } 10874 bg_stdev = psMetadataLookupF64(&status, md, "bg_stdev");7583 psF64 bg_stdev = psMetadataLookupF64(&status, md, "bg_stdev"); 10875 7584 if (!status) { 10876 7585 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_stdev"); 10877 7586 return false; 10878 7587 } 10879 bg_mean_stdev = psMetadataLookupF64(&status, md, "bg_mean_stdev");7588 psF64 bg_mean_stdev = psMetadataLookupF64(&status, md, "bg_mean_stdev"); 10880 7589 if (!status) { 10881 7590 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_mean_stdev"); 10882 7591 return false; 10883 7592 } 10884 b1_uri = psMetadataLookupPtr(&status, md, "b1_uri");7593 char* b1_uri = psMetadataLookupPtr(&status, md, "b1_uri"); 10885 7594 if (!status) { 10886 7595 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item b1_uri"); 10887 7596 return false; 10888 7597 } 10889 b2_uri = psMetadataLookupPtr(&status, md, "b2_uri");7598 char* b2_uri = psMetadataLookupPtr(&status, md, "b2_uri"); 10890 7599 if (!status) { 10891 7600 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item b2_uri"); … … 11020 7729 bool detProcessedExpCreateTable(psDB *dbh) 11021 7730 { 11022 psMetadata *md; 11023 bool status; 11024 11025 md = psMetadataAlloc(); 11026 if (!psMetadataAddS32(md, PS_LIST_TAIL, "det_id", 0, "Primary Key", 0)) { 7731 psMetadata *md = psMetadataAlloc(); 7732 if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, "Primary Key", 0)) { 11027 7733 psError(PS_ERR_UNKNOWN, false, "failed to add item det_id"); 11028 7734 psFree(md); 11029 7735 return false; 11030 7736 } 11031 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "exp_tag", 0, "Primary Key", "64")) {7737 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, "Primary Key", "64")) { 11032 7738 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag"); 11033 7739 psFree(md); 11034 7740 return false; 11035 7741 } 11036 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "recipe", 0, NULL, "64")) {7742 if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, "64")) { 11037 7743 psError(PS_ERR_UNKNOWN, false, "failed to add item recipe"); 11038 7744 psFree(md); 11039 7745 return false; 11040 7746 } 11041 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg", 0, NULL, 0.0)) {7747 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, 0.0)) { 11042 7748 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); 11043 7749 psFree(md); 11044 7750 return false; 11045 7751 } 11046 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, 0.0)) {7752 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, 0.0)) { 11047 7753 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev"); 11048 7754 psFree(md); 11049 7755 return false; 11050 7756 } 11051 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, 0.0)) {7757 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, 0.0)) { 11052 7758 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev"); 11053 7759 psFree(md); 11054 7760 return false; 11055 7761 } 11056 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "b1_uri", 0, NULL, "255")) {7762 if (!psMetadataAdd(md, PS_LIST_TAIL, "b1_uri", PS_DATA_STRING, NULL, "255")) { 11057 7763 psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri"); 11058 7764 psFree(md); 11059 7765 return false; 11060 7766 } 11061 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "b2_uri", 0, NULL, "255")) {7767 if (!psMetadataAdd(md, PS_LIST_TAIL, "b2_uri", PS_DATA_STRING, NULL, "255")) { 11062 7768 psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri"); 11063 7769 psFree(md); … … 11065 7771 } 11066 7772 11067 status = psDBCreateTable(dbh, DETPROCESSEDEXP_TABLE_NAME, md);7773 bool status = psDBCreateTable(dbh, DETPROCESSEDEXP_TABLE_NAME, md); 11068 7774 11069 7775 psFree(md); … … 11079 7785 bool detProcessedExpInsert(psDB * dbh, psS32 det_id, const char *exp_tag, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *b1_uri, const char *b2_uri) 11080 7786 { 11081 psMetadata *md; 11082 bool status; 11083 11084 md = psMetadataAlloc(); 11085 if (!psMetadataAddS32(md, PS_LIST_TAIL, "det_id", 0, NULL, det_id)) { 7787 psMetadata *md = psMetadataAlloc(); 7788 if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, NULL, det_id)) { 11086 7789 psError(PS_ERR_UNKNOWN, false, "failed to add item det_id"); 11087 7790 psFree(md); 11088 7791 return false; 11089 7792 } 11090 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "exp_tag", 0, NULL, exp_tag)) {7793 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, NULL, exp_tag)) { 11091 7794 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag"); 11092 7795 psFree(md); 11093 7796 return false; 11094 7797 } 11095 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "recipe", 0, NULL, recipe)) {7798 if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, recipe)) { 11096 7799 psError(PS_ERR_UNKNOWN, false, "failed to add item recipe"); 11097 7800 psFree(md); 11098 7801 return false; 11099 7802 } 11100 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg", 0, NULL, bg)) {7803 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, bg)) { 11101 7804 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); 11102 7805 psFree(md); 11103 7806 return false; 11104 7807 } 11105 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, bg_stdev)) {7808 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, bg_stdev)) { 11106 7809 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev"); 11107 7810 psFree(md); 11108 7811 return false; 11109 7812 } 11110 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, bg_mean_stdev)) {7813 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, bg_mean_stdev)) { 11111 7814 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev"); 11112 7815 psFree(md); 11113 7816 return false; 11114 7817 } 11115 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "b1_uri", 0, NULL, b1_uri)) {7818 if (!psMetadataAdd(md, PS_LIST_TAIL, "b1_uri", PS_DATA_STRING, NULL, b1_uri)) { 11116 7819 psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri"); 11117 7820 psFree(md); 11118 7821 return false; 11119 7822 } 11120 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "b2_uri", 0, NULL, b2_uri)) {7823 if (!psMetadataAdd(md, PS_LIST_TAIL, "b2_uri", PS_DATA_STRING, NULL, b2_uri)) { 11121 7824 psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri"); 11122 7825 psFree(md); … … 11124 7827 } 11125 7828 11126 status = psDBInsertOneRow(dbh, DETPROCESSEDEXP_TABLE_NAME, md);7829 bool status = psDBInsertOneRow(dbh, DETPROCESSEDEXP_TABLE_NAME, md); 11127 7830 psFree(md); 11128 7831 … … 11218 7921 psMetadata *detProcessedExpMetadataFromObject(const detProcessedExpRow *object) 11219 7922 { 11220 psMetadata *md; 11221 11222 md = psMetadataAlloc(); 11223 if (!psMetadataAddS32(md, PS_LIST_TAIL, "det_id", 0, NULL, object->det_id)) { 7923 psMetadata *md = psMetadataAlloc(); 7924 if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, NULL, object->det_id)) { 11224 7925 psError(PS_ERR_UNKNOWN, false, "failed to add item det_id"); 11225 7926 psFree(md); 11226 return NULL;11227 } 11228 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "exp_tag", 0, NULL, object->exp_tag)) {7927 return false; 7928 } 7929 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, NULL, object->exp_tag)) { 11229 7930 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag"); 11230 7931 psFree(md); 11231 return NULL;11232 } 11233 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "recipe", 0, NULL, object->recipe)) {7932 return false; 7933 } 7934 if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, object->recipe)) { 11234 7935 psError(PS_ERR_UNKNOWN, false, "failed to add item recipe"); 11235 7936 psFree(md); 11236 return NULL;11237 } 11238 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg", 0, NULL, object->bg)) {7937 return false; 7938 } 7939 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, object->bg)) { 11239 7940 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); 11240 7941 psFree(md); 11241 return NULL;11242 } 11243 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, object->bg_stdev)) {7942 return false; 7943 } 7944 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, object->bg_stdev)) { 11244 7945 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev"); 11245 7946 psFree(md); 11246 return NULL;11247 } 11248 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, object->bg_mean_stdev)) {7947 return false; 7948 } 7949 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, object->bg_mean_stdev)) { 11249 7950 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev"); 11250 7951 psFree(md); 11251 return NULL;11252 } 11253 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "b1_uri", 0, NULL, object->b1_uri)) {7952 return false; 7953 } 7954 if (!psMetadataAdd(md, PS_LIST_TAIL, "b1_uri", PS_DATA_STRING, NULL, object->b1_uri)) { 11254 7955 psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri"); 11255 7956 psFree(md); 11256 return NULL;11257 } 11258 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "b2_uri", 0, NULL, object->b2_uri)) {7957 return false; 7958 } 7959 if (!psMetadataAdd(md, PS_LIST_TAIL, "b2_uri", PS_DATA_STRING, NULL, object->b2_uri)) { 11259 7960 psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri"); 11260 7961 psFree(md); 11261 return NULL; 11262 } 7962 return false; 7963 } 7964 11263 7965 11264 7966 return md; … … 11267 7969 detProcessedExpRow *detProcessedExpObjectFromMetadata(psMetadata *md) 11268 7970 { 11269 bool status; 11270 psS32 det_id; 11271 char *exp_tag; 11272 char *recipe; 11273 psF64 bg; 11274 psF64 bg_stdev; 11275 psF64 bg_mean_stdev; 11276 char *b1_uri; 11277 char *b2_uri; 11278 11279 det_id = psMetadataLookupS32(&status, md, "det_id"); 7971 7972 bool status = false; 7973 psS32 det_id = psMetadataLookupS32(&status, md, "det_id"); 11280 7974 if (!status) { 11281 7975 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item det_id"); 11282 7976 return false; 11283 7977 } 11284 exp_tag = psMetadataLookupPtr(&status, md, "exp_tag");7978 char* exp_tag = psMetadataLookupPtr(&status, md, "exp_tag"); 11285 7979 if (!status) { 11286 7980 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_tag"); 11287 7981 return false; 11288 7982 } 11289 recipe = psMetadataLookupPtr(&status, md, "recipe");7983 char* recipe = psMetadataLookupPtr(&status, md, "recipe"); 11290 7984 if (!status) { 11291 7985 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item recipe"); 11292 7986 return false; 11293 7987 } 11294 bg = psMetadataLookupF64(&status, md, "bg");7988 psF64 bg = psMetadataLookupF64(&status, md, "bg"); 11295 7989 if (!status) { 11296 7990 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg"); 11297 7991 return false; 11298 7992 } 11299 bg_stdev = psMetadataLookupF64(&status, md, "bg_stdev");7993 psF64 bg_stdev = psMetadataLookupF64(&status, md, "bg_stdev"); 11300 7994 if (!status) { 11301 7995 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_stdev"); 11302 7996 return false; 11303 7997 } 11304 bg_mean_stdev = psMetadataLookupF64(&status, md, "bg_mean_stdev");7998 psF64 bg_mean_stdev = psMetadataLookupF64(&status, md, "bg_mean_stdev"); 11305 7999 if (!status) { 11306 8000 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_mean_stdev"); 11307 8001 return false; 11308 8002 } 11309 b1_uri = psMetadataLookupPtr(&status, md, "b1_uri");8003 char* b1_uri = psMetadataLookupPtr(&status, md, "b1_uri"); 11310 8004 if (!status) { 11311 8005 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item b1_uri"); 11312 8006 return false; 11313 8007 } 11314 b2_uri = psMetadataLookupPtr(&status, md, "b2_uri");8008 char* b2_uri = psMetadataLookupPtr(&status, md, "b2_uri"); 11315 8009 if (!status) { 11316 8010 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item b2_uri"); … … 11444 8138 bool detStackedImfileCreateTable(psDB *dbh) 11445 8139 { 11446 psMetadata *md; 11447 bool status; 11448 11449 md = psMetadataAlloc(); 11450 if (!psMetadataAddS32(md, PS_LIST_TAIL, "det_id", 0, "Primary Key", 0)) { 8140 psMetadata *md = psMetadataAlloc(); 8141 if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, "Primary Key", 0)) { 11451 8142 psError(PS_ERR_UNKNOWN, false, "failed to add item det_id"); 11452 8143 psFree(md); 11453 8144 return false; 11454 8145 } 11455 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "iteration", 0, "Primary Key", 0)) {8146 if (!psMetadataAdd(md, PS_LIST_TAIL, "iteration", PS_DATA_S32, "Primary Key", 0)) { 11456 8147 psError(PS_ERR_UNKNOWN, false, "failed to add item iteration"); 11457 8148 psFree(md); 11458 8149 return false; 11459 8150 } 11460 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "class_id", 0, "Primary Key", "64")) {8151 if (!psMetadataAdd(md, PS_LIST_TAIL, "class_id", PS_DATA_STRING, "Primary Key", "64")) { 11461 8152 psError(PS_ERR_UNKNOWN, false, "failed to add item class_id"); 11462 8153 psFree(md); 11463 8154 return false; 11464 8155 } 11465 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "uri", 0, NULL, "255")) {8156 if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, "255")) { 11466 8157 psError(PS_ERR_UNKNOWN, false, "failed to add item uri"); 11467 8158 psFree(md); 11468 8159 return false; 11469 8160 } 11470 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "recipe", 0, NULL, "64")) {8161 if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, "64")) { 11471 8162 psError(PS_ERR_UNKNOWN, false, "failed to add item recipe"); 11472 8163 psFree(md); 11473 8164 return false; 11474 8165 } 11475 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg", 0, NULL, 0.0)) {8166 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, 0.0)) { 11476 8167 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); 11477 8168 psFree(md); 11478 8169 return false; 11479 8170 } 11480 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, 0.0)) {8171 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, 0.0)) { 11481 8172 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev"); 11482 8173 psFree(md); 11483 8174 return false; 11484 8175 } 11485 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, 0.0)) {8176 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, 0.0)) { 11486 8177 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev"); 11487 8178 psFree(md); … … 11489 8180 } 11490 8181 11491 status = psDBCreateTable(dbh, DETSTACKEDIMFILE_TABLE_NAME, md);8182 bool status = psDBCreateTable(dbh, DETSTACKEDIMFILE_TABLE_NAME, md); 11492 8183 11493 8184 psFree(md); … … 11503 8194 bool detStackedImfileInsert(psDB * dbh, psS32 det_id, psS32 iteration, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev) 11504 8195 { 11505 psMetadata *md; 11506 bool status; 11507 11508 md = psMetadataAlloc(); 11509 if (!psMetadataAddS32(md, PS_LIST_TAIL, "det_id", 0, NULL, det_id)) { 8196 psMetadata *md = psMetadataAlloc(); 8197 if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, NULL, det_id)) { 11510 8198 psError(PS_ERR_UNKNOWN, false, "failed to add item det_id"); 11511 8199 psFree(md); 11512 8200 return false; 11513 8201 } 11514 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "iteration", 0, NULL, iteration)) {8202 if (!psMetadataAdd(md, PS_LIST_TAIL, "iteration", PS_DATA_S32, NULL, iteration)) { 11515 8203 psError(PS_ERR_UNKNOWN, false, "failed to add item iteration"); 11516 8204 psFree(md); 11517 8205 return false; 11518 8206 } 11519 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "class_id", 0, NULL, class_id)) {8207 if (!psMetadataAdd(md, PS_LIST_TAIL, "class_id", PS_DATA_STRING, NULL, class_id)) { 11520 8208 psError(PS_ERR_UNKNOWN, false, "failed to add item class_id"); 11521 8209 psFree(md); 11522 8210 return false; 11523 8211 } 11524 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "uri", 0, NULL, uri)) {8212 if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, uri)) { 11525 8213 psError(PS_ERR_UNKNOWN, false, "failed to add item uri"); 11526 8214 psFree(md); 11527 8215 return false; 11528 8216 } 11529 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "recipe", 0, NULL, recipe)) {8217 if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, recipe)) { 11530 8218 psError(PS_ERR_UNKNOWN, false, "failed to add item recipe"); 11531 8219 psFree(md); 11532 8220 return false; 11533 8221 } 11534 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg", 0, NULL, bg)) {8222 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, bg)) { 11535 8223 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); 11536 8224 psFree(md); 11537 8225 return false; 11538 8226 } 11539 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, bg_stdev)) {8227 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, bg_stdev)) { 11540 8228 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev"); 11541 8229 psFree(md); 11542 8230 return false; 11543 8231 } 11544 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, bg_mean_stdev)) {8232 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, bg_mean_stdev)) { 11545 8233 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev"); 11546 8234 psFree(md); … … 11548 8236 } 11549 8237 11550 status = psDBInsertOneRow(dbh, DETSTACKEDIMFILE_TABLE_NAME, md);8238 bool status = psDBInsertOneRow(dbh, DETSTACKEDIMFILE_TABLE_NAME, md); 11551 8239 psFree(md); 11552 8240 … … 11642 8330 psMetadata *detStackedImfileMetadataFromObject(const detStackedImfileRow *object) 11643 8331 { 11644 psMetadata *md; 11645 11646 md = psMetadataAlloc(); 11647 if (!psMetadataAddS32(md, PS_LIST_TAIL, "det_id", 0, NULL, object->det_id)) { 8332 psMetadata *md = psMetadataAlloc(); 8333 if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, NULL, object->det_id)) { 11648 8334 psError(PS_ERR_UNKNOWN, false, "failed to add item det_id"); 11649 8335 psFree(md); 11650 return NULL;11651 } 11652 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "iteration", 0, NULL, object->iteration)) {8336 return false; 8337 } 8338 if (!psMetadataAdd(md, PS_LIST_TAIL, "iteration", PS_DATA_S32, NULL, object->iteration)) { 11653 8339 psError(PS_ERR_UNKNOWN, false, "failed to add item iteration"); 11654 8340 psFree(md); 11655 return NULL;11656 } 11657 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "class_id", 0, NULL, object->class_id)) {8341 return false; 8342 } 8343 if (!psMetadataAdd(md, PS_LIST_TAIL, "class_id", PS_DATA_STRING, NULL, object->class_id)) { 11658 8344 psError(PS_ERR_UNKNOWN, false, "failed to add item class_id"); 11659 8345 psFree(md); 11660 return NULL;11661 } 11662 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "uri", 0, NULL, object->uri)) {8346 return false; 8347 } 8348 if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, object->uri)) { 11663 8349 psError(PS_ERR_UNKNOWN, false, "failed to add item uri"); 11664 8350 psFree(md); 11665 return NULL;11666 } 11667 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "recipe", 0, NULL, object->recipe)) {8351 return false; 8352 } 8353 if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, object->recipe)) { 11668 8354 psError(PS_ERR_UNKNOWN, false, "failed to add item recipe"); 11669 8355 psFree(md); 11670 return NULL;11671 } 11672 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg", 0, NULL, object->bg)) {8356 return false; 8357 } 8358 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, object->bg)) { 11673 8359 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); 11674 8360 psFree(md); 11675 return NULL;11676 } 11677 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, object->bg_stdev)) {8361 return false; 8362 } 8363 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, object->bg_stdev)) { 11678 8364 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev"); 11679 8365 psFree(md); 11680 return NULL;11681 } 11682 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, object->bg_mean_stdev)) {8366 return false; 8367 } 8368 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, object->bg_mean_stdev)) { 11683 8369 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev"); 11684 8370 psFree(md); 11685 return NULL; 11686 } 8371 return false; 8372 } 8373 11687 8374 11688 8375 return md; … … 11691 8378 detStackedImfileRow *detStackedImfileObjectFromMetadata(psMetadata *md) 11692 8379 { 11693 bool status; 11694 psS32 det_id; 11695 psS32 iteration; 11696 char *class_id; 11697 char *uri; 11698 char *recipe; 11699 psF64 bg; 11700 psF64 bg_stdev; 11701 psF64 bg_mean_stdev; 11702 11703 det_id = psMetadataLookupS32(&status, md, "det_id"); 8380 8381 bool status = false; 8382 psS32 det_id = psMetadataLookupS32(&status, md, "det_id"); 11704 8383 if (!status) { 11705 8384 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item det_id"); 11706 8385 return false; 11707 8386 } 11708 iteration = psMetadataLookupS32(&status, md, "iteration");8387 psS32 iteration = psMetadataLookupS32(&status, md, "iteration"); 11709 8388 if (!status) { 11710 8389 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iteration"); 11711 8390 return false; 11712 8391 } 11713 c lass_id = psMetadataLookupPtr(&status, md, "class_id");8392 char* class_id = psMetadataLookupPtr(&status, md, "class_id"); 11714 8393 if (!status) { 11715 8394 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item class_id"); 11716 8395 return false; 11717 8396 } 11718 uri = psMetadataLookupPtr(&status, md, "uri");8397 char* uri = psMetadataLookupPtr(&status, md, "uri"); 11719 8398 if (!status) { 11720 8399 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item uri"); 11721 8400 return false; 11722 8401 } 11723 recipe = psMetadataLookupPtr(&status, md, "recipe");8402 char* recipe = psMetadataLookupPtr(&status, md, "recipe"); 11724 8403 if (!status) { 11725 8404 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item recipe"); 11726 8405 return false; 11727 8406 } 11728 bg = psMetadataLookupF64(&status, md, "bg");8407 psF64 bg = psMetadataLookupF64(&status, md, "bg"); 11729 8408 if (!status) { 11730 8409 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg"); 11731 8410 return false; 11732 8411 } 11733 bg_stdev = psMetadataLookupF64(&status, md, "bg_stdev");8412 psF64 bg_stdev = psMetadataLookupF64(&status, md, "bg_stdev"); 11734 8413 if (!status) { 11735 8414 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_stdev"); 11736 8415 return false; 11737 8416 } 11738 bg_mean_stdev = psMetadataLookupF64(&status, md, "bg_mean_stdev");8417 psF64 bg_mean_stdev = psMetadataLookupF64(&status, md, "bg_mean_stdev"); 11739 8418 if (!status) { 11740 8419 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_mean_stdev"); … … 11862 8541 bool detNormalizedStatImfileCreateTable(psDB *dbh) 11863 8542 { 11864 psMetadata *md; 11865 bool status; 11866 11867 md = psMetadataAlloc(); 11868 if (!psMetadataAddS32(md, PS_LIST_TAIL, "det_id", 0, "Primary Key", 0)) { 8543 psMetadata *md = psMetadataAlloc(); 8544 if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, "Primary Key", 0)) { 11869 8545 psError(PS_ERR_UNKNOWN, false, "failed to add item det_id"); 11870 8546 psFree(md); 11871 8547 return false; 11872 8548 } 11873 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "iteration", 0, "Primary Key", 0)) {8549 if (!psMetadataAdd(md, PS_LIST_TAIL, "iteration", PS_DATA_S32, "Primary Key", 0)) { 11874 8550 psError(PS_ERR_UNKNOWN, false, "failed to add item iteration"); 11875 8551 psFree(md); 11876 8552 return false; 11877 8553 } 11878 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "class_id", 0, "Primary Key", "64")) {8554 if (!psMetadataAdd(md, PS_LIST_TAIL, "class_id", PS_DATA_STRING, "Primary Key", "64")) { 11879 8555 psError(PS_ERR_UNKNOWN, false, "failed to add item class_id"); 11880 8556 psFree(md); 11881 8557 return false; 11882 8558 } 11883 if (!psMetadataAdd F32(md, PS_LIST_TAIL, "norm", 0, NULL, 0.0)) {8559 if (!psMetadataAdd(md, PS_LIST_TAIL, "norm", PS_DATA_F32, NULL, 0.0)) { 11884 8560 psError(PS_ERR_UNKNOWN, false, "failed to add item norm"); 11885 8561 psFree(md); … … 11887 8563 } 11888 8564 11889 status = psDBCreateTable(dbh, DETNORMALIZEDSTATIMFILE_TABLE_NAME, md);8565 bool status = psDBCreateTable(dbh, DETNORMALIZEDSTATIMFILE_TABLE_NAME, md); 11890 8566 11891 8567 psFree(md); … … 11901 8577 bool detNormalizedStatImfileInsert(psDB * dbh, psS32 det_id, psS32 iteration, const char *class_id, psF32 norm) 11902 8578 { 11903 psMetadata *md; 11904 bool status; 11905 11906 md = psMetadataAlloc(); 11907 if (!psMetadataAddS32(md, PS_LIST_TAIL, "det_id", 0, NULL, det_id)) { 8579 psMetadata *md = psMetadataAlloc(); 8580 if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, NULL, det_id)) { 11908 8581 psError(PS_ERR_UNKNOWN, false, "failed to add item det_id"); 11909 8582 psFree(md); 11910 8583 return false; 11911 8584 } 11912 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "iteration", 0, NULL, iteration)) {8585 if (!psMetadataAdd(md, PS_LIST_TAIL, "iteration", PS_DATA_S32, NULL, iteration)) { 11913 8586 psError(PS_ERR_UNKNOWN, false, "failed to add item iteration"); 11914 8587 psFree(md); 11915 8588 return false; 11916 8589 } 11917 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "class_id", 0, NULL, class_id)) {8590 if (!psMetadataAdd(md, PS_LIST_TAIL, "class_id", PS_DATA_STRING, NULL, class_id)) { 11918 8591 psError(PS_ERR_UNKNOWN, false, "failed to add item class_id"); 11919 8592 psFree(md); 11920 8593 return false; 11921 8594 } 11922 if (!psMetadataAdd F32(md, PS_LIST_TAIL, "norm", 0, NULL, norm)) {8595 if (!psMetadataAdd(md, PS_LIST_TAIL, "norm", PS_DATA_F32, NULL, norm)) { 11923 8596 psError(PS_ERR_UNKNOWN, false, "failed to add item norm"); 11924 8597 psFree(md); … … 11926 8599 } 11927 8600 11928 status = psDBInsertOneRow(dbh, DETNORMALIZEDSTATIMFILE_TABLE_NAME, md);8601 bool status = psDBInsertOneRow(dbh, DETNORMALIZEDSTATIMFILE_TABLE_NAME, md); 11929 8602 psFree(md); 11930 8603 … … 12020 8693 psMetadata *detNormalizedStatImfileMetadataFromObject(const detNormalizedStatImfileRow *object) 12021 8694 { 12022 psMetadata *md; 12023 12024 md = psMetadataAlloc(); 12025 if (!psMetadataAddS32(md, PS_LIST_TAIL, "det_id", 0, NULL, object->det_id)) { 8695 psMetadata *md = psMetadataAlloc(); 8696 if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, NULL, object->det_id)) { 12026 8697 psError(PS_ERR_UNKNOWN, false, "failed to add item det_id"); 12027 8698 psFree(md); 12028 return NULL;12029 } 12030 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "iteration", 0, NULL, object->iteration)) {8699 return false; 8700 } 8701 if (!psMetadataAdd(md, PS_LIST_TAIL, "iteration", PS_DATA_S32, NULL, object->iteration)) { 12031 8702 psError(PS_ERR_UNKNOWN, false, "failed to add item iteration"); 12032 8703 psFree(md); 12033 return NULL;12034 } 12035 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "class_id", 0, NULL, object->class_id)) {8704 return false; 8705 } 8706 if (!psMetadataAdd(md, PS_LIST_TAIL, "class_id", PS_DATA_STRING, NULL, object->class_id)) { 12036 8707 psError(PS_ERR_UNKNOWN, false, "failed to add item class_id"); 12037 8708 psFree(md); 12038 return NULL;12039 } 12040 if (!psMetadataAdd F32(md, PS_LIST_TAIL, "norm", 0, NULL, object->norm)) {8709 return false; 8710 } 8711 if (!psMetadataAdd(md, PS_LIST_TAIL, "norm", PS_DATA_F32, NULL, object->norm)) { 12041 8712 psError(PS_ERR_UNKNOWN, false, "failed to add item norm"); 12042 8713 psFree(md); 12043 return NULL; 12044 } 8714 return false; 8715 } 8716 12045 8717 12046 8718 return md; … … 12049 8721 detNormalizedStatImfileRow *detNormalizedStatImfileObjectFromMetadata(psMetadata *md) 12050 8722 { 12051 bool status; 12052 psS32 det_id; 12053 psS32 iteration; 12054 char *class_id; 12055 psF32 norm; 12056 12057 det_id = psMetadataLookupS32(&status, md, "det_id"); 8723 8724 bool status = false; 8725 psS32 det_id = psMetadataLookupS32(&status, md, "det_id"); 12058 8726 if (!status) { 12059 8727 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item det_id"); 12060 8728 return false; 12061 8729 } 12062 iteration = psMetadataLookupS32(&status, md, "iteration");8730 psS32 iteration = psMetadataLookupS32(&status, md, "iteration"); 12063 8731 if (!status) { 12064 8732 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iteration"); 12065 8733 return false; 12066 8734 } 12067 c lass_id = psMetadataLookupPtr(&status, md, "class_id");8735 char* class_id = psMetadataLookupPtr(&status, md, "class_id"); 12068 8736 if (!status) { 12069 8737 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item class_id"); 12070 8738 return false; 12071 8739 } 12072 norm = psMetadataLookupF32(&status, md, "norm");8740 psF32 norm = psMetadataLookupF32(&status, md, "norm"); 12073 8741 if (!status) { 12074 8742 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item norm"); … … 12204 8872 bool detNormalizedImfileCreateTable(psDB *dbh) 12205 8873 { 12206 psMetadata *md; 12207 bool status; 12208 12209 md = psMetadataAlloc(); 12210 if (!psMetadataAddS32(md, PS_LIST_TAIL, "det_id", 0, "Primary Key", 0)) { 8874 psMetadata *md = psMetadataAlloc(); 8875 if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, "Primary Key", 0)) { 12211 8876 psError(PS_ERR_UNKNOWN, false, "failed to add item det_id"); 12212 8877 psFree(md); 12213 8878 return false; 12214 8879 } 12215 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "iteration", 0, "Primary Key", 0)) {8880 if (!psMetadataAdd(md, PS_LIST_TAIL, "iteration", PS_DATA_S32, "Primary Key", 0)) { 12216 8881 psError(PS_ERR_UNKNOWN, false, "failed to add item iteration"); 12217 8882 psFree(md); 12218 8883 return false; 12219 8884 } 12220 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "class_id", 0, "Primary Key", "64")) {8885 if (!psMetadataAdd(md, PS_LIST_TAIL, "class_id", PS_DATA_STRING, "Primary Key", "64")) { 12221 8886 psError(PS_ERR_UNKNOWN, false, "failed to add item class_id"); 12222 8887 psFree(md); 12223 8888 return false; 12224 8889 } 12225 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "uri", 0, NULL, "255")) {8890 if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, "255")) { 12226 8891 psError(PS_ERR_UNKNOWN, false, "failed to add item uri"); 12227 8892 psFree(md); 12228 8893 return false; 12229 8894 } 12230 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg", 0, NULL, 0.0)) {8895 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, 0.0)) { 12231 8896 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); 12232 8897 psFree(md); 12233 8898 return false; 12234 8899 } 12235 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, 0.0)) {8900 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, 0.0)) { 12236 8901 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev"); 12237 8902 psFree(md); 12238 8903 return false; 12239 8904 } 12240 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, 0.0)) {8905 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, 0.0)) { 12241 8906 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev"); 12242 8907 psFree(md); 12243 8908 return false; 12244 8909 } 12245 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "b1_uri", 0, NULL, "255")) {8910 if (!psMetadataAdd(md, PS_LIST_TAIL, "b1_uri", PS_DATA_STRING, NULL, "255")) { 12246 8911 psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri"); 12247 8912 psFree(md); 12248 8913 return false; 12249 8914 } 12250 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "b2_uri", 0, NULL, "255")) {8915 if (!psMetadataAdd(md, PS_LIST_TAIL, "b2_uri", PS_DATA_STRING, NULL, "255")) { 12251 8916 psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri"); 12252 8917 psFree(md); … … 12254 8919 } 12255 8920 12256 status = psDBCreateTable(dbh, DETNORMALIZEDIMFILE_TABLE_NAME, md);8921 bool status = psDBCreateTable(dbh, DETNORMALIZEDIMFILE_TABLE_NAME, md); 12257 8922 12258 8923 psFree(md); … … 12268 8933 bool detNormalizedImfileInsert(psDB * dbh, psS32 det_id, psS32 iteration, const char *class_id, const char *uri, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *b1_uri, const char *b2_uri) 12269 8934 { 12270 psMetadata *md; 12271 bool status; 12272 12273 md = psMetadataAlloc(); 12274 if (!psMetadataAddS32(md, PS_LIST_TAIL, "det_id", 0, NULL, det_id)) { 8935 psMetadata *md = psMetadataAlloc(); 8936 if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, NULL, det_id)) { 12275 8937 psError(PS_ERR_UNKNOWN, false, "failed to add item det_id"); 12276 8938 psFree(md); 12277 8939 return false; 12278 8940 } 12279 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "iteration", 0, NULL, iteration)) {8941 if (!psMetadataAdd(md, PS_LIST_TAIL, "iteration", PS_DATA_S32, NULL, iteration)) { 12280 8942 psError(PS_ERR_UNKNOWN, false, "failed to add item iteration"); 12281 8943 psFree(md); 12282 8944 return false; 12283 8945 } 12284 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "class_id", 0, NULL, class_id)) {8946 if (!psMetadataAdd(md, PS_LIST_TAIL, "class_id", PS_DATA_STRING, NULL, class_id)) { 12285 8947 psError(PS_ERR_UNKNOWN, false, "failed to add item class_id"); 12286 8948 psFree(md); 12287 8949 return false; 12288 8950 } 12289 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "uri", 0, NULL, uri)) {8951 if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, uri)) { 12290 8952 psError(PS_ERR_UNKNOWN, false, "failed to add item uri"); 12291 8953 psFree(md); 12292 8954 return false; 12293 8955 } 12294 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg", 0, NULL, bg)) {8956 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, bg)) { 12295 8957 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); 12296 8958 psFree(md); 12297 8959 return false; 12298 8960 } 12299 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, bg_stdev)) {8961 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, bg_stdev)) { 12300 8962 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev"); 12301 8963 psFree(md); 12302 8964 return false; 12303 8965 } 12304 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, bg_mean_stdev)) {8966 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, bg_mean_stdev)) { 12305 8967 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev"); 12306 8968 psFree(md); 12307 8969 return false; 12308 8970 } 12309 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "b1_uri", 0, NULL, b1_uri)) {8971 if (!psMetadataAdd(md, PS_LIST_TAIL, "b1_uri", PS_DATA_STRING, NULL, b1_uri)) { 12310 8972 psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri"); 12311 8973 psFree(md); 12312 8974 return false; 12313 8975 } 12314 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "b2_uri", 0, NULL, b2_uri)) {8976 if (!psMetadataAdd(md, PS_LIST_TAIL, "b2_uri", PS_DATA_STRING, NULL, b2_uri)) { 12315 8977 psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri"); 12316 8978 psFree(md); … … 12318 8980 } 12319 8981 12320 status = psDBInsertOneRow(dbh, DETNORMALIZEDIMFILE_TABLE_NAME, md);8982 bool status = psDBInsertOneRow(dbh, DETNORMALIZEDIMFILE_TABLE_NAME, md); 12321 8983 psFree(md); 12322 8984 … … 12412 9074 psMetadata *detNormalizedImfileMetadataFromObject(const detNormalizedImfileRow *object) 12413 9075 { 12414 psMetadata *md; 12415 12416 md = psMetadataAlloc(); 12417 if (!psMetadataAddS32(md, PS_LIST_TAIL, "det_id", 0, NULL, object->det_id)) { 9076 psMetadata *md = psMetadataAlloc(); 9077 if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, NULL, object->det_id)) { 12418 9078 psError(PS_ERR_UNKNOWN, false, "failed to add item det_id"); 12419 9079 psFree(md); 12420 return NULL;12421 } 12422 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "iteration", 0, NULL, object->iteration)) {9080 return false; 9081 } 9082 if (!psMetadataAdd(md, PS_LIST_TAIL, "iteration", PS_DATA_S32, NULL, object->iteration)) { 12423 9083 psError(PS_ERR_UNKNOWN, false, "failed to add item iteration"); 12424 9084 psFree(md); 12425 return NULL;12426 } 12427 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "class_id", 0, NULL, object->class_id)) {9085 return false; 9086 } 9087 if (!psMetadataAdd(md, PS_LIST_TAIL, "class_id", PS_DATA_STRING, NULL, object->class_id)) { 12428 9088 psError(PS_ERR_UNKNOWN, false, "failed to add item class_id"); 12429 9089 psFree(md); 12430 return NULL;12431 } 12432 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "uri", 0, NULL, object->uri)) {9090 return false; 9091 } 9092 if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, object->uri)) { 12433 9093 psError(PS_ERR_UNKNOWN, false, "failed to add item uri"); 12434 9094 psFree(md); 12435 return NULL;12436 } 12437 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg", 0, NULL, object->bg)) {9095 return false; 9096 } 9097 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, object->bg)) { 12438 9098 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); 12439 9099 psFree(md); 12440 return NULL;12441 } 12442 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, object->bg_stdev)) {9100 return false; 9101 } 9102 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, object->bg_stdev)) { 12443 9103 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev"); 12444 9104 psFree(md); 12445 return NULL;12446 } 12447 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, object->bg_mean_stdev)) {9105 return false; 9106 } 9107 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, object->bg_mean_stdev)) { 12448 9108 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev"); 12449 9109 psFree(md); 12450 return NULL;12451 } 12452 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "b1_uri", 0, NULL, object->b1_uri)) {9110 return false; 9111 } 9112 if (!psMetadataAdd(md, PS_LIST_TAIL, "b1_uri", PS_DATA_STRING, NULL, object->b1_uri)) { 12453 9113 psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri"); 12454 9114 psFree(md); 12455 return NULL;12456 } 12457 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "b2_uri", 0, NULL, object->b2_uri)) {9115 return false; 9116 } 9117 if (!psMetadataAdd(md, PS_LIST_TAIL, "b2_uri", PS_DATA_STRING, NULL, object->b2_uri)) { 12458 9118 psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri"); 12459 9119 psFree(md); 12460 return NULL; 12461 } 9120 return false; 9121 } 9122 12462 9123 12463 9124 return md; … … 12466 9127 detNormalizedImfileRow *detNormalizedImfileObjectFromMetadata(psMetadata *md) 12467 9128 { 12468 bool status; 12469 psS32 det_id; 12470 psS32 iteration; 12471 char *class_id; 12472 char *uri; 12473 psF64 bg; 12474 psF64 bg_stdev; 12475 psF64 bg_mean_stdev; 12476 char *b1_uri; 12477 char *b2_uri; 12478 12479 det_id = psMetadataLookupS32(&status, md, "det_id"); 9129 9130 bool status = false; 9131 psS32 det_id = psMetadataLookupS32(&status, md, "det_id"); 12480 9132 if (!status) { 12481 9133 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item det_id"); 12482 9134 return false; 12483 9135 } 12484 iteration = psMetadataLookupS32(&status, md, "iteration");9136 psS32 iteration = psMetadataLookupS32(&status, md, "iteration"); 12485 9137 if (!status) { 12486 9138 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iteration"); 12487 9139 return false; 12488 9140 } 12489 c lass_id = psMetadataLookupPtr(&status, md, "class_id");9141 char* class_id = psMetadataLookupPtr(&status, md, "class_id"); 12490 9142 if (!status) { 12491 9143 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item class_id"); 12492 9144 return false; 12493 9145 } 12494 uri = psMetadataLookupPtr(&status, md, "uri");9146 char* uri = psMetadataLookupPtr(&status, md, "uri"); 12495 9147 if (!status) { 12496 9148 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item uri"); 12497 9149 return false; 12498 9150 } 12499 bg = psMetadataLookupF64(&status, md, "bg");9151 psF64 bg = psMetadataLookupF64(&status, md, "bg"); 12500 9152 if (!status) { 12501 9153 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg"); 12502 9154 return false; 12503 9155 } 12504 bg_stdev = psMetadataLookupF64(&status, md, "bg_stdev");9156 psF64 bg_stdev = psMetadataLookupF64(&status, md, "bg_stdev"); 12505 9157 if (!status) { 12506 9158 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_stdev"); 12507 9159 return false; 12508 9160 } 12509 bg_mean_stdev = psMetadataLookupF64(&status, md, "bg_mean_stdev");9161 psF64 bg_mean_stdev = psMetadataLookupF64(&status, md, "bg_mean_stdev"); 12510 9162 if (!status) { 12511 9163 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_mean_stdev"); 12512 9164 return false; 12513 9165 } 12514 b1_uri = psMetadataLookupPtr(&status, md, "b1_uri");9166 char* b1_uri = psMetadataLookupPtr(&status, md, "b1_uri"); 12515 9167 if (!status) { 12516 9168 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item b1_uri"); 12517 9169 return false; 12518 9170 } 12519 b2_uri = psMetadataLookupPtr(&status, md, "b2_uri");9171 char* b2_uri = psMetadataLookupPtr(&status, md, "b2_uri"); 12520 9172 if (!status) { 12521 9173 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item b2_uri"); … … 12649 9301 bool detNormalizedExpCreateTable(psDB *dbh) 12650 9302 { 12651 psMetadata *md; 12652 bool status; 12653 12654 md = psMetadataAlloc(); 12655 if (!psMetadataAddS32(md, PS_LIST_TAIL, "det_id", 0, "Primary Key", 0)) { 9303 psMetadata *md = psMetadataAlloc(); 9304 if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, "Primary Key", 0)) { 12656 9305 psError(PS_ERR_UNKNOWN, false, "failed to add item det_id"); 12657 9306 psFree(md); 12658 9307 return false; 12659 9308 } 12660 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "iteration", 0, "Primary Key", 0)) {9309 if (!psMetadataAdd(md, PS_LIST_TAIL, "iteration", PS_DATA_S32, "Primary Key", 0)) { 12661 9310 psError(PS_ERR_UNKNOWN, false, "failed to add item iteration"); 12662 9311 psFree(md); 12663 9312 return false; 12664 9313 } 12665 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "recipe", 0, NULL, "64")) {9314 if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, "64")) { 12666 9315 psError(PS_ERR_UNKNOWN, false, "failed to add item recipe"); 12667 9316 psFree(md); 12668 9317 return false; 12669 9318 } 12670 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg", 0, NULL, 0.0)) {9319 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, 0.0)) { 12671 9320 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); 12672 9321 psFree(md); 12673 9322 return false; 12674 9323 } 12675 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, 0.0)) {9324 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, 0.0)) { 12676 9325 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev"); 12677 9326 psFree(md); 12678 9327 return false; 12679 9328 } 12680 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, 0.0)) {9329 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, 0.0)) { 12681 9330 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev"); 12682 9331 psFree(md); 12683 9332 return false; 12684 9333 } 12685 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "b1_uri", 0, NULL, "255")) {9334 if (!psMetadataAdd(md, PS_LIST_TAIL, "b1_uri", PS_DATA_STRING, NULL, "255")) { 12686 9335 psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri"); 12687 9336 psFree(md); 12688 9337 return false; 12689 9338 } 12690 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "b2_uri", 0, NULL, "255")) {9339 if (!psMetadataAdd(md, PS_LIST_TAIL, "b2_uri", PS_DATA_STRING, NULL, "255")) { 12691 9340 psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri"); 12692 9341 psFree(md); … … 12694 9343 } 12695 9344 12696 status = psDBCreateTable(dbh, DETNORMALIZEDEXP_TABLE_NAME, md);9345 bool status = psDBCreateTable(dbh, DETNORMALIZEDEXP_TABLE_NAME, md); 12697 9346 12698 9347 psFree(md); … … 12708 9357 bool detNormalizedExpInsert(psDB * dbh, psS32 det_id, psS32 iteration, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *b1_uri, const char *b2_uri) 12709 9358 { 12710 psMetadata *md; 12711 bool status; 12712 12713 md = psMetadataAlloc(); 12714 if (!psMetadataAddS32(md, PS_LIST_TAIL, "det_id", 0, NULL, det_id)) { 9359 psMetadata *md = psMetadataAlloc(); 9360 if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, NULL, det_id)) { 12715 9361 psError(PS_ERR_UNKNOWN, false, "failed to add item det_id"); 12716 9362 psFree(md); 12717 9363 return false; 12718 9364 } 12719 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "iteration", 0, NULL, iteration)) {9365 if (!psMetadataAdd(md, PS_LIST_TAIL, "iteration", PS_DATA_S32, NULL, iteration)) { 12720 9366 psError(PS_ERR_UNKNOWN, false, "failed to add item iteration"); 12721 9367 psFree(md); 12722 9368 return false; 12723 9369 } 12724 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "recipe", 0, NULL, recipe)) {9370 if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, recipe)) { 12725 9371 psError(PS_ERR_UNKNOWN, false, "failed to add item recipe"); 12726 9372 psFree(md); 12727 9373 return false; 12728 9374 } 12729 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg", 0, NULL, bg)) {9375 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, bg)) { 12730 9376 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); 12731 9377 psFree(md); 12732 9378 return false; 12733 9379 } 12734 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, bg_stdev)) {9380 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, bg_stdev)) { 12735 9381 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev"); 12736 9382 psFree(md); 12737 9383 return false; 12738 9384 } 12739 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, bg_mean_stdev)) {9385 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, bg_mean_stdev)) { 12740 9386 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev"); 12741 9387 psFree(md); 12742 9388 return false; 12743 9389 } 12744 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "b1_uri", 0, NULL, b1_uri)) {9390 if (!psMetadataAdd(md, PS_LIST_TAIL, "b1_uri", PS_DATA_STRING, NULL, b1_uri)) { 12745 9391 psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri"); 12746 9392 psFree(md); 12747 9393 return false; 12748 9394 } 12749 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "b2_uri", 0, NULL, b2_uri)) {9395 if (!psMetadataAdd(md, PS_LIST_TAIL, "b2_uri", PS_DATA_STRING, NULL, b2_uri)) { 12750 9396 psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri"); 12751 9397 psFree(md); … … 12753 9399 } 12754 9400 12755 status = psDBInsertOneRow(dbh, DETNORMALIZEDEXP_TABLE_NAME, md);9401 bool status = psDBInsertOneRow(dbh, DETNORMALIZEDEXP_TABLE_NAME, md); 12756 9402 psFree(md); 12757 9403 … … 12847 9493 psMetadata *detNormalizedExpMetadataFromObject(const detNormalizedExpRow *object) 12848 9494 { 12849 psMetadata *md; 12850 12851 md = psMetadataAlloc(); 12852 if (!psMetadataAddS32(md, PS_LIST_TAIL, "det_id", 0, NULL, object->det_id)) { 9495 psMetadata *md = psMetadataAlloc(); 9496 if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, NULL, object->det_id)) { 12853 9497 psError(PS_ERR_UNKNOWN, false, "failed to add item det_id"); 12854 9498 psFree(md); 12855 return NULL;12856 } 12857 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "iteration", 0, NULL, object->iteration)) {9499 return false; 9500 } 9501 if (!psMetadataAdd(md, PS_LIST_TAIL, "iteration", PS_DATA_S32, NULL, object->iteration)) { 12858 9502 psError(PS_ERR_UNKNOWN, false, "failed to add item iteration"); 12859 9503 psFree(md); 12860 return NULL;12861 } 12862 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "recipe", 0, NULL, object->recipe)) {9504 return false; 9505 } 9506 if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, object->recipe)) { 12863 9507 psError(PS_ERR_UNKNOWN, false, "failed to add item recipe"); 12864 9508 psFree(md); 12865 return NULL;12866 } 12867 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg", 0, NULL, object->bg)) {9509 return false; 9510 } 9511 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, object->bg)) { 12868 9512 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); 12869 9513 psFree(md); 12870 return NULL;12871 } 12872 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, object->bg_stdev)) {9514 return false; 9515 } 9516 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, object->bg_stdev)) { 12873 9517 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev"); 12874 9518 psFree(md); 12875 return NULL;12876 } 12877 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, object->bg_mean_stdev)) {9519 return false; 9520 } 9521 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, object->bg_mean_stdev)) { 12878 9522 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev"); 12879 9523 psFree(md); 12880 return NULL;12881 } 12882 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "b1_uri", 0, NULL, object->b1_uri)) {9524 return false; 9525 } 9526 if (!psMetadataAdd(md, PS_LIST_TAIL, "b1_uri", PS_DATA_STRING, NULL, object->b1_uri)) { 12883 9527 psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri"); 12884 9528 psFree(md); 12885 return NULL;12886 } 12887 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "b2_uri", 0, NULL, object->b2_uri)) {9529 return false; 9530 } 9531 if (!psMetadataAdd(md, PS_LIST_TAIL, "b2_uri", PS_DATA_STRING, NULL, object->b2_uri)) { 12888 9532 psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri"); 12889 9533 psFree(md); 12890 return NULL; 12891 } 9534 return false; 9535 } 9536 12892 9537 12893 9538 return md; … … 12896 9541 detNormalizedExpRow *detNormalizedExpObjectFromMetadata(psMetadata *md) 12897 9542 { 12898 bool status; 12899 psS32 det_id; 12900 psS32 iteration; 12901 char *recipe; 12902 psF64 bg; 12903 psF64 bg_stdev; 12904 psF64 bg_mean_stdev; 12905 char *b1_uri; 12906 char *b2_uri; 12907 12908 det_id = psMetadataLookupS32(&status, md, "det_id"); 9543 9544 bool status = false; 9545 psS32 det_id = psMetadataLookupS32(&status, md, "det_id"); 12909 9546 if (!status) { 12910 9547 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item det_id"); 12911 9548 return false; 12912 9549 } 12913 iteration = psMetadataLookupS32(&status, md, "iteration");9550 psS32 iteration = psMetadataLookupS32(&status, md, "iteration"); 12914 9551 if (!status) { 12915 9552 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iteration"); 12916 9553 return false; 12917 9554 } 12918 recipe = psMetadataLookupPtr(&status, md, "recipe");9555 char* recipe = psMetadataLookupPtr(&status, md, "recipe"); 12919 9556 if (!status) { 12920 9557 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item recipe"); 12921 9558 return false; 12922 9559 } 12923 bg = psMetadataLookupF64(&status, md, "bg");9560 psF64 bg = psMetadataLookupF64(&status, md, "bg"); 12924 9561 if (!status) { 12925 9562 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg"); 12926 9563 return false; 12927 9564 } 12928 bg_stdev = psMetadataLookupF64(&status, md, "bg_stdev");9565 psF64 bg_stdev = psMetadataLookupF64(&status, md, "bg_stdev"); 12929 9566 if (!status) { 12930 9567 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_stdev"); 12931 9568 return false; 12932 9569 } 12933 bg_mean_stdev = psMetadataLookupF64(&status, md, "bg_mean_stdev");9570 psF64 bg_mean_stdev = psMetadataLookupF64(&status, md, "bg_mean_stdev"); 12934 9571 if (!status) { 12935 9572 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_mean_stdev"); 12936 9573 return false; 12937 9574 } 12938 b1_uri = psMetadataLookupPtr(&status, md, "b1_uri");9575 char* b1_uri = psMetadataLookupPtr(&status, md, "b1_uri"); 12939 9576 if (!status) { 12940 9577 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item b1_uri"); 12941 9578 return false; 12942 9579 } 12943 b2_uri = psMetadataLookupPtr(&status, md, "b2_uri");9580 char* b2_uri = psMetadataLookupPtr(&status, md, "b2_uri"); 12944 9581 if (!status) { 12945 9582 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item b2_uri"); … … 13066 9703 bool detMasterFrameCreateTable(psDB *dbh) 13067 9704 { 13068 psMetadata *md; 13069 bool status; 13070 13071 md = psMetadataAlloc(); 13072 if (!psMetadataAddS32(md, PS_LIST_TAIL, "det_id", 0, "Primary Key", 0)) { 9705 psMetadata *md = psMetadataAlloc(); 9706 if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, "Primary Key", 0)) { 13073 9707 psError(PS_ERR_UNKNOWN, false, "failed to add item det_id"); 13074 9708 psFree(md); 13075 9709 return false; 13076 9710 } 13077 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "iteration", 0, "Primary Key", 0)) {9711 if (!psMetadataAdd(md, PS_LIST_TAIL, "iteration", PS_DATA_S32, "Primary Key", 0)) { 13078 9712 psError(PS_ERR_UNKNOWN, false, "failed to add item iteration"); 13079 9713 psFree(md); 13080 9714 return false; 13081 9715 } 13082 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "comment", 0, NULL, "255")) {9716 if (!psMetadataAdd(md, PS_LIST_TAIL, "comment", PS_DATA_STRING, NULL, "255")) { 13083 9717 psError(PS_ERR_UNKNOWN, false, "failed to add item comment"); 13084 9718 psFree(md); … … 13086 9720 } 13087 9721 13088 status = psDBCreateTable(dbh, DETMASTERFRAME_TABLE_NAME, md);9722 bool status = psDBCreateTable(dbh, DETMASTERFRAME_TABLE_NAME, md); 13089 9723 13090 9724 psFree(md); … … 13100 9734 bool detMasterFrameInsert(psDB * dbh, psS32 det_id, psS32 iteration, const char *comment) 13101 9735 { 13102 psMetadata *md; 13103 bool status; 13104 13105 md = psMetadataAlloc(); 13106 if (!psMetadataAddS32(md, PS_LIST_TAIL, "det_id", 0, NULL, det_id)) { 9736 psMetadata *md = psMetadataAlloc(); 9737 if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, NULL, det_id)) { 13107 9738 psError(PS_ERR_UNKNOWN, false, "failed to add item det_id"); 13108 9739 psFree(md); 13109 9740 return false; 13110 9741 } 13111 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "iteration", 0, NULL, iteration)) {9742 if (!psMetadataAdd(md, PS_LIST_TAIL, "iteration", PS_DATA_S32, NULL, iteration)) { 13112 9743 psError(PS_ERR_UNKNOWN, false, "failed to add item iteration"); 13113 9744 psFree(md); 13114 9745 return false; 13115 9746 } 13116 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "comment", 0, NULL, comment)) {9747 if (!psMetadataAdd(md, PS_LIST_TAIL, "comment", PS_DATA_STRING, NULL, comment)) { 13117 9748 psError(PS_ERR_UNKNOWN, false, "failed to add item comment"); 13118 9749 psFree(md); … … 13120 9751 } 13121 9752 13122 status = psDBInsertOneRow(dbh, DETMASTERFRAME_TABLE_NAME, md);9753 bool status = psDBInsertOneRow(dbh, DETMASTERFRAME_TABLE_NAME, md); 13123 9754 psFree(md); 13124 9755 … … 13214 9845 psMetadata *detMasterFrameMetadataFromObject(const detMasterFrameRow *object) 13215 9846 { 13216 psMetadata *md; 13217 13218 md = psMetadataAlloc(); 13219 if (!psMetadataAddS32(md, PS_LIST_TAIL, "det_id", 0, NULL, object->det_id)) { 9847 psMetadata *md = psMetadataAlloc(); 9848 if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, NULL, object->det_id)) { 13220 9849 psError(PS_ERR_UNKNOWN, false, "failed to add item det_id"); 13221 9850 psFree(md); 13222 return NULL;13223 } 13224 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "iteration", 0, NULL, object->iteration)) {9851 return false; 9852 } 9853 if (!psMetadataAdd(md, PS_LIST_TAIL, "iteration", PS_DATA_S32, NULL, object->iteration)) { 13225 9854 psError(PS_ERR_UNKNOWN, false, "failed to add item iteration"); 13226 9855 psFree(md); 13227 return NULL;13228 } 13229 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "comment", 0, NULL, object->comment)) {9856 return false; 9857 } 9858 if (!psMetadataAdd(md, PS_LIST_TAIL, "comment", PS_DATA_STRING, NULL, object->comment)) { 13230 9859 psError(PS_ERR_UNKNOWN, false, "failed to add item comment"); 13231 9860 psFree(md); 13232 return NULL; 13233 } 9861 return false; 9862 } 9863 13234 9864 13235 9865 return md; … … 13238 9868 detMasterFrameRow *detMasterFrameObjectFromMetadata(psMetadata *md) 13239 9869 { 13240 bool status; 13241 psS32 det_id; 13242 psS32 iteration; 13243 char *comment; 13244 13245 det_id = psMetadataLookupS32(&status, md, "det_id"); 9870 9871 bool status = false; 9872 psS32 det_id = psMetadataLookupS32(&status, md, "det_id"); 13246 9873 if (!status) { 13247 9874 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item det_id"); 13248 9875 return false; 13249 9876 } 13250 iteration = psMetadataLookupS32(&status, md, "iteration");9877 psS32 iteration = psMetadataLookupS32(&status, md, "iteration"); 13251 9878 if (!status) { 13252 9879 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iteration"); 13253 9880 return false; 13254 9881 } 13255 c omment = psMetadataLookupPtr(&status, md, "comment");9882 char* comment = psMetadataLookupPtr(&status, md, "comment"); 13256 9883 if (!status) { 13257 9884 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item comment"); … … 13381 10008 bool detMasterImfileCreateTable(psDB *dbh) 13382 10009 { 13383 psMetadata *md; 13384 bool status; 13385 13386 md = psMetadataAlloc(); 13387 if (!psMetadataAddS32(md, PS_LIST_TAIL, "det_id", 0, "Primary Key", 0)) { 10010 psMetadata *md = psMetadataAlloc(); 10011 if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, "Primary Key", 0)) { 13388 10012 psError(PS_ERR_UNKNOWN, false, "failed to add item det_id"); 13389 10013 psFree(md); 13390 10014 return false; 13391 10015 } 13392 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "class_id", 0, "Primary Key", "64")) {10016 if (!psMetadataAdd(md, PS_LIST_TAIL, "class_id", PS_DATA_STRING, "Primary Key", "64")) { 13393 10017 psError(PS_ERR_UNKNOWN, false, "failed to add item class_id"); 13394 10018 psFree(md); 13395 10019 return false; 13396 10020 } 13397 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "uri", 0, NULL, "255")) {10021 if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, "255")) { 13398 10022 psError(PS_ERR_UNKNOWN, false, "failed to add item uri"); 13399 10023 psFree(md); 13400 10024 return false; 13401 10025 } 13402 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "recipe", 0, NULL, "64")) {10026 if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, "64")) { 13403 10027 psError(PS_ERR_UNKNOWN, false, "failed to add item recipe"); 13404 10028 psFree(md); … … 13406 10030 } 13407 10031 13408 status = psDBCreateTable(dbh, DETMASTERIMFILE_TABLE_NAME, md);10032 bool status = psDBCreateTable(dbh, DETMASTERIMFILE_TABLE_NAME, md); 13409 10033 13410 10034 psFree(md); … … 13420 10044 bool detMasterImfileInsert(psDB * dbh, psS32 det_id, const char *class_id, const char *uri, const char *recipe) 13421 10045 { 13422 psMetadata *md; 13423 bool status; 13424 13425 md = psMetadataAlloc(); 13426 if (!psMetadataAddS32(md, PS_LIST_TAIL, "det_id", 0, NULL, det_id)) { 10046 psMetadata *md = psMetadataAlloc(); 10047 if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, NULL, det_id)) { 13427 10048 psError(PS_ERR_UNKNOWN, false, "failed to add item det_id"); 13428 10049 psFree(md); 13429 10050 return false; 13430 10051 } 13431 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "class_id", 0, NULL, class_id)) {10052 if (!psMetadataAdd(md, PS_LIST_TAIL, "class_id", PS_DATA_STRING, NULL, class_id)) { 13432 10053 psError(PS_ERR_UNKNOWN, false, "failed to add item class_id"); 13433 10054 psFree(md); 13434 10055 return false; 13435 10056 } 13436 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "uri", 0, NULL, uri)) {10057 if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, uri)) { 13437 10058 psError(PS_ERR_UNKNOWN, false, "failed to add item uri"); 13438 10059 psFree(md); 13439 10060 return false; 13440 10061 } 13441 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "recipe", 0, NULL, recipe)) {10062 if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, recipe)) { 13442 10063 psError(PS_ERR_UNKNOWN, false, "failed to add item recipe"); 13443 10064 psFree(md); … … 13445 10066 } 13446 10067 13447 status = psDBInsertOneRow(dbh, DETMASTERIMFILE_TABLE_NAME, md);10068 bool status = psDBInsertOneRow(dbh, DETMASTERIMFILE_TABLE_NAME, md); 13448 10069 psFree(md); 13449 10070 … … 13539 10160 psMetadata *detMasterImfileMetadataFromObject(const detMasterImfileRow *object) 13540 10161 { 13541 psMetadata *md; 13542 13543 md = psMetadataAlloc(); 13544 if (!psMetadataAddS32(md, PS_LIST_TAIL, "det_id", 0, NULL, object->det_id)) { 10162 psMetadata *md = psMetadataAlloc(); 10163 if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, NULL, object->det_id)) { 13545 10164 psError(PS_ERR_UNKNOWN, false, "failed to add item det_id"); 13546 10165 psFree(md); 13547 return NULL;13548 } 13549 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "class_id", 0, NULL, object->class_id)) {10166 return false; 10167 } 10168 if (!psMetadataAdd(md, PS_LIST_TAIL, "class_id", PS_DATA_STRING, NULL, object->class_id)) { 13550 10169 psError(PS_ERR_UNKNOWN, false, "failed to add item class_id"); 13551 10170 psFree(md); 13552 return NULL;13553 } 13554 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "uri", 0, NULL, object->uri)) {10171 return false; 10172 } 10173 if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, object->uri)) { 13555 10174 psError(PS_ERR_UNKNOWN, false, "failed to add item uri"); 13556 10175 psFree(md); 13557 return NULL;13558 } 13559 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "recipe", 0, NULL, object->recipe)) {10176 return false; 10177 } 10178 if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, object->recipe)) { 13560 10179 psError(PS_ERR_UNKNOWN, false, "failed to add item recipe"); 13561 10180 psFree(md); 13562 return NULL; 13563 } 10181 return false; 10182 } 10183 13564 10184 13565 10185 return md; … … 13568 10188 detMasterImfileRow *detMasterImfileObjectFromMetadata(psMetadata *md) 13569 10189 { 13570 bool status; 13571 psS32 det_id; 13572 char *class_id; 13573 char *uri; 13574 char *recipe; 13575 13576 det_id = psMetadataLookupS32(&status, md, "det_id"); 10190 10191 bool status = false; 10192 psS32 det_id = psMetadataLookupS32(&status, md, "det_id"); 13577 10193 if (!status) { 13578 10194 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item det_id"); 13579 10195 return false; 13580 10196 } 13581 c lass_id = psMetadataLookupPtr(&status, md, "class_id");10197 char* class_id = psMetadataLookupPtr(&status, md, "class_id"); 13582 10198 if (!status) { 13583 10199 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item class_id"); 13584 10200 return false; 13585 10201 } 13586 uri = psMetadataLookupPtr(&status, md, "uri");10202 char* uri = psMetadataLookupPtr(&status, md, "uri"); 13587 10203 if (!status) { 13588 10204 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item uri"); 13589 10205 return false; 13590 10206 } 13591 recipe = psMetadataLookupPtr(&status, md, "recipe");10207 char* recipe = psMetadataLookupPtr(&status, md, "recipe"); 13592 10208 if (!status) { 13593 10209 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item recipe"); … … 13727 10343 bool detResidImfileCreateTable(psDB *dbh) 13728 10344 { 13729 psMetadata *md; 13730 bool status; 13731 13732 md = psMetadataAlloc(); 13733 if (!psMetadataAddS32(md, PS_LIST_TAIL, "det_id", 0, "Primary Key", 0)) { 10345 psMetadata *md = psMetadataAlloc(); 10346 if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, "Primary Key", 0)) { 13734 10347 psError(PS_ERR_UNKNOWN, false, "failed to add item det_id"); 13735 10348 psFree(md); 13736 10349 return false; 13737 10350 } 13738 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "iteration", 0, "Primary Key", 0)) {10351 if (!psMetadataAdd(md, PS_LIST_TAIL, "iteration", PS_DATA_S32, "Primary Key", 0)) { 13739 10352 psError(PS_ERR_UNKNOWN, false, "failed to add item iteration"); 13740 10353 psFree(md); 13741 10354 return false; 13742 10355 } 13743 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "exp_tag", 0, "Primary Key", "64")) {10356 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, "Primary Key", "64")) { 13744 10357 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag"); 13745 10358 psFree(md); 13746 10359 return false; 13747 10360 } 13748 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "class_id", 0, "Primary Key", "64")) {10361 if (!psMetadataAdd(md, PS_LIST_TAIL, "class_id", PS_DATA_STRING, "Primary Key", "64")) { 13749 10362 psError(PS_ERR_UNKNOWN, false, "failed to add item class_id"); 13750 10363 psFree(md); 13751 10364 return false; 13752 10365 } 13753 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "uri", 0, NULL, "255")) {10366 if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, "255")) { 13754 10367 psError(PS_ERR_UNKNOWN, false, "failed to add item uri"); 13755 10368 psFree(md); 13756 10369 return false; 13757 10370 } 13758 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "recipe", 0, NULL, "64")) {10371 if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, "64")) { 13759 10372 psError(PS_ERR_UNKNOWN, false, "failed to add item recipe"); 13760 10373 psFree(md); 13761 10374 return false; 13762 10375 } 13763 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg", 0, NULL, 0.0)) {10376 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, 0.0)) { 13764 10377 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); 13765 10378 psFree(md); 13766 10379 return false; 13767 10380 } 13768 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, 0.0)) {10381 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, 0.0)) { 13769 10382 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev"); 13770 10383 psFree(md); 13771 10384 return false; 13772 10385 } 13773 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, 0.0)) {10386 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, 0.0)) { 13774 10387 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev"); 13775 10388 psFree(md); 13776 10389 return false; 13777 10390 } 13778 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "b1_uri", 0, NULL, "255")) {10391 if (!psMetadataAdd(md, PS_LIST_TAIL, "b1_uri", PS_DATA_STRING, NULL, "255")) { 13779 10392 psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri"); 13780 10393 psFree(md); 13781 10394 return false; 13782 10395 } 13783 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "b2_uri", 0, NULL, "255")) {10396 if (!psMetadataAdd(md, PS_LIST_TAIL, "b2_uri", PS_DATA_STRING, NULL, "255")) { 13784 10397 psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri"); 13785 10398 psFree(md); … … 13787 10400 } 13788 10401 13789 status = psDBCreateTable(dbh, DETRESIDIMFILE_TABLE_NAME, md);10402 bool status = psDBCreateTable(dbh, DETRESIDIMFILE_TABLE_NAME, md); 13790 10403 13791 10404 psFree(md); … … 13801 10414 bool detResidImfileInsert(psDB * dbh, psS32 det_id, psS32 iteration, const char *exp_tag, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *b1_uri, const char *b2_uri) 13802 10415 { 13803 psMetadata *md; 13804 bool status; 13805 13806 md = psMetadataAlloc(); 13807 if (!psMetadataAddS32(md, PS_LIST_TAIL, "det_id", 0, NULL, det_id)) { 10416 psMetadata *md = psMetadataAlloc(); 10417 if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, NULL, det_id)) { 13808 10418 psError(PS_ERR_UNKNOWN, false, "failed to add item det_id"); 13809 10419 psFree(md); 13810 10420 return false; 13811 10421 } 13812 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "iteration", 0, NULL, iteration)) {10422 if (!psMetadataAdd(md, PS_LIST_TAIL, "iteration", PS_DATA_S32, NULL, iteration)) { 13813 10423 psError(PS_ERR_UNKNOWN, false, "failed to add item iteration"); 13814 10424 psFree(md); 13815 10425 return false; 13816 10426 } 13817 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "exp_tag", 0, NULL, exp_tag)) {10427 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, NULL, exp_tag)) { 13818 10428 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag"); 13819 10429 psFree(md); 13820 10430 return false; 13821 10431 } 13822 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "class_id", 0, NULL, class_id)) {10432 if (!psMetadataAdd(md, PS_LIST_TAIL, "class_id", PS_DATA_STRING, NULL, class_id)) { 13823 10433 psError(PS_ERR_UNKNOWN, false, "failed to add item class_id"); 13824 10434 psFree(md); 13825 10435 return false; 13826 10436 } 13827 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "uri", 0, NULL, uri)) {10437 if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, uri)) { 13828 10438 psError(PS_ERR_UNKNOWN, false, "failed to add item uri"); 13829 10439 psFree(md); 13830 10440 return false; 13831 10441 } 13832 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "recipe", 0, NULL, recipe)) {10442 if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, recipe)) { 13833 10443 psError(PS_ERR_UNKNOWN, false, "failed to add item recipe"); 13834 10444 psFree(md); 13835 10445 return false; 13836 10446 } 13837 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg", 0, NULL, bg)) {10447 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, bg)) { 13838 10448 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); 13839 10449 psFree(md); 13840 10450 return false; 13841 10451 } 13842 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, bg_stdev)) {10452 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, bg_stdev)) { 13843 10453 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev"); 13844 10454 psFree(md); 13845 10455 return false; 13846 10456 } 13847 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, bg_mean_stdev)) {10457 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, bg_mean_stdev)) { 13848 10458 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev"); 13849 10459 psFree(md); 13850 10460 return false; 13851 10461 } 13852 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "b1_uri", 0, NULL, b1_uri)) {10462 if (!psMetadataAdd(md, PS_LIST_TAIL, "b1_uri", PS_DATA_STRING, NULL, b1_uri)) { 13853 10463 psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri"); 13854 10464 psFree(md); 13855 10465 return false; 13856 10466 } 13857 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "b2_uri", 0, NULL, b2_uri)) {10467 if (!psMetadataAdd(md, PS_LIST_TAIL, "b2_uri", PS_DATA_STRING, NULL, b2_uri)) { 13858 10468 psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri"); 13859 10469 psFree(md); … … 13861 10471 } 13862 10472 13863 status = psDBInsertOneRow(dbh, DETRESIDIMFILE_TABLE_NAME, md);10473 bool status = psDBInsertOneRow(dbh, DETRESIDIMFILE_TABLE_NAME, md); 13864 10474 psFree(md); 13865 10475 … … 13955 10565 psMetadata *detResidImfileMetadataFromObject(const detResidImfileRow *object) 13956 10566 { 13957 psMetadata *md; 13958 13959 md = psMetadataAlloc(); 13960 if (!psMetadataAddS32(md, PS_LIST_TAIL, "det_id", 0, NULL, object->det_id)) { 10567 psMetadata *md = psMetadataAlloc(); 10568 if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, NULL, object->det_id)) { 13961 10569 psError(PS_ERR_UNKNOWN, false, "failed to add item det_id"); 13962 10570 psFree(md); 13963 return NULL;13964 } 13965 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "iteration", 0, NULL, object->iteration)) {10571 return false; 10572 } 10573 if (!psMetadataAdd(md, PS_LIST_TAIL, "iteration", PS_DATA_S32, NULL, object->iteration)) { 13966 10574 psError(PS_ERR_UNKNOWN, false, "failed to add item iteration"); 13967 10575 psFree(md); 13968 return NULL;13969 } 13970 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "exp_tag", 0, NULL, object->exp_tag)) {10576 return false; 10577 } 10578 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, NULL, object->exp_tag)) { 13971 10579 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag"); 13972 10580 psFree(md); 13973 return NULL;13974 } 13975 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "class_id", 0, NULL, object->class_id)) {10581 return false; 10582 } 10583 if (!psMetadataAdd(md, PS_LIST_TAIL, "class_id", PS_DATA_STRING, NULL, object->class_id)) { 13976 10584 psError(PS_ERR_UNKNOWN, false, "failed to add item class_id"); 13977 10585 psFree(md); 13978 return NULL;13979 } 13980 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "uri", 0, NULL, object->uri)) {10586 return false; 10587 } 10588 if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, object->uri)) { 13981 10589 psError(PS_ERR_UNKNOWN, false, "failed to add item uri"); 13982 10590 psFree(md); 13983 return NULL;13984 } 13985 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "recipe", 0, NULL, object->recipe)) {10591 return false; 10592 } 10593 if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, object->recipe)) { 13986 10594 psError(PS_ERR_UNKNOWN, false, "failed to add item recipe"); 13987 10595 psFree(md); 13988 return NULL;13989 } 13990 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg", 0, NULL, object->bg)) {10596 return false; 10597 } 10598 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, object->bg)) { 13991 10599 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); 13992 10600 psFree(md); 13993 return NULL;13994 } 13995 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, object->bg_stdev)) {10601 return false; 10602 } 10603 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, object->bg_stdev)) { 13996 10604 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev"); 13997 10605 psFree(md); 13998 return NULL;13999 } 14000 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, object->bg_mean_stdev)) {10606 return false; 10607 } 10608 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, object->bg_mean_stdev)) { 14001 10609 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev"); 14002 10610 psFree(md); 14003 return NULL;14004 } 14005 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "b1_uri", 0, NULL, object->b1_uri)) {10611 return false; 10612 } 10613 if (!psMetadataAdd(md, PS_LIST_TAIL, "b1_uri", PS_DATA_STRING, NULL, object->b1_uri)) { 14006 10614 psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri"); 14007 10615 psFree(md); 14008 return NULL;14009 } 14010 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "b2_uri", 0, NULL, object->b2_uri)) {10616 return false; 10617 } 10618 if (!psMetadataAdd(md, PS_LIST_TAIL, "b2_uri", PS_DATA_STRING, NULL, object->b2_uri)) { 14011 10619 psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri"); 14012 10620 psFree(md); 14013 return NULL; 14014 } 10621 return false; 10622 } 10623 14015 10624 14016 10625 return md; … … 14019 10628 detResidImfileRow *detResidImfileObjectFromMetadata(psMetadata *md) 14020 10629 { 14021 bool status; 14022 psS32 det_id; 14023 psS32 iteration; 14024 char *exp_tag; 14025 char *class_id; 14026 char *uri; 14027 char *recipe; 14028 psF64 bg; 14029 psF64 bg_stdev; 14030 psF64 bg_mean_stdev; 14031 char *b1_uri; 14032 char *b2_uri; 14033 14034 det_id = psMetadataLookupS32(&status, md, "det_id"); 10630 10631 bool status = false; 10632 psS32 det_id = psMetadataLookupS32(&status, md, "det_id"); 14035 10633 if (!status) { 14036 10634 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item det_id"); 14037 10635 return false; 14038 10636 } 14039 iteration = psMetadataLookupS32(&status, md, "iteration");10637 psS32 iteration = psMetadataLookupS32(&status, md, "iteration"); 14040 10638 if (!status) { 14041 10639 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iteration"); 14042 10640 return false; 14043 10641 } 14044 exp_tag = psMetadataLookupPtr(&status, md, "exp_tag");10642 char* exp_tag = psMetadataLookupPtr(&status, md, "exp_tag"); 14045 10643 if (!status) { 14046 10644 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_tag"); 14047 10645 return false; 14048 10646 } 14049 c lass_id = psMetadataLookupPtr(&status, md, "class_id");10647 char* class_id = psMetadataLookupPtr(&status, md, "class_id"); 14050 10648 if (!status) { 14051 10649 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item class_id"); 14052 10650 return false; 14053 10651 } 14054 uri = psMetadataLookupPtr(&status, md, "uri");10652 char* uri = psMetadataLookupPtr(&status, md, "uri"); 14055 10653 if (!status) { 14056 10654 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item uri"); 14057 10655 return false; 14058 10656 } 14059 recipe = psMetadataLookupPtr(&status, md, "recipe");10657 char* recipe = psMetadataLookupPtr(&status, md, "recipe"); 14060 10658 if (!status) { 14061 10659 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item recipe"); 14062 10660 return false; 14063 10661 } 14064 bg = psMetadataLookupF64(&status, md, "bg");10662 psF64 bg = psMetadataLookupF64(&status, md, "bg"); 14065 10663 if (!status) { 14066 10664 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg"); 14067 10665 return false; 14068 10666 } 14069 bg_stdev = psMetadataLookupF64(&status, md, "bg_stdev");10667 psF64 bg_stdev = psMetadataLookupF64(&status, md, "bg_stdev"); 14070 10668 if (!status) { 14071 10669 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_stdev"); 14072 10670 return false; 14073 10671 } 14074 bg_mean_stdev = psMetadataLookupF64(&status, md, "bg_mean_stdev");10672 psF64 bg_mean_stdev = psMetadataLookupF64(&status, md, "bg_mean_stdev"); 14075 10673 if (!status) { 14076 10674 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_mean_stdev"); 14077 10675 return false; 14078 10676 } 14079 b1_uri = psMetadataLookupPtr(&status, md, "b1_uri");10677 char* b1_uri = psMetadataLookupPtr(&status, md, "b1_uri"); 14080 10678 if (!status) { 14081 10679 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item b1_uri"); 14082 10680 return false; 14083 10681 } 14084 b2_uri = psMetadataLookupPtr(&status, md, "b2_uri");10682 char* b2_uri = psMetadataLookupPtr(&status, md, "b2_uri"); 14085 10683 if (!status) { 14086 10684 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item b2_uri"); … … 14217 10815 bool detResidExpCreateTable(psDB *dbh) 14218 10816 { 14219 psMetadata *md; 14220 bool status; 14221 14222 md = psMetadataAlloc(); 14223 if (!psMetadataAddS32(md, PS_LIST_TAIL, "det_id", 0, "Primary Key", 0)) { 10817 psMetadata *md = psMetadataAlloc(); 10818 if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, "Primary Key", 0)) { 14224 10819 psError(PS_ERR_UNKNOWN, false, "failed to add item det_id"); 14225 10820 psFree(md); 14226 10821 return false; 14227 10822 } 14228 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "iteration", 0, "Primary Key", 0)) {10823 if (!psMetadataAdd(md, PS_LIST_TAIL, "iteration", PS_DATA_S32, "Primary Key", 0)) { 14229 10824 psError(PS_ERR_UNKNOWN, false, "failed to add item iteration"); 14230 10825 psFree(md); 14231 10826 return false; 14232 10827 } 14233 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "exp_tag", 0, "Primary Key", "64")) {10828 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, "Primary Key", "64")) { 14234 10829 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag"); 14235 10830 psFree(md); 14236 10831 return false; 14237 10832 } 14238 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "recipe", 0, NULL, "64")) {10833 if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, "64")) { 14239 10834 psError(PS_ERR_UNKNOWN, false, "failed to add item recipe"); 14240 10835 psFree(md); 14241 10836 return false; 14242 10837 } 14243 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg", 0, NULL, 0.0)) {10838 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, 0.0)) { 14244 10839 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); 14245 10840 psFree(md); 14246 10841 return false; 14247 10842 } 14248 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, 0.0)) {10843 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, 0.0)) { 14249 10844 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev"); 14250 10845 psFree(md); 14251 10846 return false; 14252 10847 } 14253 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, 0.0)) {10848 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, 0.0)) { 14254 10849 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev"); 14255 10850 psFree(md); 14256 10851 return false; 14257 10852 } 14258 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "b1_uri", 0, NULL, "255")) {10853 if (!psMetadataAdd(md, PS_LIST_TAIL, "b1_uri", PS_DATA_STRING, NULL, "255")) { 14259 10854 psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri"); 14260 10855 psFree(md); 14261 10856 return false; 14262 10857 } 14263 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "b2_uri", 0, NULL, "255")) {10858 if (!psMetadataAdd(md, PS_LIST_TAIL, "b2_uri", PS_DATA_STRING, NULL, "255")) { 14264 10859 psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri"); 14265 10860 psFree(md); 14266 10861 return false; 14267 10862 } 14268 if (!psMetadataAdd(md, PS_LIST_TAIL, "accept", PS_DATA_BOOL, NULL, false)) {10863 if (!psMetadataAdd(md, PS_LIST_TAIL, "accept", PS_DATA_BOOL, NULL, 0)) { 14269 10864 psError(PS_ERR_UNKNOWN, false, "failed to add item accept"); 14270 10865 psFree(md); … … 14272 10867 } 14273 10868 14274 status = psDBCreateTable(dbh, DETRESIDEXP_TABLE_NAME, md);10869 bool status = psDBCreateTable(dbh, DETRESIDEXP_TABLE_NAME, md); 14275 10870 14276 10871 psFree(md); … … 14286 10881 bool detResidExpInsert(psDB * dbh, psS32 det_id, psS32 iteration, const char *exp_tag, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *b1_uri, const char *b2_uri, bool accept) 14287 10882 { 14288 psMetadata *md; 14289 bool status; 14290 14291 md = psMetadataAlloc(); 14292 if (!psMetadataAddS32(md, PS_LIST_TAIL, "det_id", 0, NULL, det_id)) { 10883 psMetadata *md = psMetadataAlloc(); 10884 if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, NULL, det_id)) { 14293 10885 psError(PS_ERR_UNKNOWN, false, "failed to add item det_id"); 14294 10886 psFree(md); 14295 10887 return false; 14296 10888 } 14297 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "iteration", 0, NULL, iteration)) {10889 if (!psMetadataAdd(md, PS_LIST_TAIL, "iteration", PS_DATA_S32, NULL, iteration)) { 14298 10890 psError(PS_ERR_UNKNOWN, false, "failed to add item iteration"); 14299 10891 psFree(md); 14300 10892 return false; 14301 10893 } 14302 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "exp_tag", 0, NULL, exp_tag)) {10894 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, NULL, exp_tag)) { 14303 10895 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag"); 14304 10896 psFree(md); 14305 10897 return false; 14306 10898 } 14307 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "recipe", 0, NULL, recipe)) {10899 if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, recipe)) { 14308 10900 psError(PS_ERR_UNKNOWN, false, "failed to add item recipe"); 14309 10901 psFree(md); 14310 10902 return false; 14311 10903 } 14312 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg", 0, NULL, bg)) {10904 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, bg)) { 14313 10905 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); 14314 10906 psFree(md); 14315 10907 return false; 14316 10908 } 14317 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, bg_stdev)) {10909 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, bg_stdev)) { 14318 10910 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev"); 14319 10911 psFree(md); 14320 10912 return false; 14321 10913 } 14322 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, bg_mean_stdev)) {10914 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, bg_mean_stdev)) { 14323 10915 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev"); 14324 10916 psFree(md); 14325 10917 return false; 14326 10918 } 14327 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "b1_uri", 0, NULL, b1_uri)) {10919 if (!psMetadataAdd(md, PS_LIST_TAIL, "b1_uri", PS_DATA_STRING, NULL, b1_uri)) { 14328 10920 psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri"); 14329 10921 psFree(md); 14330 10922 return false; 14331 10923 } 14332 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "b2_uri", 0, NULL, b2_uri)) {10924 if (!psMetadataAdd(md, PS_LIST_TAIL, "b2_uri", PS_DATA_STRING, NULL, b2_uri)) { 14333 10925 psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri"); 14334 10926 psFree(md); … … 14341 10933 } 14342 10934 14343 status = psDBInsertOneRow(dbh, DETRESIDEXP_TABLE_NAME, md);10935 bool status = psDBInsertOneRow(dbh, DETRESIDEXP_TABLE_NAME, md); 14344 10936 psFree(md); 14345 10937 … … 14435 11027 psMetadata *detResidExpMetadataFromObject(const detResidExpRow *object) 14436 11028 { 14437 psMetadata *md; 14438 14439 md = psMetadataAlloc(); 14440 if (!psMetadataAddS32(md, PS_LIST_TAIL, "det_id", 0, NULL, object->det_id)) { 11029 psMetadata *md = psMetadataAlloc(); 11030 if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, NULL, object->det_id)) { 14441 11031 psError(PS_ERR_UNKNOWN, false, "failed to add item det_id"); 14442 11032 psFree(md); 14443 return NULL;14444 } 14445 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "iteration", 0, NULL, object->iteration)) {11033 return false; 11034 } 11035 if (!psMetadataAdd(md, PS_LIST_TAIL, "iteration", PS_DATA_S32, NULL, object->iteration)) { 14446 11036 psError(PS_ERR_UNKNOWN, false, "failed to add item iteration"); 14447 11037 psFree(md); 14448 return NULL;14449 } 14450 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "exp_tag", 0, NULL, object->exp_tag)) {11038 return false; 11039 } 11040 if (!psMetadataAdd(md, PS_LIST_TAIL, "exp_tag", PS_DATA_STRING, NULL, object->exp_tag)) { 14451 11041 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_tag"); 14452 11042 psFree(md); 14453 return NULL;14454 } 14455 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "recipe", 0, NULL, object->recipe)) {11043 return false; 11044 } 11045 if (!psMetadataAdd(md, PS_LIST_TAIL, "recipe", PS_DATA_STRING, NULL, object->recipe)) { 14456 11046 psError(PS_ERR_UNKNOWN, false, "failed to add item recipe"); 14457 11047 psFree(md); 14458 return NULL;14459 } 14460 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg", 0, NULL, object->bg)) {11048 return false; 11049 } 11050 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, object->bg)) { 14461 11051 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); 14462 11052 psFree(md); 14463 return NULL;14464 } 14465 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, object->bg_stdev)) {11053 return false; 11054 } 11055 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, object->bg_stdev)) { 14466 11056 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev"); 14467 11057 psFree(md); 14468 return NULL;14469 } 14470 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, object->bg_mean_stdev)) {11058 return false; 11059 } 11060 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, object->bg_mean_stdev)) { 14471 11061 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev"); 14472 11062 psFree(md); 14473 return NULL;14474 } 14475 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "b1_uri", 0, NULL, object->b1_uri)) {11063 return false; 11064 } 11065 if (!psMetadataAdd(md, PS_LIST_TAIL, "b1_uri", PS_DATA_STRING, NULL, object->b1_uri)) { 14476 11066 psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri"); 14477 11067 psFree(md); 14478 return NULL;14479 } 14480 if (!psMetadataAdd Str(md, PS_LIST_TAIL, "b2_uri", 0, NULL, object->b2_uri)) {11068 return false; 11069 } 11070 if (!psMetadataAdd(md, PS_LIST_TAIL, "b2_uri", PS_DATA_STRING, NULL, object->b2_uri)) { 14481 11071 psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri"); 14482 11072 psFree(md); 14483 return NULL;11073 return false; 14484 11074 } 14485 11075 if (!psMetadataAdd(md, PS_LIST_TAIL, "accept", PS_DATA_BOOL, NULL, object->accept)) { 14486 11076 psError(PS_ERR_UNKNOWN, false, "failed to add item accept"); 14487 11077 psFree(md); 14488 return NULL; 14489 } 11078 return false; 11079 } 11080 14490 11081 14491 11082 return md; … … 14494 11085 detResidExpRow *detResidExpObjectFromMetadata(psMetadata *md) 14495 11086 { 14496 bool status; 14497 psS32 det_id; 14498 psS32 iteration; 14499 char *exp_tag; 14500 char *recipe; 14501 psF64 bg; 14502 psF64 bg_stdev; 14503 psF64 bg_mean_stdev; 14504 char *b1_uri; 14505 char *b2_uri; 14506 bool accept; 14507 14508 det_id = psMetadataLookupS32(&status, md, "det_id"); 11087 11088 bool status = false; 11089 psS32 det_id = psMetadataLookupS32(&status, md, "det_id"); 14509 11090 if (!status) { 14510 11091 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item det_id"); 14511 11092 return false; 14512 11093 } 14513 iteration = psMetadataLookupS32(&status, md, "iteration");11094 psS32 iteration = psMetadataLookupS32(&status, md, "iteration"); 14514 11095 if (!status) { 14515 11096 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iteration"); 14516 11097 return false; 14517 11098 } 14518 exp_tag = psMetadataLookupPtr(&status, md, "exp_tag");11099 char* exp_tag = psMetadataLookupPtr(&status, md, "exp_tag"); 14519 11100 if (!status) { 14520 11101 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_tag"); 14521 11102 return false; 14522 11103 } 14523 recipe = psMetadataLookupPtr(&status, md, "recipe");11104 char* recipe = psMetadataLookupPtr(&status, md, "recipe"); 14524 11105 if (!status) { 14525 11106 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item recipe"); 14526 11107 return false; 14527 11108 } 14528 bg = psMetadataLookupF64(&status, md, "bg");11109 psF64 bg = psMetadataLookupF64(&status, md, "bg"); 14529 11110 if (!status) { 14530 11111 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg"); 14531 11112 return false; 14532 11113 } 14533 bg_stdev = psMetadataLookupF64(&status, md, "bg_stdev");11114 psF64 bg_stdev = psMetadataLookupF64(&status, md, "bg_stdev"); 14534 11115 if (!status) { 14535 11116 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_stdev"); 14536 11117 return false; 14537 11118 } 14538 bg_mean_stdev = psMetadataLookupF64(&status, md, "bg_mean_stdev");11119 psF64 bg_mean_stdev = psMetadataLookupF64(&status, md, "bg_mean_stdev"); 14539 11120 if (!status) { 14540 11121 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_mean_stdev"); 14541 11122 return false; 14542 11123 } 14543 b1_uri = psMetadataLookupPtr(&status, md, "b1_uri");11124 char* b1_uri = psMetadataLookupPtr(&status, md, "b1_uri"); 14544 11125 if (!status) { 14545 11126 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item b1_uri"); 14546 11127 return false; 14547 11128 } 14548 b2_uri = psMetadataLookupPtr(&status, md, "b2_uri");11129 char* b2_uri = psMetadataLookupPtr(&status, md, "b2_uri"); 14549 11130 if (!status) { 14550 11131 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item b2_uri"); 14551 11132 return false; 14552 11133 } 14553 accept = psMetadataLookupBool(&status, md, "accept");11134 bool accept = psMetadataLookupBool(&status, md, "accept"); 14554 11135 if (!status) { 14555 11136 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item accept"); … … 14678 11259 bool detRunSummaryCreateTable(psDB *dbh) 14679 11260 { 14680 psMetadata *md; 14681 bool status; 14682 14683 md = psMetadataAlloc(); 14684 if (!psMetadataAddS32(md, PS_LIST_TAIL, "det_id", 0, "Primary Key", 0)) { 11261 psMetadata *md = psMetadataAlloc(); 11262 if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, "Primary Key", 0)) { 14685 11263 psError(PS_ERR_UNKNOWN, false, "failed to add item det_id"); 14686 11264 psFree(md); 14687 11265 return false; 14688 11266 } 14689 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "iteration", 0, "Primary Key", 0)) {11267 if (!psMetadataAdd(md, PS_LIST_TAIL, "iteration", PS_DATA_S32, "Primary Key", 0)) { 14690 11268 psError(PS_ERR_UNKNOWN, false, "failed to add item iteration"); 14691 11269 psFree(md); 14692 11270 return false; 14693 11271 } 14694 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg", 0, NULL, 0.0)) {11272 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, 0.0)) { 14695 11273 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); 14696 11274 psFree(md); 14697 11275 return false; 14698 11276 } 14699 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, 0.0)) {11277 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, 0.0)) { 14700 11278 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev"); 14701 11279 psFree(md); 14702 11280 return false; 14703 11281 } 14704 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, 0.0)) {11282 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, 0.0)) { 14705 11283 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev"); 14706 11284 psFree(md); 14707 11285 return false; 14708 11286 } 14709 if (!psMetadataAdd(md, PS_LIST_TAIL, "accept", PS_DATA_BOOL, NULL, false)) {11287 if (!psMetadataAdd(md, PS_LIST_TAIL, "accept", PS_DATA_BOOL, NULL, 0)) { 14710 11288 psError(PS_ERR_UNKNOWN, false, "failed to add item accept"); 14711 11289 psFree(md); … … 14713 11291 } 14714 11292 14715 status = psDBCreateTable(dbh, DETRUNSUMMARY_TABLE_NAME, md);11293 bool status = psDBCreateTable(dbh, DETRUNSUMMARY_TABLE_NAME, md); 14716 11294 14717 11295 psFree(md); … … 14727 11305 bool detRunSummaryInsert(psDB * dbh, psS32 det_id, psS32 iteration, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, bool accept) 14728 11306 { 14729 psMetadata *md; 14730 bool status; 14731 14732 md = psMetadataAlloc(); 14733 if (!psMetadataAddS32(md, PS_LIST_TAIL, "det_id", 0, NULL, det_id)) { 11307 psMetadata *md = psMetadataAlloc(); 11308 if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, NULL, det_id)) { 14734 11309 psError(PS_ERR_UNKNOWN, false, "failed to add item det_id"); 14735 11310 psFree(md); 14736 11311 return false; 14737 11312 } 14738 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "iteration", 0, NULL, iteration)) {11313 if (!psMetadataAdd(md, PS_LIST_TAIL, "iteration", PS_DATA_S32, NULL, iteration)) { 14739 11314 psError(PS_ERR_UNKNOWN, false, "failed to add item iteration"); 14740 11315 psFree(md); 14741 11316 return false; 14742 11317 } 14743 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg", 0, NULL, bg)) {11318 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, bg)) { 14744 11319 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); 14745 11320 psFree(md); 14746 11321 return false; 14747 11322 } 14748 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, bg_stdev)) {11323 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, bg_stdev)) { 14749 11324 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev"); 14750 11325 psFree(md); 14751 11326 return false; 14752 11327 } 14753 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, bg_mean_stdev)) {11328 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, bg_mean_stdev)) { 14754 11329 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev"); 14755 11330 psFree(md); … … 14762 11337 } 14763 11338 14764 status = psDBInsertOneRow(dbh, DETRUNSUMMARY_TABLE_NAME, md);11339 bool status = psDBInsertOneRow(dbh, DETRUNSUMMARY_TABLE_NAME, md); 14765 11340 psFree(md); 14766 11341 … … 14856 11431 psMetadata *detRunSummaryMetadataFromObject(const detRunSummaryRow *object) 14857 11432 { 14858 psMetadata *md; 14859 14860 md = psMetadataAlloc(); 14861 if (!psMetadataAddS32(md, PS_LIST_TAIL, "det_id", 0, NULL, object->det_id)) { 11433 psMetadata *md = psMetadataAlloc(); 11434 if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S32, NULL, object->det_id)) { 14862 11435 psError(PS_ERR_UNKNOWN, false, "failed to add item det_id"); 14863 11436 psFree(md); 14864 return NULL;14865 } 14866 if (!psMetadataAdd S32(md, PS_LIST_TAIL, "iteration", 0, NULL, object->iteration)) {11437 return false; 11438 } 11439 if (!psMetadataAdd(md, PS_LIST_TAIL, "iteration", PS_DATA_S32, NULL, object->iteration)) { 14867 11440 psError(PS_ERR_UNKNOWN, false, "failed to add item iteration"); 14868 11441 psFree(md); 14869 return NULL;14870 } 14871 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg", 0, NULL, object->bg)) {11442 return false; 11443 } 11444 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, object->bg)) { 14872 11445 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); 14873 11446 psFree(md); 14874 return NULL;14875 } 14876 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, object->bg_stdev)) {11447 return false; 11448 } 11449 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, object->bg_stdev)) { 14877 11450 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev"); 14878 11451 psFree(md); 14879 return NULL;14880 } 14881 if (!psMetadataAdd F64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, object->bg_mean_stdev)) {11452 return false; 11453 } 11454 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, object->bg_mean_stdev)) { 14882 11455 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev"); 14883 11456 psFree(md); 14884 return NULL;11457 return false; 14885 11458 } 14886 11459 if (!psMetadataAdd(md, PS_LIST_TAIL, "accept", PS_DATA_BOOL, NULL, object->accept)) { 14887 11460 psError(PS_ERR_UNKNOWN, false, "failed to add item accept"); 14888 11461 psFree(md); 14889 return NULL; 14890 } 11462 return false; 11463 } 11464 14891 11465 14892 11466 return md; … … 14895 11469 detRunSummaryRow *detRunSummaryObjectFromMetadata(psMetadata *md) 14896 11470 { 14897 bool status; 14898 psS32 det_id; 14899 psS32 iteration; 14900 psF64 bg; 14901 psF64 bg_stdev; 14902 psF64 bg_mean_stdev; 14903 bool accept; 14904 14905 det_id = psMetadataLookupS32(&status, md, "det_id"); 11471 11472 bool status = false; 11473 psS32 det_id = psMetadataLookupS32(&status, md, "det_id"); 14906 11474 if (!status) { 14907 11475 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item det_id"); 14908 11476 return false; 14909 11477 } 14910 iteration = psMetadataLookupS32(&status, md, "iteration");11478 psS32 iteration = psMetadataLookupS32(&status, md, "iteration"); 14911 11479 if (!status) { 14912 11480 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iteration"); 14913 11481 return false; 14914 11482 } 14915 bg = psMetadataLookupF64(&status, md, "bg");11483 psF64 bg = psMetadataLookupF64(&status, md, "bg"); 14916 11484 if (!status) { 14917 11485 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg"); 14918 11486 return false; 14919 11487 } 14920 bg_stdev = psMetadataLookupF64(&status, md, "bg_stdev");11488 psF64 bg_stdev = psMetadataLookupF64(&status, md, "bg_stdev"); 14921 11489 if (!status) { 14922 11490 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_stdev"); 14923 11491 return false; 14924 11492 } 14925 bg_mean_stdev = psMetadataLookupF64(&status, md, "bg_mean_stdev");11493 psF64 bg_mean_stdev = psMetadataLookupF64(&status, md, "bg_mean_stdev"); 14926 11494 if (!status) { 14927 11495 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_mean_stdev"); 14928 11496 return false; 14929 11497 } 14930 accept = psMetadataLookupBool(&status, md, "accept");11498 bool accept = psMetadataLookupBool(&status, md, "accept"); 14931 11499 if (!status) { 14932 11500 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item accept"); -
trunk/ippdb/src/ippdb.h
r9423 r9684 125 125 ); 126 126 127 /** weatherRow data structure128 *129 * Structure for representing a single row of weather table data.130 */131 132 typedef struct {133 psF32 temp01;134 psF32 humi01;135 psF32 temp02;136 psF32 humi02;137 psF32 temp03;138 psF32 humi03;139 psF32 pressure;140 } weatherRow;141 142 /** Creates a new weatherRow object143 *144 * @return A new weatherRow object or NULL on failure.145 */146 147 weatherRow *weatherRowAlloc(148 psF32 temp01,149 psF32 humi01,150 psF32 temp02,151 psF32 humi02,152 psF32 temp03,153 psF32 humi03,154 psF32 pressure155 );156 157 /** Creates a new weather table158 *159 * @return true on success160 */161 162 bool weatherCreateTable(163 psDB *dbh ///< Database handle164 );165 166 /** Deletes a weather table167 *168 * @return true on success169 */170 171 bool weatherDropTable(172 psDB *dbh ///< Database handle173 );174 175 /** Insert a single row into a table176 *177 * This function constructs and inserts a single row based on it's parameters.178 *179 * @return true on success180 */181 182 bool weatherInsert(183 psDB *dbh, ///< Database handle184 psF32 temp01,185 psF32 humi01,186 psF32 temp02,187 psF32 humi02,188 psF32 temp03,189 psF32 humi03,190 psF32 pressure191 );192 193 /** Deletes up to limit rows from the database and returns the number of rows actually deleted.194 *195 * @return A The number of rows removed or a negative value on error196 */197 198 long long weatherDelete(199 psDB *dbh, ///< Database handle200 const psMetadata *where, ///< Row match criteria201 unsigned long long limit ///< Maximum number of elements to delete202 );203 204 /** Insert a single weatherRow object into a table205 *206 * This function constructs and inserts a single row based on it's parameters.207 *208 * @return true on success209 */210 211 bool weatherInsertObject(212 psDB *dbh, ///< Database handle213 weatherRow *object ///< weatherRow object214 );215 216 /** Insert an array of weatherRow object into a table217 *218 * This function constructs and inserts multiple rows based on it's parameters.219 *220 * @return true on success221 */222 223 bool weatherInsertObjects(224 psDB *dbh, ///< Database handle225 psArray *objects ///< array of weatherRow objects226 );227 228 /** Insert data from a binary FITS table weatherRow into the database229 *230 * This function expects a psFits object with a FITS table as the first231 * extension. The table must have at least one row of data in it, that is of232 * the appropriate format (number of columns and their type). All other233 * extensions are ignored.234 *235 * @return true on success236 */237 238 bool weatherInsertFits(239 psDB *dbh, ///< Database handle240 const psFits *fits ///< psFits object241 );242 243 /** Selects up to limit from the database and returns them in a binary FITS table244 *245 * This function assumes an empty psFits object and will create a FITS table246 * as the first extension.247 *248 * See psDBSelectRows() for documentation on the format of where.249 *250 * @return true on success251 */252 253 bool weatherSelectRowsFits(254 psDB *dbh, ///< Database handle255 psFits *fits, ///< psFits object256 const psMetadata *where, ///< Row match criteria257 unsigned long long limit ///< Maximum number of elements to return258 );259 260 /** Convert a weatherRow into an equivalent psMetadata261 *262 * @return A psMetadata pointer or NULL on error263 */264 265 psMetadata *weatherMetadataFromObject(266 const weatherRow *object ///< fooRow to convert into a psMetadata267 );268 269 /** Convert a psMetadata into an equivalent fooRow270 *271 * @return A weatherRow pointer or NULL on error272 */273 274 weatherRow *weatherObjectFromMetadata(275 psMetadata *md ///< psMetadata to convert into a fooRow276 );277 /** Selects up to limit rows from the database and returns as weatherRow objects in a psArray278 *279 * See psDBSelectRows() for documentation on the format of where.280 *281 * @return A psArray pointer or NULL on error282 */283 284 psArray *weatherSelectRowObjects(285 psDB *dbh, ///< Database handle286 const psMetadata *where, ///< Row match criteria287 unsigned long long limit ///< Maximum number of elements to return288 );289 /** Deletes a row from the database coresponding to an weather290 *291 * Note that a 'where' search psMetadata is constructed from each object and292 * used to find rows to delete.293 *294 * @return A The number of rows removed or a negative value on error295 */296 297 bool weatherDeleteObject(298 psDB *dbh, ///< Database handle299 const weatherRow *object ///< Object to delete300 );301 /** Deletes up to limit rows from the database and returns the number of rows actually deleted.302 *303 * Note that a 'where' search psMetadata is constructed from each object and304 * used to find rows to delete.305 *306 * @return A The number of rows removed or a negative value on error307 */308 309 long long weatherDeleteRowObjects(310 psDB *dbh, ///< Database handle311 const psArray *objects, ///< Array of objects to delete312 unsigned long long limit ///< Maximum number of elements to delete313 );314 /** Formats and prints an array of weatherRow objects315 *316 * When mdcf is set the formated output is in psMetadataConfig317 * format, otherwise it is in a simple tabular format.318 *319 * @return true on success320 */321 322 bool weatherPrintObjects(323 FILE *stream, ///< a stream324 psArray *objects, ///< An array of weatherRow objects325 bool mdcf ///< format as mdconfig or simple326 );327 /** skyp_transparencyRow data structure328 *329 * Structure for representing a single row of skyp_transparency table data.330 */331 332 typedef struct {333 char *filter;334 psF64 trans;335 psS32 nstars;336 psF64 ra;337 psF64 decl;338 psF32 exptime;339 psF64 sky_bright;340 } skyp_transparencyRow;341 342 /** Creates a new skyp_transparencyRow object343 *344 * @return A new skyp_transparencyRow object or NULL on failure.345 */346 347 skyp_transparencyRow *skyp_transparencyRowAlloc(348 const char *filter,349 psF64 trans,350 psS32 nstars,351 psF64 ra,352 psF64 decl,353 psF32 exptime,354 psF64 sky_bright355 );356 357 /** Creates a new skyp_transparency table358 *359 * @return true on success360 */361 362 bool skyp_transparencyCreateTable(363 psDB *dbh ///< Database handle364 );365 366 /** Deletes a skyp_transparency table367 *368 * @return true on success369 */370 371 bool skyp_transparencyDropTable(372 psDB *dbh ///< Database handle373 );374 375 /** Insert a single row into a table376 *377 * This function constructs and inserts a single row based on it's parameters.378 *379 * @return true on success380 */381 382 bool skyp_transparencyInsert(383 psDB *dbh, ///< Database handle384 const char *filter,385 psF64 trans,386 psS32 nstars,387 psF64 ra,388 psF64 decl,389 psF32 exptime,390 psF64 sky_bright391 );392 393 /** Deletes up to limit rows from the database and returns the number of rows actually deleted.394 *395 * @return A The number of rows removed or a negative value on error396 */397 398 long long skyp_transparencyDelete(399 psDB *dbh, ///< Database handle400 const psMetadata *where, ///< Row match criteria401 unsigned long long limit ///< Maximum number of elements to delete402 );403 404 /** Insert a single skyp_transparencyRow object into a table405 *406 * This function constructs and inserts a single row based on it's parameters.407 *408 * @return true on success409 */410 411 bool skyp_transparencyInsertObject(412 psDB *dbh, ///< Database handle413 skyp_transparencyRow *object ///< skyp_transparencyRow object414 );415 416 /** Insert an array of skyp_transparencyRow object into a table417 *418 * This function constructs and inserts multiple rows based on it's parameters.419 *420 * @return true on success421 */422 423 bool skyp_transparencyInsertObjects(424 psDB *dbh, ///< Database handle425 psArray *objects ///< array of skyp_transparencyRow objects426 );427 428 /** Insert data from a binary FITS table skyp_transparencyRow into the database429 *430 * This function expects a psFits object with a FITS table as the first431 * extension. The table must have at least one row of data in it, that is of432 * the appropriate format (number of columns and their type). All other433 * extensions are ignored.434 *435 * @return true on success436 */437 438 bool skyp_transparencyInsertFits(439 psDB *dbh, ///< Database handle440 const psFits *fits ///< psFits object441 );442 443 /** Selects up to limit from the database and returns them in a binary FITS table444 *445 * This function assumes an empty psFits object and will create a FITS table446 * as the first extension.447 *448 * See psDBSelectRows() for documentation on the format of where.449 *450 * @return true on success451 */452 453 bool skyp_transparencySelectRowsFits(454 psDB *dbh, ///< Database handle455 psFits *fits, ///< psFits object456 const psMetadata *where, ///< Row match criteria457 unsigned long long limit ///< Maximum number of elements to return458 );459 460 /** Convert a skyp_transparencyRow into an equivalent psMetadata461 *462 * @return A psMetadata pointer or NULL on error463 */464 465 psMetadata *skyp_transparencyMetadataFromObject(466 const skyp_transparencyRow *object ///< fooRow to convert into a psMetadata467 );468 469 /** Convert a psMetadata into an equivalent fooRow470 *471 * @return A skyp_transparencyRow pointer or NULL on error472 */473 474 skyp_transparencyRow *skyp_transparencyObjectFromMetadata(475 psMetadata *md ///< psMetadata to convert into a fooRow476 );477 /** Selects up to limit rows from the database and returns as skyp_transparencyRow objects in a psArray478 *479 * See psDBSelectRows() for documentation on the format of where.480 *481 * @return A psArray pointer or NULL on error482 */483 484 psArray *skyp_transparencySelectRowObjects(485 psDB *dbh, ///< Database handle486 const psMetadata *where, ///< Row match criteria487 unsigned long long limit ///< Maximum number of elements to return488 );489 /** Deletes a row from the database coresponding to an skyp_transparency490 *491 * Note that a 'where' search psMetadata is constructed from each object and492 * used to find rows to delete.493 *494 * @return A The number of rows removed or a negative value on error495 */496 497 bool skyp_transparencyDeleteObject(498 psDB *dbh, ///< Database handle499 const skyp_transparencyRow *object ///< Object to delete500 );501 /** Deletes up to limit rows from the database and returns the number of rows actually deleted.502 *503 * Note that a 'where' search psMetadata is constructed from each object and504 * used to find rows to delete.505 *506 * @return A The number of rows removed or a negative value on error507 */508 509 long long skyp_transparencyDeleteRowObjects(510 psDB *dbh, ///< Database handle511 const psArray *objects, ///< Array of objects to delete512 unsigned long long limit ///< Maximum number of elements to delete513 );514 /** Formats and prints an array of skyp_transparencyRow objects515 *516 * When mdcf is set the formated output is in psMetadataConfig517 * format, otherwise it is in a simple tabular format.518 *519 * @return true on success520 */521 522 bool skyp_transparencyPrintObjects(523 FILE *stream, ///< a stream524 psArray *objects, ///< An array of skyp_transparencyRow objects525 bool mdcf ///< format as mdconfig or simple526 );527 /** skyp_absorptionRow data structure528 *529 * Structure for representing a single row of skyp_absorption table data.530 */531 532 typedef struct {533 char *disperser_id;534 psF32 atmcomp1;535 psF32 atmcomp2;536 psF32 atmcomp3;537 psS32 nstars;538 psF64 ra;539 psF64 decl;540 psF32 exptime;541 psF64 sky_bright;542 } skyp_absorptionRow;543 544 /** Creates a new skyp_absorptionRow object545 *546 * @return A new skyp_absorptionRow object or NULL on failure.547 */548 549 skyp_absorptionRow *skyp_absorptionRowAlloc(550 const char *disperser_id,551 psF32 atmcomp1,552 psF32 atmcomp2,553 psF32 atmcomp3,554 psS32 nstars,555 psF64 ra,556 psF64 decl,557 psF32 exptime,558 psF64 sky_bright559 );560 561 /** Creates a new skyp_absorption table562 *563 * @return true on success564 */565 566 bool skyp_absorptionCreateTable(567 psDB *dbh ///< Database handle568 );569 570 /** Deletes a skyp_absorption table571 *572 * @return true on success573 */574 575 bool skyp_absorptionDropTable(576 psDB *dbh ///< Database handle577 );578 579 /** Insert a single row into a table580 *581 * This function constructs and inserts a single row based on it's parameters.582 *583 * @return true on success584 */585 586 bool skyp_absorptionInsert(587 psDB *dbh, ///< Database handle588 const char *disperser_id,589 psF32 atmcomp1,590 psF32 atmcomp2,591 psF32 atmcomp3,592 psS32 nstars,593 psF64 ra,594 psF64 decl,595 psF32 exptime,596 psF64 sky_bright597 );598 599 /** Deletes up to limit rows from the database and returns the number of rows actually deleted.600 *601 * @return A The number of rows removed or a negative value on error602 */603 604 long long skyp_absorptionDelete(605 psDB *dbh, ///< Database handle606 const psMetadata *where, ///< Row match criteria607 unsigned long long limit ///< Maximum number of elements to delete608 );609 610 /** Insert a single skyp_absorptionRow object into a table611 *612 * This function constructs and inserts a single row based on it's parameters.613 *614 * @return true on success615 */616 617 bool skyp_absorptionInsertObject(618 psDB *dbh, ///< Database handle619 skyp_absorptionRow *object ///< skyp_absorptionRow object620 );621 622 /** Insert an array of skyp_absorptionRow object into a table623 *624 * This function constructs and inserts multiple rows based on it's parameters.625 *626 * @return true on success627 */628 629 bool skyp_absorptionInsertObjects(630 psDB *dbh, ///< Database handle631 psArray *objects ///< array of skyp_absorptionRow objects632 );633 634 /** Insert data from a binary FITS table skyp_absorptionRow into the database635 *636 * This function expects a psFits object with a FITS table as the first637 * extension. The table must have at least one row of data in it, that is of638 * the appropriate format (number of columns and their type). All other639 * extensions are ignored.640 *641 * @return true on success642 */643 644 bool skyp_absorptionInsertFits(645 psDB *dbh, ///< Database handle646 const psFits *fits ///< psFits object647 );648 649 /** Selects up to limit from the database and returns them in a binary FITS table650 *651 * This function assumes an empty psFits object and will create a FITS table652 * as the first extension.653 *654 * See psDBSelectRows() for documentation on the format of where.655 *656 * @return true on success657 */658 659 bool skyp_absorptionSelectRowsFits(660 psDB *dbh, ///< Database handle661 psFits *fits, ///< psFits object662 const psMetadata *where, ///< Row match criteria663 unsigned long long limit ///< Maximum number of elements to return664 );665 666 /** Convert a skyp_absorptionRow into an equivalent psMetadata667 *668 * @return A psMetadata pointer or NULL on error669 */670 671 psMetadata *skyp_absorptionMetadataFromObject(672 const skyp_absorptionRow *object ///< fooRow to convert into a psMetadata673 );674 675 /** Convert a psMetadata into an equivalent fooRow676 *677 * @return A skyp_absorptionRow pointer or NULL on error678 */679 680 skyp_absorptionRow *skyp_absorptionObjectFromMetadata(681 psMetadata *md ///< psMetadata to convert into a fooRow682 );683 /** Selects up to limit rows from the database and returns as skyp_absorptionRow objects in a psArray684 *685 * See psDBSelectRows() for documentation on the format of where.686 *687 * @return A psArray pointer or NULL on error688 */689 690 psArray *skyp_absorptionSelectRowObjects(691 psDB *dbh, ///< Database handle692 const psMetadata *where, ///< Row match criteria693 unsigned long long limit ///< Maximum number of elements to return694 );695 /** Deletes a row from the database coresponding to an skyp_absorption696 *697 * Note that a 'where' search psMetadata is constructed from each object and698 * used to find rows to delete.699 *700 * @return A The number of rows removed or a negative value on error701 */702 703 bool skyp_absorptionDeleteObject(704 psDB *dbh, ///< Database handle705 const skyp_absorptionRow *object ///< Object to delete706 );707 /** Deletes up to limit rows from the database and returns the number of rows actually deleted.708 *709 * Note that a 'where' search psMetadata is constructed from each object and710 * used to find rows to delete.711 *712 * @return A The number of rows removed or a negative value on error713 */714 715 long long skyp_absorptionDeleteRowObjects(716 psDB *dbh, ///< Database handle717 const psArray *objects, ///< Array of objects to delete718 unsigned long long limit ///< Maximum number of elements to delete719 );720 /** Formats and prints an array of skyp_absorptionRow objects721 *722 * When mdcf is set the formated output is in psMetadataConfig723 * format, otherwise it is in a simple tabular format.724 *725 * @return true on success726 */727 728 bool skyp_absorptionPrintObjects(729 FILE *stream, ///< a stream730 psArray *objects, ///< An array of skyp_absorptionRow objects731 bool mdcf ///< format as mdconfig or simple732 );733 /** skyp_emissionRow data structure734 *735 * Structure for representing a single row of skyp_emission table data.736 */737 738 typedef struct {739 char *disperser_id;740 psF32 atmcomp1;741 psF32 atmcomp2;742 psF32 atmcomp3;743 psF32 continuum;744 psF32 exptime;745 } skyp_emissionRow;746 747 /** Creates a new skyp_emissionRow object748 *749 * @return A new skyp_emissionRow object or NULL on failure.750 */751 752 skyp_emissionRow *skyp_emissionRowAlloc(753 const char *disperser_id,754 psF32 atmcomp1,755 psF32 atmcomp2,756 psF32 atmcomp3,757 psF32 continuum,758 psF32 exptime759 );760 761 /** Creates a new skyp_emission table762 *763 * @return true on success764 */765 766 bool skyp_emissionCreateTable(767 psDB *dbh ///< Database handle768 );769 770 /** Deletes a skyp_emission table771 *772 * @return true on success773 */774 775 bool skyp_emissionDropTable(776 psDB *dbh ///< Database handle777 );778 779 /** Insert a single row into a table780 *781 * This function constructs and inserts a single row based on it's parameters.782 *783 * @return true on success784 */785 786 bool skyp_emissionInsert(787 psDB *dbh, ///< Database handle788 const char *disperser_id,789 psF32 atmcomp1,790 psF32 atmcomp2,791 psF32 atmcomp3,792 psF32 continuum,793 psF32 exptime794 );795 796 /** Deletes up to limit rows from the database and returns the number of rows actually deleted.797 *798 * @return A The number of rows removed or a negative value on error799 */800 801 long long skyp_emissionDelete(802 psDB *dbh, ///< Database handle803 const psMetadata *where, ///< Row match criteria804 unsigned long long limit ///< Maximum number of elements to delete805 );806 807 /** Insert a single skyp_emissionRow object into a table808 *809 * This function constructs and inserts a single row based on it's parameters.810 *811 * @return true on success812 */813 814 bool skyp_emissionInsertObject(815 psDB *dbh, ///< Database handle816 skyp_emissionRow *object ///< skyp_emissionRow object817 );818 819 /** Insert an array of skyp_emissionRow object into a table820 *821 * This function constructs and inserts multiple rows based on it's parameters.822 *823 * @return true on success824 */825 826 bool skyp_emissionInsertObjects(827 psDB *dbh, ///< Database handle828 psArray *objects ///< array of skyp_emissionRow objects829 );830 831 /** Insert data from a binary FITS table skyp_emissionRow into the database832 *833 * This function expects a psFits object with a FITS table as the first834 * extension. The table must have at least one row of data in it, that is of835 * the appropriate format (number of columns and their type). All other836 * extensions are ignored.837 *838 * @return true on success839 */840 841 bool skyp_emissionInsertFits(842 psDB *dbh, ///< Database handle843 const psFits *fits ///< psFits object844 );845 846 /** Selects up to limit from the database and returns them in a binary FITS table847 *848 * This function assumes an empty psFits object and will create a FITS table849 * as the first extension.850 *851 * See psDBSelectRows() for documentation on the format of where.852 *853 * @return true on success854 */855 856 bool skyp_emissionSelectRowsFits(857 psDB *dbh, ///< Database handle858 psFits *fits, ///< psFits object859 const psMetadata *where, ///< Row match criteria860 unsigned long long limit ///< Maximum number of elements to return861 );862 863 /** Convert a skyp_emissionRow into an equivalent psMetadata864 *865 * @return A psMetadata pointer or NULL on error866 */867 868 psMetadata *skyp_emissionMetadataFromObject(869 const skyp_emissionRow *object ///< fooRow to convert into a psMetadata870 );871 872 /** Convert a psMetadata into an equivalent fooRow873 *874 * @return A skyp_emissionRow pointer or NULL on error875 */876 877 skyp_emissionRow *skyp_emissionObjectFromMetadata(878 psMetadata *md ///< psMetadata to convert into a fooRow879 );880 /** Selects up to limit rows from the database and returns as skyp_emissionRow objects in a psArray881 *882 * See psDBSelectRows() for documentation on the format of where.883 *884 * @return A psArray pointer or NULL on error885 */886 887 psArray *skyp_emissionSelectRowObjects(888 psDB *dbh, ///< Database handle889 const psMetadata *where, ///< Row match criteria890 unsigned long long limit ///< Maximum number of elements to return891 );892 /** Deletes a row from the database coresponding to an skyp_emission893 *894 * Note that a 'where' search psMetadata is constructed from each object and895 * used to find rows to delete.896 *897 * @return A The number of rows removed or a negative value on error898 */899 900 bool skyp_emissionDeleteObject(901 psDB *dbh, ///< Database handle902 const skyp_emissionRow *object ///< Object to delete903 );904 /** Deletes up to limit rows from the database and returns the number of rows actually deleted.905 *906 * Note that a 'where' search psMetadata is constructed from each object and907 * used to find rows to delete.908 *909 * @return A The number of rows removed or a negative value on error910 */911 912 long long skyp_emissionDeleteRowObjects(913 psDB *dbh, ///< Database handle914 const psArray *objects, ///< Array of objects to delete915 unsigned long long limit ///< Maximum number of elements to delete916 );917 /** Formats and prints an array of skyp_emissionRow objects918 *919 * When mdcf is set the formated output is in psMetadataConfig920 * format, otherwise it is in a simple tabular format.921 *922 * @return true on success923 */924 925 bool skyp_emissionPrintObjects(926 FILE *stream, ///< a stream927 psArray *objects, ///< An array of skyp_emissionRow objects928 bool mdcf ///< format as mdconfig or simple929 );930 /** dimmRow data structure931 *932 * Structure for representing a single row of dimm table data.933 */934 935 typedef struct {936 psF32 sigmax;937 psF32 sigmay;938 psF32 fwhm;939 psF64 ra;940 psF64 decl;941 psF32 expttime;942 char *telescope_id;943 } dimmRow;944 945 /** Creates a new dimmRow object946 *947 * @return A new dimmRow object or NULL on failure.948 */949 950 dimmRow *dimmRowAlloc(951 psF32 sigmax,952 psF32 sigmay,953 psF32 fwhm,954 psF64 ra,955 psF64 decl,956 psF32 expttime,957 const char *telescope_id958 );959 960 /** Creates a new dimm table961 *962 * @return true on success963 */964 965 bool dimmCreateTable(966 psDB *dbh ///< Database handle967 );968 969 /** Deletes a dimm table970 *971 * @return true on success972 */973 974 bool dimmDropTable(975 psDB *dbh ///< Database handle976 );977 978 /** Insert a single row into a table979 *980 * This function constructs and inserts a single row based on it's parameters.981 *982 * @return true on success983 */984 985 bool dimmInsert(986 psDB *dbh, ///< Database handle987 psF32 sigmax,988 psF32 sigmay,989 psF32 fwhm,990 psF64 ra,991 psF64 decl,992 psF32 expttime,993 const char *telescope_id994 );995 996 /** Deletes up to limit rows from the database and returns the number of rows actually deleted.997 *998 * @return A The number of rows removed or a negative value on error999 */1000 1001 long long dimmDelete(1002 psDB *dbh, ///< Database handle1003 const psMetadata *where, ///< Row match criteria1004 unsigned long long limit ///< Maximum number of elements to delete1005 );1006 1007 /** Insert a single dimmRow object into a table1008 *1009 * This function constructs and inserts a single row based on it's parameters.1010 *1011 * @return true on success1012 */1013 1014 bool dimmInsertObject(1015 psDB *dbh, ///< Database handle1016 dimmRow *object ///< dimmRow object1017 );1018 1019 /** Insert an array of dimmRow object into a table1020 *1021 * This function constructs and inserts multiple rows based on it's parameters.1022 *1023 * @return true on success1024 */1025 1026 bool dimmInsertObjects(1027 psDB *dbh, ///< Database handle1028 psArray *objects ///< array of dimmRow objects1029 );1030 1031 /** Insert data from a binary FITS table dimmRow into the database1032 *1033 * This function expects a psFits object with a FITS table as the first1034 * extension. The table must have at least one row of data in it, that is of1035 * the appropriate format (number of columns and their type). All other1036 * extensions are ignored.1037 *1038 * @return true on success1039 */1040 1041 bool dimmInsertFits(1042 psDB *dbh, ///< Database handle1043 const psFits *fits ///< psFits object1044 );1045 1046 /** Selects up to limit from the database and returns them in a binary FITS table1047 *1048 * This function assumes an empty psFits object and will create a FITS table1049 * as the first extension.1050 *1051 * See psDBSelectRows() for documentation on the format of where.1052 *1053 * @return true on success1054 */1055 1056 bool dimmSelectRowsFits(1057 psDB *dbh, ///< Database handle1058 psFits *fits, ///< psFits object1059 const psMetadata *where, ///< Row match criteria1060 unsigned long long limit ///< Maximum number of elements to return1061 );1062 1063 /** Convert a dimmRow into an equivalent psMetadata1064 *1065 * @return A psMetadata pointer or NULL on error1066 */1067 1068 psMetadata *dimmMetadataFromObject(1069 const dimmRow *object ///< fooRow to convert into a psMetadata1070 );1071 1072 /** Convert a psMetadata into an equivalent fooRow1073 *1074 * @return A dimmRow pointer or NULL on error1075 */1076 1077 dimmRow *dimmObjectFromMetadata(1078 psMetadata *md ///< psMetadata to convert into a fooRow1079 );1080 /** Selects up to limit rows from the database and returns as dimmRow objects in a psArray1081 *1082 * See psDBSelectRows() for documentation on the format of where.1083 *1084 * @return A psArray pointer or NULL on error1085 */1086 1087 psArray *dimmSelectRowObjects(1088 psDB *dbh, ///< Database handle1089 const psMetadata *where, ///< Row match criteria1090 unsigned long long limit ///< Maximum number of elements to return1091 );1092 /** Deletes a row from the database coresponding to an dimm1093 *1094 * Note that a 'where' search psMetadata is constructed from each object and1095 * used to find rows to delete.1096 *1097 * @return A The number of rows removed or a negative value on error1098 */1099 1100 bool dimmDeleteObject(1101 psDB *dbh, ///< Database handle1102 const dimmRow *object ///< Object to delete1103 );1104 /** Deletes up to limit rows from the database and returns the number of rows actually deleted.1105 *1106 * Note that a 'where' search psMetadata is constructed from each object and1107 * used to find rows to delete.1108 *1109 * @return A The number of rows removed or a negative value on error1110 */1111 1112 long long dimmDeleteRowObjects(1113 psDB *dbh, ///< Database handle1114 const psArray *objects, ///< Array of objects to delete1115 unsigned long long limit ///< Maximum number of elements to delete1116 );1117 /** Formats and prints an array of dimmRow objects1118 *1119 * When mdcf is set the formated output is in psMetadataConfig1120 * format, otherwise it is in a simple tabular format.1121 *1122 * @return true on success1123 */1124 1125 bool dimmPrintObjects(1126 FILE *stream, ///< a stream1127 psArray *objects, ///< An array of dimmRow objects1128 bool mdcf ///< format as mdconfig or simple1129 );1130 /** skyp_irRow data structure1131 *1132 * Structure for representing a single row of skyp_ir table data.1133 */1134 1135 typedef struct {1136 psF64 sky_bright;1137 psF64 sky_var;1138 psF64 ra;1139 psF64 decl;1140 psF32 fov_x;1141 psF32 fov_y;1142 } skyp_irRow;1143 1144 /** Creates a new skyp_irRow object1145 *1146 * @return A new skyp_irRow object or NULL on failure.1147 */1148 1149 skyp_irRow *skyp_irRowAlloc(1150 psF64 sky_bright,1151 psF64 sky_var,1152 psF64 ra,1153 psF64 decl,1154 psF32 fov_x,1155 psF32 fov_y1156 );1157 1158 /** Creates a new skyp_ir table1159 *1160 * @return true on success1161 */1162 1163 bool skyp_irCreateTable(1164 psDB *dbh ///< Database handle1165 );1166 1167 /** Deletes a skyp_ir table1168 *1169 * @return true on success1170 */1171 1172 bool skyp_irDropTable(1173 psDB *dbh ///< Database handle1174 );1175 1176 /** Insert a single row into a table1177 *1178 * This function constructs and inserts a single row based on it's parameters.1179 *1180 * @return true on success1181 */1182 1183 bool skyp_irInsert(1184 psDB *dbh, ///< Database handle1185 psF64 sky_bright,1186 psF64 sky_var,1187 psF64 ra,1188 psF64 decl,1189 psF32 fov_x,1190 psF32 fov_y1191 );1192 1193 /** Deletes up to limit rows from the database and returns the number of rows actually deleted.1194 *1195 * @return A The number of rows removed or a negative value on error1196 */1197 1198 long long skyp_irDelete(1199 psDB *dbh, ///< Database handle1200 const psMetadata *where, ///< Row match criteria1201 unsigned long long limit ///< Maximum number of elements to delete1202 );1203 1204 /** Insert a single skyp_irRow object into a table1205 *1206 * This function constructs and inserts a single row based on it's parameters.1207 *1208 * @return true on success1209 */1210 1211 bool skyp_irInsertObject(1212 psDB *dbh, ///< Database handle1213 skyp_irRow *object ///< skyp_irRow object1214 );1215 1216 /** Insert an array of skyp_irRow object into a table1217 *1218 * This function constructs and inserts multiple rows based on it's parameters.1219 *1220 * @return true on success1221 */1222 1223 bool skyp_irInsertObjects(1224 psDB *dbh, ///< Database handle1225 psArray *objects ///< array of skyp_irRow objects1226 );1227 1228 /** Insert data from a binary FITS table skyp_irRow into the database1229 *1230 * This function expects a psFits object with a FITS table as the first1231 * extension. The table must have at least one row of data in it, that is of1232 * the appropriate format (number of columns and their type). All other1233 * extensions are ignored.1234 *1235 * @return true on success1236 */1237 1238 bool skyp_irInsertFits(1239 psDB *dbh, ///< Database handle1240 const psFits *fits ///< psFits object1241 );1242 1243 /** Selects up to limit from the database and returns them in a binary FITS table1244 *1245 * This function assumes an empty psFits object and will create a FITS table1246 * as the first extension.1247 *1248 * See psDBSelectRows() for documentation on the format of where.1249 *1250 * @return true on success1251 */1252 1253 bool skyp_irSelectRowsFits(1254 psDB *dbh, ///< Database handle1255 psFits *fits, ///< psFits object1256 const psMetadata *where, ///< Row match criteria1257 unsigned long long limit ///< Maximum number of elements to return1258 );1259 1260 /** Convert a skyp_irRow into an equivalent psMetadata1261 *1262 * @return A psMetadata pointer or NULL on error1263 */1264 1265 psMetadata *skyp_irMetadataFromObject(1266 const skyp_irRow *object ///< fooRow to convert into a psMetadata1267 );1268 1269 /** Convert a psMetadata into an equivalent fooRow1270 *1271 * @return A skyp_irRow pointer or NULL on error1272 */1273 1274 skyp_irRow *skyp_irObjectFromMetadata(1275 psMetadata *md ///< psMetadata to convert into a fooRow1276 );1277 /** Selects up to limit rows from the database and returns as skyp_irRow objects in a psArray1278 *1279 * See psDBSelectRows() for documentation on the format of where.1280 *1281 * @return A psArray pointer or NULL on error1282 */1283 1284 psArray *skyp_irSelectRowObjects(1285 psDB *dbh, ///< Database handle1286 const psMetadata *where, ///< Row match criteria1287 unsigned long long limit ///< Maximum number of elements to return1288 );1289 /** Deletes a row from the database coresponding to an skyp_ir1290 *1291 * Note that a 'where' search psMetadata is constructed from each object and1292 * used to find rows to delete.1293 *1294 * @return A The number of rows removed or a negative value on error1295 */1296 1297 bool skyp_irDeleteObject(1298 psDB *dbh, ///< Database handle1299 const skyp_irRow *object ///< Object to delete1300 );1301 /** Deletes up to limit rows from the database and returns the number of rows actually deleted.1302 *1303 * Note that a 'where' search psMetadata is constructed from each object and1304 * used to find rows to delete.1305 *1306 * @return A The number of rows removed or a negative value on error1307 */1308 1309 long long skyp_irDeleteRowObjects(1310 psDB *dbh, ///< Database handle1311 const psArray *objects, ///< Array of objects to delete1312 unsigned long long limit ///< Maximum number of elements to delete1313 );1314 /** Formats and prints an array of skyp_irRow objects1315 *1316 * When mdcf is set the formated output is in psMetadataConfig1317 * format, otherwise it is in a simple tabular format.1318 *1319 * @return true on success1320 */1321 1322 bool skyp_irPrintObjects(1323 FILE *stream, ///< a stream1324 psArray *objects, ///< An array of skyp_irRow objects1325 bool mdcf ///< format as mdconfig or simple1326 );1327 /** domeRow data structure1328 *1329 * Structure for representing a single row of dome table data.1330 */1331 1332 typedef struct {1333 psF32 az;1334 bool open;1335 bool light;1336 bool track;1337 } domeRow;1338 1339 /** Creates a new domeRow object1340 *1341 * @return A new domeRow object or NULL on failure.1342 */1343 1344 domeRow *domeRowAlloc(1345 psF32 az,1346 bool open,1347 bool light,1348 bool track1349 );1350 1351 /** Creates a new dome table1352 *1353 * @return true on success1354 */1355 1356 bool domeCreateTable(1357 psDB *dbh ///< Database handle1358 );1359 1360 /** Deletes a dome table1361 *1362 * @return true on success1363 */1364 1365 bool domeDropTable(1366 psDB *dbh ///< Database handle1367 );1368 1369 /** Insert a single row into a table1370 *1371 * This function constructs and inserts a single row based on it's parameters.1372 *1373 * @return true on success1374 */1375 1376 bool domeInsert(1377 psDB *dbh, ///< Database handle1378 psF32 az,1379 bool open,1380 bool light,1381 bool track1382 );1383 1384 /** Deletes up to limit rows from the database and returns the number of rows actually deleted.1385 *1386 * @return A The number of rows removed or a negative value on error1387 */1388 1389 long long domeDelete(1390 psDB *dbh, ///< Database handle1391 const psMetadata *where, ///< Row match criteria1392 unsigned long long limit ///< Maximum number of elements to delete1393 );1394 1395 /** Insert a single domeRow object into a table1396 *1397 * This function constructs and inserts a single row based on it's parameters.1398 *1399 * @return true on success1400 */1401 1402 bool domeInsertObject(1403 psDB *dbh, ///< Database handle1404 domeRow *object ///< domeRow object1405 );1406 1407 /** Insert an array of domeRow object into a table1408 *1409 * This function constructs and inserts multiple rows based on it's parameters.1410 *1411 * @return true on success1412 */1413 1414 bool domeInsertObjects(1415 psDB *dbh, ///< Database handle1416 psArray *objects ///< array of domeRow objects1417 );1418 1419 /** Insert data from a binary FITS table domeRow into the database1420 *1421 * This function expects a psFits object with a FITS table as the first1422 * extension. The table must have at least one row of data in it, that is of1423 * the appropriate format (number of columns and their type). All other1424 * extensions are ignored.1425 *1426 * @return true on success1427 */1428 1429 bool domeInsertFits(1430 psDB *dbh, ///< Database handle1431 const psFits *fits ///< psFits object1432 );1433 1434 /** Selects up to limit from the database and returns them in a binary FITS table1435 *1436 * This function assumes an empty psFits object and will create a FITS table1437 * as the first extension.1438 *1439 * See psDBSelectRows() for documentation on the format of where.1440 *1441 * @return true on success1442 */1443 1444 bool domeSelectRowsFits(1445 psDB *dbh, ///< Database handle1446 psFits *fits, ///< psFits object1447 const psMetadata *where, ///< Row match criteria1448 unsigned long long limit ///< Maximum number of elements to return1449 );1450 1451 /** Convert a domeRow into an equivalent psMetadata1452 *1453 * @return A psMetadata pointer or NULL on error1454 */1455 1456 psMetadata *domeMetadataFromObject(1457 const domeRow *object ///< fooRow to convert into a psMetadata1458 );1459 1460 /** Convert a psMetadata into an equivalent fooRow1461 *1462 * @return A domeRow pointer or NULL on error1463 */1464 1465 domeRow *domeObjectFromMetadata(1466 psMetadata *md ///< psMetadata to convert into a fooRow1467 );1468 /** Selects up to limit rows from the database and returns as domeRow objects in a psArray1469 *1470 * See psDBSelectRows() for documentation on the format of where.1471 *1472 * @return A psArray pointer or NULL on error1473 */1474 1475 psArray *domeSelectRowObjects(1476 psDB *dbh, ///< Database handle1477 const psMetadata *where, ///< Row match criteria1478 unsigned long long limit ///< Maximum number of elements to return1479 );1480 /** Deletes a row from the database coresponding to an dome1481 *1482 * Note that a 'where' search psMetadata is constructed from each object and1483 * used to find rows to delete.1484 *1485 * @return A The number of rows removed or a negative value on error1486 */1487 1488 bool domeDeleteObject(1489 psDB *dbh, ///< Database handle1490 const domeRow *object ///< Object to delete1491 );1492 /** Deletes up to limit rows from the database and returns the number of rows actually deleted.1493 *1494 * Note that a 'where' search psMetadata is constructed from each object and1495 * used to find rows to delete.1496 *1497 * @return A The number of rows removed or a negative value on error1498 */1499 1500 long long domeDeleteRowObjects(1501 psDB *dbh, ///< Database handle1502 const psArray *objects, ///< Array of objects to delete1503 unsigned long long limit ///< Maximum number of elements to delete1504 );1505 /** Formats and prints an array of domeRow objects1506 *1507 * When mdcf is set the formated output is in psMetadataConfig1508 * format, otherwise it is in a simple tabular format.1509 *1510 * @return true on success1511 */1512 1513 bool domePrintObjects(1514 FILE *stream, ///< a stream1515 psArray *objects, ///< An array of domeRow objects1516 bool mdcf ///< format as mdconfig or simple1517 );1518 /** telescopeRow data structure1519 *1520 * Structure for representing a single row of telescope table data.1521 */1522 1523 typedef struct {1524 char *guide;1525 psF32 alt;1526 psF32 az;1527 psF64 ra;1528 psF64 decl;1529 } telescopeRow;1530 1531 /** Creates a new telescopeRow object1532 *1533 * @return A new telescopeRow object or NULL on failure.1534 */1535 1536 telescopeRow *telescopeRowAlloc(1537 const char *guide,1538 psF32 alt,1539 psF32 az,1540 psF64 ra,1541 psF64 decl1542 );1543 1544 /** Creates a new telescope table1545 *1546 * @return true on success1547 */1548 1549 bool telescopeCreateTable(1550 psDB *dbh ///< Database handle1551 );1552 1553 /** Deletes a telescope table1554 *1555 * @return true on success1556 */1557 1558 bool telescopeDropTable(1559 psDB *dbh ///< Database handle1560 );1561 1562 /** Insert a single row into a table1563 *1564 * This function constructs and inserts a single row based on it's parameters.1565 *1566 * @return true on success1567 */1568 1569 bool telescopeInsert(1570 psDB *dbh, ///< Database handle1571 const char *guide,1572 psF32 alt,1573 psF32 az,1574 psF64 ra,1575 psF64 decl1576 );1577 1578 /** Deletes up to limit rows from the database and returns the number of rows actually deleted.1579 *1580 * @return A The number of rows removed or a negative value on error1581 */1582 1583 long long telescopeDelete(1584 psDB *dbh, ///< Database handle1585 const psMetadata *where, ///< Row match criteria1586 unsigned long long limit ///< Maximum number of elements to delete1587 );1588 1589 /** Insert a single telescopeRow object into a table1590 *1591 * This function constructs and inserts a single row based on it's parameters.1592 *1593 * @return true on success1594 */1595 1596 bool telescopeInsertObject(1597 psDB *dbh, ///< Database handle1598 telescopeRow *object ///< telescopeRow object1599 );1600 1601 /** Insert an array of telescopeRow object into a table1602 *1603 * This function constructs and inserts multiple rows based on it's parameters.1604 *1605 * @return true on success1606 */1607 1608 bool telescopeInsertObjects(1609 psDB *dbh, ///< Database handle1610 psArray *objects ///< array of telescopeRow objects1611 );1612 1613 /** Insert data from a binary FITS table telescopeRow into the database1614 *1615 * This function expects a psFits object with a FITS table as the first1616 * extension. The table must have at least one row of data in it, that is of1617 * the appropriate format (number of columns and their type). All other1618 * extensions are ignored.1619 *1620 * @return true on success1621 */1622 1623 bool telescopeInsertFits(1624 psDB *dbh, ///< Database handle1625 const psFits *fits ///< psFits object1626 );1627 1628 /** Selects up to limit from the database and returns them in a binary FITS table1629 *1630 * This function assumes an empty psFits object and will create a FITS table1631 * as the first extension.1632 *1633 * See psDBSelectRows() for documentation on the format of where.1634 *1635 * @return true on success1636 */1637 1638 bool telescopeSelectRowsFits(1639 psDB *dbh, ///< Database handle1640 psFits *fits, ///< psFits object1641 const psMetadata *where, ///< Row match criteria1642 unsigned long long limit ///< Maximum number of elements to return1643 );1644 1645 /** Convert a telescopeRow into an equivalent psMetadata1646 *1647 * @return A psMetadata pointer or NULL on error1648 */1649 1650 psMetadata *telescopeMetadataFromObject(1651 const telescopeRow *object ///< fooRow to convert into a psMetadata1652 );1653 1654 /** Convert a psMetadata into an equivalent fooRow1655 *1656 * @return A telescopeRow pointer or NULL on error1657 */1658 1659 telescopeRow *telescopeObjectFromMetadata(1660 psMetadata *md ///< psMetadata to convert into a fooRow1661 );1662 /** Selects up to limit rows from the database and returns as telescopeRow objects in a psArray1663 *1664 * See psDBSelectRows() for documentation on the format of where.1665 *1666 * @return A psArray pointer or NULL on error1667 */1668 1669 psArray *telescopeSelectRowObjects(1670 psDB *dbh, ///< Database handle1671 const psMetadata *where, ///< Row match criteria1672 unsigned long long limit ///< Maximum number of elements to return1673 );1674 /** Deletes a row from the database coresponding to an telescope1675 *1676 * Note that a 'where' search psMetadata is constructed from each object and1677 * used to find rows to delete.1678 *1679 * @return A The number of rows removed or a negative value on error1680 */1681 1682 bool telescopeDeleteObject(1683 psDB *dbh, ///< Database handle1684 const telescopeRow *object ///< Object to delete1685 );1686 /** Deletes up to limit rows from the database and returns the number of rows actually deleted.1687 *1688 * Note that a 'where' search psMetadata is constructed from each object and1689 * used to find rows to delete.1690 *1691 * @return A The number of rows removed or a negative value on error1692 */1693 1694 long long telescopeDeleteRowObjects(1695 psDB *dbh, ///< Database handle1696 const psArray *objects, ///< Array of objects to delete1697 unsigned long long limit ///< Maximum number of elements to delete1698 );1699 /** Formats and prints an array of telescopeRow objects1700 *1701 * When mdcf is set the formated output is in psMetadataConfig1702 * format, otherwise it is in a simple tabular format.1703 *1704 * @return true on success1705 */1706 1707 bool telescopePrintObjects(1708 FILE *stream, ///< a stream1709 psArray *objects, ///< An array of telescopeRow objects1710 bool mdcf ///< format as mdconfig or simple1711 );1712 127 /** summitExpRow data structure 1713 128 * … … 2713 1128 psF64 posang; 2714 1129 char *object; 1130 psTime* dateobs; 2715 1131 } rawDetrendExpRow; 2716 1132 … … 2738 1154 psF32 ccd_temp, 2739 1155 psF64 posang, 2740 const char *object 1156 const char *object, 1157 psTime* dateobs 2741 1158 ); 2742 1159 … … 2785 1202 psF32 ccd_temp, 2786 1203 psF64 posang, 2787 const char *object 1204 const char *object, 1205 psTime* dateobs 2788 1206 ); 2789 1207 … … 2946 1364 psF64 posang; 2947 1365 char *object; 1366 psTime* dateobs; 2948 1367 } rawScienceExpRow; 2949 1368 … … 2971 1390 psF32 ccd_temp, 2972 1391 psF64 posang, 2973 const char *object 1392 const char *object, 1393 psTime* dateobs 2974 1394 ); 2975 1395 … … 3018 1438 psF32 ccd_temp, 3019 1439 psF64 posang, 3020 const char *object 1440 const char *object, 1441 psTime* dateobs 3021 1442 ); 3022 1443 … … 3179 1600 psF64 posang; 3180 1601 char *object; 1602 psTime* dateobs; 3181 1603 } rawImfileRow; 3182 1604 … … 3204 1626 psF32 ccd_temp, 3205 1627 psF64 posang, 3206 const char *object 1628 const char *object, 1629 psTime* dateobs 3207 1630 ); 3208 1631 … … 3251 1674 psF32 ccd_temp, 3252 1675 psF64 posang, 3253 const char *object 1676 const char *object, 1677 psTime* dateobs 3254 1678 ); 3255 1679 -
trunk/ippdb/tests/alloc.c
r9423 r9684 9 9 { 10 10 { 11 weatherRow *object; 12 13 object = weatherRowAlloc(32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32 ); 14 15 if (!object) { 16 exit(EXIT_FAILURE); 17 } 18 19 if (!object->temp01 == 32.32) { 20 psFree(object); 21 exit(EXIT_FAILURE); 22 } 23 if (!object->humi01 == 32.32) { 24 psFree(object); 25 exit(EXIT_FAILURE); 26 } 27 if (!object->temp02 == 32.32) { 28 psFree(object); 29 exit(EXIT_FAILURE); 30 } 31 if (!object->humi02 == 32.32) { 32 psFree(object); 33 exit(EXIT_FAILURE); 34 } 35 if (!object->temp03 == 32.32) { 36 psFree(object); 37 exit(EXIT_FAILURE); 38 } 39 if (!object->humi03 == 32.32) { 40 psFree(object); 41 exit(EXIT_FAILURE); 42 } 43 if (!object->pressure == 32.32) { 44 psFree(object); 45 exit(EXIT_FAILURE); 46 } 47 48 psFree(object); 49 } 50 51 { 52 skyp_transparencyRow *object; 53 54 object = skyp_transparencyRowAlloc("a string", 64.64, -32, 64.64, 64.64, 32.32, 64.64 ); 55 56 if (!object) { 57 exit(EXIT_FAILURE); 58 } 59 11 summitExpRow *object; 12 13 object = summitExpRowAlloc("a string", "a string", "a string", "a string", "a string" ); 14 15 if (!object) { 16 exit(EXIT_FAILURE); 17 } 18 19 if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) { 20 psFree(object); 21 exit(EXIT_FAILURE); 22 } 23 if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) { 24 psFree(object); 25 exit(EXIT_FAILURE); 26 } 27 if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) { 28 psFree(object); 29 exit(EXIT_FAILURE); 30 } 31 if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) { 32 psFree(object); 33 exit(EXIT_FAILURE); 34 } 35 if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) { 36 psFree(object); 37 exit(EXIT_FAILURE); 38 } 39 40 psFree(object); 41 } 42 43 { 44 pzPendingExpRow *object; 45 46 object = pzPendingExpRowAlloc("a string", "a string", "a string", "a string", -32 ); 47 48 if (!object) { 49 exit(EXIT_FAILURE); 50 } 51 52 if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) { 53 psFree(object); 54 exit(EXIT_FAILURE); 55 } 56 if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) { 57 psFree(object); 58 exit(EXIT_FAILURE); 59 } 60 if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) { 61 psFree(object); 62 exit(EXIT_FAILURE); 63 } 64 if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) { 65 psFree(object); 66 exit(EXIT_FAILURE); 67 } 68 if (!object->imfiles == -32) { 69 psFree(object); 70 exit(EXIT_FAILURE); 71 } 72 73 psFree(object); 74 } 75 76 { 77 pzPendingImfileRow *object; 78 79 object = pzPendingImfileRowAlloc("a string", "a string", "a string", -32, "a string", "a string", "a string", "a string" ); 80 81 if (!object) { 82 exit(EXIT_FAILURE); 83 } 84 85 if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) { 86 psFree(object); 87 exit(EXIT_FAILURE); 88 } 89 if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) { 90 psFree(object); 91 exit(EXIT_FAILURE); 92 } 93 if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) { 94 psFree(object); 95 exit(EXIT_FAILURE); 96 } 97 if (!object->bytes == -32) { 98 psFree(object); 99 exit(EXIT_FAILURE); 100 } 101 if (strncmp(object->md5sum, "a string", MAX_STRING_LENGTH)) { 102 psFree(object); 103 exit(EXIT_FAILURE); 104 } 105 if (strncmp(object->class, "a string", MAX_STRING_LENGTH)) { 106 psFree(object); 107 exit(EXIT_FAILURE); 108 } 109 if (strncmp(object->class_id, "a string", MAX_STRING_LENGTH)) { 110 psFree(object); 111 exit(EXIT_FAILURE); 112 } 113 if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) { 114 psFree(object); 115 exit(EXIT_FAILURE); 116 } 117 118 psFree(object); 119 } 120 121 { 122 newExpRow *object; 123 124 object = newExpRowAlloc("a string", "a string", "a string", "a string", "a string", -32 ); 125 126 if (!object) { 127 exit(EXIT_FAILURE); 128 } 129 130 if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) { 131 psFree(object); 132 exit(EXIT_FAILURE); 133 } 134 if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) { 135 psFree(object); 136 exit(EXIT_FAILURE); 137 } 138 if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) { 139 psFree(object); 140 exit(EXIT_FAILURE); 141 } 142 if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) { 143 psFree(object); 144 exit(EXIT_FAILURE); 145 } 146 if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) { 147 psFree(object); 148 exit(EXIT_FAILURE); 149 } 150 if (!object->imfiles == -32) { 151 psFree(object); 152 exit(EXIT_FAILURE); 153 } 154 155 psFree(object); 156 } 157 158 { 159 newImfileRow *object; 160 161 object = newImfileRowAlloc("a string", "a string", "a string", "a string" ); 162 163 if (!object) { 164 exit(EXIT_FAILURE); 165 } 166 167 if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) { 168 psFree(object); 169 exit(EXIT_FAILURE); 170 } 171 if (strncmp(object->class, "a string", MAX_STRING_LENGTH)) { 172 psFree(object); 173 exit(EXIT_FAILURE); 174 } 175 if (strncmp(object->class_id, "a string", MAX_STRING_LENGTH)) { 176 psFree(object); 177 exit(EXIT_FAILURE); 178 } 179 if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) { 180 psFree(object); 181 exit(EXIT_FAILURE); 182 } 183 184 psFree(object); 185 } 186 187 { 188 rawDetrendExpRow *object; 189 190 object = rawDetrendExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64, "a string", "0001-01-01T00:00:00Z" ); 191 192 if (!object) { 193 exit(EXIT_FAILURE); 194 } 195 196 if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) { 197 psFree(object); 198 exit(EXIT_FAILURE); 199 } 200 if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) { 201 psFree(object); 202 exit(EXIT_FAILURE); 203 } 204 if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) { 205 psFree(object); 206 exit(EXIT_FAILURE); 207 } 208 if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) { 209 psFree(object); 210 exit(EXIT_FAILURE); 211 } 212 if (!object->imfiles == -32) { 213 psFree(object); 214 exit(EXIT_FAILURE); 215 } 60 216 if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) { 61 217 psFree(object); 62 218 exit(EXIT_FAILURE); 63 219 } 64 if (!object->trans == 64.64) { 65 psFree(object); 66 exit(EXIT_FAILURE); 67 } 68 if (!object->nstars == -32) { 220 if (!object->airmass == 32.32) { 69 221 psFree(object); 70 222 exit(EXIT_FAILURE); … … 78 230 exit(EXIT_FAILURE); 79 231 } 80 if (!object->exptime == 32.32) { 81 psFree(object); 82 exit(EXIT_FAILURE); 83 } 84 if (!object->sky_bright == 64.64) { 85 psFree(object); 86 exit(EXIT_FAILURE); 87 } 88 89 psFree(object); 90 } 91 92 { 93 skyp_absorptionRow *object; 94 95 object = skyp_absorptionRowAlloc("a string", 32.32, 32.32, 32.32, -32, 64.64, 64.64, 32.32, 64.64 ); 96 97 if (!object) { 98 exit(EXIT_FAILURE); 99 } 100 101 if (strncmp(object->disperser_id, "a string", MAX_STRING_LENGTH)) { 102 psFree(object); 103 exit(EXIT_FAILURE); 104 } 105 if (!object->atmcomp1 == 32.32) { 106 psFree(object); 107 exit(EXIT_FAILURE); 108 } 109 if (!object->atmcomp2 == 32.32) { 110 psFree(object); 111 exit(EXIT_FAILURE); 112 } 113 if (!object->atmcomp3 == 32.32) { 114 psFree(object); 115 exit(EXIT_FAILURE); 116 } 117 if (!object->nstars == -32) { 232 if (!object->exp_time == 32.32) { 233 psFree(object); 234 exit(EXIT_FAILURE); 235 } 236 if (!object->bg == 64.64) { 237 psFree(object); 238 exit(EXIT_FAILURE); 239 } 240 if (!object->bg_stdev == 64.64) { 241 psFree(object); 242 exit(EXIT_FAILURE); 243 } 244 if (!object->bg_mean_stdev == 64.64) { 245 psFree(object); 246 exit(EXIT_FAILURE); 247 } 248 if (!object->alt == 64.64) { 249 psFree(object); 250 exit(EXIT_FAILURE); 251 } 252 if (!object->az == 64.64) { 253 psFree(object); 254 exit(EXIT_FAILURE); 255 } 256 if (!object->ccd_temp == 32.32) { 257 psFree(object); 258 exit(EXIT_FAILURE); 259 } 260 if (!object->posang == 64.64) { 261 psFree(object); 262 exit(EXIT_FAILURE); 263 } 264 if (strncmp(object->object, "a string", MAX_STRING_LENGTH)) { 265 psFree(object); 266 exit(EXIT_FAILURE); 267 } 268 psFree(object); 269 exit(EXIT_FAILURE); 270 } 271 272 psFree(object); 273 } 274 275 { 276 rawScienceExpRow *object; 277 278 object = rawScienceExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64, "a string", "0001-01-01T00:00:00Z" ); 279 280 if (!object) { 281 exit(EXIT_FAILURE); 282 } 283 284 if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) { 285 psFree(object); 286 exit(EXIT_FAILURE); 287 } 288 if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) { 289 psFree(object); 290 exit(EXIT_FAILURE); 291 } 292 if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) { 293 psFree(object); 294 exit(EXIT_FAILURE); 295 } 296 if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) { 297 psFree(object); 298 exit(EXIT_FAILURE); 299 } 300 if (!object->imfiles == -32) { 301 psFree(object); 302 exit(EXIT_FAILURE); 303 } 304 if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) { 305 psFree(object); 306 exit(EXIT_FAILURE); 307 } 308 if (!object->airmass == 32.32) { 118 309 psFree(object); 119 310 exit(EXIT_FAILURE); … … 127 318 exit(EXIT_FAILURE); 128 319 } 129 if (!object->exptime == 32.32) { 130 psFree(object); 131 exit(EXIT_FAILURE); 132 } 133 if (!object->sky_bright == 64.64) { 134 psFree(object); 135 exit(EXIT_FAILURE); 136 } 137 138 psFree(object); 139 } 140 141 { 142 skyp_emissionRow *object; 143 144 object = skyp_emissionRowAlloc("a string", 32.32, 32.32, 32.32, 32.32, 32.32 ); 145 146 if (!object) { 147 exit(EXIT_FAILURE); 148 } 149 150 if (strncmp(object->disperser_id, "a string", MAX_STRING_LENGTH)) { 151 psFree(object); 152 exit(EXIT_FAILURE); 153 } 154 if (!object->atmcomp1 == 32.32) { 155 psFree(object); 156 exit(EXIT_FAILURE); 157 } 158 if (!object->atmcomp2 == 32.32) { 159 psFree(object); 160 exit(EXIT_FAILURE); 161 } 162 if (!object->atmcomp3 == 32.32) { 163 psFree(object); 164 exit(EXIT_FAILURE); 165 } 166 if (!object->continuum == 32.32) { 167 psFree(object); 168 exit(EXIT_FAILURE); 169 } 170 if (!object->exptime == 32.32) { 171 psFree(object); 172 exit(EXIT_FAILURE); 173 } 174 175 psFree(object); 176 } 177 178 { 179 dimmRow *object; 180 181 object = dimmRowAlloc(32.32, 32.32, 32.32, 64.64, 64.64, 32.32, "a string" ); 182 183 if (!object) { 184 exit(EXIT_FAILURE); 185 } 186 187 if (!object->sigmax == 32.32) { 188 psFree(object); 189 exit(EXIT_FAILURE); 190 } 191 if (!object->sigmay == 32.32) { 192 psFree(object); 193 exit(EXIT_FAILURE); 194 } 195 if (!object->fwhm == 32.32) { 320 if (!object->exp_time == 32.32) { 321 psFree(object); 322 exit(EXIT_FAILURE); 323 } 324 if (!object->bg == 64.64) { 325 psFree(object); 326 exit(EXIT_FAILURE); 327 } 328 if (!object->bg_stdev == 64.64) { 329 psFree(object); 330 exit(EXIT_FAILURE); 331 } 332 if (!object->bg_mean_stdev == 64.64) { 333 psFree(object); 334 exit(EXIT_FAILURE); 335 } 336 if (!object->alt == 64.64) { 337 psFree(object); 338 exit(EXIT_FAILURE); 339 } 340 if (!object->az == 64.64) { 341 psFree(object); 342 exit(EXIT_FAILURE); 343 } 344 if (!object->ccd_temp == 32.32) { 345 psFree(object); 346 exit(EXIT_FAILURE); 347 } 348 if (!object->posang == 64.64) { 349 psFree(object); 350 exit(EXIT_FAILURE); 351 } 352 if (strncmp(object->object, "a string", MAX_STRING_LENGTH)) { 353 psFree(object); 354 exit(EXIT_FAILURE); 355 } 356 psFree(object); 357 exit(EXIT_FAILURE); 358 } 359 360 psFree(object); 361 } 362 363 { 364 rawImfileRow *object; 365 366 object = rawImfileRowAlloc("a string", "a string", "a string", "a string", "a string", "a string", 32.32, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64, "a string", "0001-01-01T00:00:00Z" ); 367 368 if (!object) { 369 exit(EXIT_FAILURE); 370 } 371 372 if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) { 373 psFree(object); 374 exit(EXIT_FAILURE); 375 } 376 if (strncmp(object->class, "a string", MAX_STRING_LENGTH)) { 377 psFree(object); 378 exit(EXIT_FAILURE); 379 } 380 if (strncmp(object->class_id, "a string", MAX_STRING_LENGTH)) { 381 psFree(object); 382 exit(EXIT_FAILURE); 383 } 384 if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) { 385 psFree(object); 386 exit(EXIT_FAILURE); 387 } 388 if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) { 389 psFree(object); 390 exit(EXIT_FAILURE); 391 } 392 if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) { 393 psFree(object); 394 exit(EXIT_FAILURE); 395 } 396 if (!object->airmass == 32.32) { 196 397 psFree(object); 197 398 exit(EXIT_FAILURE); … … 205 406 exit(EXIT_FAILURE); 206 407 } 207 if (!object->expttime == 32.32) {208 psFree(object);209 exit(EXIT_FAILURE);210 }211 if (strncmp(object->telescope_id, "a string", MAX_STRING_LENGTH)) {212 psFree(object);213 exit(EXIT_FAILURE);214 }215 216 psFree(object);217 }218 219 {220 skyp_irRow *object;221 222 object = skyp_irRowAlloc(64.64, 64.64, 64.64, 64.64, 32.32, 32.32 );223 224 if (!object) {225 exit(EXIT_FAILURE);226 }227 228 if (!object->sky_bright == 64.64) {229 psFree(object);230 exit(EXIT_FAILURE);231 }232 if (!object->sky_var == 64.64) {233 psFree(object);234 exit(EXIT_FAILURE);235 }236 if (!object->ra == 64.64) {237 psFree(object);238 exit(EXIT_FAILURE);239 }240 if (!object->decl == 64.64) {241 psFree(object);242 exit(EXIT_FAILURE);243 }244 if (!object->fov_x == 32.32) {245 psFree(object);246 exit(EXIT_FAILURE);247 }248 if (!object->fov_y == 32.32) {249 psFree(object);250 exit(EXIT_FAILURE);251 }252 253 psFree(object);254 }255 256 {257 domeRow *object;258 259 object = domeRowAlloc(32.32, true, true, true );260 261 if (!object) {262 exit(EXIT_FAILURE);263 }264 265 if (!object->az == 32.32) {266 psFree(object);267 exit(EXIT_FAILURE);268 }269 if (!object->open == true) {270 psFree(object);271 exit(EXIT_FAILURE);272 }273 if (!object->light == true) {274 psFree(object);275 exit(EXIT_FAILURE);276 }277 if (!object->track == true) {278 psFree(object);279 exit(EXIT_FAILURE);280 }281 282 psFree(object);283 }284 285 {286 telescopeRow *object;287 288 object = telescopeRowAlloc("a string", 32.32, 32.32, 64.64, 64.64 );289 290 if (!object) {291 exit(EXIT_FAILURE);292 }293 294 if (strncmp(object->guide, "a string", MAX_STRING_LENGTH)) {295 psFree(object);296 exit(EXIT_FAILURE);297 }298 if (!object->alt == 32.32) {299 psFree(object);300 exit(EXIT_FAILURE);301 }302 if (!object->az == 32.32) {303 psFree(object);304 exit(EXIT_FAILURE);305 }306 if (!object->ra == 64.64) {307 psFree(object);308 exit(EXIT_FAILURE);309 }310 if (!object->decl == 64.64) {311 psFree(object);312 exit(EXIT_FAILURE);313 }314 315 psFree(object);316 }317 318 {319 summitExpRow *object;320 321 object = summitExpRowAlloc("a string", "a string", "a string", "a string", "a string" );322 323 if (!object) {324 exit(EXIT_FAILURE);325 }326 327 if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {328 psFree(object);329 exit(EXIT_FAILURE);330 }331 if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {332 psFree(object);333 exit(EXIT_FAILURE);334 }335 if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) {336 psFree(object);337 exit(EXIT_FAILURE);338 }339 if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {340 psFree(object);341 exit(EXIT_FAILURE);342 }343 if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) {344 psFree(object);345 exit(EXIT_FAILURE);346 }347 348 psFree(object);349 }350 351 {352 pzPendingExpRow *object;353 354 object = pzPendingExpRowAlloc("a string", "a string", "a string", "a string", -32 );355 356 if (!object) {357 exit(EXIT_FAILURE);358 }359 360 if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {361 psFree(object);362 exit(EXIT_FAILURE);363 }364 if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {365 psFree(object);366 exit(EXIT_FAILURE);367 }368 if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) {369 psFree(object);370 exit(EXIT_FAILURE);371 }372 if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {373 psFree(object);374 exit(EXIT_FAILURE);375 }376 if (!object->imfiles == -32) {377 psFree(object);378 exit(EXIT_FAILURE);379 }380 381 psFree(object);382 }383 384 {385 pzPendingImfileRow *object;386 387 object = pzPendingImfileRowAlloc("a string", "a string", "a string", -32, "a string", "a string", "a string", "a string" );388 389 if (!object) {390 exit(EXIT_FAILURE);391 }392 393 if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {394 psFree(object);395 exit(EXIT_FAILURE);396 }397 if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {398 psFree(object);399 exit(EXIT_FAILURE);400 }401 if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) {402 psFree(object);403 exit(EXIT_FAILURE);404 }405 if (!object->bytes == -32) {406 psFree(object);407 exit(EXIT_FAILURE);408 }409 if (strncmp(object->md5sum, "a string", MAX_STRING_LENGTH)) {410 psFree(object);411 exit(EXIT_FAILURE);412 }413 if (strncmp(object->class, "a string", MAX_STRING_LENGTH)) {414 psFree(object);415 exit(EXIT_FAILURE);416 }417 if (strncmp(object->class_id, "a string", MAX_STRING_LENGTH)) {418 psFree(object);419 exit(EXIT_FAILURE);420 }421 if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) {422 psFree(object);423 exit(EXIT_FAILURE);424 }425 426 psFree(object);427 }428 429 {430 newExpRow *object;431 432 object = newExpRowAlloc("a string", "a string", "a string", "a string", "a string", -32 );433 434 if (!object) {435 exit(EXIT_FAILURE);436 }437 438 if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) {439 psFree(object);440 exit(EXIT_FAILURE);441 }442 if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {443 psFree(object);444 exit(EXIT_FAILURE);445 }446 if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {447 psFree(object);448 exit(EXIT_FAILURE);449 }450 if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) {451 psFree(object);452 exit(EXIT_FAILURE);453 }454 if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {455 psFree(object);456 exit(EXIT_FAILURE);457 }458 if (!object->imfiles == -32) {459 psFree(object);460 exit(EXIT_FAILURE);461 }462 463 psFree(object);464 }465 466 {467 newImfileRow *object;468 469 object = newImfileRowAlloc("a string", "a string", "a string", "a string" );470 471 if (!object) {472 exit(EXIT_FAILURE);473 }474 475 if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) {476 psFree(object);477 exit(EXIT_FAILURE);478 }479 if (strncmp(object->class, "a string", MAX_STRING_LENGTH)) {480 psFree(object);481 exit(EXIT_FAILURE);482 }483 if (strncmp(object->class_id, "a string", MAX_STRING_LENGTH)) {484 psFree(object);485 exit(EXIT_FAILURE);486 }487 if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) {488 psFree(object);489 exit(EXIT_FAILURE);490 }491 492 psFree(object);493 }494 495 {496 rawDetrendExpRow *object;497 498 object = rawDetrendExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64, "a string" );499 500 if (!object) {501 exit(EXIT_FAILURE);502 }503 504 if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) {505 psFree(object);506 exit(EXIT_FAILURE);507 }508 if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {509 psFree(object);510 exit(EXIT_FAILURE);511 }512 if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) {513 psFree(object);514 exit(EXIT_FAILURE);515 }516 if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {517 psFree(object);518 exit(EXIT_FAILURE);519 }520 if (!object->imfiles == -32) {521 psFree(object);522 exit(EXIT_FAILURE);523 }524 if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) {525 psFree(object);526 exit(EXIT_FAILURE);527 }528 if (!object->airmass == 32.32) {529 psFree(object);530 exit(EXIT_FAILURE);531 }532 if (!object->ra == 64.64) {533 psFree(object);534 exit(EXIT_FAILURE);535 }536 if (!object->decl == 64.64) {537 psFree(object);538 exit(EXIT_FAILURE);539 }540 408 if (!object->exp_time == 32.32) { 541 409 psFree(object); … … 574 442 exit(EXIT_FAILURE); 575 443 } 576 577 psFree(object);578 }579 580 {581 rawScienceExpRow *object;582 583 object = rawScienceExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64, "a string" );584 585 if (!object) {586 exit(EXIT_FAILURE);587 }588 589 if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) {590 psFree(object);591 exit(EXIT_FAILURE);592 }593 if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {594 psFree(object);595 exit(EXIT_FAILURE);596 }597 if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) {598 psFree(object);599 exit(EXIT_FAILURE);600 }601 if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {602 psFree(object);603 exit(EXIT_FAILURE);604 }605 if (!object->imfiles == -32) {606 psFree(object);607 exit(EXIT_FAILURE);608 }609 if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) {610 psFree(object);611 exit(EXIT_FAILURE);612 }613 if (!object->airmass == 32.32) {614 psFree(object);615 exit(EXIT_FAILURE);616 }617 if (!object->ra == 64.64) {618 psFree(object);619 exit(EXIT_FAILURE);620 }621 if (!object->decl == 64.64) {622 psFree(object);623 exit(EXIT_FAILURE);624 }625 if (!object->exp_time == 32.32) {626 psFree(object);627 exit(EXIT_FAILURE);628 }629 if (!object->bg == 64.64) {630 psFree(object);631 exit(EXIT_FAILURE);632 }633 if (!object->bg_stdev == 64.64) {634 psFree(object);635 exit(EXIT_FAILURE);636 }637 if (!object->bg_mean_stdev == 64.64) {638 psFree(object);639 exit(EXIT_FAILURE);640 }641 if (!object->alt == 64.64) {642 psFree(object);643 exit(EXIT_FAILURE);644 }645 if (!object->az == 64.64) {646 psFree(object);647 exit(EXIT_FAILURE);648 }649 if (!object->ccd_temp == 32.32) {650 psFree(object);651 exit(EXIT_FAILURE);652 }653 if (!object->posang == 64.64) {654 psFree(object);655 exit(EXIT_FAILURE);656 }657 if (strncmp(object->object, "a string", MAX_STRING_LENGTH)) {658 psFree(object);659 exit(EXIT_FAILURE);660 }661 662 psFree(object);663 }664 665 {666 rawImfileRow *object;667 668 object = rawImfileRowAlloc("a string", "a string", "a string", "a string", "a string", "a string", 32.32, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64, "a string" );669 670 if (!object) {671 exit(EXIT_FAILURE);672 }673 674 if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) {675 psFree(object);676 exit(EXIT_FAILURE);677 }678 if (strncmp(object->class, "a string", MAX_STRING_LENGTH)) {679 psFree(object);680 exit(EXIT_FAILURE);681 }682 if (strncmp(object->class_id, "a string", MAX_STRING_LENGTH)) {683 psFree(object);684 exit(EXIT_FAILURE);685 }686 if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) {687 psFree(object);688 exit(EXIT_FAILURE);689 }690 if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {691 psFree(object);692 exit(EXIT_FAILURE);693 }694 if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) {695 psFree(object);696 exit(EXIT_FAILURE);697 }698 if (!object->airmass == 32.32) {699 psFree(object);700 exit(EXIT_FAILURE);701 }702 if (!object->ra == 64.64) {703 psFree(object);704 exit(EXIT_FAILURE);705 }706 if (!object->decl == 64.64) {707 psFree(object);708 exit(EXIT_FAILURE);709 }710 if (!object->exp_time == 32.32) {711 psFree(object);712 exit(EXIT_FAILURE);713 }714 if (!object->bg == 64.64) {715 psFree(object);716 exit(EXIT_FAILURE);717 }718 if (!object->bg_stdev == 64.64) {719 psFree(object);720 exit(EXIT_FAILURE);721 }722 if (!object->bg_mean_stdev == 64.64) {723 psFree(object);724 exit(EXIT_FAILURE);725 }726 if (!object->alt == 64.64) {727 psFree(object);728 exit(EXIT_FAILURE);729 }730 if (!object->az == 64.64) {731 psFree(object);732 exit(EXIT_FAILURE);733 }734 if (!object->ccd_temp == 32.32) {735 psFree(object);736 exit(EXIT_FAILURE);737 }738 if (!object->posang == 64.64) {739 psFree(object);740 exit(EXIT_FAILURE);741 }742 if (strncmp(object->object, "a string", MAX_STRING_LENGTH)) {743 444 psFree(object); 744 445 exit(EXIT_FAILURE); -
trunk/ippdb/tests/createtable.c
r9301 r9684 13 13 } 14 14 15 if(!weatherCreateTable(dbh)) {16 exit(EXIT_FAILURE);17 }18 19 psDBCleanup(dbh);20 }21 22 {23 psDB *dbh;24 25 dbh = psDBInit("localhost", "test", NULL, "test");26 if (!dbh) {27 exit(EXIT_FAILURE);28 }29 30 if(!skyp_transparencyCreateTable(dbh)) {31 exit(EXIT_FAILURE);32 }33 34 psDBCleanup(dbh);35 }36 37 {38 psDB *dbh;39 40 dbh = psDBInit("localhost", "test", NULL, "test");41 if (!dbh) {42 exit(EXIT_FAILURE);43 }44 45 if(!skyp_absorptionCreateTable(dbh)) {46 exit(EXIT_FAILURE);47 }48 49 psDBCleanup(dbh);50 }51 52 {53 psDB *dbh;54 55 dbh = psDBInit("localhost", "test", NULL, "test");56 if (!dbh) {57 exit(EXIT_FAILURE);58 }59 60 if(!skyp_emissionCreateTable(dbh)) {61 exit(EXIT_FAILURE);62 }63 64 psDBCleanup(dbh);65 }66 67 {68 psDB *dbh;69 70 dbh = psDBInit("localhost", "test", NULL, "test");71 if (!dbh) {72 exit(EXIT_FAILURE);73 }74 75 if(!dimmCreateTable(dbh)) {76 exit(EXIT_FAILURE);77 }78 79 psDBCleanup(dbh);80 }81 82 {83 psDB *dbh;84 85 dbh = psDBInit("localhost", "test", NULL, "test");86 if (!dbh) {87 exit(EXIT_FAILURE);88 }89 90 if(!skyp_irCreateTable(dbh)) {91 exit(EXIT_FAILURE);92 }93 94 psDBCleanup(dbh);95 }96 97 {98 psDB *dbh;99 100 dbh = psDBInit("localhost", "test", NULL, "test");101 if (!dbh) {102 exit(EXIT_FAILURE);103 }104 105 if(!domeCreateTable(dbh)) {106 exit(EXIT_FAILURE);107 }108 109 psDBCleanup(dbh);110 }111 112 {113 psDB *dbh;114 115 dbh = psDBInit("localhost", "test", NULL, "test");116 if (!dbh) {117 exit(EXIT_FAILURE);118 }119 120 if(!telescopeCreateTable(dbh)) {121 exit(EXIT_FAILURE);122 }123 124 psDBCleanup(dbh);125 }126 127 {128 psDB *dbh;129 130 dbh = psDBInit("localhost", "test", NULL, "test");131 if (!dbh) {132 exit(EXIT_FAILURE);133 }134 135 15 if(!summitExpCreateTable(dbh)) { 136 16 exit(EXIT_FAILURE); -
trunk/ippdb/tests/dbcleanup.c
r9301 r9684 11 11 } 12 12 13 p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS weather");14 p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS skyp_transparency");15 p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS skyp_absorption");16 p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS skyp_emission");17 p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS dimm");18 p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS skyp_ir");19 p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS dome");20 p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS telescope");21 13 p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS summitExp"); 22 14 p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS pzPendingExp"); -
trunk/ippdb/tests/dbsetup.c
r9301 r9684 13 13 14 14 // remove the table if it already exists 15 p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS weather");16 weatherCreateTable(dbh);17 18 p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS skyp_transparency");19 skyp_transparencyCreateTable(dbh);20 21 p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS skyp_absorption");22 skyp_absorptionCreateTable(dbh);23 24 p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS skyp_emission");25 skyp_emissionCreateTable(dbh);26 27 p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS dimm");28 dimmCreateTable(dbh);29 30 p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS skyp_ir");31 skyp_irCreateTable(dbh);32 33 p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS dome");34 domeCreateTable(dbh);35 36 p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS telescope");37 telescopeCreateTable(dbh);38 39 15 p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS summitExp"); 40 16 summitExpCreateTable(dbh); -
trunk/ippdb/tests/droptable.c
r9301 r9684 13 13 } 14 14 15 if (!weatherDropTable(dbh)) {16 exit(EXIT_FAILURE);17 }18 19 psDBCleanup(dbh);20 }21 22 {23 psDB *dbh;24 25 dbh = psDBInit("localhost", "test", NULL, "test");26 if (!dbh) {27 exit(EXIT_FAILURE);28 }29 30 if (!skyp_transparencyDropTable(dbh)) {31 exit(EXIT_FAILURE);32 }33 34 psDBCleanup(dbh);35 }36 37 {38 psDB *dbh;39 40 dbh = psDBInit("localhost", "test", NULL, "test");41 if (!dbh) {42 exit(EXIT_FAILURE);43 }44 45 if (!skyp_absorptionDropTable(dbh)) {46 exit(EXIT_FAILURE);47 }48 49 psDBCleanup(dbh);50 }51 52 {53 psDB *dbh;54 55 dbh = psDBInit("localhost", "test", NULL, "test");56 if (!dbh) {57 exit(EXIT_FAILURE);58 }59 60 if (!skyp_emissionDropTable(dbh)) {61 exit(EXIT_FAILURE);62 }63 64 psDBCleanup(dbh);65 }66 67 {68 psDB *dbh;69 70 dbh = psDBInit("localhost", "test", NULL, "test");71 if (!dbh) {72 exit(EXIT_FAILURE);73 }74 75 if (!dimmDropTable(dbh)) {76 exit(EXIT_FAILURE);77 }78 79 psDBCleanup(dbh);80 }81 82 {83 psDB *dbh;84 85 dbh = psDBInit("localhost", "test", NULL, "test");86 if (!dbh) {87 exit(EXIT_FAILURE);88 }89 90 if (!skyp_irDropTable(dbh)) {91 exit(EXIT_FAILURE);92 }93 94 psDBCleanup(dbh);95 }96 97 {98 psDB *dbh;99 100 dbh = psDBInit("localhost", "test", NULL, "test");101 if (!dbh) {102 exit(EXIT_FAILURE);103 }104 105 if (!domeDropTable(dbh)) {106 exit(EXIT_FAILURE);107 }108 109 psDBCleanup(dbh);110 }111 112 {113 psDB *dbh;114 115 dbh = psDBInit("localhost", "test", NULL, "test");116 if (!dbh) {117 exit(EXIT_FAILURE);118 }119 120 if (!telescopeDropTable(dbh)) {121 exit(EXIT_FAILURE);122 }123 124 psDBCleanup(dbh);125 }126 127 {128 psDB *dbh;129 130 dbh = psDBInit("localhost", "test", NULL, "test");131 if (!dbh) {132 exit(EXIT_FAILURE);133 }134 135 15 if (!summitExpDropTable(dbh)) { 136 16 exit(EXIT_FAILURE); -
trunk/ippdb/tests/insert.c
r9423 r9684 13 13 } 14 14 15 if (!weatherInsert(dbh, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32)) {16 exit(EXIT_FAILURE);17 }18 19 psDBCleanup(dbh);20 }21 22 {23 psDB *dbh;24 25 dbh = psDBInit("localhost", "test", NULL, "test");26 if (!dbh) {27 exit(EXIT_FAILURE);28 }29 30 if (!skyp_transparencyInsert(dbh, "a string", 64.64, -32, 64.64, 64.64, 32.32, 64.64)) {31 exit(EXIT_FAILURE);32 }33 34 psDBCleanup(dbh);35 }36 37 {38 psDB *dbh;39 40 dbh = psDBInit("localhost", "test", NULL, "test");41 if (!dbh) {42 exit(EXIT_FAILURE);43 }44 45 if (!skyp_absorptionInsert(dbh, "a string", 32.32, 32.32, 32.32, -32, 64.64, 64.64, 32.32, 64.64)) {46 exit(EXIT_FAILURE);47 }48 49 psDBCleanup(dbh);50 }51 52 {53 psDB *dbh;54 55 dbh = psDBInit("localhost", "test", NULL, "test");56 if (!dbh) {57 exit(EXIT_FAILURE);58 }59 60 if (!skyp_emissionInsert(dbh, "a string", 32.32, 32.32, 32.32, 32.32, 32.32)) {61 exit(EXIT_FAILURE);62 }63 64 psDBCleanup(dbh);65 }66 67 {68 psDB *dbh;69 70 dbh = psDBInit("localhost", "test", NULL, "test");71 if (!dbh) {72 exit(EXIT_FAILURE);73 }74 75 if (!dimmInsert(dbh, 32.32, 32.32, 32.32, 64.64, 64.64, 32.32, "a string")) {76 exit(EXIT_FAILURE);77 }78 79 psDBCleanup(dbh);80 }81 82 {83 psDB *dbh;84 85 dbh = psDBInit("localhost", "test", NULL, "test");86 if (!dbh) {87 exit(EXIT_FAILURE);88 }89 90 if (!skyp_irInsert(dbh, 64.64, 64.64, 64.64, 64.64, 32.32, 32.32)) {91 exit(EXIT_FAILURE);92 }93 94 psDBCleanup(dbh);95 }96 97 {98 psDB *dbh;99 100 dbh = psDBInit("localhost", "test", NULL, "test");101 if (!dbh) {102 exit(EXIT_FAILURE);103 }104 105 if (!domeInsert(dbh, 32.32, true, true, true)) {106 exit(EXIT_FAILURE);107 }108 109 psDBCleanup(dbh);110 }111 112 {113 psDB *dbh;114 115 dbh = psDBInit("localhost", "test", NULL, "test");116 if (!dbh) {117 exit(EXIT_FAILURE);118 }119 120 if (!telescopeInsert(dbh, "a string", 32.32, 32.32, 64.64, 64.64)) {121 exit(EXIT_FAILURE);122 }123 124 psDBCleanup(dbh);125 }126 127 {128 psDB *dbh;129 130 dbh = psDBInit("localhost", "test", NULL, "test");131 if (!dbh) {132 exit(EXIT_FAILURE);133 }134 135 15 if (!summitExpInsert(dbh, "a string", "a string", "a string", "a string", "a string")) { 136 16 exit(EXIT_FAILURE); … … 208 88 } 209 89 210 if (!rawDetrendExpInsert(dbh, "a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64, "a string" )) {211 exit(EXIT_FAILURE); 212 } 213 214 psDBCleanup(dbh); 215 } 216 217 { 218 psDB *dbh; 219 220 dbh = psDBInit("localhost", "test", NULL, "test"); 221 if (!dbh) { 222 exit(EXIT_FAILURE); 223 } 224 225 if (!rawScienceExpInsert(dbh, "a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64, "a string" )) {226 exit(EXIT_FAILURE); 227 } 228 229 psDBCleanup(dbh); 230 } 231 232 { 233 psDB *dbh; 234 235 dbh = psDBInit("localhost", "test", NULL, "test"); 236 if (!dbh) { 237 exit(EXIT_FAILURE); 238 } 239 240 if (!rawImfileInsert(dbh, "a string", "a string", "a string", "a string", "a string", "a string", 32.32, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64, "a string" )) {90 if (!rawDetrendExpInsert(dbh, "a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64, "a string", "0001-01-01T00:00:00Z")) { 91 exit(EXIT_FAILURE); 92 } 93 94 psDBCleanup(dbh); 95 } 96 97 { 98 psDB *dbh; 99 100 dbh = psDBInit("localhost", "test", NULL, "test"); 101 if (!dbh) { 102 exit(EXIT_FAILURE); 103 } 104 105 if (!rawScienceExpInsert(dbh, "a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64, "a string", "0001-01-01T00:00:00Z")) { 106 exit(EXIT_FAILURE); 107 } 108 109 psDBCleanup(dbh); 110 } 111 112 { 113 psDB *dbh; 114 115 dbh = psDBInit("localhost", "test", NULL, "test"); 116 if (!dbh) { 117 exit(EXIT_FAILURE); 118 } 119 120 if (!rawImfileInsert(dbh, "a string", "a string", "a string", "a string", "a string", "a string", 32.32, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64, "a string", "0001-01-01T00:00:00Z")) { 241 121 exit(EXIT_FAILURE); 242 122 } -
trunk/ippdb/tests/insertfits.c
r9301 r9684 24 24 } 25 25 26 if (!weatherInsertFits(dbh, fits)) {27 exit(EXIT_FAILURE);28 }29 30 if (!psFitsClose(fits)) {31 exit(EXIT_FAILURE);32 }33 34 psDBCleanup(dbh);35 }36 37 {38 psDB *dbh;39 psFits *fits;40 41 dbh = psDBInit("localhost", "test", NULL, "test");42 if (!dbh) {43 exit(EXIT_FAILURE);44 }45 46 // open a temp47 fits = psFitsOpen(TMP_FILENAME, "r");48 if (!fits) {49 exit(EXIT_FAILURE);50 }51 52 if (!skyp_transparencyInsertFits(dbh, fits)) {53 exit(EXIT_FAILURE);54 }55 56 if (!psFitsClose(fits)) {57 exit(EXIT_FAILURE);58 }59 60 psDBCleanup(dbh);61 }62 63 {64 psDB *dbh;65 psFits *fits;66 67 dbh = psDBInit("localhost", "test", NULL, "test");68 if (!dbh) {69 exit(EXIT_FAILURE);70 }71 72 // open a temp73 fits = psFitsOpen(TMP_FILENAME, "r");74 if (!fits) {75 exit(EXIT_FAILURE);76 }77 78 if (!skyp_absorptionInsertFits(dbh, fits)) {79 exit(EXIT_FAILURE);80 }81 82 if (!psFitsClose(fits)) {83 exit(EXIT_FAILURE);84 }85 86 psDBCleanup(dbh);87 }88 89 {90 psDB *dbh;91 psFits *fits;92 93 dbh = psDBInit("localhost", "test", NULL, "test");94 if (!dbh) {95 exit(EXIT_FAILURE);96 }97 98 // open a temp99 fits = psFitsOpen(TMP_FILENAME, "r");100 if (!fits) {101 exit(EXIT_FAILURE);102 }103 104 if (!skyp_emissionInsertFits(dbh, fits)) {105 exit(EXIT_FAILURE);106 }107 108 if (!psFitsClose(fits)) {109 exit(EXIT_FAILURE);110 }111 112 psDBCleanup(dbh);113 }114 115 {116 psDB *dbh;117 psFits *fits;118 119 dbh = psDBInit("localhost", "test", NULL, "test");120 if (!dbh) {121 exit(EXIT_FAILURE);122 }123 124 // open a temp125 fits = psFitsOpen(TMP_FILENAME, "r");126 if (!fits) {127 exit(EXIT_FAILURE);128 }129 130 if (!dimmInsertFits(dbh, fits)) {131 exit(EXIT_FAILURE);132 }133 134 if (!psFitsClose(fits)) {135 exit(EXIT_FAILURE);136 }137 138 psDBCleanup(dbh);139 }140 141 {142 psDB *dbh;143 psFits *fits;144 145 dbh = psDBInit("localhost", "test", NULL, "test");146 if (!dbh) {147 exit(EXIT_FAILURE);148 }149 150 // open a temp151 fits = psFitsOpen(TMP_FILENAME, "r");152 if (!fits) {153 exit(EXIT_FAILURE);154 }155 156 if (!skyp_irInsertFits(dbh, fits)) {157 exit(EXIT_FAILURE);158 }159 160 if (!psFitsClose(fits)) {161 exit(EXIT_FAILURE);162 }163 164 psDBCleanup(dbh);165 }166 167 {168 psDB *dbh;169 psFits *fits;170 171 dbh = psDBInit("localhost", "test", NULL, "test");172 if (!dbh) {173 exit(EXIT_FAILURE);174 }175 176 // open a temp177 fits = psFitsOpen(TMP_FILENAME, "r");178 if (!fits) {179 exit(EXIT_FAILURE);180 }181 182 if (!domeInsertFits(dbh, fits)) {183 exit(EXIT_FAILURE);184 }185 186 if (!psFitsClose(fits)) {187 exit(EXIT_FAILURE);188 }189 190 psDBCleanup(dbh);191 }192 193 {194 psDB *dbh;195 psFits *fits;196 197 dbh = psDBInit("localhost", "test", NULL, "test");198 if (!dbh) {199 exit(EXIT_FAILURE);200 }201 202 // open a temp203 fits = psFitsOpen(TMP_FILENAME, "r");204 if (!fits) {205 exit(EXIT_FAILURE);206 }207 208 if (!telescopeInsertFits(dbh, fits)) {209 exit(EXIT_FAILURE);210 }211 212 if (!psFitsClose(fits)) {213 exit(EXIT_FAILURE);214 }215 216 psDBCleanup(dbh);217 }218 219 {220 psDB *dbh;221 psFits *fits;222 223 dbh = psDBInit("localhost", "test", NULL, "test");224 if (!dbh) {225 exit(EXIT_FAILURE);226 }227 228 // open a temp229 fits = psFitsOpen(TMP_FILENAME, "r");230 if (!fits) {231 exit(EXIT_FAILURE);232 }233 234 26 if (!summitExpInsertFits(dbh, fits)) { 235 27 exit(EXIT_FAILURE); -
trunk/ippdb/tests/insertobject.c
r9423 r9684 7 7 { 8 8 psDB *dbh; 9 weatherRow *object;10 11 dbh = psDBInit("localhost", "test", NULL, "test");12 if (!dbh) {13 exit(EXIT_FAILURE);14 }15 16 object = weatherRowAlloc(32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32);17 if (!object) {18 exit(EXIT_FAILURE);19 }20 21 if (!weatherInsertObject(dbh, object)) {22 exit(EXIT_FAILURE);23 }24 25 psFree(object);26 psDBCleanup(dbh);27 }28 29 {30 psDB *dbh;31 skyp_transparencyRow *object;32 33 dbh = psDBInit("localhost", "test", NULL, "test");34 if (!dbh) {35 exit(EXIT_FAILURE);36 }37 38 object = skyp_transparencyRowAlloc("a string", 64.64, -32, 64.64, 64.64, 32.32, 64.64);39 if (!object) {40 exit(EXIT_FAILURE);41 }42 43 if (!skyp_transparencyInsertObject(dbh, object)) {44 exit(EXIT_FAILURE);45 }46 47 psFree(object);48 psDBCleanup(dbh);49 }50 51 {52 psDB *dbh;53 skyp_absorptionRow *object;54 55 dbh = psDBInit("localhost", "test", NULL, "test");56 if (!dbh) {57 exit(EXIT_FAILURE);58 }59 60 object = skyp_absorptionRowAlloc("a string", 32.32, 32.32, 32.32, -32, 64.64, 64.64, 32.32, 64.64);61 if (!object) {62 exit(EXIT_FAILURE);63 }64 65 if (!skyp_absorptionInsertObject(dbh, object)) {66 exit(EXIT_FAILURE);67 }68 69 psFree(object);70 psDBCleanup(dbh);71 }72 73 {74 psDB *dbh;75 skyp_emissionRow *object;76 77 dbh = psDBInit("localhost", "test", NULL, "test");78 if (!dbh) {79 exit(EXIT_FAILURE);80 }81 82 object = skyp_emissionRowAlloc("a string", 32.32, 32.32, 32.32, 32.32, 32.32);83 if (!object) {84 exit(EXIT_FAILURE);85 }86 87 if (!skyp_emissionInsertObject(dbh, object)) {88 exit(EXIT_FAILURE);89 }90 91 psFree(object);92 psDBCleanup(dbh);93 }94 95 {96 psDB *dbh;97 dimmRow *object;98 99 dbh = psDBInit("localhost", "test", NULL, "test");100 if (!dbh) {101 exit(EXIT_FAILURE);102 }103 104 object = dimmRowAlloc(32.32, 32.32, 32.32, 64.64, 64.64, 32.32, "a string");105 if (!object) {106 exit(EXIT_FAILURE);107 }108 109 if (!dimmInsertObject(dbh, object)) {110 exit(EXIT_FAILURE);111 }112 113 psFree(object);114 psDBCleanup(dbh);115 }116 117 {118 psDB *dbh;119 skyp_irRow *object;120 121 dbh = psDBInit("localhost", "test", NULL, "test");122 if (!dbh) {123 exit(EXIT_FAILURE);124 }125 126 object = skyp_irRowAlloc(64.64, 64.64, 64.64, 64.64, 32.32, 32.32);127 if (!object) {128 exit(EXIT_FAILURE);129 }130 131 if (!skyp_irInsertObject(dbh, object)) {132 exit(EXIT_FAILURE);133 }134 135 psFree(object);136 psDBCleanup(dbh);137 }138 139 {140 psDB *dbh;141 domeRow *object;142 143 dbh = psDBInit("localhost", "test", NULL, "test");144 if (!dbh) {145 exit(EXIT_FAILURE);146 }147 148 object = domeRowAlloc(32.32, true, true, true);149 if (!object) {150 exit(EXIT_FAILURE);151 }152 153 if (!domeInsertObject(dbh, object)) {154 exit(EXIT_FAILURE);155 }156 157 psFree(object);158 psDBCleanup(dbh);159 }160 161 {162 psDB *dbh;163 telescopeRow *object;164 165 dbh = psDBInit("localhost", "test", NULL, "test");166 if (!dbh) {167 exit(EXIT_FAILURE);168 }169 170 object = telescopeRowAlloc("a string", 32.32, 32.32, 64.64, 64.64);171 if (!object) {172 exit(EXIT_FAILURE);173 }174 175 if (!telescopeInsertObject(dbh, object)) {176 exit(EXIT_FAILURE);177 }178 179 psFree(object);180 psDBCleanup(dbh);181 }182 183 {184 psDB *dbh;185 9 summitExpRow *object; 186 10 … … 300 124 } 301 125 302 object = rawDetrendExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64, "a string" );126 object = rawDetrendExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64, "a string", "0001-01-01T00:00:00Z"); 303 127 if (!object) { 304 128 exit(EXIT_FAILURE); … … 322 146 } 323 147 324 object = rawScienceExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64, "a string" );148 object = rawScienceExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64, "a string", "0001-01-01T00:00:00Z"); 325 149 if (!object) { 326 150 exit(EXIT_FAILURE); … … 344 168 } 345 169 346 object = rawImfileRowAlloc("a string", "a string", "a string", "a string", "a string", "a string", 32.32, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64, "a string" );170 object = rawImfileRowAlloc("a string", "a string", "a string", "a string", "a string", "a string", 32.32, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64, "a string", "0001-01-01T00:00:00Z"); 347 171 if (!object) { 348 172 exit(EXIT_FAILURE); -
trunk/ippdb/tests/metadatafromobject.c
r9423 r9684 10 10 { 11 11 psMetadata *md; 12 weatherRow *object; 13 bool status; 14 15 object = weatherRowAlloc(32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32); 16 if (!object) { 17 exit(EXIT_FAILURE); 18 } 19 20 md = weatherMetadataFromObject(object); 21 if (!md) { 22 exit(EXIT_FAILURE); 23 } 24 25 psFree(object); 26 27 if (!psMetadataLookupF32(&status, md, "temp01") == 32.32) { 28 psFree(md); 29 exit(EXIT_FAILURE); 30 } 31 if (!psMetadataLookupF32(&status, md, "humi01") == 32.32) { 32 psFree(md); 33 exit(EXIT_FAILURE); 34 } 35 if (!psMetadataLookupF32(&status, md, "temp02") == 32.32) { 36 psFree(md); 37 exit(EXIT_FAILURE); 38 } 39 if (!psMetadataLookupF32(&status, md, "humi02") == 32.32) { 40 psFree(md); 41 exit(EXIT_FAILURE); 42 } 43 if (!psMetadataLookupF32(&status, md, "temp03") == 32.32) { 44 psFree(md); 45 exit(EXIT_FAILURE); 46 } 47 if (!psMetadataLookupF32(&status, md, "humi03") == 32.32) { 48 psFree(md); 49 exit(EXIT_FAILURE); 50 } 51 if (!psMetadataLookupF32(&status, md, "pressure") == 32.32) { 52 psFree(md); 53 exit(EXIT_FAILURE); 54 } 55 56 psFree(md); 57 } 58 59 { 60 psMetadata *md; 61 skyp_transparencyRow *object; 62 bool status; 63 64 object = skyp_transparencyRowAlloc("a string", 64.64, -32, 64.64, 64.64, 32.32, 64.64); 65 if (!object) { 66 exit(EXIT_FAILURE); 67 } 68 69 md = skyp_transparencyMetadataFromObject(object); 70 if (!md) { 71 exit(EXIT_FAILURE); 72 } 73 74 psFree(object); 75 12 summitExpRow *object; 13 bool status; 14 15 object = summitExpRowAlloc("a string", "a string", "a string", "a string", "a string"); 16 if (!object) { 17 exit(EXIT_FAILURE); 18 } 19 20 md = summitExpMetadataFromObject(object); 21 if (!md) { 22 exit(EXIT_FAILURE); 23 } 24 25 psFree(object); 26 27 if (strncmp(psMetadataLookupPtr(&status, md, "exp_id"), "a string", MAX_STRING_LENGTH)) { 28 psFree(md); 29 exit(EXIT_FAILURE); 30 } 31 if (strncmp(psMetadataLookupPtr(&status, md, "camera"), "a string", MAX_STRING_LENGTH)) { 32 psFree(md); 33 exit(EXIT_FAILURE); 34 } 35 if (strncmp(psMetadataLookupPtr(&status, md, "telescope"), "a string", MAX_STRING_LENGTH)) { 36 psFree(md); 37 exit(EXIT_FAILURE); 38 } 39 if (strncmp(psMetadataLookupPtr(&status, md, "exp_type"), "a string", MAX_STRING_LENGTH)) { 40 psFree(md); 41 exit(EXIT_FAILURE); 42 } 43 if (strncmp(psMetadataLookupPtr(&status, md, "uri"), "a string", MAX_STRING_LENGTH)) { 44 psFree(md); 45 exit(EXIT_FAILURE); 46 } 47 48 psFree(md); 49 } 50 51 { 52 psMetadata *md; 53 pzPendingExpRow *object; 54 bool status; 55 56 object = pzPendingExpRowAlloc("a string", "a string", "a string", "a string", -32); 57 if (!object) { 58 exit(EXIT_FAILURE); 59 } 60 61 md = pzPendingExpMetadataFromObject(object); 62 if (!md) { 63 exit(EXIT_FAILURE); 64 } 65 66 psFree(object); 67 68 if (strncmp(psMetadataLookupPtr(&status, md, "exp_id"), "a string", MAX_STRING_LENGTH)) { 69 psFree(md); 70 exit(EXIT_FAILURE); 71 } 72 if (strncmp(psMetadataLookupPtr(&status, md, "camera"), "a string", MAX_STRING_LENGTH)) { 73 psFree(md); 74 exit(EXIT_FAILURE); 75 } 76 if (strncmp(psMetadataLookupPtr(&status, md, "telescope"), "a string", MAX_STRING_LENGTH)) { 77 psFree(md); 78 exit(EXIT_FAILURE); 79 } 80 if (strncmp(psMetadataLookupPtr(&status, md, "exp_type"), "a string", MAX_STRING_LENGTH)) { 81 psFree(md); 82 exit(EXIT_FAILURE); 83 } 84 if (!psMetadataLookupS32(&status, md, "imfiles") == -32) { 85 psFree(md); 86 exit(EXIT_FAILURE); 87 } 88 89 psFree(md); 90 } 91 92 { 93 psMetadata *md; 94 pzPendingImfileRow *object; 95 bool status; 96 97 object = pzPendingImfileRowAlloc("a string", "a string", "a string", -32, "a string", "a string", "a string", "a string"); 98 if (!object) { 99 exit(EXIT_FAILURE); 100 } 101 102 md = pzPendingImfileMetadataFromObject(object); 103 if (!md) { 104 exit(EXIT_FAILURE); 105 } 106 107 psFree(object); 108 109 if (strncmp(psMetadataLookupPtr(&status, md, "exp_id"), "a string", MAX_STRING_LENGTH)) { 110 psFree(md); 111 exit(EXIT_FAILURE); 112 } 113 if (strncmp(psMetadataLookupPtr(&status, md, "camera"), "a string", MAX_STRING_LENGTH)) { 114 psFree(md); 115 exit(EXIT_FAILURE); 116 } 117 if (strncmp(psMetadataLookupPtr(&status, md, "telescope"), "a string", MAX_STRING_LENGTH)) { 118 psFree(md); 119 exit(EXIT_FAILURE); 120 } 121 if (!psMetadataLookupS32(&status, md, "bytes") == -32) { 122 psFree(md); 123 exit(EXIT_FAILURE); 124 } 125 if (strncmp(psMetadataLookupPtr(&status, md, "md5sum"), "a string", MAX_STRING_LENGTH)) { 126 psFree(md); 127 exit(EXIT_FAILURE); 128 } 129 if (strncmp(psMetadataLookupPtr(&status, md, "class"), "a string", MAX_STRING_LENGTH)) { 130 psFree(md); 131 exit(EXIT_FAILURE); 132 } 133 if (strncmp(psMetadataLookupPtr(&status, md, "class_id"), "a string", MAX_STRING_LENGTH)) { 134 psFree(md); 135 exit(EXIT_FAILURE); 136 } 137 if (strncmp(psMetadataLookupPtr(&status, md, "uri"), "a string", MAX_STRING_LENGTH)) { 138 psFree(md); 139 exit(EXIT_FAILURE); 140 } 141 142 psFree(md); 143 } 144 145 { 146 psMetadata *md; 147 newExpRow *object; 148 bool status; 149 150 object = newExpRowAlloc("a string", "a string", "a string", "a string", "a string", -32); 151 if (!object) { 152 exit(EXIT_FAILURE); 153 } 154 155 md = newExpMetadataFromObject(object); 156 if (!md) { 157 exit(EXIT_FAILURE); 158 } 159 160 psFree(object); 161 162 if (strncmp(psMetadataLookupPtr(&status, md, "exp_tag"), "a string", MAX_STRING_LENGTH)) { 163 psFree(md); 164 exit(EXIT_FAILURE); 165 } 166 if (strncmp(psMetadataLookupPtr(&status, md, "exp_id"), "a string", MAX_STRING_LENGTH)) { 167 psFree(md); 168 exit(EXIT_FAILURE); 169 } 170 if (strncmp(psMetadataLookupPtr(&status, md, "camera"), "a string", MAX_STRING_LENGTH)) { 171 psFree(md); 172 exit(EXIT_FAILURE); 173 } 174 if (strncmp(psMetadataLookupPtr(&status, md, "telescope"), "a string", MAX_STRING_LENGTH)) { 175 psFree(md); 176 exit(EXIT_FAILURE); 177 } 178 if (strncmp(psMetadataLookupPtr(&status, md, "exp_type"), "a string", MAX_STRING_LENGTH)) { 179 psFree(md); 180 exit(EXIT_FAILURE); 181 } 182 if (!psMetadataLookupS32(&status, md, "imfiles") == -32) { 183 psFree(md); 184 exit(EXIT_FAILURE); 185 } 186 187 psFree(md); 188 } 189 190 { 191 psMetadata *md; 192 newImfileRow *object; 193 bool status; 194 195 object = newImfileRowAlloc("a string", "a string", "a string", "a string"); 196 if (!object) { 197 exit(EXIT_FAILURE); 198 } 199 200 md = newImfileMetadataFromObject(object); 201 if (!md) { 202 exit(EXIT_FAILURE); 203 } 204 205 psFree(object); 206 207 if (strncmp(psMetadataLookupPtr(&status, md, "exp_tag"), "a string", MAX_STRING_LENGTH)) { 208 psFree(md); 209 exit(EXIT_FAILURE); 210 } 211 if (strncmp(psMetadataLookupPtr(&status, md, "class"), "a string", MAX_STRING_LENGTH)) { 212 psFree(md); 213 exit(EXIT_FAILURE); 214 } 215 if (strncmp(psMetadataLookupPtr(&status, md, "class_id"), "a string", MAX_STRING_LENGTH)) { 216 psFree(md); 217 exit(EXIT_FAILURE); 218 } 219 if (strncmp(psMetadataLookupPtr(&status, md, "uri"), "a string", MAX_STRING_LENGTH)) { 220 psFree(md); 221 exit(EXIT_FAILURE); 222 } 223 224 psFree(md); 225 } 226 227 { 228 psMetadata *md; 229 rawDetrendExpRow *object; 230 bool status; 231 232 object = rawDetrendExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64, "a string", "0001-01-01T00:00:00Z"); 233 if (!object) { 234 exit(EXIT_FAILURE); 235 } 236 237 md = rawDetrendExpMetadataFromObject(object); 238 if (!md) { 239 exit(EXIT_FAILURE); 240 } 241 242 psFree(object); 243 244 if (strncmp(psMetadataLookupPtr(&status, md, "exp_tag"), "a string", MAX_STRING_LENGTH)) { 245 psFree(md); 246 exit(EXIT_FAILURE); 247 } 248 if (strncmp(psMetadataLookupPtr(&status, md, "camera"), "a string", MAX_STRING_LENGTH)) { 249 psFree(md); 250 exit(EXIT_FAILURE); 251 } 252 if (strncmp(psMetadataLookupPtr(&status, md, "telescope"), "a string", MAX_STRING_LENGTH)) { 253 psFree(md); 254 exit(EXIT_FAILURE); 255 } 256 if (strncmp(psMetadataLookupPtr(&status, md, "exp_type"), "a string", MAX_STRING_LENGTH)) { 257 psFree(md); 258 exit(EXIT_FAILURE); 259 } 260 if (!psMetadataLookupS32(&status, md, "imfiles") == -32) { 261 psFree(md); 262 exit(EXIT_FAILURE); 263 } 76 264 if (strncmp(psMetadataLookupPtr(&status, md, "filter"), "a string", MAX_STRING_LENGTH)) { 77 265 psFree(md); 78 266 exit(EXIT_FAILURE); 79 267 } 80 if (!psMetadataLookupF64(&status, md, "trans") == 64.64) { 81 psFree(md); 82 exit(EXIT_FAILURE); 83 } 84 if (!psMetadataLookupS32(&status, md, "nstars") == -32) { 268 if (!psMetadataLookupF32(&status, md, "airmass") == 32.32) { 85 269 psFree(md); 86 270 exit(EXIT_FAILURE); … … 94 278 exit(EXIT_FAILURE); 95 279 } 96 if (!psMetadataLookupF32(&status, md, "exptime") == 32.32) { 97 psFree(md); 98 exit(EXIT_FAILURE); 99 } 100 if (!psMetadataLookupF64(&status, md, "sky_bright") == 64.64) { 101 psFree(md); 102 exit(EXIT_FAILURE); 103 } 104 105 psFree(md); 106 } 107 108 { 109 psMetadata *md; 110 skyp_absorptionRow *object; 111 bool status; 112 113 object = skyp_absorptionRowAlloc("a string", 32.32, 32.32, 32.32, -32, 64.64, 64.64, 32.32, 64.64); 114 if (!object) { 115 exit(EXIT_FAILURE); 116 } 117 118 md = skyp_absorptionMetadataFromObject(object); 119 if (!md) { 120 exit(EXIT_FAILURE); 121 } 122 123 psFree(object); 124 125 if (strncmp(psMetadataLookupPtr(&status, md, "disperser_id"), "a string", MAX_STRING_LENGTH)) { 126 psFree(md); 127 exit(EXIT_FAILURE); 128 } 129 if (!psMetadataLookupF32(&status, md, "atmcomp1") == 32.32) { 130 psFree(md); 131 exit(EXIT_FAILURE); 132 } 133 if (!psMetadataLookupF32(&status, md, "atmcomp2") == 32.32) { 134 psFree(md); 135 exit(EXIT_FAILURE); 136 } 137 if (!psMetadataLookupF32(&status, md, "atmcomp3") == 32.32) { 138 psFree(md); 139 exit(EXIT_FAILURE); 140 } 141 if (!psMetadataLookupS32(&status, md, "nstars") == -32) { 280 if (!psMetadataLookupF32(&status, md, "exp_time") == 32.32) { 281 psFree(md); 282 exit(EXIT_FAILURE); 283 } 284 if (!psMetadataLookupF64(&status, md, "bg") == 64.64) { 285 psFree(md); 286 exit(EXIT_FAILURE); 287 } 288 if (!psMetadataLookupF64(&status, md, "bg_stdev") == 64.64) { 289 psFree(md); 290 exit(EXIT_FAILURE); 291 } 292 if (!psMetadataLookupF64(&status, md, "bg_mean_stdev") == 64.64) { 293 psFree(md); 294 exit(EXIT_FAILURE); 295 } 296 if (!psMetadataLookupF64(&status, md, "alt") == 64.64) { 297 psFree(md); 298 exit(EXIT_FAILURE); 299 } 300 if (!psMetadataLookupF64(&status, md, "az") == 64.64) { 301 psFree(md); 302 exit(EXIT_FAILURE); 303 } 304 if (!psMetadataLookupF32(&status, md, "ccd_temp") == 32.32) { 305 psFree(md); 306 exit(EXIT_FAILURE); 307 } 308 if (!psMetadataLookupF64(&status, md, "posang") == 64.64) { 309 psFree(md); 310 exit(EXIT_FAILURE); 311 } 312 if (strncmp(psMetadataLookupPtr(&status, md, "object"), "a string", MAX_STRING_LENGTH)) { 313 psFree(md); 314 exit(EXIT_FAILURE); 315 } 316 psFree(md); 317 exit(EXIT_FAILURE); 318 } 319 320 psFree(md); 321 } 322 323 { 324 psMetadata *md; 325 rawScienceExpRow *object; 326 bool status; 327 328 object = rawScienceExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64, "a string", "0001-01-01T00:00:00Z"); 329 if (!object) { 330 exit(EXIT_FAILURE); 331 } 332 333 md = rawScienceExpMetadataFromObject(object); 334 if (!md) { 335 exit(EXIT_FAILURE); 336 } 337 338 psFree(object); 339 340 if (strncmp(psMetadataLookupPtr(&status, md, "exp_tag"), "a string", MAX_STRING_LENGTH)) { 341 psFree(md); 342 exit(EXIT_FAILURE); 343 } 344 if (strncmp(psMetadataLookupPtr(&status, md, "camera"), "a string", MAX_STRING_LENGTH)) { 345 psFree(md); 346 exit(EXIT_FAILURE); 347 } 348 if (strncmp(psMetadataLookupPtr(&status, md, "telescope"), "a string", MAX_STRING_LENGTH)) { 349 psFree(md); 350 exit(EXIT_FAILURE); 351 } 352 if (strncmp(psMetadataLookupPtr(&status, md, "exp_type"), "a string", MAX_STRING_LENGTH)) { 353 psFree(md); 354 exit(EXIT_FAILURE); 355 } 356 if (!psMetadataLookupS32(&status, md, "imfiles") == -32) { 357 psFree(md); 358 exit(EXIT_FAILURE); 359 } 360 if (strncmp(psMetadataLookupPtr(&status, md, "filter"), "a string", MAX_STRING_LENGTH)) { 361 psFree(md); 362 exit(EXIT_FAILURE); 363 } 364 if (!psMetadataLookupF32(&status, md, "airmass") == 32.32) { 142 365 psFree(md); 143 366 exit(EXIT_FAILURE); … … 151 374 exit(EXIT_FAILURE); 152 375 } 153 if (!psMetadataLookupF32(&status, md, "exptime") == 32.32) { 154 psFree(md); 155 exit(EXIT_FAILURE); 156 } 157 if (!psMetadataLookupF64(&status, md, "sky_bright") == 64.64) { 158 psFree(md); 159 exit(EXIT_FAILURE); 160 } 161 162 psFree(md); 163 } 164 165 { 166 psMetadata *md; 167 skyp_emissionRow *object; 168 bool status; 169 170 object = skyp_emissionRowAlloc("a string", 32.32, 32.32, 32.32, 32.32, 32.32); 171 if (!object) { 172 exit(EXIT_FAILURE); 173 } 174 175 md = skyp_emissionMetadataFromObject(object); 176 if (!md) { 177 exit(EXIT_FAILURE); 178 } 179 180 psFree(object); 181 182 if (strncmp(psMetadataLookupPtr(&status, md, "disperser_id"), "a string", MAX_STRING_LENGTH)) { 183 psFree(md); 184 exit(EXIT_FAILURE); 185 } 186 if (!psMetadataLookupF32(&status, md, "atmcomp1") == 32.32) { 187 psFree(md); 188 exit(EXIT_FAILURE); 189 } 190 if (!psMetadataLookupF32(&status, md, "atmcomp2") == 32.32) { 191 psFree(md); 192 exit(EXIT_FAILURE); 193 } 194 if (!psMetadataLookupF32(&status, md, "atmcomp3") == 32.32) { 195 psFree(md); 196 exit(EXIT_FAILURE); 197 } 198 if (!psMetadataLookupF32(&status, md, "continuum") == 32.32) { 199 psFree(md); 200 exit(EXIT_FAILURE); 201 } 202 if (!psMetadataLookupF32(&status, md, "exptime") == 32.32) { 203 psFree(md); 204 exit(EXIT_FAILURE); 205 } 206 207 psFree(md); 208 } 209 210 { 211 psMetadata *md; 212 dimmRow *object; 213 bool status; 214 215 object = dimmRowAlloc(32.32, 32.32, 32.32, 64.64, 64.64, 32.32, "a string"); 216 if (!object) { 217 exit(EXIT_FAILURE); 218 } 219 220 md = dimmMetadataFromObject(object); 221 if (!md) { 222 exit(EXIT_FAILURE); 223 } 224 225 psFree(object); 226 227 if (!psMetadataLookupF32(&status, md, "sigmax") == 32.32) { 228 psFree(md); 229 exit(EXIT_FAILURE); 230 } 231 if (!psMetadataLookupF32(&status, md, "sigmay") == 32.32) { 232 psFree(md); 233 exit(EXIT_FAILURE); 234 } 235 if (!psMetadataLookupF32(&status, md, "fwhm") == 32.32) { 376 if (!psMetadataLookupF32(&status, md, "exp_time") == 32.32) { 377 psFree(md); 378 exit(EXIT_FAILURE); 379 } 380 if (!psMetadataLookupF64(&status, md, "bg") == 64.64) { 381 psFree(md); 382 exit(EXIT_FAILURE); 383 } 384 if (!psMetadataLookupF64(&status, md, "bg_stdev") == 64.64) { 385 psFree(md); 386 exit(EXIT_FAILURE); 387 } 388 if (!psMetadataLookupF64(&status, md, "bg_mean_stdev") == 64.64) { 389 psFree(md); 390 exit(EXIT_FAILURE); 391 } 392 if (!psMetadataLookupF64(&status, md, "alt") == 64.64) { 393 psFree(md); 394 exit(EXIT_FAILURE); 395 } 396 if (!psMetadataLookupF64(&status, md, "az") == 64.64) { 397 psFree(md); 398 exit(EXIT_FAILURE); 399 } 400 if (!psMetadataLookupF32(&status, md, "ccd_temp") == 32.32) { 401 psFree(md); 402 exit(EXIT_FAILURE); 403 } 404 if (!psMetadataLookupF64(&status, md, "posang") == 64.64) { 405 psFree(md); 406 exit(EXIT_FAILURE); 407 } 408 if (strncmp(psMetadataLookupPtr(&status, md, "object"), "a string", MAX_STRING_LENGTH)) { 409 psFree(md); 410 exit(EXIT_FAILURE); 411 } 412 psFree(md); 413 exit(EXIT_FAILURE); 414 } 415 416 psFree(md); 417 } 418 419 { 420 psMetadata *md; 421 rawImfileRow *object; 422 bool status; 423 424 object = rawImfileRowAlloc("a string", "a string", "a string", "a string", "a string", "a string", 32.32, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64, "a string", "0001-01-01T00:00:00Z"); 425 if (!object) { 426 exit(EXIT_FAILURE); 427 } 428 429 md = rawImfileMetadataFromObject(object); 430 if (!md) { 431 exit(EXIT_FAILURE); 432 } 433 434 psFree(object); 435 436 if (strncmp(psMetadataLookupPtr(&status, md, "exp_tag"), "a string", MAX_STRING_LENGTH)) { 437 psFree(md); 438 exit(EXIT_FAILURE); 439 } 440 if (strncmp(psMetadataLookupPtr(&status, md, "class"), "a string", MAX_STRING_LENGTH)) { 441 psFree(md); 442 exit(EXIT_FAILURE); 443 } 444 if (strncmp(psMetadataLookupPtr(&status, md, "class_id"), "a string", MAX_STRING_LENGTH)) { 445 psFree(md); 446 exit(EXIT_FAILURE); 447 } 448 if (strncmp(psMetadataLookupPtr(&status, md, "uri"), "a string", MAX_STRING_LENGTH)) { 449 psFree(md); 450 exit(EXIT_FAILURE); 451 } 452 if (strncmp(psMetadataLookupPtr(&status, md, "exp_type"), "a string", MAX_STRING_LENGTH)) { 453 psFree(md); 454 exit(EXIT_FAILURE); 455 } 456 if (strncmp(psMetadataLookupPtr(&status, md, "filter"), "a string", MAX_STRING_LENGTH)) { 457 psFree(md); 458 exit(EXIT_FAILURE); 459 } 460 if (!psMetadataLookupF32(&status, md, "airmass") == 32.32) { 236 461 psFree(md); 237 462 exit(EXIT_FAILURE); … … 245 470 exit(EXIT_FAILURE); 246 471 } 247 if (!psMetadataLookupF32(&status, md, "expttime") == 32.32) {248 psFree(md);249 exit(EXIT_FAILURE);250 }251 if (strncmp(psMetadataLookupPtr(&status, md, "telescope_id"), "a string", MAX_STRING_LENGTH)) {252 psFree(md);253 exit(EXIT_FAILURE);254 }255 256 psFree(md);257 }258 259 {260 psMetadata *md;261 skyp_irRow *object;262 bool status;263 264 object = skyp_irRowAlloc(64.64, 64.64, 64.64, 64.64, 32.32, 32.32);265 if (!object) {266 exit(EXIT_FAILURE);267 }268 269 md = skyp_irMetadataFromObject(object);270 if (!md) {271 exit(EXIT_FAILURE);272 }273 274 psFree(object);275 276 if (!psMetadataLookupF64(&status, md, "sky_bright") == 64.64) {277 psFree(md);278 exit(EXIT_FAILURE);279 }280 if (!psMetadataLookupF64(&status, md, "sky_var") == 64.64) {281 psFree(md);282 exit(EXIT_FAILURE);283 }284 if (!psMetadataLookupF64(&status, md, "ra") == 64.64) {285 psFree(md);286 exit(EXIT_FAILURE);287 }288 if (!psMetadataLookupF64(&status, md, "decl") == 64.64) {289 psFree(md);290 exit(EXIT_FAILURE);291 }292 if (!psMetadataLookupF32(&status, md, "fov_x") == 32.32) {293 psFree(md);294 exit(EXIT_FAILURE);295 }296 if (!psMetadataLookupF32(&status, md, "fov_y") == 32.32) {297 psFree(md);298 exit(EXIT_FAILURE);299 }300 301 psFree(md);302 }303 304 {305 psMetadata *md;306 domeRow *object;307 bool status;308 309 object = domeRowAlloc(32.32, true, true, true);310 if (!object) {311 exit(EXIT_FAILURE);312 }313 314 md = domeMetadataFromObject(object);315 if (!md) {316 exit(EXIT_FAILURE);317 }318 319 psFree(object);320 321 if (!psMetadataLookupF32(&status, md, "az") == 32.32) {322 psFree(md);323 exit(EXIT_FAILURE);324 }325 if (!psMetadataLookupBool(&status, md, "open") == true) {326 psFree(md);327 exit(EXIT_FAILURE);328 }329 if (!psMetadataLookupBool(&status, md, "light") == true) {330 psFree(md);331 exit(EXIT_FAILURE);332 }333 if (!psMetadataLookupBool(&status, md, "track") == true) {334 psFree(md);335 exit(EXIT_FAILURE);336 }337 338 psFree(md);339 }340 341 {342 psMetadata *md;343 telescopeRow *object;344 bool status;345 346 object = telescopeRowAlloc("a string", 32.32, 32.32, 64.64, 64.64);347 if (!object) {348 exit(EXIT_FAILURE);349 }350 351 md = telescopeMetadataFromObject(object);352 if (!md) {353 exit(EXIT_FAILURE);354 }355 356 psFree(object);357 358 if (strncmp(psMetadataLookupPtr(&status, md, "guide"), "a string", MAX_STRING_LENGTH)) {359 psFree(md);360 exit(EXIT_FAILURE);361 }362 if (!psMetadataLookupF32(&status, md, "alt") == 32.32) {363 psFree(md);364 exit(EXIT_FAILURE);365 }366 if (!psMetadataLookupF32(&status, md, "az") == 32.32) {367 psFree(md);368 exit(EXIT_FAILURE);369 }370 if (!psMetadataLookupF64(&status, md, "ra") == 64.64) {371 psFree(md);372 exit(EXIT_FAILURE);373 }374 if (!psMetadataLookupF64(&status, md, "decl") == 64.64) {375 psFree(md);376 exit(EXIT_FAILURE);377 }378 379 psFree(md);380 }381 382 {383 psMetadata *md;384 summitExpRow *object;385 bool status;386 387 object = summitExpRowAlloc("a string", "a string", "a string", "a string", "a string");388 if (!object) {389 exit(EXIT_FAILURE);390 }391 392 md = summitExpMetadataFromObject(object);393 if (!md) {394 exit(EXIT_FAILURE);395 }396 397 psFree(object);398 399 if (strncmp(psMetadataLookupPtr(&status, md, "exp_id"), "a string", MAX_STRING_LENGTH)) {400 psFree(md);401 exit(EXIT_FAILURE);402 }403 if (strncmp(psMetadataLookupPtr(&status, md, "camera"), "a string", MAX_STRING_LENGTH)) {404 psFree(md);405 exit(EXIT_FAILURE);406 }407 if (strncmp(psMetadataLookupPtr(&status, md, "telescope"), "a string", MAX_STRING_LENGTH)) {408 psFree(md);409 exit(EXIT_FAILURE);410 }411 if (strncmp(psMetadataLookupPtr(&status, md, "exp_type"), "a string", MAX_STRING_LENGTH)) {412 psFree(md);413 exit(EXIT_FAILURE);414 }415 if (strncmp(psMetadataLookupPtr(&status, md, "uri"), "a string", MAX_STRING_LENGTH)) {416 psFree(md);417 exit(EXIT_FAILURE);418 }419 420 psFree(md);421 }422 423 {424 psMetadata *md;425 pzPendingExpRow *object;426 bool status;427 428 object = pzPendingExpRowAlloc("a string", "a string", "a string", "a string", -32);429 if (!object) {430 exit(EXIT_FAILURE);431 }432 433 md = pzPendingExpMetadataFromObject(object);434 if (!md) {435 exit(EXIT_FAILURE);436 }437 438 psFree(object);439 440 if (strncmp(psMetadataLookupPtr(&status, md, "exp_id"), "a string", MAX_STRING_LENGTH)) {441 psFree(md);442 exit(EXIT_FAILURE);443 }444 if (strncmp(psMetadataLookupPtr(&status, md, "camera"), "a string", MAX_STRING_LENGTH)) {445 psFree(md);446 exit(EXIT_FAILURE);447 }448 if (strncmp(psMetadataLookupPtr(&status, md, "telescope"), "a string", MAX_STRING_LENGTH)) {449 psFree(md);450 exit(EXIT_FAILURE);451 }452 if (strncmp(psMetadataLookupPtr(&status, md, "exp_type"), "a string", MAX_STRING_LENGTH)) {453 psFree(md);454 exit(EXIT_FAILURE);455 }456 if (!psMetadataLookupS32(&status, md, "imfiles") == -32) {457 psFree(md);458 exit(EXIT_FAILURE);459 }460 461 psFree(md);462 }463 464 {465 psMetadata *md;466 pzPendingImfileRow *object;467 bool status;468 469 object = pzPendingImfileRowAlloc("a string", "a string", "a string", -32, "a string", "a string", "a string", "a string");470 if (!object) {471 exit(EXIT_FAILURE);472 }473 474 md = pzPendingImfileMetadataFromObject(object);475 if (!md) {476 exit(EXIT_FAILURE);477 }478 479 psFree(object);480 481 if (strncmp(psMetadataLookupPtr(&status, md, "exp_id"), "a string", MAX_STRING_LENGTH)) {482 psFree(md);483 exit(EXIT_FAILURE);484 }485 if (strncmp(psMetadataLookupPtr(&status, md, "camera"), "a string", MAX_STRING_LENGTH)) {486 psFree(md);487 exit(EXIT_FAILURE);488 }489 if (strncmp(psMetadataLookupPtr(&status, md, "telescope"), "a string", MAX_STRING_LENGTH)) {490 psFree(md);491 exit(EXIT_FAILURE);492 }493 if (!psMetadataLookupS32(&status, md, "bytes") == -32) {494 psFree(md);495 exit(EXIT_FAILURE);496 }497 if (strncmp(psMetadataLookupPtr(&status, md, "md5sum"), "a string", MAX_STRING_LENGTH)) {498 psFree(md);499 exit(EXIT_FAILURE);500 }501 if (strncmp(psMetadataLookupPtr(&status, md, "class"), "a string", MAX_STRING_LENGTH)) {502 psFree(md);503 exit(EXIT_FAILURE);504 }505 if (strncmp(psMetadataLookupPtr(&status, md, "class_id"), "a string", MAX_STRING_LENGTH)) {506 psFree(md);507 exit(EXIT_FAILURE);508 }509 if (strncmp(psMetadataLookupPtr(&status, md, "uri"), "a string", MAX_STRING_LENGTH)) {510 psFree(md);511 exit(EXIT_FAILURE);512 }513 514 psFree(md);515 }516 517 {518 psMetadata *md;519 newExpRow *object;520 bool status;521 522 object = newExpRowAlloc("a string", "a string", "a string", "a string", "a string", -32);523 if (!object) {524 exit(EXIT_FAILURE);525 }526 527 md = newExpMetadataFromObject(object);528 if (!md) {529 exit(EXIT_FAILURE);530 }531 532 psFree(object);533 534 if (strncmp(psMetadataLookupPtr(&status, md, "exp_tag"), "a string", MAX_STRING_LENGTH)) {535 psFree(md);536 exit(EXIT_FAILURE);537 }538 if (strncmp(psMetadataLookupPtr(&status, md, "exp_id"), "a string", MAX_STRING_LENGTH)) {539 psFree(md);540 exit(EXIT_FAILURE);541 }542 if (strncmp(psMetadataLookupPtr(&status, md, "camera"), "a string", MAX_STRING_LENGTH)) {543 psFree(md);544 exit(EXIT_FAILURE);545 }546 if (strncmp(psMetadataLookupPtr(&status, md, "telescope"), "a string", MAX_STRING_LENGTH)) {547 psFree(md);548 exit(EXIT_FAILURE);549 }550 if (strncmp(psMetadataLookupPtr(&status, md, "exp_type"), "a string", MAX_STRING_LENGTH)) {551 psFree(md);552 exit(EXIT_FAILURE);553 }554 if (!psMetadataLookupS32(&status, md, "imfiles") == -32) {555 psFree(md);556 exit(EXIT_FAILURE);557 }558 559 psFree(md);560 }561 562 {563 psMetadata *md;564 newImfileRow *object;565 bool status;566 567 object = newImfileRowAlloc("a string", "a string", "a string", "a string");568 if (!object) {569 exit(EXIT_FAILURE);570 }571 572 md = newImfileMetadataFromObject(object);573 if (!md) {574 exit(EXIT_FAILURE);575 }576 577 psFree(object);578 579 if (strncmp(psMetadataLookupPtr(&status, md, "exp_tag"), "a string", MAX_STRING_LENGTH)) {580 psFree(md);581 exit(EXIT_FAILURE);582 }583 if (strncmp(psMetadataLookupPtr(&status, md, "class"), "a string", MAX_STRING_LENGTH)) {584 psFree(md);585 exit(EXIT_FAILURE);586 }587 if (strncmp(psMetadataLookupPtr(&status, md, "class_id"), "a string", MAX_STRING_LENGTH)) {588 psFree(md);589 exit(EXIT_FAILURE);590 }591 if (strncmp(psMetadataLookupPtr(&status, md, "uri"), "a string", MAX_STRING_LENGTH)) {592 psFree(md);593 exit(EXIT_FAILURE);594 }595 596 psFree(md);597 }598 599 {600 psMetadata *md;601 rawDetrendExpRow *object;602 bool status;603 604 object = rawDetrendExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64, "a string");605 if (!object) {606 exit(EXIT_FAILURE);607 }608 609 md = rawDetrendExpMetadataFromObject(object);610 if (!md) {611 exit(EXIT_FAILURE);612 }613 614 psFree(object);615 616 if (strncmp(psMetadataLookupPtr(&status, md, "exp_tag"), "a string", MAX_STRING_LENGTH)) {617 psFree(md);618 exit(EXIT_FAILURE);619 }620 if (strncmp(psMetadataLookupPtr(&status, md, "camera"), "a string", MAX_STRING_LENGTH)) {621 psFree(md);622 exit(EXIT_FAILURE);623 }624 if (strncmp(psMetadataLookupPtr(&status, md, "telescope"), "a string", MAX_STRING_LENGTH)) {625 psFree(md);626 exit(EXIT_FAILURE);627 }628 if (strncmp(psMetadataLookupPtr(&status, md, "exp_type"), "a string", MAX_STRING_LENGTH)) {629 psFree(md);630 exit(EXIT_FAILURE);631 }632 if (!psMetadataLookupS32(&status, md, "imfiles") == -32) {633 psFree(md);634 exit(EXIT_FAILURE);635 }636 if (strncmp(psMetadataLookupPtr(&status, md, "filter"), "a string", MAX_STRING_LENGTH)) {637 psFree(md);638 exit(EXIT_FAILURE);639 }640 if (!psMetadataLookupF32(&status, md, "airmass") == 32.32) {641 psFree(md);642 exit(EXIT_FAILURE);643 }644 if (!psMetadataLookupF64(&status, md, "ra") == 64.64) {645 psFree(md);646 exit(EXIT_FAILURE);647 }648 if (!psMetadataLookupF64(&status, md, "decl") == 64.64) {649 psFree(md);650 exit(EXIT_FAILURE);651 }652 472 if (!psMetadataLookupF32(&status, md, "exp_time") == 32.32) { 653 473 psFree(md); … … 686 506 exit(EXIT_FAILURE); 687 507 } 688 689 psFree(md);690 }691 692 {693 psMetadata *md;694 rawScienceExpRow *object;695 bool status;696 697 object = rawScienceExpRowAlloc("a string", "a string", "a string", "a string", -32, "a string", 32.32, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64, "a string");698 if (!object) {699 exit(EXIT_FAILURE);700 }701 702 md = rawScienceExpMetadataFromObject(object);703 if (!md) {704 exit(EXIT_FAILURE);705 }706 707 psFree(object);708 709 if (strncmp(psMetadataLookupPtr(&status, md, "exp_tag"), "a string", MAX_STRING_LENGTH)) {710 psFree(md);711 exit(EXIT_FAILURE);712 }713 if (strncmp(psMetadataLookupPtr(&status, md, "camera"), "a string", MAX_STRING_LENGTH)) {714 psFree(md);715 exit(EXIT_FAILURE);716 }717 if (strncmp(psMetadataLookupPtr(&status, md, "telescope"), "a string", MAX_STRING_LENGTH)) {718 psFree(md);719 exit(EXIT_FAILURE);720 }721 if (strncmp(psMetadataLookupPtr(&status, md, "exp_type"), "a string", MAX_STRING_LENGTH)) {722 psFree(md);723 exit(EXIT_FAILURE);724 }725 if (!psMetadataLookupS32(&status, md, "imfiles") == -32) {726 psFree(md);727 exit(EXIT_FAILURE);728 }729 if (strncmp(psMetadataLookupPtr(&status, md, "filter"), "a string", MAX_STRING_LENGTH)) {730 psFree(md);731 exit(EXIT_FAILURE);732 }733 if (!psMetadataLookupF32(&status, md, "airmass") == 32.32) {734 psFree(md);735 exit(EXIT_FAILURE);736 }737 if (!psMetadataLookupF64(&status, md, "ra") == 64.64) {738 psFree(md);739 exit(EXIT_FAILURE);740 }741 if (!psMetadataLookupF64(&status, md, "decl") == 64.64) {742 psFree(md);743 exit(EXIT_FAILURE);744 }745 if (!psMetadataLookupF32(&status, md, "exp_time") == 32.32) {746 psFree(md);747 exit(EXIT_FAILURE);748 }749 if (!psMetadataLookupF64(&status, md, "bg") == 64.64) {750 psFree(md);751 exit(EXIT_FAILURE);752 }753 if (!psMetadataLookupF64(&status, md, "bg_stdev") == 64.64) {754 psFree(md);755 exit(EXIT_FAILURE);756 }757 if (!psMetadataLookupF64(&status, md, "bg_mean_stdev") == 64.64) {758 psFree(md);759 exit(EXIT_FAILURE);760 }761 if (!psMetadataLookupF64(&status, md, "alt") == 64.64) {762 psFree(md);763 exit(EXIT_FAILURE);764 }765 if (!psMetadataLookupF64(&status, md, "az") == 64.64) {766 psFree(md);767 exit(EXIT_FAILURE);768 }769 if (!psMetadataLookupF32(&status, md, "ccd_temp") == 32.32) {770 psFree(md);771 exit(EXIT_FAILURE);772 }773 if (!psMetadataLookupF64(&status, md, "posang") == 64.64) {774 psFree(md);775 exit(EXIT_FAILURE);776 }777 if (strncmp(psMetadataLookupPtr(&status, md, "object"), "a string", MAX_STRING_LENGTH)) {778 psFree(md);779 exit(EXIT_FAILURE);780 }781 782 psFree(md);783 }784 785 {786 psMetadata *md;787 rawImfileRow *object;788 bool status;789 790 object = rawImfileRowAlloc("a string", "a string", "a string", "a string", "a string", "a string", 32.32, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64, "a string");791 if (!object) {792 exit(EXIT_FAILURE);793 }794 795 md = rawImfileMetadataFromObject(object);796 if (!md) {797 exit(EXIT_FAILURE);798 }799 800 psFree(object);801 802 if (strncmp(psMetadataLookupPtr(&status, md, "exp_tag"), "a string", MAX_STRING_LENGTH)) {803 psFree(md);804 exit(EXIT_FAILURE);805 }806 if (strncmp(psMetadataLookupPtr(&status, md, "class"), "a string", MAX_STRING_LENGTH)) {807 psFree(md);808 exit(EXIT_FAILURE);809 }810 if (strncmp(psMetadataLookupPtr(&status, md, "class_id"), "a string", MAX_STRING_LENGTH)) {811 psFree(md);812 exit(EXIT_FAILURE);813 }814 if (strncmp(psMetadataLookupPtr(&status, md, "uri"), "a string", MAX_STRING_LENGTH)) {815 psFree(md);816 exit(EXIT_FAILURE);817 }818 if (strncmp(psMetadataLookupPtr(&status, md, "exp_type"), "a string", MAX_STRING_LENGTH)) {819 psFree(md);820 exit(EXIT_FAILURE);821 }822 if (strncmp(psMetadataLookupPtr(&status, md, "filter"), "a string", MAX_STRING_LENGTH)) {823 psFree(md);824 exit(EXIT_FAILURE);825 }826 if (!psMetadataLookupF32(&status, md, "airmass") == 32.32) {827 psFree(md);828 exit(EXIT_FAILURE);829 }830 if (!psMetadataLookupF64(&status, md, "ra") == 64.64) {831 psFree(md);832 exit(EXIT_FAILURE);833 }834 if (!psMetadataLookupF64(&status, md, "decl") == 64.64) {835 psFree(md);836 exit(EXIT_FAILURE);837 }838 if (!psMetadataLookupF32(&status, md, "exp_time") == 32.32) {839 psFree(md);840 exit(EXIT_FAILURE);841 }842 if (!psMetadataLookupF64(&status, md, "bg") == 64.64) {843 psFree(md);844 exit(EXIT_FAILURE);845 }846 if (!psMetadataLookupF64(&status, md, "bg_stdev") == 64.64) {847 psFree(md);848 exit(EXIT_FAILURE);849 }850 if (!psMetadataLookupF64(&status, md, "bg_mean_stdev") == 64.64) {851 psFree(md);852 exit(EXIT_FAILURE);853 }854 if (!psMetadataLookupF64(&status, md, "alt") == 64.64) {855 psFree(md);856 exit(EXIT_FAILURE);857 }858 if (!psMetadataLookupF64(&status, md, "az") == 64.64) {859 psFree(md);860 exit(EXIT_FAILURE);861 }862 if (!psMetadataLookupF32(&status, md, "ccd_temp") == 32.32) {863 psFree(md);864 exit(EXIT_FAILURE);865 }866 if (!psMetadataLookupF64(&status, md, "posang") == 64.64) {867 psFree(md);868 exit(EXIT_FAILURE);869 }870 if (strncmp(psMetadataLookupPtr(&status, md, "object"), "a string", MAX_STRING_LENGTH)) {871 508 psFree(md); 872 509 exit(EXIT_FAILURE); -
trunk/ippdb/tests/objectfrommetadata.c
r9423 r9684 10 10 { 11 11 psMetadata *md; 12 weatherRow *object; 13 14 md = psMetadataAlloc(); 15 if (!psMetadataAddF32(md, PS_LIST_TAIL, "temp01", 0, NULL, 32.32)) { 16 psFree(md); 17 exit(EXIT_FAILURE); 18 } 19 if (!psMetadataAddF32(md, PS_LIST_TAIL, "humi01", 0, NULL, 32.32)) { 20 psFree(md); 21 exit(EXIT_FAILURE); 22 } 23 if (!psMetadataAddF32(md, PS_LIST_TAIL, "temp02", 0, NULL, 32.32)) { 24 psFree(md); 25 exit(EXIT_FAILURE); 26 } 27 if (!psMetadataAddF32(md, PS_LIST_TAIL, "humi02", 0, NULL, 32.32)) { 28 psFree(md); 29 exit(EXIT_FAILURE); 30 } 31 if (!psMetadataAddF32(md, PS_LIST_TAIL, "temp03", 0, NULL, 32.32)) { 32 psFree(md); 33 exit(EXIT_FAILURE); 34 } 35 if (!psMetadataAddF32(md, PS_LIST_TAIL, "humi03", 0, NULL, 32.32)) { 36 psFree(md); 37 exit(EXIT_FAILURE); 38 } 39 if (!psMetadataAddF32(md, PS_LIST_TAIL, "pressure", 0, NULL, 32.32)) { 40 psFree(md); 41 exit(EXIT_FAILURE); 42 } 43 44 object = weatherObjectFromMetadata(md); 45 if (!object) { 46 psFree(md); 47 exit(EXIT_FAILURE); 48 } 49 50 psFree(md); 51 52 if (!object->temp01 == 32.32) { 53 psFree(object); 54 exit(EXIT_FAILURE); 55 } 56 if (!object->humi01 == 32.32) { 57 psFree(object); 58 exit(EXIT_FAILURE); 59 } 60 if (!object->temp02 == 32.32) { 61 psFree(object); 62 exit(EXIT_FAILURE); 63 } 64 if (!object->humi02 == 32.32) { 65 psFree(object); 66 exit(EXIT_FAILURE); 67 } 68 if (!object->temp03 == 32.32) { 69 psFree(object); 70 exit(EXIT_FAILURE); 71 } 72 if (!object->humi03 == 32.32) { 73 psFree(object); 74 exit(EXIT_FAILURE); 75 } 76 if (!object->pressure == 32.32) { 77 psFree(object); 78 exit(EXIT_FAILURE); 79 } 80 81 psFree(object); 82 } 83 84 { 85 psMetadata *md; 86 skyp_transparencyRow *object; 87 88 md = psMetadataAlloc(); 12 summitExpRow *object; 13 14 md = psMetadataAlloc(); 15 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, "a string")) { 16 psFree(md); 17 exit(EXIT_FAILURE); 18 } 19 if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, "a string")) { 20 psFree(md); 21 exit(EXIT_FAILURE); 22 } 23 if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, "a string")) { 24 psFree(md); 25 exit(EXIT_FAILURE); 26 } 27 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, "a string")) { 28 psFree(md); 29 exit(EXIT_FAILURE); 30 } 31 if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, "a string")) { 32 psFree(md); 33 exit(EXIT_FAILURE); 34 } 35 36 object = summitExpObjectFromMetadata(md); 37 if (!object) { 38 psFree(md); 39 exit(EXIT_FAILURE); 40 } 41 42 psFree(md); 43 44 if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) { 45 psFree(object); 46 exit(EXIT_FAILURE); 47 } 48 if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) { 49 psFree(object); 50 exit(EXIT_FAILURE); 51 } 52 if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) { 53 psFree(object); 54 exit(EXIT_FAILURE); 55 } 56 if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) { 57 psFree(object); 58 exit(EXIT_FAILURE); 59 } 60 if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) { 61 psFree(object); 62 exit(EXIT_FAILURE); 63 } 64 65 psFree(object); 66 } 67 68 { 69 psMetadata *md; 70 pzPendingExpRow *object; 71 72 md = psMetadataAlloc(); 73 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, "a string")) { 74 psFree(md); 75 exit(EXIT_FAILURE); 76 } 77 if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, "a string")) { 78 psFree(md); 79 exit(EXIT_FAILURE); 80 } 81 if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, "a string")) { 82 psFree(md); 83 exit(EXIT_FAILURE); 84 } 85 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, "a string")) { 86 psFree(md); 87 exit(EXIT_FAILURE); 88 } 89 if (!psMetadataAddS32(md, PS_LIST_TAIL, "imfiles", 0, NULL, -32)) { 90 psFree(md); 91 exit(EXIT_FAILURE); 92 } 93 94 object = pzPendingExpObjectFromMetadata(md); 95 if (!object) { 96 psFree(md); 97 exit(EXIT_FAILURE); 98 } 99 100 psFree(md); 101 102 if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) { 103 psFree(object); 104 exit(EXIT_FAILURE); 105 } 106 if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) { 107 psFree(object); 108 exit(EXIT_FAILURE); 109 } 110 if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) { 111 psFree(object); 112 exit(EXIT_FAILURE); 113 } 114 if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) { 115 psFree(object); 116 exit(EXIT_FAILURE); 117 } 118 if (!object->imfiles == -32) { 119 psFree(object); 120 exit(EXIT_FAILURE); 121 } 122 123 psFree(object); 124 } 125 126 { 127 psMetadata *md; 128 pzPendingImfileRow *object; 129 130 md = psMetadataAlloc(); 131 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, "a string")) { 132 psFree(md); 133 exit(EXIT_FAILURE); 134 } 135 if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, "a string")) { 136 psFree(md); 137 exit(EXIT_FAILURE); 138 } 139 if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, "a string")) { 140 psFree(md); 141 exit(EXIT_FAILURE); 142 } 143 if (!psMetadataAddS32(md, PS_LIST_TAIL, "bytes", 0, NULL, -32)) { 144 psFree(md); 145 exit(EXIT_FAILURE); 146 } 147 if (!psMetadataAddStr(md, PS_LIST_TAIL, "md5sum", 0, NULL, "a string")) { 148 psFree(md); 149 exit(EXIT_FAILURE); 150 } 151 if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, "a string")) { 152 psFree(md); 153 exit(EXIT_FAILURE); 154 } 155 if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, "a string")) { 156 psFree(md); 157 exit(EXIT_FAILURE); 158 } 159 if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, "a string")) { 160 psFree(md); 161 exit(EXIT_FAILURE); 162 } 163 164 object = pzPendingImfileObjectFromMetadata(md); 165 if (!object) { 166 psFree(md); 167 exit(EXIT_FAILURE); 168 } 169 170 psFree(md); 171 172 if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) { 173 psFree(object); 174 exit(EXIT_FAILURE); 175 } 176 if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) { 177 psFree(object); 178 exit(EXIT_FAILURE); 179 } 180 if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) { 181 psFree(object); 182 exit(EXIT_FAILURE); 183 } 184 if (!object->bytes == -32) { 185 psFree(object); 186 exit(EXIT_FAILURE); 187 } 188 if (strncmp(object->md5sum, "a string", MAX_STRING_LENGTH)) { 189 psFree(object); 190 exit(EXIT_FAILURE); 191 } 192 if (strncmp(object->class, "a string", MAX_STRING_LENGTH)) { 193 psFree(object); 194 exit(EXIT_FAILURE); 195 } 196 if (strncmp(object->class_id, "a string", MAX_STRING_LENGTH)) { 197 psFree(object); 198 exit(EXIT_FAILURE); 199 } 200 if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) { 201 psFree(object); 202 exit(EXIT_FAILURE); 203 } 204 205 psFree(object); 206 } 207 208 { 209 psMetadata *md; 210 newExpRow *object; 211 212 md = psMetadataAlloc(); 213 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_tag", 0, NULL, "a string")) { 214 psFree(md); 215 exit(EXIT_FAILURE); 216 } 217 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, "a string")) { 218 psFree(md); 219 exit(EXIT_FAILURE); 220 } 221 if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, "a string")) { 222 psFree(md); 223 exit(EXIT_FAILURE); 224 } 225 if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, "a string")) { 226 psFree(md); 227 exit(EXIT_FAILURE); 228 } 229 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, "a string")) { 230 psFree(md); 231 exit(EXIT_FAILURE); 232 } 233 if (!psMetadataAddS32(md, PS_LIST_TAIL, "imfiles", 0, NULL, -32)) { 234 psFree(md); 235 exit(EXIT_FAILURE); 236 } 237 238 object = newExpObjectFromMetadata(md); 239 if (!object) { 240 psFree(md); 241 exit(EXIT_FAILURE); 242 } 243 244 psFree(md); 245 246 if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) { 247 psFree(object); 248 exit(EXIT_FAILURE); 249 } 250 if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) { 251 psFree(object); 252 exit(EXIT_FAILURE); 253 } 254 if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) { 255 psFree(object); 256 exit(EXIT_FAILURE); 257 } 258 if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) { 259 psFree(object); 260 exit(EXIT_FAILURE); 261 } 262 if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) { 263 psFree(object); 264 exit(EXIT_FAILURE); 265 } 266 if (!object->imfiles == -32) { 267 psFree(object); 268 exit(EXIT_FAILURE); 269 } 270 271 psFree(object); 272 } 273 274 { 275 psMetadata *md; 276 newImfileRow *object; 277 278 md = psMetadataAlloc(); 279 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_tag", 0, NULL, "a string")) { 280 psFree(md); 281 exit(EXIT_FAILURE); 282 } 283 if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, "a string")) { 284 psFree(md); 285 exit(EXIT_FAILURE); 286 } 287 if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, "a string")) { 288 psFree(md); 289 exit(EXIT_FAILURE); 290 } 291 if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, "a string")) { 292 psFree(md); 293 exit(EXIT_FAILURE); 294 } 295 296 object = newImfileObjectFromMetadata(md); 297 if (!object) { 298 psFree(md); 299 exit(EXIT_FAILURE); 300 } 301 302 psFree(md); 303 304 if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) { 305 psFree(object); 306 exit(EXIT_FAILURE); 307 } 308 if (strncmp(object->class, "a string", MAX_STRING_LENGTH)) { 309 psFree(object); 310 exit(EXIT_FAILURE); 311 } 312 if (strncmp(object->class_id, "a string", MAX_STRING_LENGTH)) { 313 psFree(object); 314 exit(EXIT_FAILURE); 315 } 316 if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) { 317 psFree(object); 318 exit(EXIT_FAILURE); 319 } 320 321 psFree(object); 322 } 323 324 { 325 psMetadata *md; 326 rawDetrendExpRow *object; 327 328 md = psMetadataAlloc(); 329 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_tag", 0, NULL, "a string")) { 330 psFree(md); 331 exit(EXIT_FAILURE); 332 } 333 if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, "a string")) { 334 psFree(md); 335 exit(EXIT_FAILURE); 336 } 337 if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, "a string")) { 338 psFree(md); 339 exit(EXIT_FAILURE); 340 } 341 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, "a string")) { 342 psFree(md); 343 exit(EXIT_FAILURE); 344 } 345 if (!psMetadataAddS32(md, PS_LIST_TAIL, "imfiles", 0, NULL, -32)) { 346 psFree(md); 347 exit(EXIT_FAILURE); 348 } 89 349 if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, "a string")) { 90 350 psFree(md); 91 351 exit(EXIT_FAILURE); 92 352 } 93 if (!psMetadataAddF64(md, PS_LIST_TAIL, "trans", 0, NULL, 64.64)) { 94 psFree(md); 95 exit(EXIT_FAILURE); 96 } 97 if (!psMetadataAddS32(md, PS_LIST_TAIL, "nstars", 0, NULL, -32)) { 353 if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, 32.32)) { 98 354 psFree(md); 99 355 exit(EXIT_FAILURE); … … 107 363 exit(EXIT_FAILURE); 108 364 } 109 if (!psMetadataAddF32(md, PS_LIST_TAIL, "exptime", 0, NULL, 32.32)) { 110 psFree(md); 111 exit(EXIT_FAILURE); 112 } 113 if (!psMetadataAddF64(md, PS_LIST_TAIL, "sky_bright", 0, NULL, 64.64)) { 114 psFree(md); 115 exit(EXIT_FAILURE); 116 } 117 118 object = skyp_transparencyObjectFromMetadata(md); 119 if (!object) { 120 psFree(md); 121 exit(EXIT_FAILURE); 122 } 123 124 psFree(md); 125 365 if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, 32.32)) { 366 psFree(md); 367 exit(EXIT_FAILURE); 368 } 369 if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg", 0, NULL, 64.64)) { 370 psFree(md); 371 exit(EXIT_FAILURE); 372 } 373 if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, 64.64)) { 374 psFree(md); 375 exit(EXIT_FAILURE); 376 } 377 if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, 64.64)) { 378 psFree(md); 379 exit(EXIT_FAILURE); 380 } 381 if (!psMetadataAddF64(md, PS_LIST_TAIL, "alt", 0, NULL, 64.64)) { 382 psFree(md); 383 exit(EXIT_FAILURE); 384 } 385 if (!psMetadataAddF64(md, PS_LIST_TAIL, "az", 0, NULL, 64.64)) { 386 psFree(md); 387 exit(EXIT_FAILURE); 388 } 389 if (!psMetadataAddF32(md, PS_LIST_TAIL, "ccd_temp", 0, NULL, 32.32)) { 390 psFree(md); 391 exit(EXIT_FAILURE); 392 } 393 if (!psMetadataAddF64(md, PS_LIST_TAIL, "posang", 0, NULL, 64.64)) { 394 psFree(md); 395 exit(EXIT_FAILURE); 396 } 397 if (!psMetadataAddStr(md, PS_LIST_TAIL, "object", 0, NULL, "a string")) { 398 psFree(md); 399 exit(EXIT_FAILURE); 400 } 401 psFree(md); 402 exit(EXIT_FAILURE); 403 } 404 405 object = rawDetrendExpObjectFromMetadata(md); 406 if (!object) { 407 psFree(md); 408 exit(EXIT_FAILURE); 409 } 410 411 psFree(md); 412 413 if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) { 414 psFree(object); 415 exit(EXIT_FAILURE); 416 } 417 if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) { 418 psFree(object); 419 exit(EXIT_FAILURE); 420 } 421 if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) { 422 psFree(object); 423 exit(EXIT_FAILURE); 424 } 425 if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) { 426 psFree(object); 427 exit(EXIT_FAILURE); 428 } 429 if (!object->imfiles == -32) { 430 psFree(object); 431 exit(EXIT_FAILURE); 432 } 126 433 if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) { 127 434 psFree(object); 128 435 exit(EXIT_FAILURE); 129 436 } 130 if (!object->trans == 64.64) { 131 psFree(object); 132 exit(EXIT_FAILURE); 133 } 134 if (!object->nstars == -32) { 437 if (!object->airmass == 32.32) { 135 438 psFree(object); 136 439 exit(EXIT_FAILURE); … … 144 447 exit(EXIT_FAILURE); 145 448 } 146 if (!object->exptime == 32.32) { 147 psFree(object); 148 exit(EXIT_FAILURE); 149 } 150 if (!object->sky_bright == 64.64) { 151 psFree(object); 152 exit(EXIT_FAILURE); 153 } 154 155 psFree(object); 156 } 157 158 { 159 psMetadata *md; 160 skyp_absorptionRow *object; 161 162 md = psMetadataAlloc(); 163 if (!psMetadataAddStr(md, PS_LIST_TAIL, "disperser_id", 0, NULL, "a string")) { 164 psFree(md); 165 exit(EXIT_FAILURE); 166 } 167 if (!psMetadataAddF32(md, PS_LIST_TAIL, "atmcomp1", 0, NULL, 32.32)) { 168 psFree(md); 169 exit(EXIT_FAILURE); 170 } 171 if (!psMetadataAddF32(md, PS_LIST_TAIL, "atmcomp2", 0, NULL, 32.32)) { 172 psFree(md); 173 exit(EXIT_FAILURE); 174 } 175 if (!psMetadataAddF32(md, PS_LIST_TAIL, "atmcomp3", 0, NULL, 32.32)) { 176 psFree(md); 177 exit(EXIT_FAILURE); 178 } 179 if (!psMetadataAddS32(md, PS_LIST_TAIL, "nstars", 0, NULL, -32)) { 449 if (!object->exp_time == 32.32) { 450 psFree(object); 451 exit(EXIT_FAILURE); 452 } 453 if (!object->bg == 64.64) { 454 psFree(object); 455 exit(EXIT_FAILURE); 456 } 457 if (!object->bg_stdev == 64.64) { 458 psFree(object); 459 exit(EXIT_FAILURE); 460 } 461 if (!object->bg_mean_stdev == 64.64) { 462 psFree(object); 463 exit(EXIT_FAILURE); 464 } 465 if (!object->alt == 64.64) { 466 psFree(object); 467 exit(EXIT_FAILURE); 468 } 469 if (!object->az == 64.64) { 470 psFree(object); 471 exit(EXIT_FAILURE); 472 } 473 if (!object->ccd_temp == 32.32) { 474 psFree(object); 475 exit(EXIT_FAILURE); 476 } 477 if (!object->posang == 64.64) { 478 psFree(object); 479 exit(EXIT_FAILURE); 480 } 481 if (strncmp(object->object, "a string", MAX_STRING_LENGTH)) { 482 psFree(object); 483 exit(EXIT_FAILURE); 484 } 485 psFree(object); 486 exit(EXIT_FAILURE); 487 } 488 489 psFree(object); 490 } 491 492 { 493 psMetadata *md; 494 rawScienceExpRow *object; 495 496 md = psMetadataAlloc(); 497 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_tag", 0, NULL, "a string")) { 498 psFree(md); 499 exit(EXIT_FAILURE); 500 } 501 if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, "a string")) { 502 psFree(md); 503 exit(EXIT_FAILURE); 504 } 505 if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, "a string")) { 506 psFree(md); 507 exit(EXIT_FAILURE); 508 } 509 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, "a string")) { 510 psFree(md); 511 exit(EXIT_FAILURE); 512 } 513 if (!psMetadataAddS32(md, PS_LIST_TAIL, "imfiles", 0, NULL, -32)) { 514 psFree(md); 515 exit(EXIT_FAILURE); 516 } 517 if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, "a string")) { 518 psFree(md); 519 exit(EXIT_FAILURE); 520 } 521 if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, 32.32)) { 180 522 psFree(md); 181 523 exit(EXIT_FAILURE); … … 189 531 exit(EXIT_FAILURE); 190 532 } 191 if (!psMetadataAddF32(md, PS_LIST_TAIL, "exptime", 0, NULL, 32.32)) { 192 psFree(md); 193 exit(EXIT_FAILURE); 194 } 195 if (!psMetadataAddF64(md, PS_LIST_TAIL, "sky_bright", 0, NULL, 64.64)) { 196 psFree(md); 197 exit(EXIT_FAILURE); 198 } 199 200 object = skyp_absorptionObjectFromMetadata(md); 201 if (!object) { 202 psFree(md); 203 exit(EXIT_FAILURE); 204 } 205 206 psFree(md); 207 208 if (strncmp(object->disperser_id, "a string", MAX_STRING_LENGTH)) { 209 psFree(object); 210 exit(EXIT_FAILURE); 211 } 212 if (!object->atmcomp1 == 32.32) { 213 psFree(object); 214 exit(EXIT_FAILURE); 215 } 216 if (!object->atmcomp2 == 32.32) { 217 psFree(object); 218 exit(EXIT_FAILURE); 219 } 220 if (!object->atmcomp3 == 32.32) { 221 psFree(object); 222 exit(EXIT_FAILURE); 223 } 224 if (!object->nstars == -32) { 533 if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, 32.32)) { 534 psFree(md); 535 exit(EXIT_FAILURE); 536 } 537 if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg", 0, NULL, 64.64)) { 538 psFree(md); 539 exit(EXIT_FAILURE); 540 } 541 if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, 64.64)) { 542 psFree(md); 543 exit(EXIT_FAILURE); 544 } 545 if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, 64.64)) { 546 psFree(md); 547 exit(EXIT_FAILURE); 548 } 549 if (!psMetadataAddF64(md, PS_LIST_TAIL, "alt", 0, NULL, 64.64)) { 550 psFree(md); 551 exit(EXIT_FAILURE); 552 } 553 if (!psMetadataAddF64(md, PS_LIST_TAIL, "az", 0, NULL, 64.64)) { 554 psFree(md); 555 exit(EXIT_FAILURE); 556 } 557 if (!psMetadataAddF32(md, PS_LIST_TAIL, "ccd_temp", 0, NULL, 32.32)) { 558 psFree(md); 559 exit(EXIT_FAILURE); 560 } 561 if (!psMetadataAddF64(md, PS_LIST_TAIL, "posang", 0, NULL, 64.64)) { 562 psFree(md); 563 exit(EXIT_FAILURE); 564 } 565 if (!psMetadataAddStr(md, PS_LIST_TAIL, "object", 0, NULL, "a string")) { 566 psFree(md); 567 exit(EXIT_FAILURE); 568 } 569 psFree(md); 570 exit(EXIT_FAILURE); 571 } 572 573 object = rawScienceExpObjectFromMetadata(md); 574 if (!object) { 575 psFree(md); 576 exit(EXIT_FAILURE); 577 } 578 579 psFree(md); 580 581 if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) { 582 psFree(object); 583 exit(EXIT_FAILURE); 584 } 585 if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) { 586 psFree(object); 587 exit(EXIT_FAILURE); 588 } 589 if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) { 590 psFree(object); 591 exit(EXIT_FAILURE); 592 } 593 if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) { 594 psFree(object); 595 exit(EXIT_FAILURE); 596 } 597 if (!object->imfiles == -32) { 598 psFree(object); 599 exit(EXIT_FAILURE); 600 } 601 if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) { 602 psFree(object); 603 exit(EXIT_FAILURE); 604 } 605 if (!object->airmass == 32.32) { 225 606 psFree(object); 226 607 exit(EXIT_FAILURE); … … 234 615 exit(EXIT_FAILURE); 235 616 } 236 if (!object->exptime == 32.32) { 237 psFree(object); 238 exit(EXIT_FAILURE); 239 } 240 if (!object->sky_bright == 64.64) { 241 psFree(object); 242 exit(EXIT_FAILURE); 243 } 244 245 psFree(object); 246 } 247 248 { 249 psMetadata *md; 250 skyp_emissionRow *object; 251 252 md = psMetadataAlloc(); 253 if (!psMetadataAddStr(md, PS_LIST_TAIL, "disperser_id", 0, NULL, "a string")) { 254 psFree(md); 255 exit(EXIT_FAILURE); 256 } 257 if (!psMetadataAddF32(md, PS_LIST_TAIL, "atmcomp1", 0, NULL, 32.32)) { 258 psFree(md); 259 exit(EXIT_FAILURE); 260 } 261 if (!psMetadataAddF32(md, PS_LIST_TAIL, "atmcomp2", 0, NULL, 32.32)) { 262 psFree(md); 263 exit(EXIT_FAILURE); 264 } 265 if (!psMetadataAddF32(md, PS_LIST_TAIL, "atmcomp3", 0, NULL, 32.32)) { 266 psFree(md); 267 exit(EXIT_FAILURE); 268 } 269 if (!psMetadataAddF32(md, PS_LIST_TAIL, "continuum", 0, NULL, 32.32)) { 270 psFree(md); 271 exit(EXIT_FAILURE); 272 } 273 if (!psMetadataAddF32(md, PS_LIST_TAIL, "exptime", 0, NULL, 32.32)) { 274 psFree(md); 275 exit(EXIT_FAILURE); 276 } 277 278 object = skyp_emissionObjectFromMetadata(md); 279 if (!object) { 280 psFree(md); 281 exit(EXIT_FAILURE); 282 } 283 284 psFree(md); 285 286 if (strncmp(object->disperser_id, "a string", MAX_STRING_LENGTH)) { 287 psFree(object); 288 exit(EXIT_FAILURE); 289 } 290 if (!object->atmcomp1 == 32.32) { 291 psFree(object); 292 exit(EXIT_FAILURE); 293 } 294 if (!object->atmcomp2 == 32.32) { 295 psFree(object); 296 exit(EXIT_FAILURE); 297 } 298 if (!object->atmcomp3 == 32.32) { 299 psFree(object); 300 exit(EXIT_FAILURE); 301 } 302 if (!object->continuum == 32.32) { 303 psFree(object); 304 exit(EXIT_FAILURE); 305 } 306 if (!object->exptime == 32.32) { 307 psFree(object); 308 exit(EXIT_FAILURE); 309 } 310 311 psFree(object); 312 } 313 314 { 315 psMetadata *md; 316 dimmRow *object; 317 318 md = psMetadataAlloc(); 319 if (!psMetadataAddF32(md, PS_LIST_TAIL, "sigmax", 0, NULL, 32.32)) { 320 psFree(md); 321 exit(EXIT_FAILURE); 322 } 323 if (!psMetadataAddF32(md, PS_LIST_TAIL, "sigmay", 0, NULL, 32.32)) { 324 psFree(md); 325 exit(EXIT_FAILURE); 326 } 327 if (!psMetadataAddF32(md, PS_LIST_TAIL, "fwhm", 0, NULL, 32.32)) { 617 if (!object->exp_time == 32.32) { 618 psFree(object); 619 exit(EXIT_FAILURE); 620 } 621 if (!object->bg == 64.64) { 622 psFree(object); 623 exit(EXIT_FAILURE); 624 } 625 if (!object->bg_stdev == 64.64) { 626 psFree(object); 627 exit(EXIT_FAILURE); 628 } 629 if (!object->bg_mean_stdev == 64.64) { 630 psFree(object); 631 exit(EXIT_FAILURE); 632 } 633 if (!object->alt == 64.64) { 634 psFree(object); 635 exit(EXIT_FAILURE); 636 } 637 if (!object->az == 64.64) { 638 psFree(object); 639 exit(EXIT_FAILURE); 640 } 641 if (!object->ccd_temp == 32.32) { 642 psFree(object); 643 exit(EXIT_FAILURE); 644 } 645 if (!object->posang == 64.64) { 646 psFree(object); 647 exit(EXIT_FAILURE); 648 } 649 if (strncmp(object->object, "a string", MAX_STRING_LENGTH)) { 650 psFree(object); 651 exit(EXIT_FAILURE); 652 } 653 psFree(object); 654 exit(EXIT_FAILURE); 655 } 656 657 psFree(object); 658 } 659 660 { 661 psMetadata *md; 662 rawImfileRow *object; 663 664 md = psMetadataAlloc(); 665 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_tag", 0, NULL, "a string")) { 666 psFree(md); 667 exit(EXIT_FAILURE); 668 } 669 if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, "a string")) { 670 psFree(md); 671 exit(EXIT_FAILURE); 672 } 673 if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, "a string")) { 674 psFree(md); 675 exit(EXIT_FAILURE); 676 } 677 if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, "a string")) { 678 psFree(md); 679 exit(EXIT_FAILURE); 680 } 681 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, "a string")) { 682 psFree(md); 683 exit(EXIT_FAILURE); 684 } 685 if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, "a string")) { 686 psFree(md); 687 exit(EXIT_FAILURE); 688 } 689 if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, 32.32)) { 328 690 psFree(md); 329 691 exit(EXIT_FAILURE); … … 337 699 exit(EXIT_FAILURE); 338 700 } 339 if (!psMetadataAddF32(md, PS_LIST_TAIL, "expttime", 0, NULL, 32.32)) { 340 psFree(md); 341 exit(EXIT_FAILURE); 342 } 343 if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope_id", 0, NULL, "a string")) { 344 psFree(md); 345 exit(EXIT_FAILURE); 346 } 347 348 object = dimmObjectFromMetadata(md); 349 if (!object) { 350 psFree(md); 351 exit(EXIT_FAILURE); 352 } 353 354 psFree(md); 355 356 if (!object->sigmax == 32.32) { 357 psFree(object); 358 exit(EXIT_FAILURE); 359 } 360 if (!object->sigmay == 32.32) { 361 psFree(object); 362 exit(EXIT_FAILURE); 363 } 364 if (!object->fwhm == 32.32) { 701 if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, 32.32)) { 702 psFree(md); 703 exit(EXIT_FAILURE); 704 } 705 if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg", 0, NULL, 64.64)) { 706 psFree(md); 707 exit(EXIT_FAILURE); 708 } 709 if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, 64.64)) { 710 psFree(md); 711 exit(EXIT_FAILURE); 712 } 713 if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, 64.64)) { 714 psFree(md); 715 exit(EXIT_FAILURE); 716 } 717 if (!psMetadataAddF64(md, PS_LIST_TAIL, "alt", 0, NULL, 64.64)) { 718 psFree(md); 719 exit(EXIT_FAILURE); 720 } 721 if (!psMetadataAddF64(md, PS_LIST_TAIL, "az", 0, NULL, 64.64)) { 722 psFree(md); 723 exit(EXIT_FAILURE); 724 } 725 if (!psMetadataAddF32(md, PS_LIST_TAIL, "ccd_temp", 0, NULL, 32.32)) { 726 psFree(md); 727 exit(EXIT_FAILURE); 728 } 729 if (!psMetadataAddF64(md, PS_LIST_TAIL, "posang", 0, NULL, 64.64)) { 730 psFree(md); 731 exit(EXIT_FAILURE); 732 } 733 if (!psMetadataAddStr(md, PS_LIST_TAIL, "object", 0, NULL, "a string")) { 734 psFree(md); 735 exit(EXIT_FAILURE); 736 } 737 psFree(md); 738 exit(EXIT_FAILURE); 739 } 740 741 object = rawImfileObjectFromMetadata(md); 742 if (!object) { 743 psFree(md); 744 exit(EXIT_FAILURE); 745 } 746 747 psFree(md); 748 749 if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) { 750 psFree(object); 751 exit(EXIT_FAILURE); 752 } 753 if (strncmp(object->class, "a string", MAX_STRING_LENGTH)) { 754 psFree(object); 755 exit(EXIT_FAILURE); 756 } 757 if (strncmp(object->class_id, "a string", MAX_STRING_LENGTH)) { 758 psFree(object); 759 exit(EXIT_FAILURE); 760 } 761 if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) { 762 psFree(object); 763 exit(EXIT_FAILURE); 764 } 765 if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) { 766 psFree(object); 767 exit(EXIT_FAILURE); 768 } 769 if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) { 770 psFree(object); 771 exit(EXIT_FAILURE); 772 } 773 if (!object->airmass == 32.32) { 365 774 psFree(object); 366 775 exit(EXIT_FAILURE); … … 374 783 exit(EXIT_FAILURE); 375 784 } 376 if (!object->expttime == 32.32) {377 psFree(object);378 exit(EXIT_FAILURE);379 }380 if (strncmp(object->telescope_id, "a string", MAX_STRING_LENGTH)) {381 psFree(object);382 exit(EXIT_FAILURE);383 }384 385 psFree(object);386 }387 388 {389 psMetadata *md;390 skyp_irRow *object;391 392 md = psMetadataAlloc();393 if (!psMetadataAddF64(md, PS_LIST_TAIL, "sky_bright", 0, NULL, 64.64)) {394 psFree(md);395 exit(EXIT_FAILURE);396 }397 if (!psMetadataAddF64(md, PS_LIST_TAIL, "sky_var", 0, NULL, 64.64)) {398 psFree(md);399 exit(EXIT_FAILURE);400 }401 if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, 64.64)) {402 psFree(md);403 exit(EXIT_FAILURE);404 }405 if (!psMetadataAddF64(md, PS_LIST_TAIL, "decl", 0, NULL, 64.64)) {406 psFree(md);407 exit(EXIT_FAILURE);408 }409 if (!psMetadataAddF32(md, PS_LIST_TAIL, "fov_x", 0, NULL, 32.32)) {410 psFree(md);411 exit(EXIT_FAILURE);412 }413 if (!psMetadataAddF32(md, PS_LIST_TAIL, "fov_y", 0, NULL, 32.32)) {414 psFree(md);415 exit(EXIT_FAILURE);416 }417 418 object = skyp_irObjectFromMetadata(md);419 if (!object) {420 psFree(md);421 exit(EXIT_FAILURE);422 }423 424 psFree(md);425 426 if (!object->sky_bright == 64.64) {427 psFree(object);428 exit(EXIT_FAILURE);429 }430 if (!object->sky_var == 64.64) {431 psFree(object);432 exit(EXIT_FAILURE);433 }434 if (!object->ra == 64.64) {435 psFree(object);436 exit(EXIT_FAILURE);437 }438 if (!object->decl == 64.64) {439 psFree(object);440 exit(EXIT_FAILURE);441 }442 if (!object->fov_x == 32.32) {443 psFree(object);444 exit(EXIT_FAILURE);445 }446 if (!object->fov_y == 32.32) {447 psFree(object);448 exit(EXIT_FAILURE);449 }450 451 psFree(object);452 }453 454 {455 psMetadata *md;456 domeRow *object;457 458 md = psMetadataAlloc();459 if (!psMetadataAddF32(md, PS_LIST_TAIL, "az", 0, NULL, 32.32)) {460 psFree(md);461 exit(EXIT_FAILURE);462 }463 if (!psMetadataAdd(md, PS_LIST_TAIL, "open", PS_DATA_BOOL, NULL, true)) {464 psFree(md);465 exit(EXIT_FAILURE);466 }467 if (!psMetadataAdd(md, PS_LIST_TAIL, "light", PS_DATA_BOOL, NULL, true)) {468 psFree(md);469 exit(EXIT_FAILURE);470 }471 if (!psMetadataAdd(md, PS_LIST_TAIL, "track", PS_DATA_BOOL, NULL, true)) {472 psFree(md);473 exit(EXIT_FAILURE);474 }475 476 object = domeObjectFromMetadata(md);477 if (!object) {478 psFree(md);479 exit(EXIT_FAILURE);480 }481 482 psFree(md);483 484 if (!object->az == 32.32) {485 psFree(object);486 exit(EXIT_FAILURE);487 }488 if (!object->open == true) {489 psFree(object);490 exit(EXIT_FAILURE);491 }492 if (!object->light == true) {493 psFree(object);494 exit(EXIT_FAILURE);495 }496 if (!object->track == true) {497 psFree(object);498 exit(EXIT_FAILURE);499 }500 501 psFree(object);502 }503 504 {505 psMetadata *md;506 telescopeRow *object;507 508 md = psMetadataAlloc();509 if (!psMetadataAddStr(md, PS_LIST_TAIL, "guide", 0, NULL, "a string")) {510 psFree(md);511 exit(EXIT_FAILURE);512 }513 if (!psMetadataAddF32(md, PS_LIST_TAIL, "alt", 0, NULL, 32.32)) {514 psFree(md);515 exit(EXIT_FAILURE);516 }517 if (!psMetadataAddF32(md, PS_LIST_TAIL, "az", 0, NULL, 32.32)) {518 psFree(md);519 exit(EXIT_FAILURE);520 }521 if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, 64.64)) {522 psFree(md);523 exit(EXIT_FAILURE);524 }525 if (!psMetadataAddF64(md, PS_LIST_TAIL, "decl", 0, NULL, 64.64)) {526 psFree(md);527 exit(EXIT_FAILURE);528 }529 530 object = telescopeObjectFromMetadata(md);531 if (!object) {532 psFree(md);533 exit(EXIT_FAILURE);534 }535 536 psFree(md);537 538 if (strncmp(object->guide, "a string", MAX_STRING_LENGTH)) {539 psFree(object);540 exit(EXIT_FAILURE);541 }542 if (!object->alt == 32.32) {543 psFree(object);544 exit(EXIT_FAILURE);545 }546 if (!object->az == 32.32) {547 psFree(object);548 exit(EXIT_FAILURE);549 }550 if (!object->ra == 64.64) {551 psFree(object);552 exit(EXIT_FAILURE);553 }554 if (!object->decl == 64.64) {555 psFree(object);556 exit(EXIT_FAILURE);557 }558 559 psFree(object);560 }561 562 {563 psMetadata *md;564 summitExpRow *object;565 566 md = psMetadataAlloc();567 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, "a string")) {568 psFree(md);569 exit(EXIT_FAILURE);570 }571 if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, "a string")) {572 psFree(md);573 exit(EXIT_FAILURE);574 }575 if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, "a string")) {576 psFree(md);577 exit(EXIT_FAILURE);578 }579 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, "a string")) {580 psFree(md);581 exit(EXIT_FAILURE);582 }583 if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, "a string")) {584 psFree(md);585 exit(EXIT_FAILURE);586 }587 588 object = summitExpObjectFromMetadata(md);589 if (!object) {590 psFree(md);591 exit(EXIT_FAILURE);592 }593 594 psFree(md);595 596 if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {597 psFree(object);598 exit(EXIT_FAILURE);599 }600 if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {601 psFree(object);602 exit(EXIT_FAILURE);603 }604 if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) {605 psFree(object);606 exit(EXIT_FAILURE);607 }608 if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {609 psFree(object);610 exit(EXIT_FAILURE);611 }612 if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) {613 psFree(object);614 exit(EXIT_FAILURE);615 }616 617 psFree(object);618 }619 620 {621 psMetadata *md;622 pzPendingExpRow *object;623 624 md = psMetadataAlloc();625 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, "a string")) {626 psFree(md);627 exit(EXIT_FAILURE);628 }629 if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, "a string")) {630 psFree(md);631 exit(EXIT_FAILURE);632 }633 if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, "a string")) {634 psFree(md);635 exit(EXIT_FAILURE);636 }637 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, "a string")) {638 psFree(md);639 exit(EXIT_FAILURE);640 }641 if (!psMetadataAddS32(md, PS_LIST_TAIL, "imfiles", 0, NULL, -32)) {642 psFree(md);643 exit(EXIT_FAILURE);644 }645 646 object = pzPendingExpObjectFromMetadata(md);647 if (!object) {648 psFree(md);649 exit(EXIT_FAILURE);650 }651 652 psFree(md);653 654 if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {655 psFree(object);656 exit(EXIT_FAILURE);657 }658 if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {659 psFree(object);660 exit(EXIT_FAILURE);661 }662 if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) {663 psFree(object);664 exit(EXIT_FAILURE);665 }666 if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {667 psFree(object);668 exit(EXIT_FAILURE);669 }670 if (!object->imfiles == -32) {671 psFree(object);672 exit(EXIT_FAILURE);673 }674 675 psFree(object);676 }677 678 {679 psMetadata *md;680 pzPendingImfileRow *object;681 682 md = psMetadataAlloc();683 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, "a string")) {684 psFree(md);685 exit(EXIT_FAILURE);686 }687 if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, "a string")) {688 psFree(md);689 exit(EXIT_FAILURE);690 }691 if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, "a string")) {692 psFree(md);693 exit(EXIT_FAILURE);694 }695 if (!psMetadataAddS32(md, PS_LIST_TAIL, "bytes", 0, NULL, -32)) {696 psFree(md);697 exit(EXIT_FAILURE);698 }699 if (!psMetadataAddStr(md, PS_LIST_TAIL, "md5sum", 0, NULL, "a string")) {700 psFree(md);701 exit(EXIT_FAILURE);702 }703 if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, "a string")) {704 psFree(md);705 exit(EXIT_FAILURE);706 }707 if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, "a string")) {708 psFree(md);709 exit(EXIT_FAILURE);710 }711 if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, "a string")) {712 psFree(md);713 exit(EXIT_FAILURE);714 }715 716 object = pzPendingImfileObjectFromMetadata(md);717 if (!object) {718 psFree(md);719 exit(EXIT_FAILURE);720 }721 722 psFree(md);723 724 if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {725 psFree(object);726 exit(EXIT_FAILURE);727 }728 if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {729 psFree(object);730 exit(EXIT_FAILURE);731 }732 if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) {733 psFree(object);734 exit(EXIT_FAILURE);735 }736 if (!object->bytes == -32) {737 psFree(object);738 exit(EXIT_FAILURE);739 }740 if (strncmp(object->md5sum, "a string", MAX_STRING_LENGTH)) {741 psFree(object);742 exit(EXIT_FAILURE);743 }744 if (strncmp(object->class, "a string", MAX_STRING_LENGTH)) {745 psFree(object);746 exit(EXIT_FAILURE);747 }748 if (strncmp(object->class_id, "a string", MAX_STRING_LENGTH)) {749 psFree(object);750 exit(EXIT_FAILURE);751 }752 if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) {753 psFree(object);754 exit(EXIT_FAILURE);755 }756 757 psFree(object);758 }759 760 {761 psMetadata *md;762 newExpRow *object;763 764 md = psMetadataAlloc();765 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_tag", 0, NULL, "a string")) {766 psFree(md);767 exit(EXIT_FAILURE);768 }769 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, "a string")) {770 psFree(md);771 exit(EXIT_FAILURE);772 }773 if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, "a string")) {774 psFree(md);775 exit(EXIT_FAILURE);776 }777 if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, "a string")) {778 psFree(md);779 exit(EXIT_FAILURE);780 }781 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, "a string")) {782 psFree(md);783 exit(EXIT_FAILURE);784 }785 if (!psMetadataAddS32(md, PS_LIST_TAIL, "imfiles", 0, NULL, -32)) {786 psFree(md);787 exit(EXIT_FAILURE);788 }789 790 object = newExpObjectFromMetadata(md);791 if (!object) {792 psFree(md);793 exit(EXIT_FAILURE);794 }795 796 psFree(md);797 798 if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) {799 psFree(object);800 exit(EXIT_FAILURE);801 }802 if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {803 psFree(object);804 exit(EXIT_FAILURE);805 }806 if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {807 psFree(object);808 exit(EXIT_FAILURE);809 }810 if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) {811 psFree(object);812 exit(EXIT_FAILURE);813 }814 if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {815 psFree(object);816 exit(EXIT_FAILURE);817 }818 if (!object->imfiles == -32) {819 psFree(object);820 exit(EXIT_FAILURE);821 }822 823 psFree(object);824 }825 826 {827 psMetadata *md;828 newImfileRow *object;829 830 md = psMetadataAlloc();831 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_tag", 0, NULL, "a string")) {832 psFree(md);833 exit(EXIT_FAILURE);834 }835 if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, "a string")) {836 psFree(md);837 exit(EXIT_FAILURE);838 }839 if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, "a string")) {840 psFree(md);841 exit(EXIT_FAILURE);842 }843 if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, "a string")) {844 psFree(md);845 exit(EXIT_FAILURE);846 }847 848 object = newImfileObjectFromMetadata(md);849 if (!object) {850 psFree(md);851 exit(EXIT_FAILURE);852 }853 854 psFree(md);855 856 if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) {857 psFree(object);858 exit(EXIT_FAILURE);859 }860 if (strncmp(object->class, "a string", MAX_STRING_LENGTH)) {861 psFree(object);862 exit(EXIT_FAILURE);863 }864 if (strncmp(object->class_id, "a string", MAX_STRING_LENGTH)) {865 psFree(object);866 exit(EXIT_FAILURE);867 }868 if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) {869 psFree(object);870 exit(EXIT_FAILURE);871 }872 873 psFree(object);874 }875 876 {877 psMetadata *md;878 rawDetrendExpRow *object;879 880 md = psMetadataAlloc();881 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_tag", 0, NULL, "a string")) {882 psFree(md);883 exit(EXIT_FAILURE);884 }885 if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, "a string")) {886 psFree(md);887 exit(EXIT_FAILURE);888 }889 if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, "a string")) {890 psFree(md);891 exit(EXIT_FAILURE);892 }893 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, "a string")) {894 psFree(md);895 exit(EXIT_FAILURE);896 }897 if (!psMetadataAddS32(md, PS_LIST_TAIL, "imfiles", 0, NULL, -32)) {898 psFree(md);899 exit(EXIT_FAILURE);900 }901 if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, "a string")) {902 psFree(md);903 exit(EXIT_FAILURE);904 }905 if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, 32.32)) {906 psFree(md);907 exit(EXIT_FAILURE);908 }909 if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, 64.64)) {910 psFree(md);911 exit(EXIT_FAILURE);912 }913 if (!psMetadataAddF64(md, PS_LIST_TAIL, "decl", 0, NULL, 64.64)) {914 psFree(md);915 exit(EXIT_FAILURE);916 }917 if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, 32.32)) {918 psFree(md);919 exit(EXIT_FAILURE);920 }921 if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg", 0, NULL, 64.64)) {922 psFree(md);923 exit(EXIT_FAILURE);924 }925 if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, 64.64)) {926 psFree(md);927 exit(EXIT_FAILURE);928 }929 if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, 64.64)) {930 psFree(md);931 exit(EXIT_FAILURE);932 }933 if (!psMetadataAddF64(md, PS_LIST_TAIL, "alt", 0, NULL, 64.64)) {934 psFree(md);935 exit(EXIT_FAILURE);936 }937 if (!psMetadataAddF64(md, PS_LIST_TAIL, "az", 0, NULL, 64.64)) {938 psFree(md);939 exit(EXIT_FAILURE);940 }941 if (!psMetadataAddF32(md, PS_LIST_TAIL, "ccd_temp", 0, NULL, 32.32)) {942 psFree(md);943 exit(EXIT_FAILURE);944 }945 if (!psMetadataAddF64(md, PS_LIST_TAIL, "posang", 0, NULL, 64.64)) {946 psFree(md);947 exit(EXIT_FAILURE);948 }949 if (!psMetadataAddStr(md, PS_LIST_TAIL, "object", 0, NULL, "a string")) {950 psFree(md);951 exit(EXIT_FAILURE);952 }953 954 object = rawDetrendExpObjectFromMetadata(md);955 if (!object) {956 psFree(md);957 exit(EXIT_FAILURE);958 }959 960 psFree(md);961 962 if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) {963 psFree(object);964 exit(EXIT_FAILURE);965 }966 if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {967 psFree(object);968 exit(EXIT_FAILURE);969 }970 if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) {971 psFree(object);972 exit(EXIT_FAILURE);973 }974 if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {975 psFree(object);976 exit(EXIT_FAILURE);977 }978 if (!object->imfiles == -32) {979 psFree(object);980 exit(EXIT_FAILURE);981 }982 if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) {983 psFree(object);984 exit(EXIT_FAILURE);985 }986 if (!object->airmass == 32.32) {987 psFree(object);988 exit(EXIT_FAILURE);989 }990 if (!object->ra == 64.64) {991 psFree(object);992 exit(EXIT_FAILURE);993 }994 if (!object->decl == 64.64) {995 psFree(object);996 exit(EXIT_FAILURE);997 }998 785 if (!object->exp_time == 32.32) { 999 786 psFree(object); … … 1032 819 exit(EXIT_FAILURE); 1033 820 } 1034 1035 psFree(object);1036 }1037 1038 {1039 psMetadata *md;1040 rawScienceExpRow *object;1041 1042 md = psMetadataAlloc();1043 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_tag", 0, NULL, "a string")) {1044 psFree(md);1045 exit(EXIT_FAILURE);1046 }1047 if (!psMetadataAddStr(md, PS_LIST_TAIL, "camera", 0, NULL, "a string")) {1048 psFree(md);1049 exit(EXIT_FAILURE);1050 }1051 if (!psMetadataAddStr(md, PS_LIST_TAIL, "telescope", 0, NULL, "a string")) {1052 psFree(md);1053 exit(EXIT_FAILURE);1054 }1055 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, "a string")) {1056 psFree(md);1057 exit(EXIT_FAILURE);1058 }1059 if (!psMetadataAddS32(md, PS_LIST_TAIL, "imfiles", 0, NULL, -32)) {1060 psFree(md);1061 exit(EXIT_FAILURE);1062 }1063 if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, "a string")) {1064 psFree(md);1065 exit(EXIT_FAILURE);1066 }1067 if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, 32.32)) {1068 psFree(md);1069 exit(EXIT_FAILURE);1070 }1071 if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, 64.64)) {1072 psFree(md);1073 exit(EXIT_FAILURE);1074 }1075 if (!psMetadataAddF64(md, PS_LIST_TAIL, "decl", 0, NULL, 64.64)) {1076 psFree(md);1077 exit(EXIT_FAILURE);1078 }1079 if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, 32.32)) {1080 psFree(md);1081 exit(EXIT_FAILURE);1082 }1083 if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg", 0, NULL, 64.64)) {1084 psFree(md);1085 exit(EXIT_FAILURE);1086 }1087 if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, 64.64)) {1088 psFree(md);1089 exit(EXIT_FAILURE);1090 }1091 if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, 64.64)) {1092 psFree(md);1093 exit(EXIT_FAILURE);1094 }1095 if (!psMetadataAddF64(md, PS_LIST_TAIL, "alt", 0, NULL, 64.64)) {1096 psFree(md);1097 exit(EXIT_FAILURE);1098 }1099 if (!psMetadataAddF64(md, PS_LIST_TAIL, "az", 0, NULL, 64.64)) {1100 psFree(md);1101 exit(EXIT_FAILURE);1102 }1103 if (!psMetadataAddF32(md, PS_LIST_TAIL, "ccd_temp", 0, NULL, 32.32)) {1104 psFree(md);1105 exit(EXIT_FAILURE);1106 }1107 if (!psMetadataAddF64(md, PS_LIST_TAIL, "posang", 0, NULL, 64.64)) {1108 psFree(md);1109 exit(EXIT_FAILURE);1110 }1111 if (!psMetadataAddStr(md, PS_LIST_TAIL, "object", 0, NULL, "a string")) {1112 psFree(md);1113 exit(EXIT_FAILURE);1114 }1115 1116 object = rawScienceExpObjectFromMetadata(md);1117 if (!object) {1118 psFree(md);1119 exit(EXIT_FAILURE);1120 }1121 1122 psFree(md);1123 1124 if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) {1125 psFree(object);1126 exit(EXIT_FAILURE);1127 }1128 if (strncmp(object->camera, "a string", MAX_STRING_LENGTH)) {1129 psFree(object);1130 exit(EXIT_FAILURE);1131 }1132 if (strncmp(object->telescope, "a string", MAX_STRING_LENGTH)) {1133 psFree(object);1134 exit(EXIT_FAILURE);1135 }1136 if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {1137 psFree(object);1138 exit(EXIT_FAILURE);1139 }1140 if (!object->imfiles == -32) {1141 psFree(object);1142 exit(EXIT_FAILURE);1143 }1144 if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) {1145 psFree(object);1146 exit(EXIT_FAILURE);1147 }1148 if (!object->airmass == 32.32) {1149 psFree(object);1150 exit(EXIT_FAILURE);1151 }1152 if (!object->ra == 64.64) {1153 psFree(object);1154 exit(EXIT_FAILURE);1155 }1156 if (!object->decl == 64.64) {1157 psFree(object);1158 exit(EXIT_FAILURE);1159 }1160 if (!object->exp_time == 32.32) {1161 psFree(object);1162 exit(EXIT_FAILURE);1163 }1164 if (!object->bg == 64.64) {1165 psFree(object);1166 exit(EXIT_FAILURE);1167 }1168 if (!object->bg_stdev == 64.64) {1169 psFree(object);1170 exit(EXIT_FAILURE);1171 }1172 if (!object->bg_mean_stdev == 64.64) {1173 psFree(object);1174 exit(EXIT_FAILURE);1175 }1176 if (!object->alt == 64.64) {1177 psFree(object);1178 exit(EXIT_FAILURE);1179 }1180 if (!object->az == 64.64) {1181 psFree(object);1182 exit(EXIT_FAILURE);1183 }1184 if (!object->ccd_temp == 32.32) {1185 psFree(object);1186 exit(EXIT_FAILURE);1187 }1188 if (!object->posang == 64.64) {1189 psFree(object);1190 exit(EXIT_FAILURE);1191 }1192 if (strncmp(object->object, "a string", MAX_STRING_LENGTH)) {1193 psFree(object);1194 exit(EXIT_FAILURE);1195 }1196 1197 psFree(object);1198 }1199 1200 {1201 psMetadata *md;1202 rawImfileRow *object;1203 1204 md = psMetadataAlloc();1205 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_tag", 0, NULL, "a string")) {1206 psFree(md);1207 exit(EXIT_FAILURE);1208 }1209 if (!psMetadataAddStr(md, PS_LIST_TAIL, "class", 0, NULL, "a string")) {1210 psFree(md);1211 exit(EXIT_FAILURE);1212 }1213 if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, "a string")) {1214 psFree(md);1215 exit(EXIT_FAILURE);1216 }1217 if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, "a string")) {1218 psFree(md);1219 exit(EXIT_FAILURE);1220 }1221 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, "a string")) {1222 psFree(md);1223 exit(EXIT_FAILURE);1224 }1225 if (!psMetadataAddStr(md, PS_LIST_TAIL, "filter", 0, NULL, "a string")) {1226 psFree(md);1227 exit(EXIT_FAILURE);1228 }1229 if (!psMetadataAddF32(md, PS_LIST_TAIL, "airmass", 0, NULL, 32.32)) {1230 psFree(md);1231 exit(EXIT_FAILURE);1232 }1233 if (!psMetadataAddF64(md, PS_LIST_TAIL, "ra", 0, NULL, 64.64)) {1234 psFree(md);1235 exit(EXIT_FAILURE);1236 }1237 if (!psMetadataAddF64(md, PS_LIST_TAIL, "decl", 0, NULL, 64.64)) {1238 psFree(md);1239 exit(EXIT_FAILURE);1240 }1241 if (!psMetadataAddF32(md, PS_LIST_TAIL, "exp_time", 0, NULL, 32.32)) {1242 psFree(md);1243 exit(EXIT_FAILURE);1244 }1245 if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg", 0, NULL, 64.64)) {1246 psFree(md);1247 exit(EXIT_FAILURE);1248 }1249 if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, 64.64)) {1250 psFree(md);1251 exit(EXIT_FAILURE);1252 }1253 if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, 64.64)) {1254 psFree(md);1255 exit(EXIT_FAILURE);1256 }1257 if (!psMetadataAddF64(md, PS_LIST_TAIL, "alt", 0, NULL, 64.64)) {1258 psFree(md);1259 exit(EXIT_FAILURE);1260 }1261 if (!psMetadataAddF64(md, PS_LIST_TAIL, "az", 0, NULL, 64.64)) {1262 psFree(md);1263 exit(EXIT_FAILURE);1264 }1265 if (!psMetadataAddF32(md, PS_LIST_TAIL, "ccd_temp", 0, NULL, 32.32)) {1266 psFree(md);1267 exit(EXIT_FAILURE);1268 }1269 if (!psMetadataAddF64(md, PS_LIST_TAIL, "posang", 0, NULL, 64.64)) {1270 psFree(md);1271 exit(EXIT_FAILURE);1272 }1273 if (!psMetadataAddStr(md, PS_LIST_TAIL, "object", 0, NULL, "a string")) {1274 psFree(md);1275 exit(EXIT_FAILURE);1276 }1277 1278 object = rawImfileObjectFromMetadata(md);1279 if (!object) {1280 psFree(md);1281 exit(EXIT_FAILURE);1282 }1283 1284 psFree(md);1285 1286 if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) {1287 psFree(object);1288 exit(EXIT_FAILURE);1289 }1290 if (strncmp(object->class, "a string", MAX_STRING_LENGTH)) {1291 psFree(object);1292 exit(EXIT_FAILURE);1293 }1294 if (strncmp(object->class_id, "a string", MAX_STRING_LENGTH)) {1295 psFree(object);1296 exit(EXIT_FAILURE);1297 }1298 if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) {1299 psFree(object);1300 exit(EXIT_FAILURE);1301 }1302 if (strncmp(object->exp_type, "a string", MAX_STRING_LENGTH)) {1303 psFree(object);1304 exit(EXIT_FAILURE);1305 }1306 if (strncmp(object->filter, "a string", MAX_STRING_LENGTH)) {1307 psFree(object);1308 exit(EXIT_FAILURE);1309 }1310 if (!object->airmass == 32.32) {1311 psFree(object);1312 exit(EXIT_FAILURE);1313 }1314 if (!object->ra == 64.64) {1315 psFree(object);1316 exit(EXIT_FAILURE);1317 }1318 if (!object->decl == 64.64) {1319 psFree(object);1320 exit(EXIT_FAILURE);1321 }1322 if (!object->exp_time == 32.32) {1323 psFree(object);1324 exit(EXIT_FAILURE);1325 }1326 if (!object->bg == 64.64) {1327 psFree(object);1328 exit(EXIT_FAILURE);1329 }1330 if (!object->bg_stdev == 64.64) {1331 psFree(object);1332 exit(EXIT_FAILURE);1333 }1334 if (!object->bg_mean_stdev == 64.64) {1335 psFree(object);1336 exit(EXIT_FAILURE);1337 }1338 if (!object->alt == 64.64) {1339 psFree(object);1340 exit(EXIT_FAILURE);1341 }1342 if (!object->az == 64.64) {1343 psFree(object);1344 exit(EXIT_FAILURE);1345 }1346 if (!object->ccd_temp == 32.32) {1347 psFree(object);1348 exit(EXIT_FAILURE);1349 }1350 if (!object->posang == 64.64) {1351 psFree(object);1352 exit(EXIT_FAILURE);1353 }1354 if (strncmp(object->object, "a string", MAX_STRING_LENGTH)) {1355 821 psFree(object); 1356 822 exit(EXIT_FAILURE); -
trunk/ippdb/tests/selectrowsfits.c
r9301 r9684 21 21 } 22 22 23 if (!weatherSelectRowsFits(dbh, fits, NULL, 1)) {24 exit(EXIT_FAILURE);25 }26 27 psFree(fits);28 psDBCleanup(dbh);29 }30 31 {32 psDB *dbh;33 psFits *fits;34 35 dbh = psDBInit("localhost", "test", NULL, "test");36 if (!dbh) {37 exit(EXIT_FAILURE);38 }39 40 fits = psFitsOpen(TMP_FILENAME, "w");41 if (!fits) {42 exit(EXIT_FAILURE);43 }44 45 if (!skyp_transparencySelectRowsFits(dbh, fits, NULL, 1)) {46 exit(EXIT_FAILURE);47 }48 49 psFree(fits);50 psDBCleanup(dbh);51 }52 53 {54 psDB *dbh;55 psFits *fits;56 57 dbh = psDBInit("localhost", "test", NULL, "test");58 if (!dbh) {59 exit(EXIT_FAILURE);60 }61 62 fits = psFitsOpen(TMP_FILENAME, "w");63 if (!fits) {64 exit(EXIT_FAILURE);65 }66 67 if (!skyp_absorptionSelectRowsFits(dbh, fits, NULL, 1)) {68 exit(EXIT_FAILURE);69 }70 71 psFree(fits);72 psDBCleanup(dbh);73 }74 75 {76 psDB *dbh;77 psFits *fits;78 79 dbh = psDBInit("localhost", "test", NULL, "test");80 if (!dbh) {81 exit(EXIT_FAILURE);82 }83 84 fits = psFitsOpen(TMP_FILENAME, "w");85 if (!fits) {86 exit(EXIT_FAILURE);87 }88 89 if (!skyp_emissionSelectRowsFits(dbh, fits, NULL, 1)) {90 exit(EXIT_FAILURE);91 }92 93 psFree(fits);94 psDBCleanup(dbh);95 }96 97 {98 psDB *dbh;99 psFits *fits;100 101 dbh = psDBInit("localhost", "test", NULL, "test");102 if (!dbh) {103 exit(EXIT_FAILURE);104 }105 106 fits = psFitsOpen(TMP_FILENAME, "w");107 if (!fits) {108 exit(EXIT_FAILURE);109 }110 111 if (!dimmSelectRowsFits(dbh, fits, NULL, 1)) {112 exit(EXIT_FAILURE);113 }114 115 psFree(fits);116 psDBCleanup(dbh);117 }118 119 {120 psDB *dbh;121 psFits *fits;122 123 dbh = psDBInit("localhost", "test", NULL, "test");124 if (!dbh) {125 exit(EXIT_FAILURE);126 }127 128 fits = psFitsOpen(TMP_FILENAME, "w");129 if (!fits) {130 exit(EXIT_FAILURE);131 }132 133 if (!skyp_irSelectRowsFits(dbh, fits, NULL, 1)) {134 exit(EXIT_FAILURE);135 }136 137 psFree(fits);138 psDBCleanup(dbh);139 }140 141 {142 psDB *dbh;143 psFits *fits;144 145 dbh = psDBInit("localhost", "test", NULL, "test");146 if (!dbh) {147 exit(EXIT_FAILURE);148 }149 150 fits = psFitsOpen(TMP_FILENAME, "w");151 if (!fits) {152 exit(EXIT_FAILURE);153 }154 155 if (!domeSelectRowsFits(dbh, fits, NULL, 1)) {156 exit(EXIT_FAILURE);157 }158 159 psFree(fits);160 psDBCleanup(dbh);161 }162 163 {164 psDB *dbh;165 psFits *fits;166 167 dbh = psDBInit("localhost", "test", NULL, "test");168 if (!dbh) {169 exit(EXIT_FAILURE);170 }171 172 fits = psFitsOpen(TMP_FILENAME, "w");173 if (!fits) {174 exit(EXIT_FAILURE);175 }176 177 if (!telescopeSelectRowsFits(dbh, fits, NULL, 1)) {178 exit(EXIT_FAILURE);179 }180 181 psFree(fits);182 psDBCleanup(dbh);183 }184 185 {186 psDB *dbh;187 psFits *fits;188 189 dbh = psDBInit("localhost", "test", NULL, "test");190 if (!dbh) {191 exit(EXIT_FAILURE);192 }193 194 fits = psFitsOpen(TMP_FILENAME, "w");195 if (!fits) {196 exit(EXIT_FAILURE);197 }198 199 23 if (!summitExpSelectRowsFits(dbh, fits, NULL, 1)) { 200 24 exit(EXIT_FAILURE);
Note:
See TracChangeset
for help on using the changeset viewer.
