Changeset 8665
- Timestamp:
- Aug 28, 2006, 6:44:34 PM (20 years ago)
- Location:
- trunk/ippdb
- Files:
-
- 18 edited
-
Makefile.am (modified) (2 diffs)
-
configure.ac (modified) (1 diff)
-
src/ippdb.c (modified) (119 diffs)
-
src/ippdb.h (modified) (35 diffs)
-
tests/alloc.c (modified) (3 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) (1 diff)
-
tests/insertfits.c (modified) (1 diff)
-
tests/insertobject.c (modified) (2 diffs)
-
tests/metadatafromobject.c (modified) (4 diffs)
-
tests/objectfrommetadata.c (modified) (7 diffs)
-
tests/pop.c (modified) (4 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
r8528 r8665 29 29 $(top_builddir)/docs/man/man3/p2PendingExpRow.3 \ 30 30 $(top_builddir)/docs/man/man3/p2PendingImfileRow.3 \ 31 $(top_builddir)/docs/man/man3/p2 DoneExpRow.3 \32 $(top_builddir)/docs/man/man3/p2 DoneImfileRow.3 \31 $(top_builddir)/docs/man/man3/p2ProcessedExpRow.3 \ 32 $(top_builddir)/docs/man/man3/p2ProcessedImfileRow.3 \ 33 33 $(top_builddir)/docs/man/man3/p3PendingExpRow.3 \ 34 34 $(top_builddir)/docs/man/man3/detRunRow.3 \ … … 45 45 46 46 47 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/p2 DoneExpRow.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 docs/man/man3/detRunSummaryRow.3:47 docs/man/man3/ippdb.3 docs/man/man3/weatherRow.3 docs/man/man3/skyp_transparencyRow.3 docs/man/man3/skyp_absorptionRow.3 docs/man/man3/skyp_emissionRow.3 docs/man/man3/dimmRow.3 docs/man/man3/skyp_irRow.3 docs/man/man3/domeRow.3 docs/man/man3/telescopeRow.3 docs/man/man3/summitExpRow.3 docs/man/man3/pzPendingExpRow.3 docs/man/man3/pzPendingImfileRow.3 docs/man/man3/newExpRow.3 docs/man/man3/newImfileRow.3 docs/man/man3/rawDetrendExpRow.3 docs/man/man3/rawScienceExpRow.3 docs/man/man3/rawImfileRow.3 docs/man/man3/p1PendingExpRow.3 docs/man/man3/p2PendingExpRow.3 docs/man/man3/p2PendingImfileRow.3 docs/man/man3/p2ProcessedExpRow.3 docs/man/man3/p2ProcessedImfileRow.3 docs/man/man3/p3PendingExpRow.3 docs/man/man3/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 docs/man/man3/detRunSummaryRow.3: 48 48 $(DOXYGEN) 49 49 -
trunk/ippdb/configure.ac
r8543 r8665 1 dnl 2 dnl This file was generated by glueforge 0.24 3 dnl 4 dnl Do NOT directly edit this file. 5 dnl 6 1 7 AC_PREREQ(2.59) 2 8 3 AC_INIT([ippdb], [0.0.3 3], [pan-starrs.ifa.hawaii.edu])9 AC_INIT([ippdb], [0.0.34], [pan-starrs.ifa.hawaii.edu]) 4 10 AC_CONFIG_SRCDIR([ippdb.pc.in]) 5 11 -
trunk/ippdb/src/ippdb.c
r8543 r8665 1 /* 2 * 3 * This file was generated by glueforge 0.24 4 * 5 * Do NOT directly edit this file. 6 * 7 */ 8 1 9 #include <stdio.h> 2 10 … … 42 50 #define P2PENDINGIMFILE_TABLE_NAME "p2PendingImfile" 43 51 #define P2PENDINGIMFILE_INDEX_NAME IPPDB_DEFAULT_INDEX_NAME 44 #define P2 DONEEXP_TABLE_NAME "p2DoneExp"45 #define P2 DONEEXP_INDEX_NAME IPPDB_DEFAULT_INDEX_NAME46 #define P2 DONEIMFILE_TABLE_NAME "p2DoneImfile"47 #define P2 DONEIMFILE_INDEX_NAME IPPDB_DEFAULT_INDEX_NAME52 #define P2PROCESSEDEXP_TABLE_NAME "p2ProcessedExp" 53 #define P2PROCESSEDEXP_INDEX_NAME IPPDB_DEFAULT_INDEX_NAME 54 #define P2PROCESSEDIMFILE_TABLE_NAME "p2ProcessedImfile" 55 #define P2PROCESSEDIMFILE_INDEX_NAME IPPDB_DEFAULT_INDEX_NAME 48 56 #define P3PENDINGEXP_TABLE_NAME "p3PendingExp" 49 57 #define P3PENDINGEXP_INDEX_NAME IPPDB_DEFAULT_INDEX_NAME … … 562 570 "DELETE FROM %s ORDER BY %s DESC LIMIT %lld", 563 571 WEATHER_TABLE_NAME, WEATHER_INDEX_NAME, limit) < 0) { 564 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed % sbytes", MAX_STRING_LENGTH);572 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed %d bytes", MAX_STRING_LENGTH); 565 573 return false; 566 574 } … … 1121 1129 "DELETE FROM %s ORDER BY %s DESC LIMIT %lld", 1122 1130 SKYP_TRANSPARENCY_TABLE_NAME, SKYP_TRANSPARENCY_INDEX_NAME, limit) < 0) { 1123 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed % sbytes", MAX_STRING_LENGTH);1131 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed %d bytes", MAX_STRING_LENGTH); 1124 1132 return false; 1125 1133 } … … 1716 1724 "DELETE FROM %s ORDER BY %s DESC LIMIT %lld", 1717 1725 SKYP_ABSORPTION_TABLE_NAME, SKYP_ABSORPTION_INDEX_NAME, limit) < 0) { 1718 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed % sbytes", MAX_STRING_LENGTH);1726 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed %d bytes", MAX_STRING_LENGTH); 1719 1727 return false; 1720 1728 } … … 2279 2287 "DELETE FROM %s ORDER BY %s DESC LIMIT %lld", 2280 2288 SKYP_EMISSION_TABLE_NAME, SKYP_EMISSION_INDEX_NAME, limit) < 0) { 2281 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed % sbytes", MAX_STRING_LENGTH);2289 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed %d bytes", MAX_STRING_LENGTH); 2282 2290 return false; 2283 2291 } … … 2827 2835 "DELETE FROM %s ORDER BY %s DESC LIMIT %lld", 2828 2836 DIMM_TABLE_NAME, DIMM_INDEX_NAME, limit) < 0) { 2829 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed % sbytes", MAX_STRING_LENGTH);2837 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed %d bytes", MAX_STRING_LENGTH); 2830 2838 return false; 2831 2839 } … … 3367 3375 "DELETE FROM %s ORDER BY %s DESC LIMIT %lld", 3368 3376 SKYP_IR_TABLE_NAME, SKYP_IR_INDEX_NAME, limit) < 0) { 3369 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed % sbytes", MAX_STRING_LENGTH);3377 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed %d bytes", MAX_STRING_LENGTH); 3370 3378 return false; 3371 3379 } … … 3860 3868 "DELETE FROM %s ORDER BY %s DESC LIMIT %lld", 3861 3869 DOME_TABLE_NAME, DOME_INDEX_NAME, limit) < 0) { 3862 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed % sbytes", MAX_STRING_LENGTH);3870 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed %d bytes", MAX_STRING_LENGTH); 3863 3871 return false; 3864 3872 } … … 4350 4358 "DELETE FROM %s ORDER BY %s DESC LIMIT %lld", 4351 4359 TELESCOPE_TABLE_NAME, TELESCOPE_INDEX_NAME, limit) < 0) { 4352 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed % sbytes", MAX_STRING_LENGTH);4360 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed %d bytes", MAX_STRING_LENGTH); 4353 4361 return false; 4354 4362 } … … 4855 4863 "DELETE FROM %s ORDER BY %s DESC LIMIT %lld", 4856 4864 SUMMITEXP_TABLE_NAME, SUMMITEXP_INDEX_NAME, limit) < 0) { 4857 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed % sbytes", MAX_STRING_LENGTH);4865 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed %d bytes", MAX_STRING_LENGTH); 4858 4866 return false; 4859 4867 } … … 5359 5367 "DELETE FROM %s ORDER BY %s DESC LIMIT %lld", 5360 5368 PZPENDINGEXP_TABLE_NAME, PZPENDINGEXP_INDEX_NAME, limit) < 0) { 5361 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed % sbytes", MAX_STRING_LENGTH);5369 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed %d bytes", MAX_STRING_LENGTH); 5362 5370 return false; 5363 5371 } … … 5882 5890 "DELETE FROM %s ORDER BY %s DESC LIMIT %lld", 5883 5891 PZPENDINGIMFILE_TABLE_NAME, PZPENDINGIMFILE_INDEX_NAME, limit) < 0) { 5884 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed % sbytes", MAX_STRING_LENGTH);5892 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed %d bytes", MAX_STRING_LENGTH); 5885 5893 return false; 5886 5894 } … … 6397 6405 "DELETE FROM %s ORDER BY %s DESC LIMIT %lld", 6398 6406 NEWEXP_TABLE_NAME, NEWEXP_INDEX_NAME, limit) < 0) { 6399 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed % sbytes", MAX_STRING_LENGTH);6407 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed %d bytes", MAX_STRING_LENGTH); 6400 6408 return false; 6401 6409 } … … 6883 6891 "DELETE FROM %s ORDER BY %s DESC LIMIT %lld", 6884 6892 NEWIMFILE_TABLE_NAME, NEWIMFILE_INDEX_NAME, limit) < 0) { 6885 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed % sbytes", MAX_STRING_LENGTH);6893 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed %d bytes", MAX_STRING_LENGTH); 6886 6894 return false; 6887 6895 } … … 7593 7601 "DELETE FROM %s ORDER BY %s DESC LIMIT %lld", 7594 7602 RAWDETRENDEXP_TABLE_NAME, RAWDETRENDEXP_INDEX_NAME, limit) < 0) { 7595 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed % sbytes", MAX_STRING_LENGTH);7603 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed %d bytes", MAX_STRING_LENGTH); 7596 7604 return false; 7597 7605 } … … 8446 8454 "DELETE FROM %s ORDER BY %s DESC LIMIT %lld", 8447 8455 RAWSCIENCEEXP_TABLE_NAME, RAWSCIENCEEXP_INDEX_NAME, limit) < 0) { 8448 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed % sbytes", MAX_STRING_LENGTH);8456 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed %d bytes", MAX_STRING_LENGTH); 8449 8457 return false; 8450 8458 } … … 9300 9308 "DELETE FROM %s ORDER BY %s DESC LIMIT %lld", 9301 9309 RAWIMFILE_TABLE_NAME, RAWIMFILE_INDEX_NAME, limit) < 0) { 9302 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed % sbytes", MAX_STRING_LENGTH);9310 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed %d bytes", MAX_STRING_LENGTH); 9303 9311 return false; 9304 9312 } … … 9898 9906 "DELETE FROM %s ORDER BY %s DESC LIMIT %lld", 9899 9907 P1PENDINGEXP_TABLE_NAME, P1PENDINGEXP_INDEX_NAME, limit) < 0) { 9900 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed % sbytes", MAX_STRING_LENGTH);9908 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed %d bytes", MAX_STRING_LENGTH); 9901 9909 return false; 9902 9910 } … … 10360 10368 "DELETE FROM %s ORDER BY %s DESC LIMIT %lld", 10361 10369 P2PENDINGEXP_TABLE_NAME, P2PENDINGEXP_INDEX_NAME, limit) < 0) { 10362 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed % sbytes", MAX_STRING_LENGTH);10370 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed %d bytes", MAX_STRING_LENGTH); 10363 10371 return false; 10364 10372 } … … 10871 10879 "DELETE FROM %s ORDER BY %s DESC LIMIT %lld", 10872 10880 P2PENDINGIMFILE_TABLE_NAME, P2PENDINGIMFILE_INDEX_NAME, limit) < 0) { 10873 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed % sbytes", MAX_STRING_LENGTH);10881 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed %d bytes", MAX_STRING_LENGTH); 10874 10882 return false; 10875 10883 } … … 11099 11107 return true; 11100 11108 } 11101 static void p2 DoneExpRowFree(p2DoneExpRow *object);11102 11103 p2 DoneExpRow *p2DoneExpRowAlloc(const char *exp_id, const char *recipe, psS32 p1_version, psS32 p2_version)11104 { 11105 p2 DoneExpRow*object;11106 11107 object = psAlloc(sizeof(p2 DoneExpRow));11108 psMemSetDeallocator(object, (psFreeFunc)p2 DoneExpRowFree);11109 static void p2ProcessedExpRowFree(p2ProcessedExpRow *object); 11110 11111 p2ProcessedExpRow *p2ProcessedExpRowAlloc(const char *exp_id, psS32 p1_version, psS32 p2_version) 11112 { 11113 p2ProcessedExpRow *object; 11114 11115 object = psAlloc(sizeof(p2ProcessedExpRow)); 11116 psMemSetDeallocator(object, (psFreeFunc)p2ProcessedExpRowFree); 11109 11117 11110 11118 object->exp_id = psStringCopy(exp_id); 11111 object->recipe = psStringCopy(recipe);11112 11119 object->p1_version = p1_version; 11113 11120 object->p2_version = p2_version; … … 11116 11123 } 11117 11124 11118 static void p2 DoneExpRowFree(p2DoneExpRow *object)11125 static void p2ProcessedExpRowFree(p2ProcessedExpRow *object) 11119 11126 { 11120 11127 psFree(object->exp_id); 11121 psFree(object->recipe); 11122 } 11123 11124 bool p2DoneExpCreateTable(psDB *dbh) 11128 } 11129 11130 bool p2ProcessedExpCreateTable(psDB *dbh) 11125 11131 { 11126 11132 psMetadata *md; … … 11128 11134 11129 11135 md = psMetadataAlloc(); 11130 if (!psMetadataAdd(md, PS_LIST_TAIL, P2 DONEEXP_INDEX_NAME, PS_DATA_S32, "AUTO_INCREMENT", 0.0)) {11131 psError(PS_ERR_UNKNOWN, false, "failed to add item %s", P2 DONEEXP_INDEX_NAME);11136 if (!psMetadataAdd(md, PS_LIST_TAIL, P2PROCESSEDEXP_INDEX_NAME, PS_DATA_S32, "AUTO_INCREMENT", 0.0)) { 11137 psError(PS_ERR_UNKNOWN, false, "failed to add item %s", P2PROCESSEDEXP_INDEX_NAME); 11132 11138 psFree(md); 11133 11139 return false; … … 11138 11144 return false; 11139 11145 } 11140 if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, "64")) {11141 psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");11142 psFree(md);11143 return false;11144 }11145 11146 if (!psMetadataAddS32(md, PS_LIST_TAIL, "p1_version", 0, NULL, 0)) { 11146 11147 psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version"); … … 11154 11155 } 11155 11156 11156 status = psDBCreateTable(dbh, P2 DONEEXP_TABLE_NAME, md);11157 status = psDBCreateTable(dbh, P2PROCESSEDEXP_TABLE_NAME, md); 11157 11158 11158 11159 psFree(md); … … 11161 11162 } 11162 11163 11163 bool p2 DoneExpDropTable(psDB *dbh)11164 { 11165 return psDBDropTable(dbh, P2 DONEEXP_TABLE_NAME);11166 } 11167 11168 bool p2 DoneExpInsert(psDB * dbh, const char *exp_id, const char *recipe, psS32 p1_version, psS32 p2_version)11164 bool p2ProcessedExpDropTable(psDB *dbh) 11165 { 11166 return psDBDropTable(dbh, P2PROCESSEDEXP_TABLE_NAME); 11167 } 11168 11169 bool p2ProcessedExpInsert(psDB * dbh, const char *exp_id, psS32 p1_version, psS32 p2_version) 11169 11170 { 11170 11171 psMetadata *md; … … 11177 11178 return false; 11178 11179 } 11179 if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, recipe)) {11180 psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");11181 psFree(md);11182 return false;11183 }11184 11180 if (!psMetadataAddS32(md, PS_LIST_TAIL, "p1_version", 0, NULL, p1_version)) { 11185 11181 psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version"); … … 11193 11189 } 11194 11190 11195 status = psDBInsertOneRow(dbh, P2 DONEEXP_TABLE_NAME, md);11191 status = psDBInsertOneRow(dbh, P2PROCESSEDEXP_TABLE_NAME, md); 11196 11192 psFree(md); 11197 11193 … … 11199 11195 } 11200 11196 11201 long long p2 DoneExpDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)11197 long long p2ProcessedExpDelete(psDB *dbh, const psMetadata *where, unsigned long long limit) 11202 11198 { 11203 11199 long long deleted = 0; 11204 11200 11205 long long count = psDBDeleteRows(dbh, P2 DONEEXP_TABLE_NAME, where, limit);11201 long long count = psDBDeleteRows(dbh, P2PROCESSEDEXP_TABLE_NAME, where, limit); 11206 11202 if (count < 0) { 11207 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2 DoneExp");11203 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2ProcessedExp"); 11208 11204 return count; 11209 11205 … … 11213 11209 return deleted; 11214 11210 } 11215 bool p2 DoneExpPop(psDB *dbh, char **exp_id, char **recipe, psS32 *p1_version, psS32 *p2_version)11211 bool p2ProcessedExpPop(psDB *dbh, char **exp_id, psS32 *p1_version, psS32 *p2_version) 11216 11212 { 11217 11213 psArray *rowSet; … … 11222 11218 int rowID; 11223 11219 11224 rowSet = psDBSelectRows(dbh, P2 DONEEXP_TABLE_NAME, NULL, 1);11220 rowSet = psDBSelectRows(dbh, P2PROCESSEDEXP_TABLE_NAME, NULL, 1); 11225 11221 if (!rowSet) { 11226 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item %s", P2 DONEEXP_INDEX_NAME);11222 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item %s", P2PROCESSEDEXP_INDEX_NAME); 11227 11223 psFree(rowSet); 11228 11224 return NULL; … … 11237 11233 psFree(rowSet); 11238 11234 11239 rowID = psMetadataLookupS32(&status, row, P2 DONEEXP_INDEX_NAME);11240 if (!status) { 11241 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item %s", P2 DONEEXP_INDEX_NAME);11235 rowID = psMetadataLookupS32(&status, row, P2PROCESSEDEXP_INDEX_NAME); 11236 if (!status) { 11237 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item %s", P2PROCESSEDEXP_INDEX_NAME); 11242 11238 psFree(row); 11243 11239 return NULL; … … 11245 11241 11246 11242 popped = psMetadataAlloc(); 11247 psMetadataAddS32(popped, PS_LIST_TAIL, P2 DONEEXP_INDEX_NAME, 0, NULL, rowID);11248 11249 deleted = psDBDeleteRows(dbh, P2 DONEEXP_TABLE_NAME, popped, 0);11243 psMetadataAddS32(popped, PS_LIST_TAIL, P2PROCESSEDEXP_INDEX_NAME, 0, NULL, rowID); 11244 11245 deleted = psDBDeleteRows(dbh, P2PROCESSEDEXP_TABLE_NAME, popped, 0); 11250 11246 if (deleted != 1) { 11251 11247 psError(PS_ERR_UNKNOWN, false, "database failed to delete row"); … … 11263 11259 return false; 11264 11260 } 11265 *recipe = psMetadataLookupPtr(&status, row, "recipe");11266 if (!status) {11267 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item recipe");11268 psFree(row);11269 return false;11270 }11271 11261 *p1_version = psMetadataLookupS32(&status, row, "p1_version"); 11272 11262 if (!status) { … … 11287 11277 } 11288 11278 11289 bool p2 DoneExpInsertObject(psDB *dbh, p2DoneExpRow *object)11290 { 11291 return p2 DoneExpInsert(dbh, object->exp_id, object->recipe, object->p1_version, object->p2_version);11292 } 11293 11294 bool p2 DoneExpInsertObjects(psDB *dbh, psArray *objects)11279 bool p2ProcessedExpInsertObject(psDB *dbh, p2ProcessedExpRow *object) 11280 { 11281 return p2ProcessedExpInsert(dbh, object->exp_id, object->p1_version, object->p2_version); 11282 } 11283 11284 bool p2ProcessedExpInsertObjects(psDB *dbh, psArray *objects) 11295 11285 { 11296 11286 for (long i = 0; i < psArrayLength(objects); i++) { 11297 if (!p2 DoneExpInsertObject(dbh, objects->data[i])) {11287 if (!p2ProcessedExpInsertObject(dbh, objects->data[i])) { 11298 11288 return false; 11299 11289 } … … 11303 11293 } 11304 11294 11305 p2 DoneExpRow *p2DoneExpPopObject(psDB *dbh)11295 p2ProcessedExpRow *p2ProcessedExpPopObject(psDB *dbh) 11306 11296 { 11307 11297 char exp_id[256]; 11308 char recipe[256];11309 11298 psS32 p1_version; 11310 11299 psS32 p2_version; 11311 11300 11312 if (!p2 DoneExpPop(dbh, (char **)&exp_id, (char **)&recipe, &p1_version, &p2_version)) {11301 if (!p2ProcessedExpPop(dbh, (char **)&exp_id, &p1_version, &p2_version)) { 11313 11302 psError(PS_ERR_UNKNOWN, false, "failed to pop a database row"); 11314 11303 return NULL; 11315 11304 } 11316 11305 11317 return p2 DoneExpRowAlloc(exp_id, recipe, p1_version, p2_version);11318 } 11319 11320 bool p2 DoneExpInsertFits(psDB *dbh, const psFits *fits)11306 return p2ProcessedExpRowAlloc(exp_id, p1_version, p2_version); 11307 } 11308 11309 bool p2ProcessedExpInsertFits(psDB *dbh, const psFits *fits) 11321 11310 { 11322 11311 psArray *rowSet; 11323 11312 11324 // move to (the first?) extension named P2 DONEEXP_TABLE_NAME11325 if (!psFitsMoveExtName(fits, P2 DONEEXP_TABLE_NAME)) {11326 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P2 DONEEXP_TABLE_NAME);11313 // move to (the first?) extension named P2PROCESSEDEXP_TABLE_NAME 11314 if (!psFitsMoveExtName(fits, P2PROCESSEDEXP_TABLE_NAME)) { 11315 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P2PROCESSEDEXP_TABLE_NAME); 11327 11316 return false; 11328 11317 } … … 11342 11331 } 11343 11332 11344 if (!psDBInsertRows(dbh, P2 DONEEXP_TABLE_NAME, rowSet)) {11333 if (!psDBInsertRows(dbh, P2PROCESSEDEXP_TABLE_NAME, rowSet)) { 11345 11334 psError(PS_ERR_UNKNOWN, false, "databse insert failed"); 11346 11335 psFree(rowSet); … … 11353 11342 } 11354 11343 11355 bool p2 DoneExpPopFits(psDB *dbh, psFits *fits, unsigned long long limit)11344 bool p2ProcessedExpPopFits(psDB *dbh, psFits *fits, unsigned long long limit) 11356 11345 { 11357 11346 char query[MAX_STRING_LENGTH]; 11358 11347 11359 if (!p2 DoneExpSelectRowsFits(dbh, fits, NULL, limit)) {11348 if (!p2ProcessedExpSelectRowsFits(dbh, fits, NULL, limit)) { 11360 11349 psError(PS_ERR_UNKNOWN, true, "database error or table is empty"); 11361 11350 return false; … … 11365 11354 if (snprintf(query, MAX_STRING_LENGTH, 11366 11355 "DELETE FROM %s ORDER BY %s DESC LIMIT %lld", 11367 P2 DONEEXP_TABLE_NAME, P2DONEEXP_INDEX_NAME, limit) < 0) {11368 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed % sbytes", MAX_STRING_LENGTH);11356 P2PROCESSEDEXP_TABLE_NAME, P2PROCESSEDEXP_INDEX_NAME, limit) < 0) { 11357 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed %d bytes", MAX_STRING_LENGTH); 11369 11358 return false; 11370 11359 } … … 11378 11367 } 11379 11368 11380 bool p2 DoneExpSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)11369 bool p2ProcessedExpSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit) 11381 11370 { 11382 11371 psArray *rowSet; 11383 11372 psU64 i; 11384 11373 11385 rowSet = psDBSelectRows(dbh, P2 DONEEXP_TABLE_NAME, where, limit);11374 rowSet = psDBSelectRows(dbh, P2PROCESSEDEXP_TABLE_NAME, where, limit); 11386 11375 if (!rowSet) { 11387 11376 return false; … … 11390 11379 // strip index column 11391 11380 for (i = 0; i < rowSet->n; i++) { 11392 if (!psMetadataRemove((psMetadata *)rowSet->data[i], 0, P2 DONEEXP_INDEX_NAME)) {11393 psError(PS_ERR_UNKNOWN, true, "failed to remove item %s", P2 DONEEXP_INDEX_NAME);11381 if (!psMetadataRemove((psMetadata *)rowSet->data[i], 0, P2PROCESSEDEXP_INDEX_NAME)) { 11382 psError(PS_ERR_UNKNOWN, true, "failed to remove item %s", P2PROCESSEDEXP_INDEX_NAME); 11394 11383 psFree(rowSet); 11395 11384 return false; … … 11398 11387 11399 11388 // output to fits 11400 if (!psFitsWriteTable(fits, NULL, rowSet, P2 DONEEXP_TABLE_NAME)) {11389 if (!psFitsWriteTable(fits, NULL, rowSet, P2PROCESSEDEXP_TABLE_NAME)) { 11401 11390 psError(PS_ERR_UNKNOWN, false, "FITS table write failed"); 11402 11391 psFree(rowSet); … … 11409 11398 } 11410 11399 11411 psMetadata *p2 DoneExpMetadataFromObject(const p2DoneExpRow *object)11400 psMetadata *p2ProcessedExpMetadataFromObject(const p2ProcessedExpRow *object) 11412 11401 { 11413 11402 psMetadata *md; … … 11419 11408 return NULL; 11420 11409 } 11421 if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, object->recipe)) {11422 psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");11423 psFree(md);11424 return NULL;11425 }11426 11410 if (!psMetadataAddS32(md, PS_LIST_TAIL, "p1_version", 0, NULL, object->p1_version)) { 11427 11411 psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version"); … … 11438 11422 } 11439 11423 11440 p2 DoneExpRow *p2DoneExpObjectFromMetadata(psMetadata *md)11424 p2ProcessedExpRow *p2ProcessedExpObjectFromMetadata(psMetadata *md) 11441 11425 { 11442 11426 bool status; 11443 11427 char *exp_id; 11444 char *recipe;11445 11428 psS32 p1_version; 11446 11429 psS32 p2_version; … … 11451 11434 return false; 11452 11435 } 11453 recipe = psMetadataLookupPtr(&status, md, "recipe");11454 if (!status) {11455 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item recipe");11456 return false;11457 }11458 11436 p1_version = psMetadataLookupS32(&status, md, "p1_version"); 11459 11437 if (!status) { … … 11467 11445 } 11468 11446 11469 return p2 DoneExpRowAlloc(exp_id, recipe, p1_version, p2_version);11470 } 11471 psArray *p2 DoneExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)11447 return p2ProcessedExpRowAlloc(exp_id, p1_version, p2_version); 11448 } 11449 psArray *p2ProcessedExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) 11472 11450 { 11473 11451 psArray *rowSet; … … 11475 11453 psU64 i; 11476 11454 11477 rowSet = psDBSelectRows(dbh, P2 DONEEXP_TABLE_NAME, where, limit);11455 rowSet = psDBSelectRows(dbh, P2PROCESSEDEXP_TABLE_NAME, where, limit); 11478 11456 if (!rowSet) { 11479 11457 return NULL; … … 11482 11460 // strip index column 11483 11461 for (i = 0; i < rowSet->n; i++) { 11484 if (!psMetadataRemove((psMetadata *)(rowSet->data[i]), 0, P2 DONEEXP_INDEX_NAME)) {11485 psError(PS_ERR_UNKNOWN, true, "failed to remove item %s", P2 DONEEXP_INDEX_NAME);11462 if (!psMetadataRemove((psMetadata *)(rowSet->data[i]), 0, P2PROCESSEDEXP_INDEX_NAME)) { 11463 psError(PS_ERR_UNKNOWN, true, "failed to remove item %s", P2PROCESSEDEXP_INDEX_NAME); 11486 11464 psFree(rowSet); 11487 11465 return false; … … 11495 11473 11496 11474 for (i = 0; i < rowSet->n; i++) { 11497 p2 DoneExpRow *object = p2DoneExpObjectFromMetadata(rowSet->data[i]);11475 p2ProcessedExpRow *object = p2ProcessedExpObjectFromMetadata(rowSet->data[i]); 11498 11476 psArrayAdd(returnSet, 0, object); 11499 11477 psFree(object); … … 11504 11482 return returnSet; 11505 11483 } 11506 bool p2 DoneExpDeleteObject(psDB *dbh, const p2DoneExpRow *object)11507 { 11508 psMetadata *where = p2 DoneExpMetadataFromObject(object);11509 long long count = psDBDeleteRows(dbh, P2 DONEEXP_TABLE_NAME, where, 0);11484 bool p2ProcessedExpDeleteObject(psDB *dbh, const p2ProcessedExpRow *object) 11485 { 11486 psMetadata *where = p2ProcessedExpMetadataFromObject(object); 11487 long long count = psDBDeleteRows(dbh, P2PROCESSEDEXP_TABLE_NAME, where, 0); 11510 11488 psFree(where) 11511 11489 if (count < 0) { 11512 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2 DoneExp");11490 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2ProcessedExp"); 11513 11491 return false; 11514 11492 } … … 11516 11494 // XXX should this be a psAbort() instead? It is possible that 11517 11495 // having an object match multiple rows was by design. 11518 psError(PS_ERR_UNKNOWN, true, "p2 DoneExpRow object matched more then one row. Check your database schema");11519 return false; 11520 } 11521 11522 return true; 11523 } 11524 long long p2 DoneExpDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)11496 psError(PS_ERR_UNKNOWN, true, "p2ProcessedExpRow object matched more then one row. Check your database schema"); 11497 return false; 11498 } 11499 11500 return true; 11501 } 11502 long long p2ProcessedExpDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit) 11525 11503 { 11526 11504 long long deleted = 0; 11527 11505 11528 11506 for (long long i = 0; i < objects->n; i++) { 11529 p2 DoneExpRow *object = objects->data[i];11530 psMetadata *where = p2 DoneExpMetadataFromObject(object);11531 long long count = psDBDeleteRows(dbh, P2 DONEEXP_TABLE_NAME, where, limit);11507 p2ProcessedExpRow *object = objects->data[i]; 11508 psMetadata *where = p2ProcessedExpMetadataFromObject(object); 11509 long long count = psDBDeleteRows(dbh, P2PROCESSEDEXP_TABLE_NAME, where, limit); 11532 11510 psFree(where) 11533 11511 if (count < 0) { 11534 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2 DoneExp");11512 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2ProcessedExp"); 11535 11513 return count; 11536 11514 } … … 11541 11519 return deleted; 11542 11520 } 11543 bool p2 DoneExpPrintObjects(FILE *stream, psArray *objects, bool mdcf)11521 bool p2ProcessedExpPrintObjects(FILE *stream, psArray *objects, bool mdcf) 11544 11522 { 11545 11523 PS_ASSERT_PTR_NON_NULL(objects, false); … … 11547 11525 psMetadata *output = psMetadataAlloc(); 11548 11526 for (long i = 0; i < psArrayLength(objects); i++) { 11549 psMetadata *md = p2 DoneExpMetadataFromObject(objects->data[i]);11527 psMetadata *md = p2ProcessedExpMetadataFromObject(objects->data[i]); 11550 11528 if (!psMetadataAddMetadata( 11551 11529 output, 11552 11530 PS_LIST_TAIL, 11553 P2 DONEEXP_TABLE_NAME,11531 P2PROCESSEDEXP_TABLE_NAME, 11554 11532 PS_META_DUPLICATE_OK, 11555 11533 NULL, … … 11572 11550 return true; 11573 11551 } 11574 static void p2 DoneImfileRowFree(p2DoneImfileRow *object);11575 11576 p2 DoneImfileRow *p2DoneImfileRowAlloc(const char *exp_id, const char *class_id, const char *uri, const char *recipe, psS32 p1_version, psS32 p2_version)11577 { 11578 p2 DoneImfileRow *object;11579 11580 object = psAlloc(sizeof(p2 DoneImfileRow));11581 psMemSetDeallocator(object, (psFreeFunc)p2 DoneImfileRowFree);11552 static void p2ProcessedImfileRowFree(p2ProcessedImfileRow *object); 11553 11554 p2ProcessedImfileRow *p2ProcessedImfileRowAlloc(const char *exp_id, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *b1_uri, const char *b2_uri, psS32 p1_version, psS32 p2_version) 11555 { 11556 p2ProcessedImfileRow *object; 11557 11558 object = psAlloc(sizeof(p2ProcessedImfileRow)); 11559 psMemSetDeallocator(object, (psFreeFunc)p2ProcessedImfileRowFree); 11582 11560 11583 11561 object->exp_id = psStringCopy(exp_id); … … 11585 11563 object->uri = psStringCopy(uri); 11586 11564 object->recipe = psStringCopy(recipe); 11565 object->bg = bg; 11566 object->bg_stdev = bg_stdev; 11567 object->bg_mean_stdev = bg_mean_stdev; 11568 object->b1_uri = psStringCopy(b1_uri); 11569 object->b2_uri = psStringCopy(b2_uri); 11587 11570 object->p1_version = p1_version; 11588 11571 object->p2_version = p2_version; … … 11591 11574 } 11592 11575 11593 static void p2 DoneImfileRowFree(p2DoneImfileRow *object)11576 static void p2ProcessedImfileRowFree(p2ProcessedImfileRow *object) 11594 11577 { 11595 11578 psFree(object->exp_id); … … 11597 11580 psFree(object->uri); 11598 11581 psFree(object->recipe); 11599 } 11600 11601 bool p2DoneImfileCreateTable(psDB *dbh) 11582 psFree(object->b1_uri); 11583 psFree(object->b2_uri); 11584 } 11585 11586 bool p2ProcessedImfileCreateTable(psDB *dbh) 11602 11587 { 11603 11588 psMetadata *md; … … 11605 11590 11606 11591 md = psMetadataAlloc(); 11607 if (!psMetadataAdd(md, PS_LIST_TAIL, P2 DONEIMFILE_INDEX_NAME, PS_DATA_S32, "AUTO_INCREMENT", 0.0)) {11608 psError(PS_ERR_UNKNOWN, false, "failed to add item %s", P2 DONEIMFILE_INDEX_NAME);11592 if (!psMetadataAdd(md, PS_LIST_TAIL, P2PROCESSEDIMFILE_INDEX_NAME, PS_DATA_S32, "AUTO_INCREMENT", 0.0)) { 11593 psError(PS_ERR_UNKNOWN, false, "failed to add item %s", P2PROCESSEDIMFILE_INDEX_NAME); 11609 11594 psFree(md); 11610 11595 return false; … … 11630 11615 return false; 11631 11616 } 11617 if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg", 0, NULL, 0.0)) { 11618 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); 11619 psFree(md); 11620 return false; 11621 } 11622 if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, 0.0)) { 11623 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev"); 11624 psFree(md); 11625 return false; 11626 } 11627 if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, 0.0)) { 11628 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev"); 11629 psFree(md); 11630 return false; 11631 } 11632 if (!psMetadataAddStr(md, PS_LIST_TAIL, "b1_uri", 0, NULL, "64")) { 11633 psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri"); 11634 psFree(md); 11635 return false; 11636 } 11637 if (!psMetadataAddStr(md, PS_LIST_TAIL, "b2_uri", 0, NULL, "64")) { 11638 psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri"); 11639 psFree(md); 11640 return false; 11641 } 11632 11642 if (!psMetadataAddS32(md, PS_LIST_TAIL, "p1_version", 0, NULL, 0)) { 11633 11643 psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version"); … … 11641 11651 } 11642 11652 11643 status = psDBCreateTable(dbh, P2 DONEIMFILE_TABLE_NAME, md);11653 status = psDBCreateTable(dbh, P2PROCESSEDIMFILE_TABLE_NAME, md); 11644 11654 11645 11655 psFree(md); … … 11648 11658 } 11649 11659 11650 bool p2 DoneImfileDropTable(psDB *dbh)11651 { 11652 return psDBDropTable(dbh, P2 DONEIMFILE_TABLE_NAME);11653 } 11654 11655 bool p2 DoneImfileInsert(psDB * dbh, const char *exp_id, const char *class_id, const char *uri, const char *recipe, psS32 p1_version, psS32 p2_version)11660 bool p2ProcessedImfileDropTable(psDB *dbh) 11661 { 11662 return psDBDropTable(dbh, P2PROCESSEDIMFILE_TABLE_NAME); 11663 } 11664 11665 bool p2ProcessedImfileInsert(psDB * dbh, const char *exp_id, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *b1_uri, const char *b2_uri, psS32 p1_version, psS32 p2_version) 11656 11666 { 11657 11667 psMetadata *md; … … 11679 11689 return false; 11680 11690 } 11691 if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg", 0, NULL, bg)) { 11692 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); 11693 psFree(md); 11694 return false; 11695 } 11696 if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, bg_stdev)) { 11697 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev"); 11698 psFree(md); 11699 return false; 11700 } 11701 if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, bg_mean_stdev)) { 11702 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev"); 11703 psFree(md); 11704 return false; 11705 } 11706 if (!psMetadataAddStr(md, PS_LIST_TAIL, "b1_uri", 0, NULL, b1_uri)) { 11707 psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri"); 11708 psFree(md); 11709 return false; 11710 } 11711 if (!psMetadataAddStr(md, PS_LIST_TAIL, "b2_uri", 0, NULL, b2_uri)) { 11712 psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri"); 11713 psFree(md); 11714 return false; 11715 } 11681 11716 if (!psMetadataAddS32(md, PS_LIST_TAIL, "p1_version", 0, NULL, p1_version)) { 11682 11717 psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version"); … … 11690 11725 } 11691 11726 11692 status = psDBInsertOneRow(dbh, P2 DONEIMFILE_TABLE_NAME, md);11727 status = psDBInsertOneRow(dbh, P2PROCESSEDIMFILE_TABLE_NAME, md); 11693 11728 psFree(md); 11694 11729 … … 11696 11731 } 11697 11732 11698 long long p2 DoneImfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)11733 long long p2ProcessedImfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit) 11699 11734 { 11700 11735 long long deleted = 0; 11701 11736 11702 long long count = psDBDeleteRows(dbh, P2 DONEIMFILE_TABLE_NAME, where, limit);11737 long long count = psDBDeleteRows(dbh, P2PROCESSEDIMFILE_TABLE_NAME, where, limit); 11703 11738 if (count < 0) { 11704 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2 DoneImfile");11739 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2ProcessedImfile"); 11705 11740 return count; 11706 11741 … … 11710 11745 return deleted; 11711 11746 } 11712 bool p2 DoneImfilePop(psDB *dbh, char **exp_id, char **class_id, char **uri, char **recipe, psS32 *p1_version, psS32 *p2_version)11747 bool p2ProcessedImfilePop(psDB *dbh, char **exp_id, char **class_id, char **uri, char **recipe, psF64 *bg, psF64 *bg_stdev, psF64 *bg_mean_stdev, char **b1_uri, char **b2_uri, psS32 *p1_version, psS32 *p2_version) 11713 11748 { 11714 11749 psArray *rowSet; … … 11719 11754 int rowID; 11720 11755 11721 rowSet = psDBSelectRows(dbh, P2 DONEIMFILE_TABLE_NAME, NULL, 1);11756 rowSet = psDBSelectRows(dbh, P2PROCESSEDIMFILE_TABLE_NAME, NULL, 1); 11722 11757 if (!rowSet) { 11723 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item %s", P2 DONEIMFILE_INDEX_NAME);11758 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item %s", P2PROCESSEDIMFILE_INDEX_NAME); 11724 11759 psFree(rowSet); 11725 11760 return NULL; … … 11734 11769 psFree(rowSet); 11735 11770 11736 rowID = psMetadataLookupS32(&status, row, P2 DONEIMFILE_INDEX_NAME);11737 if (!status) { 11738 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item %s", P2 DONEIMFILE_INDEX_NAME);11771 rowID = psMetadataLookupS32(&status, row, P2PROCESSEDIMFILE_INDEX_NAME); 11772 if (!status) { 11773 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item %s", P2PROCESSEDIMFILE_INDEX_NAME); 11739 11774 psFree(row); 11740 11775 return NULL; … … 11742 11777 11743 11778 popped = psMetadataAlloc(); 11744 psMetadataAddS32(popped, PS_LIST_TAIL, P2 DONEIMFILE_INDEX_NAME, 0, NULL, rowID);11745 11746 deleted = psDBDeleteRows(dbh, P2 DONEIMFILE_TABLE_NAME, popped, 0);11779 psMetadataAddS32(popped, PS_LIST_TAIL, P2PROCESSEDIMFILE_INDEX_NAME, 0, NULL, rowID); 11780 11781 deleted = psDBDeleteRows(dbh, P2PROCESSEDIMFILE_TABLE_NAME, popped, 0); 11747 11782 if (deleted != 1) { 11748 11783 psError(PS_ERR_UNKNOWN, false, "database failed to delete row"); … … 11778 11813 return false; 11779 11814 } 11815 *bg = psMetadataLookupF64(&status, row, "bg"); 11816 if (!status) { 11817 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg"); 11818 psFree(row); 11819 return false; 11820 } 11821 *bg_stdev = psMetadataLookupF64(&status, row, "bg_stdev"); 11822 if (!status) { 11823 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_stdev"); 11824 psFree(row); 11825 return false; 11826 } 11827 *bg_mean_stdev = psMetadataLookupF64(&status, row, "bg_mean_stdev"); 11828 if (!status) { 11829 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_mean_stdev"); 11830 psFree(row); 11831 return false; 11832 } 11833 *b1_uri = psMetadataLookupPtr(&status, row, "b1_uri"); 11834 if (!status) { 11835 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item b1_uri"); 11836 psFree(row); 11837 return false; 11838 } 11839 *b2_uri = psMetadataLookupPtr(&status, row, "b2_uri"); 11840 if (!status) { 11841 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item b2_uri"); 11842 psFree(row); 11843 return false; 11844 } 11780 11845 *p1_version = psMetadataLookupS32(&status, row, "p1_version"); 11781 11846 if (!status) { … … 11796 11861 } 11797 11862 11798 bool p2 DoneImfileInsertObject(psDB *dbh, p2DoneImfileRow *object)11799 { 11800 return p2 DoneImfileInsert(dbh, object->exp_id, object->class_id, object->uri, object->recipe, object->p1_version, object->p2_version);11801 } 11802 11803 bool p2 DoneImfileInsertObjects(psDB *dbh, psArray *objects)11863 bool p2ProcessedImfileInsertObject(psDB *dbh, p2ProcessedImfileRow *object) 11864 { 11865 return p2ProcessedImfileInsert(dbh, object->exp_id, object->class_id, object->uri, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev, object->b1_uri, object->b2_uri, object->p1_version, object->p2_version); 11866 } 11867 11868 bool p2ProcessedImfileInsertObjects(psDB *dbh, psArray *objects) 11804 11869 { 11805 11870 for (long i = 0; i < psArrayLength(objects); i++) { 11806 if (!p2 DoneImfileInsertObject(dbh, objects->data[i])) {11871 if (!p2ProcessedImfileInsertObject(dbh, objects->data[i])) { 11807 11872 return false; 11808 11873 } … … 11812 11877 } 11813 11878 11814 p2 DoneImfileRow *p2DoneImfilePopObject(psDB *dbh)11879 p2ProcessedImfileRow *p2ProcessedImfilePopObject(psDB *dbh) 11815 11880 { 11816 11881 char exp_id[256]; … … 11818 11883 char uri[256]; 11819 11884 char recipe[256]; 11885 psF64 bg; 11886 psF64 bg_stdev; 11887 psF64 bg_mean_stdev; 11888 char b1_uri[256]; 11889 char b2_uri[256]; 11820 11890 psS32 p1_version; 11821 11891 psS32 p2_version; 11822 11892 11823 if (!p2 DoneImfilePop(dbh, (char **)&exp_id, (char **)&class_id, (char **)&uri, (char **)&recipe, &p1_version, &p2_version)) {11893 if (!p2ProcessedImfilePop(dbh, (char **)&exp_id, (char **)&class_id, (char **)&uri, (char **)&recipe, &bg, &bg_stdev, &bg_mean_stdev, (char **)&b1_uri, (char **)&b2_uri, &p1_version, &p2_version)) { 11824 11894 psError(PS_ERR_UNKNOWN, false, "failed to pop a database row"); 11825 11895 return NULL; 11826 11896 } 11827 11897 11828 return p2 DoneImfileRowAlloc(exp_id, class_id, uri, recipe, p1_version, p2_version);11829 } 11830 11831 bool p2 DoneImfileInsertFits(psDB *dbh, const psFits *fits)11898 return p2ProcessedImfileRowAlloc(exp_id, class_id, uri, recipe, bg, bg_stdev, bg_mean_stdev, b1_uri, b2_uri, p1_version, p2_version); 11899 } 11900 11901 bool p2ProcessedImfileInsertFits(psDB *dbh, const psFits *fits) 11832 11902 { 11833 11903 psArray *rowSet; 11834 11904 11835 // move to (the first?) extension named P2 DONEIMFILE_TABLE_NAME11836 if (!psFitsMoveExtName(fits, P2 DONEIMFILE_TABLE_NAME)) {11837 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P2 DONEIMFILE_TABLE_NAME);11905 // move to (the first?) extension named P2PROCESSEDIMFILE_TABLE_NAME 11906 if (!psFitsMoveExtName(fits, P2PROCESSEDIMFILE_TABLE_NAME)) { 11907 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P2PROCESSEDIMFILE_TABLE_NAME); 11838 11908 return false; 11839 11909 } … … 11853 11923 } 11854 11924 11855 if (!psDBInsertRows(dbh, P2 DONEIMFILE_TABLE_NAME, rowSet)) {11925 if (!psDBInsertRows(dbh, P2PROCESSEDIMFILE_TABLE_NAME, rowSet)) { 11856 11926 psError(PS_ERR_UNKNOWN, false, "databse insert failed"); 11857 11927 psFree(rowSet); … … 11864 11934 } 11865 11935 11866 bool p2 DoneImfilePopFits(psDB *dbh, psFits *fits, unsigned long long limit)11936 bool p2ProcessedImfilePopFits(psDB *dbh, psFits *fits, unsigned long long limit) 11867 11937 { 11868 11938 char query[MAX_STRING_LENGTH]; 11869 11939 11870 if (!p2 DoneImfileSelectRowsFits(dbh, fits, NULL, limit)) {11940 if (!p2ProcessedImfileSelectRowsFits(dbh, fits, NULL, limit)) { 11871 11941 psError(PS_ERR_UNKNOWN, true, "database error or table is empty"); 11872 11942 return false; … … 11876 11946 if (snprintf(query, MAX_STRING_LENGTH, 11877 11947 "DELETE FROM %s ORDER BY %s DESC LIMIT %lld", 11878 P2 DONEIMFILE_TABLE_NAME, P2DONEIMFILE_INDEX_NAME, limit) < 0) {11879 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed % sbytes", MAX_STRING_LENGTH);11948 P2PROCESSEDIMFILE_TABLE_NAME, P2PROCESSEDIMFILE_INDEX_NAME, limit) < 0) { 11949 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed %d bytes", MAX_STRING_LENGTH); 11880 11950 return false; 11881 11951 } … … 11889 11959 } 11890 11960 11891 bool p2 DoneImfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)11961 bool p2ProcessedImfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit) 11892 11962 { 11893 11963 psArray *rowSet; 11894 11964 psU64 i; 11895 11965 11896 rowSet = psDBSelectRows(dbh, P2 DONEIMFILE_TABLE_NAME, where, limit);11966 rowSet = psDBSelectRows(dbh, P2PROCESSEDIMFILE_TABLE_NAME, where, limit); 11897 11967 if (!rowSet) { 11898 11968 return false; … … 11901 11971 // strip index column 11902 11972 for (i = 0; i < rowSet->n; i++) { 11903 if (!psMetadataRemove((psMetadata *)rowSet->data[i], 0, P2 DONEIMFILE_INDEX_NAME)) {11904 psError(PS_ERR_UNKNOWN, true, "failed to remove item %s", P2 DONEIMFILE_INDEX_NAME);11973 if (!psMetadataRemove((psMetadata *)rowSet->data[i], 0, P2PROCESSEDIMFILE_INDEX_NAME)) { 11974 psError(PS_ERR_UNKNOWN, true, "failed to remove item %s", P2PROCESSEDIMFILE_INDEX_NAME); 11905 11975 psFree(rowSet); 11906 11976 return false; … … 11909 11979 11910 11980 // output to fits 11911 if (!psFitsWriteTable(fits, NULL, rowSet, P2 DONEIMFILE_TABLE_NAME)) {11981 if (!psFitsWriteTable(fits, NULL, rowSet, P2PROCESSEDIMFILE_TABLE_NAME)) { 11912 11982 psError(PS_ERR_UNKNOWN, false, "FITS table write failed"); 11913 11983 psFree(rowSet); … … 11920 11990 } 11921 11991 11922 psMetadata *p2 DoneImfileMetadataFromObject(const p2DoneImfileRow *object)11992 psMetadata *p2ProcessedImfileMetadataFromObject(const p2ProcessedImfileRow *object) 11923 11993 { 11924 11994 psMetadata *md; … … 11945 12015 return NULL; 11946 12016 } 12017 if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg", 0, NULL, object->bg)) { 12018 psError(PS_ERR_UNKNOWN, false, "failed to add item bg"); 12019 psFree(md); 12020 return NULL; 12021 } 12022 if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, object->bg_stdev)) { 12023 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev"); 12024 psFree(md); 12025 return NULL; 12026 } 12027 if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, object->bg_mean_stdev)) { 12028 psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev"); 12029 psFree(md); 12030 return NULL; 12031 } 12032 if (!psMetadataAddStr(md, PS_LIST_TAIL, "b1_uri", 0, NULL, object->b1_uri)) { 12033 psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri"); 12034 psFree(md); 12035 return NULL; 12036 } 12037 if (!psMetadataAddStr(md, PS_LIST_TAIL, "b2_uri", 0, NULL, object->b2_uri)) { 12038 psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri"); 12039 psFree(md); 12040 return NULL; 12041 } 11947 12042 if (!psMetadataAddS32(md, PS_LIST_TAIL, "p1_version", 0, NULL, object->p1_version)) { 11948 12043 psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version"); … … 11959 12054 } 11960 12055 11961 p2 DoneImfileRow *p2DoneImfileObjectFromMetadata(psMetadata *md)12056 p2ProcessedImfileRow *p2ProcessedImfileObjectFromMetadata(psMetadata *md) 11962 12057 { 11963 12058 bool status; … … 11966 12061 char *uri; 11967 12062 char *recipe; 12063 psF64 bg; 12064 psF64 bg_stdev; 12065 psF64 bg_mean_stdev; 12066 char *b1_uri; 12067 char *b2_uri; 11968 12068 psS32 p1_version; 11969 12069 psS32 p2_version; … … 11989 12089 return false; 11990 12090 } 12091 bg = psMetadataLookupF64(&status, md, "bg"); 12092 if (!status) { 12093 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg"); 12094 return false; 12095 } 12096 bg_stdev = psMetadataLookupF64(&status, md, "bg_stdev"); 12097 if (!status) { 12098 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_stdev"); 12099 return false; 12100 } 12101 bg_mean_stdev = psMetadataLookupF64(&status, md, "bg_mean_stdev"); 12102 if (!status) { 12103 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_mean_stdev"); 12104 return false; 12105 } 12106 b1_uri = psMetadataLookupPtr(&status, md, "b1_uri"); 12107 if (!status) { 12108 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item b1_uri"); 12109 return false; 12110 } 12111 b2_uri = psMetadataLookupPtr(&status, md, "b2_uri"); 12112 if (!status) { 12113 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item b2_uri"); 12114 return false; 12115 } 11991 12116 p1_version = psMetadataLookupS32(&status, md, "p1_version"); 11992 12117 if (!status) { … … 12000 12125 } 12001 12126 12002 return p2 DoneImfileRowAlloc(exp_id, class_id, uri, recipe, p1_version, p2_version);12003 } 12004 psArray *p2 DoneImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)12127 return p2ProcessedImfileRowAlloc(exp_id, class_id, uri, recipe, bg, bg_stdev, bg_mean_stdev, b1_uri, b2_uri, p1_version, p2_version); 12128 } 12129 psArray *p2ProcessedImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) 12005 12130 { 12006 12131 psArray *rowSet; … … 12008 12133 psU64 i; 12009 12134 12010 rowSet = psDBSelectRows(dbh, P2 DONEIMFILE_TABLE_NAME, where, limit);12135 rowSet = psDBSelectRows(dbh, P2PROCESSEDIMFILE_TABLE_NAME, where, limit); 12011 12136 if (!rowSet) { 12012 12137 return NULL; … … 12015 12140 // strip index column 12016 12141 for (i = 0; i < rowSet->n; i++) { 12017 if (!psMetadataRemove((psMetadata *)(rowSet->data[i]), 0, P2 DONEIMFILE_INDEX_NAME)) {12018 psError(PS_ERR_UNKNOWN, true, "failed to remove item %s", P2 DONEIMFILE_INDEX_NAME);12142 if (!psMetadataRemove((psMetadata *)(rowSet->data[i]), 0, P2PROCESSEDIMFILE_INDEX_NAME)) { 12143 psError(PS_ERR_UNKNOWN, true, "failed to remove item %s", P2PROCESSEDIMFILE_INDEX_NAME); 12019 12144 psFree(rowSet); 12020 12145 return false; … … 12028 12153 12029 12154 for (i = 0; i < rowSet->n; i++) { 12030 p2 DoneImfileRow *object = p2DoneImfileObjectFromMetadata(rowSet->data[i]);12155 p2ProcessedImfileRow *object = p2ProcessedImfileObjectFromMetadata(rowSet->data[i]); 12031 12156 psArrayAdd(returnSet, 0, object); 12032 12157 psFree(object); … … 12037 12162 return returnSet; 12038 12163 } 12039 bool p2 DoneImfileDeleteObject(psDB *dbh, const p2DoneImfileRow *object)12040 { 12041 psMetadata *where = p2 DoneImfileMetadataFromObject(object);12042 long long count = psDBDeleteRows(dbh, P2 DONEIMFILE_TABLE_NAME, where, 0);12164 bool p2ProcessedImfileDeleteObject(psDB *dbh, const p2ProcessedImfileRow *object) 12165 { 12166 psMetadata *where = p2ProcessedImfileMetadataFromObject(object); 12167 long long count = psDBDeleteRows(dbh, P2PROCESSEDIMFILE_TABLE_NAME, where, 0); 12043 12168 psFree(where) 12044 12169 if (count < 0) { 12045 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2 DoneImfile");12170 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2ProcessedImfile"); 12046 12171 return false; 12047 12172 } … … 12049 12174 // XXX should this be a psAbort() instead? It is possible that 12050 12175 // having an object match multiple rows was by design. 12051 psError(PS_ERR_UNKNOWN, true, "p2 DoneImfileRow object matched more then one row. Check your database schema");12052 return false; 12053 } 12054 12055 return true; 12056 } 12057 long long p2 DoneImfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)12176 psError(PS_ERR_UNKNOWN, true, "p2ProcessedImfileRow object matched more then one row. Check your database schema"); 12177 return false; 12178 } 12179 12180 return true; 12181 } 12182 long long p2ProcessedImfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit) 12058 12183 { 12059 12184 long long deleted = 0; 12060 12185 12061 12186 for (long long i = 0; i < objects->n; i++) { 12062 p2 DoneImfileRow *object = objects->data[i];12063 psMetadata *where = p2 DoneImfileMetadataFromObject(object);12064 long long count = psDBDeleteRows(dbh, P2 DONEIMFILE_TABLE_NAME, where, limit);12187 p2ProcessedImfileRow *object = objects->data[i]; 12188 psMetadata *where = p2ProcessedImfileMetadataFromObject(object); 12189 long long count = psDBDeleteRows(dbh, P2PROCESSEDIMFILE_TABLE_NAME, where, limit); 12065 12190 psFree(where) 12066 12191 if (count < 0) { 12067 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2 DoneImfile");12192 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2ProcessedImfile"); 12068 12193 return count; 12069 12194 } … … 12074 12199 return deleted; 12075 12200 } 12076 bool p2 DoneImfilePrintObjects(FILE *stream, psArray *objects, bool mdcf)12201 bool p2ProcessedImfilePrintObjects(FILE *stream, psArray *objects, bool mdcf) 12077 12202 { 12078 12203 PS_ASSERT_PTR_NON_NULL(objects, false); … … 12080 12205 psMetadata *output = psMetadataAlloc(); 12081 12206 for (long i = 0; i < psArrayLength(objects); i++) { 12082 psMetadata *md = p2 DoneImfileMetadataFromObject(objects->data[i]);12207 psMetadata *md = p2ProcessedImfileMetadataFromObject(objects->data[i]); 12083 12208 if (!psMetadataAddMetadata( 12084 12209 output, 12085 12210 PS_LIST_TAIL, 12086 P2 DONEIMFILE_TABLE_NAME,12211 P2PROCESSEDIMFILE_TABLE_NAME, 12087 12212 PS_META_DUPLICATE_OK, 12088 12213 NULL, … … 12107 12232 static void p3PendingExpRowFree(p3PendingExpRow *object); 12108 12233 12109 p3PendingExpRow *p3PendingExpRowAlloc(const char *exp_id, const char *recipe,psS32 p2_version, psS32 p3_version)12234 p3PendingExpRow *p3PendingExpRowAlloc(const char *exp_id, psS32 p2_version, psS32 p3_version) 12110 12235 { 12111 12236 p3PendingExpRow *object; … … 12115 12240 12116 12241 object->exp_id = psStringCopy(exp_id); 12117 object->recipe = psStringCopy(recipe);12118 12242 object->p2_version = p2_version; 12119 12243 object->p3_version = p3_version; … … 12125 12249 { 12126 12250 psFree(object->exp_id); 12127 psFree(object->recipe);12128 12251 } 12129 12252 … … 12144 12267 return false; 12145 12268 } 12146 if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, "64")) {12147 psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");12148 psFree(md);12149 return false;12150 }12151 12269 if (!psMetadataAddS32(md, PS_LIST_TAIL, "p2_version", 0, NULL, 0)) { 12152 12270 psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version"); … … 12172 12290 } 12173 12291 12174 bool p3PendingExpInsert(psDB * dbh, const char *exp_id, const char *recipe,psS32 p2_version, psS32 p3_version)12292 bool p3PendingExpInsert(psDB * dbh, const char *exp_id, psS32 p2_version, psS32 p3_version) 12175 12293 { 12176 12294 psMetadata *md; … … 12180 12298 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, exp_id)) { 12181 12299 psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id"); 12182 psFree(md);12183 return false;12184 }12185 if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, recipe)) {12186 psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");12187 12300 psFree(md); 12188 12301 return false; … … 12219 12332 return deleted; 12220 12333 } 12221 bool p3PendingExpPop(psDB *dbh, char **exp_id, char **recipe,psS32 *p2_version, psS32 *p3_version)12334 bool p3PendingExpPop(psDB *dbh, char **exp_id, psS32 *p2_version, psS32 *p3_version) 12222 12335 { 12223 12336 psArray *rowSet; … … 12269 12382 return false; 12270 12383 } 12271 *recipe = psMetadataLookupPtr(&status, row, "recipe");12272 if (!status) {12273 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item recipe");12274 psFree(row);12275 return false;12276 }12277 12384 *p2_version = psMetadataLookupS32(&status, row, "p2_version"); 12278 12385 if (!status) { … … 12295 12402 bool p3PendingExpInsertObject(psDB *dbh, p3PendingExpRow *object) 12296 12403 { 12297 return p3PendingExpInsert(dbh, object->exp_id, object-> recipe, object->p2_version, object->p3_version);12404 return p3PendingExpInsert(dbh, object->exp_id, object->p2_version, object->p3_version); 12298 12405 } 12299 12406 … … 12312 12419 { 12313 12420 char exp_id[256]; 12314 char recipe[256];12315 12421 psS32 p2_version; 12316 12422 psS32 p3_version; 12317 12423 12318 if (!p3PendingExpPop(dbh, (char **)&exp_id, (char **)&recipe,&p2_version, &p3_version)) {12424 if (!p3PendingExpPop(dbh, (char **)&exp_id, &p2_version, &p3_version)) { 12319 12425 psError(PS_ERR_UNKNOWN, false, "failed to pop a database row"); 12320 12426 return NULL; 12321 12427 } 12322 12428 12323 return p3PendingExpRowAlloc(exp_id, recipe,p2_version, p3_version);12429 return p3PendingExpRowAlloc(exp_id, p2_version, p3_version); 12324 12430 } 12325 12431 … … 12372 12478 "DELETE FROM %s ORDER BY %s DESC LIMIT %lld", 12373 12479 P3PENDINGEXP_TABLE_NAME, P3PENDINGEXP_INDEX_NAME, limit) < 0) { 12374 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed % sbytes", MAX_STRING_LENGTH);12480 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed %d bytes", MAX_STRING_LENGTH); 12375 12481 return false; 12376 12482 } … … 12425 12531 return NULL; 12426 12532 } 12427 if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, object->recipe)) {12428 psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");12429 psFree(md);12430 return NULL;12431 }12432 12533 if (!psMetadataAddS32(md, PS_LIST_TAIL, "p2_version", 0, NULL, object->p2_version)) { 12433 12534 psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version"); … … 12448 12549 bool status; 12449 12550 char *exp_id; 12450 char *recipe;12451 12551 psS32 p2_version; 12452 12552 psS32 p3_version; … … 12457 12557 return false; 12458 12558 } 12459 recipe = psMetadataLookupPtr(&status, md, "recipe");12460 if (!status) {12461 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item recipe");12462 return false;12463 }12464 12559 p2_version = psMetadataLookupS32(&status, md, "p2_version"); 12465 12560 if (!status) { … … 12473 12568 } 12474 12569 12475 return p3PendingExpRowAlloc(exp_id, recipe,p2_version, p3_version);12570 return p3PendingExpRowAlloc(exp_id, p2_version, p3_version); 12476 12571 } 12477 12572 psArray *p3PendingExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) … … 12808 12903 "DELETE FROM %s ORDER BY %s DESC LIMIT %lld", 12809 12904 DETRUN_TABLE_NAME, DETRUN_INDEX_NAME, limit) < 0) { 12810 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed % sbytes", MAX_STRING_LENGTH);12905 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed %d bytes", MAX_STRING_LENGTH); 12811 12906 return false; 12812 12907 } … … 13258 13353 "DELETE FROM %s ORDER BY %s DESC LIMIT %lld", 13259 13354 DETINPUTEXP_TABLE_NAME, DETINPUTEXP_INDEX_NAME, limit) < 0) { 13260 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed % sbytes", MAX_STRING_LENGTH);13355 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed %d bytes", MAX_STRING_LENGTH); 13261 13356 return false; 13262 13357 } … … 13805 13900 "DELETE FROM %s ORDER BY %s DESC LIMIT %lld", 13806 13901 DETPROCESSEDIMFILE_TABLE_NAME, DETPROCESSEDIMFILE_INDEX_NAME, limit) < 0) { 13807 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed % sbytes", MAX_STRING_LENGTH);13902 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed %d bytes", MAX_STRING_LENGTH); 13808 13903 return false; 13809 13904 } … … 14413 14508 "DELETE FROM %s ORDER BY %s DESC LIMIT %lld", 14414 14509 DETSTACKEDIMFILE_TABLE_NAME, DETSTACKEDIMFILE_INDEX_NAME, limit) < 0) { 14415 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed % sbytes", MAX_STRING_LENGTH);14510 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed %d bytes", MAX_STRING_LENGTH); 14416 14511 return false; 14417 14512 } … … 14940 15035 "DELETE FROM %s ORDER BY %s DESC LIMIT %lld", 14941 15036 DETNORMALIZEDSTATIMFILE_TABLE_NAME, DETNORMALIZEDSTATIMFILE_INDEX_NAME, limit) < 0) { 14942 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed % sbytes", MAX_STRING_LENGTH);15037 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed %d bytes", MAX_STRING_LENGTH); 14943 15038 return false; 14944 15039 } … … 15413 15508 "DELETE FROM %s ORDER BY %s DESC LIMIT %lld", 15414 15509 DETNORMALIZEDIMFILE_TABLE_NAME, DETNORMALIZEDIMFILE_INDEX_NAME, limit) < 0) { 15415 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed % sbytes", MAX_STRING_LENGTH);15510 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed %d bytes", MAX_STRING_LENGTH); 15416 15511 return false; 15417 15512 } … … 15867 15962 "DELETE FROM %s ORDER BY %s DESC LIMIT %lld", 15868 15963 DETMASTERFRAME_TABLE_NAME, DETMASTERFRAME_INDEX_NAME, limit) < 0) { 15869 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed % sbytes", MAX_STRING_LENGTH);15964 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed %d bytes", MAX_STRING_LENGTH); 15870 15965 return false; 15871 15966 } … … 16330 16425 "DELETE FROM %s ORDER BY %s DESC LIMIT %lld", 16331 16426 DETMASTERIMFILE_TABLE_NAME, DETMASTERIMFILE_INDEX_NAME, limit) < 0) { 16332 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed % sbytes", MAX_STRING_LENGTH);16427 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed %d bytes", MAX_STRING_LENGTH); 16333 16428 return false; 16334 16429 } … … 16933 17028 "DELETE FROM %s ORDER BY %s DESC LIMIT %lld", 16934 17029 DETRESIDIMFILE_TABLE_NAME, DETRESIDIMFILE_INDEX_NAME, limit) < 0) { 16935 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed % sbytes", MAX_STRING_LENGTH);17030 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed %d bytes", MAX_STRING_LENGTH); 16936 17031 return false; 16937 17032 } … … 17593 17688 "DELETE FROM %s ORDER BY %s DESC LIMIT %lld", 17594 17689 DETRESIDEXP_TABLE_NAME, DETRESIDEXP_INDEX_NAME, limit) < 0) { 17595 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed % sbytes", MAX_STRING_LENGTH);17690 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed %d bytes", MAX_STRING_LENGTH); 17596 17691 return false; 17597 17692 } … … 18166 18261 "DELETE FROM %s ORDER BY %s DESC LIMIT %lld", 18167 18262 DETRUNSUMMARY_TABLE_NAME, DETRUNSUMMARY_INDEX_NAME, limit) < 0) { 18168 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed % sbytes", MAX_STRING_LENGTH);18263 psError(PS_ERR_UNKNOWN, true, "query value attempted to exceed %d bytes", MAX_STRING_LENGTH); 18169 18264 return false; 18170 18265 } -
trunk/ippdb/src/ippdb.h
r8543 r8665 1 /* 2 * 3 * This file was generated by glueforge 0.24 4 * 5 * Do NOT directly edit this file. 6 * 7 */ 8 1 9 #ifndef IPPDB_H 2 10 #define IPPDB_H 1 … … 4666 4674 bool mdcf ///< format as mdconfig or simple 4667 4675 ); 4668 /** p2 DoneExpRow data structure4669 * 4670 * Structure for representing a single row of p2 DoneExp table data.4676 /** p2ProcessedExpRow data structure 4677 * 4678 * Structure for representing a single row of p2ProcessedExp table data. 4671 4679 */ 4672 4680 4673 4681 typedef struct { 4674 4682 char *exp_id; 4675 char *recipe;4676 4683 psS32 p1_version; 4677 4684 psS32 p2_version; 4678 } p2 DoneExpRow;4679 4680 /** Creates a new p2 DoneExpRow object4681 * 4682 * @return A new p2 DoneExpRow object or NULL on failure.4683 */ 4684 4685 p2 DoneExpRow *p2DoneExpRowAlloc(4685 } p2ProcessedExpRow; 4686 4687 /** Creates a new p2ProcessedExpRow object 4688 * 4689 * @return A new p2ProcessedExpRow object or NULL on failure. 4690 */ 4691 4692 p2ProcessedExpRow *p2ProcessedExpRowAlloc( 4686 4693 const char *exp_id, 4687 const char *recipe,4688 4694 psS32 p1_version, 4689 4695 psS32 p2_version 4690 4696 ); 4691 4697 4692 /** Creates a new p2 DoneExp table4693 * 4694 * @return true on success 4695 */ 4696 4697 bool p2 DoneExpCreateTable(4698 psDB *dbh ///< Database handle 4699 ); 4700 4701 /** Deletes a p2 DoneExp table4702 * 4703 * @return true on success 4704 */ 4705 4706 bool p2 DoneExpDropTable(4698 /** Creates a new p2ProcessedExp table 4699 * 4700 * @return true on success 4701 */ 4702 4703 bool p2ProcessedExpCreateTable( 4704 psDB *dbh ///< Database handle 4705 ); 4706 4707 /** Deletes a p2ProcessedExp table 4708 * 4709 * @return true on success 4710 */ 4711 4712 bool p2ProcessedExpDropTable( 4707 4713 psDB *dbh ///< Database handle 4708 4714 ); … … 4715 4721 */ 4716 4722 4717 bool p2 DoneExpInsert(4723 bool p2ProcessedExpInsert( 4718 4724 psDB *dbh, ///< Database handle 4719 4725 const char *exp_id, 4720 const char *recipe,4721 4726 psS32 p1_version, 4722 4727 psS32 p2_version … … 4728 4733 */ 4729 4734 4730 long long p2 DoneExpDelete(4735 long long p2ProcessedExpDelete( 4731 4736 psDB *dbh, ///< Database handle 4732 4737 const psMetadata *where, ///< Row match criteria … … 4739 4744 */ 4740 4745 4741 bool p2 DoneExpPop(4746 bool p2ProcessedExpPop( 4742 4747 psDB *dbh, ///< Database handle 4743 4748 char **exp_id, 4744 char **recipe,4745 4749 psS32 *p1_version, 4746 4750 psS32 *p2_version 4747 4751 ); 4748 4752 4749 /** Insert a single p2 DoneExpRow object into a table4753 /** Insert a single p2ProcessedExpRow object into a table 4750 4754 * 4751 4755 * This function constructs and inserts a single row based on it's parameters. … … 4754 4758 */ 4755 4759 4756 bool p2 DoneExpInsertObject(4757 psDB *dbh, ///< Database handle 4758 p2 DoneExpRow *object ///< p2DoneExpRow object4759 ); 4760 4761 /** Insert an array of p2 DoneExpRow object into a table4760 bool p2ProcessedExpInsertObject( 4761 psDB *dbh, ///< Database handle 4762 p2ProcessedExpRow *object ///< p2ProcessedExpRow object 4763 ); 4764 4765 /** Insert an array of p2ProcessedExpRow object into a table 4762 4766 * 4763 4767 * This function constructs and inserts multiple rows based on it's parameters. … … 4766 4770 */ 4767 4771 4768 bool p2 DoneExpInsertObjects(4769 psDB *dbh, ///< Database handle 4770 psArray *objects ///< array of p2 DoneExpRow objects4772 bool p2ProcessedExpInsertObjects( 4773 psDB *dbh, ///< Database handle 4774 psArray *objects ///< array of p2ProcessedExpRow objects 4771 4775 ); 4772 4776 4773 4777 /** Removes the last row from the database and returns it 4774 4778 * 4775 * @return A new p2 DoneExpRow on success or NULL on failure.4776 */ 4777 4778 p2 DoneExpRow *p2DoneExpPopObject(4779 psDB *dbh ///< Database handle 4780 ); 4781 4782 /** Insert data from a binary FITS table p2 DoneExpRow into the database4779 * @return A new p2ProcessedExpRow on success or NULL on failure. 4780 */ 4781 4782 p2ProcessedExpRow *p2ProcessedExpPopObject( 4783 psDB *dbh ///< Database handle 4784 ); 4785 4786 /** Insert data from a binary FITS table p2ProcessedExpRow into the database 4783 4787 * 4784 4788 * This function expects a psFits object with a FITS table as the first … … 4790 4794 */ 4791 4795 4792 bool p2 DoneExpInsertFits(4796 bool p2ProcessedExpInsertFits( 4793 4797 psDB *dbh, ///< Database handle 4794 4798 const psFits *fits ///< psFits object … … 4803 4807 */ 4804 4808 4805 bool p2 DoneExpPopFits(4809 bool p2ProcessedExpPopFits( 4806 4810 psDB *dbh, ///< Database handle 4807 4811 psFits *fits, ///< psFits object … … 4819 4823 */ 4820 4824 4821 bool p2 DoneExpSelectRowsFits(4825 bool p2ProcessedExpSelectRowsFits( 4822 4826 psDB *dbh, ///< Database handle 4823 4827 psFits *fits, ///< psFits object … … 4826 4830 ); 4827 4831 4828 /** Convert a p2 DoneExpRow into an equivalent psMetadata4832 /** Convert a p2ProcessedExpRow into an equivalent psMetadata 4829 4833 * 4830 4834 * @return A psMetadata pointer or NULL on error 4831 4835 */ 4832 4836 4833 psMetadata *p2 DoneExpMetadataFromObject(4834 const p2 DoneExpRow *object ///< fooRow to convert into a psMetadata4837 psMetadata *p2ProcessedExpMetadataFromObject( 4838 const p2ProcessedExpRow *object ///< fooRow to convert into a psMetadata 4835 4839 ); 4836 4840 4837 4841 /** Convert a psMetadata into an equivalent fooRow 4838 4842 * 4839 * @return A p2 DoneExpRow pointer or NULL on error4840 */ 4841 4842 p2 DoneExpRow *p2DoneExpObjectFromMetadata(4843 * @return A p2ProcessedExpRow pointer or NULL on error 4844 */ 4845 4846 p2ProcessedExpRow *p2ProcessedExpObjectFromMetadata( 4843 4847 psMetadata *md ///< psMetadata to convert into a fooRow 4844 4848 ); 4845 /** Selects up to limit rows from the database and returns as p2 DoneExpRow objects in a psArray4849 /** Selects up to limit rows from the database and returns as p2ProcessedExpRow objects in a psArray 4846 4850 * 4847 4851 * See psDBSelectRows() for documentation on the format of where. … … 4850 4854 */ 4851 4855 4852 psArray *p2 DoneExpSelectRowObjects(4853 psDB *dbh, ///< Database handle 4854 const psMetadata *where, ///< Row match criteria 4855 unsigned long long limit ///< Maximum number of elements to return 4856 ); 4857 /** Deletes a row from the database coresponding to an p2 DoneExp4856 psArray *p2ProcessedExpSelectRowObjects( 4857 psDB *dbh, ///< Database handle 4858 const psMetadata *where, ///< Row match criteria 4859 unsigned long long limit ///< Maximum number of elements to return 4860 ); 4861 /** Deletes a row from the database coresponding to an p2ProcessedExp 4858 4862 * 4859 4863 * Note that a 'where' search psMetadata is constructed from each object and … … 4863 4867 */ 4864 4868 4865 bool p2 DoneExpDeleteObject(4866 psDB *dbh, ///< Database handle 4867 const p2 DoneExpRow *object ///< Object to delete4869 bool p2ProcessedExpDeleteObject( 4870 psDB *dbh, ///< Database handle 4871 const p2ProcessedExpRow *object ///< Object to delete 4868 4872 ); 4869 4873 /** Deletes up to limit rows from the database and returns the number of rows actually deleted. … … 4875 4879 */ 4876 4880 4877 long long p2 DoneExpDeleteRowObjects(4881 long long p2ProcessedExpDeleteRowObjects( 4878 4882 psDB *dbh, ///< Database handle 4879 4883 const psArray *objects, ///< Array of objects to delete 4880 4884 unsigned long long limit ///< Maximum number of elements to delete 4881 4885 ); 4882 /** Formats and prints an array of p2 DoneExpRow objects4886 /** Formats and prints an array of p2ProcessedExpRow objects 4883 4887 * 4884 4888 * When mdcf is set the formated output is in psMetadataConfig … … 4888 4892 */ 4889 4893 4890 bool p2 DoneExpPrintObjects(4894 bool p2ProcessedExpPrintObjects( 4891 4895 FILE *stream, ///< a stream 4892 psArray *objects, ///< An array of p2 DoneExpRow objects4896 psArray *objects, ///< An array of p2ProcessedExpRow objects 4893 4897 bool mdcf ///< format as mdconfig or simple 4894 4898 ); 4895 /** p2 DoneImfileRow data structure4896 * 4897 * Structure for representing a single row of p2 DoneImfile table data.4899 /** p2ProcessedImfileRow data structure 4900 * 4901 * Structure for representing a single row of p2ProcessedImfile table data. 4898 4902 */ 4899 4903 … … 4903 4907 char *uri; 4904 4908 char *recipe; 4909 psF64 bg; 4910 psF64 bg_stdev; 4911 psF64 bg_mean_stdev; 4912 char *b1_uri; 4913 char *b2_uri; 4905 4914 psS32 p1_version; 4906 4915 psS32 p2_version; 4907 } p2 DoneImfileRow;4908 4909 /** Creates a new p2 DoneImfileRow object4910 * 4911 * @return A new p2 DoneImfileRow object or NULL on failure.4912 */ 4913 4914 p2 DoneImfileRow *p2DoneImfileRowAlloc(4916 } p2ProcessedImfileRow; 4917 4918 /** Creates a new p2ProcessedImfileRow object 4919 * 4920 * @return A new p2ProcessedImfileRow object or NULL on failure. 4921 */ 4922 4923 p2ProcessedImfileRow *p2ProcessedImfileRowAlloc( 4915 4924 const char *exp_id, 4916 4925 const char *class_id, 4917 4926 const char *uri, 4918 4927 const char *recipe, 4928 psF64 bg, 4929 psF64 bg_stdev, 4930 psF64 bg_mean_stdev, 4931 const char *b1_uri, 4932 const char *b2_uri, 4919 4933 psS32 p1_version, 4920 4934 psS32 p2_version 4921 4935 ); 4922 4936 4923 /** Creates a new p2 DoneImfile table4924 * 4925 * @return true on success 4926 */ 4927 4928 bool p2 DoneImfileCreateTable(4929 psDB *dbh ///< Database handle 4930 ); 4931 4932 /** Deletes a p2 DoneImfile table4933 * 4934 * @return true on success 4935 */ 4936 4937 bool p2 DoneImfileDropTable(4937 /** Creates a new p2ProcessedImfile table 4938 * 4939 * @return true on success 4940 */ 4941 4942 bool p2ProcessedImfileCreateTable( 4943 psDB *dbh ///< Database handle 4944 ); 4945 4946 /** Deletes a p2ProcessedImfile table 4947 * 4948 * @return true on success 4949 */ 4950 4951 bool p2ProcessedImfileDropTable( 4938 4952 psDB *dbh ///< Database handle 4939 4953 ); … … 4946 4960 */ 4947 4961 4948 bool p2 DoneImfileInsert(4962 bool p2ProcessedImfileInsert( 4949 4963 psDB *dbh, ///< Database handle 4950 4964 const char *exp_id, … … 4952 4966 const char *uri, 4953 4967 const char *recipe, 4968 psF64 bg, 4969 psF64 bg_stdev, 4970 psF64 bg_mean_stdev, 4971 const char *b1_uri, 4972 const char *b2_uri, 4954 4973 psS32 p1_version, 4955 4974 psS32 p2_version … … 4961 4980 */ 4962 4981 4963 long long p2 DoneImfileDelete(4982 long long p2ProcessedImfileDelete( 4964 4983 psDB *dbh, ///< Database handle 4965 4984 const psMetadata *where, ///< Row match criteria … … 4972 4991 */ 4973 4992 4974 bool p2 DoneImfilePop(4993 bool p2ProcessedImfilePop( 4975 4994 psDB *dbh, ///< Database handle 4976 4995 char **exp_id, … … 4978 4997 char **uri, 4979 4998 char **recipe, 4999 psF64 *bg, 5000 psF64 *bg_stdev, 5001 psF64 *bg_mean_stdev, 5002 char **b1_uri, 5003 char **b2_uri, 4980 5004 psS32 *p1_version, 4981 5005 psS32 *p2_version 4982 5006 ); 4983 5007 4984 /** Insert a single p2 DoneImfileRow object into a table5008 /** Insert a single p2ProcessedImfileRow object into a table 4985 5009 * 4986 5010 * This function constructs and inserts a single row based on it's parameters. … … 4989 5013 */ 4990 5014 4991 bool p2 DoneImfileInsertObject(4992 psDB *dbh, ///< Database handle 4993 p2 DoneImfileRow *object ///< p2DoneImfileRow object4994 ); 4995 4996 /** Insert an array of p2 DoneImfileRow object into a table5015 bool p2ProcessedImfileInsertObject( 5016 psDB *dbh, ///< Database handle 5017 p2ProcessedImfileRow *object ///< p2ProcessedImfileRow object 5018 ); 5019 5020 /** Insert an array of p2ProcessedImfileRow object into a table 4997 5021 * 4998 5022 * This function constructs and inserts multiple rows based on it's parameters. … … 5001 5025 */ 5002 5026 5003 bool p2 DoneImfileInsertObjects(5004 psDB *dbh, ///< Database handle 5005 psArray *objects ///< array of p2 DoneImfileRow objects5027 bool p2ProcessedImfileInsertObjects( 5028 psDB *dbh, ///< Database handle 5029 psArray *objects ///< array of p2ProcessedImfileRow objects 5006 5030 ); 5007 5031 5008 5032 /** Removes the last row from the database and returns it 5009 5033 * 5010 * @return A new p2 DoneImfileRow on success or NULL on failure.5011 */ 5012 5013 p2 DoneImfileRow *p2DoneImfilePopObject(5014 psDB *dbh ///< Database handle 5015 ); 5016 5017 /** Insert data from a binary FITS table p2 DoneImfileRow into the database5034 * @return A new p2ProcessedImfileRow on success or NULL on failure. 5035 */ 5036 5037 p2ProcessedImfileRow *p2ProcessedImfilePopObject( 5038 psDB *dbh ///< Database handle 5039 ); 5040 5041 /** Insert data from a binary FITS table p2ProcessedImfileRow into the database 5018 5042 * 5019 5043 * This function expects a psFits object with a FITS table as the first … … 5025 5049 */ 5026 5050 5027 bool p2 DoneImfileInsertFits(5051 bool p2ProcessedImfileInsertFits( 5028 5052 psDB *dbh, ///< Database handle 5029 5053 const psFits *fits ///< psFits object … … 5038 5062 */ 5039 5063 5040 bool p2 DoneImfilePopFits(5064 bool p2ProcessedImfilePopFits( 5041 5065 psDB *dbh, ///< Database handle 5042 5066 psFits *fits, ///< psFits object … … 5054 5078 */ 5055 5079 5056 bool p2 DoneImfileSelectRowsFits(5080 bool p2ProcessedImfileSelectRowsFits( 5057 5081 psDB *dbh, ///< Database handle 5058 5082 psFits *fits, ///< psFits object … … 5061 5085 ); 5062 5086 5063 /** Convert a p2 DoneImfileRow into an equivalent psMetadata5087 /** Convert a p2ProcessedImfileRow into an equivalent psMetadata 5064 5088 * 5065 5089 * @return A psMetadata pointer or NULL on error 5066 5090 */ 5067 5091 5068 psMetadata *p2 DoneImfileMetadataFromObject(5069 const p2 DoneImfileRow *object ///< fooRow to convert into a psMetadata5092 psMetadata *p2ProcessedImfileMetadataFromObject( 5093 const p2ProcessedImfileRow *object ///< fooRow to convert into a psMetadata 5070 5094 ); 5071 5095 5072 5096 /** Convert a psMetadata into an equivalent fooRow 5073 5097 * 5074 * @return A p2 DoneImfileRow pointer or NULL on error5075 */ 5076 5077 p2 DoneImfileRow *p2DoneImfileObjectFromMetadata(5098 * @return A p2ProcessedImfileRow pointer or NULL on error 5099 */ 5100 5101 p2ProcessedImfileRow *p2ProcessedImfileObjectFromMetadata( 5078 5102 psMetadata *md ///< psMetadata to convert into a fooRow 5079 5103 ); 5080 /** Selects up to limit rows from the database and returns as p2 DoneImfileRow objects in a psArray5104 /** Selects up to limit rows from the database and returns as p2ProcessedImfileRow objects in a psArray 5081 5105 * 5082 5106 * See psDBSelectRows() for documentation on the format of where. … … 5085 5109 */ 5086 5110 5087 psArray *p2 DoneImfileSelectRowObjects(5088 psDB *dbh, ///< Database handle 5089 const psMetadata *where, ///< Row match criteria 5090 unsigned long long limit ///< Maximum number of elements to return 5091 ); 5092 /** Deletes a row from the database coresponding to an p2 DoneImfile5111 psArray *p2ProcessedImfileSelectRowObjects( 5112 psDB *dbh, ///< Database handle 5113 const psMetadata *where, ///< Row match criteria 5114 unsigned long long limit ///< Maximum number of elements to return 5115 ); 5116 /** Deletes a row from the database coresponding to an p2ProcessedImfile 5093 5117 * 5094 5118 * Note that a 'where' search psMetadata is constructed from each object and … … 5098 5122 */ 5099 5123 5100 bool p2 DoneImfileDeleteObject(5101 psDB *dbh, ///< Database handle 5102 const p2 DoneImfileRow *object ///< Object to delete5124 bool p2ProcessedImfileDeleteObject( 5125 psDB *dbh, ///< Database handle 5126 const p2ProcessedImfileRow *object ///< Object to delete 5103 5127 ); 5104 5128 /** Deletes up to limit rows from the database and returns the number of rows actually deleted. … … 5110 5134 */ 5111 5135 5112 long long p2 DoneImfileDeleteRowObjects(5136 long long p2ProcessedImfileDeleteRowObjects( 5113 5137 psDB *dbh, ///< Database handle 5114 5138 const psArray *objects, ///< Array of objects to delete 5115 5139 unsigned long long limit ///< Maximum number of elements to delete 5116 5140 ); 5117 /** Formats and prints an array of p2 DoneImfileRow objects5141 /** Formats and prints an array of p2ProcessedImfileRow objects 5118 5142 * 5119 5143 * When mdcf is set the formated output is in psMetadataConfig … … 5123 5147 */ 5124 5148 5125 bool p2 DoneImfilePrintObjects(5149 bool p2ProcessedImfilePrintObjects( 5126 5150 FILE *stream, ///< a stream 5127 psArray *objects, ///< An array of p2 DoneImfileRow objects5151 psArray *objects, ///< An array of p2ProcessedImfileRow objects 5128 5152 bool mdcf ///< format as mdconfig or simple 5129 5153 ); … … 5135 5159 typedef struct { 5136 5160 char *exp_id; 5137 char *recipe;5138 5161 psS32 p2_version; 5139 5162 psS32 p3_version; … … 5147 5170 p3PendingExpRow *p3PendingExpRowAlloc( 5148 5171 const char *exp_id, 5149 const char *recipe,5150 5172 psS32 p2_version, 5151 5173 psS32 p3_version … … 5180 5202 psDB *dbh, ///< Database handle 5181 5203 const char *exp_id, 5182 const char *recipe,5183 5204 psS32 p2_version, 5184 5205 psS32 p3_version … … 5204 5225 psDB *dbh, ///< Database handle 5205 5226 char **exp_id, 5206 char **recipe,5207 5227 psS32 *p2_version, 5208 5228 psS32 *p3_version -
trunk/ippdb/tests/alloc.c
r8543 r8665 815 815 816 816 { 817 p2DoneExpRow *object; 818 819 object = p2DoneExpRowAlloc("a string", "a string", -32, -32 ); 820 821 if (!object) { 822 exit(EXIT_FAILURE); 823 } 824 825 if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) { 817 p2ProcessedExpRow *object; 818 819 object = p2ProcessedExpRowAlloc("a string", -32, -32 ); 820 821 if (!object) { 822 exit(EXIT_FAILURE); 823 } 824 825 if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) { 826 psFree(object); 827 exit(EXIT_FAILURE); 828 } 829 if (!object->p1_version == -32) { 830 psFree(object); 831 exit(EXIT_FAILURE); 832 } 833 if (!object->p2_version == -32) { 834 psFree(object); 835 exit(EXIT_FAILURE); 836 } 837 838 psFree(object); 839 } 840 841 { 842 p2ProcessedImfileRow *object; 843 844 object = p2ProcessedImfileRowAlloc("a string", "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", "a string", -32, -32 ); 845 846 if (!object) { 847 exit(EXIT_FAILURE); 848 } 849 850 if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) { 851 psFree(object); 852 exit(EXIT_FAILURE); 853 } 854 if (strncmp(object->class_id, "a string", MAX_STRING_LENGTH)) { 855 psFree(object); 856 exit(EXIT_FAILURE); 857 } 858 if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) { 826 859 psFree(object); 827 860 exit(EXIT_FAILURE); … … 831 864 exit(EXIT_FAILURE); 832 865 } 866 if (!object->bg == 64.64) { 867 psFree(object); 868 exit(EXIT_FAILURE); 869 } 870 if (!object->bg_stdev == 64.64) { 871 psFree(object); 872 exit(EXIT_FAILURE); 873 } 874 if (!object->bg_mean_stdev == 64.64) { 875 psFree(object); 876 exit(EXIT_FAILURE); 877 } 878 if (strncmp(object->b1_uri, "a string", MAX_STRING_LENGTH)) { 879 psFree(object); 880 exit(EXIT_FAILURE); 881 } 882 if (strncmp(object->b2_uri, "a string", MAX_STRING_LENGTH)) { 883 psFree(object); 884 exit(EXIT_FAILURE); 885 } 833 886 if (!object->p1_version == -32) { 834 887 psFree(object); … … 844 897 845 898 { 846 p2DoneImfileRow *object;847 848 object = p2DoneImfileRowAlloc("a string", "a string", "a string", "a string", -32, -32 );849 850 if (!object) {851 exit(EXIT_FAILURE);852 }853 854 if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {855 psFree(object);856 exit(EXIT_FAILURE);857 }858 if (strncmp(object->class_id, "a string", MAX_STRING_LENGTH)) {859 psFree(object);860 exit(EXIT_FAILURE);861 }862 if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) {863 psFree(object);864 exit(EXIT_FAILURE);865 }866 if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) {867 psFree(object);868 exit(EXIT_FAILURE);869 }870 if (!object->p1_version == -32) {871 psFree(object);872 exit(EXIT_FAILURE);873 }874 if (!object->p2_version == -32) {875 psFree(object);876 exit(EXIT_FAILURE);877 }878 879 psFree(object);880 }881 882 {883 899 p3PendingExpRow *object; 884 900 885 object = p3PendingExpRowAlloc("a string", "a string", -32, -32 ); 886 887 if (!object) { 888 exit(EXIT_FAILURE); 889 } 890 891 if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) { 892 psFree(object); 893 exit(EXIT_FAILURE); 894 } 895 if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) { 901 object = p3PendingExpRowAlloc("a string", -32, -32 ); 902 903 if (!object) { 904 exit(EXIT_FAILURE); 905 } 906 907 if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) { 896 908 psFree(object); 897 909 exit(EXIT_FAILURE); -
trunk/ippdb/tests/createtable.c
r8528 r8665 298 298 } 299 299 300 if(!p2 DoneExpCreateTable(dbh)) {301 exit(EXIT_FAILURE); 302 } 303 304 psDBCleanup(dbh); 305 } 306 307 { 308 psDB *dbh; 309 310 dbh = psDBInit("localhost", "test", NULL, "test"); 311 if (!dbh) { 312 exit(EXIT_FAILURE); 313 } 314 315 if(!p2 DoneImfileCreateTable(dbh)) {300 if(!p2ProcessedExpCreateTable(dbh)) { 301 exit(EXIT_FAILURE); 302 } 303 304 psDBCleanup(dbh); 305 } 306 307 { 308 psDB *dbh; 309 310 dbh = psDBInit("localhost", "test", NULL, "test"); 311 if (!dbh) { 312 exit(EXIT_FAILURE); 313 } 314 315 if(!p2ProcessedImfileCreateTable(dbh)) { 316 316 exit(EXIT_FAILURE); 317 317 } -
trunk/ippdb/tests/dbcleanup.c
r8528 r8665 30 30 p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p2PendingExp"); 31 31 p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p2PendingImfile"); 32 p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p2 DoneExp");33 p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p2 DoneImfile");32 p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p2ProcessedExp"); 33 p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p2ProcessedImfile"); 34 34 p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p3PendingExp"); 35 35 p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS detRun"); -
trunk/ippdb/tests/dbsetup.c
r8528 r8665 70 70 p2PendingImfileCreateTable(dbh); 71 71 72 p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p2 DoneExp");73 p2 DoneExpCreateTable(dbh);72 p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p2ProcessedExp"); 73 p2ProcessedExpCreateTable(dbh); 74 74 75 p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p2 DoneImfile");76 p2 DoneImfileCreateTable(dbh);75 p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p2ProcessedImfile"); 76 p2ProcessedImfileCreateTable(dbh); 77 77 78 78 p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS p3PendingExp"); -
trunk/ippdb/tests/droptable.c
r8528 r8665 298 298 } 299 299 300 if (!p2 DoneExpDropTable(dbh)) {301 exit(EXIT_FAILURE); 302 } 303 304 psDBCleanup(dbh); 305 } 306 307 { 308 psDB *dbh; 309 310 dbh = psDBInit("localhost", "test", NULL, "test"); 311 if (!dbh) { 312 exit(EXIT_FAILURE); 313 } 314 315 if (!p2 DoneImfileDropTable(dbh)) {300 if (!p2ProcessedExpDropTable(dbh)) { 301 exit(EXIT_FAILURE); 302 } 303 304 psDBCleanup(dbh); 305 } 306 307 { 308 psDB *dbh; 309 310 dbh = psDBInit("localhost", "test", NULL, "test"); 311 if (!dbh) { 312 exit(EXIT_FAILURE); 313 } 314 315 if (!p2ProcessedImfileDropTable(dbh)) { 316 316 exit(EXIT_FAILURE); 317 317 } -
trunk/ippdb/tests/insert.c
r8543 r8665 298 298 } 299 299 300 if (!p2 DoneExpInsert(dbh, "a string", "a string", -32, -32)) {301 exit(EXIT_FAILURE); 302 } 303 304 psDBCleanup(dbh); 305 } 306 307 { 308 psDB *dbh; 309 310 dbh = psDBInit("localhost", "test", NULL, "test"); 311 if (!dbh) { 312 exit(EXIT_FAILURE); 313 } 314 315 if (!p2 DoneImfileInsert(dbh, "a string", "a string", "a string", "a string", -32, -32)) {316 exit(EXIT_FAILURE); 317 } 318 319 psDBCleanup(dbh); 320 } 321 322 { 323 psDB *dbh; 324 325 dbh = psDBInit("localhost", "test", NULL, "test"); 326 if (!dbh) { 327 exit(EXIT_FAILURE); 328 } 329 330 if (!p3PendingExpInsert(dbh, "a string", "a string",-32, -32)) {300 if (!p2ProcessedExpInsert(dbh, "a string", -32, -32)) { 301 exit(EXIT_FAILURE); 302 } 303 304 psDBCleanup(dbh); 305 } 306 307 { 308 psDB *dbh; 309 310 dbh = psDBInit("localhost", "test", NULL, "test"); 311 if (!dbh) { 312 exit(EXIT_FAILURE); 313 } 314 315 if (!p2ProcessedImfileInsert(dbh, "a string", "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", "a string", -32, -32)) { 316 exit(EXIT_FAILURE); 317 } 318 319 psDBCleanup(dbh); 320 } 321 322 { 323 psDB *dbh; 324 325 dbh = psDBInit("localhost", "test", NULL, "test"); 326 if (!dbh) { 327 exit(EXIT_FAILURE); 328 } 329 330 if (!p3PendingExpInsert(dbh, "a string", -32, -32)) { 331 331 exit(EXIT_FAILURE); 332 332 } -
trunk/ippdb/tests/insertfits.c
r8528 r8665 518 518 } 519 519 520 if (!p2 DoneExpInsertFits(dbh, fits)) {521 exit(EXIT_FAILURE); 522 } 523 524 if (!psFitsClose(fits)) { 525 exit(EXIT_FAILURE); 526 } 527 528 psDBCleanup(dbh); 529 } 530 531 { 532 psDB *dbh; 533 psFits *fits; 534 535 dbh = psDBInit("localhost", "test", NULL, "test"); 536 if (!dbh) { 537 exit(EXIT_FAILURE); 538 } 539 540 // open a temp 541 fits = psFitsOpen(TMP_FILENAME, "r"); 542 if (!fits) { 543 exit(EXIT_FAILURE); 544 } 545 546 if (!p2 DoneImfileInsertFits(dbh, fits)) {520 if (!p2ProcessedExpInsertFits(dbh, fits)) { 521 exit(EXIT_FAILURE); 522 } 523 524 if (!psFitsClose(fits)) { 525 exit(EXIT_FAILURE); 526 } 527 528 psDBCleanup(dbh); 529 } 530 531 { 532 psDB *dbh; 533 psFits *fits; 534 535 dbh = psDBInit("localhost", "test", NULL, "test"); 536 if (!dbh) { 537 exit(EXIT_FAILURE); 538 } 539 540 // open a temp 541 fits = psFitsOpen(TMP_FILENAME, "r"); 542 if (!fits) { 543 exit(EXIT_FAILURE); 544 } 545 546 if (!p2ProcessedImfileInsertFits(dbh, fits)) { 547 547 exit(EXIT_FAILURE); 548 548 } -
trunk/ippdb/tests/insertobject.c
r8543 r8665 425 425 { 426 426 psDB *dbh; 427 p2 DoneExpRow*object;428 429 dbh = psDBInit("localhost", "test", NULL, "test"); 430 if (!dbh) { 431 exit(EXIT_FAILURE); 432 } 433 434 object = p2 DoneExpRowAlloc("a string","a string", -32, -32);435 if (!object) { 436 exit(EXIT_FAILURE); 437 } 438 439 if (!p2 DoneExpInsertObject(dbh, object)) {440 exit(EXIT_FAILURE); 441 } 442 443 psFree(object); 444 psDBCleanup(dbh); 445 } 446 447 { 448 psDB *dbh; 449 p2 DoneImfileRow *object;450 451 dbh = psDBInit("localhost", "test", NULL, "test"); 452 if (!dbh) { 453 exit(EXIT_FAILURE); 454 } 455 456 object = p2 DoneImfileRowAlloc("a string", "a string", "a string", "a string", -32, -32);457 if (!object) { 458 exit(EXIT_FAILURE); 459 } 460 461 if (!p2 DoneImfileInsertObject(dbh, object)) {427 p2ProcessedExpRow *object; 428 429 dbh = psDBInit("localhost", "test", NULL, "test"); 430 if (!dbh) { 431 exit(EXIT_FAILURE); 432 } 433 434 object = p2ProcessedExpRowAlloc("a string", -32, -32); 435 if (!object) { 436 exit(EXIT_FAILURE); 437 } 438 439 if (!p2ProcessedExpInsertObject(dbh, object)) { 440 exit(EXIT_FAILURE); 441 } 442 443 psFree(object); 444 psDBCleanup(dbh); 445 } 446 447 { 448 psDB *dbh; 449 p2ProcessedImfileRow *object; 450 451 dbh = psDBInit("localhost", "test", NULL, "test"); 452 if (!dbh) { 453 exit(EXIT_FAILURE); 454 } 455 456 object = p2ProcessedImfileRowAlloc("a string", "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", "a string", -32, -32); 457 if (!object) { 458 exit(EXIT_FAILURE); 459 } 460 461 if (!p2ProcessedImfileInsertObject(dbh, object)) { 462 462 exit(EXIT_FAILURE); 463 463 } … … 476 476 } 477 477 478 object = p3PendingExpRowAlloc("a string", "a string",-32, -32);478 object = p3PendingExpRowAlloc("a string", -32, -32); 479 479 if (!object) { 480 480 exit(EXIT_FAILURE); -
trunk/ippdb/tests/metadatafromobject.c
r8543 r8665 969 969 { 970 970 psMetadata *md; 971 p2DoneExpRow *object; 972 bool status; 973 974 object = p2DoneExpRowAlloc("a string", "a string", -32, -32); 975 if (!object) { 976 exit(EXIT_FAILURE); 977 } 978 979 md = p2DoneExpMetadataFromObject(object); 980 if (!md) { 981 exit(EXIT_FAILURE); 982 } 983 984 psFree(object); 985 986 if (strncmp(psMetadataLookupPtr(&status, md, "exp_id"), "a string", MAX_STRING_LENGTH)) { 971 p2ProcessedExpRow *object; 972 bool status; 973 974 object = p2ProcessedExpRowAlloc("a string", -32, -32); 975 if (!object) { 976 exit(EXIT_FAILURE); 977 } 978 979 md = p2ProcessedExpMetadataFromObject(object); 980 if (!md) { 981 exit(EXIT_FAILURE); 982 } 983 984 psFree(object); 985 986 if (strncmp(psMetadataLookupPtr(&status, md, "exp_id"), "a string", MAX_STRING_LENGTH)) { 987 psFree(md); 988 exit(EXIT_FAILURE); 989 } 990 if (!psMetadataLookupS32(&status, md, "p1_version") == -32) { 991 psFree(md); 992 exit(EXIT_FAILURE); 993 } 994 if (!psMetadataLookupS32(&status, md, "p2_version") == -32) { 995 psFree(md); 996 exit(EXIT_FAILURE); 997 } 998 999 psFree(md); 1000 } 1001 1002 { 1003 psMetadata *md; 1004 p2ProcessedImfileRow *object; 1005 bool status; 1006 1007 object = p2ProcessedImfileRowAlloc("a string", "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", "a string", -32, -32); 1008 if (!object) { 1009 exit(EXIT_FAILURE); 1010 } 1011 1012 md = p2ProcessedImfileMetadataFromObject(object); 1013 if (!md) { 1014 exit(EXIT_FAILURE); 1015 } 1016 1017 psFree(object); 1018 1019 if (strncmp(psMetadataLookupPtr(&status, md, "exp_id"), "a string", MAX_STRING_LENGTH)) { 1020 psFree(md); 1021 exit(EXIT_FAILURE); 1022 } 1023 if (strncmp(psMetadataLookupPtr(&status, md, "class_id"), "a string", MAX_STRING_LENGTH)) { 1024 psFree(md); 1025 exit(EXIT_FAILURE); 1026 } 1027 if (strncmp(psMetadataLookupPtr(&status, md, "uri"), "a string", MAX_STRING_LENGTH)) { 987 1028 psFree(md); 988 1029 exit(EXIT_FAILURE); … … 992 1033 exit(EXIT_FAILURE); 993 1034 } 1035 if (!psMetadataLookupF64(&status, md, "bg") == 64.64) { 1036 psFree(md); 1037 exit(EXIT_FAILURE); 1038 } 1039 if (!psMetadataLookupF64(&status, md, "bg_stdev") == 64.64) { 1040 psFree(md); 1041 exit(EXIT_FAILURE); 1042 } 1043 if (!psMetadataLookupF64(&status, md, "bg_mean_stdev") == 64.64) { 1044 psFree(md); 1045 exit(EXIT_FAILURE); 1046 } 1047 if (strncmp(psMetadataLookupPtr(&status, md, "b1_uri"), "a string", MAX_STRING_LENGTH)) { 1048 psFree(md); 1049 exit(EXIT_FAILURE); 1050 } 1051 if (strncmp(psMetadataLookupPtr(&status, md, "b2_uri"), "a string", MAX_STRING_LENGTH)) { 1052 psFree(md); 1053 exit(EXIT_FAILURE); 1054 } 994 1055 if (!psMetadataLookupS32(&status, md, "p1_version") == -32) { 995 1056 psFree(md); … … 1006 1067 { 1007 1068 psMetadata *md; 1008 p2DoneImfileRow *object;1009 bool status;1010 1011 object = p2DoneImfileRowAlloc("a string", "a string", "a string", "a string", -32, -32);1012 if (!object) {1013 exit(EXIT_FAILURE);1014 }1015 1016 md = p2DoneImfileMetadataFromObject(object);1017 if (!md) {1018 exit(EXIT_FAILURE);1019 }1020 1021 psFree(object);1022 1023 if (strncmp(psMetadataLookupPtr(&status, md, "exp_id"), "a string", MAX_STRING_LENGTH)) {1024 psFree(md);1025 exit(EXIT_FAILURE);1026 }1027 if (strncmp(psMetadataLookupPtr(&status, md, "class_id"), "a string", MAX_STRING_LENGTH)) {1028 psFree(md);1029 exit(EXIT_FAILURE);1030 }1031 if (strncmp(psMetadataLookupPtr(&status, md, "uri"), "a string", MAX_STRING_LENGTH)) {1032 psFree(md);1033 exit(EXIT_FAILURE);1034 }1035 if (strncmp(psMetadataLookupPtr(&status, md, "recipe"), "a string", MAX_STRING_LENGTH)) {1036 psFree(md);1037 exit(EXIT_FAILURE);1038 }1039 if (!psMetadataLookupS32(&status, md, "p1_version") == -32) {1040 psFree(md);1041 exit(EXIT_FAILURE);1042 }1043 if (!psMetadataLookupS32(&status, md, "p2_version") == -32) {1044 psFree(md);1045 exit(EXIT_FAILURE);1046 }1047 1048 psFree(md);1049 }1050 1051 {1052 psMetadata *md;1053 1069 p3PendingExpRow *object; 1054 1070 bool status; 1055 1071 1056 object = p3PendingExpRowAlloc("a string", "a string",-32, -32);1072 object = p3PendingExpRowAlloc("a string", -32, -32); 1057 1073 if (!object) { 1058 1074 exit(EXIT_FAILURE); … … 1067 1083 1068 1084 if (strncmp(psMetadataLookupPtr(&status, md, "exp_id"), "a string", MAX_STRING_LENGTH)) { 1069 psFree(md);1070 exit(EXIT_FAILURE);1071 }1072 if (strncmp(psMetadataLookupPtr(&status, md, "recipe"), "a string", MAX_STRING_LENGTH)) {1073 1085 psFree(md); 1074 1086 exit(EXIT_FAILURE); -
trunk/ippdb/tests/objectfrommetadata.c
r8543 r8665 1472 1472 { 1473 1473 psMetadata *md; 1474 p2 DoneExpRow*object;1474 p2ProcessedExpRow *object; 1475 1475 1476 1476 md = psMetadataAlloc(); … … 1479 1479 exit(EXIT_FAILURE); 1480 1480 } 1481 if (!psMetadataAddS32(md, PS_LIST_TAIL, "p1_version", 0, NULL, -32)) { 1482 psFree(md); 1483 exit(EXIT_FAILURE); 1484 } 1485 if (!psMetadataAddS32(md, PS_LIST_TAIL, "p2_version", 0, NULL, -32)) { 1486 psFree(md); 1487 exit(EXIT_FAILURE); 1488 } 1489 1490 object = p2ProcessedExpObjectFromMetadata(md); 1491 if (!object) { 1492 psFree(md); 1493 exit(EXIT_FAILURE); 1494 } 1495 1496 psFree(md); 1497 1498 if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) { 1499 psFree(object); 1500 exit(EXIT_FAILURE); 1501 } 1502 if (!object->p1_version == -32) { 1503 psFree(object); 1504 exit(EXIT_FAILURE); 1505 } 1506 if (!object->p2_version == -32) { 1507 psFree(object); 1508 exit(EXIT_FAILURE); 1509 } 1510 1511 psFree(object); 1512 } 1513 1514 { 1515 psMetadata *md; 1516 p2ProcessedImfileRow *object; 1517 1518 md = psMetadataAlloc(); 1519 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, "a string")) { 1520 psFree(md); 1521 exit(EXIT_FAILURE); 1522 } 1523 if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, "a string")) { 1524 psFree(md); 1525 exit(EXIT_FAILURE); 1526 } 1527 if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, "a string")) { 1528 psFree(md); 1529 exit(EXIT_FAILURE); 1530 } 1481 1531 if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, "a string")) { 1482 1532 psFree(md); 1483 1533 exit(EXIT_FAILURE); 1484 1534 } 1535 if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg", 0, NULL, 64.64)) { 1536 psFree(md); 1537 exit(EXIT_FAILURE); 1538 } 1539 if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, 64.64)) { 1540 psFree(md); 1541 exit(EXIT_FAILURE); 1542 } 1543 if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, 64.64)) { 1544 psFree(md); 1545 exit(EXIT_FAILURE); 1546 } 1547 if (!psMetadataAddStr(md, PS_LIST_TAIL, "b1_uri", 0, NULL, "a string")) { 1548 psFree(md); 1549 exit(EXIT_FAILURE); 1550 } 1551 if (!psMetadataAddStr(md, PS_LIST_TAIL, "b2_uri", 0, NULL, "a string")) { 1552 psFree(md); 1553 exit(EXIT_FAILURE); 1554 } 1485 1555 if (!psMetadataAddS32(md, PS_LIST_TAIL, "p1_version", 0, NULL, -32)) { 1486 1556 psFree(md); … … 1492 1562 } 1493 1563 1494 object = p2 DoneExpObjectFromMetadata(md);1564 object = p2ProcessedImfileObjectFromMetadata(md); 1495 1565 if (!object) { 1496 1566 psFree(md); … … 1504 1574 exit(EXIT_FAILURE); 1505 1575 } 1576 if (strncmp(object->class_id, "a string", MAX_STRING_LENGTH)) { 1577 psFree(object); 1578 exit(EXIT_FAILURE); 1579 } 1580 if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) { 1581 psFree(object); 1582 exit(EXIT_FAILURE); 1583 } 1506 1584 if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) { 1507 1585 psFree(object); 1508 1586 exit(EXIT_FAILURE); 1509 1587 } 1588 if (!object->bg == 64.64) { 1589 psFree(object); 1590 exit(EXIT_FAILURE); 1591 } 1592 if (!object->bg_stdev == 64.64) { 1593 psFree(object); 1594 exit(EXIT_FAILURE); 1595 } 1596 if (!object->bg_mean_stdev == 64.64) { 1597 psFree(object); 1598 exit(EXIT_FAILURE); 1599 } 1600 if (strncmp(object->b1_uri, "a string", MAX_STRING_LENGTH)) { 1601 psFree(object); 1602 exit(EXIT_FAILURE); 1603 } 1604 if (strncmp(object->b2_uri, "a string", MAX_STRING_LENGTH)) { 1605 psFree(object); 1606 exit(EXIT_FAILURE); 1607 } 1510 1608 if (!object->p1_version == -32) { 1511 1609 psFree(object); … … 1522 1620 { 1523 1621 psMetadata *md; 1524 p 2DoneImfileRow *object;1622 p3PendingExpRow *object; 1525 1623 1526 1624 md = psMetadataAlloc(); … … 1529 1627 exit(EXIT_FAILURE); 1530 1628 } 1531 if (!psMetadataAddStr(md, PS_LIST_TAIL, "class_id", 0, NULL, "a string")) {1532 psFree(md);1533 exit(EXIT_FAILURE);1534 }1535 if (!psMetadataAddStr(md, PS_LIST_TAIL, "uri", 0, NULL, "a string")) {1536 psFree(md);1537 exit(EXIT_FAILURE);1538 }1539 if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, "a string")) {1540 psFree(md);1541 exit(EXIT_FAILURE);1542 }1543 if (!psMetadataAddS32(md, PS_LIST_TAIL, "p1_version", 0, NULL, -32)) {1544 psFree(md);1545 exit(EXIT_FAILURE);1546 }1547 1629 if (!psMetadataAddS32(md, PS_LIST_TAIL, "p2_version", 0, NULL, -32)) { 1548 1630 psFree(md); 1549 1631 exit(EXIT_FAILURE); 1550 1632 } 1551 1552 object = p2DoneImfileObjectFromMetadata(md); 1633 if (!psMetadataAddS32(md, PS_LIST_TAIL, "p3_version", 0, NULL, -32)) { 1634 psFree(md); 1635 exit(EXIT_FAILURE); 1636 } 1637 1638 object = p3PendingExpObjectFromMetadata(md); 1553 1639 if (!object) { 1554 1640 psFree(md); … … 1559 1645 1560 1646 if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) { 1561 psFree(object);1562 exit(EXIT_FAILURE);1563 }1564 if (strncmp(object->class_id, "a string", MAX_STRING_LENGTH)) {1565 psFree(object);1566 exit(EXIT_FAILURE);1567 }1568 if (strncmp(object->uri, "a string", MAX_STRING_LENGTH)) {1569 psFree(object);1570 exit(EXIT_FAILURE);1571 }1572 if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) {1573 psFree(object);1574 exit(EXIT_FAILURE);1575 }1576 if (!object->p1_version == -32) {1577 psFree(object);1578 exit(EXIT_FAILURE);1579 }1580 if (!object->p2_version == -32) {1581 psFree(object);1582 exit(EXIT_FAILURE);1583 }1584 1585 psFree(object);1586 }1587 1588 {1589 psMetadata *md;1590 p3PendingExpRow *object;1591 1592 md = psMetadataAlloc();1593 if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_id", 0, NULL, "a string")) {1594 psFree(md);1595 exit(EXIT_FAILURE);1596 }1597 if (!psMetadataAddStr(md, PS_LIST_TAIL, "recipe", 0, NULL, "a string")) {1598 psFree(md);1599 exit(EXIT_FAILURE);1600 }1601 if (!psMetadataAddS32(md, PS_LIST_TAIL, "p2_version", 0, NULL, -32)) {1602 psFree(md);1603 exit(EXIT_FAILURE);1604 }1605 if (!psMetadataAddS32(md, PS_LIST_TAIL, "p3_version", 0, NULL, -32)) {1606 psFree(md);1607 exit(EXIT_FAILURE);1608 }1609 1610 object = p3PendingExpObjectFromMetadata(md);1611 if (!object) {1612 psFree(md);1613 exit(EXIT_FAILURE);1614 }1615 1616 psFree(md);1617 1618 if (strncmp(object->exp_id, "a string", MAX_STRING_LENGTH)) {1619 psFree(object);1620 exit(EXIT_FAILURE);1621 }1622 if (strncmp(object->recipe, "a string", MAX_STRING_LENGTH)) {1623 1647 psFree(object); 1624 1648 exit(EXIT_FAILURE); -
trunk/ippdb/tests/pop.c
r8543 r8665 433 433 psDB *dbh; 434 434 char exp_id[256]; 435 char recipe[256];436 435 psS32 p1_version; 437 436 psS32 p2_version; … … 442 441 } 443 442 444 if (!p2DoneExpPop(dbh, (char **)&exp_id, (char **)&recipe, &p1_version, &p2_version)) { 445 exit(EXIT_FAILURE); 446 } 447 448 psDBCleanup(dbh); 449 } 450 451 { 452 psDB *dbh; 453 char exp_id[256]; 454 char class_id[256]; 455 char uri[256]; 456 char recipe[256]; 443 if (!p2ProcessedExpPop(dbh, (char **)&exp_id, &p1_version, &p2_version)) { 444 exit(EXIT_FAILURE); 445 } 446 447 psDBCleanup(dbh); 448 } 449 450 { 451 psDB *dbh; 452 char exp_id[256]; 453 char class_id[256]; 454 char uri[256]; 455 char recipe[256]; 456 psF64 bg; 457 psF64 bg_stdev; 458 psF64 bg_mean_stdev; 459 char b1_uri[256]; 460 char b2_uri[256]; 457 461 psS32 p1_version; 458 462 psS32 p2_version; … … 463 467 } 464 468 465 if (!p2DoneImfilePop(dbh, (char **)&exp_id, (char **)&class_id, (char **)&uri, (char **)&recipe, &p1_version, &p2_version)) { 466 exit(EXIT_FAILURE); 467 } 468 469 psDBCleanup(dbh); 470 } 471 472 { 473 psDB *dbh; 474 char exp_id[256]; 475 char recipe[256]; 469 if (!p2ProcessedImfilePop(dbh, (char **)&exp_id, (char **)&class_id, (char **)&uri, (char **)&recipe, &bg, &bg_stdev, &bg_mean_stdev, (char **)&b1_uri, (char **)&b2_uri, &p1_version, &p2_version)) { 470 exit(EXIT_FAILURE); 471 } 472 473 psDBCleanup(dbh); 474 } 475 476 { 477 psDB *dbh; 478 char exp_id[256]; 476 479 psS32 p2_version; 477 480 psS32 p3_version; … … 482 485 } 483 486 484 if (!p3PendingExpPop(dbh, (char **)&exp_id, (char **)&recipe,&p2_version, &p3_version)) {487 if (!p3PendingExpPop(dbh, (char **)&exp_id, &p2_version, &p3_version)) { 485 488 exit(EXIT_FAILURE); 486 489 } -
trunk/ippdb/tests/popfits.c
r8528 r8665 518 518 } 519 519 520 if (!p2 DoneExpPopFits(dbh, fits, 1)) {521 exit(EXIT_FAILURE); 522 } 523 524 if (!psFitsClose(fits)) { 525 exit(EXIT_FAILURE); 526 } 527 528 psDBCleanup(dbh); 529 } 530 531 { 532 psDB *dbh; 533 psFits *fits; 534 535 dbh = psDBInit("localhost", "test", NULL, "test"); 536 if (!dbh) { 537 exit(EXIT_FAILURE); 538 } 539 540 // allocate a temp 541 fits = psFitsOpen(TMP_FILENAME, "w"); 542 if (!fits) { 543 exit(EXIT_FAILURE); 544 } 545 546 if (!p2 DoneImfilePopFits(dbh, fits, 1)) {520 if (!p2ProcessedExpPopFits(dbh, fits, 1)) { 521 exit(EXIT_FAILURE); 522 } 523 524 if (!psFitsClose(fits)) { 525 exit(EXIT_FAILURE); 526 } 527 528 psDBCleanup(dbh); 529 } 530 531 { 532 psDB *dbh; 533 psFits *fits; 534 535 dbh = psDBInit("localhost", "test", NULL, "test"); 536 if (!dbh) { 537 exit(EXIT_FAILURE); 538 } 539 540 // allocate a temp 541 fits = psFitsOpen(TMP_FILENAME, "w"); 542 if (!fits) { 543 exit(EXIT_FAILURE); 544 } 545 546 if (!p2ProcessedImfilePopFits(dbh, fits, 1)) { 547 547 exit(EXIT_FAILURE); 548 548 } -
trunk/ippdb/tests/popobject.c
r8528 r8665 349 349 { 350 350 psDB *dbh; 351 p2 DoneExpRow*object;352 353 dbh = psDBInit("localhost", "test", NULL, "test"); 354 if (!dbh) { 355 exit(EXIT_FAILURE); 356 } 357 358 object = p2 DoneExpPopObject(dbh);359 if (!object) { 360 exit(EXIT_FAILURE); 361 } 362 363 psFree(object); 364 psDBCleanup(dbh); 365 } 366 367 { 368 psDB *dbh; 369 p2 DoneImfileRow *object;370 371 dbh = psDBInit("localhost", "test", NULL, "test"); 372 if (!dbh) { 373 exit(EXIT_FAILURE); 374 } 375 376 object = p2 DoneImfilePopObject(dbh);351 p2ProcessedExpRow *object; 352 353 dbh = psDBInit("localhost", "test", NULL, "test"); 354 if (!dbh) { 355 exit(EXIT_FAILURE); 356 } 357 358 object = p2ProcessedExpPopObject(dbh); 359 if (!object) { 360 exit(EXIT_FAILURE); 361 } 362 363 psFree(object); 364 psDBCleanup(dbh); 365 } 366 367 { 368 psDB *dbh; 369 p2ProcessedImfileRow *object; 370 371 dbh = psDBInit("localhost", "test", NULL, "test"); 372 if (!dbh) { 373 exit(EXIT_FAILURE); 374 } 375 376 object = p2ProcessedImfilePopObject(dbh); 377 377 if (!object) { 378 378 exit(EXIT_FAILURE); -
trunk/ippdb/tests/selectrowsfits.c
r8528 r8665 439 439 } 440 440 441 if (!p2 DoneExpSelectRowsFits(dbh, fits, NULL, 1)) {442 exit(EXIT_FAILURE); 443 } 444 445 psFree(fits); 446 psDBCleanup(dbh); 447 } 448 449 { 450 psDB *dbh; 451 psFits *fits; 452 453 dbh = psDBInit("localhost", "test", NULL, "test"); 454 if (!dbh) { 455 exit(EXIT_FAILURE); 456 } 457 458 fits = psFitsOpen(TMP_FILENAME, "w"); 459 if (!fits) { 460 exit(EXIT_FAILURE); 461 } 462 463 if (!p2 DoneImfileSelectRowsFits(dbh, fits, NULL, 1)) {441 if (!p2ProcessedExpSelectRowsFits(dbh, fits, NULL, 1)) { 442 exit(EXIT_FAILURE); 443 } 444 445 psFree(fits); 446 psDBCleanup(dbh); 447 } 448 449 { 450 psDB *dbh; 451 psFits *fits; 452 453 dbh = psDBInit("localhost", "test", NULL, "test"); 454 if (!dbh) { 455 exit(EXIT_FAILURE); 456 } 457 458 fits = psFitsOpen(TMP_FILENAME, "w"); 459 if (!fits) { 460 exit(EXIT_FAILURE); 461 } 462 463 if (!p2ProcessedImfileSelectRowsFits(dbh, fits, NULL, 1)) { 464 464 exit(EXIT_FAILURE); 465 465 }
Note:
See TracChangeset
for help on using the changeset viewer.
