Changeset 14451 for trunk/ippdb/src/ippdb.c
- Timestamp:
- Aug 8, 2007, 12:28:29 PM (19 years ago)
- File:
-
- 1 edited
-
trunk/ippdb/src/ippdb.c (modified) (31 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippdb/src/ippdb.c
r14252 r14451 20 20 /* 21 21 * 22 * This file was generated by glueforge 1.0 122 * This file was generated by glueforge 1.03 23 23 * 24 24 * Do NOT directly edit this file. … … 69 69 #define DETRESIDEXP_TABLE_NAME "detResidExp" 70 70 #define DETRUNSUMMARY_TABLE_NAME "detRunSummary" 71 #define DETREGISTEREDIMFILE_TABLE_NAME "detRegisteredImfile" 71 72 #define MAX_STRING_LENGTH 1024 72 73 … … 5965 5966 return false; 5966 5967 } 5967 if (!psMetadataAdd(md, PS_LIST_TAIL, "fwhm", PS_DATA_F32, NULL, 0.0)) {5968 if (!psMetadataAdd(md, PS_LIST_TAIL, "fwhm", PS_DATA_F32, "# replace this with fwhm_major", 0.0)) { 5968 5969 psError(PS_ERR_UNKNOWN, false, "failed to add item fwhm"); 5969 5970 psFree(md); 5970 5971 return false; 5971 5972 } 5972 if (!psMetadataAdd(md, PS_LIST_TAIL, "fwhm_range", PS_DATA_F32, NULL, 0.0)) {5973 if (!psMetadataAdd(md, PS_LIST_TAIL, "fwhm_range", PS_DATA_F32, "# replace this with fwhm_minor", 0.0)) { 5973 5974 psError(PS_ERR_UNKNOWN, false, "failed to add item fwhm_range"); 5974 5975 psFree(md); … … 12064 12065 return false; 12065 12066 } 12066 if (!psMetadataAdd(md, PS_LIST_TAIL, "iteration", PS_DATA_S32, "Key ", 0)) {12067 if (!psMetadataAdd(md, PS_LIST_TAIL, "iteration", PS_DATA_S32, "Key INDEX(det_id, iteration)", 0)) { 12067 12068 psError(PS_ERR_UNKNOWN, false, "failed to add item iteration"); 12068 12069 psFree(md); … … 16416 16417 static void detResidImfileRowFree(detResidImfileRow *object); 16417 16418 16418 detResidImfileRow *detResidImfileRowAlloc(psS64 det_id, psS32 iteration, psS64 exp_id, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 b in_stdev, psF64 fringe_0, psF64 fringe_1, psF64 fringe_2, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, psS16 fault)16419 detResidImfileRow *detResidImfileRowAlloc(psS64 det_id, psS32 iteration, psS64 exp_id, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 bg_skewness, psF64 bg_kurtosis, psF64 bin_stdev, psF64 fringe_0, psF64 fringe_1, psF64 fringe_2, psF64 fringe_resid_0, psF64 fringe_resid_1, psF64 fringe_resid_2, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, psS16 fault) 16419 16420 { 16420 16421 detResidImfileRow *_object; … … 16432 16433 _object->bg_stdev = bg_stdev; 16433 16434 _object->bg_mean_stdev = bg_mean_stdev; 16435 _object->bg_skewness = bg_skewness; 16436 _object->bg_kurtosis = bg_kurtosis; 16434 16437 _object->bin_stdev = bin_stdev; 16435 16438 _object->fringe_0 = fringe_0; 16436 16439 _object->fringe_1 = fringe_1; 16437 16440 _object->fringe_2 = fringe_2; 16441 _object->fringe_resid_0 = fringe_resid_0; 16442 _object->fringe_resid_1 = fringe_resid_1; 16443 _object->fringe_resid_2 = fringe_resid_2; 16438 16444 _object->user_1 = user_1; 16439 16445 _object->user_2 = user_2; … … 16503 16509 return false; 16504 16510 } 16511 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_skewness", PS_DATA_F64, NULL, 0.0)) { 16512 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_skewness"); 16513 psFree(md); 16514 return false; 16515 } 16516 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_kurtosis", PS_DATA_F64, NULL, 0.0)) { 16517 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_kurtosis"); 16518 psFree(md); 16519 return false; 16520 } 16505 16521 if (!psMetadataAdd(md, PS_LIST_TAIL, "bin_stdev", PS_DATA_F64, NULL, 0.0)) { 16506 16522 psError(PS_ERR_UNKNOWN, false, "failed to add item bin_stdev"); … … 16523 16539 return false; 16524 16540 } 16541 if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_resid_0", PS_DATA_F64, NULL, 0.0)) { 16542 psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_resid_0"); 16543 psFree(md); 16544 return false; 16545 } 16546 if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_resid_1", PS_DATA_F64, NULL, 0.0)) { 16547 psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_resid_1"); 16548 psFree(md); 16549 return false; 16550 } 16551 if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_resid_2", PS_DATA_F64, NULL, 0.0)) { 16552 psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_resid_2"); 16553 psFree(md); 16554 return false; 16555 } 16525 16556 if (!psMetadataAdd(md, PS_LIST_TAIL, "user_1", PS_DATA_F64, NULL, 0.0)) { 16526 16557 psError(PS_ERR_UNKNOWN, false, "failed to add item user_1"); … … 16571 16602 } 16572 16603 16573 bool detResidImfileInsert(psDB * dbh, psS64 det_id, psS32 iteration, psS64 exp_id, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 b in_stdev, psF64 fringe_0, psF64 fringe_1, psF64 fringe_2, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, psS16 fault)16604 bool detResidImfileInsert(psDB * dbh, psS64 det_id, psS32 iteration, psS64 exp_id, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 bg_skewness, psF64 bg_kurtosis, psF64 bin_stdev, psF64 fringe_0, psF64 fringe_1, psF64 fringe_2, psF64 fringe_resid_0, psF64 fringe_resid_1, psF64 fringe_resid_2, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, psS16 fault) 16574 16605 { 16575 16606 psMetadata *md = psMetadataAlloc(); … … 16619 16650 return false; 16620 16651 } 16652 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_skewness", PS_DATA_F64, NULL, bg_skewness)) { 16653 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_skewness"); 16654 psFree(md); 16655 return false; 16656 } 16657 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_kurtosis", PS_DATA_F64, NULL, bg_kurtosis)) { 16658 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_kurtosis"); 16659 psFree(md); 16660 return false; 16661 } 16621 16662 if (!psMetadataAdd(md, PS_LIST_TAIL, "bin_stdev", PS_DATA_F64, NULL, bin_stdev)) { 16622 16663 psError(PS_ERR_UNKNOWN, false, "failed to add item bin_stdev"); … … 16636 16677 if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_2", PS_DATA_F64, NULL, fringe_2)) { 16637 16678 psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_2"); 16679 psFree(md); 16680 return false; 16681 } 16682 if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_resid_0", PS_DATA_F64, NULL, fringe_resid_0)) { 16683 psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_resid_0"); 16684 psFree(md); 16685 return false; 16686 } 16687 if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_resid_1", PS_DATA_F64, NULL, fringe_resid_1)) { 16688 psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_resid_1"); 16689 psFree(md); 16690 return false; 16691 } 16692 if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_resid_2", PS_DATA_F64, NULL, fringe_resid_2)) { 16693 psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_resid_2"); 16638 16694 psFree(md); 16639 16695 return false; … … 16697 16753 bool detResidImfileInsertObject(psDB *dbh, detResidImfileRow *object) 16698 16754 { 16699 return detResidImfileInsert(dbh, object->det_id, object->iteration, object->exp_id, object->class_id, object->uri, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev, object->b in_stdev, object->fringe_0, object->fringe_1, object->fringe_2, object->user_1, object->user_2, object->user_3, object->user_4, object->user_5, object->path_base, object->fault);16755 return detResidImfileInsert(dbh, object->det_id, object->iteration, object->exp_id, object->class_id, object->uri, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev, object->bg_skewness, object->bg_kurtosis, object->bin_stdev, object->fringe_0, object->fringe_1, object->fringe_2, object->fringe_resid_0, object->fringe_resid_1, object->fringe_resid_2, object->user_1, object->user_2, object->user_3, object->user_4, object->user_5, object->path_base, object->fault); 16700 16756 } 16701 16757 … … 16815 16871 return false; 16816 16872 } 16873 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_skewness", PS_DATA_F64, NULL, object->bg_skewness)) { 16874 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_skewness"); 16875 psFree(md); 16876 return false; 16877 } 16878 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_kurtosis", PS_DATA_F64, NULL, object->bg_kurtosis)) { 16879 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_kurtosis"); 16880 psFree(md); 16881 return false; 16882 } 16817 16883 if (!psMetadataAdd(md, PS_LIST_TAIL, "bin_stdev", PS_DATA_F64, NULL, object->bin_stdev)) { 16818 16884 psError(PS_ERR_UNKNOWN, false, "failed to add item bin_stdev"); … … 16835 16901 return false; 16836 16902 } 16903 if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_resid_0", PS_DATA_F64, NULL, object->fringe_resid_0)) { 16904 psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_resid_0"); 16905 psFree(md); 16906 return false; 16907 } 16908 if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_resid_1", PS_DATA_F64, NULL, object->fringe_resid_1)) { 16909 psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_resid_1"); 16910 psFree(md); 16911 return false; 16912 } 16913 if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_resid_2", PS_DATA_F64, NULL, object->fringe_resid_2)) { 16914 psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_resid_2"); 16915 psFree(md); 16916 return false; 16917 } 16837 16918 if (!psMetadataAdd(md, PS_LIST_TAIL, "user_1", PS_DATA_F64, NULL, object->user_1)) { 16838 16919 psError(PS_ERR_UNKNOWN, false, "failed to add item user_1"); … … 16924 17005 return false; 16925 17006 } 17007 psF64 bg_skewness = psMetadataLookupF64(&status, md, "bg_skewness"); 17008 if (!status) { 17009 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_skewness"); 17010 return false; 17011 } 17012 psF64 bg_kurtosis = psMetadataLookupF64(&status, md, "bg_kurtosis"); 17013 if (!status) { 17014 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_kurtosis"); 17015 return false; 17016 } 16926 17017 psF64 bin_stdev = psMetadataLookupF64(&status, md, "bin_stdev"); 16927 17018 if (!status) { … … 16944 17035 return false; 16945 17036 } 17037 psF64 fringe_resid_0 = psMetadataLookupF64(&status, md, "fringe_resid_0"); 17038 if (!status) { 17039 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item fringe_resid_0"); 17040 return false; 17041 } 17042 psF64 fringe_resid_1 = psMetadataLookupF64(&status, md, "fringe_resid_1"); 17043 if (!status) { 17044 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item fringe_resid_1"); 17045 return false; 17046 } 17047 psF64 fringe_resid_2 = psMetadataLookupF64(&status, md, "fringe_resid_2"); 17048 if (!status) { 17049 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item fringe_resid_2"); 17050 return false; 17051 } 16946 17052 psF64 user_1 = psMetadataLookupF64(&status, md, "user_1"); 16947 17053 if (!status) { … … 16980 17086 } 16981 17087 16982 return detResidImfileRowAlloc(det_id, iteration, exp_id, class_id, uri, recipe, bg, bg_stdev, bg_mean_stdev, b in_stdev, fringe_0, fringe_1, fringe_2, user_1, user_2, user_3, user_4, user_5, path_base, fault);17088 return detResidImfileRowAlloc(det_id, iteration, exp_id, class_id, uri, recipe, bg, bg_stdev, bg_mean_stdev, bg_skewness, bg_kurtosis, bin_stdev, fringe_0, fringe_1, fringe_2, fringe_resid_0, fringe_resid_1, fringe_resid_2, user_1, user_2, user_3, user_4, user_5, path_base, fault); 16983 17089 } 16984 17090 psArray *detResidImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) … … 17092 17198 static void detResidExpRowFree(detResidExpRow *object); 17093 17199 17094 detResidExpRow *detResidExpRowAlloc(psS64 det_id, psS32 iteration, psS64 exp_id, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 b in_stdev, psF64 fringe_0, psF64 fringe_1, psF64 fringe_2, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, bool accept, psS16 fault)17200 detResidExpRow *detResidExpRowAlloc(psS64 det_id, psS32 iteration, psS64 exp_id, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 bg_skewness, psF64 bg_kurtosis, psF64 bin_stdev, psF64 fringe_0, psF64 fringe_1, psF64 fringe_2, psF64 fringe_resid_0, psF64 fringe_resid_1, psF64 fringe_resid_2, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, bool accept, psS16 fault) 17095 17201 { 17096 17202 detResidExpRow *_object; … … 17106 17212 _object->bg_stdev = bg_stdev; 17107 17213 _object->bg_mean_stdev = bg_mean_stdev; 17214 _object->bg_skewness = bg_skewness; 17215 _object->bg_kurtosis = bg_kurtosis; 17108 17216 _object->bin_stdev = bin_stdev; 17109 17217 _object->fringe_0 = fringe_0; 17110 17218 _object->fringe_1 = fringe_1; 17111 17219 _object->fringe_2 = fringe_2; 17220 _object->fringe_resid_0 = fringe_resid_0; 17221 _object->fringe_resid_1 = fringe_resid_1; 17222 _object->fringe_resid_2 = fringe_resid_2; 17112 17223 _object->user_1 = user_1; 17113 17224 _object->user_2 = user_2; … … 17166 17277 return false; 17167 17278 } 17279 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_skewness", PS_DATA_F64, NULL, 0.0)) { 17280 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_skewness"); 17281 psFree(md); 17282 return false; 17283 } 17284 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_kurtosis", PS_DATA_F64, NULL, 0.0)) { 17285 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_kurtosis"); 17286 psFree(md); 17287 return false; 17288 } 17168 17289 if (!psMetadataAdd(md, PS_LIST_TAIL, "bin_stdev", PS_DATA_F64, NULL, 0.0)) { 17169 17290 psError(PS_ERR_UNKNOWN, false, "failed to add item bin_stdev"); … … 17186 17307 return false; 17187 17308 } 17309 if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_resid_0", PS_DATA_F64, NULL, 0.0)) { 17310 psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_resid_0"); 17311 psFree(md); 17312 return false; 17313 } 17314 if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_resid_1", PS_DATA_F64, NULL, 0.0)) { 17315 psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_resid_1"); 17316 psFree(md); 17317 return false; 17318 } 17319 if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_resid_2", PS_DATA_F64, NULL, 0.0)) { 17320 psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_resid_2"); 17321 psFree(md); 17322 return false; 17323 } 17188 17324 if (!psMetadataAdd(md, PS_LIST_TAIL, "user_1", PS_DATA_F64, NULL, 0.0)) { 17189 17325 psError(PS_ERR_UNKNOWN, false, "failed to add item user_1"); … … 17239 17375 } 17240 17376 17241 bool detResidExpInsert(psDB * dbh, psS64 det_id, psS32 iteration, psS64 exp_id, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 b in_stdev, psF64 fringe_0, psF64 fringe_1, psF64 fringe_2, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, bool accept, psS16 fault)17377 bool detResidExpInsert(psDB * dbh, psS64 det_id, psS32 iteration, psS64 exp_id, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 bg_skewness, psF64 bg_kurtosis, psF64 bin_stdev, psF64 fringe_0, psF64 fringe_1, psF64 fringe_2, psF64 fringe_resid_0, psF64 fringe_resid_1, psF64 fringe_resid_2, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, bool accept, psS16 fault) 17242 17378 { 17243 17379 psMetadata *md = psMetadataAlloc(); … … 17277 17413 return false; 17278 17414 } 17415 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_skewness", PS_DATA_F64, NULL, bg_skewness)) { 17416 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_skewness"); 17417 psFree(md); 17418 return false; 17419 } 17420 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_kurtosis", PS_DATA_F64, NULL, bg_kurtosis)) { 17421 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_kurtosis"); 17422 psFree(md); 17423 return false; 17424 } 17279 17425 if (!psMetadataAdd(md, PS_LIST_TAIL, "bin_stdev", PS_DATA_F64, NULL, bin_stdev)) { 17280 17426 psError(PS_ERR_UNKNOWN, false, "failed to add item bin_stdev"); … … 17294 17440 if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_2", PS_DATA_F64, NULL, fringe_2)) { 17295 17441 psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_2"); 17442 psFree(md); 17443 return false; 17444 } 17445 if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_resid_0", PS_DATA_F64, NULL, fringe_resid_0)) { 17446 psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_resid_0"); 17447 psFree(md); 17448 return false; 17449 } 17450 if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_resid_1", PS_DATA_F64, NULL, fringe_resid_1)) { 17451 psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_resid_1"); 17452 psFree(md); 17453 return false; 17454 } 17455 if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_resid_2", PS_DATA_F64, NULL, fringe_resid_2)) { 17456 psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_resid_2"); 17296 17457 psFree(md); 17297 17458 return false; … … 17360 17521 bool detResidExpInsertObject(psDB *dbh, detResidExpRow *object) 17361 17522 { 17362 return detResidExpInsert(dbh, object->det_id, object->iteration, object->exp_id, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev, object->b in_stdev, object->fringe_0, object->fringe_1, object->fringe_2, object->user_1, object->user_2, object->user_3, object->user_4, object->user_5, object->path_base, object->accept, object->fault);17523 return detResidExpInsert(dbh, object->det_id, object->iteration, object->exp_id, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev, object->bg_skewness, object->bg_kurtosis, object->bin_stdev, object->fringe_0, object->fringe_1, object->fringe_2, object->fringe_resid_0, object->fringe_resid_1, object->fringe_resid_2, object->user_1, object->user_2, object->user_3, object->user_4, object->user_5, object->path_base, object->accept, object->fault); 17363 17524 } 17364 17525 … … 17468 17629 return false; 17469 17630 } 17631 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_skewness", PS_DATA_F64, NULL, object->bg_skewness)) { 17632 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_skewness"); 17633 psFree(md); 17634 return false; 17635 } 17636 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_kurtosis", PS_DATA_F64, NULL, object->bg_kurtosis)) { 17637 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_kurtosis"); 17638 psFree(md); 17639 return false; 17640 } 17470 17641 if (!psMetadataAdd(md, PS_LIST_TAIL, "bin_stdev", PS_DATA_F64, NULL, object->bin_stdev)) { 17471 17642 psError(PS_ERR_UNKNOWN, false, "failed to add item bin_stdev"); … … 17488 17659 return false; 17489 17660 } 17661 if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_resid_0", PS_DATA_F64, NULL, object->fringe_resid_0)) { 17662 psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_resid_0"); 17663 psFree(md); 17664 return false; 17665 } 17666 if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_resid_1", PS_DATA_F64, NULL, object->fringe_resid_1)) { 17667 psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_resid_1"); 17668 psFree(md); 17669 return false; 17670 } 17671 if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_resid_2", PS_DATA_F64, NULL, object->fringe_resid_2)) { 17672 psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_resid_2"); 17673 psFree(md); 17674 return false; 17675 } 17490 17676 if (!psMetadataAdd(md, PS_LIST_TAIL, "user_1", PS_DATA_F64, NULL, object->user_1)) { 17491 17677 psError(PS_ERR_UNKNOWN, false, "failed to add item user_1"); … … 17572 17758 return false; 17573 17759 } 17760 psF64 bg_skewness = psMetadataLookupF64(&status, md, "bg_skewness"); 17761 if (!status) { 17762 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_skewness"); 17763 return false; 17764 } 17765 psF64 bg_kurtosis = psMetadataLookupF64(&status, md, "bg_kurtosis"); 17766 if (!status) { 17767 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_kurtosis"); 17768 return false; 17769 } 17574 17770 psF64 bin_stdev = psMetadataLookupF64(&status, md, "bin_stdev"); 17575 17771 if (!status) { … … 17592 17788 return false; 17593 17789 } 17790 psF64 fringe_resid_0 = psMetadataLookupF64(&status, md, "fringe_resid_0"); 17791 if (!status) { 17792 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item fringe_resid_0"); 17793 return false; 17794 } 17795 psF64 fringe_resid_1 = psMetadataLookupF64(&status, md, "fringe_resid_1"); 17796 if (!status) { 17797 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item fringe_resid_1"); 17798 return false; 17799 } 17800 psF64 fringe_resid_2 = psMetadataLookupF64(&status, md, "fringe_resid_2"); 17801 if (!status) { 17802 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item fringe_resid_2"); 17803 return false; 17804 } 17594 17805 psF64 user_1 = psMetadataLookupF64(&status, md, "user_1"); 17595 17806 if (!status) { … … 17633 17844 } 17634 17845 17635 return detResidExpRowAlloc(det_id, iteration, exp_id, recipe, bg, bg_stdev, bg_mean_stdev, b in_stdev, fringe_0, fringe_1, fringe_2, user_1, user_2, user_3, user_4, user_5, path_base, accept, fault);17846 return detResidExpRowAlloc(det_id, iteration, exp_id, recipe, bg, bg_stdev, bg_mean_stdev, bg_skewness, bg_kurtosis, bin_stdev, fringe_0, fringe_1, fringe_2, fringe_resid_0, fringe_resid_1, fringe_resid_2, user_1, user_2, user_3, user_4, user_5, path_base, accept, fault); 17636 17847 } 17637 17848 psArray *detResidExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) … … 18142 18353 return true; 18143 18354 } 18355 static void detRegisteredImfileRowFree(detRegisteredImfileRow *object); 18356 18357 detRegisteredImfileRow *detRegisteredImfileRowAlloc(psS64 det_id, psS32 iteration, const char *class_id, const char *uri, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, psS16 fault) 18358 { 18359 detRegisteredImfileRow *_object; 18360 18361 _object = psAlloc(sizeof(detRegisteredImfileRow)); 18362 psMemSetDeallocator(_object, (psFreeFunc)detRegisteredImfileRowFree); 18363 18364 _object->det_id = det_id; 18365 _object->iteration = iteration; 18366 _object->class_id = psStringCopy(class_id); 18367 _object->uri = psStringCopy(uri); 18368 _object->bg = bg; 18369 _object->bg_stdev = bg_stdev; 18370 _object->bg_mean_stdev = bg_mean_stdev; 18371 _object->user_1 = user_1; 18372 _object->user_2 = user_2; 18373 _object->user_3 = user_3; 18374 _object->user_4 = user_4; 18375 _object->user_5 = user_5; 18376 _object->path_base = psStringCopy(path_base); 18377 _object->fault = fault; 18378 18379 return _object; 18380 } 18381 18382 static void detRegisteredImfileRowFree(detRegisteredImfileRow *object) 18383 { 18384 psFree(object->class_id); 18385 psFree(object->uri); 18386 psFree(object->path_base); 18387 } 18388 18389 bool detRegisteredImfileCreateTable(psDB *dbh) 18390 { 18391 psMetadata *md = psMetadataAlloc(); 18392 if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, "Primary Key fkey(det_id, iteration) ref detRun(det_id, iteration)", 0)) { 18393 psError(PS_ERR_UNKNOWN, false, "failed to add item det_id"); 18394 psFree(md); 18395 return false; 18396 } 18397 if (!psMetadataAdd(md, PS_LIST_TAIL, "iteration", PS_DATA_S32, "Primary Key", 0)) { 18398 psError(PS_ERR_UNKNOWN, false, "failed to add item iteration"); 18399 psFree(md); 18400 return false; 18401 } 18402 if (!psMetadataAdd(md, PS_LIST_TAIL, "class_id", PS_DATA_STRING, "Primary Key", "64")) { 18403 psError(PS_ERR_UNKNOWN, false, "failed to add item class_id"); 18404 psFree(md); 18405 return false; 18406 } 18407 if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, "255")) { 18408 psError(PS_ERR_UNKNOWN, false, "failed to add item uri"); 18409 psFree(md); 18410 return false; 18411 } 18412 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, 0.0)) { 18413 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); 18414 psFree(md); 18415 return false; 18416 } 18417 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, 0.0)) { 18418 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev"); 18419 psFree(md); 18420 return false; 18421 } 18422 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, 0.0)) { 18423 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev"); 18424 psFree(md); 18425 return false; 18426 } 18427 if (!psMetadataAdd(md, PS_LIST_TAIL, "user_1", PS_DATA_F64, NULL, 0.0)) { 18428 psError(PS_ERR_UNKNOWN, false, "failed to add item user_1"); 18429 psFree(md); 18430 return false; 18431 } 18432 if (!psMetadataAdd(md, PS_LIST_TAIL, "user_2", PS_DATA_F64, NULL, 0.0)) { 18433 psError(PS_ERR_UNKNOWN, false, "failed to add item user_2"); 18434 psFree(md); 18435 return false; 18436 } 18437 if (!psMetadataAdd(md, PS_LIST_TAIL, "user_3", PS_DATA_F64, NULL, 0.0)) { 18438 psError(PS_ERR_UNKNOWN, false, "failed to add item user_3"); 18439 psFree(md); 18440 return false; 18441 } 18442 if (!psMetadataAdd(md, PS_LIST_TAIL, "user_4", PS_DATA_F64, NULL, 0.0)) { 18443 psError(PS_ERR_UNKNOWN, false, "failed to add item user_4"); 18444 psFree(md); 18445 return false; 18446 } 18447 if (!psMetadataAdd(md, PS_LIST_TAIL, "user_5", PS_DATA_F64, NULL, 0.0)) { 18448 psError(PS_ERR_UNKNOWN, false, "failed to add item user_5"); 18449 psFree(md); 18450 return false; 18451 } 18452 if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, "255")) { 18453 psError(PS_ERR_UNKNOWN, false, "failed to add item path_base"); 18454 psFree(md); 18455 return false; 18456 } 18457 if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, "Key NOT NULL", 0)) { 18458 psError(PS_ERR_UNKNOWN, false, "failed to add item fault"); 18459 psFree(md); 18460 return false; 18461 } 18462 18463 bool status = psDBCreateTable(dbh, DETREGISTEREDIMFILE_TABLE_NAME, md); 18464 18465 psFree(md); 18466 18467 return status; 18468 } 18469 18470 bool detRegisteredImfileDropTable(psDB *dbh) 18471 { 18472 return psDBDropTable(dbh, DETREGISTEREDIMFILE_TABLE_NAME); 18473 } 18474 18475 bool detRegisteredImfileInsert(psDB * dbh, psS64 det_id, psS32 iteration, const char *class_id, const char *uri, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, psS16 fault) 18476 { 18477 psMetadata *md = psMetadataAlloc(); 18478 if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, NULL, det_id)) { 18479 psError(PS_ERR_UNKNOWN, false, "failed to add item det_id"); 18480 psFree(md); 18481 return false; 18482 } 18483 if (!psMetadataAdd(md, PS_LIST_TAIL, "iteration", PS_DATA_S32, NULL, iteration)) { 18484 psError(PS_ERR_UNKNOWN, false, "failed to add item iteration"); 18485 psFree(md); 18486 return false; 18487 } 18488 if (!psMetadataAdd(md, PS_LIST_TAIL, "class_id", PS_DATA_STRING, NULL, class_id)) { 18489 psError(PS_ERR_UNKNOWN, false, "failed to add item class_id"); 18490 psFree(md); 18491 return false; 18492 } 18493 if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, uri)) { 18494 psError(PS_ERR_UNKNOWN, false, "failed to add item uri"); 18495 psFree(md); 18496 return false; 18497 } 18498 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, bg)) { 18499 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); 18500 psFree(md); 18501 return false; 18502 } 18503 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, bg_stdev)) { 18504 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev"); 18505 psFree(md); 18506 return false; 18507 } 18508 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, bg_mean_stdev)) { 18509 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev"); 18510 psFree(md); 18511 return false; 18512 } 18513 if (!psMetadataAdd(md, PS_LIST_TAIL, "user_1", PS_DATA_F64, NULL, user_1)) { 18514 psError(PS_ERR_UNKNOWN, false, "failed to add item user_1"); 18515 psFree(md); 18516 return false; 18517 } 18518 if (!psMetadataAdd(md, PS_LIST_TAIL, "user_2", PS_DATA_F64, NULL, user_2)) { 18519 psError(PS_ERR_UNKNOWN, false, "failed to add item user_2"); 18520 psFree(md); 18521 return false; 18522 } 18523 if (!psMetadataAdd(md, PS_LIST_TAIL, "user_3", PS_DATA_F64, NULL, user_3)) { 18524 psError(PS_ERR_UNKNOWN, false, "failed to add item user_3"); 18525 psFree(md); 18526 return false; 18527 } 18528 if (!psMetadataAdd(md, PS_LIST_TAIL, "user_4", PS_DATA_F64, NULL, user_4)) { 18529 psError(PS_ERR_UNKNOWN, false, "failed to add item user_4"); 18530 psFree(md); 18531 return false; 18532 } 18533 if (!psMetadataAdd(md, PS_LIST_TAIL, "user_5", PS_DATA_F64, NULL, user_5)) { 18534 psError(PS_ERR_UNKNOWN, false, "failed to add item user_5"); 18535 psFree(md); 18536 return false; 18537 } 18538 if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, path_base)) { 18539 psError(PS_ERR_UNKNOWN, false, "failed to add item path_base"); 18540 psFree(md); 18541 return false; 18542 } 18543 if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, NULL, fault)) { 18544 psError(PS_ERR_UNKNOWN, false, "failed to add item fault"); 18545 psFree(md); 18546 return false; 18547 } 18548 18549 bool status = psDBInsertOneRow(dbh, DETREGISTEREDIMFILE_TABLE_NAME, md); 18550 psFree(md); 18551 18552 return status; 18553 } 18554 18555 long long detRegisteredImfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit) 18556 { 18557 long long deleted = 0; 18558 18559 long long count = psDBDeleteRows(dbh, DETREGISTEREDIMFILE_TABLE_NAME, where, limit); 18560 if (count < 0) { 18561 psError(PS_ERR_UNKNOWN, true, "failed to delete row from detRegisteredImfile"); 18562 return count; 18563 18564 deleted += count; 18565 } 18566 18567 return deleted; 18568 } 18569 bool detRegisteredImfileInsertObject(psDB *dbh, detRegisteredImfileRow *object) 18570 { 18571 return detRegisteredImfileInsert(dbh, object->det_id, object->iteration, object->class_id, object->uri, object->bg, object->bg_stdev, object->bg_mean_stdev, object->user_1, object->user_2, object->user_3, object->user_4, object->user_5, object->path_base, object->fault); 18572 } 18573 18574 bool detRegisteredImfileInsertObjects(psDB *dbh, psArray *objects) 18575 { 18576 for (long i = 0; i < psArrayLength(objects); i++) { 18577 if (!detRegisteredImfileInsertObject(dbh, objects->data[i])) { 18578 return false; 18579 } 18580 } 18581 18582 return true; 18583 } 18584 18585 bool detRegisteredImfileInsertFits(psDB *dbh, const psFits *fits) 18586 { 18587 psArray *rowSet; 18588 18589 // move to (the first?) extension named DETREGISTEREDIMFILE_TABLE_NAME 18590 if (!psFitsMoveExtName(fits, DETREGISTEREDIMFILE_TABLE_NAME)) { 18591 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", DETREGISTEREDIMFILE_TABLE_NAME); 18592 return false; 18593 } 18594 18595 // check HDU type 18596 if (psFitsGetExtType(fits) != PS_FITS_TYPE_BINARY_TABLE) { 18597 psError(PS_ERR_UNKNOWN, true, "FITS HDU type is not PS_FITS_TYPE_BINARY_TABLE"); 18598 return false; 18599 } 18600 18601 // read fits table 18602 rowSet = psFitsReadTable(fits); 18603 if (!rowSet) { 18604 psError(PS_ERR_UNKNOWN, true, "FITS read error or FITS table is empty"); 18605 psFree(rowSet); 18606 return false; 18607 } 18608 18609 if (!psDBInsertRows(dbh, DETREGISTEREDIMFILE_TABLE_NAME, rowSet)) { 18610 psError(PS_ERR_UNKNOWN, false, "databse insert failed"); 18611 psFree(rowSet); 18612 return false; 18613 } 18614 18615 psFree(rowSet); 18616 18617 return true; 18618 } 18619 18620 bool detRegisteredImfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit) 18621 { 18622 psArray *rowSet; 18623 18624 rowSet = psDBSelectRows(dbh, DETREGISTEREDIMFILE_TABLE_NAME, where, limit); 18625 if (!rowSet) { 18626 return false; 18627 } 18628 18629 // output to fits 18630 if (!psFitsWriteTable(fits, NULL, rowSet, DETREGISTEREDIMFILE_TABLE_NAME)) { 18631 psError(PS_ERR_UNKNOWN, false, "FITS table write failed"); 18632 psFree(rowSet); 18633 return false; 18634 } 18635 18636 psFree(rowSet); 18637 18638 return true; 18639 } 18640 18641 psMetadata *detRegisteredImfileMetadataFromObject(const detRegisteredImfileRow *object) 18642 { 18643 psMetadata *md = psMetadataAlloc(); 18644 if (!psMetadataAdd(md, PS_LIST_TAIL, "det_id", PS_DATA_S64, NULL, object->det_id)) { 18645 psError(PS_ERR_UNKNOWN, false, "failed to add item det_id"); 18646 psFree(md); 18647 return false; 18648 } 18649 if (!psMetadataAdd(md, PS_LIST_TAIL, "iteration", PS_DATA_S32, NULL, object->iteration)) { 18650 psError(PS_ERR_UNKNOWN, false, "failed to add item iteration"); 18651 psFree(md); 18652 return false; 18653 } 18654 if (!psMetadataAdd(md, PS_LIST_TAIL, "class_id", PS_DATA_STRING, NULL, object->class_id)) { 18655 psError(PS_ERR_UNKNOWN, false, "failed to add item class_id"); 18656 psFree(md); 18657 return false; 18658 } 18659 if (!psMetadataAdd(md, PS_LIST_TAIL, "uri", PS_DATA_STRING, NULL, object->uri)) { 18660 psError(PS_ERR_UNKNOWN, false, "failed to add item uri"); 18661 psFree(md); 18662 return false; 18663 } 18664 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, object->bg)) { 18665 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); 18666 psFree(md); 18667 return false; 18668 } 18669 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, object->bg_stdev)) { 18670 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev"); 18671 psFree(md); 18672 return false; 18673 } 18674 if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, object->bg_mean_stdev)) { 18675 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev"); 18676 psFree(md); 18677 return false; 18678 } 18679 if (!psMetadataAdd(md, PS_LIST_TAIL, "user_1", PS_DATA_F64, NULL, object->user_1)) { 18680 psError(PS_ERR_UNKNOWN, false, "failed to add item user_1"); 18681 psFree(md); 18682 return false; 18683 } 18684 if (!psMetadataAdd(md, PS_LIST_TAIL, "user_2", PS_DATA_F64, NULL, object->user_2)) { 18685 psError(PS_ERR_UNKNOWN, false, "failed to add item user_2"); 18686 psFree(md); 18687 return false; 18688 } 18689 if (!psMetadataAdd(md, PS_LIST_TAIL, "user_3", PS_DATA_F64, NULL, object->user_3)) { 18690 psError(PS_ERR_UNKNOWN, false, "failed to add item user_3"); 18691 psFree(md); 18692 return false; 18693 } 18694 if (!psMetadataAdd(md, PS_LIST_TAIL, "user_4", PS_DATA_F64, NULL, object->user_4)) { 18695 psError(PS_ERR_UNKNOWN, false, "failed to add item user_4"); 18696 psFree(md); 18697 return false; 18698 } 18699 if (!psMetadataAdd(md, PS_LIST_TAIL, "user_5", PS_DATA_F64, NULL, object->user_5)) { 18700 psError(PS_ERR_UNKNOWN, false, "failed to add item user_5"); 18701 psFree(md); 18702 return false; 18703 } 18704 if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, object->path_base)) { 18705 psError(PS_ERR_UNKNOWN, false, "failed to add item path_base"); 18706 psFree(md); 18707 return false; 18708 } 18709 if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, NULL, object->fault)) { 18710 psError(PS_ERR_UNKNOWN, false, "failed to add item fault"); 18711 psFree(md); 18712 return false; 18713 } 18714 18715 18716 return md; 18717 } 18718 18719 detRegisteredImfileRow *detRegisteredImfileObjectFromMetadata(psMetadata *md) 18720 { 18721 18722 bool status = false; 18723 psS64 det_id = psMetadataLookupS64(&status, md, "det_id"); 18724 if (!status) { 18725 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item det_id"); 18726 return false; 18727 } 18728 psS32 iteration = psMetadataLookupS32(&status, md, "iteration"); 18729 if (!status) { 18730 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item iteration"); 18731 return false; 18732 } 18733 char* class_id = psMetadataLookupPtr(&status, md, "class_id"); 18734 if (!status) { 18735 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item class_id"); 18736 return false; 18737 } 18738 char* uri = psMetadataLookupPtr(&status, md, "uri"); 18739 if (!status) { 18740 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item uri"); 18741 return false; 18742 } 18743 psF64 bg = psMetadataLookupF64(&status, md, "bg"); 18744 if (!status) { 18745 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg"); 18746 return false; 18747 } 18748 psF64 bg_stdev = psMetadataLookupF64(&status, md, "bg_stdev"); 18749 if (!status) { 18750 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_stdev"); 18751 return false; 18752 } 18753 psF64 bg_mean_stdev = psMetadataLookupF64(&status, md, "bg_mean_stdev"); 18754 if (!status) { 18755 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_mean_stdev"); 18756 return false; 18757 } 18758 psF64 user_1 = psMetadataLookupF64(&status, md, "user_1"); 18759 if (!status) { 18760 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_1"); 18761 return false; 18762 } 18763 psF64 user_2 = psMetadataLookupF64(&status, md, "user_2"); 18764 if (!status) { 18765 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_2"); 18766 return false; 18767 } 18768 psF64 user_3 = psMetadataLookupF64(&status, md, "user_3"); 18769 if (!status) { 18770 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_3"); 18771 return false; 18772 } 18773 psF64 user_4 = psMetadataLookupF64(&status, md, "user_4"); 18774 if (!status) { 18775 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_4"); 18776 return false; 18777 } 18778 psF64 user_5 = psMetadataLookupF64(&status, md, "user_5"); 18779 if (!status) { 18780 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_5"); 18781 return false; 18782 } 18783 char* path_base = psMetadataLookupPtr(&status, md, "path_base"); 18784 if (!status) { 18785 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item path_base"); 18786 return false; 18787 } 18788 psS16 fault = psMetadataLookupS16(&status, md, "fault"); 18789 if (!status) { 18790 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item fault"); 18791 return false; 18792 } 18793 18794 return detRegisteredImfileRowAlloc(det_id, iteration, class_id, uri, bg, bg_stdev, bg_mean_stdev, user_1, user_2, user_3, user_4, user_5, path_base, fault); 18795 } 18796 psArray *detRegisteredImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) 18797 { 18798 psArray *rowSet; 18799 psArray *returnSet; 18800 psU64 i; 18801 18802 rowSet = psDBSelectRows(dbh, DETREGISTEREDIMFILE_TABLE_NAME, where, limit); 18803 if (!rowSet) { 18804 return NULL; 18805 } 18806 18807 // convert psMetadata rows to row objects 18808 18809 returnSet = psArrayAllocEmpty(rowSet->n); 18810 18811 for (i = 0; i < rowSet->n; i++) { 18812 detRegisteredImfileRow *object = detRegisteredImfileObjectFromMetadata(rowSet->data[i]); 18813 psArrayAdd(returnSet, 0, object); 18814 psFree(object); 18815 } 18816 18817 psFree(rowSet); 18818 18819 return returnSet; 18820 } 18821 bool detRegisteredImfileDeleteObject(psDB *dbh, const detRegisteredImfileRow *object) 18822 { 18823 psMetadata *where = detRegisteredImfileMetadataFromObject(object); 18824 long long count = psDBDeleteRows(dbh, DETREGISTEREDIMFILE_TABLE_NAME, where, 0); 18825 psFree(where); 18826 if (count < 0) { 18827 psError(PS_ERR_UNKNOWN, true, "failed to delete row from detRegisteredImfile"); 18828 return false; 18829 } 18830 if (count > 1) { 18831 // XXX should this be a psAbort() instead? It is possible that 18832 // having an object match multiple rows was by design. 18833 psError(PS_ERR_UNKNOWN, true, "detRegisteredImfileRow object matched more then one row. Check your database schema"); 18834 return false; 18835 } 18836 18837 return true; 18838 } 18839 long long detRegisteredImfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit) 18840 { 18841 long long deleted = 0; 18842 18843 for (long long i = 0; i < objects->n; i++) { 18844 detRegisteredImfileRow *object = objects->data[i]; 18845 psMetadata *where = detRegisteredImfileMetadataFromObject(object); 18846 long long count = psDBDeleteRows(dbh, DETREGISTEREDIMFILE_TABLE_NAME, where, limit); 18847 psFree(where); 18848 if (count < 0) { 18849 psError(PS_ERR_UNKNOWN, true, "failed to delete row from detRegisteredImfile"); 18850 return count; 18851 } 18852 18853 deleted += count; 18854 } 18855 18856 return deleted; 18857 } 18858 bool detRegisteredImfilePrintObjects(FILE *stream, psArray *objects, bool mdcf) 18859 { 18860 PS_ASSERT_PTR_NON_NULL(objects, false); 18861 18862 psMetadata *output = psMetadataAlloc(); 18863 for (long i = 0; i < psArrayLength(objects); i++) { 18864 psMetadata *md = detRegisteredImfileMetadataFromObject(objects->data[i]); 18865 if (!psMetadataAddMetadata( 18866 output, 18867 PS_LIST_TAIL, 18868 DETREGISTEREDIMFILE_TABLE_NAME, 18869 PS_META_DUPLICATE_OK, 18870 NULL, 18871 md 18872 )) { 18873 psError(PS_ERR_UNKNOWN, false, "failed to add metadata"); 18874 psFree(md); 18875 psFree(output); 18876 return false; 18877 } 18878 psFree(md); 18879 } 18880 18881 if (!ippdbPrintMetadataRaw(stream, output, mdcf)) { 18882 psError(PS_ERR_UNKNOWN, false, "failed to print metadata"); 18883 psFree(output); 18884 } 18885 psFree(output); 18886 18887 return true; 18888 } 18889 bool detRegisteredImfilePrintObject(FILE *stream, detRegisteredImfileRow *object, bool mdcf) 18890 { 18891 PS_ASSERT_PTR_NON_NULL(object, false); 18892 18893 psMetadata *md = detRegisteredImfileMetadataFromObject(object); 18894 18895 if (!ippdbPrintMetadataRaw(stream, md, mdcf)) { 18896 psError(PS_ERR_UNKNOWN, false, "failed to print metadata"); 18897 psFree(md); 18898 } 18899 18900 psFree(md); 18901 18902 return true; 18903 }
Note:
See TracChangeset
for help on using the changeset viewer.
