Changeset 8319 for trunk/ippdb/src/ippdb.c
- Timestamp:
- Aug 14, 2006, 11:56:03 AM (20 years ago)
- File:
-
- 1 edited
-
trunk/ippdb/src/ippdb.c (modified) (27 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippdb/src/ippdb.c
r8306 r8319 8793 8793 static void rawImfileRowFree(rawImfileRow *object); 8794 8794 8795 rawImfileRow *rawImfileRowAlloc(const char *exp_id, const char *class, const char *class_id, const char * uri, 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)8795 rawImfileRow *rawImfileRowAlloc(const char *exp_id, const char *class, const char *class_id, const char *exp_type, const char *uri, 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) 8796 8796 { 8797 8797 rawImfileRow *object; … … 8803 8803 object->class = psStringCopy(class); 8804 8804 object->class_id = psStringCopy(class_id); 8805 object->exp_type = psStringCopy(exp_type); 8805 8806 object->uri = psStringCopy(uri); 8806 8807 object->filter = psStringCopy(filter); … … 8825 8826 psFree(object->class); 8826 8827 psFree(object->class_id); 8828 psFree(object->exp_type); 8827 8829 psFree(object->uri); 8828 8830 psFree(object->filter); … … 8855 8857 return false; 8856 8858 } 8859 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, "64")) { 8860 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type"); 8861 psFree(md); 8862 return false; 8863 } 8857 8864 if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, "255")) { 8858 8865 psError(PS_ERR_UNKNOWN, false, "failed to add item uri"); … … 8933 8940 } 8934 8941 8935 bool rawImfileInsert(psDB * dbh, const char *exp_id, const char *class, const char *class_id, const char * uri, 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)8942 bool rawImfileInsert(psDB * dbh, const char *exp_id, const char *class, const char *class_id, const char *exp_type, const char *uri, 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) 8936 8943 { 8937 8944 psMetadata *md; … … 8951 8958 if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, class_id)) { 8952 8959 psError(PS_ERR_UNKNOWN, false, "failed to add item class_id"); 8960 psFree(md); 8961 return false; 8962 } 8963 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, exp_type)) { 8964 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type"); 8953 8965 psFree(md); 8954 8966 return false; … … 9040 9052 return deleted; 9041 9053 } 9042 bool rawImfilePop(psDB *dbh, char **exp_id, char **class, char **class_id, char ** uri, 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)9054 bool rawImfilePop(psDB *dbh, char **exp_id, char **class, char **class_id, char **exp_type, char **uri, 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) 9043 9055 { 9044 9056 psArray *rowSet; … … 9102 9114 return false; 9103 9115 } 9116 *exp_type = psMetadataLookupPtr(&status, row, "exp_type"); 9117 if (!status) { 9118 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_type"); 9119 psFree(row); 9120 return false; 9121 } 9104 9122 *uri = psMetadataLookupPtr(&status, row, "uri"); 9105 9123 if (!status) { … … 9188 9206 bool rawImfileInsertObject(psDB *dbh, rawImfileRow *object) 9189 9207 { 9190 return rawImfileInsert(dbh, object->exp_id, object->class, object->class_id, object-> uri, 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);9208 return rawImfileInsert(dbh, object->exp_id, object->class, object->class_id, object->exp_type, object->uri, 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); 9191 9209 } 9192 9210 … … 9207 9225 char class[256]; 9208 9226 char class_id[256]; 9227 char exp_type[256]; 9209 9228 char uri[256]; 9210 9229 char filter[256]; … … 9221 9240 psF64 posang; 9222 9241 9223 if (!rawImfilePop(dbh, (char **)&exp_id, (char **)&class, (char **)&class_id, (char **)& uri, (char **)&filter, &airmass, &ra, &decl, &exp_time, &bg, &bg_stdev, &bg_mean_stdev, &alt, &az, &ccd_temp, &posang)) {9242 if (!rawImfilePop(dbh, (char **)&exp_id, (char **)&class, (char **)&class_id, (char **)&exp_type, (char **)&uri, (char **)&filter, &airmass, &ra, &decl, &exp_time, &bg, &bg_stdev, &bg_mean_stdev, &alt, &az, &ccd_temp, &posang)) { 9224 9243 psError(PS_ERR_UNKNOWN, false, "failed to pop a database row"); 9225 9244 return NULL; 9226 9245 } 9227 9246 9228 return rawImfileRowAlloc(exp_id, class, class_id, uri, filter, airmass, ra, decl, exp_time, bg, bg_stdev, bg_mean_stdev, alt, az, ccd_temp, posang);9247 return rawImfileRowAlloc(exp_id, class, class_id, exp_type, uri, filter, airmass, ra, decl, exp_time, bg, bg_stdev, bg_mean_stdev, alt, az, ccd_temp, posang); 9229 9248 } 9230 9249 … … 9340 9359 return NULL; 9341 9360 } 9361 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_type", 0, NULL, object->exp_type)) { 9362 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_type"); 9363 psFree(md); 9364 return NULL; 9365 } 9342 9366 if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, object->uri)) { 9343 9367 psError(PS_ERR_UNKNOWN, false, "failed to add item uri"); … … 9415 9439 char *class; 9416 9440 char *class_id; 9441 char *exp_type; 9417 9442 char *uri; 9418 9443 char *filter; … … 9444 9469 return false; 9445 9470 } 9471 exp_type = psMetadataLookupPtr(&status, md, "exp_type"); 9472 if (!status) { 9473 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item exp_type"); 9474 return false; 9475 } 9446 9476 uri = psMetadataLookupPtr(&status, md, "uri"); 9447 9477 if (!status) { … … 9510 9540 } 9511 9541 9512 return rawImfileRowAlloc(exp_id, class, class_id, uri, filter, airmass, ra, decl, exp_time, bg, bg_stdev, bg_mean_stdev, alt, az, ccd_temp, posang);9542 return rawImfileRowAlloc(exp_id, class, class_id, exp_type, uri, filter, airmass, ra, decl, exp_time, bg, bg_stdev, bg_mean_stdev, alt, az, ccd_temp, posang); 9513 9543 } 9514 9544 psArray *rawImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) … … 13461 13491 static void detProcessedImfileRowFree(detProcessedImfileRow *object); 13462 13492 13463 detProcessedImfileRow *detProcessedImfileRowAlloc(psS32 det_id, const char *exp_id, const char *class_id, const char *uri, const char *recipe )13493 detProcessedImfileRow *detProcessedImfileRowAlloc(psS32 det_id, const char *exp_id, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev) 13464 13494 { 13465 13495 detProcessedImfileRow *object; … … 13473 13503 object->uri = psStringCopy(uri); 13474 13504 object->recipe = psStringCopy(recipe); 13505 object->bg = bg; 13506 object->bg_stdev = bg_stdev; 13507 object->bg_mean_stdev = bg_mean_stdev; 13475 13508 13476 13509 return object; … … 13521 13554 return false; 13522 13555 } 13556 if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg", 0, NULL, 0.0)) { 13557 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); 13558 psFree(md); 13559 return false; 13560 } 13561 if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, 0.0)) { 13562 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev"); 13563 psFree(md); 13564 return false; 13565 } 13566 if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, 0.0)) { 13567 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev"); 13568 psFree(md); 13569 return false; 13570 } 13523 13571 13524 13572 status = psDBCreateTable(dbh, DETPROCESSEDIMFILE_TABLE_NAME, md); … … 13534 13582 } 13535 13583 13536 bool detProcessedImfileInsert(psDB * dbh, psS32 det_id, const char *exp_id, const char *class_id, const char *uri, const char *recipe )13584 bool detProcessedImfileInsert(psDB * dbh, psS32 det_id, const char *exp_id, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev) 13537 13585 { 13538 13586 psMetadata *md; … … 13562 13610 if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, recipe)) { 13563 13611 psError(PS_ERR_UNKNOWN, false, "failed to add item recipe"); 13612 psFree(md); 13613 return false; 13614 } 13615 if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg", 0, NULL, bg)) { 13616 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); 13617 psFree(md); 13618 return false; 13619 } 13620 if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, bg_stdev)) { 13621 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev"); 13622 psFree(md); 13623 return false; 13624 } 13625 if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, bg_mean_stdev)) { 13626 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev"); 13564 13627 psFree(md); 13565 13628 return false; … … 13586 13649 return deleted; 13587 13650 } 13588 bool detProcessedImfilePop(psDB *dbh, psS32 *det_id, char **exp_id, char **class_id, char **uri, char **recipe )13651 bool detProcessedImfilePop(psDB *dbh, psS32 *det_id, char **exp_id, char **class_id, char **uri, char **recipe, psF64 *bg, psF64 *bg_stdev, psF64 *bg_mean_stdev) 13589 13652 { 13590 13653 psArray *rowSet; … … 13660 13723 return false; 13661 13724 } 13725 *bg = psMetadataLookupF64(&status, row, "bg"); 13726 if (!status) { 13727 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg"); 13728 psFree(row); 13729 return false; 13730 } 13731 *bg_stdev = psMetadataLookupF64(&status, row, "bg_stdev"); 13732 if (!status) { 13733 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_stdev"); 13734 psFree(row); 13735 return false; 13736 } 13737 *bg_mean_stdev = psMetadataLookupF64(&status, row, "bg_mean_stdev"); 13738 if (!status) { 13739 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_mean_stdev"); 13740 psFree(row); 13741 return false; 13742 } 13662 13743 13663 13744 psFree(row); … … 13668 13749 bool detProcessedImfileInsertObject(psDB *dbh, detProcessedImfileRow *object) 13669 13750 { 13670 return detProcessedImfileInsert(dbh, object->det_id, object->exp_id, object->class_id, object->uri, object->recipe );13751 return detProcessedImfileInsert(dbh, object->det_id, object->exp_id, object->class_id, object->uri, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev); 13671 13752 } 13672 13753 … … 13689 13770 char uri[256]; 13690 13771 char recipe[256]; 13691 13692 if (!detProcessedImfilePop(dbh, &det_id, (char **)&exp_id, (char **)&class_id, (char **)&uri, (char **)&recipe)) { 13772 psF64 bg; 13773 psF64 bg_stdev; 13774 psF64 bg_mean_stdev; 13775 13776 if (!detProcessedImfilePop(dbh, &det_id, (char **)&exp_id, (char **)&class_id, (char **)&uri, (char **)&recipe, &bg, &bg_stdev, &bg_mean_stdev)) { 13693 13777 psError(PS_ERR_UNKNOWN, false, "failed to pop a database row"); 13694 13778 return NULL; 13695 13779 } 13696 13780 13697 return detProcessedImfileRowAlloc(det_id, exp_id, class_id, uri, recipe );13781 return detProcessedImfileRowAlloc(det_id, exp_id, class_id, uri, recipe, bg, bg_stdev, bg_mean_stdev); 13698 13782 } 13699 13783 … … 13819 13903 return NULL; 13820 13904 } 13905 if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg", 0, NULL, object->bg)) { 13906 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); 13907 psFree(md); 13908 return NULL; 13909 } 13910 if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, object->bg_stdev)) { 13911 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev"); 13912 psFree(md); 13913 return NULL; 13914 } 13915 if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, object->bg_mean_stdev)) { 13916 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev"); 13917 psFree(md); 13918 return NULL; 13919 } 13821 13920 13822 13921 return md; … … 13831 13930 char *uri; 13832 13931 char *recipe; 13932 psF64 bg; 13933 psF64 bg_stdev; 13934 psF64 bg_mean_stdev; 13833 13935 13834 13936 det_id = psMetadataLookupS32(&status, md, "det_id"); … … 13857 13959 return false; 13858 13960 } 13859 13860 return detProcessedImfileRowAlloc(det_id, exp_id, class_id, uri, recipe); 13961 bg = psMetadataLookupF64(&status, md, "bg"); 13962 if (!status) { 13963 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg"); 13964 return false; 13965 } 13966 bg_stdev = psMetadataLookupF64(&status, md, "bg_stdev"); 13967 if (!status) { 13968 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_stdev"); 13969 return false; 13970 } 13971 bg_mean_stdev = psMetadataLookupF64(&status, md, "bg_mean_stdev"); 13972 if (!status) { 13973 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_mean_stdev"); 13974 return false; 13975 } 13976 13977 return detProcessedImfileRowAlloc(det_id, exp_id, class_id, uri, recipe, bg, bg_stdev, bg_mean_stdev); 13861 13978 } 13862 13979 psArray *detProcessedImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
Note:
See TracChangeset
for help on using the changeset viewer.
