Changeset 8380
- Timestamp:
- Aug 15, 2006, 6:14:10 PM (20 years ago)
- Location:
- trunk/ippdb
- Files:
-
- 18 edited
-
Makefile.am (modified) (1 diff)
-
configure.ac (modified) (1 diff)
-
src/ippdb.c (modified) (76 diffs)
-
src/ippdb.h (modified) (38 diffs)
-
tests/alloc.c (modified) (6 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) (2 diffs)
-
tests/metadatafromobject.c (modified) (6 diffs)
-
tests/objectfrommetadata.c (modified) (6 diffs)
-
tests/pop.c (modified) (3 diffs)
-
tests/popfits.c (modified) (1 diff)
-
tests/popobject.c (modified) (1 diff)
-
tests/selectrowsfits.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippdb/Makefile.am
r8368 r8380 40 40 $(top_builddir)/docs/man/man3/detMasterFrameRow.3 \ 41 41 $(top_builddir)/docs/man/man3/detMasterImfileRow.3 \ 42 $(top_builddir)/docs/man/man3/detResidImfile AnalysisRow.3 \43 $(top_builddir)/docs/man/man3/detResidExp AnalysisRow.342 $(top_builddir)/docs/man/man3/detResidImfileRow.3 \ 43 $(top_builddir)/docs/man/man3/detResidExpRow.3 44 44 45 45 46 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/p2DoneExpRow.3 docs/man/man3/p2DoneImfileRow.3 docs/man/man3/p3PendingExpRow.3 docs/man/man3/detRunRow.3 docs/man/man3/detInputExpRow.3 docs/man/man3/detProcessedImfileRow.3 docs/man/man3/detStackedImfileRow.3 docs/man/man3/detNormalizedStatImfileRow.3 docs/man/man3/detNormalizedImfileRow.3 docs/man/man3/detMasterFrameRow.3 docs/man/man3/detMasterImfileRow.3 docs/man/man3/detResidImfile AnalysisRow.3 docs/man/man3/detResidExpAnalysisRow.3:46 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/p2DoneExpRow.3 docs/man/man3/p2DoneImfileRow.3 docs/man/man3/p3PendingExpRow.3 docs/man/man3/detRunRow.3 docs/man/man3/detInputExpRow.3 docs/man/man3/detProcessedImfileRow.3 docs/man/man3/detStackedImfileRow.3 docs/man/man3/detNormalizedStatImfileRow.3 docs/man/man3/detNormalizedImfileRow.3 docs/man/man3/detMasterFrameRow.3 docs/man/man3/detMasterImfileRow.3 docs/man/man3/detResidImfileRow.3 docs/man/man3/detResidExpRow.3: 47 47 $(DOXYGEN) 48 48 -
trunk/ippdb/configure.ac
r8368 r8380 1 1 AC_PREREQ(2.59) 2 2 3 AC_INIT([ippdb], [0.0. 29], [pan-starrs.ifa.hawaii.edu])3 AC_INIT([ippdb], [0.0.30], [pan-starrs.ifa.hawaii.edu]) 4 4 AC_CONFIG_SRCDIR([ippdb.pc.in]) 5 5 -
trunk/ippdb/src/ippdb.c
r8368 r8380 64 64 #define DETMASTERIMFILE_TABLE_NAME "detMasterImfile" 65 65 #define DETMASTERIMFILE_INDEX_NAME IPPDB_DEFAULT_INDEX_NAME 66 #define DETRESIDIMFILE ANALYSIS_TABLE_NAME "detResidImfileAnalysis"67 #define DETRESIDIMFILE ANALYSIS_INDEX_NAME IPPDB_DEFAULT_INDEX_NAME68 #define DETRESIDEXP ANALYSIS_TABLE_NAME "detResidExpAnalysis"69 #define DETRESIDEXP ANALYSIS_INDEX_NAME IPPDB_DEFAULT_INDEX_NAME66 #define DETRESIDIMFILE_TABLE_NAME "detResidImfile" 67 #define DETRESIDIMFILE_INDEX_NAME IPPDB_DEFAULT_INDEX_NAME 68 #define DETRESIDEXP_TABLE_NAME "detResidExp" 69 #define DETRESIDEXP_INDEX_NAME IPPDB_DEFAULT_INDEX_NAME 70 70 #define MAX_STRING_LENGTH 1024 71 71 … … 15059 15059 static void detNormalizedImfileRowFree(detNormalizedImfileRow *object); 15060 15060 15061 detNormalizedImfileRow *detNormalizedImfileRowAlloc(psS32 det_id, psS32 iteration, const char *class_id, const char *uri , const char *recipe)15061 detNormalizedImfileRow *detNormalizedImfileRowAlloc(psS32 det_id, psS32 iteration, const char *class_id, const char *uri) 15062 15062 { 15063 15063 detNormalizedImfileRow *object; … … 15070 15070 object->class_id = psStringCopy(class_id); 15071 15071 object->uri = psStringCopy(uri); 15072 object->recipe = psStringCopy(recipe);15073 15072 15074 15073 return object; … … 15079 15078 psFree(object->class_id); 15080 15079 psFree(object->uri); 15081 psFree(object->recipe);15082 15080 } 15083 15081 … … 15113 15111 return false; 15114 15112 } 15115 if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, "64")) {15116 psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");15117 psFree(md);15118 return false;15119 }15120 15113 15121 15114 status = psDBCreateTable(dbh, DETNORMALIZEDIMFILE_TABLE_NAME, md); … … 15131 15124 } 15132 15125 15133 bool detNormalizedImfileInsert(psDB * dbh, psS32 det_id, psS32 iteration, const char *class_id, const char *uri , const char *recipe)15126 bool detNormalizedImfileInsert(psDB * dbh, psS32 det_id, psS32 iteration, const char *class_id, const char *uri) 15134 15127 { 15135 15128 psMetadata *md; … … 15154 15147 if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, uri)) { 15155 15148 psError(PS_ERR_UNKNOWN, false, "failed to add item uri"); 15156 psFree(md);15157 return false;15158 }15159 if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, recipe)) {15160 psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");15161 15149 psFree(md); 15162 15150 return false; … … 15183 15171 return deleted; 15184 15172 } 15185 bool detNormalizedImfilePop(psDB *dbh, psS32 *det_id, psS32 *iteration, char **class_id, char **uri , char **recipe)15173 bool detNormalizedImfilePop(psDB *dbh, psS32 *det_id, psS32 *iteration, char **class_id, char **uri) 15186 15174 { 15187 15175 psArray *rowSet; … … 15251 15239 return false; 15252 15240 } 15253 *recipe = psMetadataLookupPtr(&status, row, "recipe");15254 if (!status) {15255 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item recipe");15256 psFree(row);15257 return false;15258 }15259 15241 15260 15242 psFree(row); … … 15265 15247 bool detNormalizedImfileInsertObject(psDB *dbh, detNormalizedImfileRow *object) 15266 15248 { 15267 return detNormalizedImfileInsert(dbh, object->det_id, object->iteration, object->class_id, object->uri , object->recipe);15249 return detNormalizedImfileInsert(dbh, object->det_id, object->iteration, object->class_id, object->uri); 15268 15250 } 15269 15251 … … 15285 15267 char class_id[256]; 15286 15268 char uri[256]; 15287 char recipe[256]; 15288 15289 if (!detNormalizedImfilePop(dbh, &det_id, &iteration, (char **)&class_id, (char **)&uri, (char **)&recipe)) { 15269 15270 if (!detNormalizedImfilePop(dbh, &det_id, &iteration, (char **)&class_id, (char **)&uri)) { 15290 15271 psError(PS_ERR_UNKNOWN, false, "failed to pop a database row"); 15291 15272 return NULL; 15292 15273 } 15293 15274 15294 return detNormalizedImfileRowAlloc(det_id, iteration, class_id, uri , recipe);15275 return detNormalizedImfileRowAlloc(det_id, iteration, class_id, uri); 15295 15276 } 15296 15277 … … 15411 15392 return NULL; 15412 15393 } 15413 if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, object->recipe)) {15414 psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");15415 psFree(md);15416 return NULL;15417 }15418 15394 15419 15395 return md; … … 15427 15403 char *class_id; 15428 15404 char *uri; 15429 char *recipe;15430 15405 15431 15406 det_id = psMetadataLookupS32(&status, md, "det_id"); … … 15449 15424 return false; 15450 15425 } 15451 recipe = psMetadataLookupPtr(&status, md, "recipe"); 15452 if (!status) { 15453 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item recipe"); 15454 return false; 15455 } 15456 15457 return detNormalizedImfileRowAlloc(det_id, iteration, class_id, uri, recipe); 15426 15427 return detNormalizedImfileRowAlloc(det_id, iteration, class_id, uri); 15458 15428 } 15459 15429 psArray *detNormalizedImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) … … 16477 16447 return true; 16478 16448 } 16479 static void detResidImfile AnalysisRowFree(detResidImfileAnalysisRow *object);16480 16481 detResidImfile AnalysisRow *detResidImfileAnalysisRowAlloc(psS32 det_id, psS32 iteration, const char *exp_id, const char *class_id, const char *recipe, const char *uri, const char *b1_uri, const char *b2_uri)16482 { 16483 detResidImfile AnalysisRow *object;16484 16485 object = psAlloc(sizeof(detResidImfile AnalysisRow));16486 psMemSetDeallocator(object, (psFreeFunc)detResidImfile AnalysisRowFree);16449 static void detResidImfileRowFree(detResidImfileRow *object); 16450 16451 detResidImfileRow *detResidImfileRowAlloc(psS32 det_id, psS32 iteration, const char *exp_id, const char *class_id, const char *recipe, const char *uri, const char *b1_uri, const char *b2_uri) 16452 { 16453 detResidImfileRow *object; 16454 16455 object = psAlloc(sizeof(detResidImfileRow)); 16456 psMemSetDeallocator(object, (psFreeFunc)detResidImfileRowFree); 16487 16457 16488 16458 object->det_id = det_id; … … 16498 16468 } 16499 16469 16500 static void detResidImfile AnalysisRowFree(detResidImfileAnalysisRow *object)16470 static void detResidImfileRowFree(detResidImfileRow *object) 16501 16471 { 16502 16472 psFree(object->exp_id); … … 16508 16478 } 16509 16479 16510 bool detResidImfile AnalysisCreateTable(psDB *dbh)16480 bool detResidImfileCreateTable(psDB *dbh) 16511 16481 { 16512 16482 psMetadata *md; … … 16514 16484 16515 16485 md = psMetadataAlloc(); 16516 if (!psMetadataAdd(md, PS_LIST_TAIL, DETRESIDIMFILE ANALYSIS_INDEX_NAME, PS_DATA_S32, "AUTO_INCREMENT", 0.0)) {16517 psError(PS_ERR_UNKNOWN, false, "failed to add item %s", DETRESIDIMFILE ANALYSIS_INDEX_NAME);16486 if (!psMetadataAdd(md, PS_LIST_TAIL, DETRESIDIMFILE_INDEX_NAME, PS_DATA_S32, "AUTO_INCREMENT", 0.0)) { 16487 psError(PS_ERR_UNKNOWN, false, "failed to add item %s", DETRESIDIMFILE_INDEX_NAME); 16518 16488 psFree(md); 16519 16489 return false; … … 16560 16530 } 16561 16531 16562 status = psDBCreateTable(dbh, DETRESIDIMFILE ANALYSIS_TABLE_NAME, md);16532 status = psDBCreateTable(dbh, DETRESIDIMFILE_TABLE_NAME, md); 16563 16533 16564 16534 psFree(md); … … 16567 16537 } 16568 16538 16569 bool detResidImfile AnalysisDropTable(psDB *dbh)16570 { 16571 return psDBDropTable(dbh, DETRESIDIMFILE ANALYSIS_TABLE_NAME);16572 } 16573 16574 bool detResidImfile AnalysisInsert(psDB * dbh, psS32 det_id, psS32 iteration, const char *exp_id, const char *class_id, const char *recipe, const char *uri, const char *b1_uri, const char *b2_uri)16539 bool detResidImfileDropTable(psDB *dbh) 16540 { 16541 return psDBDropTable(dbh, DETRESIDIMFILE_TABLE_NAME); 16542 } 16543 16544 bool detResidImfileInsert(psDB * dbh, psS32 det_id, psS32 iteration, const char *exp_id, const char *class_id, const char *recipe, const char *uri, const char *b1_uri, const char *b2_uri) 16575 16545 { 16576 16546 psMetadata *md; … … 16619 16589 } 16620 16590 16621 status = psDBInsertOneRow(dbh, DETRESIDIMFILE ANALYSIS_TABLE_NAME, md);16591 status = psDBInsertOneRow(dbh, DETRESIDIMFILE_TABLE_NAME, md); 16622 16592 psFree(md); 16623 16593 … … 16625 16595 } 16626 16596 16627 long long detResidImfile AnalysisDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)16597 long long detResidImfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit) 16628 16598 { 16629 16599 long long deleted = 0; 16630 16600 16631 long long count = psDBDeleteRows(dbh, DETRESIDIMFILE ANALYSIS_TABLE_NAME, where, limit);16601 long long count = psDBDeleteRows(dbh, DETRESIDIMFILE_TABLE_NAME, where, limit); 16632 16602 if (count < 0) { 16633 psError(PS_ERR_UNKNOWN, true, "failed to delete row from detResidImfile Analysis");16603 psError(PS_ERR_UNKNOWN, true, "failed to delete row from detResidImfile"); 16634 16604 return count; 16635 16605 … … 16639 16609 return deleted; 16640 16610 } 16641 bool detResidImfile AnalysisPop(psDB *dbh, psS32 *det_id, psS32 *iteration, char **exp_id, char **class_id, char **recipe, char **uri, char **b1_uri, char **b2_uri)16611 bool detResidImfilePop(psDB *dbh, psS32 *det_id, psS32 *iteration, char **exp_id, char **class_id, char **recipe, char **uri, char **b1_uri, char **b2_uri) 16642 16612 { 16643 16613 psArray *rowSet; … … 16648 16618 int rowID; 16649 16619 16650 rowSet = psDBSelectRows(dbh, DETRESIDIMFILE ANALYSIS_TABLE_NAME, NULL, 1);16620 rowSet = psDBSelectRows(dbh, DETRESIDIMFILE_TABLE_NAME, NULL, 1); 16651 16621 if (!rowSet) { 16652 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item %s", DETRESIDIMFILE ANALYSIS_INDEX_NAME);16622 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item %s", DETRESIDIMFILE_INDEX_NAME); 16653 16623 psFree(rowSet); 16654 16624 return NULL; … … 16663 16633 psFree(rowSet); 16664 16634 16665 rowID = psMetadataLookupS32(&status, row, DETRESIDIMFILE ANALYSIS_INDEX_NAME);16666 if (!status) { 16667 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item %s", DETRESIDIMFILE ANALYSIS_INDEX_NAME);16635 rowID = psMetadataLookupS32(&status, row, DETRESIDIMFILE_INDEX_NAME); 16636 if (!status) { 16637 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item %s", DETRESIDIMFILE_INDEX_NAME); 16668 16638 psFree(row); 16669 16639 return NULL; … … 16671 16641 16672 16642 popped = psMetadataAlloc(); 16673 psMetadataAddS32(popped, PS_LIST_TAIL, DETRESIDIMFILE ANALYSIS_INDEX_NAME, 0, NULL, rowID);16674 16675 deleted = psDBDeleteRows(dbh, DETRESIDIMFILE ANALYSIS_TABLE_NAME, popped, 0);16643 psMetadataAddS32(popped, PS_LIST_TAIL, DETRESIDIMFILE_INDEX_NAME, 0, NULL, rowID); 16644 16645 deleted = psDBDeleteRows(dbh, DETRESIDIMFILE_TABLE_NAME, popped, 0); 16676 16646 if (deleted != 1) { 16677 16647 psError(PS_ERR_UNKNOWN, false, "database failed to delete row"); … … 16737 16707 } 16738 16708 16739 bool detResidImfile AnalysisInsertObject(psDB *dbh, detResidImfileAnalysisRow *object)16740 { 16741 return detResidImfile AnalysisInsert(dbh, object->det_id, object->iteration, object->exp_id, object->class_id, object->recipe, object->uri, object->b1_uri, object->b2_uri);16742 } 16743 16744 bool detResidImfile AnalysisInsertObjects(psDB *dbh, psArray *objects)16709 bool detResidImfileInsertObject(psDB *dbh, detResidImfileRow *object) 16710 { 16711 return detResidImfileInsert(dbh, object->det_id, object->iteration, object->exp_id, object->class_id, object->recipe, object->uri, object->b1_uri, object->b2_uri); 16712 } 16713 16714 bool detResidImfileInsertObjects(psDB *dbh, psArray *objects) 16745 16715 { 16746 16716 for (long i = 0; i < psArrayLength(objects); i++) { 16747 if (!detResidImfile AnalysisInsertObject(dbh, objects->data[i])) {16717 if (!detResidImfileInsertObject(dbh, objects->data[i])) { 16748 16718 return false; 16749 16719 } … … 16753 16723 } 16754 16724 16755 detResidImfile AnalysisRow *detResidImfileAnalysisPopObject(psDB *dbh)16725 detResidImfileRow *detResidImfilePopObject(psDB *dbh) 16756 16726 { 16757 16727 psS32 det_id; … … 16764 16734 char b2_uri[256]; 16765 16735 16766 if (!detResidImfile AnalysisPop(dbh, &det_id, &iteration, (char **)&exp_id, (char **)&class_id, (char **)&recipe, (char **)&uri, (char **)&b1_uri, (char **)&b2_uri)) {16736 if (!detResidImfilePop(dbh, &det_id, &iteration, (char **)&exp_id, (char **)&class_id, (char **)&recipe, (char **)&uri, (char **)&b1_uri, (char **)&b2_uri)) { 16767 16737 psError(PS_ERR_UNKNOWN, false, "failed to pop a database row"); 16768 16738 return NULL; 16769 16739 } 16770 16740 16771 return detResidImfile AnalysisRowAlloc(det_id, iteration, exp_id, class_id, recipe, uri, b1_uri, b2_uri);16772 } 16773 16774 bool detResidImfile AnalysisInsertFits(psDB *dbh, const psFits *fits)16741 return detResidImfileRowAlloc(det_id, iteration, exp_id, class_id, recipe, uri, b1_uri, b2_uri); 16742 } 16743 16744 bool detResidImfileInsertFits(psDB *dbh, const psFits *fits) 16775 16745 { 16776 16746 psArray *rowSet; 16777 16747 16778 // move to (the first?) extension named DETRESIDIMFILE ANALYSIS_TABLE_NAME16779 if (!psFitsMoveExtName(fits, DETRESIDIMFILE ANALYSIS_TABLE_NAME)) {16780 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", DETRESIDIMFILE ANALYSIS_TABLE_NAME);16748 // move to (the first?) extension named DETRESIDIMFILE_TABLE_NAME 16749 if (!psFitsMoveExtName(fits, DETRESIDIMFILE_TABLE_NAME)) { 16750 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", DETRESIDIMFILE_TABLE_NAME); 16781 16751 return false; 16782 16752 } … … 16796 16766 } 16797 16767 16798 if (!psDBInsertRows(dbh, DETRESIDIMFILE ANALYSIS_TABLE_NAME, rowSet)) {16768 if (!psDBInsertRows(dbh, DETRESIDIMFILE_TABLE_NAME, rowSet)) { 16799 16769 psError(PS_ERR_UNKNOWN, false, "databse insert failed"); 16800 16770 psFree(rowSet); … … 16807 16777 } 16808 16778 16809 bool detResidImfile AnalysisPopFits(psDB *dbh, psFits *fits, unsigned long long limit)16779 bool detResidImfilePopFits(psDB *dbh, psFits *fits, unsigned long long limit) 16810 16780 { 16811 16781 char query[MAX_STRING_LENGTH]; 16812 16782 16813 if (!detResidImfile AnalysisSelectRowsFits(dbh, fits, NULL, limit)) {16783 if (!detResidImfileSelectRowsFits(dbh, fits, NULL, limit)) { 16814 16784 psError(PS_ERR_UNKNOWN, true, "database error or table is empty"); 16815 16785 return false; … … 16819 16789 if (snprintf(query, MAX_STRING_LENGTH, 16820 16790 "DELETE FROM %s ORDER BY %s DESC LIMIT %lld", 16821 DETRESIDIMFILE ANALYSIS_TABLE_NAME, DETRESIDIMFILEANALYSIS_INDEX_NAME, limit) < 0) {16791 DETRESIDIMFILE_TABLE_NAME, DETRESIDIMFILE_INDEX_NAME, limit) < 0) { 16822 16792 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed %s bytes", MAX_STRING_LENGTH); 16823 16793 return false; … … 16832 16802 } 16833 16803 16834 bool detResidImfile AnalysisSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)16804 bool detResidImfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit) 16835 16805 { 16836 16806 psArray *rowSet; 16837 16807 psU64 i; 16838 16808 16839 rowSet = psDBSelectRows(dbh, DETRESIDIMFILE ANALYSIS_TABLE_NAME, where, limit);16809 rowSet = psDBSelectRows(dbh, DETRESIDIMFILE_TABLE_NAME, where, limit); 16840 16810 if (!rowSet) { 16841 16811 return false; … … 16844 16814 // strip index column 16845 16815 for (i = 0; i < rowSet->n; i++) { 16846 if (!psMetadataRemove((psMetadata *)rowSet->data[i], 0, DETRESIDIMFILE ANALYSIS_INDEX_NAME)) {16847 psError(PS_ERR_UNKNOWN, true, "failed to remove item %s", DETRESIDIMFILE ANALYSIS_INDEX_NAME);16816 if (!psMetadataRemove((psMetadata *)rowSet->data[i], 0, DETRESIDIMFILE_INDEX_NAME)) { 16817 psError(PS_ERR_UNKNOWN, true, "failed to remove item %s", DETRESIDIMFILE_INDEX_NAME); 16848 16818 psFree(rowSet); 16849 16819 return false; … … 16852 16822 16853 16823 // output to fits 16854 if (!psFitsWriteTable(fits, NULL, rowSet, DETRESIDIMFILE ANALYSIS_TABLE_NAME)) {16824 if (!psFitsWriteTable(fits, NULL, rowSet, DETRESIDIMFILE_TABLE_NAME)) { 16855 16825 psError(PS_ERR_UNKNOWN, false, "FITS table write failed"); 16856 16826 psFree(rowSet); … … 16863 16833 } 16864 16834 16865 psMetadata *detResidImfile AnalysisMetadataFromObject(const detResidImfileAnalysisRow *object)16835 psMetadata *detResidImfileMetadataFromObject(const detResidImfileRow *object) 16866 16836 { 16867 16837 psMetadata *md; … … 16912 16882 } 16913 16883 16914 detResidImfile AnalysisRow *detResidImfileAnalysisObjectFromMetadata(psMetadata *md)16884 detResidImfileRow *detResidImfileObjectFromMetadata(psMetadata *md) 16915 16885 { 16916 16886 bool status; … … 16965 16935 } 16966 16936 16967 return detResidImfile AnalysisRowAlloc(det_id, iteration, exp_id, class_id, recipe, uri, b1_uri, b2_uri);16968 } 16969 psArray *detResidImfile AnalysisSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)16937 return detResidImfileRowAlloc(det_id, iteration, exp_id, class_id, recipe, uri, b1_uri, b2_uri); 16938 } 16939 psArray *detResidImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) 16970 16940 { 16971 16941 psArray *rowSet; … … 16973 16943 psU64 i; 16974 16944 16975 rowSet = psDBSelectRows(dbh, DETRESIDIMFILE ANALYSIS_TABLE_NAME, where, limit);16945 rowSet = psDBSelectRows(dbh, DETRESIDIMFILE_TABLE_NAME, where, limit); 16976 16946 if (!rowSet) { 16977 16947 return NULL; … … 16980 16950 // strip index column 16981 16951 for (i = 0; i < rowSet->n; i++) { 16982 if (!psMetadataRemove((psMetadata *)(rowSet->data[i]), 0, DETRESIDIMFILE ANALYSIS_INDEX_NAME)) {16983 psError(PS_ERR_UNKNOWN, true, "failed to remove item %s", DETRESIDIMFILE ANALYSIS_INDEX_NAME);16952 if (!psMetadataRemove((psMetadata *)(rowSet->data[i]), 0, DETRESIDIMFILE_INDEX_NAME)) { 16953 psError(PS_ERR_UNKNOWN, true, "failed to remove item %s", DETRESIDIMFILE_INDEX_NAME); 16984 16954 psFree(rowSet); 16985 16955 return false; … … 16993 16963 16994 16964 for (i = 0; i < rowSet->n; i++) { 16995 detResidImfile AnalysisRow *object = detResidImfileAnalysisObjectFromMetadata(rowSet->data[i]);16965 detResidImfileRow *object = detResidImfileObjectFromMetadata(rowSet->data[i]); 16996 16966 psArrayAdd(returnSet, 0, object); 16997 16967 psFree(object); … … 17002 16972 return returnSet; 17003 16973 } 17004 bool detResidImfile AnalysisDeleteObject(psDB *dbh, const detResidImfileAnalysisRow *object)17005 { 17006 psMetadata *where = detResidImfile AnalysisMetadataFromObject(object);17007 long long count = psDBDeleteRows(dbh, DETRESIDIMFILE ANALYSIS_TABLE_NAME, where, 0);16974 bool detResidImfileDeleteObject(psDB *dbh, const detResidImfileRow *object) 16975 { 16976 psMetadata *where = detResidImfileMetadataFromObject(object); 16977 long long count = psDBDeleteRows(dbh, DETRESIDIMFILE_TABLE_NAME, where, 0); 17008 16978 psFree(where) 17009 16979 if (count < 0) { 17010 psError(PS_ERR_UNKNOWN, true, "failed to delete row from detResidImfile Analysis");16980 psError(PS_ERR_UNKNOWN, true, "failed to delete row from detResidImfile"); 17011 16981 return false; 17012 16982 } … … 17014 16984 // XXX should this be a psAbort() instead? It is possible that 17015 16985 // having an object match multiple rows was by design. 17016 psError(PS_ERR_UNKNOWN, true, "detResidImfile AnalysisRow object matched more then one row. Check your database schema");17017 return false; 17018 } 17019 17020 return true; 17021 } 17022 long long detResidImfile AnalysisDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)16986 psError(PS_ERR_UNKNOWN, true, "detResidImfileRow object matched more then one row. Check your database schema"); 16987 return false; 16988 } 16989 16990 return true; 16991 } 16992 long long detResidImfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit) 17023 16993 { 17024 16994 long long deleted = 0; 17025 16995 17026 16996 for (long long i = 0; i < objects->n; i++) { 17027 detResidImfile AnalysisRow *object = objects->data[i];17028 psMetadata *where = detResidImfile AnalysisMetadataFromObject(object);17029 long long count = psDBDeleteRows(dbh, DETRESIDIMFILE ANALYSIS_TABLE_NAME, where, limit);16997 detResidImfileRow *object = objects->data[i]; 16998 psMetadata *where = detResidImfileMetadataFromObject(object); 16999 long long count = psDBDeleteRows(dbh, DETRESIDIMFILE_TABLE_NAME, where, limit); 17030 17000 psFree(where) 17031 17001 if (count < 0) { 17032 psError(PS_ERR_UNKNOWN, true, "failed to delete row from detResidImfile Analysis");17002 psError(PS_ERR_UNKNOWN, true, "failed to delete row from detResidImfile"); 17033 17003 return count; 17034 17004 } … … 17039 17009 return deleted; 17040 17010 } 17041 bool detResidImfile AnalysisPrintObjects(FILE *stream, psArray *objects, bool mdcf)17011 bool detResidImfilePrintObjects(FILE *stream, psArray *objects, bool mdcf) 17042 17012 { 17043 17013 PS_ASSERT_PTR_NON_NULL(objects, false); … … 17045 17015 psMetadata *output = psMetadataAlloc(); 17046 17016 for (long i = 0; i < psArrayLength(objects); i++) { 17047 psMetadata *md = detResidImfile AnalysisMetadataFromObject(objects->data[i]);17017 psMetadata *md = detResidImfileMetadataFromObject(objects->data[i]); 17048 17018 if (!psMetadataAddMetadata( 17049 17019 output, 17050 17020 PS_LIST_TAIL, 17051 DETRESIDIMFILE ANALYSIS_TABLE_NAME,17021 DETRESIDIMFILE_TABLE_NAME, 17052 17022 PS_META_DUPLICATE_OK, 17053 17023 NULL, … … 17070 17040 return true; 17071 17041 } 17072 static void detResidExp AnalysisRowFree(detResidExpAnalysisRow *object);17073 17074 detResidExp AnalysisRow *detResidExpAnalysisRowAlloc(psS32 det_id, psS32 iteration, const char *exp_id, const char *recipe, bool keep, bool accept)17075 { 17076 detResidExp AnalysisRow*object;17077 17078 object = psAlloc(sizeof(detResidExp AnalysisRow));17079 psMemSetDeallocator(object, (psFreeFunc)detResidExp AnalysisRowFree);17042 static void detResidExpRowFree(detResidExpRow *object); 17043 17044 detResidExpRow *detResidExpRowAlloc(psS32 det_id, psS32 iteration, const char *exp_id, const char *recipe, bool keep, bool accept) 17045 { 17046 detResidExpRow *object; 17047 17048 object = psAlloc(sizeof(detResidExpRow)); 17049 psMemSetDeallocator(object, (psFreeFunc)detResidExpRowFree); 17080 17050 17081 17051 object->det_id = det_id; … … 17089 17059 } 17090 17060 17091 static void detResidExp AnalysisRowFree(detResidExpAnalysisRow *object)17061 static void detResidExpRowFree(detResidExpRow *object) 17092 17062 { 17093 17063 psFree(object->exp_id); … … 17095 17065 } 17096 17066 17097 bool detResidExp AnalysisCreateTable(psDB *dbh)17067 bool detResidExpCreateTable(psDB *dbh) 17098 17068 { 17099 17069 psMetadata *md; … … 17101 17071 17102 17072 md = psMetadataAlloc(); 17103 if (!psMetadataAdd(md, PS_LIST_TAIL, DETRESIDEXP ANALYSIS_INDEX_NAME, PS_DATA_S32, "AUTO_INCREMENT", 0.0)) {17104 psError(PS_ERR_UNKNOWN, false, "failed to add item %s", DETRESIDEXP ANALYSIS_INDEX_NAME);17073 if (!psMetadataAdd(md, PS_LIST_TAIL, DETRESIDEXP_INDEX_NAME, PS_DATA_S32, "AUTO_INCREMENT", 0.0)) { 17074 psError(PS_ERR_UNKNOWN, false, "failed to add item %s", DETRESIDEXP_INDEX_NAME); 17105 17075 psFree(md); 17106 17076 return false; … … 17137 17107 } 17138 17108 17139 status = psDBCreateTable(dbh, DETRESIDEXP ANALYSIS_TABLE_NAME, md);17109 status = psDBCreateTable(dbh, DETRESIDEXP_TABLE_NAME, md); 17140 17110 17141 17111 psFree(md); … … 17144 17114 } 17145 17115 17146 bool detResidExp AnalysisDropTable(psDB *dbh)17147 { 17148 return psDBDropTable(dbh, DETRESIDEXP ANALYSIS_TABLE_NAME);17149 } 17150 17151 bool detResidExp AnalysisInsert(psDB * dbh, psS32 det_id, psS32 iteration, const char *exp_id, const char *recipe, bool keep, bool accept)17116 bool detResidExpDropTable(psDB *dbh) 17117 { 17118 return psDBDropTable(dbh, DETRESIDEXP_TABLE_NAME); 17119 } 17120 17121 bool detResidExpInsert(psDB * dbh, psS32 det_id, psS32 iteration, const char *exp_id, const char *recipe, bool keep, bool accept) 17152 17122 { 17153 17123 psMetadata *md; … … 17186 17156 } 17187 17157 17188 status = psDBInsertOneRow(dbh, DETRESIDEXP ANALYSIS_TABLE_NAME, md);17158 status = psDBInsertOneRow(dbh, DETRESIDEXP_TABLE_NAME, md); 17189 17159 psFree(md); 17190 17160 … … 17192 17162 } 17193 17163 17194 long long detResidExp AnalysisDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)17164 long long detResidExpDelete(psDB *dbh, const psMetadata *where, unsigned long long limit) 17195 17165 { 17196 17166 long long deleted = 0; 17197 17167 17198 long long count = psDBDeleteRows(dbh, DETRESIDEXP ANALYSIS_TABLE_NAME, where, limit);17168 long long count = psDBDeleteRows(dbh, DETRESIDEXP_TABLE_NAME, where, limit); 17199 17169 if (count < 0) { 17200 psError(PS_ERR_UNKNOWN, true, "failed to delete row from detResidExp Analysis");17170 psError(PS_ERR_UNKNOWN, true, "failed to delete row from detResidExp"); 17201 17171 return count; 17202 17172 … … 17206 17176 return deleted; 17207 17177 } 17208 bool detResidExp AnalysisPop(psDB *dbh, psS32 *det_id, psS32 *iteration, char **exp_id, char **recipe, bool *keep, bool *accept)17178 bool detResidExpPop(psDB *dbh, psS32 *det_id, psS32 *iteration, char **exp_id, char **recipe, bool *keep, bool *accept) 17209 17179 { 17210 17180 psArray *rowSet; … … 17215 17185 int rowID; 17216 17186 17217 rowSet = psDBSelectRows(dbh, DETRESIDEXP ANALYSIS_TABLE_NAME, NULL, 1);17187 rowSet = psDBSelectRows(dbh, DETRESIDEXP_TABLE_NAME, NULL, 1); 17218 17188 if (!rowSet) { 17219 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item %s", DETRESIDEXP ANALYSIS_INDEX_NAME);17189 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item %s", DETRESIDEXP_INDEX_NAME); 17220 17190 psFree(rowSet); 17221 17191 return NULL; … … 17230 17200 psFree(rowSet); 17231 17201 17232 rowID = psMetadataLookupS32(&status, row, DETRESIDEXP ANALYSIS_INDEX_NAME);17233 if (!status) { 17234 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item %s", DETRESIDEXP ANALYSIS_INDEX_NAME);17202 rowID = psMetadataLookupS32(&status, row, DETRESIDEXP_INDEX_NAME); 17203 if (!status) { 17204 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item %s", DETRESIDEXP_INDEX_NAME); 17235 17205 psFree(row); 17236 17206 return NULL; … … 17238 17208 17239 17209 popped = psMetadataAlloc(); 17240 psMetadataAddS32(popped, PS_LIST_TAIL, DETRESIDEXP ANALYSIS_INDEX_NAME, 0, NULL, rowID);17241 17242 deleted = psDBDeleteRows(dbh, DETRESIDEXP ANALYSIS_TABLE_NAME, popped, 0);17210 psMetadataAddS32(popped, PS_LIST_TAIL, DETRESIDEXP_INDEX_NAME, 0, NULL, rowID); 17211 17212 deleted = psDBDeleteRows(dbh, DETRESIDEXP_TABLE_NAME, popped, 0); 17243 17213 if (deleted != 1) { 17244 17214 psError(PS_ERR_UNKNOWN, false, "database failed to delete row"); … … 17292 17262 } 17293 17263 17294 bool detResidExp AnalysisInsertObject(psDB *dbh, detResidExpAnalysisRow *object)17295 { 17296 return detResidExp AnalysisInsert(dbh, object->det_id, object->iteration, object->exp_id, object->recipe, object->keep, object->accept);17297 } 17298 17299 bool detResidExp AnalysisInsertObjects(psDB *dbh, psArray *objects)17264 bool detResidExpInsertObject(psDB *dbh, detResidExpRow *object) 17265 { 17266 return detResidExpInsert(dbh, object->det_id, object->iteration, object->exp_id, object->recipe, object->keep, object->accept); 17267 } 17268 17269 bool detResidExpInsertObjects(psDB *dbh, psArray *objects) 17300 17270 { 17301 17271 for (long i = 0; i < psArrayLength(objects); i++) { 17302 if (!detResidExp AnalysisInsertObject(dbh, objects->data[i])) {17272 if (!detResidExpInsertObject(dbh, objects->data[i])) { 17303 17273 return false; 17304 17274 } … … 17308 17278 } 17309 17279 17310 detResidExp AnalysisRow *detResidExpAnalysisPopObject(psDB *dbh)17280 detResidExpRow *detResidExpPopObject(psDB *dbh) 17311 17281 { 17312 17282 psS32 det_id; … … 17317 17287 bool accept; 17318 17288 17319 if (!detResidExp AnalysisPop(dbh, &det_id, &iteration, (char **)&exp_id, (char **)&recipe, &keep, &accept)) {17289 if (!detResidExpPop(dbh, &det_id, &iteration, (char **)&exp_id, (char **)&recipe, &keep, &accept)) { 17320 17290 psError(PS_ERR_UNKNOWN, false, "failed to pop a database row"); 17321 17291 return NULL; 17322 17292 } 17323 17293 17324 return detResidExp AnalysisRowAlloc(det_id, iteration, exp_id, recipe, keep, accept);17325 } 17326 17327 bool detResidExp AnalysisInsertFits(psDB *dbh, const psFits *fits)17294 return detResidExpRowAlloc(det_id, iteration, exp_id, recipe, keep, accept); 17295 } 17296 17297 bool detResidExpInsertFits(psDB *dbh, const psFits *fits) 17328 17298 { 17329 17299 psArray *rowSet; 17330 17300 17331 // move to (the first?) extension named DETRESIDEXP ANALYSIS_TABLE_NAME17332 if (!psFitsMoveExtName(fits, DETRESIDEXP ANALYSIS_TABLE_NAME)) {17333 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", DETRESIDEXP ANALYSIS_TABLE_NAME);17301 // move to (the first?) extension named DETRESIDEXP_TABLE_NAME 17302 if (!psFitsMoveExtName(fits, DETRESIDEXP_TABLE_NAME)) { 17303 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", DETRESIDEXP_TABLE_NAME); 17334 17304 return false; 17335 17305 } … … 17349 17319 } 17350 17320 17351 if (!psDBInsertRows(dbh, DETRESIDEXP ANALYSIS_TABLE_NAME, rowSet)) {17321 if (!psDBInsertRows(dbh, DETRESIDEXP_TABLE_NAME, rowSet)) { 17352 17322 psError(PS_ERR_UNKNOWN, false, "databse insert failed"); 17353 17323 psFree(rowSet); … … 17360 17330 } 17361 17331 17362 bool detResidExp AnalysisPopFits(psDB *dbh, psFits *fits, unsigned long long limit)17332 bool detResidExpPopFits(psDB *dbh, psFits *fits, unsigned long long limit) 17363 17333 { 17364 17334 char query[MAX_STRING_LENGTH]; 17365 17335 17366 if (!detResidExp AnalysisSelectRowsFits(dbh, fits, NULL, limit)) {17336 if (!detResidExpSelectRowsFits(dbh, fits, NULL, limit)) { 17367 17337 psError(PS_ERR_UNKNOWN, true, "database error or table is empty"); 17368 17338 return false; … … 17372 17342 if (snprintf(query, MAX_STRING_LENGTH, 17373 17343 "DELETE FROM %s ORDER BY %s DESC LIMIT %lld", 17374 DETRESIDEXP ANALYSIS_TABLE_NAME, DETRESIDEXPANALYSIS_INDEX_NAME, limit) < 0) {17344 DETRESIDEXP_TABLE_NAME, DETRESIDEXP_INDEX_NAME, limit) < 0) { 17375 17345 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed %s bytes", MAX_STRING_LENGTH); 17376 17346 return false; … … 17385 17355 } 17386 17356 17387 bool detResidExp AnalysisSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)17357 bool detResidExpSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit) 17388 17358 { 17389 17359 psArray *rowSet; 17390 17360 psU64 i; 17391 17361 17392 rowSet = psDBSelectRows(dbh, DETRESIDEXP ANALYSIS_TABLE_NAME, where, limit);17362 rowSet = psDBSelectRows(dbh, DETRESIDEXP_TABLE_NAME, where, limit); 17393 17363 if (!rowSet) { 17394 17364 return false; … … 17397 17367 // strip index column 17398 17368 for (i = 0; i < rowSet->n; i++) { 17399 if (!psMetadataRemove((psMetadata *)rowSet->data[i], 0, DETRESIDEXP ANALYSIS_INDEX_NAME)) {17400 psError(PS_ERR_UNKNOWN, true, "failed to remove item %s", DETRESIDEXP ANALYSIS_INDEX_NAME);17369 if (!psMetadataRemove((psMetadata *)rowSet->data[i], 0, DETRESIDEXP_INDEX_NAME)) { 17370 psError(PS_ERR_UNKNOWN, true, "failed to remove item %s", DETRESIDEXP_INDEX_NAME); 17401 17371 psFree(rowSet); 17402 17372 return false; … … 17405 17375 17406 17376 // output to fits 17407 if (!psFitsWriteTable(fits, NULL, rowSet, DETRESIDEXP ANALYSIS_TABLE_NAME)) {17377 if (!psFitsWriteTable(fits, NULL, rowSet, DETRESIDEXP_TABLE_NAME)) { 17408 17378 psError(PS_ERR_UNKNOWN, false, "FITS table write failed"); 17409 17379 psFree(rowSet); … … 17416 17386 } 17417 17387 17418 psMetadata *detResidExp AnalysisMetadataFromObject(const detResidExpAnalysisRow *object)17388 psMetadata *detResidExpMetadataFromObject(const detResidExpRow *object) 17419 17389 { 17420 17390 psMetadata *md; … … 17455 17425 } 17456 17426 17457 detResidExp AnalysisRow *detResidExpAnalysisObjectFromMetadata(psMetadata *md)17427 detResidExpRow *detResidExpObjectFromMetadata(psMetadata *md) 17458 17428 { 17459 17429 bool status; … … 17496 17466 } 17497 17467 17498 return detResidExp AnalysisRowAlloc(det_id, iteration, exp_id, recipe, keep, accept);17499 } 17500 psArray *detResidExp AnalysisSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)17468 return detResidExpRowAlloc(det_id, iteration, exp_id, recipe, keep, accept); 17469 } 17470 psArray *detResidExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) 17501 17471 { 17502 17472 psArray *rowSet; … … 17504 17474 psU64 i; 17505 17475 17506 rowSet = psDBSelectRows(dbh, DETRESIDEXP ANALYSIS_TABLE_NAME, where, limit);17476 rowSet = psDBSelectRows(dbh, DETRESIDEXP_TABLE_NAME, where, limit); 17507 17477 if (!rowSet) { 17508 17478 return NULL; … … 17511 17481 // strip index column 17512 17482 for (i = 0; i < rowSet->n; i++) { 17513 if (!psMetadataRemove((psMetadata *)(rowSet->data[i]), 0, DETRESIDEXP ANALYSIS_INDEX_NAME)) {17514 psError(PS_ERR_UNKNOWN, true, "failed to remove item %s", DETRESIDEXP ANALYSIS_INDEX_NAME);17483 if (!psMetadataRemove((psMetadata *)(rowSet->data[i]), 0, DETRESIDEXP_INDEX_NAME)) { 17484 psError(PS_ERR_UNKNOWN, true, "failed to remove item %s", DETRESIDEXP_INDEX_NAME); 17515 17485 psFree(rowSet); 17516 17486 return false; … … 17524 17494 17525 17495 for (i = 0; i < rowSet->n; i++) { 17526 detResidExp AnalysisRow *object = detResidExpAnalysisObjectFromMetadata(rowSet->data[i]);17496 detResidExpRow *object = detResidExpObjectFromMetadata(rowSet->data[i]); 17527 17497 psArrayAdd(returnSet, 0, object); 17528 17498 psFree(object); … … 17533 17503 return returnSet; 17534 17504 } 17535 bool detResidExp AnalysisDeleteObject(psDB *dbh, const detResidExpAnalysisRow *object)17536 { 17537 psMetadata *where = detResidExp AnalysisMetadataFromObject(object);17538 long long count = psDBDeleteRows(dbh, DETRESIDEXP ANALYSIS_TABLE_NAME, where, 0);17505 bool detResidExpDeleteObject(psDB *dbh, const detResidExpRow *object) 17506 { 17507 psMetadata *where = detResidExpMetadataFromObject(object); 17508 long long count = psDBDeleteRows(dbh, DETRESIDEXP_TABLE_NAME, where, 0); 17539 17509 psFree(where) 17540 17510 if (count < 0) { 17541 psError(PS_ERR_UNKNOWN, true, "failed to delete row from detResidExp Analysis");17511 psError(PS_ERR_UNKNOWN, true, "failed to delete row from detResidExp"); 17542 17512 return false; 17543 17513 } … … 17545 17515 // XXX should this be a psAbort() instead? It is possible that 17546 17516 // having an object match multiple rows was by design. 17547 psError(PS_ERR_UNKNOWN, true, "detResidExp AnalysisRow object matched more then one row. Check your database schema");17548 return false; 17549 } 17550 17551 return true; 17552 } 17553 long long detResidExp AnalysisDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)17517 psError(PS_ERR_UNKNOWN, true, "detResidExpRow object matched more then one row. Check your database schema"); 17518 return false; 17519 } 17520 17521 return true; 17522 } 17523 long long detResidExpDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit) 17554 17524 { 17555 17525 long long deleted = 0; 17556 17526 17557 17527 for (long long i = 0; i < objects->n; i++) { 17558 detResidExp AnalysisRow *object = objects->data[i];17559 psMetadata *where = detResidExp AnalysisMetadataFromObject(object);17560 long long count = psDBDeleteRows(dbh, DETRESIDEXP ANALYSIS_TABLE_NAME, where, limit);17528 detResidExpRow *object = objects->data[i]; 17529 psMetadata *where = detResidExpMetadataFromObject(object); 17530 long long count = psDBDeleteRows(dbh, DETRESIDEXP_TABLE_NAME, where, limit); 17561 17531 psFree(where) 17562 17532 if (count < 0) { 17563 psError(PS_ERR_UNKNOWN, true, "failed to delete row from detResidExp Analysis");17533 psError(PS_ERR_UNKNOWN, true, "failed to delete row from detResidExp"); 17564 17534 return count; 17565 17535 } … … 17570 17540 return deleted; 17571 17541 } 17572 bool detResidExp AnalysisPrintObjects(FILE *stream, psArray *objects, bool mdcf)17542 bool detResidExpPrintObjects(FILE *stream, psArray *objects, bool mdcf) 17573 17543 { 17574 17544 PS_ASSERT_PTR_NON_NULL(objects, false); … … 17576 17546 psMetadata *output = psMetadataAlloc(); 17577 17547 for (long i = 0; i < psArrayLength(objects); i++) { 17578 psMetadata *md = detResidExp AnalysisMetadataFromObject(objects->data[i]);17548 psMetadata *md = detResidExpMetadataFromObject(objects->data[i]); 17579 17549 if (!psMetadataAddMetadata( 17580 17550 output, 17581 17551 PS_LIST_TAIL, 17582 DETRESIDEXP ANALYSIS_TABLE_NAME,17552 DETRESIDEXP_TABLE_NAME, 17583 17553 PS_META_DUPLICATE_OK, 17584 17554 NULL, -
trunk/ippdb/src/ippdb.h
r8368 r8380 6516 6516 char *class_id; 6517 6517 char *uri; 6518 char *recipe;6519 6518 } detNormalizedImfileRow; 6520 6519 … … 6528 6527 psS32 iteration, 6529 6528 const char *class_id, 6530 const char *uri, 6531 const char *recipe 6529 const char *uri 6532 6530 ); 6533 6531 … … 6562 6560 psS32 iteration, 6563 6561 const char *class_id, 6564 const char *uri, 6565 const char *recipe 6562 const char *uri 6566 6563 ); 6567 6564 … … 6587 6584 psS32 *iteration, 6588 6585 char **class_id, 6589 char **uri, 6590 char **recipe 6586 char **uri 6591 6587 ); 6592 6588 … … 7187 7183 bool mdcf ///< format as mdconfig or simple 7188 7184 ); 7189 /** detResidImfile AnalysisRow data structure7190 * 7191 * Structure for representing a single row of detResidImfile Analysistable data.7185 /** detResidImfileRow data structure 7186 * 7187 * Structure for representing a single row of detResidImfile table data. 7192 7188 */ 7193 7189 … … 7201 7197 char *b1_uri; 7202 7198 char *b2_uri; 7203 } detResidImfile AnalysisRow;7204 7205 /** Creates a new detResidImfile AnalysisRow object7206 * 7207 * @return A new detResidImfile AnalysisRow object or NULL on failure.7208 */ 7209 7210 detResidImfile AnalysisRow *detResidImfileAnalysisRowAlloc(7199 } detResidImfileRow; 7200 7201 /** Creates a new detResidImfileRow object 7202 * 7203 * @return A new detResidImfileRow object or NULL on failure. 7204 */ 7205 7206 detResidImfileRow *detResidImfileRowAlloc( 7211 7207 psS32 det_id, 7212 7208 psS32 iteration, … … 7219 7215 ); 7220 7216 7221 /** Creates a new detResidImfile Analysistable7222 * 7223 * @return true on success 7224 */ 7225 7226 bool detResidImfile AnalysisCreateTable(7227 psDB *dbh ///< Database handle 7228 ); 7229 7230 /** Deletes a detResidImfile Analysistable7231 * 7232 * @return true on success 7233 */ 7234 7235 bool detResidImfile AnalysisDropTable(7217 /** Creates a new detResidImfile table 7218 * 7219 * @return true on success 7220 */ 7221 7222 bool detResidImfileCreateTable( 7223 psDB *dbh ///< Database handle 7224 ); 7225 7226 /** Deletes a detResidImfile table 7227 * 7228 * @return true on success 7229 */ 7230 7231 bool detResidImfileDropTable( 7236 7232 psDB *dbh ///< Database handle 7237 7233 ); … … 7244 7240 */ 7245 7241 7246 bool detResidImfile AnalysisInsert(7242 bool detResidImfileInsert( 7247 7243 psDB *dbh, ///< Database handle 7248 7244 psS32 det_id, … … 7261 7257 */ 7262 7258 7263 long long detResidImfile AnalysisDelete(7259 long long detResidImfileDelete( 7264 7260 psDB *dbh, ///< Database handle 7265 7261 const psMetadata *where, ///< Row match criteria … … 7272 7268 */ 7273 7269 7274 bool detResidImfile AnalysisPop(7270 bool detResidImfilePop( 7275 7271 psDB *dbh, ///< Database handle 7276 7272 psS32 *det_id, … … 7284 7280 ); 7285 7281 7286 /** Insert a single detResidImfile AnalysisRow object into a table7282 /** Insert a single detResidImfileRow object into a table 7287 7283 * 7288 7284 * This function constructs and inserts a single row based on it's parameters. … … 7291 7287 */ 7292 7288 7293 bool detResidImfile AnalysisInsertObject(7294 psDB *dbh, ///< Database handle 7295 detResidImfile AnalysisRow *object ///< detResidImfileAnalysisRow object7296 ); 7297 7298 /** Insert an array of detResidImfile AnalysisRow object into a table7289 bool detResidImfileInsertObject( 7290 psDB *dbh, ///< Database handle 7291 detResidImfileRow *object ///< detResidImfileRow object 7292 ); 7293 7294 /** Insert an array of detResidImfileRow object into a table 7299 7295 * 7300 7296 * This function constructs and inserts multiple rows based on it's parameters. … … 7303 7299 */ 7304 7300 7305 bool detResidImfile AnalysisInsertObjects(7306 psDB *dbh, ///< Database handle 7307 psArray *objects ///< array of detResidImfile AnalysisRow objects7301 bool detResidImfileInsertObjects( 7302 psDB *dbh, ///< Database handle 7303 psArray *objects ///< array of detResidImfileRow objects 7308 7304 ); 7309 7305 7310 7306 /** Removes the last row from the database and returns it 7311 7307 * 7312 * @return A new detResidImfile AnalysisRow on success or NULL on failure.7313 */ 7314 7315 detResidImfile AnalysisRow *detResidImfileAnalysisPopObject(7316 psDB *dbh ///< Database handle 7317 ); 7318 7319 /** Insert data from a binary FITS table detResidImfile AnalysisRow into the database7308 * @return A new detResidImfileRow on success or NULL on failure. 7309 */ 7310 7311 detResidImfileRow *detResidImfilePopObject( 7312 psDB *dbh ///< Database handle 7313 ); 7314 7315 /** Insert data from a binary FITS table detResidImfileRow into the database 7320 7316 * 7321 7317 * This function expects a psFits object with a FITS table as the first … … 7327 7323 */ 7328 7324 7329 bool detResidImfile AnalysisInsertFits(7325 bool detResidImfileInsertFits( 7330 7326 psDB *dbh, ///< Database handle 7331 7327 const psFits *fits ///< psFits object … … 7340 7336 */ 7341 7337 7342 bool detResidImfile AnalysisPopFits(7338 bool detResidImfilePopFits( 7343 7339 psDB *dbh, ///< Database handle 7344 7340 psFits *fits, ///< psFits object … … 7356 7352 */ 7357 7353 7358 bool detResidImfile AnalysisSelectRowsFits(7354 bool detResidImfileSelectRowsFits( 7359 7355 psDB *dbh, ///< Database handle 7360 7356 psFits *fits, ///< psFits object … … 7363 7359 ); 7364 7360 7365 /** Convert a detResidImfile AnalysisRow into an equivalent psMetadata7361 /** Convert a detResidImfileRow into an equivalent psMetadata 7366 7362 * 7367 7363 * @return A psMetadata pointer or NULL on error 7368 7364 */ 7369 7365 7370 psMetadata *detResidImfile AnalysisMetadataFromObject(7371 const detResidImfile AnalysisRow *object ///< fooRow to convert into a psMetadata7366 psMetadata *detResidImfileMetadataFromObject( 7367 const detResidImfileRow *object ///< fooRow to convert into a psMetadata 7372 7368 ); 7373 7369 7374 7370 /** Convert a psMetadata into an equivalent fooRow 7375 7371 * 7376 * @return A detResidImfile AnalysisRow pointer or NULL on error7377 */ 7378 7379 detResidImfile AnalysisRow *detResidImfileAnalysisObjectFromMetadata(7372 * @return A detResidImfileRow pointer or NULL on error 7373 */ 7374 7375 detResidImfileRow *detResidImfileObjectFromMetadata( 7380 7376 psMetadata *md ///< psMetadata to convert into a fooRow 7381 7377 ); 7382 /** Selects up to limit rows from the database and returns as detResidImfile AnalysisRow objects in a psArray7378 /** Selects up to limit rows from the database and returns as detResidImfileRow objects in a psArray 7383 7379 * 7384 7380 * See psDBSelectRows() for documentation on the format of where. … … 7387 7383 */ 7388 7384 7389 psArray *detResidImfile AnalysisSelectRowObjects(7390 psDB *dbh, ///< Database handle 7391 const psMetadata *where, ///< Row match criteria 7392 unsigned long long limit ///< Maximum number of elements to return 7393 ); 7394 /** Deletes a row from the database coresponding to an detResidImfile Analysis7385 psArray *detResidImfileSelectRowObjects( 7386 psDB *dbh, ///< Database handle 7387 const psMetadata *where, ///< Row match criteria 7388 unsigned long long limit ///< Maximum number of elements to return 7389 ); 7390 /** Deletes a row from the database coresponding to an detResidImfile 7395 7391 * 7396 7392 * Note that a 'where' search psMetadata is constructed from each object and … … 7400 7396 */ 7401 7397 7402 bool detResidImfile AnalysisDeleteObject(7403 psDB *dbh, ///< Database handle 7404 const detResidImfile AnalysisRow *object ///< Object to delete7398 bool detResidImfileDeleteObject( 7399 psDB *dbh, ///< Database handle 7400 const detResidImfileRow *object ///< Object to delete 7405 7401 ); 7406 7402 /** Deletes up to limit rows from the database and returns the number of rows actually deleted. … … 7412 7408 */ 7413 7409 7414 long long detResidImfile AnalysisDeleteRowObjects(7410 long long detResidImfileDeleteRowObjects( 7415 7411 psDB *dbh, ///< Database handle 7416 7412 const psArray *objects, ///< Array of objects to delete 7417 7413 unsigned long long limit ///< Maximum number of elements to delete 7418 7414 ); 7419 /** Formats and prints an array of detResidImfile AnalysisRow objects7415 /** Formats and prints an array of detResidImfileRow objects 7420 7416 * 7421 7417 * When mdcf is set the formated output is in psMetadataConfig … … 7425 7421 */ 7426 7422 7427 bool detResidImfile AnalysisPrintObjects(7423 bool detResidImfilePrintObjects( 7428 7424 FILE *stream, ///< a stream 7429 psArray *objects, ///< An array of detResidImfile AnalysisRow objects7425 psArray *objects, ///< An array of detResidImfileRow objects 7430 7426 bool mdcf ///< format as mdconfig or simple 7431 7427 ); 7432 /** detResidExp AnalysisRow data structure7433 * 7434 * Structure for representing a single row of detResidExp Analysistable data.7428 /** detResidExpRow data structure 7429 * 7430 * Structure for representing a single row of detResidExp table data. 7435 7431 */ 7436 7432 … … 7442 7438 bool keep; 7443 7439 bool accept; 7444 } detResidExp AnalysisRow;7445 7446 /** Creates a new detResidExp AnalysisRow object7447 * 7448 * @return A new detResidExp AnalysisRow object or NULL on failure.7449 */ 7450 7451 detResidExp AnalysisRow *detResidExpAnalysisRowAlloc(7440 } detResidExpRow; 7441 7442 /** Creates a new detResidExpRow object 7443 * 7444 * @return A new detResidExpRow object or NULL on failure. 7445 */ 7446 7447 detResidExpRow *detResidExpRowAlloc( 7452 7448 psS32 det_id, 7453 7449 psS32 iteration, … … 7458 7454 ); 7459 7455 7460 /** Creates a new detResidExp Analysistable7461 * 7462 * @return true on success 7463 */ 7464 7465 bool detResidExp AnalysisCreateTable(7466 psDB *dbh ///< Database handle 7467 ); 7468 7469 /** Deletes a detResidExp Analysistable7470 * 7471 * @return true on success 7472 */ 7473 7474 bool detResidExp AnalysisDropTable(7456 /** Creates a new detResidExp table 7457 * 7458 * @return true on success 7459 */ 7460 7461 bool detResidExpCreateTable( 7462 psDB *dbh ///< Database handle 7463 ); 7464 7465 /** Deletes a detResidExp table 7466 * 7467 * @return true on success 7468 */ 7469 7470 bool detResidExpDropTable( 7475 7471 psDB *dbh ///< Database handle 7476 7472 ); … … 7483 7479 */ 7484 7480 7485 bool detResidExp AnalysisInsert(7481 bool detResidExpInsert( 7486 7482 psDB *dbh, ///< Database handle 7487 7483 psS32 det_id, … … 7498 7494 */ 7499 7495 7500 long long detResidExp AnalysisDelete(7496 long long detResidExpDelete( 7501 7497 psDB *dbh, ///< Database handle 7502 7498 const psMetadata *where, ///< Row match criteria … … 7509 7505 */ 7510 7506 7511 bool detResidExp AnalysisPop(7507 bool detResidExpPop( 7512 7508 psDB *dbh, ///< Database handle 7513 7509 psS32 *det_id, … … 7519 7515 ); 7520 7516 7521 /** Insert a single detResidExp AnalysisRow object into a table7517 /** Insert a single detResidExpRow object into a table 7522 7518 * 7523 7519 * This function constructs and inserts a single row based on it's parameters. … … 7526 7522 */ 7527 7523 7528 bool detResidExp AnalysisInsertObject(7529 psDB *dbh, ///< Database handle 7530 detResidExp AnalysisRow *object ///< detResidExpAnalysisRow object7531 ); 7532 7533 /** Insert an array of detResidExp AnalysisRow object into a table7524 bool detResidExpInsertObject( 7525 psDB *dbh, ///< Database handle 7526 detResidExpRow *object ///< detResidExpRow object 7527 ); 7528 7529 /** Insert an array of detResidExpRow object into a table 7534 7530 * 7535 7531 * This function constructs and inserts multiple rows based on it's parameters. … … 7538 7534 */ 7539 7535 7540 bool detResidExp AnalysisInsertObjects(7541 psDB *dbh, ///< Database handle 7542 psArray *objects ///< array of detResidExp AnalysisRow objects7536 bool detResidExpInsertObjects( 7537 psDB *dbh, ///< Database handle 7538 psArray *objects ///< array of detResidExpRow objects 7543 7539 ); 7544 7540 7545 7541 /** Removes the last row from the database and returns it 7546 7542 * 7547 * @return A new detResidExp AnalysisRow on success or NULL on failure.7548 */ 7549 7550 detResidExp AnalysisRow *detResidExpAnalysisPopObject(7551 psDB *dbh ///< Database handle 7552 ); 7553 7554 /** Insert data from a binary FITS table detResidExp AnalysisRow into the database7543 * @return A new detResidExpRow on success or NULL on failure. 7544 */ 7545 7546 detResidExpRow *detResidExpPopObject( 7547 psDB *dbh ///< Database handle 7548 ); 7549 7550 /** Insert data from a binary FITS table detResidExpRow into the database 7555 7551 * 7556 7552 * This function expects a psFits object with a FITS table as the first … … 7562 7558 */ 7563 7559 7564 bool detResidExp AnalysisInsertFits(7560 bool detResidExpInsertFits( 7565 7561 psDB *dbh, ///< Database handle 7566 7562 const psFits *fits ///< psFits object … … 7575 7571 */ 7576 7572 7577 bool detResidExp AnalysisPopFits(7573 bool detResidExpPopFits( 7578 7574 psDB *dbh, ///< Database handle 7579 7575 psFits *fits, ///< psFits object … … 7591 7587 */ 7592 7588 7593 bool detResidExp AnalysisSelectRowsFits(7589 bool detResidExpSelectRowsFits( 7594 7590 psDB *dbh, ///< Database handle 7595 7591 psFits *fits, ///< psFits object … … 7598 7594 ); 7599 7595 7600 /** Convert a detResidExp AnalysisRow into an equivalent psMetadata7596 /** Convert a detResidExpRow into an equivalent psMetadata 7601 7597 * 7602 7598 * @return A psMetadata pointer or NULL on error 7603 7599 */ 7604 7600 7605 psMetadata *detResidExp AnalysisMetadataFromObject(7606 const detResidExp AnalysisRow *object ///< fooRow to convert into a psMetadata7601 psMetadata *detResidExpMetadataFromObject( 7602 const detResidExpRow *object ///< fooRow to convert into a psMetadata 7607 7603 ); 7608 7604 7609 7605 /** Convert a psMetadata into an equivalent fooRow 7610 7606 * 7611 * @return A detResidExp AnalysisRow pointer or NULL on error7612 */ 7613 7614 detResidExp AnalysisRow *detResidExpAnalysisObjectFromMetadata(7607 * @return A detResidExpRow pointer or NULL on error 7608 */ 7609 7610 detResidExpRow *detResidExpObjectFromMetadata( 7615 7611 psMetadata *md ///< psMetadata to convert into a fooRow 7616 7612 ); 7617 /** Selects up to limit rows from the database and returns as detResidExp AnalysisRow objects in a psArray7613 /** Selects up to limit rows from the database and returns as detResidExpRow objects in a psArray 7618 7614 * 7619 7615 * See psDBSelectRows() for documentation on the format of where. … … 7622 7618 */ 7623 7619 7624 psArray *detResidExp AnalysisSelectRowObjects(7625 psDB *dbh, ///< Database handle 7626 const psMetadata *where, ///< Row match criteria 7627 unsigned long long limit ///< Maximum number of elements to return 7628 ); 7629 /** Deletes a row from the database coresponding to an detResidExp Analysis7620 psArray *detResidExpSelectRowObjects( 7621 psDB *dbh, ///< Database handle 7622 const psMetadata *where, ///< Row match criteria 7623 unsigned long long limit ///< Maximum number of elements to return 7624 ); 7625 /** Deletes a row from the database coresponding to an detResidExp 7630 7626 * 7631 7627 * Note that a 'where' search psMetadata is constructed from each object and … … 7635 7631 */ 7636 7632 7637 bool detResidExp AnalysisDeleteObject(7638 psDB *dbh, ///< Database handle 7639 const detResidExp AnalysisRow *object ///< Object to delete7633 bool detResidExpDeleteObject( 7634 psDB *dbh, ///< Database handle 7635 const detResidExpRow *object ///< Object to delete 7640 7636 ); 7641 7637 /** Deletes up to limit rows from the database and returns the number of rows actually deleted. … … 7647 7643 */ 7648 7644 7649 long long detResidExp AnalysisDeleteRowObjects(7645 long long detResidExpDeleteRowObjects( 7650 7646 psDB *dbh, ///< Database handle 7651 7647 const psArray *objects, ///< Array of objects to delete 7652 7648 unsigned long long limit ///< Maximum number of elements to delete 7653 7649 ); 7654 /** Formats and prints an array of detResidExp AnalysisRow objects7650 /** Formats and prints an array of detResidExpRow objects 7655 7651 * 7656 7652 * When mdcf is set the formated output is in psMetadataConfig … … 7660 7656 */ 7661 7657 7662 bool detResidExp AnalysisPrintObjects(7658 bool detResidExpPrintObjects( 7663 7659 FILE *stream, ///< a stream 7664 psArray *objects, ///< An array of detResidExp AnalysisRow objects7660 psArray *objects, ///< An array of detResidExpRow objects 7665 7661 bool mdcf ///< format as mdconfig or simple 7666 7662 ); … … 7672 7668 #endif 7673 7669 7674 #endif // DETRESIDEXP ANALYSIS_DB_H7670 #endif // DETRESIDEXP_DB_H -
trunk/ippdb/tests/alloc.c
r8368 r8380 1073 1073 detNormalizedImfileRow *object; 1074 1074 1075 object = detNormalizedImfileRowAlloc(-32, -32, "a string", "a string" , "a string");1075 object = detNormalizedImfileRowAlloc(-32, -32, "a string", "a string" ); 1076 1076 1077 1077 if (!object) { … … 1095 1095 exit(EXIT_FAILURE); 1096 1096 } 1097 1098 psFree(object); 1099 } 1100 1101 { 1102 detMasterFrameRow *object; 1103 1104 object = detMasterFrameRowAlloc(-32, -32, "a string" ); 1105 1106 if (!object) { 1107 exit(EXIT_FAILURE); 1108 } 1109 1110 if (!object->det_id == -32) { 1111 psFree(object); 1112 exit(EXIT_FAILURE); 1113 } 1114 if (!object->iteration == -32) { 1115 psFree(object); 1116 exit(EXIT_FAILURE); 1117 } 1118 if (strncmp(object->comment, "a string", MAX_STRING_LENGTH)) { 1119 psFree(object); 1120 exit(EXIT_FAILURE); 1121 } 1122 1123 psFree(object); 1124 } 1125 1126 { 1127 detMasterImfileRow *object; 1128 1129 object = detMasterImfileRowAlloc(-32, "a string", "a string", "a string" ); 1130 1131 if (!object) { 1132 exit(EXIT_FAILURE); 1133 } 1134 1135 if (!object->det_id == -32) { 1136 psFree(object); 1137 exit(EXIT_FAILURE); 1138 } 1139 if (strncmp(object->class_id, "a string", MAX_STRING_LENGTH)) { 1140 psFree(object); 1141 exit(EXIT_FAILURE); 1142 } 1143 if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) { 1144 psFree(object); 1145 exit(EXIT_FAILURE); 1146 } 1097 1147 if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) { 1098 1148 psFree(object); … … 1104 1154 1105 1155 { 1106 det MasterFrameRow *object;1107 1108 object = det MasterFrameRowAlloc(-32, -32, "a string" );1156 detResidImfileRow *object; 1157 1158 object = detResidImfileRowAlloc(-32, -32, "a string", "a string", "a string", "a string", "a string", "a string" ); 1109 1159 1110 1160 if (!object) { … … 1120 1170 exit(EXIT_FAILURE); 1121 1171 } 1122 if (strncmp(object->comment, "a string", MAX_STRING_LENGTH)) { 1123 psFree(object); 1124 exit(EXIT_FAILURE); 1125 } 1126 1127 psFree(object); 1128 } 1129 1130 { 1131 detMasterImfileRow *object; 1132 1133 object = detMasterImfileRowAlloc(-32, "a string", "a string", "a string" ); 1134 1135 if (!object) { 1136 exit(EXIT_FAILURE); 1137 } 1138 1139 if (!object->det_id == -32) { 1172 if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) { 1140 1173 psFree(object); 1141 1174 exit(EXIT_FAILURE); … … 1145 1178 exit(EXIT_FAILURE); 1146 1179 } 1180 if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) { 1181 psFree(object); 1182 exit(EXIT_FAILURE); 1183 } 1147 1184 if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) { 1148 1185 psFree(object); 1149 1186 exit(EXIT_FAILURE); 1150 1187 } 1151 if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) {1152 psFree(object);1153 exit(EXIT_FAILURE);1154 }1155 1156 psFree(object);1157 }1158 1159 {1160 detResidImfileAnalysisRow *object;1161 1162 object = detResidImfileAnalysisRowAlloc(-32, -32, "a string", "a string", "a string", "a string", "a string", "a string" );1163 1164 if (!object) {1165 exit(EXIT_FAILURE);1166 }1167 1168 if (!object->det_id == -32) {1169 psFree(object);1170 exit(EXIT_FAILURE);1171 }1172 if (!object->iteration == -32) {1173 psFree(object);1174 exit(EXIT_FAILURE);1175 }1176 if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {1177 psFree(object);1178 exit(EXIT_FAILURE);1179 }1180 if (strncmp(object->class_id, "a string", MAX_STRING_LENGTH)) {1181 psFree(object);1182 exit(EXIT_FAILURE);1183 }1184 if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) {1185 psFree(object);1186 exit(EXIT_FAILURE);1187 }1188 if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) {1189 psFree(object);1190 exit(EXIT_FAILURE);1191 }1192 1188 if (strncmp(object->b1_uri, "a string", MAX_STRING_LENGTH)) { 1193 1189 psFree(object); … … 1203 1199 1204 1200 { 1205 detResidExp AnalysisRow*object;1206 1207 object = detResidExp AnalysisRowAlloc(-32, -32, "a string", "a string", true, true );1201 detResidExpRow *object; 1202 1203 object = detResidExpRowAlloc(-32, -32, "a string", "a string", true, true ); 1208 1204 1209 1205 if (!object) { -
trunk/ippdb/tests/createtable.c
r8368 r8380 463 463 } 464 464 465 if(!detResidImfile AnalysisCreateTable(dbh)) {466 exit(EXIT_FAILURE); 467 } 468 469 psDBCleanup(dbh); 470 } 471 472 { 473 psDB *dbh; 474 475 dbh = psDBInit("localhost", "test", NULL, "test"); 476 if (!dbh) { 477 exit(EXIT_FAILURE); 478 } 479 480 if(!detResidExp AnalysisCreateTable(dbh)) {465 if(!detResidImfileCreateTable(dbh)) { 466 exit(EXIT_FAILURE); 467 } 468 469 psDBCleanup(dbh); 470 } 471 472 { 473 psDB *dbh; 474 475 dbh = psDBInit("localhost", "test", NULL, "test"); 476 if (!dbh) { 477 exit(EXIT_FAILURE); 478 } 479 480 if(!detResidExpCreateTable(dbh)) { 481 481 exit(EXIT_FAILURE); 482 482 } -
trunk/ippdb/tests/dbcleanup.c
r8368 r8380 41 41 p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS detMasterFrame"); 42 42 p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS detMasterImfile"); 43 p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS detResidImfile Analysis");44 p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS detResidExp Analysis");43 p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS detResidImfile"); 44 p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS detResidExp"); 45 45 46 46 psDBCleanup(dbh); -
trunk/ippdb/tests/dbsetup.c
r8368 r8380 103 103 detMasterImfileCreateTable(dbh); 104 104 105 p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS detResidImfile Analysis");106 detResidImfile AnalysisCreateTable(dbh);105 p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS detResidImfile"); 106 detResidImfileCreateTable(dbh); 107 107 108 p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS detResidExp Analysis");109 detResidExp AnalysisCreateTable(dbh);108 p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS detResidExp"); 109 detResidExpCreateTable(dbh); 110 110 111 111 psDBCleanup(dbh); -
trunk/ippdb/tests/droptable.c
r8368 r8380 463 463 } 464 464 465 if (!detResidImfile AnalysisDropTable(dbh)) {466 exit(EXIT_FAILURE); 467 } 468 469 psDBCleanup(dbh); 470 } 471 472 { 473 psDB *dbh; 474 475 dbh = psDBInit("localhost", "test", NULL, "test"); 476 if (!dbh) { 477 exit(EXIT_FAILURE); 478 } 479 480 if (!detResidExp AnalysisDropTable(dbh)) {465 if (!detResidImfileDropTable(dbh)) { 466 exit(EXIT_FAILURE); 467 } 468 469 psDBCleanup(dbh); 470 } 471 472 { 473 psDB *dbh; 474 475 dbh = psDBInit("localhost", "test", NULL, "test"); 476 if (!dbh) { 477 exit(EXIT_FAILURE); 478 } 479 480 if (!detResidExpDropTable(dbh)) { 481 481 exit(EXIT_FAILURE); 482 482 } -
trunk/ippdb/tests/insert.c
r8368 r8380 418 418 } 419 419 420 if (!detNormalizedImfileInsert(dbh, -32, -32, "a string", "a string" , "a string")) {420 if (!detNormalizedImfileInsert(dbh, -32, -32, "a string", "a string")) { 421 421 exit(EXIT_FAILURE); 422 422 } … … 463 463 } 464 464 465 if (!detResidImfile AnalysisInsert(dbh, -32, -32, "a string", "a string", "a string", "a string", "a string", "a string")) {466 exit(EXIT_FAILURE); 467 } 468 469 psDBCleanup(dbh); 470 } 471 472 { 473 psDB *dbh; 474 475 dbh = psDBInit("localhost", "test", NULL, "test"); 476 if (!dbh) { 477 exit(EXIT_FAILURE); 478 } 479 480 if (!detResidExp AnalysisInsert(dbh, -32, -32, "a string", "a string", true, true)) {465 if (!detResidImfileInsert(dbh, -32, -32, "a string", "a string", "a string", "a string", "a string", "a string")) { 466 exit(EXIT_FAILURE); 467 } 468 469 psDBCleanup(dbh); 470 } 471 472 { 473 psDB *dbh; 474 475 dbh = psDBInit("localhost", "test", NULL, "test"); 476 if (!dbh) { 477 exit(EXIT_FAILURE); 478 } 479 480 if (!detResidExpInsert(dbh, -32, -32, "a string", "a string", true, true)) { 481 481 exit(EXIT_FAILURE); 482 482 } -
trunk/ippdb/tests/insertfits.c
r8368 r8380 804 804 } 805 805 806 if (!detResidImfile AnalysisInsertFits(dbh, fits)) {807 exit(EXIT_FAILURE); 808 } 809 810 if (!psFitsClose(fits)) { 811 exit(EXIT_FAILURE); 812 } 813 814 psDBCleanup(dbh); 815 } 816 817 { 818 psDB *dbh; 819 psFits *fits; 820 821 dbh = psDBInit("localhost", "test", NULL, "test"); 822 if (!dbh) { 823 exit(EXIT_FAILURE); 824 } 825 826 // open a temp 827 fits = psFitsOpen(TMP_FILENAME, "r"); 828 if (!fits) { 829 exit(EXIT_FAILURE); 830 } 831 832 if (!detResidExp AnalysisInsertFits(dbh, fits)) {806 if (!detResidImfileInsertFits(dbh, fits)) { 807 exit(EXIT_FAILURE); 808 } 809 810 if (!psFitsClose(fits)) { 811 exit(EXIT_FAILURE); 812 } 813 814 psDBCleanup(dbh); 815 } 816 817 { 818 psDB *dbh; 819 psFits *fits; 820 821 dbh = psDBInit("localhost", "test", NULL, "test"); 822 if (!dbh) { 823 exit(EXIT_FAILURE); 824 } 825 826 // open a temp 827 fits = psFitsOpen(TMP_FILENAME, "r"); 828 if (!fits) { 829 exit(EXIT_FAILURE); 830 } 831 832 if (!detResidExpInsertFits(dbh, fits)) { 833 833 exit(EXIT_FAILURE); 834 834 } -
trunk/ippdb/tests/insertobject.c
r8368 r8380 608 608 } 609 609 610 object = detNormalizedImfileRowAlloc(-32, -32, "a string", "a string" , "a string");610 object = detNormalizedImfileRowAlloc(-32, -32, "a string", "a string"); 611 611 if (!object) { 612 612 exit(EXIT_FAILURE); … … 667 667 { 668 668 psDB *dbh; 669 detResidImfile AnalysisRow *object;670 671 dbh = psDBInit("localhost", "test", NULL, "test"); 672 if (!dbh) { 673 exit(EXIT_FAILURE); 674 } 675 676 object = detResidImfile AnalysisRowAlloc(-32, -32, "a string", "a string", "a string", "a string", "a string", "a string");677 if (!object) { 678 exit(EXIT_FAILURE); 679 } 680 681 if (!detResidImfile AnalysisInsertObject(dbh, object)) {682 exit(EXIT_FAILURE); 683 } 684 685 psFree(object); 686 psDBCleanup(dbh); 687 } 688 689 { 690 psDB *dbh; 691 detResidExp AnalysisRow*object;692 693 dbh = psDBInit("localhost", "test", NULL, "test"); 694 if (!dbh) { 695 exit(EXIT_FAILURE); 696 } 697 698 object = detResidExp AnalysisRowAlloc(-32, -32, "a string", "a string", true, true);699 if (!object) { 700 exit(EXIT_FAILURE); 701 } 702 703 if (!detResidExp AnalysisInsertObject(dbh, object)) {669 detResidImfileRow *object; 670 671 dbh = psDBInit("localhost", "test", NULL, "test"); 672 if (!dbh) { 673 exit(EXIT_FAILURE); 674 } 675 676 object = detResidImfileRowAlloc(-32, -32, "a string", "a string", "a string", "a string", "a string", "a string"); 677 if (!object) { 678 exit(EXIT_FAILURE); 679 } 680 681 if (!detResidImfileInsertObject(dbh, object)) { 682 exit(EXIT_FAILURE); 683 } 684 685 psFree(object); 686 psDBCleanup(dbh); 687 } 688 689 { 690 psDB *dbh; 691 detResidExpRow *object; 692 693 dbh = psDBInit("localhost", "test", NULL, "test"); 694 if (!dbh) { 695 exit(EXIT_FAILURE); 696 } 697 698 object = detResidExpRowAlloc(-32, -32, "a string", "a string", true, true); 699 if (!object) { 700 exit(EXIT_FAILURE); 701 } 702 703 if (!detResidExpInsertObject(dbh, object)) { 704 704 exit(EXIT_FAILURE); 705 705 } -
trunk/ippdb/tests/metadatafromobject.c
r8368 r8380 1292 1292 bool status; 1293 1293 1294 object = detNormalizedImfileRowAlloc(-32, -32, "a string", "a string" , "a string");1294 object = detNormalizedImfileRowAlloc(-32, -32, "a string", "a string"); 1295 1295 if (!object) { 1296 1296 exit(EXIT_FAILURE); … … 1320 1320 exit(EXIT_FAILURE); 1321 1321 } 1322 1323 psFree(md); 1324 } 1325 1326 { 1327 psMetadata *md; 1328 detMasterFrameRow *object; 1329 bool status; 1330 1331 object = detMasterFrameRowAlloc(-32, -32, "a string"); 1332 if (!object) { 1333 exit(EXIT_FAILURE); 1334 } 1335 1336 md = detMasterFrameMetadataFromObject(object); 1337 if (!md) { 1338 exit(EXIT_FAILURE); 1339 } 1340 1341 psFree(object); 1342 1343 if (!psMetadataLookupS32(&status, md, "det_id") == -32) { 1344 psFree(md); 1345 exit(EXIT_FAILURE); 1346 } 1347 if (!psMetadataLookupS32(&status, md, "iteration") == -32) { 1348 psFree(md); 1349 exit(EXIT_FAILURE); 1350 } 1351 if (strncmp(psMetadataLookupPtr(&status, md, "comment"), "a string", MAX_STRING_LENGTH)) { 1352 psFree(md); 1353 exit(EXIT_FAILURE); 1354 } 1355 1356 psFree(md); 1357 } 1358 1359 { 1360 psMetadata *md; 1361 detMasterImfileRow *object; 1362 bool status; 1363 1364 object = detMasterImfileRowAlloc(-32, "a string", "a string", "a string"); 1365 if (!object) { 1366 exit(EXIT_FAILURE); 1367 } 1368 1369 md = detMasterImfileMetadataFromObject(object); 1370 if (!md) { 1371 exit(EXIT_FAILURE); 1372 } 1373 1374 psFree(object); 1375 1376 if (!psMetadataLookupS32(&status, md, "det_id") == -32) { 1377 psFree(md); 1378 exit(EXIT_FAILURE); 1379 } 1380 if (strncmp(psMetadataLookupPtr(&status, md, "class_id"), "a string", MAX_STRING_LENGTH)) { 1381 psFree(md); 1382 exit(EXIT_FAILURE); 1383 } 1384 if (strncmp(psMetadataLookupPtr(&status, md, "uri"), "a string", MAX_STRING_LENGTH)) { 1385 psFree(md); 1386 exit(EXIT_FAILURE); 1387 } 1322 1388 if (strncmp(psMetadataLookupPtr(&status, md, "recipe"), "a string", MAX_STRING_LENGTH)) { 1323 1389 psFree(md); … … 1330 1396 { 1331 1397 psMetadata *md; 1332 det MasterFrameRow *object;1333 bool status; 1334 1335 object = det MasterFrameRowAlloc(-32, -32, "a string");1336 if (!object) { 1337 exit(EXIT_FAILURE); 1338 } 1339 1340 md = det MasterFrameMetadataFromObject(object);1398 detResidImfileRow *object; 1399 bool status; 1400 1401 object = detResidImfileRowAlloc(-32, -32, "a string", "a string", "a string", "a string", "a string", "a string"); 1402 if (!object) { 1403 exit(EXIT_FAILURE); 1404 } 1405 1406 md = detResidImfileMetadataFromObject(object); 1341 1407 if (!md) { 1342 1408 exit(EXIT_FAILURE); … … 1353 1419 exit(EXIT_FAILURE); 1354 1420 } 1355 if (strncmp(psMetadataLookupPtr(&status, md, "comment"), "a string", MAX_STRING_LENGTH)) { 1356 psFree(md); 1357 exit(EXIT_FAILURE); 1358 } 1359 1360 psFree(md); 1361 } 1362 1363 { 1364 psMetadata *md; 1365 detMasterImfileRow *object; 1366 bool status; 1367 1368 object = detMasterImfileRowAlloc(-32, "a string", "a string", "a string"); 1369 if (!object) { 1370 exit(EXIT_FAILURE); 1371 } 1372 1373 md = detMasterImfileMetadataFromObject(object); 1374 if (!md) { 1375 exit(EXIT_FAILURE); 1376 } 1377 1378 psFree(object); 1379 1380 if (!psMetadataLookupS32(&status, md, "det_id") == -32) { 1421 if (strncmp(psMetadataLookupPtr(&status, md, "exp_id"), "a string", MAX_STRING_LENGTH)) { 1381 1422 psFree(md); 1382 1423 exit(EXIT_FAILURE); … … 1386 1427 exit(EXIT_FAILURE); 1387 1428 } 1429 if (strncmp(psMetadataLookupPtr(&status, md, "recipe"), "a string", MAX_STRING_LENGTH)) { 1430 psFree(md); 1431 exit(EXIT_FAILURE); 1432 } 1388 1433 if (strncmp(psMetadataLookupPtr(&status, md, "uri"), "a string", MAX_STRING_LENGTH)) { 1389 1434 psFree(md); 1390 1435 exit(EXIT_FAILURE); 1391 1436 } 1392 if (strncmp(psMetadataLookupPtr(&status, md, "recipe"), "a string", MAX_STRING_LENGTH)) {1393 psFree(md);1394 exit(EXIT_FAILURE);1395 }1396 1397 psFree(md);1398 }1399 1400 {1401 psMetadata *md;1402 detResidImfileAnalysisRow *object;1403 bool status;1404 1405 object = detResidImfileAnalysisRowAlloc(-32, -32, "a string", "a string", "a string", "a string", "a string", "a string");1406 if (!object) {1407 exit(EXIT_FAILURE);1408 }1409 1410 md = detResidImfileAnalysisMetadataFromObject(object);1411 if (!md) {1412 exit(EXIT_FAILURE);1413 }1414 1415 psFree(object);1416 1417 if (!psMetadataLookupS32(&status, md, "det_id") == -32) {1418 psFree(md);1419 exit(EXIT_FAILURE);1420 }1421 if (!psMetadataLookupS32(&status, md, "iteration") == -32) {1422 psFree(md);1423 exit(EXIT_FAILURE);1424 }1425 if (strncmp(psMetadataLookupPtr(&status, md, "exp_id"), "a string", MAX_STRING_LENGTH)) {1426 psFree(md);1427 exit(EXIT_FAILURE);1428 }1429 if (strncmp(psMetadataLookupPtr(&status, md, "class_id"), "a string", MAX_STRING_LENGTH)) {1430 psFree(md);1431 exit(EXIT_FAILURE);1432 }1433 if (strncmp(psMetadataLookupPtr(&status, md, "recipe"), "a string", MAX_STRING_LENGTH)) {1434 psFree(md);1435 exit(EXIT_FAILURE);1436 }1437 if (strncmp(psMetadataLookupPtr(&status, md, "uri"), "a string", MAX_STRING_LENGTH)) {1438 psFree(md);1439 exit(EXIT_FAILURE);1440 }1441 1437 if (strncmp(psMetadataLookupPtr(&status, md, "b1_uri"), "a string", MAX_STRING_LENGTH)) { 1442 1438 psFree(md); … … 1453 1449 { 1454 1450 psMetadata *md; 1455 detResidExp AnalysisRow*object;1456 bool status; 1457 1458 object = detResidExp AnalysisRowAlloc(-32, -32, "a string", "a string", true, true);1459 if (!object) { 1460 exit(EXIT_FAILURE); 1461 } 1462 1463 md = detResidExp AnalysisMetadataFromObject(object);1451 detResidExpRow *object; 1452 bool status; 1453 1454 object = detResidExpRowAlloc(-32, -32, "a string", "a string", true, true); 1455 if (!object) { 1456 exit(EXIT_FAILURE); 1457 } 1458 1459 md = detResidExpMetadataFromObject(object); 1464 1460 if (!md) { 1465 1461 exit(EXIT_FAILURE); -
trunk/ippdb/tests/objectfrommetadata.c
r8368 r8380 1939 1939 exit(EXIT_FAILURE); 1940 1940 } 1941 1942 object = detNormalizedImfileObjectFromMetadata(md); 1943 if (!object) { 1944 psFree(md); 1945 exit(EXIT_FAILURE); 1946 } 1947 1948 psFree(md); 1949 1950 if (!object->det_id == -32) { 1951 psFree(object); 1952 exit(EXIT_FAILURE); 1953 } 1954 if (!object->iteration == -32) { 1955 psFree(object); 1956 exit(EXIT_FAILURE); 1957 } 1958 if (strncmp(object->class_id, "a string", MAX_STRING_LENGTH)) { 1959 psFree(object); 1960 exit(EXIT_FAILURE); 1961 } 1962 if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) { 1963 psFree(object); 1964 exit(EXIT_FAILURE); 1965 } 1966 1967 psFree(object); 1968 } 1969 1970 { 1971 psMetadata *md; 1972 detMasterFrameRow *object; 1973 1974 md = psMetadataAlloc(); 1975 if (!psMetadataAddS32(md, PS_LIST_TAIL, "det_id", 0, NULL, -32)) { 1976 psFree(md); 1977 exit(EXIT_FAILURE); 1978 } 1979 if (!psMetadataAddS32(md, PS_LIST_TAIL, "iteration", 0, NULL, -32)) { 1980 psFree(md); 1981 exit(EXIT_FAILURE); 1982 } 1983 if (!psMetadataAddStr(md, PS_LIST_TAIL, "comment", 0, NULL, "a string")) { 1984 psFree(md); 1985 exit(EXIT_FAILURE); 1986 } 1987 1988 object = detMasterFrameObjectFromMetadata(md); 1989 if (!object) { 1990 psFree(md); 1991 exit(EXIT_FAILURE); 1992 } 1993 1994 psFree(md); 1995 1996 if (!object->det_id == -32) { 1997 psFree(object); 1998 exit(EXIT_FAILURE); 1999 } 2000 if (!object->iteration == -32) { 2001 psFree(object); 2002 exit(EXIT_FAILURE); 2003 } 2004 if (strncmp(object->comment, "a string", MAX_STRING_LENGTH)) { 2005 psFree(object); 2006 exit(EXIT_FAILURE); 2007 } 2008 2009 psFree(object); 2010 } 2011 2012 { 2013 psMetadata *md; 2014 detMasterImfileRow *object; 2015 2016 md = psMetadataAlloc(); 2017 if (!psMetadataAddS32(md, PS_LIST_TAIL, "det_id", 0, NULL, -32)) { 2018 psFree(md); 2019 exit(EXIT_FAILURE); 2020 } 2021 if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, "a string")) { 2022 psFree(md); 2023 exit(EXIT_FAILURE); 2024 } 2025 if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, "a string")) { 2026 psFree(md); 2027 exit(EXIT_FAILURE); 2028 } 1941 2029 if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, "a string")) { 1942 2030 psFree(md); … … 1944 2032 } 1945 2033 1946 object = det NormalizedImfileObjectFromMetadata(md);2034 object = detMasterImfileObjectFromMetadata(md); 1947 2035 if (!object) { 1948 2036 psFree(md); … … 1956 2044 exit(EXIT_FAILURE); 1957 2045 } 2046 if (strncmp(object->class_id, "a string", MAX_STRING_LENGTH)) { 2047 psFree(object); 2048 exit(EXIT_FAILURE); 2049 } 2050 if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) { 2051 psFree(object); 2052 exit(EXIT_FAILURE); 2053 } 2054 if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) { 2055 psFree(object); 2056 exit(EXIT_FAILURE); 2057 } 2058 2059 psFree(object); 2060 } 2061 2062 { 2063 psMetadata *md; 2064 detResidImfileRow *object; 2065 2066 md = psMetadataAlloc(); 2067 if (!psMetadataAddS32(md, PS_LIST_TAIL, "det_id", 0, NULL, -32)) { 2068 psFree(md); 2069 exit(EXIT_FAILURE); 2070 } 2071 if (!psMetadataAddS32(md, PS_LIST_TAIL, "iteration", 0, NULL, -32)) { 2072 psFree(md); 2073 exit(EXIT_FAILURE); 2074 } 2075 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, "a string")) { 2076 psFree(md); 2077 exit(EXIT_FAILURE); 2078 } 2079 if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, "a string")) { 2080 psFree(md); 2081 exit(EXIT_FAILURE); 2082 } 2083 if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, "a string")) { 2084 psFree(md); 2085 exit(EXIT_FAILURE); 2086 } 2087 if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, "a string")) { 2088 psFree(md); 2089 exit(EXIT_FAILURE); 2090 } 2091 if (!psMetadataAddStr(md, PS_LIST_TAIL, "b1_uri", 0, NULL, "a string")) { 2092 psFree(md); 2093 exit(EXIT_FAILURE); 2094 } 2095 if (!psMetadataAddStr(md, PS_LIST_TAIL, "b2_uri", 0, NULL, "a string")) { 2096 psFree(md); 2097 exit(EXIT_FAILURE); 2098 } 2099 2100 object = detResidImfileObjectFromMetadata(md); 2101 if (!object) { 2102 psFree(md); 2103 exit(EXIT_FAILURE); 2104 } 2105 2106 psFree(md); 2107 2108 if (!object->det_id == -32) { 2109 psFree(object); 2110 exit(EXIT_FAILURE); 2111 } 1958 2112 if (!object->iteration == -32) { 1959 2113 psFree(object); 1960 2114 exit(EXIT_FAILURE); 1961 2115 } 2116 if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) { 2117 psFree(object); 2118 exit(EXIT_FAILURE); 2119 } 1962 2120 if (strncmp(object->class_id, "a string", MAX_STRING_LENGTH)) { 1963 2121 psFree(object); 1964 2122 exit(EXIT_FAILURE); 1965 2123 } 2124 if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) { 2125 psFree(object); 2126 exit(EXIT_FAILURE); 2127 } 1966 2128 if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) { 1967 2129 psFree(object); 1968 2130 exit(EXIT_FAILURE); 1969 2131 } 1970 if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) { 1971 psFree(object); 1972 exit(EXIT_FAILURE); 1973 } 1974 1975 psFree(object); 1976 } 1977 1978 { 1979 psMetadata *md; 1980 detMasterFrameRow *object; 2132 if (strncmp(object->b1_uri, "a string", MAX_STRING_LENGTH)) { 2133 psFree(object); 2134 exit(EXIT_FAILURE); 2135 } 2136 if (strncmp(object->b2_uri, "a string", MAX_STRING_LENGTH)) { 2137 psFree(object); 2138 exit(EXIT_FAILURE); 2139 } 2140 2141 psFree(object); 2142 } 2143 2144 { 2145 psMetadata *md; 2146 detResidExpRow *object; 1981 2147 1982 2148 md = psMetadataAlloc(); … … 1989 2155 exit(EXIT_FAILURE); 1990 2156 } 1991 if (!psMetadataAddStr(md, PS_LIST_TAIL, "comment", 0, NULL, "a string")) { 1992 psFree(md); 1993 exit(EXIT_FAILURE); 1994 } 1995 1996 object = detMasterFrameObjectFromMetadata(md); 1997 if (!object) { 1998 psFree(md); 1999 exit(EXIT_FAILURE); 2000 } 2001 2002 psFree(md); 2003 2004 if (!object->det_id == -32) { 2005 psFree(object); 2006 exit(EXIT_FAILURE); 2007 } 2008 if (!object->iteration == -32) { 2009 psFree(object); 2010 exit(EXIT_FAILURE); 2011 } 2012 if (strncmp(object->comment, "a string", MAX_STRING_LENGTH)) { 2013 psFree(object); 2014 exit(EXIT_FAILURE); 2015 } 2016 2017 psFree(object); 2018 } 2019 2020 { 2021 psMetadata *md; 2022 detMasterImfileRow *object; 2023 2024 md = psMetadataAlloc(); 2025 if (!psMetadataAddS32(md, PS_LIST_TAIL, "det_id", 0, NULL, -32)) { 2026 psFree(md); 2027 exit(EXIT_FAILURE); 2028 } 2029 if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, "a string")) { 2030 psFree(md); 2031 exit(EXIT_FAILURE); 2032 } 2033 if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, "a string")) { 2157 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, "a string")) { 2034 2158 psFree(md); 2035 2159 exit(EXIT_FAILURE); … … 2039 2163 exit(EXIT_FAILURE); 2040 2164 } 2041 2042 object = detMasterImfileObjectFromMetadata(md);2043 if (!object) {2044 psFree(md);2045 exit(EXIT_FAILURE);2046 }2047 2048 psFree(md);2049 2050 if (!object->det_id == -32) {2051 psFree(object);2052 exit(EXIT_FAILURE);2053 }2054 if (strncmp(object->class_id, "a string", MAX_STRING_LENGTH)) {2055 psFree(object);2056 exit(EXIT_FAILURE);2057 }2058 if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) {2059 psFree(object);2060 exit(EXIT_FAILURE);2061 }2062 if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) {2063 psFree(object);2064 exit(EXIT_FAILURE);2065 }2066 2067 psFree(object);2068 }2069 2070 {2071 psMetadata *md;2072 detResidImfileAnalysisRow *object;2073 2074 md = psMetadataAlloc();2075 if (!psMetadataAddS32(md, PS_LIST_TAIL, "det_id", 0, NULL, -32)) {2076 psFree(md);2077 exit(EXIT_FAILURE);2078 }2079 if (!psMetadataAddS32(md, PS_LIST_TAIL, "iteration", 0, NULL, -32)) {2080 psFree(md);2081 exit(EXIT_FAILURE);2082 }2083 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, "a string")) {2084 psFree(md);2085 exit(EXIT_FAILURE);2086 }2087 if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, "a string")) {2088 psFree(md);2089 exit(EXIT_FAILURE);2090 }2091 if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, "a string")) {2092 psFree(md);2093 exit(EXIT_FAILURE);2094 }2095 if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, "a string")) {2096 psFree(md);2097 exit(EXIT_FAILURE);2098 }2099 if (!psMetadataAddStr(md, PS_LIST_TAIL, "b1_uri", 0, NULL, "a string")) {2100 psFree(md);2101 exit(EXIT_FAILURE);2102 }2103 if (!psMetadataAddStr(md, PS_LIST_TAIL, "b2_uri", 0, NULL, "a string")) {2104 psFree(md);2105 exit(EXIT_FAILURE);2106 }2107 2108 object = detResidImfileAnalysisObjectFromMetadata(md);2109 if (!object) {2110 psFree(md);2111 exit(EXIT_FAILURE);2112 }2113 2114 psFree(md);2115 2116 if (!object->det_id == -32) {2117 psFree(object);2118 exit(EXIT_FAILURE);2119 }2120 if (!object->iteration == -32) {2121 psFree(object);2122 exit(EXIT_FAILURE);2123 }2124 if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {2125 psFree(object);2126 exit(EXIT_FAILURE);2127 }2128 if (strncmp(object->class_id, "a string", MAX_STRING_LENGTH)) {2129 psFree(object);2130 exit(EXIT_FAILURE);2131 }2132 if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) {2133 psFree(object);2134 exit(EXIT_FAILURE);2135 }2136 if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) {2137 psFree(object);2138 exit(EXIT_FAILURE);2139 }2140 if (strncmp(object->b1_uri, "a string", MAX_STRING_LENGTH)) {2141 psFree(object);2142 exit(EXIT_FAILURE);2143 }2144 if (strncmp(object->b2_uri, "a string", MAX_STRING_LENGTH)) {2145 psFree(object);2146 exit(EXIT_FAILURE);2147 }2148 2149 psFree(object);2150 }2151 2152 {2153 psMetadata *md;2154 detResidExpAnalysisRow *object;2155 2156 md = psMetadataAlloc();2157 if (!psMetadataAddS32(md, PS_LIST_TAIL, "det_id", 0, NULL, -32)) {2158 psFree(md);2159 exit(EXIT_FAILURE);2160 }2161 if (!psMetadataAddS32(md, PS_LIST_TAIL, "iteration", 0, NULL, -32)) {2162 psFree(md);2163 exit(EXIT_FAILURE);2164 }2165 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, "a string")) {2166 psFree(md);2167 exit(EXIT_FAILURE);2168 }2169 if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, "a string")) {2170 psFree(md);2171 exit(EXIT_FAILURE);2172 }2173 2165 if (!psMetadataAdd(md, PS_LIST_TAIL, "keep", PS_DATA_BOOL, NULL, true)) { 2174 2166 psFree(md); … … 2180 2172 } 2181 2173 2182 object = detResidExp AnalysisObjectFromMetadata(md);2174 object = detResidExpObjectFromMetadata(md); 2183 2175 if (!object) { 2184 2176 psFree(md); -
trunk/ippdb/tests/pop.c
r8368 r8380 594 594 char class_id[256]; 595 595 char uri[256]; 596 char recipe[256]; 597 598 dbh = psDBInit("localhost", "test", NULL, "test"); 599 if (!dbh) { 600 exit(EXIT_FAILURE); 601 } 602 603 if (!detNormalizedImfilePop(dbh, &det_id, &iteration, (char **)&class_id, (char **)&uri, (char **)&recipe)) { 596 597 dbh = psDBInit("localhost", "test", NULL, "test"); 598 if (!dbh) { 599 exit(EXIT_FAILURE); 600 } 601 602 if (!detNormalizedImfilePop(dbh, &det_id, &iteration, (char **)&class_id, (char **)&uri)) { 604 603 exit(EXIT_FAILURE); 605 604 } … … 661 660 } 662 661 663 if (!detResidImfile AnalysisPop(dbh, &det_id, &iteration, (char **)&exp_id, (char **)&class_id, (char **)&recipe, (char **)&uri, (char **)&b1_uri, (char **)&b2_uri)) {662 if (!detResidImfilePop(dbh, &det_id, &iteration, (char **)&exp_id, (char **)&class_id, (char **)&recipe, (char **)&uri, (char **)&b1_uri, (char **)&b2_uri)) { 664 663 exit(EXIT_FAILURE); 665 664 } … … 682 681 } 683 682 684 if (!detResidExp AnalysisPop(dbh, &det_id, &iteration, (char **)&exp_id, (char **)&recipe, &keep, &accept)) {683 if (!detResidExpPop(dbh, &det_id, &iteration, (char **)&exp_id, (char **)&recipe, &keep, &accept)) { 685 684 exit(EXIT_FAILURE); 686 685 } -
trunk/ippdb/tests/popfits.c
r8368 r8380 804 804 } 805 805 806 if (!detResidImfile AnalysisPopFits(dbh, fits, 1)) {807 exit(EXIT_FAILURE); 808 } 809 810 if (!psFitsClose(fits)) { 811 exit(EXIT_FAILURE); 812 } 813 814 psDBCleanup(dbh); 815 } 816 817 { 818 psDB *dbh; 819 psFits *fits; 820 821 dbh = psDBInit("localhost", "test", NULL, "test"); 822 if (!dbh) { 823 exit(EXIT_FAILURE); 824 } 825 826 // allocate a temp 827 fits = psFitsOpen(TMP_FILENAME, "w"); 828 if (!fits) { 829 exit(EXIT_FAILURE); 830 } 831 832 if (!detResidExp AnalysisPopFits(dbh, fits, 1)) {806 if (!detResidImfilePopFits(dbh, fits, 1)) { 807 exit(EXIT_FAILURE); 808 } 809 810 if (!psFitsClose(fits)) { 811 exit(EXIT_FAILURE); 812 } 813 814 psDBCleanup(dbh); 815 } 816 817 { 818 psDB *dbh; 819 psFits *fits; 820 821 dbh = psDBInit("localhost", "test", NULL, "test"); 822 if (!dbh) { 823 exit(EXIT_FAILURE); 824 } 825 826 // allocate a temp 827 fits = psFitsOpen(TMP_FILENAME, "w"); 828 if (!fits) { 829 exit(EXIT_FAILURE); 830 } 831 832 if (!detResidExpPopFits(dbh, fits, 1)) { 833 833 exit(EXIT_FAILURE); 834 834 } -
trunk/ippdb/tests/popobject.c
r8368 r8380 547 547 { 548 548 psDB *dbh; 549 detResidImfile AnalysisRow *object;550 551 dbh = psDBInit("localhost", "test", NULL, "test"); 552 if (!dbh) { 553 exit(EXIT_FAILURE); 554 } 555 556 object = detResidImfile AnalysisPopObject(dbh);557 if (!object) { 558 exit(EXIT_FAILURE); 559 } 560 561 psFree(object); 562 psDBCleanup(dbh); 563 } 564 565 { 566 psDB *dbh; 567 detResidExp AnalysisRow*object;568 569 dbh = psDBInit("localhost", "test", NULL, "test"); 570 if (!dbh) { 571 exit(EXIT_FAILURE); 572 } 573 574 object = detResidExp AnalysisPopObject(dbh);549 detResidImfileRow *object; 550 551 dbh = psDBInit("localhost", "test", NULL, "test"); 552 if (!dbh) { 553 exit(EXIT_FAILURE); 554 } 555 556 object = detResidImfilePopObject(dbh); 557 if (!object) { 558 exit(EXIT_FAILURE); 559 } 560 561 psFree(object); 562 psDBCleanup(dbh); 563 } 564 565 { 566 psDB *dbh; 567 detResidExpRow *object; 568 569 dbh = psDBInit("localhost", "test", NULL, "test"); 570 if (!dbh) { 571 exit(EXIT_FAILURE); 572 } 573 574 object = detResidExpPopObject(dbh); 575 575 if (!object) { 576 576 exit(EXIT_FAILURE); -
trunk/ippdb/tests/selectrowsfits.c
r8368 r8380 681 681 } 682 682 683 if (!detResidImfile AnalysisSelectRowsFits(dbh, fits, NULL, 1)) {684 exit(EXIT_FAILURE); 685 } 686 687 psFree(fits); 688 psDBCleanup(dbh); 689 } 690 691 { 692 psDB *dbh; 693 psFits *fits; 694 695 dbh = psDBInit("localhost", "test", NULL, "test"); 696 if (!dbh) { 697 exit(EXIT_FAILURE); 698 } 699 700 fits = psFitsOpen(TMP_FILENAME, "w"); 701 if (!fits) { 702 exit(EXIT_FAILURE); 703 } 704 705 if (!detResidExp AnalysisSelectRowsFits(dbh, fits, NULL, 1)) {683 if (!detResidImfileSelectRowsFits(dbh, fits, NULL, 1)) { 684 exit(EXIT_FAILURE); 685 } 686 687 psFree(fits); 688 psDBCleanup(dbh); 689 } 690 691 { 692 psDB *dbh; 693 psFits *fits; 694 695 dbh = psDBInit("localhost", "test", NULL, "test"); 696 if (!dbh) { 697 exit(EXIT_FAILURE); 698 } 699 700 fits = psFitsOpen(TMP_FILENAME, "w"); 701 if (!fits) { 702 exit(EXIT_FAILURE); 703 } 704 705 if (!detResidExpSelectRowsFits(dbh, fits, NULL, 1)) { 706 706 exit(EXIT_FAILURE); 707 707 }
Note:
See TracChangeset
for help on using the changeset viewer.
