Changeset 12026 for trunk/ippdb/src/ippdb.c
- Timestamp:
- Feb 23, 2007, 4:28:07 PM (19 years ago)
- File:
-
- 1 edited
-
trunk/ippdb/src/ippdb.c (modified) (446 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippdb/src/ippdb.c
r11988 r12026 42 42 #define RAWEXP_TABLE_NAME "rawExp" 43 43 #define RAWIMFILE_TABLE_NAME "rawImfile" 44 #define P1PENDINGEXP_TABLE_NAME "p1PendingExp"45 #define P2PENDINGEXP_TABLE_NAME "p2PendingExp"46 #define P2PENDINGIMFILE_TABLE_NAME "p2PendingImfile"47 #define P2PROCESSEDEXP_TABLE_NAME "p2ProcessedExp"48 #define P2MASK_TABLE_NAME "p2Mask"49 #define P2PROCESSEDIMFILE_TABLE_NAME "p2ProcessedImfile"50 #define P3PENDINGEXP_TABLE_NAME "p3PendingExp"51 #define P3PROCESSEDEXP_TABLE_NAME "p3ProcessedExp"52 #define P3MASK_TABLE_NAME "p3Mask"44 #define GUIDEPENDINGEXP_TABLE_NAME "guidePendingExp" 45 #define CHIPPENDINGEXP_TABLE_NAME "chipPendingExp" 46 #define CHIPPENDINGIMFILE_TABLE_NAME "chipPendingImfile" 47 #define CHIPPROCESSEDEXP_TABLE_NAME "chipProcessedExp" 48 #define CHIPMASK_TABLE_NAME "chipMask" 49 #define CHIPPROCESSEDIMFILE_TABLE_NAME "chipProcessedImfile" 50 #define CAMPENDINGEXP_TABLE_NAME "camPendingExp" 51 #define CAMPROCESSEDEXP_TABLE_NAME "camProcessedExp" 52 #define CAMMASK_TABLE_NAME "camMask" 53 53 #define DETRUN_TABLE_NAME "detRun" 54 54 #define DETINPUTEXP_TABLE_NAME "detInputExp" … … 62 62 #define DETRESIDEXP_TABLE_NAME "detResidExp" 63 63 #define DETRUNSUMMARY_TABLE_NAME "detRunSummary" 64 #define P4RUN_TABLE_NAME "p4Run"65 #define P4INPUTEXP_TABLE_NAME "p4InputExp"66 #define P4SKYCELLMAP_TABLE_NAME "p4SkyCellMap"67 #define P4SKYFILE_TABLE_NAME "p4Skyfile"68 #define P5RUN_TABLE_NAME "p5Run"69 #define P5INPUTSKYFILE_TABLE_NAME "p5InputSkyfile"70 #define P5DIFFSKYFILE_TABLE_NAME "p5DiffSkyfile"71 #define P6RUN_TABLE_NAME "p6Run"72 #define P6INPUTSKYFILE_TABLE_NAME "p6InputSkyfile"73 #define P6SUMSKYFILE_TABLE_NAME "p6SumSkyfile"64 #define WARPRUN_TABLE_NAME "warpRun" 65 #define WARPINPUTEXP_TABLE_NAME "warpInputExp" 66 #define WARPSKYCELLMAP_TABLE_NAME "warpSkyCellMap" 67 #define WARPSKYFILE_TABLE_NAME "warpSkyfile" 68 #define DIFFRUN_TABLE_NAME "diffRun" 69 #define DIFFINPUTSKYFILE_TABLE_NAME "diffInputSkyfile" 70 #define DIFFSKYFILE_TABLE_NAME "diffSkyfile" 71 #define STACKRUN_TABLE_NAME "stackRun" 72 #define STACKINPUTSKYFILE_TABLE_NAME "stackInputSkyfile" 73 #define STACKSUMSKYFILE_TABLE_NAME "stackSumSkyfile" 74 74 #define MAX_STRING_LENGTH 1024 75 75 … … 4948 4948 return true; 4949 4949 } 4950 static void p1PendingExpRowFree(p1PendingExpRow *object);4951 4952 p1PendingExpRow *p1PendingExpRowAlloc(const char *exp_tag, psS32 p1_version, const char *recipe)4953 { 4954 p1PendingExpRow *_object;4955 4956 _object = psAlloc(sizeof( p1PendingExpRow));4957 psMemSetDeallocator(_object, (psFreeFunc) p1PendingExpRowFree);4950 static void guidePendingExpRowFree(guidePendingExpRow *object); 4951 4952 guidePendingExpRow *guidePendingExpRowAlloc(const char *exp_tag, psS32 guide_version, const char *recipe) 4953 { 4954 guidePendingExpRow *_object; 4955 4956 _object = psAlloc(sizeof(guidePendingExpRow)); 4957 psMemSetDeallocator(_object, (psFreeFunc)guidePendingExpRowFree); 4958 4958 4959 4959 _object->exp_tag = psStringCopy(exp_tag); 4960 _object-> p1_version = p1_version;4960 _object->guide_version = guide_version; 4961 4961 _object->recipe = psStringCopy(recipe); 4962 4962 … … 4964 4964 } 4965 4965 4966 static void p1PendingExpRowFree(p1PendingExpRow *object)4966 static void guidePendingExpRowFree(guidePendingExpRow *object) 4967 4967 { 4968 4968 psFree(object->exp_tag); … … 4970 4970 } 4971 4971 4972 bool p1PendingExpCreateTable(psDB *dbh)4972 bool guidePendingExpCreateTable(psDB *dbh) 4973 4973 { 4974 4974 psMetadata *md = psMetadataAlloc(); … … 4978 4978 return false; 4979 4979 } 4980 if (!psMetadataAdd(md, PS_LIST_TAIL, " p1_version", PS_DATA_S32, "Primary Key", 0)) {4981 psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");4980 if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, "Primary Key", 0)) { 4981 psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version"); 4982 4982 psFree(md); 4983 4983 return false; … … 4989 4989 } 4990 4990 4991 bool status = psDBCreateTable(dbh, P1PENDINGEXP_TABLE_NAME, md);4991 bool status = psDBCreateTable(dbh, GUIDEPENDINGEXP_TABLE_NAME, md); 4992 4992 4993 4993 psFree(md); … … 4996 4996 } 4997 4997 4998 bool p1PendingExpDropTable(psDB *dbh)4999 { 5000 return psDBDropTable(dbh, P1PENDINGEXP_TABLE_NAME);5001 } 5002 5003 bool p1PendingExpInsert(psDB * dbh, const char *exp_tag, psS32 p1_version, const char *recipe)4998 bool guidePendingExpDropTable(psDB *dbh) 4999 { 5000 return psDBDropTable(dbh, GUIDEPENDINGEXP_TABLE_NAME); 5001 } 5002 5003 bool guidePendingExpInsert(psDB * dbh, const char *exp_tag, psS32 guide_version, const char *recipe) 5004 5004 { 5005 5005 psMetadata *md = psMetadataAlloc(); … … 5009 5009 return false; 5010 5010 } 5011 if (!psMetadataAdd(md, PS_LIST_TAIL, " p1_version", PS_DATA_S32, NULL, p1_version)) {5012 psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");5011 if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, guide_version)) { 5012 psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version"); 5013 5013 psFree(md); 5014 5014 return false; … … 5020 5020 } 5021 5021 5022 bool status = psDBInsertOneRow(dbh, P1PENDINGEXP_TABLE_NAME, md);5022 bool status = psDBInsertOneRow(dbh, GUIDEPENDINGEXP_TABLE_NAME, md); 5023 5023 psFree(md); 5024 5024 … … 5026 5026 } 5027 5027 5028 long long p1PendingExpDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)5028 long long guidePendingExpDelete(psDB *dbh, const psMetadata *where, unsigned long long limit) 5029 5029 { 5030 5030 long long deleted = 0; 5031 5031 5032 long long count = psDBDeleteRows(dbh, P1PENDINGEXP_TABLE_NAME, where, limit);5032 long long count = psDBDeleteRows(dbh, GUIDEPENDINGEXP_TABLE_NAME, where, limit); 5033 5033 if (count < 0) { 5034 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p1PendingExp");5034 psError(PS_ERR_UNKNOWN, true, "failed to delete row from guidePendingExp"); 5035 5035 return count; 5036 5036 … … 5040 5040 return deleted; 5041 5041 } 5042 bool p1PendingExpInsertObject(psDB *dbh, p1PendingExpRow *object)5043 { 5044 return p1PendingExpInsert(dbh, object->exp_tag, object->p1_version, object->recipe);5045 } 5046 5047 bool p1PendingExpInsertObjects(psDB *dbh, psArray *objects)5042 bool guidePendingExpInsertObject(psDB *dbh, guidePendingExpRow *object) 5043 { 5044 return guidePendingExpInsert(dbh, object->exp_tag, object->guide_version, object->recipe); 5045 } 5046 5047 bool guidePendingExpInsertObjects(psDB *dbh, psArray *objects) 5048 5048 { 5049 5049 for (long i = 0; i < psArrayLength(objects); i++) { 5050 if (! p1PendingExpInsertObject(dbh, objects->data[i])) {5050 if (!guidePendingExpInsertObject(dbh, objects->data[i])) { 5051 5051 return false; 5052 5052 } … … 5056 5056 } 5057 5057 5058 bool p1PendingExpInsertFits(psDB *dbh, const psFits *fits)5058 bool guidePendingExpInsertFits(psDB *dbh, const psFits *fits) 5059 5059 { 5060 5060 psArray *rowSet; 5061 5061 5062 // move to (the first?) extension named P1PENDINGEXP_TABLE_NAME5063 if (!psFitsMoveExtName(fits, P1PENDINGEXP_TABLE_NAME)) {5064 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P1PENDINGEXP_TABLE_NAME);5062 // move to (the first?) extension named GUIDEPENDINGEXP_TABLE_NAME 5063 if (!psFitsMoveExtName(fits, GUIDEPENDINGEXP_TABLE_NAME)) { 5064 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", GUIDEPENDINGEXP_TABLE_NAME); 5065 5065 return false; 5066 5066 } … … 5080 5080 } 5081 5081 5082 if (!psDBInsertRows(dbh, P1PENDINGEXP_TABLE_NAME, rowSet)) {5082 if (!psDBInsertRows(dbh, GUIDEPENDINGEXP_TABLE_NAME, rowSet)) { 5083 5083 psError(PS_ERR_UNKNOWN, false, "databse insert failed"); 5084 5084 psFree(rowSet); … … 5091 5091 } 5092 5092 5093 bool p1PendingExpSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)5093 bool guidePendingExpSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit) 5094 5094 { 5095 5095 psArray *rowSet; 5096 5096 5097 rowSet = psDBSelectRows(dbh, P1PENDINGEXP_TABLE_NAME, where, limit);5097 rowSet = psDBSelectRows(dbh, GUIDEPENDINGEXP_TABLE_NAME, where, limit); 5098 5098 if (!rowSet) { 5099 5099 return false; … … 5101 5101 5102 5102 // output to fits 5103 if (!psFitsWriteTable(fits, NULL, rowSet, P1PENDINGEXP_TABLE_NAME)) {5103 if (!psFitsWriteTable(fits, NULL, rowSet, GUIDEPENDINGEXP_TABLE_NAME)) { 5104 5104 psError(PS_ERR_UNKNOWN, false, "FITS table write failed"); 5105 5105 psFree(rowSet); … … 5112 5112 } 5113 5113 5114 psMetadata * p1PendingExpMetadataFromObject(const p1PendingExpRow *object)5114 psMetadata *guidePendingExpMetadataFromObject(const guidePendingExpRow *object) 5115 5115 { 5116 5116 psMetadata *md = psMetadataAlloc(); … … 5120 5120 return false; 5121 5121 } 5122 if (!psMetadataAdd(md, PS_LIST_TAIL, " p1_version", PS_DATA_S32, NULL, object->p1_version)) {5123 psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");5122 if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, object->guide_version)) { 5123 psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version"); 5124 5124 psFree(md); 5125 5125 return false; … … 5135 5135 } 5136 5136 5137 p1PendingExpRow *p1PendingExpObjectFromMetadata(psMetadata *md)5137 guidePendingExpRow *guidePendingExpObjectFromMetadata(psMetadata *md) 5138 5138 { 5139 5139 … … 5144 5144 return false; 5145 5145 } 5146 psS32 p1_version = psMetadataLookupS32(&status, md, "p1_version");5147 if (!status) { 5148 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p1_version");5146 psS32 guide_version = psMetadataLookupS32(&status, md, "guide_version"); 5147 if (!status) { 5148 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item guide_version"); 5149 5149 return false; 5150 5150 } … … 5155 5155 } 5156 5156 5157 return p1PendingExpRowAlloc(exp_tag, p1_version, recipe);5158 } 5159 psArray * p1PendingExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)5157 return guidePendingExpRowAlloc(exp_tag, guide_version, recipe); 5158 } 5159 psArray *guidePendingExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) 5160 5160 { 5161 5161 psArray *rowSet; … … 5163 5163 psU64 i; 5164 5164 5165 rowSet = psDBSelectRows(dbh, P1PENDINGEXP_TABLE_NAME, where, limit);5165 rowSet = psDBSelectRows(dbh, GUIDEPENDINGEXP_TABLE_NAME, where, limit); 5166 5166 if (!rowSet) { 5167 5167 return NULL; … … 5173 5173 5174 5174 for (i = 0; i < rowSet->n; i++) { 5175 p1PendingExpRow *object = p1PendingExpObjectFromMetadata(rowSet->data[i]);5175 guidePendingExpRow *object = guidePendingExpObjectFromMetadata(rowSet->data[i]); 5176 5176 psArrayAdd(returnSet, 0, object); 5177 5177 psFree(object); … … 5182 5182 return returnSet; 5183 5183 } 5184 bool p1PendingExpDeleteObject(psDB *dbh, const p1PendingExpRow *object)5185 { 5186 psMetadata *where = p1PendingExpMetadataFromObject(object);5187 long long count = psDBDeleteRows(dbh, P1PENDINGEXP_TABLE_NAME, where, 0);5184 bool guidePendingExpDeleteObject(psDB *dbh, const guidePendingExpRow *object) 5185 { 5186 psMetadata *where = guidePendingExpMetadataFromObject(object); 5187 long long count = psDBDeleteRows(dbh, GUIDEPENDINGEXP_TABLE_NAME, where, 0); 5188 5188 psFree(where); 5189 5189 if (count < 0) { 5190 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p1PendingExp");5190 psError(PS_ERR_UNKNOWN, true, "failed to delete row from guidePendingExp"); 5191 5191 return false; 5192 5192 } … … 5194 5194 // XXX should this be a psAbort() instead? It is possible that 5195 5195 // having an object match multiple rows was by design. 5196 psError(PS_ERR_UNKNOWN, true, " p1PendingExpRow object matched more then one row. Check your database schema");5197 return false; 5198 } 5199 5200 return true; 5201 } 5202 long long p1PendingExpDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)5196 psError(PS_ERR_UNKNOWN, true, "guidePendingExpRow object matched more then one row. Check your database schema"); 5197 return false; 5198 } 5199 5200 return true; 5201 } 5202 long long guidePendingExpDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit) 5203 5203 { 5204 5204 long long deleted = 0; 5205 5205 5206 5206 for (long long i = 0; i < objects->n; i++) { 5207 p1PendingExpRow *object = objects->data[i];5208 psMetadata *where = p1PendingExpMetadataFromObject(object);5209 long long count = psDBDeleteRows(dbh, P1PENDINGEXP_TABLE_NAME, where, limit);5207 guidePendingExpRow *object = objects->data[i]; 5208 psMetadata *where = guidePendingExpMetadataFromObject(object); 5209 long long count = psDBDeleteRows(dbh, GUIDEPENDINGEXP_TABLE_NAME, where, limit); 5210 5210 psFree(where); 5211 5211 if (count < 0) { 5212 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p1PendingExp");5212 psError(PS_ERR_UNKNOWN, true, "failed to delete row from guidePendingExp"); 5213 5213 return count; 5214 5214 } … … 5219 5219 return deleted; 5220 5220 } 5221 bool p1PendingExpPrintObjects(FILE *stream, psArray *objects, bool mdcf)5221 bool guidePendingExpPrintObjects(FILE *stream, psArray *objects, bool mdcf) 5222 5222 { 5223 5223 PS_ASSERT_PTR_NON_NULL(objects, false); … … 5225 5225 psMetadata *output = psMetadataAlloc(); 5226 5226 for (long i = 0; i < psArrayLength(objects); i++) { 5227 psMetadata *md = p1PendingExpMetadataFromObject(objects->data[i]);5227 psMetadata *md = guidePendingExpMetadataFromObject(objects->data[i]); 5228 5228 if (!psMetadataAddMetadata( 5229 5229 output, 5230 5230 PS_LIST_TAIL, 5231 P1PENDINGEXP_TABLE_NAME,5231 GUIDEPENDINGEXP_TABLE_NAME, 5232 5232 PS_META_DUPLICATE_OK, 5233 5233 NULL, … … 5250 5250 return true; 5251 5251 } 5252 bool p1PendingExpPrintObject(FILE *stream, p1PendingExpRow *object, bool mdcf)5252 bool guidePendingExpPrintObject(FILE *stream, guidePendingExpRow *object, bool mdcf) 5253 5253 { 5254 5254 PS_ASSERT_PTR_NON_NULL(object, false); 5255 5255 5256 psMetadata *md = p1PendingExpMetadataFromObject(object);5256 psMetadata *md = guidePendingExpMetadataFromObject(object); 5257 5257 5258 5258 if (!ippdbPrintMetadataRaw(stream, md, mdcf)) { … … 5265 5265 return true; 5266 5266 } 5267 static void p2PendingExpRowFree(p2PendingExpRow *object);5268 5269 p2PendingExpRow *p2PendingExpRowAlloc(const char *exp_tag, psS32 p2_version, psS32 p1_version, const char *label, const char *recipe, const char *expgroup, const char *dvodb)5270 { 5271 p2PendingExpRow *_object;5272 5273 _object = psAlloc(sizeof( p2PendingExpRow));5274 psMemSetDeallocator(_object, (psFreeFunc) p2PendingExpRowFree);5267 static void chipPendingExpRowFree(chipPendingExpRow *object); 5268 5269 chipPendingExpRow *chipPendingExpRowAlloc(const char *exp_tag, psS32 chip_version, psS32 guide_version, const char *label, const char *recipe, const char *expgroup, const char *dvodb) 5270 { 5271 chipPendingExpRow *_object; 5272 5273 _object = psAlloc(sizeof(chipPendingExpRow)); 5274 psMemSetDeallocator(_object, (psFreeFunc)chipPendingExpRowFree); 5275 5275 5276 5276 _object->exp_tag = psStringCopy(exp_tag); 5277 _object-> p2_version = p2_version;5278 _object-> p1_version = p1_version;5277 _object->chip_version = chip_version; 5278 _object->guide_version = guide_version; 5279 5279 _object->label = psStringCopy(label); 5280 5280 _object->recipe = psStringCopy(recipe); … … 5285 5285 } 5286 5286 5287 static void p2PendingExpRowFree(p2PendingExpRow *object)5287 static void chipPendingExpRowFree(chipPendingExpRow *object) 5288 5288 { 5289 5289 psFree(object->exp_tag); … … 5294 5294 } 5295 5295 5296 bool p2PendingExpCreateTable(psDB *dbh)5296 bool chipPendingExpCreateTable(psDB *dbh) 5297 5297 { 5298 5298 psMetadata *md = psMetadataAlloc(); … … 5302 5302 return false; 5303 5303 } 5304 if (!psMetadataAdd(md, PS_LIST_TAIL, " p2_version", PS_DATA_S32, "Primary Key", 0)) {5305 psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");5306 psFree(md); 5307 return false; 5308 } 5309 if (!psMetadataAdd(md, PS_LIST_TAIL, " p1_version", PS_DATA_S32, NULL, 0)) {5310 psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");5304 if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, "Primary Key", 0)) { 5305 psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version"); 5306 psFree(md); 5307 return false; 5308 } 5309 if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, 0)) { 5310 psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version"); 5311 5311 psFree(md); 5312 5312 return false; … … 5333 5333 } 5334 5334 5335 bool status = psDBCreateTable(dbh, P2PENDINGEXP_TABLE_NAME, md);5335 bool status = psDBCreateTable(dbh, CHIPPENDINGEXP_TABLE_NAME, md); 5336 5336 5337 5337 psFree(md); … … 5340 5340 } 5341 5341 5342 bool p2PendingExpDropTable(psDB *dbh)5343 { 5344 return psDBDropTable(dbh, P2PENDINGEXP_TABLE_NAME);5345 } 5346 5347 bool p2PendingExpInsert(psDB * dbh, const char *exp_tag, psS32 p2_version, psS32 p1_version, const char *label, const char *recipe, const char *expgroup, const char *dvodb)5342 bool chipPendingExpDropTable(psDB *dbh) 5343 { 5344 return psDBDropTable(dbh, CHIPPENDINGEXP_TABLE_NAME); 5345 } 5346 5347 bool chipPendingExpInsert(psDB * dbh, const char *exp_tag, psS32 chip_version, psS32 guide_version, const char *label, const char *recipe, const char *expgroup, const char *dvodb) 5348 5348 { 5349 5349 psMetadata *md = psMetadataAlloc(); … … 5353 5353 return false; 5354 5354 } 5355 if (!psMetadataAdd(md, PS_LIST_TAIL, " p2_version", PS_DATA_S32, NULL, p2_version)) {5356 psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");5357 psFree(md); 5358 return false; 5359 } 5360 if (!psMetadataAdd(md, PS_LIST_TAIL, " p1_version", PS_DATA_S32, NULL, p1_version)) {5361 psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");5355 if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, chip_version)) { 5356 psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version"); 5357 psFree(md); 5358 return false; 5359 } 5360 if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, guide_version)) { 5361 psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version"); 5362 5362 psFree(md); 5363 5363 return false; … … 5384 5384 } 5385 5385 5386 bool status = psDBInsertOneRow(dbh, P2PENDINGEXP_TABLE_NAME, md);5386 bool status = psDBInsertOneRow(dbh, CHIPPENDINGEXP_TABLE_NAME, md); 5387 5387 psFree(md); 5388 5388 … … 5390 5390 } 5391 5391 5392 long long p2PendingExpDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)5392 long long chipPendingExpDelete(psDB *dbh, const psMetadata *where, unsigned long long limit) 5393 5393 { 5394 5394 long long deleted = 0; 5395 5395 5396 long long count = psDBDeleteRows(dbh, P2PENDINGEXP_TABLE_NAME, where, limit);5396 long long count = psDBDeleteRows(dbh, CHIPPENDINGEXP_TABLE_NAME, where, limit); 5397 5397 if (count < 0) { 5398 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2PendingExp");5398 psError(PS_ERR_UNKNOWN, true, "failed to delete row from chipPendingExp"); 5399 5399 return count; 5400 5400 … … 5404 5404 return deleted; 5405 5405 } 5406 bool p2PendingExpInsertObject(psDB *dbh, p2PendingExpRow *object)5407 { 5408 return p2PendingExpInsert(dbh, object->exp_tag, object->p2_version, object->p1_version, object->label, object->recipe, object->expgroup, object->dvodb);5409 } 5410 5411 bool p2PendingExpInsertObjects(psDB *dbh, psArray *objects)5406 bool chipPendingExpInsertObject(psDB *dbh, chipPendingExpRow *object) 5407 { 5408 return chipPendingExpInsert(dbh, object->exp_tag, object->chip_version, object->guide_version, object->label, object->recipe, object->expgroup, object->dvodb); 5409 } 5410 5411 bool chipPendingExpInsertObjects(psDB *dbh, psArray *objects) 5412 5412 { 5413 5413 for (long i = 0; i < psArrayLength(objects); i++) { 5414 if (! p2PendingExpInsertObject(dbh, objects->data[i])) {5414 if (!chipPendingExpInsertObject(dbh, objects->data[i])) { 5415 5415 return false; 5416 5416 } … … 5420 5420 } 5421 5421 5422 bool p2PendingExpInsertFits(psDB *dbh, const psFits *fits)5422 bool chipPendingExpInsertFits(psDB *dbh, const psFits *fits) 5423 5423 { 5424 5424 psArray *rowSet; 5425 5425 5426 // move to (the first?) extension named P2PENDINGEXP_TABLE_NAME5427 if (!psFitsMoveExtName(fits, P2PENDINGEXP_TABLE_NAME)) {5428 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P2PENDINGEXP_TABLE_NAME);5426 // move to (the first?) extension named CHIPPENDINGEXP_TABLE_NAME 5427 if (!psFitsMoveExtName(fits, CHIPPENDINGEXP_TABLE_NAME)) { 5428 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", CHIPPENDINGEXP_TABLE_NAME); 5429 5429 return false; 5430 5430 } … … 5444 5444 } 5445 5445 5446 if (!psDBInsertRows(dbh, P2PENDINGEXP_TABLE_NAME, rowSet)) {5446 if (!psDBInsertRows(dbh, CHIPPENDINGEXP_TABLE_NAME, rowSet)) { 5447 5447 psError(PS_ERR_UNKNOWN, false, "databse insert failed"); 5448 5448 psFree(rowSet); … … 5455 5455 } 5456 5456 5457 bool p2PendingExpSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)5457 bool chipPendingExpSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit) 5458 5458 { 5459 5459 psArray *rowSet; 5460 5460 5461 rowSet = psDBSelectRows(dbh, P2PENDINGEXP_TABLE_NAME, where, limit);5461 rowSet = psDBSelectRows(dbh, CHIPPENDINGEXP_TABLE_NAME, where, limit); 5462 5462 if (!rowSet) { 5463 5463 return false; … … 5465 5465 5466 5466 // output to fits 5467 if (!psFitsWriteTable(fits, NULL, rowSet, P2PENDINGEXP_TABLE_NAME)) {5467 if (!psFitsWriteTable(fits, NULL, rowSet, CHIPPENDINGEXP_TABLE_NAME)) { 5468 5468 psError(PS_ERR_UNKNOWN, false, "FITS table write failed"); 5469 5469 psFree(rowSet); … … 5476 5476 } 5477 5477 5478 psMetadata * p2PendingExpMetadataFromObject(const p2PendingExpRow *object)5478 psMetadata *chipPendingExpMetadataFromObject(const chipPendingExpRow *object) 5479 5479 { 5480 5480 psMetadata *md = psMetadataAlloc(); … … 5484 5484 return false; 5485 5485 } 5486 if (!psMetadataAdd(md, PS_LIST_TAIL, " p2_version", PS_DATA_S32, NULL, object->p2_version)) {5487 psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");5488 psFree(md); 5489 return false; 5490 } 5491 if (!psMetadataAdd(md, PS_LIST_TAIL, " p1_version", PS_DATA_S32, NULL, object->p1_version)) {5492 psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");5486 if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, object->chip_version)) { 5487 psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version"); 5488 psFree(md); 5489 return false; 5490 } 5491 if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, object->guide_version)) { 5492 psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version"); 5493 5493 psFree(md); 5494 5494 return false; … … 5519 5519 } 5520 5520 5521 p2PendingExpRow *p2PendingExpObjectFromMetadata(psMetadata *md)5521 chipPendingExpRow *chipPendingExpObjectFromMetadata(psMetadata *md) 5522 5522 { 5523 5523 … … 5528 5528 return false; 5529 5529 } 5530 psS32 p2_version = psMetadataLookupS32(&status, md, "p2_version");5531 if (!status) { 5532 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p2_version");5533 return false; 5534 } 5535 psS32 p1_version = psMetadataLookupS32(&status, md, "p1_version");5536 if (!status) { 5537 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p1_version");5530 psS32 chip_version = psMetadataLookupS32(&status, md, "chip_version"); 5531 if (!status) { 5532 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item chip_version"); 5533 return false; 5534 } 5535 psS32 guide_version = psMetadataLookupS32(&status, md, "guide_version"); 5536 if (!status) { 5537 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item guide_version"); 5538 5538 return false; 5539 5539 } … … 5559 5559 } 5560 5560 5561 return p2PendingExpRowAlloc(exp_tag, p2_version, p1_version, label, recipe, expgroup, dvodb);5562 } 5563 psArray * p2PendingExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)5561 return chipPendingExpRowAlloc(exp_tag, chip_version, guide_version, label, recipe, expgroup, dvodb); 5562 } 5563 psArray *chipPendingExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) 5564 5564 { 5565 5565 psArray *rowSet; … … 5567 5567 psU64 i; 5568 5568 5569 rowSet = psDBSelectRows(dbh, P2PENDINGEXP_TABLE_NAME, where, limit);5569 rowSet = psDBSelectRows(dbh, CHIPPENDINGEXP_TABLE_NAME, where, limit); 5570 5570 if (!rowSet) { 5571 5571 return NULL; … … 5577 5577 5578 5578 for (i = 0; i < rowSet->n; i++) { 5579 p2PendingExpRow *object = p2PendingExpObjectFromMetadata(rowSet->data[i]);5579 chipPendingExpRow *object = chipPendingExpObjectFromMetadata(rowSet->data[i]); 5580 5580 psArrayAdd(returnSet, 0, object); 5581 5581 psFree(object); … … 5586 5586 return returnSet; 5587 5587 } 5588 bool p2PendingExpDeleteObject(psDB *dbh, const p2PendingExpRow *object)5589 { 5590 psMetadata *where = p2PendingExpMetadataFromObject(object);5591 long long count = psDBDeleteRows(dbh, P2PENDINGEXP_TABLE_NAME, where, 0);5588 bool chipPendingExpDeleteObject(psDB *dbh, const chipPendingExpRow *object) 5589 { 5590 psMetadata *where = chipPendingExpMetadataFromObject(object); 5591 long long count = psDBDeleteRows(dbh, CHIPPENDINGEXP_TABLE_NAME, where, 0); 5592 5592 psFree(where); 5593 5593 if (count < 0) { 5594 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2PendingExp");5594 psError(PS_ERR_UNKNOWN, true, "failed to delete row from chipPendingExp"); 5595 5595 return false; 5596 5596 } … … 5598 5598 // XXX should this be a psAbort() instead? It is possible that 5599 5599 // having an object match multiple rows was by design. 5600 psError(PS_ERR_UNKNOWN, true, " p2PendingExpRow object matched more then one row. Check your database schema");5601 return false; 5602 } 5603 5604 return true; 5605 } 5606 long long p2PendingExpDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)5600 psError(PS_ERR_UNKNOWN, true, "chipPendingExpRow object matched more then one row. Check your database schema"); 5601 return false; 5602 } 5603 5604 return true; 5605 } 5606 long long chipPendingExpDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit) 5607 5607 { 5608 5608 long long deleted = 0; 5609 5609 5610 5610 for (long long i = 0; i < objects->n; i++) { 5611 p2PendingExpRow *object = objects->data[i];5612 psMetadata *where = p2PendingExpMetadataFromObject(object);5613 long long count = psDBDeleteRows(dbh, P2PENDINGEXP_TABLE_NAME, where, limit);5611 chipPendingExpRow *object = objects->data[i]; 5612 psMetadata *where = chipPendingExpMetadataFromObject(object); 5613 long long count = psDBDeleteRows(dbh, CHIPPENDINGEXP_TABLE_NAME, where, limit); 5614 5614 psFree(where); 5615 5615 if (count < 0) { 5616 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2PendingExp");5616 psError(PS_ERR_UNKNOWN, true, "failed to delete row from chipPendingExp"); 5617 5617 return count; 5618 5618 } … … 5623 5623 return deleted; 5624 5624 } 5625 bool p2PendingExpPrintObjects(FILE *stream, psArray *objects, bool mdcf)5625 bool chipPendingExpPrintObjects(FILE *stream, psArray *objects, bool mdcf) 5626 5626 { 5627 5627 PS_ASSERT_PTR_NON_NULL(objects, false); … … 5629 5629 psMetadata *output = psMetadataAlloc(); 5630 5630 for (long i = 0; i < psArrayLength(objects); i++) { 5631 psMetadata *md = p2PendingExpMetadataFromObject(objects->data[i]);5631 psMetadata *md = chipPendingExpMetadataFromObject(objects->data[i]); 5632 5632 if (!psMetadataAddMetadata( 5633 5633 output, 5634 5634 PS_LIST_TAIL, 5635 P2PENDINGEXP_TABLE_NAME,5635 CHIPPENDINGEXP_TABLE_NAME, 5636 5636 PS_META_DUPLICATE_OK, 5637 5637 NULL, … … 5654 5654 return true; 5655 5655 } 5656 bool p2PendingExpPrintObject(FILE *stream, p2PendingExpRow *object, bool mdcf)5656 bool chipPendingExpPrintObject(FILE *stream, chipPendingExpRow *object, bool mdcf) 5657 5657 { 5658 5658 PS_ASSERT_PTR_NON_NULL(object, false); 5659 5659 5660 psMetadata *md = p2PendingExpMetadataFromObject(object);5660 psMetadata *md = chipPendingExpMetadataFromObject(object); 5661 5661 5662 5662 if (!ippdbPrintMetadataRaw(stream, md, mdcf)) { … … 5669 5669 return true; 5670 5670 } 5671 static void p2PendingImfileRowFree(p2PendingImfileRow *object);5672 5673 p2PendingImfileRow *p2PendingImfileRowAlloc(const char *exp_tag, psS32 p2_version, psS32 p1_version, const char *class_id, const char *recipe, const char *uri)5674 { 5675 p2PendingImfileRow *_object;5676 5677 _object = psAlloc(sizeof( p2PendingImfileRow));5678 psMemSetDeallocator(_object, (psFreeFunc) p2PendingImfileRowFree);5671 static void chipPendingImfileRowFree(chipPendingImfileRow *object); 5672 5673 chipPendingImfileRow *chipPendingImfileRowAlloc(const char *exp_tag, psS32 chip_version, psS32 guide_version, const char *class_id, const char *recipe, const char *uri) 5674 { 5675 chipPendingImfileRow *_object; 5676 5677 _object = psAlloc(sizeof(chipPendingImfileRow)); 5678 psMemSetDeallocator(_object, (psFreeFunc)chipPendingImfileRowFree); 5679 5679 5680 5680 _object->exp_tag = psStringCopy(exp_tag); 5681 _object-> p2_version = p2_version;5682 _object-> p1_version = p1_version;5681 _object->chip_version = chip_version; 5682 _object->guide_version = guide_version; 5683 5683 _object->class_id = psStringCopy(class_id); 5684 5684 _object->recipe = psStringCopy(recipe); … … 5688 5688 } 5689 5689 5690 static void p2PendingImfileRowFree(p2PendingImfileRow *object)5690 static void chipPendingImfileRowFree(chipPendingImfileRow *object) 5691 5691 { 5692 5692 psFree(object->exp_tag); … … 5696 5696 } 5697 5697 5698 bool p2PendingImfileCreateTable(psDB *dbh)5698 bool chipPendingImfileCreateTable(psDB *dbh) 5699 5699 { 5700 5700 psMetadata *md = psMetadataAlloc(); … … 5704 5704 return false; 5705 5705 } 5706 if (!psMetadataAdd(md, PS_LIST_TAIL, " p2_version", PS_DATA_S32, "Primary Key", 0)) {5707 psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");5708 psFree(md); 5709 return false; 5710 } 5711 if (!psMetadataAdd(md, PS_LIST_TAIL, " p1_version", PS_DATA_S32, NULL, 0)) {5712 psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");5706 if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, "Primary Key", 0)) { 5707 psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version"); 5708 psFree(md); 5709 return false; 5710 } 5711 if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, 0)) { 5712 psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version"); 5713 5713 psFree(md); 5714 5714 return false; … … 5730 5730 } 5731 5731 5732 bool status = psDBCreateTable(dbh, P2PENDINGIMFILE_TABLE_NAME, md);5732 bool status = psDBCreateTable(dbh, CHIPPENDINGIMFILE_TABLE_NAME, md); 5733 5733 5734 5734 psFree(md); … … 5737 5737 } 5738 5738 5739 bool p2PendingImfileDropTable(psDB *dbh)5740 { 5741 return psDBDropTable(dbh, P2PENDINGIMFILE_TABLE_NAME);5742 } 5743 5744 bool p2PendingImfileInsert(psDB * dbh, const char *exp_tag, psS32 p2_version, psS32 p1_version, const char *class_id, const char *recipe, const char *uri)5739 bool chipPendingImfileDropTable(psDB *dbh) 5740 { 5741 return psDBDropTable(dbh, CHIPPENDINGIMFILE_TABLE_NAME); 5742 } 5743 5744 bool chipPendingImfileInsert(psDB * dbh, const char *exp_tag, psS32 chip_version, psS32 guide_version, const char *class_id, const char *recipe, const char *uri) 5745 5745 { 5746 5746 psMetadata *md = psMetadataAlloc(); … … 5750 5750 return false; 5751 5751 } 5752 if (!psMetadataAdd(md, PS_LIST_TAIL, " p2_version", PS_DATA_S32, NULL, p2_version)) {5753 psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");5754 psFree(md); 5755 return false; 5756 } 5757 if (!psMetadataAdd(md, PS_LIST_TAIL, " p1_version", PS_DATA_S32, NULL, p1_version)) {5758 psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");5752 if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, chip_version)) { 5753 psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version"); 5754 psFree(md); 5755 return false; 5756 } 5757 if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, guide_version)) { 5758 psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version"); 5759 5759 psFree(md); 5760 5760 return false; … … 5776 5776 } 5777 5777 5778 bool status = psDBInsertOneRow(dbh, P2PENDINGIMFILE_TABLE_NAME, md);5778 bool status = psDBInsertOneRow(dbh, CHIPPENDINGIMFILE_TABLE_NAME, md); 5779 5779 psFree(md); 5780 5780 … … 5782 5782 } 5783 5783 5784 long long p2PendingImfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)5784 long long chipPendingImfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit) 5785 5785 { 5786 5786 long long deleted = 0; 5787 5787 5788 long long count = psDBDeleteRows(dbh, P2PENDINGIMFILE_TABLE_NAME, where, limit);5788 long long count = psDBDeleteRows(dbh, CHIPPENDINGIMFILE_TABLE_NAME, where, limit); 5789 5789 if (count < 0) { 5790 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2PendingImfile");5790 psError(PS_ERR_UNKNOWN, true, "failed to delete row from chipPendingImfile"); 5791 5791 return count; 5792 5792 … … 5796 5796 return deleted; 5797 5797 } 5798 bool p2PendingImfileInsertObject(psDB *dbh, p2PendingImfileRow *object)5799 { 5800 return p2PendingImfileInsert(dbh, object->exp_tag, object->p2_version, object->p1_version, object->class_id, object->recipe, object->uri);5801 } 5802 5803 bool p2PendingImfileInsertObjects(psDB *dbh, psArray *objects)5798 bool chipPendingImfileInsertObject(psDB *dbh, chipPendingImfileRow *object) 5799 { 5800 return chipPendingImfileInsert(dbh, object->exp_tag, object->chip_version, object->guide_version, object->class_id, object->recipe, object->uri); 5801 } 5802 5803 bool chipPendingImfileInsertObjects(psDB *dbh, psArray *objects) 5804 5804 { 5805 5805 for (long i = 0; i < psArrayLength(objects); i++) { 5806 if (! p2PendingImfileInsertObject(dbh, objects->data[i])) {5806 if (!chipPendingImfileInsertObject(dbh, objects->data[i])) { 5807 5807 return false; 5808 5808 } … … 5812 5812 } 5813 5813 5814 bool p2PendingImfileInsertFits(psDB *dbh, const psFits *fits)5814 bool chipPendingImfileInsertFits(psDB *dbh, const psFits *fits) 5815 5815 { 5816 5816 psArray *rowSet; 5817 5817 5818 // move to (the first?) extension named P2PENDINGIMFILE_TABLE_NAME5819 if (!psFitsMoveExtName(fits, P2PENDINGIMFILE_TABLE_NAME)) {5820 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P2PENDINGIMFILE_TABLE_NAME);5818 // move to (the first?) extension named CHIPPENDINGIMFILE_TABLE_NAME 5819 if (!psFitsMoveExtName(fits, CHIPPENDINGIMFILE_TABLE_NAME)) { 5820 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", CHIPPENDINGIMFILE_TABLE_NAME); 5821 5821 return false; 5822 5822 } … … 5836 5836 } 5837 5837 5838 if (!psDBInsertRows(dbh, P2PENDINGIMFILE_TABLE_NAME, rowSet)) {5838 if (!psDBInsertRows(dbh, CHIPPENDINGIMFILE_TABLE_NAME, rowSet)) { 5839 5839 psError(PS_ERR_UNKNOWN, false, "databse insert failed"); 5840 5840 psFree(rowSet); … … 5847 5847 } 5848 5848 5849 bool p2PendingImfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)5849 bool chipPendingImfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit) 5850 5850 { 5851 5851 psArray *rowSet; 5852 5852 5853 rowSet = psDBSelectRows(dbh, P2PENDINGIMFILE_TABLE_NAME, where, limit);5853 rowSet = psDBSelectRows(dbh, CHIPPENDINGIMFILE_TABLE_NAME, where, limit); 5854 5854 if (!rowSet) { 5855 5855 return false; … … 5857 5857 5858 5858 // output to fits 5859 if (!psFitsWriteTable(fits, NULL, rowSet, P2PENDINGIMFILE_TABLE_NAME)) {5859 if (!psFitsWriteTable(fits, NULL, rowSet, CHIPPENDINGIMFILE_TABLE_NAME)) { 5860 5860 psError(PS_ERR_UNKNOWN, false, "FITS table write failed"); 5861 5861 psFree(rowSet); … … 5868 5868 } 5869 5869 5870 psMetadata * p2PendingImfileMetadataFromObject(const p2PendingImfileRow *object)5870 psMetadata *chipPendingImfileMetadataFromObject(const chipPendingImfileRow *object) 5871 5871 { 5872 5872 psMetadata *md = psMetadataAlloc(); … … 5876 5876 return false; 5877 5877 } 5878 if (!psMetadataAdd(md, PS_LIST_TAIL, " p2_version", PS_DATA_S32, NULL, object->p2_version)) {5879 psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");5880 psFree(md); 5881 return false; 5882 } 5883 if (!psMetadataAdd(md, PS_LIST_TAIL, " p1_version", PS_DATA_S32, NULL, object->p1_version)) {5884 psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");5878 if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, object->chip_version)) { 5879 psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version"); 5880 psFree(md); 5881 return false; 5882 } 5883 if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, object->guide_version)) { 5884 psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version"); 5885 5885 psFree(md); 5886 5886 return false; … … 5906 5906 } 5907 5907 5908 p2PendingImfileRow *p2PendingImfileObjectFromMetadata(psMetadata *md)5908 chipPendingImfileRow *chipPendingImfileObjectFromMetadata(psMetadata *md) 5909 5909 { 5910 5910 … … 5915 5915 return false; 5916 5916 } 5917 psS32 p2_version = psMetadataLookupS32(&status, md, "p2_version");5918 if (!status) { 5919 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p2_version");5920 return false; 5921 } 5922 psS32 p1_version = psMetadataLookupS32(&status, md, "p1_version");5923 if (!status) { 5924 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p1_version");5917 psS32 chip_version = psMetadataLookupS32(&status, md, "chip_version"); 5918 if (!status) { 5919 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item chip_version"); 5920 return false; 5921 } 5922 psS32 guide_version = psMetadataLookupS32(&status, md, "guide_version"); 5923 if (!status) { 5924 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item guide_version"); 5925 5925 return false; 5926 5926 } … … 5941 5941 } 5942 5942 5943 return p2PendingImfileRowAlloc(exp_tag, p2_version, p1_version, class_id, recipe, uri);5944 } 5945 psArray * p2PendingImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)5943 return chipPendingImfileRowAlloc(exp_tag, chip_version, guide_version, class_id, recipe, uri); 5944 } 5945 psArray *chipPendingImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) 5946 5946 { 5947 5947 psArray *rowSet; … … 5949 5949 psU64 i; 5950 5950 5951 rowSet = psDBSelectRows(dbh, P2PENDINGIMFILE_TABLE_NAME, where, limit);5951 rowSet = psDBSelectRows(dbh, CHIPPENDINGIMFILE_TABLE_NAME, where, limit); 5952 5952 if (!rowSet) { 5953 5953 return NULL; … … 5959 5959 5960 5960 for (i = 0; i < rowSet->n; i++) { 5961 p2PendingImfileRow *object = p2PendingImfileObjectFromMetadata(rowSet->data[i]);5961 chipPendingImfileRow *object = chipPendingImfileObjectFromMetadata(rowSet->data[i]); 5962 5962 psArrayAdd(returnSet, 0, object); 5963 5963 psFree(object); … … 5968 5968 return returnSet; 5969 5969 } 5970 bool p2PendingImfileDeleteObject(psDB *dbh, const p2PendingImfileRow *object)5971 { 5972 psMetadata *where = p2PendingImfileMetadataFromObject(object);5973 long long count = psDBDeleteRows(dbh, P2PENDINGIMFILE_TABLE_NAME, where, 0);5970 bool chipPendingImfileDeleteObject(psDB *dbh, const chipPendingImfileRow *object) 5971 { 5972 psMetadata *where = chipPendingImfileMetadataFromObject(object); 5973 long long count = psDBDeleteRows(dbh, CHIPPENDINGIMFILE_TABLE_NAME, where, 0); 5974 5974 psFree(where); 5975 5975 if (count < 0) { 5976 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2PendingImfile");5976 psError(PS_ERR_UNKNOWN, true, "failed to delete row from chipPendingImfile"); 5977 5977 return false; 5978 5978 } … … 5980 5980 // XXX should this be a psAbort() instead? It is possible that 5981 5981 // having an object match multiple rows was by design. 5982 psError(PS_ERR_UNKNOWN, true, " p2PendingImfileRow object matched more then one row. Check your database schema");5983 return false; 5984 } 5985 5986 return true; 5987 } 5988 long long p2PendingImfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)5982 psError(PS_ERR_UNKNOWN, true, "chipPendingImfileRow object matched more then one row. Check your database schema"); 5983 return false; 5984 } 5985 5986 return true; 5987 } 5988 long long chipPendingImfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit) 5989 5989 { 5990 5990 long long deleted = 0; 5991 5991 5992 5992 for (long long i = 0; i < objects->n; i++) { 5993 p2PendingImfileRow *object = objects->data[i];5994 psMetadata *where = p2PendingImfileMetadataFromObject(object);5995 long long count = psDBDeleteRows(dbh, P2PENDINGIMFILE_TABLE_NAME, where, limit);5993 chipPendingImfileRow *object = objects->data[i]; 5994 psMetadata *where = chipPendingImfileMetadataFromObject(object); 5995 long long count = psDBDeleteRows(dbh, CHIPPENDINGIMFILE_TABLE_NAME, where, limit); 5996 5996 psFree(where); 5997 5997 if (count < 0) { 5998 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2PendingImfile");5998 psError(PS_ERR_UNKNOWN, true, "failed to delete row from chipPendingImfile"); 5999 5999 return count; 6000 6000 } … … 6005 6005 return deleted; 6006 6006 } 6007 bool p2PendingImfilePrintObjects(FILE *stream, psArray *objects, bool mdcf)6007 bool chipPendingImfilePrintObjects(FILE *stream, psArray *objects, bool mdcf) 6008 6008 { 6009 6009 PS_ASSERT_PTR_NON_NULL(objects, false); … … 6011 6011 psMetadata *output = psMetadataAlloc(); 6012 6012 for (long i = 0; i < psArrayLength(objects); i++) { 6013 psMetadata *md = p2PendingImfileMetadataFromObject(objects->data[i]);6013 psMetadata *md = chipPendingImfileMetadataFromObject(objects->data[i]); 6014 6014 if (!psMetadataAddMetadata( 6015 6015 output, 6016 6016 PS_LIST_TAIL, 6017 P2PENDINGIMFILE_TABLE_NAME,6017 CHIPPENDINGIMFILE_TABLE_NAME, 6018 6018 PS_META_DUPLICATE_OK, 6019 6019 NULL, … … 6036 6036 return true; 6037 6037 } 6038 bool p2PendingImfilePrintObject(FILE *stream, p2PendingImfileRow *object, bool mdcf)6038 bool chipPendingImfilePrintObject(FILE *stream, chipPendingImfileRow *object, bool mdcf) 6039 6039 { 6040 6040 PS_ASSERT_PTR_NON_NULL(object, false); 6041 6041 6042 psMetadata *md = p2PendingImfileMetadataFromObject(object);6042 psMetadata *md = chipPendingImfileMetadataFromObject(object); 6043 6043 6044 6044 if (!ippdbPrintMetadataRaw(stream, md, mdcf)) { … … 6051 6051 return true; 6052 6052 } 6053 static void p2ProcessedExpRowFree(p2ProcessedExpRow *object);6054 6055 p2ProcessedExpRow *p2ProcessedExpRowAlloc(const char *exp_tag, psS32 p2_version, psS32 p1_version, const char *label, const char *expgroup, const char *dvodb)6056 { 6057 p2ProcessedExpRow *_object;6058 6059 _object = psAlloc(sizeof( p2ProcessedExpRow));6060 psMemSetDeallocator(_object, (psFreeFunc) p2ProcessedExpRowFree);6053 static void chipProcessedExpRowFree(chipProcessedExpRow *object); 6054 6055 chipProcessedExpRow *chipProcessedExpRowAlloc(const char *exp_tag, psS32 chip_version, psS32 guide_version, const char *label, const char *expgroup, const char *dvodb) 6056 { 6057 chipProcessedExpRow *_object; 6058 6059 _object = psAlloc(sizeof(chipProcessedExpRow)); 6060 psMemSetDeallocator(_object, (psFreeFunc)chipProcessedExpRowFree); 6061 6061 6062 6062 _object->exp_tag = psStringCopy(exp_tag); 6063 _object-> p2_version = p2_version;6064 _object-> p1_version = p1_version;6063 _object->chip_version = chip_version; 6064 _object->guide_version = guide_version; 6065 6065 _object->label = psStringCopy(label); 6066 6066 _object->expgroup = psStringCopy(expgroup); … … 6070 6070 } 6071 6071 6072 static void p2ProcessedExpRowFree(p2ProcessedExpRow *object)6072 static void chipProcessedExpRowFree(chipProcessedExpRow *object) 6073 6073 { 6074 6074 psFree(object->exp_tag); … … 6078 6078 } 6079 6079 6080 bool p2ProcessedExpCreateTable(psDB *dbh)6080 bool chipProcessedExpCreateTable(psDB *dbh) 6081 6081 { 6082 6082 psMetadata *md = psMetadataAlloc(); … … 6086 6086 return false; 6087 6087 } 6088 if (!psMetadataAdd(md, PS_LIST_TAIL, " p2_version", PS_DATA_S32, "Primary Key", 0)) {6089 psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");6090 psFree(md); 6091 return false; 6092 } 6093 if (!psMetadataAdd(md, PS_LIST_TAIL, " p1_version", PS_DATA_S32, NULL, 0)) {6094 psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");6088 if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, "Primary Key", 0)) { 6089 psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version"); 6090 psFree(md); 6091 return false; 6092 } 6093 if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, 0)) { 6094 psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version"); 6095 6095 psFree(md); 6096 6096 return false; … … 6112 6112 } 6113 6113 6114 bool status = psDBCreateTable(dbh, P2PROCESSEDEXP_TABLE_NAME, md);6114 bool status = psDBCreateTable(dbh, CHIPPROCESSEDEXP_TABLE_NAME, md); 6115 6115 6116 6116 psFree(md); … … 6119 6119 } 6120 6120 6121 bool p2ProcessedExpDropTable(psDB *dbh)6122 { 6123 return psDBDropTable(dbh, P2PROCESSEDEXP_TABLE_NAME);6124 } 6125 6126 bool p2ProcessedExpInsert(psDB * dbh, const char *exp_tag, psS32 p2_version, psS32 p1_version, const char *label, const char *expgroup, const char *dvodb)6121 bool chipProcessedExpDropTable(psDB *dbh) 6122 { 6123 return psDBDropTable(dbh, CHIPPROCESSEDEXP_TABLE_NAME); 6124 } 6125 6126 bool chipProcessedExpInsert(psDB * dbh, const char *exp_tag, psS32 chip_version, psS32 guide_version, const char *label, const char *expgroup, const char *dvodb) 6127 6127 { 6128 6128 psMetadata *md = psMetadataAlloc(); … … 6132 6132 return false; 6133 6133 } 6134 if (!psMetadataAdd(md, PS_LIST_TAIL, " p2_version", PS_DATA_S32, NULL, p2_version)) {6135 psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");6136 psFree(md); 6137 return false; 6138 } 6139 if (!psMetadataAdd(md, PS_LIST_TAIL, " p1_version", PS_DATA_S32, NULL, p1_version)) {6140 psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");6134 if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, chip_version)) { 6135 psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version"); 6136 psFree(md); 6137 return false; 6138 } 6139 if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, guide_version)) { 6140 psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version"); 6141 6141 psFree(md); 6142 6142 return false; … … 6158 6158 } 6159 6159 6160 bool status = psDBInsertOneRow(dbh, P2PROCESSEDEXP_TABLE_NAME, md);6160 bool status = psDBInsertOneRow(dbh, CHIPPROCESSEDEXP_TABLE_NAME, md); 6161 6161 psFree(md); 6162 6162 … … 6164 6164 } 6165 6165 6166 long long p2ProcessedExpDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)6166 long long chipProcessedExpDelete(psDB *dbh, const psMetadata *where, unsigned long long limit) 6167 6167 { 6168 6168 long long deleted = 0; 6169 6169 6170 long long count = psDBDeleteRows(dbh, P2PROCESSEDEXP_TABLE_NAME, where, limit);6170 long long count = psDBDeleteRows(dbh, CHIPPROCESSEDEXP_TABLE_NAME, where, limit); 6171 6171 if (count < 0) { 6172 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2ProcessedExp");6172 psError(PS_ERR_UNKNOWN, true, "failed to delete row from chipProcessedExp"); 6173 6173 return count; 6174 6174 … … 6178 6178 return deleted; 6179 6179 } 6180 bool p2ProcessedExpInsertObject(psDB *dbh, p2ProcessedExpRow *object)6181 { 6182 return p2ProcessedExpInsert(dbh, object->exp_tag, object->p2_version, object->p1_version, object->label, object->expgroup, object->dvodb);6183 } 6184 6185 bool p2ProcessedExpInsertObjects(psDB *dbh, psArray *objects)6180 bool chipProcessedExpInsertObject(psDB *dbh, chipProcessedExpRow *object) 6181 { 6182 return chipProcessedExpInsert(dbh, object->exp_tag, object->chip_version, object->guide_version, object->label, object->expgroup, object->dvodb); 6183 } 6184 6185 bool chipProcessedExpInsertObjects(psDB *dbh, psArray *objects) 6186 6186 { 6187 6187 for (long i = 0; i < psArrayLength(objects); i++) { 6188 if (! p2ProcessedExpInsertObject(dbh, objects->data[i])) {6188 if (!chipProcessedExpInsertObject(dbh, objects->data[i])) { 6189 6189 return false; 6190 6190 } … … 6194 6194 } 6195 6195 6196 bool p2ProcessedExpInsertFits(psDB *dbh, const psFits *fits)6196 bool chipProcessedExpInsertFits(psDB *dbh, const psFits *fits) 6197 6197 { 6198 6198 psArray *rowSet; 6199 6199 6200 // move to (the first?) extension named P2PROCESSEDEXP_TABLE_NAME6201 if (!psFitsMoveExtName(fits, P2PROCESSEDEXP_TABLE_NAME)) {6202 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P2PROCESSEDEXP_TABLE_NAME);6200 // move to (the first?) extension named CHIPPROCESSEDEXP_TABLE_NAME 6201 if (!psFitsMoveExtName(fits, CHIPPROCESSEDEXP_TABLE_NAME)) { 6202 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", CHIPPROCESSEDEXP_TABLE_NAME); 6203 6203 return false; 6204 6204 } … … 6218 6218 } 6219 6219 6220 if (!psDBInsertRows(dbh, P2PROCESSEDEXP_TABLE_NAME, rowSet)) {6220 if (!psDBInsertRows(dbh, CHIPPROCESSEDEXP_TABLE_NAME, rowSet)) { 6221 6221 psError(PS_ERR_UNKNOWN, false, "databse insert failed"); 6222 6222 psFree(rowSet); … … 6229 6229 } 6230 6230 6231 bool p2ProcessedExpSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)6231 bool chipProcessedExpSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit) 6232 6232 { 6233 6233 psArray *rowSet; 6234 6234 6235 rowSet = psDBSelectRows(dbh, P2PROCESSEDEXP_TABLE_NAME, where, limit);6235 rowSet = psDBSelectRows(dbh, CHIPPROCESSEDEXP_TABLE_NAME, where, limit); 6236 6236 if (!rowSet) { 6237 6237 return false; … … 6239 6239 6240 6240 // output to fits 6241 if (!psFitsWriteTable(fits, NULL, rowSet, P2PROCESSEDEXP_TABLE_NAME)) {6241 if (!psFitsWriteTable(fits, NULL, rowSet, CHIPPROCESSEDEXP_TABLE_NAME)) { 6242 6242 psError(PS_ERR_UNKNOWN, false, "FITS table write failed"); 6243 6243 psFree(rowSet); … … 6250 6250 } 6251 6251 6252 psMetadata * p2ProcessedExpMetadataFromObject(const p2ProcessedExpRow *object)6252 psMetadata *chipProcessedExpMetadataFromObject(const chipProcessedExpRow *object) 6253 6253 { 6254 6254 psMetadata *md = psMetadataAlloc(); … … 6258 6258 return false; 6259 6259 } 6260 if (!psMetadataAdd(md, PS_LIST_TAIL, " p2_version", PS_DATA_S32, NULL, object->p2_version)) {6261 psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");6262 psFree(md); 6263 return false; 6264 } 6265 if (!psMetadataAdd(md, PS_LIST_TAIL, " p1_version", PS_DATA_S32, NULL, object->p1_version)) {6266 psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");6260 if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, object->chip_version)) { 6261 psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version"); 6262 psFree(md); 6263 return false; 6264 } 6265 if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, object->guide_version)) { 6266 psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version"); 6267 6267 psFree(md); 6268 6268 return false; … … 6288 6288 } 6289 6289 6290 p2ProcessedExpRow *p2ProcessedExpObjectFromMetadata(psMetadata *md)6290 chipProcessedExpRow *chipProcessedExpObjectFromMetadata(psMetadata *md) 6291 6291 { 6292 6292 … … 6297 6297 return false; 6298 6298 } 6299 psS32 p2_version = psMetadataLookupS32(&status, md, "p2_version");6300 if (!status) { 6301 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p2_version");6302 return false; 6303 } 6304 psS32 p1_version = psMetadataLookupS32(&status, md, "p1_version");6305 if (!status) { 6306 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p1_version");6299 psS32 chip_version = psMetadataLookupS32(&status, md, "chip_version"); 6300 if (!status) { 6301 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item chip_version"); 6302 return false; 6303 } 6304 psS32 guide_version = psMetadataLookupS32(&status, md, "guide_version"); 6305 if (!status) { 6306 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item guide_version"); 6307 6307 return false; 6308 6308 } … … 6323 6323 } 6324 6324 6325 return p2ProcessedExpRowAlloc(exp_tag, p2_version, p1_version, label, expgroup, dvodb);6326 } 6327 psArray * p2ProcessedExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)6325 return chipProcessedExpRowAlloc(exp_tag, chip_version, guide_version, label, expgroup, dvodb); 6326 } 6327 psArray *chipProcessedExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) 6328 6328 { 6329 6329 psArray *rowSet; … … 6331 6331 psU64 i; 6332 6332 6333 rowSet = psDBSelectRows(dbh, P2PROCESSEDEXP_TABLE_NAME, where, limit);6333 rowSet = psDBSelectRows(dbh, CHIPPROCESSEDEXP_TABLE_NAME, where, limit); 6334 6334 if (!rowSet) { 6335 6335 return NULL; … … 6341 6341 6342 6342 for (i = 0; i < rowSet->n; i++) { 6343 p2ProcessedExpRow *object = p2ProcessedExpObjectFromMetadata(rowSet->data[i]);6343 chipProcessedExpRow *object = chipProcessedExpObjectFromMetadata(rowSet->data[i]); 6344 6344 psArrayAdd(returnSet, 0, object); 6345 6345 psFree(object); … … 6350 6350 return returnSet; 6351 6351 } 6352 bool p2ProcessedExpDeleteObject(psDB *dbh, const p2ProcessedExpRow *object)6353 { 6354 psMetadata *where = p2ProcessedExpMetadataFromObject(object);6355 long long count = psDBDeleteRows(dbh, P2PROCESSEDEXP_TABLE_NAME, where, 0);6352 bool chipProcessedExpDeleteObject(psDB *dbh, const chipProcessedExpRow *object) 6353 { 6354 psMetadata *where = chipProcessedExpMetadataFromObject(object); 6355 long long count = psDBDeleteRows(dbh, CHIPPROCESSEDEXP_TABLE_NAME, where, 0); 6356 6356 psFree(where); 6357 6357 if (count < 0) { 6358 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2ProcessedExp");6358 psError(PS_ERR_UNKNOWN, true, "failed to delete row from chipProcessedExp"); 6359 6359 return false; 6360 6360 } … … 6362 6362 // XXX should this be a psAbort() instead? It is possible that 6363 6363 // having an object match multiple rows was by design. 6364 psError(PS_ERR_UNKNOWN, true, " p2ProcessedExpRow object matched more then one row. Check your database schema");6365 return false; 6366 } 6367 6368 return true; 6369 } 6370 long long p2ProcessedExpDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)6364 psError(PS_ERR_UNKNOWN, true, "chipProcessedExpRow object matched more then one row. Check your database schema"); 6365 return false; 6366 } 6367 6368 return true; 6369 } 6370 long long chipProcessedExpDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit) 6371 6371 { 6372 6372 long long deleted = 0; 6373 6373 6374 6374 for (long long i = 0; i < objects->n; i++) { 6375 p2ProcessedExpRow *object = objects->data[i];6376 psMetadata *where = p2ProcessedExpMetadataFromObject(object);6377 long long count = psDBDeleteRows(dbh, P2PROCESSEDEXP_TABLE_NAME, where, limit);6375 chipProcessedExpRow *object = objects->data[i]; 6376 psMetadata *where = chipProcessedExpMetadataFromObject(object); 6377 long long count = psDBDeleteRows(dbh, CHIPPROCESSEDEXP_TABLE_NAME, where, limit); 6378 6378 psFree(where); 6379 6379 if (count < 0) { 6380 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2ProcessedExp");6380 psError(PS_ERR_UNKNOWN, true, "failed to delete row from chipProcessedExp"); 6381 6381 return count; 6382 6382 } … … 6387 6387 return deleted; 6388 6388 } 6389 bool p2ProcessedExpPrintObjects(FILE *stream, psArray *objects, bool mdcf)6389 bool chipProcessedExpPrintObjects(FILE *stream, psArray *objects, bool mdcf) 6390 6390 { 6391 6391 PS_ASSERT_PTR_NON_NULL(objects, false); … … 6393 6393 psMetadata *output = psMetadataAlloc(); 6394 6394 for (long i = 0; i < psArrayLength(objects); i++) { 6395 psMetadata *md = p2ProcessedExpMetadataFromObject(objects->data[i]);6395 psMetadata *md = chipProcessedExpMetadataFromObject(objects->data[i]); 6396 6396 if (!psMetadataAddMetadata( 6397 6397 output, 6398 6398 PS_LIST_TAIL, 6399 P2PROCESSEDEXP_TABLE_NAME,6399 CHIPPROCESSEDEXP_TABLE_NAME, 6400 6400 PS_META_DUPLICATE_OK, 6401 6401 NULL, … … 6418 6418 return true; 6419 6419 } 6420 bool p2ProcessedExpPrintObject(FILE *stream, p2ProcessedExpRow *object, bool mdcf)6420 bool chipProcessedExpPrintObject(FILE *stream, chipProcessedExpRow *object, bool mdcf) 6421 6421 { 6422 6422 PS_ASSERT_PTR_NON_NULL(object, false); 6423 6423 6424 psMetadata *md = p2ProcessedExpMetadataFromObject(object);6424 psMetadata *md = chipProcessedExpMetadataFromObject(object); 6425 6425 6426 6426 if (!ippdbPrintMetadataRaw(stream, md, mdcf)) { … … 6433 6433 return true; 6434 6434 } 6435 static void p2MaskRowFree(p2MaskRow *object);6436 6437 p2MaskRow *p2MaskRowAlloc(const char *label)6438 { 6439 p2MaskRow*_object;6440 6441 _object = psAlloc(sizeof( p2MaskRow));6442 psMemSetDeallocator(_object, (psFreeFunc) p2MaskRowFree);6435 static void chipMaskRowFree(chipMaskRow *object); 6436 6437 chipMaskRow *chipMaskRowAlloc(const char *label) 6438 { 6439 chipMaskRow *_object; 6440 6441 _object = psAlloc(sizeof(chipMaskRow)); 6442 psMemSetDeallocator(_object, (psFreeFunc)chipMaskRowFree); 6443 6443 6444 6444 _object->label = psStringCopy(label); … … 6447 6447 } 6448 6448 6449 static void p2MaskRowFree(p2MaskRow *object)6449 static void chipMaskRowFree(chipMaskRow *object) 6450 6450 { 6451 6451 psFree(object->label); 6452 6452 } 6453 6453 6454 bool p2MaskCreateTable(psDB *dbh)6454 bool chipMaskCreateTable(psDB *dbh) 6455 6455 { 6456 6456 psMetadata *md = psMetadataAlloc(); … … 6461 6461 } 6462 6462 6463 bool status = psDBCreateTable(dbh, P2MASK_TABLE_NAME, md);6463 bool status = psDBCreateTable(dbh, CHIPMASK_TABLE_NAME, md); 6464 6464 6465 6465 psFree(md); … … 6468 6468 } 6469 6469 6470 bool p2MaskDropTable(psDB *dbh)6471 { 6472 return psDBDropTable(dbh, P2MASK_TABLE_NAME);6473 } 6474 6475 bool p2MaskInsert(psDB * dbh, const char *label)6470 bool chipMaskDropTable(psDB *dbh) 6471 { 6472 return psDBDropTable(dbh, CHIPMASK_TABLE_NAME); 6473 } 6474 6475 bool chipMaskInsert(psDB * dbh, const char *label) 6476 6476 { 6477 6477 psMetadata *md = psMetadataAlloc(); … … 6482 6482 } 6483 6483 6484 bool status = psDBInsertOneRow(dbh, P2MASK_TABLE_NAME, md);6484 bool status = psDBInsertOneRow(dbh, CHIPMASK_TABLE_NAME, md); 6485 6485 psFree(md); 6486 6486 … … 6488 6488 } 6489 6489 6490 long long p2MaskDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)6490 long long chipMaskDelete(psDB *dbh, const psMetadata *where, unsigned long long limit) 6491 6491 { 6492 6492 long long deleted = 0; 6493 6493 6494 long long count = psDBDeleteRows(dbh, P2MASK_TABLE_NAME, where, limit);6494 long long count = psDBDeleteRows(dbh, CHIPMASK_TABLE_NAME, where, limit); 6495 6495 if (count < 0) { 6496 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2Mask");6496 psError(PS_ERR_UNKNOWN, true, "failed to delete row from chipMask"); 6497 6497 return count; 6498 6498 … … 6502 6502 return deleted; 6503 6503 } 6504 bool p2MaskInsertObject(psDB *dbh, p2MaskRow *object)6505 { 6506 return p2MaskInsert(dbh, object->label);6507 } 6508 6509 bool p2MaskInsertObjects(psDB *dbh, psArray *objects)6504 bool chipMaskInsertObject(psDB *dbh, chipMaskRow *object) 6505 { 6506 return chipMaskInsert(dbh, object->label); 6507 } 6508 6509 bool chipMaskInsertObjects(psDB *dbh, psArray *objects) 6510 6510 { 6511 6511 for (long i = 0; i < psArrayLength(objects); i++) { 6512 if (! p2MaskInsertObject(dbh, objects->data[i])) {6512 if (!chipMaskInsertObject(dbh, objects->data[i])) { 6513 6513 return false; 6514 6514 } … … 6518 6518 } 6519 6519 6520 bool p2MaskInsertFits(psDB *dbh, const psFits *fits)6520 bool chipMaskInsertFits(psDB *dbh, const psFits *fits) 6521 6521 { 6522 6522 psArray *rowSet; 6523 6523 6524 // move to (the first?) extension named P2MASK_TABLE_NAME6525 if (!psFitsMoveExtName(fits, P2MASK_TABLE_NAME)) {6526 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P2MASK_TABLE_NAME);6524 // move to (the first?) extension named CHIPMASK_TABLE_NAME 6525 if (!psFitsMoveExtName(fits, CHIPMASK_TABLE_NAME)) { 6526 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", CHIPMASK_TABLE_NAME); 6527 6527 return false; 6528 6528 } … … 6542 6542 } 6543 6543 6544 if (!psDBInsertRows(dbh, P2MASK_TABLE_NAME, rowSet)) {6544 if (!psDBInsertRows(dbh, CHIPMASK_TABLE_NAME, rowSet)) { 6545 6545 psError(PS_ERR_UNKNOWN, false, "databse insert failed"); 6546 6546 psFree(rowSet); … … 6553 6553 } 6554 6554 6555 bool p2MaskSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)6555 bool chipMaskSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit) 6556 6556 { 6557 6557 psArray *rowSet; 6558 6558 6559 rowSet = psDBSelectRows(dbh, P2MASK_TABLE_NAME, where, limit);6559 rowSet = psDBSelectRows(dbh, CHIPMASK_TABLE_NAME, where, limit); 6560 6560 if (!rowSet) { 6561 6561 return false; … … 6563 6563 6564 6564 // output to fits 6565 if (!psFitsWriteTable(fits, NULL, rowSet, P2MASK_TABLE_NAME)) {6565 if (!psFitsWriteTable(fits, NULL, rowSet, CHIPMASK_TABLE_NAME)) { 6566 6566 psError(PS_ERR_UNKNOWN, false, "FITS table write failed"); 6567 6567 psFree(rowSet); … … 6574 6574 } 6575 6575 6576 psMetadata * p2MaskMetadataFromObject(const p2MaskRow *object)6576 psMetadata *chipMaskMetadataFromObject(const chipMaskRow *object) 6577 6577 { 6578 6578 psMetadata *md = psMetadataAlloc(); … … 6587 6587 } 6588 6588 6589 p2MaskRow *p2MaskObjectFromMetadata(psMetadata *md)6589 chipMaskRow *chipMaskObjectFromMetadata(psMetadata *md) 6590 6590 { 6591 6591 … … 6597 6597 } 6598 6598 6599 return p2MaskRowAlloc(label);6600 } 6601 psArray * p2MaskSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)6599 return chipMaskRowAlloc(label); 6600 } 6601 psArray *chipMaskSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) 6602 6602 { 6603 6603 psArray *rowSet; … … 6605 6605 psU64 i; 6606 6606 6607 rowSet = psDBSelectRows(dbh, P2MASK_TABLE_NAME, where, limit);6607 rowSet = psDBSelectRows(dbh, CHIPMASK_TABLE_NAME, where, limit); 6608 6608 if (!rowSet) { 6609 6609 return NULL; … … 6615 6615 6616 6616 for (i = 0; i < rowSet->n; i++) { 6617 p2MaskRow *object = p2MaskObjectFromMetadata(rowSet->data[i]);6617 chipMaskRow *object = chipMaskObjectFromMetadata(rowSet->data[i]); 6618 6618 psArrayAdd(returnSet, 0, object); 6619 6619 psFree(object); … … 6624 6624 return returnSet; 6625 6625 } 6626 bool p2MaskDeleteObject(psDB *dbh, const p2MaskRow *object)6627 { 6628 psMetadata *where = p2MaskMetadataFromObject(object);6629 long long count = psDBDeleteRows(dbh, P2MASK_TABLE_NAME, where, 0);6626 bool chipMaskDeleteObject(psDB *dbh, const chipMaskRow *object) 6627 { 6628 psMetadata *where = chipMaskMetadataFromObject(object); 6629 long long count = psDBDeleteRows(dbh, CHIPMASK_TABLE_NAME, where, 0); 6630 6630 psFree(where); 6631 6631 if (count < 0) { 6632 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2Mask");6632 psError(PS_ERR_UNKNOWN, true, "failed to delete row from chipMask"); 6633 6633 return false; 6634 6634 } … … 6636 6636 // XXX should this be a psAbort() instead? It is possible that 6637 6637 // having an object match multiple rows was by design. 6638 psError(PS_ERR_UNKNOWN, true, " p2MaskRow object matched more then one row. Check your database schema");6639 return false; 6640 } 6641 6642 return true; 6643 } 6644 long long p2MaskDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)6638 psError(PS_ERR_UNKNOWN, true, "chipMaskRow object matched more then one row. Check your database schema"); 6639 return false; 6640 } 6641 6642 return true; 6643 } 6644 long long chipMaskDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit) 6645 6645 { 6646 6646 long long deleted = 0; 6647 6647 6648 6648 for (long long i = 0; i < objects->n; i++) { 6649 p2MaskRow *object = objects->data[i];6650 psMetadata *where = p2MaskMetadataFromObject(object);6651 long long count = psDBDeleteRows(dbh, P2MASK_TABLE_NAME, where, limit);6649 chipMaskRow *object = objects->data[i]; 6650 psMetadata *where = chipMaskMetadataFromObject(object); 6651 long long count = psDBDeleteRows(dbh, CHIPMASK_TABLE_NAME, where, limit); 6652 6652 psFree(where); 6653 6653 if (count < 0) { 6654 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2Mask");6654 psError(PS_ERR_UNKNOWN, true, "failed to delete row from chipMask"); 6655 6655 return count; 6656 6656 } … … 6661 6661 return deleted; 6662 6662 } 6663 bool p2MaskPrintObjects(FILE *stream, psArray *objects, bool mdcf)6663 bool chipMaskPrintObjects(FILE *stream, psArray *objects, bool mdcf) 6664 6664 { 6665 6665 PS_ASSERT_PTR_NON_NULL(objects, false); … … 6667 6667 psMetadata *output = psMetadataAlloc(); 6668 6668 for (long i = 0; i < psArrayLength(objects); i++) { 6669 psMetadata *md = p2MaskMetadataFromObject(objects->data[i]);6669 psMetadata *md = chipMaskMetadataFromObject(objects->data[i]); 6670 6670 if (!psMetadataAddMetadata( 6671 6671 output, 6672 6672 PS_LIST_TAIL, 6673 P2MASK_TABLE_NAME,6673 CHIPMASK_TABLE_NAME, 6674 6674 PS_META_DUPLICATE_OK, 6675 6675 NULL, … … 6692 6692 return true; 6693 6693 } 6694 bool p2MaskPrintObject(FILE *stream, p2MaskRow *object, bool mdcf)6694 bool chipMaskPrintObject(FILE *stream, chipMaskRow *object, bool mdcf) 6695 6695 { 6696 6696 PS_ASSERT_PTR_NON_NULL(object, false); 6697 6697 6698 psMetadata *md = p2MaskMetadataFromObject(object);6698 psMetadata *md = chipMaskMetadataFromObject(object); 6699 6699 6700 6700 if (!ippdbPrintMetadataRaw(stream, md, mdcf)) { … … 6707 6707 return true; 6708 6708 } 6709 static void p2ProcessedImfileRowFree(p2ProcessedImfileRow *object);6710 6711 p2ProcessedImfileRow *p2ProcessedImfileRowAlloc(const char *exp_tag, psS32 p2_version, psS32 p1_version, const char *class_id, const char *recipe, const char *uri, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *b1_uri, const char *b2_uri, psS16 fault)6712 { 6713 p2ProcessedImfileRow *_object;6714 6715 _object = psAlloc(sizeof( p2ProcessedImfileRow));6716 psMemSetDeallocator(_object, (psFreeFunc) p2ProcessedImfileRowFree);6709 static void chipProcessedImfileRowFree(chipProcessedImfileRow *object); 6710 6711 chipProcessedImfileRow *chipProcessedImfileRowAlloc(const char *exp_tag, psS32 chip_version, psS32 guide_version, const char *class_id, const char *recipe, const char *uri, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *b1_uri, const char *b2_uri, psS16 fault) 6712 { 6713 chipProcessedImfileRow *_object; 6714 6715 _object = psAlloc(sizeof(chipProcessedImfileRow)); 6716 psMemSetDeallocator(_object, (psFreeFunc)chipProcessedImfileRowFree); 6717 6717 6718 6718 _object->exp_tag = psStringCopy(exp_tag); 6719 _object-> p2_version = p2_version;6720 _object-> p1_version = p1_version;6719 _object->chip_version = chip_version; 6720 _object->guide_version = guide_version; 6721 6721 _object->class_id = psStringCopy(class_id); 6722 6722 _object->recipe = psStringCopy(recipe); … … 6732 6732 } 6733 6733 6734 static void p2ProcessedImfileRowFree(p2ProcessedImfileRow *object)6734 static void chipProcessedImfileRowFree(chipProcessedImfileRow *object) 6735 6735 { 6736 6736 psFree(object->exp_tag); … … 6742 6742 } 6743 6743 6744 bool p2ProcessedImfileCreateTable(psDB *dbh)6744 bool chipProcessedImfileCreateTable(psDB *dbh) 6745 6745 { 6746 6746 psMetadata *md = psMetadataAlloc(); … … 6750 6750 return false; 6751 6751 } 6752 if (!psMetadataAdd(md, PS_LIST_TAIL, " p2_version", PS_DATA_S32, "Primary Key", 0)) {6753 psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");6754 psFree(md); 6755 return false; 6756 } 6757 if (!psMetadataAdd(md, PS_LIST_TAIL, " p1_version", PS_DATA_S32, NULL, 0)) {6758 psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");6752 if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, "Primary Key", 0)) { 6753 psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version"); 6754 psFree(md); 6755 return false; 6756 } 6757 if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, 0)) { 6758 psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version"); 6759 6759 psFree(md); 6760 6760 return false; … … 6806 6806 } 6807 6807 6808 bool status = psDBCreateTable(dbh, P2PROCESSEDIMFILE_TABLE_NAME, md);6808 bool status = psDBCreateTable(dbh, CHIPPROCESSEDIMFILE_TABLE_NAME, md); 6809 6809 6810 6810 psFree(md); … … 6813 6813 } 6814 6814 6815 bool p2ProcessedImfileDropTable(psDB *dbh)6816 { 6817 return psDBDropTable(dbh, P2PROCESSEDIMFILE_TABLE_NAME);6818 } 6819 6820 bool p2ProcessedImfileInsert(psDB * dbh, const char *exp_tag, psS32 p2_version, psS32 p1_version, const char *class_id, const char *recipe, const char *uri, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *b1_uri, const char *b2_uri, psS16 fault)6815 bool chipProcessedImfileDropTable(psDB *dbh) 6816 { 6817 return psDBDropTable(dbh, CHIPPROCESSEDIMFILE_TABLE_NAME); 6818 } 6819 6820 bool chipProcessedImfileInsert(psDB * dbh, const char *exp_tag, psS32 chip_version, psS32 guide_version, const char *class_id, const char *recipe, const char *uri, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *b1_uri, const char *b2_uri, psS16 fault) 6821 6821 { 6822 6822 psMetadata *md = psMetadataAlloc(); … … 6826 6826 return false; 6827 6827 } 6828 if (!psMetadataAdd(md, PS_LIST_TAIL, " p2_version", PS_DATA_S32, NULL, p2_version)) {6829 psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");6830 psFree(md); 6831 return false; 6832 } 6833 if (!psMetadataAdd(md, PS_LIST_TAIL, " p1_version", PS_DATA_S32, NULL, p1_version)) {6834 psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");6828 if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, chip_version)) { 6829 psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version"); 6830 psFree(md); 6831 return false; 6832 } 6833 if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, guide_version)) { 6834 psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version"); 6835 6835 psFree(md); 6836 6836 return false; … … 6882 6882 } 6883 6883 6884 bool status = psDBInsertOneRow(dbh, P2PROCESSEDIMFILE_TABLE_NAME, md);6884 bool status = psDBInsertOneRow(dbh, CHIPPROCESSEDIMFILE_TABLE_NAME, md); 6885 6885 psFree(md); 6886 6886 … … 6888 6888 } 6889 6889 6890 long long p2ProcessedImfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)6890 long long chipProcessedImfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit) 6891 6891 { 6892 6892 long long deleted = 0; 6893 6893 6894 long long count = psDBDeleteRows(dbh, P2PROCESSEDIMFILE_TABLE_NAME, where, limit);6894 long long count = psDBDeleteRows(dbh, CHIPPROCESSEDIMFILE_TABLE_NAME, where, limit); 6895 6895 if (count < 0) { 6896 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2ProcessedImfile");6896 psError(PS_ERR_UNKNOWN, true, "failed to delete row from chipProcessedImfile"); 6897 6897 return count; 6898 6898 … … 6902 6902 return deleted; 6903 6903 } 6904 bool p2ProcessedImfileInsertObject(psDB *dbh, p2ProcessedImfileRow *object)6905 { 6906 return p2ProcessedImfileInsert(dbh, object->exp_tag, object->p2_version, object->p1_version, object->class_id, object->recipe, object->uri, object->bg, object->bg_stdev, object->bg_mean_stdev, object->b1_uri, object->b2_uri, object->fault);6907 } 6908 6909 bool p2ProcessedImfileInsertObjects(psDB *dbh, psArray *objects)6904 bool chipProcessedImfileInsertObject(psDB *dbh, chipProcessedImfileRow *object) 6905 { 6906 return chipProcessedImfileInsert(dbh, object->exp_tag, object->chip_version, object->guide_version, object->class_id, object->recipe, object->uri, object->bg, object->bg_stdev, object->bg_mean_stdev, object->b1_uri, object->b2_uri, object->fault); 6907 } 6908 6909 bool chipProcessedImfileInsertObjects(psDB *dbh, psArray *objects) 6910 6910 { 6911 6911 for (long i = 0; i < psArrayLength(objects); i++) { 6912 if (! p2ProcessedImfileInsertObject(dbh, objects->data[i])) {6912 if (!chipProcessedImfileInsertObject(dbh, objects->data[i])) { 6913 6913 return false; 6914 6914 } … … 6918 6918 } 6919 6919 6920 bool p2ProcessedImfileInsertFits(psDB *dbh, const psFits *fits)6920 bool chipProcessedImfileInsertFits(psDB *dbh, const psFits *fits) 6921 6921 { 6922 6922 psArray *rowSet; 6923 6923 6924 // move to (the first?) extension named P2PROCESSEDIMFILE_TABLE_NAME6925 if (!psFitsMoveExtName(fits, P2PROCESSEDIMFILE_TABLE_NAME)) {6926 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P2PROCESSEDIMFILE_TABLE_NAME);6924 // move to (the first?) extension named CHIPPROCESSEDIMFILE_TABLE_NAME 6925 if (!psFitsMoveExtName(fits, CHIPPROCESSEDIMFILE_TABLE_NAME)) { 6926 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", CHIPPROCESSEDIMFILE_TABLE_NAME); 6927 6927 return false; 6928 6928 } … … 6942 6942 } 6943 6943 6944 if (!psDBInsertRows(dbh, P2PROCESSEDIMFILE_TABLE_NAME, rowSet)) {6944 if (!psDBInsertRows(dbh, CHIPPROCESSEDIMFILE_TABLE_NAME, rowSet)) { 6945 6945 psError(PS_ERR_UNKNOWN, false, "databse insert failed"); 6946 6946 psFree(rowSet); … … 6953 6953 } 6954 6954 6955 bool p2ProcessedImfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)6955 bool chipProcessedImfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit) 6956 6956 { 6957 6957 psArray *rowSet; 6958 6958 6959 rowSet = psDBSelectRows(dbh, P2PROCESSEDIMFILE_TABLE_NAME, where, limit);6959 rowSet = psDBSelectRows(dbh, CHIPPROCESSEDIMFILE_TABLE_NAME, where, limit); 6960 6960 if (!rowSet) { 6961 6961 return false; … … 6963 6963 6964 6964 // output to fits 6965 if (!psFitsWriteTable(fits, NULL, rowSet, P2PROCESSEDIMFILE_TABLE_NAME)) {6965 if (!psFitsWriteTable(fits, NULL, rowSet, CHIPPROCESSEDIMFILE_TABLE_NAME)) { 6966 6966 psError(PS_ERR_UNKNOWN, false, "FITS table write failed"); 6967 6967 psFree(rowSet); … … 6974 6974 } 6975 6975 6976 psMetadata * p2ProcessedImfileMetadataFromObject(const p2ProcessedImfileRow *object)6976 psMetadata *chipProcessedImfileMetadataFromObject(const chipProcessedImfileRow *object) 6977 6977 { 6978 6978 psMetadata *md = psMetadataAlloc(); … … 6982 6982 return false; 6983 6983 } 6984 if (!psMetadataAdd(md, PS_LIST_TAIL, " p2_version", PS_DATA_S32, NULL, object->p2_version)) {6985 psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");6986 psFree(md); 6987 return false; 6988 } 6989 if (!psMetadataAdd(md, PS_LIST_TAIL, " p1_version", PS_DATA_S32, NULL, object->p1_version)) {6990 psError(PS_ERR_UNKNOWN, false, "failed to add item p1_version");6984 if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, object->chip_version)) { 6985 psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version"); 6986 psFree(md); 6987 return false; 6988 } 6989 if (!psMetadataAdd(md, PS_LIST_TAIL, "guide_version", PS_DATA_S32, NULL, object->guide_version)) { 6990 psError(PS_ERR_UNKNOWN, false, "failed to add item guide_version"); 6991 6991 psFree(md); 6992 6992 return false; … … 7042 7042 } 7043 7043 7044 p2ProcessedImfileRow *p2ProcessedImfileObjectFromMetadata(psMetadata *md)7044 chipProcessedImfileRow *chipProcessedImfileObjectFromMetadata(psMetadata *md) 7045 7045 { 7046 7046 … … 7051 7051 return false; 7052 7052 } 7053 psS32 p2_version = psMetadataLookupS32(&status, md, "p2_version");7054 if (!status) { 7055 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p2_version");7056 return false; 7057 } 7058 psS32 p1_version = psMetadataLookupS32(&status, md, "p1_version");7059 if (!status) { 7060 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p1_version");7053 psS32 chip_version = psMetadataLookupS32(&status, md, "chip_version"); 7054 if (!status) { 7055 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item chip_version"); 7056 return false; 7057 } 7058 psS32 guide_version = psMetadataLookupS32(&status, md, "guide_version"); 7059 if (!status) { 7060 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item guide_version"); 7061 7061 return false; 7062 7062 } … … 7107 7107 } 7108 7108 7109 return p2ProcessedImfileRowAlloc(exp_tag, p2_version, p1_version, class_id, recipe, uri, bg, bg_stdev, bg_mean_stdev, b1_uri, b2_uri, fault);7110 } 7111 psArray * p2ProcessedImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)7109 return chipProcessedImfileRowAlloc(exp_tag, chip_version, guide_version, class_id, recipe, uri, bg, bg_stdev, bg_mean_stdev, b1_uri, b2_uri, fault); 7110 } 7111 psArray *chipProcessedImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) 7112 7112 { 7113 7113 psArray *rowSet; … … 7115 7115 psU64 i; 7116 7116 7117 rowSet = psDBSelectRows(dbh, P2PROCESSEDIMFILE_TABLE_NAME, where, limit);7117 rowSet = psDBSelectRows(dbh, CHIPPROCESSEDIMFILE_TABLE_NAME, where, limit); 7118 7118 if (!rowSet) { 7119 7119 return NULL; … … 7125 7125 7126 7126 for (i = 0; i < rowSet->n; i++) { 7127 p2ProcessedImfileRow *object = p2ProcessedImfileObjectFromMetadata(rowSet->data[i]);7127 chipProcessedImfileRow *object = chipProcessedImfileObjectFromMetadata(rowSet->data[i]); 7128 7128 psArrayAdd(returnSet, 0, object); 7129 7129 psFree(object); … … 7134 7134 return returnSet; 7135 7135 } 7136 bool p2ProcessedImfileDeleteObject(psDB *dbh, const p2ProcessedImfileRow *object)7137 { 7138 psMetadata *where = p2ProcessedImfileMetadataFromObject(object);7139 long long count = psDBDeleteRows(dbh, P2PROCESSEDIMFILE_TABLE_NAME, where, 0);7136 bool chipProcessedImfileDeleteObject(psDB *dbh, const chipProcessedImfileRow *object) 7137 { 7138 psMetadata *where = chipProcessedImfileMetadataFromObject(object); 7139 long long count = psDBDeleteRows(dbh, CHIPPROCESSEDIMFILE_TABLE_NAME, where, 0); 7140 7140 psFree(where); 7141 7141 if (count < 0) { 7142 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2ProcessedImfile");7142 psError(PS_ERR_UNKNOWN, true, "failed to delete row from chipProcessedImfile"); 7143 7143 return false; 7144 7144 } … … 7146 7146 // XXX should this be a psAbort() instead? It is possible that 7147 7147 // having an object match multiple rows was by design. 7148 psError(PS_ERR_UNKNOWN, true, " p2ProcessedImfileRow object matched more then one row. Check your database schema");7149 return false; 7150 } 7151 7152 return true; 7153 } 7154 long long p2ProcessedImfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)7148 psError(PS_ERR_UNKNOWN, true, "chipProcessedImfileRow object matched more then one row. Check your database schema"); 7149 return false; 7150 } 7151 7152 return true; 7153 } 7154 long long chipProcessedImfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit) 7155 7155 { 7156 7156 long long deleted = 0; 7157 7157 7158 7158 for (long long i = 0; i < objects->n; i++) { 7159 p2ProcessedImfileRow *object = objects->data[i];7160 psMetadata *where = p2ProcessedImfileMetadataFromObject(object);7161 long long count = psDBDeleteRows(dbh, P2PROCESSEDIMFILE_TABLE_NAME, where, limit);7159 chipProcessedImfileRow *object = objects->data[i]; 7160 psMetadata *where = chipProcessedImfileMetadataFromObject(object); 7161 long long count = psDBDeleteRows(dbh, CHIPPROCESSEDIMFILE_TABLE_NAME, where, limit); 7162 7162 psFree(where); 7163 7163 if (count < 0) { 7164 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p2ProcessedImfile");7164 psError(PS_ERR_UNKNOWN, true, "failed to delete row from chipProcessedImfile"); 7165 7165 return count; 7166 7166 } … … 7171 7171 return deleted; 7172 7172 } 7173 bool p2ProcessedImfilePrintObjects(FILE *stream, psArray *objects, bool mdcf)7173 bool chipProcessedImfilePrintObjects(FILE *stream, psArray *objects, bool mdcf) 7174 7174 { 7175 7175 PS_ASSERT_PTR_NON_NULL(objects, false); … … 7177 7177 psMetadata *output = psMetadataAlloc(); 7178 7178 for (long i = 0; i < psArrayLength(objects); i++) { 7179 psMetadata *md = p2ProcessedImfileMetadataFromObject(objects->data[i]);7179 psMetadata *md = chipProcessedImfileMetadataFromObject(objects->data[i]); 7180 7180 if (!psMetadataAddMetadata( 7181 7181 output, 7182 7182 PS_LIST_TAIL, 7183 P2PROCESSEDIMFILE_TABLE_NAME,7183 CHIPPROCESSEDIMFILE_TABLE_NAME, 7184 7184 PS_META_DUPLICATE_OK, 7185 7185 NULL, … … 7202 7202 return true; 7203 7203 } 7204 bool p2ProcessedImfilePrintObject(FILE *stream, p2ProcessedImfileRow *object, bool mdcf)7204 bool chipProcessedImfilePrintObject(FILE *stream, chipProcessedImfileRow *object, bool mdcf) 7205 7205 { 7206 7206 PS_ASSERT_PTR_NON_NULL(object, false); 7207 7207 7208 psMetadata *md = p2ProcessedImfileMetadataFromObject(object);7208 psMetadata *md = chipProcessedImfileMetadataFromObject(object); 7209 7209 7210 7210 if (!ippdbPrintMetadataRaw(stream, md, mdcf)) { … … 7217 7217 return true; 7218 7218 } 7219 static void p3PendingExpRowFree(p3PendingExpRow *object);7220 7221 p3PendingExpRow *p3PendingExpRowAlloc(const char *exp_tag, psS32 p3_version, psS32 p2_version, const char *label, const char *expgroup, const char *dvodb)7222 { 7223 p3PendingExpRow *_object;7224 7225 _object = psAlloc(sizeof( p3PendingExpRow));7226 psMemSetDeallocator(_object, (psFreeFunc) p3PendingExpRowFree);7219 static void camPendingExpRowFree(camPendingExpRow *object); 7220 7221 camPendingExpRow *camPendingExpRowAlloc(const char *exp_tag, psS32 cam_version, psS32 chip_version, const char *label, const char *expgroup, const char *dvodb) 7222 { 7223 camPendingExpRow *_object; 7224 7225 _object = psAlloc(sizeof(camPendingExpRow)); 7226 psMemSetDeallocator(_object, (psFreeFunc)camPendingExpRowFree); 7227 7227 7228 7228 _object->exp_tag = psStringCopy(exp_tag); 7229 _object-> p3_version = p3_version;7230 _object-> p2_version = p2_version;7229 _object->cam_version = cam_version; 7230 _object->chip_version = chip_version; 7231 7231 _object->label = psStringCopy(label); 7232 7232 _object->expgroup = psStringCopy(expgroup); … … 7236 7236 } 7237 7237 7238 static void p3PendingExpRowFree(p3PendingExpRow *object)7238 static void camPendingExpRowFree(camPendingExpRow *object) 7239 7239 { 7240 7240 psFree(object->exp_tag); … … 7244 7244 } 7245 7245 7246 bool p3PendingExpCreateTable(psDB *dbh)7246 bool camPendingExpCreateTable(psDB *dbh) 7247 7247 { 7248 7248 psMetadata *md = psMetadataAlloc(); … … 7252 7252 return false; 7253 7253 } 7254 if (!psMetadataAdd(md, PS_LIST_TAIL, " p3_version", PS_DATA_S32, "Primary Key", 0)) {7255 psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version");7256 psFree(md); 7257 return false; 7258 } 7259 if (!psMetadataAdd(md, PS_LIST_TAIL, " p2_version", PS_DATA_S32, NULL, 0)) {7260 psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");7254 if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_version", PS_DATA_S32, "Primary Key", 0)) { 7255 psError(PS_ERR_UNKNOWN, false, "failed to add item cam_version"); 7256 psFree(md); 7257 return false; 7258 } 7259 if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, 0)) { 7260 psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version"); 7261 7261 psFree(md); 7262 7262 return false; … … 7278 7278 } 7279 7279 7280 bool status = psDBCreateTable(dbh, P3PENDINGEXP_TABLE_NAME, md);7280 bool status = psDBCreateTable(dbh, CAMPENDINGEXP_TABLE_NAME, md); 7281 7281 7282 7282 psFree(md); … … 7285 7285 } 7286 7286 7287 bool p3PendingExpDropTable(psDB *dbh)7288 { 7289 return psDBDropTable(dbh, P3PENDINGEXP_TABLE_NAME);7290 } 7291 7292 bool p3PendingExpInsert(psDB * dbh, const char *exp_tag, psS32 p3_version, psS32 p2_version, const char *label, const char *expgroup, const char *dvodb)7287 bool camPendingExpDropTable(psDB *dbh) 7288 { 7289 return psDBDropTable(dbh, CAMPENDINGEXP_TABLE_NAME); 7290 } 7291 7292 bool camPendingExpInsert(psDB * dbh, const char *exp_tag, psS32 cam_version, psS32 chip_version, const char *label, const char *expgroup, const char *dvodb) 7293 7293 { 7294 7294 psMetadata *md = psMetadataAlloc(); … … 7298 7298 return false; 7299 7299 } 7300 if (!psMetadataAdd(md, PS_LIST_TAIL, " p3_version", PS_DATA_S32, NULL, p3_version)) {7301 psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version");7302 psFree(md); 7303 return false; 7304 } 7305 if (!psMetadataAdd(md, PS_LIST_TAIL, " p2_version", PS_DATA_S32, NULL, p2_version)) {7306 psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");7300 if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_version", PS_DATA_S32, NULL, cam_version)) { 7301 psError(PS_ERR_UNKNOWN, false, "failed to add item cam_version"); 7302 psFree(md); 7303 return false; 7304 } 7305 if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, chip_version)) { 7306 psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version"); 7307 7307 psFree(md); 7308 7308 return false; … … 7324 7324 } 7325 7325 7326 bool status = psDBInsertOneRow(dbh, P3PENDINGEXP_TABLE_NAME, md);7326 bool status = psDBInsertOneRow(dbh, CAMPENDINGEXP_TABLE_NAME, md); 7327 7327 psFree(md); 7328 7328 … … 7330 7330 } 7331 7331 7332 long long p3PendingExpDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)7332 long long camPendingExpDelete(psDB *dbh, const psMetadata *where, unsigned long long limit) 7333 7333 { 7334 7334 long long deleted = 0; 7335 7335 7336 long long count = psDBDeleteRows(dbh, P3PENDINGEXP_TABLE_NAME, where, limit);7336 long long count = psDBDeleteRows(dbh, CAMPENDINGEXP_TABLE_NAME, where, limit); 7337 7337 if (count < 0) { 7338 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p3PendingExp");7338 psError(PS_ERR_UNKNOWN, true, "failed to delete row from camPendingExp"); 7339 7339 return count; 7340 7340 … … 7344 7344 return deleted; 7345 7345 } 7346 bool p3PendingExpInsertObject(psDB *dbh, p3PendingExpRow *object)7347 { 7348 return p3PendingExpInsert(dbh, object->exp_tag, object->p3_version, object->p2_version, object->label, object->expgroup, object->dvodb);7349 } 7350 7351 bool p3PendingExpInsertObjects(psDB *dbh, psArray *objects)7346 bool camPendingExpInsertObject(psDB *dbh, camPendingExpRow *object) 7347 { 7348 return camPendingExpInsert(dbh, object->exp_tag, object->cam_version, object->chip_version, object->label, object->expgroup, object->dvodb); 7349 } 7350 7351 bool camPendingExpInsertObjects(psDB *dbh, psArray *objects) 7352 7352 { 7353 7353 for (long i = 0; i < psArrayLength(objects); i++) { 7354 if (! p3PendingExpInsertObject(dbh, objects->data[i])) {7354 if (!camPendingExpInsertObject(dbh, objects->data[i])) { 7355 7355 return false; 7356 7356 } … … 7360 7360 } 7361 7361 7362 bool p3PendingExpInsertFits(psDB *dbh, const psFits *fits)7362 bool camPendingExpInsertFits(psDB *dbh, const psFits *fits) 7363 7363 { 7364 7364 psArray *rowSet; 7365 7365 7366 // move to (the first?) extension named P3PENDINGEXP_TABLE_NAME7367 if (!psFitsMoveExtName(fits, P3PENDINGEXP_TABLE_NAME)) {7368 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P3PENDINGEXP_TABLE_NAME);7366 // move to (the first?) extension named CAMPENDINGEXP_TABLE_NAME 7367 if (!psFitsMoveExtName(fits, CAMPENDINGEXP_TABLE_NAME)) { 7368 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", CAMPENDINGEXP_TABLE_NAME); 7369 7369 return false; 7370 7370 } … … 7384 7384 } 7385 7385 7386 if (!psDBInsertRows(dbh, P3PENDINGEXP_TABLE_NAME, rowSet)) {7386 if (!psDBInsertRows(dbh, CAMPENDINGEXP_TABLE_NAME, rowSet)) { 7387 7387 psError(PS_ERR_UNKNOWN, false, "databse insert failed"); 7388 7388 psFree(rowSet); … … 7395 7395 } 7396 7396 7397 bool p3PendingExpSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)7397 bool camPendingExpSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit) 7398 7398 { 7399 7399 psArray *rowSet; 7400 7400 7401 rowSet = psDBSelectRows(dbh, P3PENDINGEXP_TABLE_NAME, where, limit);7401 rowSet = psDBSelectRows(dbh, CAMPENDINGEXP_TABLE_NAME, where, limit); 7402 7402 if (!rowSet) { 7403 7403 return false; … … 7405 7405 7406 7406 // output to fits 7407 if (!psFitsWriteTable(fits, NULL, rowSet, P3PENDINGEXP_TABLE_NAME)) {7407 if (!psFitsWriteTable(fits, NULL, rowSet, CAMPENDINGEXP_TABLE_NAME)) { 7408 7408 psError(PS_ERR_UNKNOWN, false, "FITS table write failed"); 7409 7409 psFree(rowSet); … … 7416 7416 } 7417 7417 7418 psMetadata * p3PendingExpMetadataFromObject(const p3PendingExpRow *object)7418 psMetadata *camPendingExpMetadataFromObject(const camPendingExpRow *object) 7419 7419 { 7420 7420 psMetadata *md = psMetadataAlloc(); … … 7424 7424 return false; 7425 7425 } 7426 if (!psMetadataAdd(md, PS_LIST_TAIL, " p3_version", PS_DATA_S32, NULL, object->p3_version)) {7427 psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version");7428 psFree(md); 7429 return false; 7430 } 7431 if (!psMetadataAdd(md, PS_LIST_TAIL, " p2_version", PS_DATA_S32, NULL, object->p2_version)) {7432 psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");7426 if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_version", PS_DATA_S32, NULL, object->cam_version)) { 7427 psError(PS_ERR_UNKNOWN, false, "failed to add item cam_version"); 7428 psFree(md); 7429 return false; 7430 } 7431 if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, object->chip_version)) { 7432 psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version"); 7433 7433 psFree(md); 7434 7434 return false; … … 7454 7454 } 7455 7455 7456 p3PendingExpRow *p3PendingExpObjectFromMetadata(psMetadata *md)7456 camPendingExpRow *camPendingExpObjectFromMetadata(psMetadata *md) 7457 7457 { 7458 7458 … … 7463 7463 return false; 7464 7464 } 7465 psS32 p3_version = psMetadataLookupS32(&status, md, "p3_version");7466 if (!status) { 7467 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p3_version");7468 return false; 7469 } 7470 psS32 p2_version = psMetadataLookupS32(&status, md, "p2_version");7471 if (!status) { 7472 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p2_version");7465 psS32 cam_version = psMetadataLookupS32(&status, md, "cam_version"); 7466 if (!status) { 7467 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item cam_version"); 7468 return false; 7469 } 7470 psS32 chip_version = psMetadataLookupS32(&status, md, "chip_version"); 7471 if (!status) { 7472 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item chip_version"); 7473 7473 return false; 7474 7474 } … … 7489 7489 } 7490 7490 7491 return p3PendingExpRowAlloc(exp_tag, p3_version, p2_version, label, expgroup, dvodb);7492 } 7493 psArray * p3PendingExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)7491 return camPendingExpRowAlloc(exp_tag, cam_version, chip_version, label, expgroup, dvodb); 7492 } 7493 psArray *camPendingExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) 7494 7494 { 7495 7495 psArray *rowSet; … … 7497 7497 psU64 i; 7498 7498 7499 rowSet = psDBSelectRows(dbh, P3PENDINGEXP_TABLE_NAME, where, limit);7499 rowSet = psDBSelectRows(dbh, CAMPENDINGEXP_TABLE_NAME, where, limit); 7500 7500 if (!rowSet) { 7501 7501 return NULL; … … 7507 7507 7508 7508 for (i = 0; i < rowSet->n; i++) { 7509 p3PendingExpRow *object = p3PendingExpObjectFromMetadata(rowSet->data[i]);7509 camPendingExpRow *object = camPendingExpObjectFromMetadata(rowSet->data[i]); 7510 7510 psArrayAdd(returnSet, 0, object); 7511 7511 psFree(object); … … 7516 7516 return returnSet; 7517 7517 } 7518 bool p3PendingExpDeleteObject(psDB *dbh, const p3PendingExpRow *object)7519 { 7520 psMetadata *where = p3PendingExpMetadataFromObject(object);7521 long long count = psDBDeleteRows(dbh, P3PENDINGEXP_TABLE_NAME, where, 0);7518 bool camPendingExpDeleteObject(psDB *dbh, const camPendingExpRow *object) 7519 { 7520 psMetadata *where = camPendingExpMetadataFromObject(object); 7521 long long count = psDBDeleteRows(dbh, CAMPENDINGEXP_TABLE_NAME, where, 0); 7522 7522 psFree(where); 7523 7523 if (count < 0) { 7524 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p3PendingExp");7524 psError(PS_ERR_UNKNOWN, true, "failed to delete row from camPendingExp"); 7525 7525 return false; 7526 7526 } … … 7528 7528 // XXX should this be a psAbort() instead? It is possible that 7529 7529 // having an object match multiple rows was by design. 7530 psError(PS_ERR_UNKNOWN, true, " p3PendingExpRow object matched more then one row. Check your database schema");7531 return false; 7532 } 7533 7534 return true; 7535 } 7536 long long p3PendingExpDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)7530 psError(PS_ERR_UNKNOWN, true, "camPendingExpRow object matched more then one row. Check your database schema"); 7531 return false; 7532 } 7533 7534 return true; 7535 } 7536 long long camPendingExpDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit) 7537 7537 { 7538 7538 long long deleted = 0; 7539 7539 7540 7540 for (long long i = 0; i < objects->n; i++) { 7541 p3PendingExpRow *object = objects->data[i];7542 psMetadata *where = p3PendingExpMetadataFromObject(object);7543 long long count = psDBDeleteRows(dbh, P3PENDINGEXP_TABLE_NAME, where, limit);7541 camPendingExpRow *object = objects->data[i]; 7542 psMetadata *where = camPendingExpMetadataFromObject(object); 7543 long long count = psDBDeleteRows(dbh, CAMPENDINGEXP_TABLE_NAME, where, limit); 7544 7544 psFree(where); 7545 7545 if (count < 0) { 7546 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p3PendingExp");7546 psError(PS_ERR_UNKNOWN, true, "failed to delete row from camPendingExp"); 7547 7547 return count; 7548 7548 } … … 7553 7553 return deleted; 7554 7554 } 7555 bool p3PendingExpPrintObjects(FILE *stream, psArray *objects, bool mdcf)7555 bool camPendingExpPrintObjects(FILE *stream, psArray *objects, bool mdcf) 7556 7556 { 7557 7557 PS_ASSERT_PTR_NON_NULL(objects, false); … … 7559 7559 psMetadata *output = psMetadataAlloc(); 7560 7560 for (long i = 0; i < psArrayLength(objects); i++) { 7561 psMetadata *md = p3PendingExpMetadataFromObject(objects->data[i]);7561 psMetadata *md = camPendingExpMetadataFromObject(objects->data[i]); 7562 7562 if (!psMetadataAddMetadata( 7563 7563 output, 7564 7564 PS_LIST_TAIL, 7565 P3PENDINGEXP_TABLE_NAME,7565 CAMPENDINGEXP_TABLE_NAME, 7566 7566 PS_META_DUPLICATE_OK, 7567 7567 NULL, … … 7584 7584 return true; 7585 7585 } 7586 bool p3PendingExpPrintObject(FILE *stream, p3PendingExpRow *object, bool mdcf)7586 bool camPendingExpPrintObject(FILE *stream, camPendingExpRow *object, bool mdcf) 7587 7587 { 7588 7588 PS_ASSERT_PTR_NON_NULL(object, false); 7589 7589 7590 psMetadata *md = p3PendingExpMetadataFromObject(object);7590 psMetadata *md = camPendingExpMetadataFromObject(object); 7591 7591 7592 7592 if (!ippdbPrintMetadataRaw(stream, md, mdcf)) { … … 7599 7599 return true; 7600 7600 } 7601 static void p3ProcessedExpRowFree(p3ProcessedExpRow *object);7602 7603 p3ProcessedExpRow *p3ProcessedExpRowAlloc(const char *exp_tag, psS32 p3_version, psS32 p2_version, const char *label, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF32 sigma_ra, psF32 sigma_dec, psS32 nastro, const char *b1_uri, const char *b2_uri, psF32 zp_mean, psF32 zp_stdev, psS16 fault, const char *expgroup, const char *dvodb)7604 { 7605 p3ProcessedExpRow *_object;7606 7607 _object = psAlloc(sizeof( p3ProcessedExpRow));7608 psMemSetDeallocator(_object, (psFreeFunc) p3ProcessedExpRowFree);7601 static void camProcessedExpRowFree(camProcessedExpRow *object); 7602 7603 camProcessedExpRow *camProcessedExpRowAlloc(const char *exp_tag, psS32 cam_version, psS32 chip_version, const char *label, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF32 sigma_ra, psF32 sigma_dec, psS32 nastro, const char *b1_uri, const char *b2_uri, psF32 zp_mean, psF32 zp_stdev, psS16 fault, const char *expgroup, const char *dvodb) 7604 { 7605 camProcessedExpRow *_object; 7606 7607 _object = psAlloc(sizeof(camProcessedExpRow)); 7608 psMemSetDeallocator(_object, (psFreeFunc)camProcessedExpRowFree); 7609 7609 7610 7610 _object->exp_tag = psStringCopy(exp_tag); 7611 _object-> p3_version = p3_version;7612 _object-> p2_version = p2_version;7611 _object->cam_version = cam_version; 7612 _object->chip_version = chip_version; 7613 7613 _object->label = psStringCopy(label); 7614 7614 _object->uri = psStringCopy(uri); … … 7631 7631 } 7632 7632 7633 static void p3ProcessedExpRowFree(p3ProcessedExpRow *object)7633 static void camProcessedExpRowFree(camProcessedExpRow *object) 7634 7634 { 7635 7635 psFree(object->exp_tag); … … 7643 7643 } 7644 7644 7645 bool p3ProcessedExpCreateTable(psDB *dbh)7645 bool camProcessedExpCreateTable(psDB *dbh) 7646 7646 { 7647 7647 psMetadata *md = psMetadataAlloc(); … … 7651 7651 return false; 7652 7652 } 7653 if (!psMetadataAdd(md, PS_LIST_TAIL, " p3_version", PS_DATA_S32, "Primary Key", 0)) {7654 psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version");7655 psFree(md); 7656 return false; 7657 } 7658 if (!psMetadataAdd(md, PS_LIST_TAIL, " p2_version", PS_DATA_S32, NULL, 0)) {7659 psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");7653 if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_version", PS_DATA_S32, "Primary Key", 0)) { 7654 psError(PS_ERR_UNKNOWN, false, "failed to add item cam_version"); 7655 psFree(md); 7656 return false; 7657 } 7658 if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, 0)) { 7659 psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version"); 7660 7660 psFree(md); 7661 7661 return false; … … 7742 7742 } 7743 7743 7744 bool status = psDBCreateTable(dbh, P3PROCESSEDEXP_TABLE_NAME, md);7744 bool status = psDBCreateTable(dbh, CAMPROCESSEDEXP_TABLE_NAME, md); 7745 7745 7746 7746 psFree(md); … … 7749 7749 } 7750 7750 7751 bool p3ProcessedExpDropTable(psDB *dbh)7752 { 7753 return psDBDropTable(dbh, P3PROCESSEDEXP_TABLE_NAME);7754 } 7755 7756 bool p3ProcessedExpInsert(psDB * dbh, const char *exp_tag, psS32 p3_version, psS32 p2_version, const char *label, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF32 sigma_ra, psF32 sigma_dec, psS32 nastro, const char *b1_uri, const char *b2_uri, psF32 zp_mean, psF32 zp_stdev, psS16 fault, const char *expgroup, const char *dvodb)7751 bool camProcessedExpDropTable(psDB *dbh) 7752 { 7753 return psDBDropTable(dbh, CAMPROCESSEDEXP_TABLE_NAME); 7754 } 7755 7756 bool camProcessedExpInsert(psDB * dbh, const char *exp_tag, psS32 cam_version, psS32 chip_version, const char *label, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF32 sigma_ra, psF32 sigma_dec, psS32 nastro, const char *b1_uri, const char *b2_uri, psF32 zp_mean, psF32 zp_stdev, psS16 fault, const char *expgroup, const char *dvodb) 7757 7757 { 7758 7758 psMetadata *md = psMetadataAlloc(); … … 7762 7762 return false; 7763 7763 } 7764 if (!psMetadataAdd(md, PS_LIST_TAIL, " p3_version", PS_DATA_S32, NULL, p3_version)) {7765 psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version");7766 psFree(md); 7767 return false; 7768 } 7769 if (!psMetadataAdd(md, PS_LIST_TAIL, " p2_version", PS_DATA_S32, NULL, p2_version)) {7770 psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");7764 if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_version", PS_DATA_S32, NULL, cam_version)) { 7765 psError(PS_ERR_UNKNOWN, false, "failed to add item cam_version"); 7766 psFree(md); 7767 return false; 7768 } 7769 if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, chip_version)) { 7770 psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version"); 7771 7771 psFree(md); 7772 7772 return false; … … 7853 7853 } 7854 7854 7855 bool status = psDBInsertOneRow(dbh, P3PROCESSEDEXP_TABLE_NAME, md);7855 bool status = psDBInsertOneRow(dbh, CAMPROCESSEDEXP_TABLE_NAME, md); 7856 7856 psFree(md); 7857 7857 … … 7859 7859 } 7860 7860 7861 long long p3ProcessedExpDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)7861 long long camProcessedExpDelete(psDB *dbh, const psMetadata *where, unsigned long long limit) 7862 7862 { 7863 7863 long long deleted = 0; 7864 7864 7865 long long count = psDBDeleteRows(dbh, P3PROCESSEDEXP_TABLE_NAME, where, limit);7865 long long count = psDBDeleteRows(dbh, CAMPROCESSEDEXP_TABLE_NAME, where, limit); 7866 7866 if (count < 0) { 7867 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p3ProcessedExp");7867 psError(PS_ERR_UNKNOWN, true, "failed to delete row from camProcessedExp"); 7868 7868 return count; 7869 7869 … … 7873 7873 return deleted; 7874 7874 } 7875 bool p3ProcessedExpInsertObject(psDB *dbh, p3ProcessedExpRow *object)7876 { 7877 return p3ProcessedExpInsert(dbh, object->exp_tag, object->p3_version, object->p2_version, object->label, object->uri, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev, object->sigma_ra, object->sigma_dec, object->nastro, object->b1_uri, object->b2_uri, object->zp_mean, object->zp_stdev, object->fault, object->expgroup, object->dvodb);7878 } 7879 7880 bool p3ProcessedExpInsertObjects(psDB *dbh, psArray *objects)7875 bool camProcessedExpInsertObject(psDB *dbh, camProcessedExpRow *object) 7876 { 7877 return camProcessedExpInsert(dbh, object->exp_tag, object->cam_version, object->chip_version, object->label, object->uri, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev, object->sigma_ra, object->sigma_dec, object->nastro, object->b1_uri, object->b2_uri, object->zp_mean, object->zp_stdev, object->fault, object->expgroup, object->dvodb); 7878 } 7879 7880 bool camProcessedExpInsertObjects(psDB *dbh, psArray *objects) 7881 7881 { 7882 7882 for (long i = 0; i < psArrayLength(objects); i++) { 7883 if (! p3ProcessedExpInsertObject(dbh, objects->data[i])) {7883 if (!camProcessedExpInsertObject(dbh, objects->data[i])) { 7884 7884 return false; 7885 7885 } … … 7889 7889 } 7890 7890 7891 bool p3ProcessedExpInsertFits(psDB *dbh, const psFits *fits)7891 bool camProcessedExpInsertFits(psDB *dbh, const psFits *fits) 7892 7892 { 7893 7893 psArray *rowSet; 7894 7894 7895 // move to (the first?) extension named P3PROCESSEDEXP_TABLE_NAME7896 if (!psFitsMoveExtName(fits, P3PROCESSEDEXP_TABLE_NAME)) {7897 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P3PROCESSEDEXP_TABLE_NAME);7895 // move to (the first?) extension named CAMPROCESSEDEXP_TABLE_NAME 7896 if (!psFitsMoveExtName(fits, CAMPROCESSEDEXP_TABLE_NAME)) { 7897 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", CAMPROCESSEDEXP_TABLE_NAME); 7898 7898 return false; 7899 7899 } … … 7913 7913 } 7914 7914 7915 if (!psDBInsertRows(dbh, P3PROCESSEDEXP_TABLE_NAME, rowSet)) {7915 if (!psDBInsertRows(dbh, CAMPROCESSEDEXP_TABLE_NAME, rowSet)) { 7916 7916 psError(PS_ERR_UNKNOWN, false, "databse insert failed"); 7917 7917 psFree(rowSet); … … 7924 7924 } 7925 7925 7926 bool p3ProcessedExpSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)7926 bool camProcessedExpSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit) 7927 7927 { 7928 7928 psArray *rowSet; 7929 7929 7930 rowSet = psDBSelectRows(dbh, P3PROCESSEDEXP_TABLE_NAME, where, limit);7930 rowSet = psDBSelectRows(dbh, CAMPROCESSEDEXP_TABLE_NAME, where, limit); 7931 7931 if (!rowSet) { 7932 7932 return false; … … 7934 7934 7935 7935 // output to fits 7936 if (!psFitsWriteTable(fits, NULL, rowSet, P3PROCESSEDEXP_TABLE_NAME)) {7936 if (!psFitsWriteTable(fits, NULL, rowSet, CAMPROCESSEDEXP_TABLE_NAME)) { 7937 7937 psError(PS_ERR_UNKNOWN, false, "FITS table write failed"); 7938 7938 psFree(rowSet); … … 7945 7945 } 7946 7946 7947 psMetadata * p3ProcessedExpMetadataFromObject(const p3ProcessedExpRow *object)7947 psMetadata *camProcessedExpMetadataFromObject(const camProcessedExpRow *object) 7948 7948 { 7949 7949 psMetadata *md = psMetadataAlloc(); … … 7953 7953 return false; 7954 7954 } 7955 if (!psMetadataAdd(md, PS_LIST_TAIL, " p3_version", PS_DATA_S32, NULL, object->p3_version)) {7956 psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version");7957 psFree(md); 7958 return false; 7959 } 7960 if (!psMetadataAdd(md, PS_LIST_TAIL, " p2_version", PS_DATA_S32, NULL, object->p2_version)) {7961 psError(PS_ERR_UNKNOWN, false, "failed to add item p2_version");7955 if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_version", PS_DATA_S32, NULL, object->cam_version)) { 7956 psError(PS_ERR_UNKNOWN, false, "failed to add item cam_version"); 7957 psFree(md); 7958 return false; 7959 } 7960 if (!psMetadataAdd(md, PS_LIST_TAIL, "chip_version", PS_DATA_S32, NULL, object->chip_version)) { 7961 psError(PS_ERR_UNKNOWN, false, "failed to add item chip_version"); 7962 7962 psFree(md); 7963 7963 return false; … … 8048 8048 } 8049 8049 8050 p3ProcessedExpRow *p3ProcessedExpObjectFromMetadata(psMetadata *md)8050 camProcessedExpRow *camProcessedExpObjectFromMetadata(psMetadata *md) 8051 8051 { 8052 8052 … … 8057 8057 return false; 8058 8058 } 8059 psS32 p3_version = psMetadataLookupS32(&status, md, "p3_version");8060 if (!status) { 8061 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p3_version");8062 return false; 8063 } 8064 psS32 p2_version = psMetadataLookupS32(&status, md, "p2_version");8065 if (!status) { 8066 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p2_version");8059 psS32 cam_version = psMetadataLookupS32(&status, md, "cam_version"); 8060 if (!status) { 8061 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item cam_version"); 8062 return false; 8063 } 8064 psS32 chip_version = psMetadataLookupS32(&status, md, "chip_version"); 8065 if (!status) { 8066 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item chip_version"); 8067 8067 return false; 8068 8068 } … … 8148 8148 } 8149 8149 8150 return p3ProcessedExpRowAlloc(exp_tag, p3_version, p2_version, label, uri, recipe, bg, bg_stdev, bg_mean_stdev, sigma_ra, sigma_dec, nastro, b1_uri, b2_uri, zp_mean, zp_stdev, fault, expgroup, dvodb);8151 } 8152 psArray * p3ProcessedExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)8150 return camProcessedExpRowAlloc(exp_tag, cam_version, chip_version, label, uri, recipe, bg, bg_stdev, bg_mean_stdev, sigma_ra, sigma_dec, nastro, b1_uri, b2_uri, zp_mean, zp_stdev, fault, expgroup, dvodb); 8151 } 8152 psArray *camProcessedExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) 8153 8153 { 8154 8154 psArray *rowSet; … … 8156 8156 psU64 i; 8157 8157 8158 rowSet = psDBSelectRows(dbh, P3PROCESSEDEXP_TABLE_NAME, where, limit);8158 rowSet = psDBSelectRows(dbh, CAMPROCESSEDEXP_TABLE_NAME, where, limit); 8159 8159 if (!rowSet) { 8160 8160 return NULL; … … 8166 8166 8167 8167 for (i = 0; i < rowSet->n; i++) { 8168 p3ProcessedExpRow *object = p3ProcessedExpObjectFromMetadata(rowSet->data[i]);8168 camProcessedExpRow *object = camProcessedExpObjectFromMetadata(rowSet->data[i]); 8169 8169 psArrayAdd(returnSet, 0, object); 8170 8170 psFree(object); … … 8175 8175 return returnSet; 8176 8176 } 8177 bool p3ProcessedExpDeleteObject(psDB *dbh, const p3ProcessedExpRow *object)8178 { 8179 psMetadata *where = p3ProcessedExpMetadataFromObject(object);8180 long long count = psDBDeleteRows(dbh, P3PROCESSEDEXP_TABLE_NAME, where, 0);8177 bool camProcessedExpDeleteObject(psDB *dbh, const camProcessedExpRow *object) 8178 { 8179 psMetadata *where = camProcessedExpMetadataFromObject(object); 8180 long long count = psDBDeleteRows(dbh, CAMPROCESSEDEXP_TABLE_NAME, where, 0); 8181 8181 psFree(where); 8182 8182 if (count < 0) { 8183 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p3ProcessedExp");8183 psError(PS_ERR_UNKNOWN, true, "failed to delete row from camProcessedExp"); 8184 8184 return false; 8185 8185 } … … 8187 8187 // XXX should this be a psAbort() instead? It is possible that 8188 8188 // having an object match multiple rows was by design. 8189 psError(PS_ERR_UNKNOWN, true, " p3ProcessedExpRow object matched more then one row. Check your database schema");8190 return false; 8191 } 8192 8193 return true; 8194 } 8195 long long p3ProcessedExpDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)8189 psError(PS_ERR_UNKNOWN, true, "camProcessedExpRow object matched more then one row. Check your database schema"); 8190 return false; 8191 } 8192 8193 return true; 8194 } 8195 long long camProcessedExpDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit) 8196 8196 { 8197 8197 long long deleted = 0; 8198 8198 8199 8199 for (long long i = 0; i < objects->n; i++) { 8200 p3ProcessedExpRow *object = objects->data[i];8201 psMetadata *where = p3ProcessedExpMetadataFromObject(object);8202 long long count = psDBDeleteRows(dbh, P3PROCESSEDEXP_TABLE_NAME, where, limit);8200 camProcessedExpRow *object = objects->data[i]; 8201 psMetadata *where = camProcessedExpMetadataFromObject(object); 8202 long long count = psDBDeleteRows(dbh, CAMPROCESSEDEXP_TABLE_NAME, where, limit); 8203 8203 psFree(where); 8204 8204 if (count < 0) { 8205 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p3ProcessedExp");8205 psError(PS_ERR_UNKNOWN, true, "failed to delete row from camProcessedExp"); 8206 8206 return count; 8207 8207 } … … 8212 8212 return deleted; 8213 8213 } 8214 bool p3ProcessedExpPrintObjects(FILE *stream, psArray *objects, bool mdcf)8214 bool camProcessedExpPrintObjects(FILE *stream, psArray *objects, bool mdcf) 8215 8215 { 8216 8216 PS_ASSERT_PTR_NON_NULL(objects, false); … … 8218 8218 psMetadata *output = psMetadataAlloc(); 8219 8219 for (long i = 0; i < psArrayLength(objects); i++) { 8220 psMetadata *md = p3ProcessedExpMetadataFromObject(objects->data[i]);8220 psMetadata *md = camProcessedExpMetadataFromObject(objects->data[i]); 8221 8221 if (!psMetadataAddMetadata( 8222 8222 output, 8223 8223 PS_LIST_TAIL, 8224 P3PROCESSEDEXP_TABLE_NAME,8224 CAMPROCESSEDEXP_TABLE_NAME, 8225 8225 PS_META_DUPLICATE_OK, 8226 8226 NULL, … … 8243 8243 return true; 8244 8244 } 8245 bool p3ProcessedExpPrintObject(FILE *stream, p3ProcessedExpRow *object, bool mdcf)8245 bool camProcessedExpPrintObject(FILE *stream, camProcessedExpRow *object, bool mdcf) 8246 8246 { 8247 8247 PS_ASSERT_PTR_NON_NULL(object, false); 8248 8248 8249 psMetadata *md = p3ProcessedExpMetadataFromObject(object);8249 psMetadata *md = camProcessedExpMetadataFromObject(object); 8250 8250 8251 8251 if (!ippdbPrintMetadataRaw(stream, md, mdcf)) { … … 8258 8258 return true; 8259 8259 } 8260 static void p3MaskRowFree(p3MaskRow *object);8261 8262 p3MaskRow *p3MaskRowAlloc(const char *label)8263 { 8264 p3MaskRow*_object;8265 8266 _object = psAlloc(sizeof( p3MaskRow));8267 psMemSetDeallocator(_object, (psFreeFunc) p3MaskRowFree);8260 static void camMaskRowFree(camMaskRow *object); 8261 8262 camMaskRow *camMaskRowAlloc(const char *label) 8263 { 8264 camMaskRow *_object; 8265 8266 _object = psAlloc(sizeof(camMaskRow)); 8267 psMemSetDeallocator(_object, (psFreeFunc)camMaskRowFree); 8268 8268 8269 8269 _object->label = psStringCopy(label); … … 8272 8272 } 8273 8273 8274 static void p3MaskRowFree(p3MaskRow *object)8274 static void camMaskRowFree(camMaskRow *object) 8275 8275 { 8276 8276 psFree(object->label); 8277 8277 } 8278 8278 8279 bool p3MaskCreateTable(psDB *dbh)8279 bool camMaskCreateTable(psDB *dbh) 8280 8280 { 8281 8281 psMetadata *md = psMetadataAlloc(); … … 8286 8286 } 8287 8287 8288 bool status = psDBCreateTable(dbh, P3MASK_TABLE_NAME, md);8288 bool status = psDBCreateTable(dbh, CAMMASK_TABLE_NAME, md); 8289 8289 8290 8290 psFree(md); … … 8293 8293 } 8294 8294 8295 bool p3MaskDropTable(psDB *dbh)8296 { 8297 return psDBDropTable(dbh, P3MASK_TABLE_NAME);8298 } 8299 8300 bool p3MaskInsert(psDB * dbh, const char *label)8295 bool camMaskDropTable(psDB *dbh) 8296 { 8297 return psDBDropTable(dbh, CAMMASK_TABLE_NAME); 8298 } 8299 8300 bool camMaskInsert(psDB * dbh, const char *label) 8301 8301 { 8302 8302 psMetadata *md = psMetadataAlloc(); … … 8307 8307 } 8308 8308 8309 bool status = psDBInsertOneRow(dbh, P3MASK_TABLE_NAME, md);8309 bool status = psDBInsertOneRow(dbh, CAMMASK_TABLE_NAME, md); 8310 8310 psFree(md); 8311 8311 … … 8313 8313 } 8314 8314 8315 long long p3MaskDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)8315 long long camMaskDelete(psDB *dbh, const psMetadata *where, unsigned long long limit) 8316 8316 { 8317 8317 long long deleted = 0; 8318 8318 8319 long long count = psDBDeleteRows(dbh, P3MASK_TABLE_NAME, where, limit);8319 long long count = psDBDeleteRows(dbh, CAMMASK_TABLE_NAME, where, limit); 8320 8320 if (count < 0) { 8321 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p3Mask");8321 psError(PS_ERR_UNKNOWN, true, "failed to delete row from camMask"); 8322 8322 return count; 8323 8323 … … 8327 8327 return deleted; 8328 8328 } 8329 bool p3MaskInsertObject(psDB *dbh, p3MaskRow *object)8330 { 8331 return p3MaskInsert(dbh, object->label);8332 } 8333 8334 bool p3MaskInsertObjects(psDB *dbh, psArray *objects)8329 bool camMaskInsertObject(psDB *dbh, camMaskRow *object) 8330 { 8331 return camMaskInsert(dbh, object->label); 8332 } 8333 8334 bool camMaskInsertObjects(psDB *dbh, psArray *objects) 8335 8335 { 8336 8336 for (long i = 0; i < psArrayLength(objects); i++) { 8337 if (! p3MaskInsertObject(dbh, objects->data[i])) {8337 if (!camMaskInsertObject(dbh, objects->data[i])) { 8338 8338 return false; 8339 8339 } … … 8343 8343 } 8344 8344 8345 bool p3MaskInsertFits(psDB *dbh, const psFits *fits)8345 bool camMaskInsertFits(psDB *dbh, const psFits *fits) 8346 8346 { 8347 8347 psArray *rowSet; 8348 8348 8349 // move to (the first?) extension named P3MASK_TABLE_NAME8350 if (!psFitsMoveExtName(fits, P3MASK_TABLE_NAME)) {8351 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P3MASK_TABLE_NAME);8349 // move to (the first?) extension named CAMMASK_TABLE_NAME 8350 if (!psFitsMoveExtName(fits, CAMMASK_TABLE_NAME)) { 8351 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", CAMMASK_TABLE_NAME); 8352 8352 return false; 8353 8353 } … … 8367 8367 } 8368 8368 8369 if (!psDBInsertRows(dbh, P3MASK_TABLE_NAME, rowSet)) {8369 if (!psDBInsertRows(dbh, CAMMASK_TABLE_NAME, rowSet)) { 8370 8370 psError(PS_ERR_UNKNOWN, false, "databse insert failed"); 8371 8371 psFree(rowSet); … … 8378 8378 } 8379 8379 8380 bool p3MaskSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)8380 bool camMaskSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit) 8381 8381 { 8382 8382 psArray *rowSet; 8383 8383 8384 rowSet = psDBSelectRows(dbh, P3MASK_TABLE_NAME, where, limit);8384 rowSet = psDBSelectRows(dbh, CAMMASK_TABLE_NAME, where, limit); 8385 8385 if (!rowSet) { 8386 8386 return false; … … 8388 8388 8389 8389 // output to fits 8390 if (!psFitsWriteTable(fits, NULL, rowSet, P3MASK_TABLE_NAME)) {8390 if (!psFitsWriteTable(fits, NULL, rowSet, CAMMASK_TABLE_NAME)) { 8391 8391 psError(PS_ERR_UNKNOWN, false, "FITS table write failed"); 8392 8392 psFree(rowSet); … … 8399 8399 } 8400 8400 8401 psMetadata * p3MaskMetadataFromObject(const p3MaskRow *object)8401 psMetadata *camMaskMetadataFromObject(const camMaskRow *object) 8402 8402 { 8403 8403 psMetadata *md = psMetadataAlloc(); … … 8412 8412 } 8413 8413 8414 p3MaskRow *p3MaskObjectFromMetadata(psMetadata *md)8414 camMaskRow *camMaskObjectFromMetadata(psMetadata *md) 8415 8415 { 8416 8416 … … 8422 8422 } 8423 8423 8424 return p3MaskRowAlloc(label);8425 } 8426 psArray * p3MaskSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)8424 return camMaskRowAlloc(label); 8425 } 8426 psArray *camMaskSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) 8427 8427 { 8428 8428 psArray *rowSet; … … 8430 8430 psU64 i; 8431 8431 8432 rowSet = psDBSelectRows(dbh, P3MASK_TABLE_NAME, where, limit);8432 rowSet = psDBSelectRows(dbh, CAMMASK_TABLE_NAME, where, limit); 8433 8433 if (!rowSet) { 8434 8434 return NULL; … … 8440 8440 8441 8441 for (i = 0; i < rowSet->n; i++) { 8442 p3MaskRow *object = p3MaskObjectFromMetadata(rowSet->data[i]);8442 camMaskRow *object = camMaskObjectFromMetadata(rowSet->data[i]); 8443 8443 psArrayAdd(returnSet, 0, object); 8444 8444 psFree(object); … … 8449 8449 return returnSet; 8450 8450 } 8451 bool p3MaskDeleteObject(psDB *dbh, const p3MaskRow *object)8452 { 8453 psMetadata *where = p3MaskMetadataFromObject(object);8454 long long count = psDBDeleteRows(dbh, P3MASK_TABLE_NAME, where, 0);8451 bool camMaskDeleteObject(psDB *dbh, const camMaskRow *object) 8452 { 8453 psMetadata *where = camMaskMetadataFromObject(object); 8454 long long count = psDBDeleteRows(dbh, CAMMASK_TABLE_NAME, where, 0); 8455 8455 psFree(where); 8456 8456 if (count < 0) { 8457 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p3Mask");8457 psError(PS_ERR_UNKNOWN, true, "failed to delete row from camMask"); 8458 8458 return false; 8459 8459 } … … 8461 8461 // XXX should this be a psAbort() instead? It is possible that 8462 8462 // having an object match multiple rows was by design. 8463 psError(PS_ERR_UNKNOWN, true, " p3MaskRow object matched more then one row. Check your database schema");8464 return false; 8465 } 8466 8467 return true; 8468 } 8469 long long p3MaskDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)8463 psError(PS_ERR_UNKNOWN, true, "camMaskRow object matched more then one row. Check your database schema"); 8464 return false; 8465 } 8466 8467 return true; 8468 } 8469 long long camMaskDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit) 8470 8470 { 8471 8471 long long deleted = 0; 8472 8472 8473 8473 for (long long i = 0; i < objects->n; i++) { 8474 p3MaskRow *object = objects->data[i];8475 psMetadata *where = p3MaskMetadataFromObject(object);8476 long long count = psDBDeleteRows(dbh, P3MASK_TABLE_NAME, where, limit);8474 camMaskRow *object = objects->data[i]; 8475 psMetadata *where = camMaskMetadataFromObject(object); 8476 long long count = psDBDeleteRows(dbh, CAMMASK_TABLE_NAME, where, limit); 8477 8477 psFree(where); 8478 8478 if (count < 0) { 8479 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p3Mask");8479 psError(PS_ERR_UNKNOWN, true, "failed to delete row from camMask"); 8480 8480 return count; 8481 8481 } … … 8486 8486 return deleted; 8487 8487 } 8488 bool p3MaskPrintObjects(FILE *stream, psArray *objects, bool mdcf)8488 bool camMaskPrintObjects(FILE *stream, psArray *objects, bool mdcf) 8489 8489 { 8490 8490 PS_ASSERT_PTR_NON_NULL(objects, false); … … 8492 8492 psMetadata *output = psMetadataAlloc(); 8493 8493 for (long i = 0; i < psArrayLength(objects); i++) { 8494 psMetadata *md = p3MaskMetadataFromObject(objects->data[i]);8494 psMetadata *md = camMaskMetadataFromObject(objects->data[i]); 8495 8495 if (!psMetadataAddMetadata( 8496 8496 output, 8497 8497 PS_LIST_TAIL, 8498 P3MASK_TABLE_NAME,8498 CAMMASK_TABLE_NAME, 8499 8499 PS_META_DUPLICATE_OK, 8500 8500 NULL, … … 8517 8517 return true; 8518 8518 } 8519 bool p3MaskPrintObject(FILE *stream, p3MaskRow *object, bool mdcf)8519 bool camMaskPrintObject(FILE *stream, camMaskRow *object, bool mdcf) 8520 8520 { 8521 8521 PS_ASSERT_PTR_NON_NULL(object, false); 8522 8522 8523 psMetadata *md = p3MaskMetadataFromObject(object);8523 psMetadata *md = camMaskMetadataFromObject(object); 8524 8524 8525 8525 if (!ippdbPrintMetadataRaw(stream, md, mdcf)) { … … 13744 13744 return true; 13745 13745 } 13746 static void p4RunRowFree(p4RunRow *object);13747 13748 p4RunRow *p4RunRowAlloc(psS32 p4_id, const char *mode, const char *state, const char *workdir, const char *dvodb, psTime* registered)13749 { 13750 p4RunRow*_object;13751 13752 _object = psAlloc(sizeof( p4RunRow));13753 psMemSetDeallocator(_object, (psFreeFunc) p4RunRowFree);13754 13755 _object-> p4_id = p4_id;13746 static void warpRunRowFree(warpRunRow *object); 13747 13748 warpRunRow *warpRunRowAlloc(psS32 warp_id, const char *mode, const char *state, const char *workdir, const char *dvodb, psTime* registered) 13749 { 13750 warpRunRow *_object; 13751 13752 _object = psAlloc(sizeof(warpRunRow)); 13753 psMemSetDeallocator(_object, (psFreeFunc)warpRunRowFree); 13754 13755 _object->warp_id = warp_id; 13756 13756 _object->mode = psStringCopy(mode); 13757 13757 _object->state = psStringCopy(state); … … 13763 13763 } 13764 13764 13765 static void p4RunRowFree(p4RunRow *object)13765 static void warpRunRowFree(warpRunRow *object) 13766 13766 { 13767 13767 psFree(object->mode); … … 13772 13772 } 13773 13773 13774 bool p4RunCreateTable(psDB *dbh)13774 bool warpRunCreateTable(psDB *dbh) 13775 13775 { 13776 13776 psMetadata *md = psMetadataAlloc(); 13777 if (!psMetadataAdd(md, PS_LIST_TAIL, " p4_id", PS_DATA_S32, "Primary Key AUTO_INCREMENT", 0)) {13778 psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");13777 if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, "Primary Key AUTO_INCREMENT", 0)) { 13778 psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id"); 13779 13779 psFree(md); 13780 13780 return false; … … 13806 13806 } 13807 13807 13808 bool status = psDBCreateTable(dbh, P4RUN_TABLE_NAME, md);13808 bool status = psDBCreateTable(dbh, WARPRUN_TABLE_NAME, md); 13809 13809 13810 13810 psFree(md); … … 13813 13813 } 13814 13814 13815 bool p4RunDropTable(psDB *dbh)13816 { 13817 return psDBDropTable(dbh, P4RUN_TABLE_NAME);13818 } 13819 13820 bool p4RunInsert(psDB * dbh, psS32 p4_id, const char *mode, const char *state, const char *workdir, const char *dvodb, psTime* registered)13815 bool warpRunDropTable(psDB *dbh) 13816 { 13817 return psDBDropTable(dbh, WARPRUN_TABLE_NAME); 13818 } 13819 13820 bool warpRunInsert(psDB * dbh, psS32 warp_id, const char *mode, const char *state, const char *workdir, const char *dvodb, psTime* registered) 13821 13821 { 13822 13822 psMetadata *md = psMetadataAlloc(); 13823 if (!psMetadataAdd(md, PS_LIST_TAIL, " p4_id", PS_DATA_S32, NULL, p4_id)) {13824 psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");13823 if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, NULL, warp_id)) { 13824 psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id"); 13825 13825 psFree(md); 13826 13826 return false; … … 13852 13852 } 13853 13853 13854 bool status = psDBInsertOneRow(dbh, P4RUN_TABLE_NAME, md);13854 bool status = psDBInsertOneRow(dbh, WARPRUN_TABLE_NAME, md); 13855 13855 psFree(md); 13856 13856 … … 13858 13858 } 13859 13859 13860 long long p4RunDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)13860 long long warpRunDelete(psDB *dbh, const psMetadata *where, unsigned long long limit) 13861 13861 { 13862 13862 long long deleted = 0; 13863 13863 13864 long long count = psDBDeleteRows(dbh, P4RUN_TABLE_NAME, where, limit);13864 long long count = psDBDeleteRows(dbh, WARPRUN_TABLE_NAME, where, limit); 13865 13865 if (count < 0) { 13866 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4Run");13866 psError(PS_ERR_UNKNOWN, true, "failed to delete row from warpRun"); 13867 13867 return count; 13868 13868 … … 13872 13872 return deleted; 13873 13873 } 13874 bool p4RunInsertObject(psDB *dbh, p4RunRow *object)13875 { 13876 return p4RunInsert(dbh, object->p4_id, object->mode, object->state, object->workdir, object->dvodb, object->registered);13877 } 13878 13879 bool p4RunInsertObjects(psDB *dbh, psArray *objects)13874 bool warpRunInsertObject(psDB *dbh, warpRunRow *object) 13875 { 13876 return warpRunInsert(dbh, object->warp_id, object->mode, object->state, object->workdir, object->dvodb, object->registered); 13877 } 13878 13879 bool warpRunInsertObjects(psDB *dbh, psArray *objects) 13880 13880 { 13881 13881 for (long i = 0; i < psArrayLength(objects); i++) { 13882 if (! p4RunInsertObject(dbh, objects->data[i])) {13882 if (!warpRunInsertObject(dbh, objects->data[i])) { 13883 13883 return false; 13884 13884 } … … 13888 13888 } 13889 13889 13890 bool p4RunInsertFits(psDB *dbh, const psFits *fits)13890 bool warpRunInsertFits(psDB *dbh, const psFits *fits) 13891 13891 { 13892 13892 psArray *rowSet; 13893 13893 13894 // move to (the first?) extension named P4RUN_TABLE_NAME13895 if (!psFitsMoveExtName(fits, P4RUN_TABLE_NAME)) {13896 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P4RUN_TABLE_NAME);13894 // move to (the first?) extension named WARPRUN_TABLE_NAME 13895 if (!psFitsMoveExtName(fits, WARPRUN_TABLE_NAME)) { 13896 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", WARPRUN_TABLE_NAME); 13897 13897 return false; 13898 13898 } … … 13912 13912 } 13913 13913 13914 if (!psDBInsertRows(dbh, P4RUN_TABLE_NAME, rowSet)) {13914 if (!psDBInsertRows(dbh, WARPRUN_TABLE_NAME, rowSet)) { 13915 13915 psError(PS_ERR_UNKNOWN, false, "databse insert failed"); 13916 13916 psFree(rowSet); … … 13923 13923 } 13924 13924 13925 bool p4RunSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)13925 bool warpRunSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit) 13926 13926 { 13927 13927 psArray *rowSet; 13928 13928 13929 rowSet = psDBSelectRows(dbh, P4RUN_TABLE_NAME, where, limit);13929 rowSet = psDBSelectRows(dbh, WARPRUN_TABLE_NAME, where, limit); 13930 13930 if (!rowSet) { 13931 13931 return false; … … 13933 13933 13934 13934 // output to fits 13935 if (!psFitsWriteTable(fits, NULL, rowSet, P4RUN_TABLE_NAME)) {13935 if (!psFitsWriteTable(fits, NULL, rowSet, WARPRUN_TABLE_NAME)) { 13936 13936 psError(PS_ERR_UNKNOWN, false, "FITS table write failed"); 13937 13937 psFree(rowSet); … … 13944 13944 } 13945 13945 13946 psMetadata * p4RunMetadataFromObject(const p4RunRow *object)13946 psMetadata *warpRunMetadataFromObject(const warpRunRow *object) 13947 13947 { 13948 13948 psMetadata *md = psMetadataAlloc(); 13949 if (!psMetadataAdd(md, PS_LIST_TAIL, " p4_id", PS_DATA_S32, NULL, object->p4_id)) {13950 psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");13949 if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, NULL, object->warp_id)) { 13950 psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id"); 13951 13951 psFree(md); 13952 13952 return false; … … 13982 13982 } 13983 13983 13984 p4RunRow *p4RunObjectFromMetadata(psMetadata *md)13984 warpRunRow *warpRunObjectFromMetadata(psMetadata *md) 13985 13985 { 13986 13986 13987 13987 bool status = false; 13988 psS32 p4_id = psMetadataLookupS32(&status, md, "p4_id");13989 if (!status) { 13990 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p4_id");13988 psS32 warp_id = psMetadataLookupS32(&status, md, "warp_id"); 13989 if (!status) { 13990 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item warp_id"); 13991 13991 return false; 13992 13992 } … … 14017 14017 } 14018 14018 14019 return p4RunRowAlloc(p4_id, mode, state, workdir, dvodb, registered);14020 } 14021 psArray * p4RunSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)14019 return warpRunRowAlloc(warp_id, mode, state, workdir, dvodb, registered); 14020 } 14021 psArray *warpRunSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) 14022 14022 { 14023 14023 psArray *rowSet; … … 14025 14025 psU64 i; 14026 14026 14027 rowSet = psDBSelectRows(dbh, P4RUN_TABLE_NAME, where, limit);14027 rowSet = psDBSelectRows(dbh, WARPRUN_TABLE_NAME, where, limit); 14028 14028 if (!rowSet) { 14029 14029 return NULL; … … 14035 14035 14036 14036 for (i = 0; i < rowSet->n; i++) { 14037 p4RunRow *object = p4RunObjectFromMetadata(rowSet->data[i]);14037 warpRunRow *object = warpRunObjectFromMetadata(rowSet->data[i]); 14038 14038 psArrayAdd(returnSet, 0, object); 14039 14039 psFree(object); … … 14044 14044 return returnSet; 14045 14045 } 14046 bool p4RunDeleteObject(psDB *dbh, const p4RunRow *object)14047 { 14048 psMetadata *where = p4RunMetadataFromObject(object);14049 long long count = psDBDeleteRows(dbh, P4RUN_TABLE_NAME, where, 0);14046 bool warpRunDeleteObject(psDB *dbh, const warpRunRow *object) 14047 { 14048 psMetadata *where = warpRunMetadataFromObject(object); 14049 long long count = psDBDeleteRows(dbh, WARPRUN_TABLE_NAME, where, 0); 14050 14050 psFree(where); 14051 14051 if (count < 0) { 14052 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4Run");14052 psError(PS_ERR_UNKNOWN, true, "failed to delete row from warpRun"); 14053 14053 return false; 14054 14054 } … … 14056 14056 // XXX should this be a psAbort() instead? It is possible that 14057 14057 // having an object match multiple rows was by design. 14058 psError(PS_ERR_UNKNOWN, true, " p4RunRow object matched more then one row. Check your database schema");14059 return false; 14060 } 14061 14062 return true; 14063 } 14064 long long p4RunDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)14058 psError(PS_ERR_UNKNOWN, true, "warpRunRow object matched more then one row. Check your database schema"); 14059 return false; 14060 } 14061 14062 return true; 14063 } 14064 long long warpRunDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit) 14065 14065 { 14066 14066 long long deleted = 0; 14067 14067 14068 14068 for (long long i = 0; i < objects->n; i++) { 14069 p4RunRow *object = objects->data[i];14070 psMetadata *where = p4RunMetadataFromObject(object);14071 long long count = psDBDeleteRows(dbh, P4RUN_TABLE_NAME, where, limit);14069 warpRunRow *object = objects->data[i]; 14070 psMetadata *where = warpRunMetadataFromObject(object); 14071 long long count = psDBDeleteRows(dbh, WARPRUN_TABLE_NAME, where, limit); 14072 14072 psFree(where); 14073 14073 if (count < 0) { 14074 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4Run");14074 psError(PS_ERR_UNKNOWN, true, "failed to delete row from warpRun"); 14075 14075 return count; 14076 14076 } … … 14081 14081 return deleted; 14082 14082 } 14083 bool p4RunPrintObjects(FILE *stream, psArray *objects, bool mdcf)14083 bool warpRunPrintObjects(FILE *stream, psArray *objects, bool mdcf) 14084 14084 { 14085 14085 PS_ASSERT_PTR_NON_NULL(objects, false); … … 14087 14087 psMetadata *output = psMetadataAlloc(); 14088 14088 for (long i = 0; i < psArrayLength(objects); i++) { 14089 psMetadata *md = p4RunMetadataFromObject(objects->data[i]);14089 psMetadata *md = warpRunMetadataFromObject(objects->data[i]); 14090 14090 if (!psMetadataAddMetadata( 14091 14091 output, 14092 14092 PS_LIST_TAIL, 14093 P4RUN_TABLE_NAME,14093 WARPRUN_TABLE_NAME, 14094 14094 PS_META_DUPLICATE_OK, 14095 14095 NULL, … … 14112 14112 return true; 14113 14113 } 14114 bool p4RunPrintObject(FILE *stream, p4RunRow *object, bool mdcf)14114 bool warpRunPrintObject(FILE *stream, warpRunRow *object, bool mdcf) 14115 14115 { 14116 14116 PS_ASSERT_PTR_NON_NULL(object, false); 14117 14117 14118 psMetadata *md = p4RunMetadataFromObject(object);14118 psMetadata *md = warpRunMetadataFromObject(object); 14119 14119 14120 14120 if (!ippdbPrintMetadataRaw(stream, md, mdcf)) { … … 14127 14127 return true; 14128 14128 } 14129 static void p4InputExpRowFree(p4InputExpRow *object);14130 14131 p4InputExpRow *p4InputExpRowAlloc(psS32 p4_id, const char *exp_tag, psS32 p3_version, bool magiced)14132 { 14133 p4InputExpRow*_object;14134 14135 _object = psAlloc(sizeof( p4InputExpRow));14136 psMemSetDeallocator(_object, (psFreeFunc) p4InputExpRowFree);14137 14138 _object-> p4_id = p4_id;14129 static void warpInputExpRowFree(warpInputExpRow *object); 14130 14131 warpInputExpRow *warpInputExpRowAlloc(psS32 warp_id, const char *exp_tag, psS32 cam_version, bool magiced) 14132 { 14133 warpInputExpRow *_object; 14134 14135 _object = psAlloc(sizeof(warpInputExpRow)); 14136 psMemSetDeallocator(_object, (psFreeFunc)warpInputExpRowFree); 14137 14138 _object->warp_id = warp_id; 14139 14139 _object->exp_tag = psStringCopy(exp_tag); 14140 _object-> p3_version = p3_version;14140 _object->cam_version = cam_version; 14141 14141 _object->magiced = magiced; 14142 14142 … … 14144 14144 } 14145 14145 14146 static void p4InputExpRowFree(p4InputExpRow *object)14146 static void warpInputExpRowFree(warpInputExpRow *object) 14147 14147 { 14148 14148 psFree(object->exp_tag); 14149 14149 } 14150 14150 14151 bool p4InputExpCreateTable(psDB *dbh)14151 bool warpInputExpCreateTable(psDB *dbh) 14152 14152 { 14153 14153 psMetadata *md = psMetadataAlloc(); 14154 if (!psMetadataAdd(md, PS_LIST_TAIL, " p4_id", PS_DATA_S32, "Primary Key", 0)) {14155 psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");14154 if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, "Primary Key", 0)) { 14155 psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id"); 14156 14156 psFree(md); 14157 14157 return false; … … 14162 14162 return false; 14163 14163 } 14164 if (!psMetadataAdd(md, PS_LIST_TAIL, " p3_version", PS_DATA_S32, "Key", 0)) {14165 psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version");14164 if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_version", PS_DATA_S32, "Key", 0)) { 14165 psError(PS_ERR_UNKNOWN, false, "failed to add item cam_version"); 14166 14166 psFree(md); 14167 14167 return false; … … 14173 14173 } 14174 14174 14175 bool status = psDBCreateTable(dbh, P4INPUTEXP_TABLE_NAME, md);14175 bool status = psDBCreateTable(dbh, WARPINPUTEXP_TABLE_NAME, md); 14176 14176 14177 14177 psFree(md); … … 14180 14180 } 14181 14181 14182 bool p4InputExpDropTable(psDB *dbh)14183 { 14184 return psDBDropTable(dbh, P4INPUTEXP_TABLE_NAME);14185 } 14186 14187 bool p4InputExpInsert(psDB * dbh, psS32 p4_id, const char *exp_tag, psS32 p3_version, bool magiced)14182 bool warpInputExpDropTable(psDB *dbh) 14183 { 14184 return psDBDropTable(dbh, WARPINPUTEXP_TABLE_NAME); 14185 } 14186 14187 bool warpInputExpInsert(psDB * dbh, psS32 warp_id, const char *exp_tag, psS32 cam_version, bool magiced) 14188 14188 { 14189 14189 psMetadata *md = psMetadataAlloc(); 14190 if (!psMetadataAdd(md, PS_LIST_TAIL, " p4_id", PS_DATA_S32, NULL, p4_id)) {14191 psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");14190 if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, NULL, warp_id)) { 14191 psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id"); 14192 14192 psFree(md); 14193 14193 return false; … … 14198 14198 return false; 14199 14199 } 14200 if (!psMetadataAdd(md, PS_LIST_TAIL, " p3_version", PS_DATA_S32, NULL, p3_version)) {14201 psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version");14200 if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_version", PS_DATA_S32, NULL, cam_version)) { 14201 psError(PS_ERR_UNKNOWN, false, "failed to add item cam_version"); 14202 14202 psFree(md); 14203 14203 return false; … … 14209 14209 } 14210 14210 14211 bool status = psDBInsertOneRow(dbh, P4INPUTEXP_TABLE_NAME, md);14211 bool status = psDBInsertOneRow(dbh, WARPINPUTEXP_TABLE_NAME, md); 14212 14212 psFree(md); 14213 14213 … … 14215 14215 } 14216 14216 14217 long long p4InputExpDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)14217 long long warpInputExpDelete(psDB *dbh, const psMetadata *where, unsigned long long limit) 14218 14218 { 14219 14219 long long deleted = 0; 14220 14220 14221 long long count = psDBDeleteRows(dbh, P4INPUTEXP_TABLE_NAME, where, limit);14221 long long count = psDBDeleteRows(dbh, WARPINPUTEXP_TABLE_NAME, where, limit); 14222 14222 if (count < 0) { 14223 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4InputExp");14223 psError(PS_ERR_UNKNOWN, true, "failed to delete row from warpInputExp"); 14224 14224 return count; 14225 14225 … … 14229 14229 return deleted; 14230 14230 } 14231 bool p4InputExpInsertObject(psDB *dbh, p4InputExpRow *object)14232 { 14233 return p4InputExpInsert(dbh, object->p4_id, object->exp_tag, object->p3_version, object->magiced);14234 } 14235 14236 bool p4InputExpInsertObjects(psDB *dbh, psArray *objects)14231 bool warpInputExpInsertObject(psDB *dbh, warpInputExpRow *object) 14232 { 14233 return warpInputExpInsert(dbh, object->warp_id, object->exp_tag, object->cam_version, object->magiced); 14234 } 14235 14236 bool warpInputExpInsertObjects(psDB *dbh, psArray *objects) 14237 14237 { 14238 14238 for (long i = 0; i < psArrayLength(objects); i++) { 14239 if (! p4InputExpInsertObject(dbh, objects->data[i])) {14239 if (!warpInputExpInsertObject(dbh, objects->data[i])) { 14240 14240 return false; 14241 14241 } … … 14245 14245 } 14246 14246 14247 bool p4InputExpInsertFits(psDB *dbh, const psFits *fits)14247 bool warpInputExpInsertFits(psDB *dbh, const psFits *fits) 14248 14248 { 14249 14249 psArray *rowSet; 14250 14250 14251 // move to (the first?) extension named P4INPUTEXP_TABLE_NAME14252 if (!psFitsMoveExtName(fits, P4INPUTEXP_TABLE_NAME)) {14253 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P4INPUTEXP_TABLE_NAME);14251 // move to (the first?) extension named WARPINPUTEXP_TABLE_NAME 14252 if (!psFitsMoveExtName(fits, WARPINPUTEXP_TABLE_NAME)) { 14253 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", WARPINPUTEXP_TABLE_NAME); 14254 14254 return false; 14255 14255 } … … 14269 14269 } 14270 14270 14271 if (!psDBInsertRows(dbh, P4INPUTEXP_TABLE_NAME, rowSet)) {14271 if (!psDBInsertRows(dbh, WARPINPUTEXP_TABLE_NAME, rowSet)) { 14272 14272 psError(PS_ERR_UNKNOWN, false, "databse insert failed"); 14273 14273 psFree(rowSet); … … 14280 14280 } 14281 14281 14282 bool p4InputExpSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)14282 bool warpInputExpSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit) 14283 14283 { 14284 14284 psArray *rowSet; 14285 14285 14286 rowSet = psDBSelectRows(dbh, P4INPUTEXP_TABLE_NAME, where, limit);14286 rowSet = psDBSelectRows(dbh, WARPINPUTEXP_TABLE_NAME, where, limit); 14287 14287 if (!rowSet) { 14288 14288 return false; … … 14290 14290 14291 14291 // output to fits 14292 if (!psFitsWriteTable(fits, NULL, rowSet, P4INPUTEXP_TABLE_NAME)) {14292 if (!psFitsWriteTable(fits, NULL, rowSet, WARPINPUTEXP_TABLE_NAME)) { 14293 14293 psError(PS_ERR_UNKNOWN, false, "FITS table write failed"); 14294 14294 psFree(rowSet); … … 14301 14301 } 14302 14302 14303 psMetadata * p4InputExpMetadataFromObject(const p4InputExpRow *object)14303 psMetadata *warpInputExpMetadataFromObject(const warpInputExpRow *object) 14304 14304 { 14305 14305 psMetadata *md = psMetadataAlloc(); 14306 if (!psMetadataAdd(md, PS_LIST_TAIL, " p4_id", PS_DATA_S32, NULL, object->p4_id)) {14307 psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");14306 if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, NULL, object->warp_id)) { 14307 psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id"); 14308 14308 psFree(md); 14309 14309 return false; … … 14314 14314 return false; 14315 14315 } 14316 if (!psMetadataAdd(md, PS_LIST_TAIL, " p3_version", PS_DATA_S32, NULL, object->p3_version)) {14317 psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version");14316 if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_version", PS_DATA_S32, NULL, object->cam_version)) { 14317 psError(PS_ERR_UNKNOWN, false, "failed to add item cam_version"); 14318 14318 psFree(md); 14319 14319 return false; … … 14329 14329 } 14330 14330 14331 p4InputExpRow *p4InputExpObjectFromMetadata(psMetadata *md)14331 warpInputExpRow *warpInputExpObjectFromMetadata(psMetadata *md) 14332 14332 { 14333 14333 14334 14334 bool status = false; 14335 psS32 p4_id = psMetadataLookupS32(&status, md, "p4_id");14336 if (!status) { 14337 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p4_id");14335 psS32 warp_id = psMetadataLookupS32(&status, md, "warp_id"); 14336 if (!status) { 14337 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item warp_id"); 14338 14338 return false; 14339 14339 } … … 14343 14343 return false; 14344 14344 } 14345 psS32 p3_version = psMetadataLookupS32(&status, md, "p3_version");14346 if (!status) { 14347 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p3_version");14345 psS32 cam_version = psMetadataLookupS32(&status, md, "cam_version"); 14346 if (!status) { 14347 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item cam_version"); 14348 14348 return false; 14349 14349 } … … 14354 14354 } 14355 14355 14356 return p4InputExpRowAlloc(p4_id, exp_tag, p3_version, magiced);14357 } 14358 psArray * p4InputExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)14356 return warpInputExpRowAlloc(warp_id, exp_tag, cam_version, magiced); 14357 } 14358 psArray *warpInputExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) 14359 14359 { 14360 14360 psArray *rowSet; … … 14362 14362 psU64 i; 14363 14363 14364 rowSet = psDBSelectRows(dbh, P4INPUTEXP_TABLE_NAME, where, limit);14364 rowSet = psDBSelectRows(dbh, WARPINPUTEXP_TABLE_NAME, where, limit); 14365 14365 if (!rowSet) { 14366 14366 return NULL; … … 14372 14372 14373 14373 for (i = 0; i < rowSet->n; i++) { 14374 p4InputExpRow *object = p4InputExpObjectFromMetadata(rowSet->data[i]);14374 warpInputExpRow *object = warpInputExpObjectFromMetadata(rowSet->data[i]); 14375 14375 psArrayAdd(returnSet, 0, object); 14376 14376 psFree(object); … … 14381 14381 return returnSet; 14382 14382 } 14383 bool p4InputExpDeleteObject(psDB *dbh, const p4InputExpRow *object)14384 { 14385 psMetadata *where = p4InputExpMetadataFromObject(object);14386 long long count = psDBDeleteRows(dbh, P4INPUTEXP_TABLE_NAME, where, 0);14383 bool warpInputExpDeleteObject(psDB *dbh, const warpInputExpRow *object) 14384 { 14385 psMetadata *where = warpInputExpMetadataFromObject(object); 14386 long long count = psDBDeleteRows(dbh, WARPINPUTEXP_TABLE_NAME, where, 0); 14387 14387 psFree(where); 14388 14388 if (count < 0) { 14389 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4InputExp");14389 psError(PS_ERR_UNKNOWN, true, "failed to delete row from warpInputExp"); 14390 14390 return false; 14391 14391 } … … 14393 14393 // XXX should this be a psAbort() instead? It is possible that 14394 14394 // having an object match multiple rows was by design. 14395 psError(PS_ERR_UNKNOWN, true, " p4InputExpRow object matched more then one row. Check your database schema");14396 return false; 14397 } 14398 14399 return true; 14400 } 14401 long long p4InputExpDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)14395 psError(PS_ERR_UNKNOWN, true, "warpInputExpRow object matched more then one row. Check your database schema"); 14396 return false; 14397 } 14398 14399 return true; 14400 } 14401 long long warpInputExpDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit) 14402 14402 { 14403 14403 long long deleted = 0; 14404 14404 14405 14405 for (long long i = 0; i < objects->n; i++) { 14406 p4InputExpRow *object = objects->data[i];14407 psMetadata *where = p4InputExpMetadataFromObject(object);14408 long long count = psDBDeleteRows(dbh, P4INPUTEXP_TABLE_NAME, where, limit);14406 warpInputExpRow *object = objects->data[i]; 14407 psMetadata *where = warpInputExpMetadataFromObject(object); 14408 long long count = psDBDeleteRows(dbh, WARPINPUTEXP_TABLE_NAME, where, limit); 14409 14409 psFree(where); 14410 14410 if (count < 0) { 14411 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4InputExp");14411 psError(PS_ERR_UNKNOWN, true, "failed to delete row from warpInputExp"); 14412 14412 return count; 14413 14413 } … … 14418 14418 return deleted; 14419 14419 } 14420 bool p4InputExpPrintObjects(FILE *stream, psArray *objects, bool mdcf)14420 bool warpInputExpPrintObjects(FILE *stream, psArray *objects, bool mdcf) 14421 14421 { 14422 14422 PS_ASSERT_PTR_NON_NULL(objects, false); … … 14424 14424 psMetadata *output = psMetadataAlloc(); 14425 14425 for (long i = 0; i < psArrayLength(objects); i++) { 14426 psMetadata *md = p4InputExpMetadataFromObject(objects->data[i]);14426 psMetadata *md = warpInputExpMetadataFromObject(objects->data[i]); 14427 14427 if (!psMetadataAddMetadata( 14428 14428 output, 14429 14429 PS_LIST_TAIL, 14430 P4INPUTEXP_TABLE_NAME,14430 WARPINPUTEXP_TABLE_NAME, 14431 14431 PS_META_DUPLICATE_OK, 14432 14432 NULL, … … 14449 14449 return true; 14450 14450 } 14451 bool p4InputExpPrintObject(FILE *stream, p4InputExpRow *object, bool mdcf)14451 bool warpInputExpPrintObject(FILE *stream, warpInputExpRow *object, bool mdcf) 14452 14452 { 14453 14453 PS_ASSERT_PTR_NON_NULL(object, false); 14454 14454 14455 psMetadata *md = p4InputExpMetadataFromObject(object);14455 psMetadata *md = warpInputExpMetadataFromObject(object); 14456 14456 14457 14457 if (!ippdbPrintMetadataRaw(stream, md, mdcf)) { … … 14464 14464 return true; 14465 14465 } 14466 static void p4SkyCellMapRowFree(p4SkyCellMapRow *object);14467 14468 p4SkyCellMapRow *p4SkyCellMapRowAlloc(psS32 p4_id, const char *skycell_id, const char *tess_id, const char *exp_tag, psS32 p3_version, const char *class_id)14469 { 14470 p4SkyCellMapRow *_object;14471 14472 _object = psAlloc(sizeof( p4SkyCellMapRow));14473 psMemSetDeallocator(_object, (psFreeFunc) p4SkyCellMapRowFree);14474 14475 _object-> p4_id = p4_id;14466 static void warpSkyCellMapRowFree(warpSkyCellMapRow *object); 14467 14468 warpSkyCellMapRow *warpSkyCellMapRowAlloc(psS32 warp_id, const char *skycell_id, const char *tess_id, const char *exp_tag, psS32 cam_version, const char *class_id) 14469 { 14470 warpSkyCellMapRow *_object; 14471 14472 _object = psAlloc(sizeof(warpSkyCellMapRow)); 14473 psMemSetDeallocator(_object, (psFreeFunc)warpSkyCellMapRowFree); 14474 14475 _object->warp_id = warp_id; 14476 14476 _object->skycell_id = psStringCopy(skycell_id); 14477 14477 _object->tess_id = psStringCopy(tess_id); 14478 14478 _object->exp_tag = psStringCopy(exp_tag); 14479 _object-> p3_version = p3_version;14479 _object->cam_version = cam_version; 14480 14480 _object->class_id = psStringCopy(class_id); 14481 14481 … … 14483 14483 } 14484 14484 14485 static void p4SkyCellMapRowFree(p4SkyCellMapRow *object)14485 static void warpSkyCellMapRowFree(warpSkyCellMapRow *object) 14486 14486 { 14487 14487 psFree(object->skycell_id); … … 14491 14491 } 14492 14492 14493 bool p4SkyCellMapCreateTable(psDB *dbh)14493 bool warpSkyCellMapCreateTable(psDB *dbh) 14494 14494 { 14495 14495 psMetadata *md = psMetadataAlloc(); 14496 if (!psMetadataAdd(md, PS_LIST_TAIL, " p4_id", PS_DATA_S32, "Primary Key", 0)) {14497 psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");14496 if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, "Primary Key", 0)) { 14497 psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id"); 14498 14498 psFree(md); 14499 14499 return false; … … 14514 14514 return false; 14515 14515 } 14516 if (!psMetadataAdd(md, PS_LIST_TAIL, " p3_version", PS_DATA_S32, "Primary Key", 0)) {14517 psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version");14516 if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_version", PS_DATA_S32, "Primary Key", 0)) { 14517 psError(PS_ERR_UNKNOWN, false, "failed to add item cam_version"); 14518 14518 psFree(md); 14519 14519 return false; … … 14525 14525 } 14526 14526 14527 bool status = psDBCreateTable(dbh, P4SKYCELLMAP_TABLE_NAME, md);14527 bool status = psDBCreateTable(dbh, WARPSKYCELLMAP_TABLE_NAME, md); 14528 14528 14529 14529 psFree(md); … … 14532 14532 } 14533 14533 14534 bool p4SkyCellMapDropTable(psDB *dbh)14535 { 14536 return psDBDropTable(dbh, P4SKYCELLMAP_TABLE_NAME);14537 } 14538 14539 bool p4SkyCellMapInsert(psDB * dbh, psS32 p4_id, const char *skycell_id, const char *tess_id, const char *exp_tag, psS32 p3_version, const char *class_id)14534 bool warpSkyCellMapDropTable(psDB *dbh) 14535 { 14536 return psDBDropTable(dbh, WARPSKYCELLMAP_TABLE_NAME); 14537 } 14538 14539 bool warpSkyCellMapInsert(psDB * dbh, psS32 warp_id, const char *skycell_id, const char *tess_id, const char *exp_tag, psS32 cam_version, const char *class_id) 14540 14540 { 14541 14541 psMetadata *md = psMetadataAlloc(); 14542 if (!psMetadataAdd(md, PS_LIST_TAIL, " p4_id", PS_DATA_S32, NULL, p4_id)) {14543 psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");14542 if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, NULL, warp_id)) { 14543 psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id"); 14544 14544 psFree(md); 14545 14545 return false; … … 14560 14560 return false; 14561 14561 } 14562 if (!psMetadataAdd(md, PS_LIST_TAIL, " p3_version", PS_DATA_S32, NULL, p3_version)) {14563 psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version");14562 if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_version", PS_DATA_S32, NULL, cam_version)) { 14563 psError(PS_ERR_UNKNOWN, false, "failed to add item cam_version"); 14564 14564 psFree(md); 14565 14565 return false; … … 14571 14571 } 14572 14572 14573 bool status = psDBInsertOneRow(dbh, P4SKYCELLMAP_TABLE_NAME, md);14573 bool status = psDBInsertOneRow(dbh, WARPSKYCELLMAP_TABLE_NAME, md); 14574 14574 psFree(md); 14575 14575 … … 14577 14577 } 14578 14578 14579 long long p4SkyCellMapDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)14579 long long warpSkyCellMapDelete(psDB *dbh, const psMetadata *where, unsigned long long limit) 14580 14580 { 14581 14581 long long deleted = 0; 14582 14582 14583 long long count = psDBDeleteRows(dbh, P4SKYCELLMAP_TABLE_NAME, where, limit);14583 long long count = psDBDeleteRows(dbh, WARPSKYCELLMAP_TABLE_NAME, where, limit); 14584 14584 if (count < 0) { 14585 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4SkyCellMap");14585 psError(PS_ERR_UNKNOWN, true, "failed to delete row from warpSkyCellMap"); 14586 14586 return count; 14587 14587 … … 14591 14591 return deleted; 14592 14592 } 14593 bool p4SkyCellMapInsertObject(psDB *dbh, p4SkyCellMapRow *object)14594 { 14595 return p4SkyCellMapInsert(dbh, object->p4_id, object->skycell_id, object->tess_id, object->exp_tag, object->p3_version, object->class_id);14596 } 14597 14598 bool p4SkyCellMapInsertObjects(psDB *dbh, psArray *objects)14593 bool warpSkyCellMapInsertObject(psDB *dbh, warpSkyCellMapRow *object) 14594 { 14595 return warpSkyCellMapInsert(dbh, object->warp_id, object->skycell_id, object->tess_id, object->exp_tag, object->cam_version, object->class_id); 14596 } 14597 14598 bool warpSkyCellMapInsertObjects(psDB *dbh, psArray *objects) 14599 14599 { 14600 14600 for (long i = 0; i < psArrayLength(objects); i++) { 14601 if (! p4SkyCellMapInsertObject(dbh, objects->data[i])) {14601 if (!warpSkyCellMapInsertObject(dbh, objects->data[i])) { 14602 14602 return false; 14603 14603 } … … 14607 14607 } 14608 14608 14609 bool p4SkyCellMapInsertFits(psDB *dbh, const psFits *fits)14609 bool warpSkyCellMapInsertFits(psDB *dbh, const psFits *fits) 14610 14610 { 14611 14611 psArray *rowSet; 14612 14612 14613 // move to (the first?) extension named P4SKYCELLMAP_TABLE_NAME14614 if (!psFitsMoveExtName(fits, P4SKYCELLMAP_TABLE_NAME)) {14615 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P4SKYCELLMAP_TABLE_NAME);14613 // move to (the first?) extension named WARPSKYCELLMAP_TABLE_NAME 14614 if (!psFitsMoveExtName(fits, WARPSKYCELLMAP_TABLE_NAME)) { 14615 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", WARPSKYCELLMAP_TABLE_NAME); 14616 14616 return false; 14617 14617 } … … 14631 14631 } 14632 14632 14633 if (!psDBInsertRows(dbh, P4SKYCELLMAP_TABLE_NAME, rowSet)) {14633 if (!psDBInsertRows(dbh, WARPSKYCELLMAP_TABLE_NAME, rowSet)) { 14634 14634 psError(PS_ERR_UNKNOWN, false, "databse insert failed"); 14635 14635 psFree(rowSet); … … 14642 14642 } 14643 14643 14644 bool p4SkyCellMapSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)14644 bool warpSkyCellMapSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit) 14645 14645 { 14646 14646 psArray *rowSet; 14647 14647 14648 rowSet = psDBSelectRows(dbh, P4SKYCELLMAP_TABLE_NAME, where, limit);14648 rowSet = psDBSelectRows(dbh, WARPSKYCELLMAP_TABLE_NAME, where, limit); 14649 14649 if (!rowSet) { 14650 14650 return false; … … 14652 14652 14653 14653 // output to fits 14654 if (!psFitsWriteTable(fits, NULL, rowSet, P4SKYCELLMAP_TABLE_NAME)) {14654 if (!psFitsWriteTable(fits, NULL, rowSet, WARPSKYCELLMAP_TABLE_NAME)) { 14655 14655 psError(PS_ERR_UNKNOWN, false, "FITS table write failed"); 14656 14656 psFree(rowSet); … … 14663 14663 } 14664 14664 14665 psMetadata * p4SkyCellMapMetadataFromObject(const p4SkyCellMapRow *object)14665 psMetadata *warpSkyCellMapMetadataFromObject(const warpSkyCellMapRow *object) 14666 14666 { 14667 14667 psMetadata *md = psMetadataAlloc(); 14668 if (!psMetadataAdd(md, PS_LIST_TAIL, " p4_id", PS_DATA_S32, NULL, object->p4_id)) {14669 psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");14668 if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, NULL, object->warp_id)) { 14669 psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id"); 14670 14670 psFree(md); 14671 14671 return false; … … 14686 14686 return false; 14687 14687 } 14688 if (!psMetadataAdd(md, PS_LIST_TAIL, " p3_version", PS_DATA_S32, NULL, object->p3_version)) {14689 psError(PS_ERR_UNKNOWN, false, "failed to add item p3_version");14688 if (!psMetadataAdd(md, PS_LIST_TAIL, "cam_version", PS_DATA_S32, NULL, object->cam_version)) { 14689 psError(PS_ERR_UNKNOWN, false, "failed to add item cam_version"); 14690 14690 psFree(md); 14691 14691 return false; … … 14701 14701 } 14702 14702 14703 p4SkyCellMapRow *p4SkyCellMapObjectFromMetadata(psMetadata *md)14703 warpSkyCellMapRow *warpSkyCellMapObjectFromMetadata(psMetadata *md) 14704 14704 { 14705 14705 14706 14706 bool status = false; 14707 psS32 p4_id = psMetadataLookupS32(&status, md, "p4_id");14708 if (!status) { 14709 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p4_id");14707 psS32 warp_id = psMetadataLookupS32(&status, md, "warp_id"); 14708 if (!status) { 14709 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item warp_id"); 14710 14710 return false; 14711 14711 } … … 14725 14725 return false; 14726 14726 } 14727 psS32 p3_version = psMetadataLookupS32(&status, md, "p3_version");14728 if (!status) { 14729 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p3_version");14727 psS32 cam_version = psMetadataLookupS32(&status, md, "cam_version"); 14728 if (!status) { 14729 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item cam_version"); 14730 14730 return false; 14731 14731 } … … 14736 14736 } 14737 14737 14738 return p4SkyCellMapRowAlloc(p4_id, skycell_id, tess_id, exp_tag, p3_version, class_id);14739 } 14740 psArray * p4SkyCellMapSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)14738 return warpSkyCellMapRowAlloc(warp_id, skycell_id, tess_id, exp_tag, cam_version, class_id); 14739 } 14740 psArray *warpSkyCellMapSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) 14741 14741 { 14742 14742 psArray *rowSet; … … 14744 14744 psU64 i; 14745 14745 14746 rowSet = psDBSelectRows(dbh, P4SKYCELLMAP_TABLE_NAME, where, limit);14746 rowSet = psDBSelectRows(dbh, WARPSKYCELLMAP_TABLE_NAME, where, limit); 14747 14747 if (!rowSet) { 14748 14748 return NULL; … … 14754 14754 14755 14755 for (i = 0; i < rowSet->n; i++) { 14756 p4SkyCellMapRow *object = p4SkyCellMapObjectFromMetadata(rowSet->data[i]);14756 warpSkyCellMapRow *object = warpSkyCellMapObjectFromMetadata(rowSet->data[i]); 14757 14757 psArrayAdd(returnSet, 0, object); 14758 14758 psFree(object); … … 14763 14763 return returnSet; 14764 14764 } 14765 bool p4SkyCellMapDeleteObject(psDB *dbh, const p4SkyCellMapRow *object)14766 { 14767 psMetadata *where = p4SkyCellMapMetadataFromObject(object);14768 long long count = psDBDeleteRows(dbh, P4SKYCELLMAP_TABLE_NAME, where, 0);14765 bool warpSkyCellMapDeleteObject(psDB *dbh, const warpSkyCellMapRow *object) 14766 { 14767 psMetadata *where = warpSkyCellMapMetadataFromObject(object); 14768 long long count = psDBDeleteRows(dbh, WARPSKYCELLMAP_TABLE_NAME, where, 0); 14769 14769 psFree(where); 14770 14770 if (count < 0) { 14771 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4SkyCellMap");14771 psError(PS_ERR_UNKNOWN, true, "failed to delete row from warpSkyCellMap"); 14772 14772 return false; 14773 14773 } … … 14775 14775 // XXX should this be a psAbort() instead? It is possible that 14776 14776 // having an object match multiple rows was by design. 14777 psError(PS_ERR_UNKNOWN, true, " p4SkyCellMapRow object matched more then one row. Check your database schema");14778 return false; 14779 } 14780 14781 return true; 14782 } 14783 long long p4SkyCellMapDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)14777 psError(PS_ERR_UNKNOWN, true, "warpSkyCellMapRow object matched more then one row. Check your database schema"); 14778 return false; 14779 } 14780 14781 return true; 14782 } 14783 long long warpSkyCellMapDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit) 14784 14784 { 14785 14785 long long deleted = 0; 14786 14786 14787 14787 for (long long i = 0; i < objects->n; i++) { 14788 p4SkyCellMapRow *object = objects->data[i];14789 psMetadata *where = p4SkyCellMapMetadataFromObject(object);14790 long long count = psDBDeleteRows(dbh, P4SKYCELLMAP_TABLE_NAME, where, limit);14788 warpSkyCellMapRow *object = objects->data[i]; 14789 psMetadata *where = warpSkyCellMapMetadataFromObject(object); 14790 long long count = psDBDeleteRows(dbh, WARPSKYCELLMAP_TABLE_NAME, where, limit); 14791 14791 psFree(where); 14792 14792 if (count < 0) { 14793 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4SkyCellMap");14793 psError(PS_ERR_UNKNOWN, true, "failed to delete row from warpSkyCellMap"); 14794 14794 return count; 14795 14795 } … … 14800 14800 return deleted; 14801 14801 } 14802 bool p4SkyCellMapPrintObjects(FILE *stream, psArray *objects, bool mdcf)14802 bool warpSkyCellMapPrintObjects(FILE *stream, psArray *objects, bool mdcf) 14803 14803 { 14804 14804 PS_ASSERT_PTR_NON_NULL(objects, false); … … 14806 14806 psMetadata *output = psMetadataAlloc(); 14807 14807 for (long i = 0; i < psArrayLength(objects); i++) { 14808 psMetadata *md = p4SkyCellMapMetadataFromObject(objects->data[i]);14808 psMetadata *md = warpSkyCellMapMetadataFromObject(objects->data[i]); 14809 14809 if (!psMetadataAddMetadata( 14810 14810 output, 14811 14811 PS_LIST_TAIL, 14812 P4SKYCELLMAP_TABLE_NAME,14812 WARPSKYCELLMAP_TABLE_NAME, 14813 14813 PS_META_DUPLICATE_OK, 14814 14814 NULL, … … 14831 14831 return true; 14832 14832 } 14833 bool p4SkyCellMapPrintObject(FILE *stream, p4SkyCellMapRow *object, bool mdcf)14833 bool warpSkyCellMapPrintObject(FILE *stream, warpSkyCellMapRow *object, bool mdcf) 14834 14834 { 14835 14835 PS_ASSERT_PTR_NON_NULL(object, false); 14836 14836 14837 psMetadata *md = p4SkyCellMapMetadataFromObject(object);14837 psMetadata *md = warpSkyCellMapMetadataFromObject(object); 14838 14838 14839 14839 if (!ippdbPrintMetadataRaw(stream, md, mdcf)) { … … 14846 14846 return true; 14847 14847 } 14848 static void p4SkyfileRowFree(p4SkyfileRow *object);14849 14850 p4SkyfileRow *p4SkyfileRowAlloc(psS32 p4_id, const char *skycell_id, const char *tess_id, const char *uri, psF64 bg, psF64 bg_mean_stdev)14851 { 14852 p4SkyfileRow*_object;14853 14854 _object = psAlloc(sizeof( p4SkyfileRow));14855 psMemSetDeallocator(_object, (psFreeFunc) p4SkyfileRowFree);14856 14857 _object-> p4_id = p4_id;14848 static void warpSkyfileRowFree(warpSkyfileRow *object); 14849 14850 warpSkyfileRow *warpSkyfileRowAlloc(psS32 warp_id, const char *skycell_id, const char *tess_id, const char *uri, psF64 bg, psF64 bg_mean_stdev) 14851 { 14852 warpSkyfileRow *_object; 14853 14854 _object = psAlloc(sizeof(warpSkyfileRow)); 14855 psMemSetDeallocator(_object, (psFreeFunc)warpSkyfileRowFree); 14856 14857 _object->warp_id = warp_id; 14858 14858 _object->skycell_id = psStringCopy(skycell_id); 14859 14859 _object->tess_id = psStringCopy(tess_id); … … 14865 14865 } 14866 14866 14867 static void p4SkyfileRowFree(p4SkyfileRow *object)14867 static void warpSkyfileRowFree(warpSkyfileRow *object) 14868 14868 { 14869 14869 psFree(object->skycell_id); … … 14872 14872 } 14873 14873 14874 bool p4SkyfileCreateTable(psDB *dbh)14874 bool warpSkyfileCreateTable(psDB *dbh) 14875 14875 { 14876 14876 psMetadata *md = psMetadataAlloc(); 14877 if (!psMetadataAdd(md, PS_LIST_TAIL, " p4_id", PS_DATA_S32, "Primary Key", 0)) {14878 psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");14877 if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, "Primary Key", 0)) { 14878 psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id"); 14879 14879 psFree(md); 14880 14880 return false; … … 14906 14906 } 14907 14907 14908 bool status = psDBCreateTable(dbh, P4SKYFILE_TABLE_NAME, md);14908 bool status = psDBCreateTable(dbh, WARPSKYFILE_TABLE_NAME, md); 14909 14909 14910 14910 psFree(md); … … 14913 14913 } 14914 14914 14915 bool p4SkyfileDropTable(psDB *dbh)14916 { 14917 return psDBDropTable(dbh, P4SKYFILE_TABLE_NAME);14918 } 14919 14920 bool p4SkyfileInsert(psDB * dbh, psS32 p4_id, const char *skycell_id, const char *tess_id, const char *uri, psF64 bg, psF64 bg_mean_stdev)14915 bool warpSkyfileDropTable(psDB *dbh) 14916 { 14917 return psDBDropTable(dbh, WARPSKYFILE_TABLE_NAME); 14918 } 14919 14920 bool warpSkyfileInsert(psDB * dbh, psS32 warp_id, const char *skycell_id, const char *tess_id, const char *uri, psF64 bg, psF64 bg_mean_stdev) 14921 14921 { 14922 14922 psMetadata *md = psMetadataAlloc(); 14923 if (!psMetadataAdd(md, PS_LIST_TAIL, " p4_id", PS_DATA_S32, NULL, p4_id)) {14924 psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");14923 if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, NULL, warp_id)) { 14924 psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id"); 14925 14925 psFree(md); 14926 14926 return false; … … 14952 14952 } 14953 14953 14954 bool status = psDBInsertOneRow(dbh, P4SKYFILE_TABLE_NAME, md);14954 bool status = psDBInsertOneRow(dbh, WARPSKYFILE_TABLE_NAME, md); 14955 14955 psFree(md); 14956 14956 … … 14958 14958 } 14959 14959 14960 long long p4SkyfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)14960 long long warpSkyfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit) 14961 14961 { 14962 14962 long long deleted = 0; 14963 14963 14964 long long count = psDBDeleteRows(dbh, P4SKYFILE_TABLE_NAME, where, limit);14964 long long count = psDBDeleteRows(dbh, WARPSKYFILE_TABLE_NAME, where, limit); 14965 14965 if (count < 0) { 14966 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4Skyfile");14966 psError(PS_ERR_UNKNOWN, true, "failed to delete row from warpSkyfile"); 14967 14967 return count; 14968 14968 … … 14972 14972 return deleted; 14973 14973 } 14974 bool p4SkyfileInsertObject(psDB *dbh, p4SkyfileRow *object)14975 { 14976 return p4SkyfileInsert(dbh, object->p4_id, object->skycell_id, object->tess_id, object->uri, object->bg, object->bg_mean_stdev);14977 } 14978 14979 bool p4SkyfileInsertObjects(psDB *dbh, psArray *objects)14974 bool warpSkyfileInsertObject(psDB *dbh, warpSkyfileRow *object) 14975 { 14976 return warpSkyfileInsert(dbh, object->warp_id, object->skycell_id, object->tess_id, object->uri, object->bg, object->bg_mean_stdev); 14977 } 14978 14979 bool warpSkyfileInsertObjects(psDB *dbh, psArray *objects) 14980 14980 { 14981 14981 for (long i = 0; i < psArrayLength(objects); i++) { 14982 if (! p4SkyfileInsertObject(dbh, objects->data[i])) {14982 if (!warpSkyfileInsertObject(dbh, objects->data[i])) { 14983 14983 return false; 14984 14984 } … … 14988 14988 } 14989 14989 14990 bool p4SkyfileInsertFits(psDB *dbh, const psFits *fits)14990 bool warpSkyfileInsertFits(psDB *dbh, const psFits *fits) 14991 14991 { 14992 14992 psArray *rowSet; 14993 14993 14994 // move to (the first?) extension named P4SKYFILE_TABLE_NAME14995 if (!psFitsMoveExtName(fits, P4SKYFILE_TABLE_NAME)) {14996 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P4SKYFILE_TABLE_NAME);14994 // move to (the first?) extension named WARPSKYFILE_TABLE_NAME 14995 if (!psFitsMoveExtName(fits, WARPSKYFILE_TABLE_NAME)) { 14996 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", WARPSKYFILE_TABLE_NAME); 14997 14997 return false; 14998 14998 } … … 15012 15012 } 15013 15013 15014 if (!psDBInsertRows(dbh, P4SKYFILE_TABLE_NAME, rowSet)) {15014 if (!psDBInsertRows(dbh, WARPSKYFILE_TABLE_NAME, rowSet)) { 15015 15015 psError(PS_ERR_UNKNOWN, false, "databse insert failed"); 15016 15016 psFree(rowSet); … … 15023 15023 } 15024 15024 15025 bool p4SkyfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)15025 bool warpSkyfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit) 15026 15026 { 15027 15027 psArray *rowSet; 15028 15028 15029 rowSet = psDBSelectRows(dbh, P4SKYFILE_TABLE_NAME, where, limit);15029 rowSet = psDBSelectRows(dbh, WARPSKYFILE_TABLE_NAME, where, limit); 15030 15030 if (!rowSet) { 15031 15031 return false; … … 15033 15033 15034 15034 // output to fits 15035 if (!psFitsWriteTable(fits, NULL, rowSet, P4SKYFILE_TABLE_NAME)) {15035 if (!psFitsWriteTable(fits, NULL, rowSet, WARPSKYFILE_TABLE_NAME)) { 15036 15036 psError(PS_ERR_UNKNOWN, false, "FITS table write failed"); 15037 15037 psFree(rowSet); … … 15044 15044 } 15045 15045 15046 psMetadata * p4SkyfileMetadataFromObject(const p4SkyfileRow *object)15046 psMetadata *warpSkyfileMetadataFromObject(const warpSkyfileRow *object) 15047 15047 { 15048 15048 psMetadata *md = psMetadataAlloc(); 15049 if (!psMetadataAdd(md, PS_LIST_TAIL, " p4_id", PS_DATA_S32, NULL, object->p4_id)) {15050 psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");15049 if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, NULL, object->warp_id)) { 15050 psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id"); 15051 15051 psFree(md); 15052 15052 return false; … … 15082 15082 } 15083 15083 15084 p4SkyfileRow *p4SkyfileObjectFromMetadata(psMetadata *md)15084 warpSkyfileRow *warpSkyfileObjectFromMetadata(psMetadata *md) 15085 15085 { 15086 15086 15087 15087 bool status = false; 15088 psS32 p4_id = psMetadataLookupS32(&status, md, "p4_id");15089 if (!status) { 15090 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p4_id");15088 psS32 warp_id = psMetadataLookupS32(&status, md, "warp_id"); 15089 if (!status) { 15090 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item warp_id"); 15091 15091 return false; 15092 15092 } … … 15117 15117 } 15118 15118 15119 return p4SkyfileRowAlloc(p4_id, skycell_id, tess_id, uri, bg, bg_mean_stdev);15120 } 15121 psArray * p4SkyfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)15119 return warpSkyfileRowAlloc(warp_id, skycell_id, tess_id, uri, bg, bg_mean_stdev); 15120 } 15121 psArray *warpSkyfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) 15122 15122 { 15123 15123 psArray *rowSet; … … 15125 15125 psU64 i; 15126 15126 15127 rowSet = psDBSelectRows(dbh, P4SKYFILE_TABLE_NAME, where, limit);15127 rowSet = psDBSelectRows(dbh, WARPSKYFILE_TABLE_NAME, where, limit); 15128 15128 if (!rowSet) { 15129 15129 return NULL; … … 15135 15135 15136 15136 for (i = 0; i < rowSet->n; i++) { 15137 p4SkyfileRow *object = p4SkyfileObjectFromMetadata(rowSet->data[i]);15137 warpSkyfileRow *object = warpSkyfileObjectFromMetadata(rowSet->data[i]); 15138 15138 psArrayAdd(returnSet, 0, object); 15139 15139 psFree(object); … … 15144 15144 return returnSet; 15145 15145 } 15146 bool p4SkyfileDeleteObject(psDB *dbh, const p4SkyfileRow *object)15147 { 15148 psMetadata *where = p4SkyfileMetadataFromObject(object);15149 long long count = psDBDeleteRows(dbh, P4SKYFILE_TABLE_NAME, where, 0);15146 bool warpSkyfileDeleteObject(psDB *dbh, const warpSkyfileRow *object) 15147 { 15148 psMetadata *where = warpSkyfileMetadataFromObject(object); 15149 long long count = psDBDeleteRows(dbh, WARPSKYFILE_TABLE_NAME, where, 0); 15150 15150 psFree(where); 15151 15151 if (count < 0) { 15152 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4Skyfile");15152 psError(PS_ERR_UNKNOWN, true, "failed to delete row from warpSkyfile"); 15153 15153 return false; 15154 15154 } … … 15156 15156 // XXX should this be a psAbort() instead? It is possible that 15157 15157 // having an object match multiple rows was by design. 15158 psError(PS_ERR_UNKNOWN, true, " p4SkyfileRow object matched more then one row. Check your database schema");15159 return false; 15160 } 15161 15162 return true; 15163 } 15164 long long p4SkyfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)15158 psError(PS_ERR_UNKNOWN, true, "warpSkyfileRow object matched more then one row. Check your database schema"); 15159 return false; 15160 } 15161 15162 return true; 15163 } 15164 long long warpSkyfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit) 15165 15165 { 15166 15166 long long deleted = 0; 15167 15167 15168 15168 for (long long i = 0; i < objects->n; i++) { 15169 p4SkyfileRow *object = objects->data[i];15170 psMetadata *where = p4SkyfileMetadataFromObject(object);15171 long long count = psDBDeleteRows(dbh, P4SKYFILE_TABLE_NAME, where, limit);15169 warpSkyfileRow *object = objects->data[i]; 15170 psMetadata *where = warpSkyfileMetadataFromObject(object); 15171 long long count = psDBDeleteRows(dbh, WARPSKYFILE_TABLE_NAME, where, limit); 15172 15172 psFree(where); 15173 15173 if (count < 0) { 15174 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4Skyfile");15174 psError(PS_ERR_UNKNOWN, true, "failed to delete row from warpSkyfile"); 15175 15175 return count; 15176 15176 } … … 15181 15181 return deleted; 15182 15182 } 15183 bool p4SkyfilePrintObjects(FILE *stream, psArray *objects, bool mdcf)15183 bool warpSkyfilePrintObjects(FILE *stream, psArray *objects, bool mdcf) 15184 15184 { 15185 15185 PS_ASSERT_PTR_NON_NULL(objects, false); … … 15187 15187 psMetadata *output = psMetadataAlloc(); 15188 15188 for (long i = 0; i < psArrayLength(objects); i++) { 15189 psMetadata *md = p4SkyfileMetadataFromObject(objects->data[i]);15189 psMetadata *md = warpSkyfileMetadataFromObject(objects->data[i]); 15190 15190 if (!psMetadataAddMetadata( 15191 15191 output, 15192 15192 PS_LIST_TAIL, 15193 P4SKYFILE_TABLE_NAME,15193 WARPSKYFILE_TABLE_NAME, 15194 15194 PS_META_DUPLICATE_OK, 15195 15195 NULL, … … 15212 15212 return true; 15213 15213 } 15214 bool p4SkyfilePrintObject(FILE *stream, p4SkyfileRow *object, bool mdcf)15214 bool warpSkyfilePrintObject(FILE *stream, warpSkyfileRow *object, bool mdcf) 15215 15215 { 15216 15216 PS_ASSERT_PTR_NON_NULL(object, false); 15217 15217 15218 psMetadata *md = p4SkyfileMetadataFromObject(object);15218 psMetadata *md = warpSkyfileMetadataFromObject(object); 15219 15219 15220 15220 if (!ippdbPrintMetadataRaw(stream, md, mdcf)) { … … 15227 15227 return true; 15228 15228 } 15229 static void p5RunRowFree(p5RunRow *object);15230 15231 p5RunRow *p5RunRowAlloc(psS32 p5_id, const char *state, const char *workdir, const char *dvodb, psTime* registered, const char *skycell_id, const char *tess_id)15232 { 15233 p5RunRow*_object;15234 15235 _object = psAlloc(sizeof( p5RunRow));15236 psMemSetDeallocator(_object, (psFreeFunc) p5RunRowFree);15237 15238 _object-> p5_id = p5_id;15229 static void diffRunRowFree(diffRunRow *object); 15230 15231 diffRunRow *diffRunRowAlloc(psS32 diff_id, const char *state, const char *workdir, const char *dvodb, psTime* registered, const char *skycell_id, const char *tess_id) 15232 { 15233 diffRunRow *_object; 15234 15235 _object = psAlloc(sizeof(diffRunRow)); 15236 psMemSetDeallocator(_object, (psFreeFunc)diffRunRowFree); 15237 15238 _object->diff_id = diff_id; 15239 15239 _object->state = psStringCopy(state); 15240 15240 _object->workdir = psStringCopy(workdir); … … 15247 15247 } 15248 15248 15249 static void p5RunRowFree(p5RunRow *object)15249 static void diffRunRowFree(diffRunRow *object) 15250 15250 { 15251 15251 psFree(object->state); … … 15257 15257 } 15258 15258 15259 bool p5RunCreateTable(psDB *dbh)15259 bool diffRunCreateTable(psDB *dbh) 15260 15260 { 15261 15261 psMetadata *md = psMetadataAlloc(); 15262 if (!psMetadataAdd(md, PS_LIST_TAIL, " p5_id", PS_DATA_S32, "Primary Key AUTO_INCREMENT", 0)) {15263 psError(PS_ERR_UNKNOWN, false, "failed to add item p5_id");15262 if (!psMetadataAdd(md, PS_LIST_TAIL, "diff_id", PS_DATA_S32, "Primary Key AUTO_INCREMENT", 0)) { 15263 psError(PS_ERR_UNKNOWN, false, "failed to add item diff_id"); 15264 15264 psFree(md); 15265 15265 return false; … … 15296 15296 } 15297 15297 15298 bool status = psDBCreateTable(dbh, P5RUN_TABLE_NAME, md);15298 bool status = psDBCreateTable(dbh, DIFFRUN_TABLE_NAME, md); 15299 15299 15300 15300 psFree(md); … … 15303 15303 } 15304 15304 15305 bool p5RunDropTable(psDB *dbh)15306 { 15307 return psDBDropTable(dbh, P5RUN_TABLE_NAME);15308 } 15309 15310 bool p5RunInsert(psDB * dbh, psS32 p5_id, const char *state, const char *workdir, const char *dvodb, psTime* registered, const char *skycell_id, const char *tess_id)15305 bool diffRunDropTable(psDB *dbh) 15306 { 15307 return psDBDropTable(dbh, DIFFRUN_TABLE_NAME); 15308 } 15309 15310 bool diffRunInsert(psDB * dbh, psS32 diff_id, const char *state, const char *workdir, const char *dvodb, psTime* registered, const char *skycell_id, const char *tess_id) 15311 15311 { 15312 15312 psMetadata *md = psMetadataAlloc(); 15313 if (!psMetadataAdd(md, PS_LIST_TAIL, " p5_id", PS_DATA_S32, NULL, p5_id)) {15314 psError(PS_ERR_UNKNOWN, false, "failed to add item p5_id");15313 if (!psMetadataAdd(md, PS_LIST_TAIL, "diff_id", PS_DATA_S32, NULL, diff_id)) { 15314 psError(PS_ERR_UNKNOWN, false, "failed to add item diff_id"); 15315 15315 psFree(md); 15316 15316 return false; … … 15347 15347 } 15348 15348 15349 bool status = psDBInsertOneRow(dbh, P5RUN_TABLE_NAME, md);15349 bool status = psDBInsertOneRow(dbh, DIFFRUN_TABLE_NAME, md); 15350 15350 psFree(md); 15351 15351 … … 15353 15353 } 15354 15354 15355 long long p5RunDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)15355 long long diffRunDelete(psDB *dbh, const psMetadata *where, unsigned long long limit) 15356 15356 { 15357 15357 long long deleted = 0; 15358 15358 15359 long long count = psDBDeleteRows(dbh, P5RUN_TABLE_NAME, where, limit);15359 long long count = psDBDeleteRows(dbh, DIFFRUN_TABLE_NAME, where, limit); 15360 15360 if (count < 0) { 15361 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p5Run");15361 psError(PS_ERR_UNKNOWN, true, "failed to delete row from diffRun"); 15362 15362 return count; 15363 15363 … … 15367 15367 return deleted; 15368 15368 } 15369 bool p5RunInsertObject(psDB *dbh, p5RunRow *object)15370 { 15371 return p5RunInsert(dbh, object->p5_id, object->state, object->workdir, object->dvodb, object->registered, object->skycell_id, object->tess_id);15372 } 15373 15374 bool p5RunInsertObjects(psDB *dbh, psArray *objects)15369 bool diffRunInsertObject(psDB *dbh, diffRunRow *object) 15370 { 15371 return diffRunInsert(dbh, object->diff_id, object->state, object->workdir, object->dvodb, object->registered, object->skycell_id, object->tess_id); 15372 } 15373 15374 bool diffRunInsertObjects(psDB *dbh, psArray *objects) 15375 15375 { 15376 15376 for (long i = 0; i < psArrayLength(objects); i++) { 15377 if (! p5RunInsertObject(dbh, objects->data[i])) {15377 if (!diffRunInsertObject(dbh, objects->data[i])) { 15378 15378 return false; 15379 15379 } … … 15383 15383 } 15384 15384 15385 bool p5RunInsertFits(psDB *dbh, const psFits *fits)15385 bool diffRunInsertFits(psDB *dbh, const psFits *fits) 15386 15386 { 15387 15387 psArray *rowSet; 15388 15388 15389 // move to (the first?) extension named P5RUN_TABLE_NAME15390 if (!psFitsMoveExtName(fits, P5RUN_TABLE_NAME)) {15391 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P5RUN_TABLE_NAME);15389 // move to (the first?) extension named DIFFRUN_TABLE_NAME 15390 if (!psFitsMoveExtName(fits, DIFFRUN_TABLE_NAME)) { 15391 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", DIFFRUN_TABLE_NAME); 15392 15392 return false; 15393 15393 } … … 15407 15407 } 15408 15408 15409 if (!psDBInsertRows(dbh, P5RUN_TABLE_NAME, rowSet)) {15409 if (!psDBInsertRows(dbh, DIFFRUN_TABLE_NAME, rowSet)) { 15410 15410 psError(PS_ERR_UNKNOWN, false, "databse insert failed"); 15411 15411 psFree(rowSet); … … 15418 15418 } 15419 15419 15420 bool p5RunSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)15420 bool diffRunSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit) 15421 15421 { 15422 15422 psArray *rowSet; 15423 15423 15424 rowSet = psDBSelectRows(dbh, P5RUN_TABLE_NAME, where, limit);15424 rowSet = psDBSelectRows(dbh, DIFFRUN_TABLE_NAME, where, limit); 15425 15425 if (!rowSet) { 15426 15426 return false; … … 15428 15428 15429 15429 // output to fits 15430 if (!psFitsWriteTable(fits, NULL, rowSet, P5RUN_TABLE_NAME)) {15430 if (!psFitsWriteTable(fits, NULL, rowSet, DIFFRUN_TABLE_NAME)) { 15431 15431 psError(PS_ERR_UNKNOWN, false, "FITS table write failed"); 15432 15432 psFree(rowSet); … … 15439 15439 } 15440 15440 15441 psMetadata * p5RunMetadataFromObject(const p5RunRow *object)15441 psMetadata *diffRunMetadataFromObject(const diffRunRow *object) 15442 15442 { 15443 15443 psMetadata *md = psMetadataAlloc(); 15444 if (!psMetadataAdd(md, PS_LIST_TAIL, " p5_id", PS_DATA_S32, NULL, object->p5_id)) {15445 psError(PS_ERR_UNKNOWN, false, "failed to add item p5_id");15444 if (!psMetadataAdd(md, PS_LIST_TAIL, "diff_id", PS_DATA_S32, NULL, object->diff_id)) { 15445 psError(PS_ERR_UNKNOWN, false, "failed to add item diff_id"); 15446 15446 psFree(md); 15447 15447 return false; … … 15482 15482 } 15483 15483 15484 p5RunRow *p5RunObjectFromMetadata(psMetadata *md)15484 diffRunRow *diffRunObjectFromMetadata(psMetadata *md) 15485 15485 { 15486 15486 15487 15487 bool status = false; 15488 psS32 p5_id = psMetadataLookupS32(&status, md, "p5_id");15489 if (!status) { 15490 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p5_id");15488 psS32 diff_id = psMetadataLookupS32(&status, md, "diff_id"); 15489 if (!status) { 15490 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item diff_id"); 15491 15491 return false; 15492 15492 } … … 15522 15522 } 15523 15523 15524 return p5RunRowAlloc(p5_id, state, workdir, dvodb, registered, skycell_id, tess_id);15525 } 15526 psArray * p5RunSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)15524 return diffRunRowAlloc(diff_id, state, workdir, dvodb, registered, skycell_id, tess_id); 15525 } 15526 psArray *diffRunSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) 15527 15527 { 15528 15528 psArray *rowSet; … … 15530 15530 psU64 i; 15531 15531 15532 rowSet = psDBSelectRows(dbh, P5RUN_TABLE_NAME, where, limit);15532 rowSet = psDBSelectRows(dbh, DIFFRUN_TABLE_NAME, where, limit); 15533 15533 if (!rowSet) { 15534 15534 return NULL; … … 15540 15540 15541 15541 for (i = 0; i < rowSet->n; i++) { 15542 p5RunRow *object = p5RunObjectFromMetadata(rowSet->data[i]);15542 diffRunRow *object = diffRunObjectFromMetadata(rowSet->data[i]); 15543 15543 psArrayAdd(returnSet, 0, object); 15544 15544 psFree(object); … … 15549 15549 return returnSet; 15550 15550 } 15551 bool p5RunDeleteObject(psDB *dbh, const p5RunRow *object)15552 { 15553 psMetadata *where = p5RunMetadataFromObject(object);15554 long long count = psDBDeleteRows(dbh, P5RUN_TABLE_NAME, where, 0);15551 bool diffRunDeleteObject(psDB *dbh, const diffRunRow *object) 15552 { 15553 psMetadata *where = diffRunMetadataFromObject(object); 15554 long long count = psDBDeleteRows(dbh, DIFFRUN_TABLE_NAME, where, 0); 15555 15555 psFree(where); 15556 15556 if (count < 0) { 15557 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p5Run");15557 psError(PS_ERR_UNKNOWN, true, "failed to delete row from diffRun"); 15558 15558 return false; 15559 15559 } … … 15561 15561 // XXX should this be a psAbort() instead? It is possible that 15562 15562 // having an object match multiple rows was by design. 15563 psError(PS_ERR_UNKNOWN, true, " p5RunRow object matched more then one row. Check your database schema");15564 return false; 15565 } 15566 15567 return true; 15568 } 15569 long long p5RunDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)15563 psError(PS_ERR_UNKNOWN, true, "diffRunRow object matched more then one row. Check your database schema"); 15564 return false; 15565 } 15566 15567 return true; 15568 } 15569 long long diffRunDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit) 15570 15570 { 15571 15571 long long deleted = 0; 15572 15572 15573 15573 for (long long i = 0; i < objects->n; i++) { 15574 p5RunRow *object = objects->data[i];15575 psMetadata *where = p5RunMetadataFromObject(object);15576 long long count = psDBDeleteRows(dbh, P5RUN_TABLE_NAME, where, limit);15574 diffRunRow *object = objects->data[i]; 15575 psMetadata *where = diffRunMetadataFromObject(object); 15576 long long count = psDBDeleteRows(dbh, DIFFRUN_TABLE_NAME, where, limit); 15577 15577 psFree(where); 15578 15578 if (count < 0) { 15579 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p5Run");15579 psError(PS_ERR_UNKNOWN, true, "failed to delete row from diffRun"); 15580 15580 return count; 15581 15581 } … … 15586 15586 return deleted; 15587 15587 } 15588 bool p5RunPrintObjects(FILE *stream, psArray *objects, bool mdcf)15588 bool diffRunPrintObjects(FILE *stream, psArray *objects, bool mdcf) 15589 15589 { 15590 15590 PS_ASSERT_PTR_NON_NULL(objects, false); … … 15592 15592 psMetadata *output = psMetadataAlloc(); 15593 15593 for (long i = 0; i < psArrayLength(objects); i++) { 15594 psMetadata *md = p5RunMetadataFromObject(objects->data[i]);15594 psMetadata *md = diffRunMetadataFromObject(objects->data[i]); 15595 15595 if (!psMetadataAddMetadata( 15596 15596 output, 15597 15597 PS_LIST_TAIL, 15598 P5RUN_TABLE_NAME,15598 DIFFRUN_TABLE_NAME, 15599 15599 PS_META_DUPLICATE_OK, 15600 15600 NULL, … … 15617 15617 return true; 15618 15618 } 15619 bool p5RunPrintObject(FILE *stream, p5RunRow *object, bool mdcf)15619 bool diffRunPrintObject(FILE *stream, diffRunRow *object, bool mdcf) 15620 15620 { 15621 15621 PS_ASSERT_PTR_NON_NULL(object, false); 15622 15622 15623 psMetadata *md = p5RunMetadataFromObject(object);15623 psMetadata *md = diffRunMetadataFromObject(object); 15624 15624 15625 15625 if (!ippdbPrintMetadataRaw(stream, md, mdcf)) { … … 15632 15632 return true; 15633 15633 } 15634 static void p5InputSkyfileRowFree(p5InputSkyfileRow *object);15635 15636 p5InputSkyfileRow *p5InputSkyfileRowAlloc(psS32 p5_id, psS32 p4_id, const char *skycell_id, const char *tess_id, const char *kind, bool template)15637 { 15638 p5InputSkyfileRow *_object;15639 15640 _object = psAlloc(sizeof( p5InputSkyfileRow));15641 psMemSetDeallocator(_object, (psFreeFunc) p5InputSkyfileRowFree);15642 15643 _object-> p5_id = p5_id;15644 _object-> p4_id = p4_id;15634 static void diffInputSkyfileRowFree(diffInputSkyfileRow *object); 15635 15636 diffInputSkyfileRow *diffInputSkyfileRowAlloc(psS32 diff_id, psS32 warp_id, const char *skycell_id, const char *tess_id, const char *kind, bool template) 15637 { 15638 diffInputSkyfileRow *_object; 15639 15640 _object = psAlloc(sizeof(diffInputSkyfileRow)); 15641 psMemSetDeallocator(_object, (psFreeFunc)diffInputSkyfileRowFree); 15642 15643 _object->diff_id = diff_id; 15644 _object->warp_id = warp_id; 15645 15645 _object->skycell_id = psStringCopy(skycell_id); 15646 15646 _object->tess_id = psStringCopy(tess_id); … … 15651 15651 } 15652 15652 15653 static void p5InputSkyfileRowFree(p5InputSkyfileRow *object)15653 static void diffInputSkyfileRowFree(diffInputSkyfileRow *object) 15654 15654 { 15655 15655 psFree(object->skycell_id); … … 15658 15658 } 15659 15659 15660 bool p5InputSkyfileCreateTable(psDB *dbh)15660 bool diffInputSkyfileCreateTable(psDB *dbh) 15661 15661 { 15662 15662 psMetadata *md = psMetadataAlloc(); 15663 if (!psMetadataAdd(md, PS_LIST_TAIL, " p5_id", PS_DATA_S32, "Primary Key", 0)) {15664 psError(PS_ERR_UNKNOWN, false, "failed to add item p5_id");15665 psFree(md); 15666 return false; 15667 } 15668 if (!psMetadataAdd(md, PS_LIST_TAIL, " p4_id", PS_DATA_S32, "Primary Key", 0)) {15669 psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");15663 if (!psMetadataAdd(md, PS_LIST_TAIL, "diff_id", PS_DATA_S32, "Primary Key", 0)) { 15664 psError(PS_ERR_UNKNOWN, false, "failed to add item diff_id"); 15665 psFree(md); 15666 return false; 15667 } 15668 if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, "Primary Key", 0)) { 15669 psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id"); 15670 15670 psFree(md); 15671 15671 return false; … … 15692 15692 } 15693 15693 15694 bool status = psDBCreateTable(dbh, P5INPUTSKYFILE_TABLE_NAME, md);15694 bool status = psDBCreateTable(dbh, DIFFINPUTSKYFILE_TABLE_NAME, md); 15695 15695 15696 15696 psFree(md); … … 15699 15699 } 15700 15700 15701 bool p5InputSkyfileDropTable(psDB *dbh)15702 { 15703 return psDBDropTable(dbh, P5INPUTSKYFILE_TABLE_NAME);15704 } 15705 15706 bool p5InputSkyfileInsert(psDB * dbh, psS32 p5_id, psS32 p4_id, const char *skycell_id, const char *tess_id, const char *kind, bool template)15701 bool diffInputSkyfileDropTable(psDB *dbh) 15702 { 15703 return psDBDropTable(dbh, DIFFINPUTSKYFILE_TABLE_NAME); 15704 } 15705 15706 bool diffInputSkyfileInsert(psDB * dbh, psS32 diff_id, psS32 warp_id, const char *skycell_id, const char *tess_id, const char *kind, bool template) 15707 15707 { 15708 15708 psMetadata *md = psMetadataAlloc(); 15709 if (!psMetadataAdd(md, PS_LIST_TAIL, " p5_id", PS_DATA_S32, NULL, p5_id)) {15710 psError(PS_ERR_UNKNOWN, false, "failed to add item p5_id");15711 psFree(md); 15712 return false; 15713 } 15714 if (!psMetadataAdd(md, PS_LIST_TAIL, " p4_id", PS_DATA_S32, NULL, p4_id)) {15715 psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");15709 if (!psMetadataAdd(md, PS_LIST_TAIL, "diff_id", PS_DATA_S32, NULL, diff_id)) { 15710 psError(PS_ERR_UNKNOWN, false, "failed to add item diff_id"); 15711 psFree(md); 15712 return false; 15713 } 15714 if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, NULL, warp_id)) { 15715 psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id"); 15716 15716 psFree(md); 15717 15717 return false; … … 15738 15738 } 15739 15739 15740 bool status = psDBInsertOneRow(dbh, P5INPUTSKYFILE_TABLE_NAME, md);15740 bool status = psDBInsertOneRow(dbh, DIFFINPUTSKYFILE_TABLE_NAME, md); 15741 15741 psFree(md); 15742 15742 … … 15744 15744 } 15745 15745 15746 long long p5InputSkyfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)15746 long long diffInputSkyfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit) 15747 15747 { 15748 15748 long long deleted = 0; 15749 15749 15750 long long count = psDBDeleteRows(dbh, P5INPUTSKYFILE_TABLE_NAME, where, limit);15750 long long count = psDBDeleteRows(dbh, DIFFINPUTSKYFILE_TABLE_NAME, where, limit); 15751 15751 if (count < 0) { 15752 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p5InputSkyfile");15752 psError(PS_ERR_UNKNOWN, true, "failed to delete row from diffInputSkyfile"); 15753 15753 return count; 15754 15754 … … 15758 15758 return deleted; 15759 15759 } 15760 bool p5InputSkyfileInsertObject(psDB *dbh, p5InputSkyfileRow *object)15761 { 15762 return p5InputSkyfileInsert(dbh, object->p5_id, object->p4_id, object->skycell_id, object->tess_id, object->kind, object->template);15763 } 15764 15765 bool p5InputSkyfileInsertObjects(psDB *dbh, psArray *objects)15760 bool diffInputSkyfileInsertObject(psDB *dbh, diffInputSkyfileRow *object) 15761 { 15762 return diffInputSkyfileInsert(dbh, object->diff_id, object->warp_id, object->skycell_id, object->tess_id, object->kind, object->template); 15763 } 15764 15765 bool diffInputSkyfileInsertObjects(psDB *dbh, psArray *objects) 15766 15766 { 15767 15767 for (long i = 0; i < psArrayLength(objects); i++) { 15768 if (! p5InputSkyfileInsertObject(dbh, objects->data[i])) {15768 if (!diffInputSkyfileInsertObject(dbh, objects->data[i])) { 15769 15769 return false; 15770 15770 } … … 15774 15774 } 15775 15775 15776 bool p5InputSkyfileInsertFits(psDB *dbh, const psFits *fits)15776 bool diffInputSkyfileInsertFits(psDB *dbh, const psFits *fits) 15777 15777 { 15778 15778 psArray *rowSet; 15779 15779 15780 // move to (the first?) extension named P5INPUTSKYFILE_TABLE_NAME15781 if (!psFitsMoveExtName(fits, P5INPUTSKYFILE_TABLE_NAME)) {15782 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P5INPUTSKYFILE_TABLE_NAME);15780 // move to (the first?) extension named DIFFINPUTSKYFILE_TABLE_NAME 15781 if (!psFitsMoveExtName(fits, DIFFINPUTSKYFILE_TABLE_NAME)) { 15782 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", DIFFINPUTSKYFILE_TABLE_NAME); 15783 15783 return false; 15784 15784 } … … 15798 15798 } 15799 15799 15800 if (!psDBInsertRows(dbh, P5INPUTSKYFILE_TABLE_NAME, rowSet)) {15800 if (!psDBInsertRows(dbh, DIFFINPUTSKYFILE_TABLE_NAME, rowSet)) { 15801 15801 psError(PS_ERR_UNKNOWN, false, "databse insert failed"); 15802 15802 psFree(rowSet); … … 15809 15809 } 15810 15810 15811 bool p5InputSkyfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)15811 bool diffInputSkyfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit) 15812 15812 { 15813 15813 psArray *rowSet; 15814 15814 15815 rowSet = psDBSelectRows(dbh, P5INPUTSKYFILE_TABLE_NAME, where, limit);15815 rowSet = psDBSelectRows(dbh, DIFFINPUTSKYFILE_TABLE_NAME, where, limit); 15816 15816 if (!rowSet) { 15817 15817 return false; … … 15819 15819 15820 15820 // output to fits 15821 if (!psFitsWriteTable(fits, NULL, rowSet, P5INPUTSKYFILE_TABLE_NAME)) {15821 if (!psFitsWriteTable(fits, NULL, rowSet, DIFFINPUTSKYFILE_TABLE_NAME)) { 15822 15822 psError(PS_ERR_UNKNOWN, false, "FITS table write failed"); 15823 15823 psFree(rowSet); … … 15830 15830 } 15831 15831 15832 psMetadata * p5InputSkyfileMetadataFromObject(const p5InputSkyfileRow *object)15832 psMetadata *diffInputSkyfileMetadataFromObject(const diffInputSkyfileRow *object) 15833 15833 { 15834 15834 psMetadata *md = psMetadataAlloc(); 15835 if (!psMetadataAdd(md, PS_LIST_TAIL, " p5_id", PS_DATA_S32, NULL, object->p5_id)) {15836 psError(PS_ERR_UNKNOWN, false, "failed to add item p5_id");15837 psFree(md); 15838 return false; 15839 } 15840 if (!psMetadataAdd(md, PS_LIST_TAIL, " p4_id", PS_DATA_S32, NULL, object->p4_id)) {15841 psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");15835 if (!psMetadataAdd(md, PS_LIST_TAIL, "diff_id", PS_DATA_S32, NULL, object->diff_id)) { 15836 psError(PS_ERR_UNKNOWN, false, "failed to add item diff_id"); 15837 psFree(md); 15838 return false; 15839 } 15840 if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, NULL, object->warp_id)) { 15841 psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id"); 15842 15842 psFree(md); 15843 15843 return false; … … 15868 15868 } 15869 15869 15870 p5InputSkyfileRow *p5InputSkyfileObjectFromMetadata(psMetadata *md)15870 diffInputSkyfileRow *diffInputSkyfileObjectFromMetadata(psMetadata *md) 15871 15871 { 15872 15872 15873 15873 bool status = false; 15874 psS32 p5_id = psMetadataLookupS32(&status, md, "p5_id");15875 if (!status) { 15876 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p5_id");15877 return false; 15878 } 15879 psS32 p4_id = psMetadataLookupS32(&status, md, "p4_id");15880 if (!status) { 15881 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p4_id");15874 psS32 diff_id = psMetadataLookupS32(&status, md, "diff_id"); 15875 if (!status) { 15876 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item diff_id"); 15877 return false; 15878 } 15879 psS32 warp_id = psMetadataLookupS32(&status, md, "warp_id"); 15880 if (!status) { 15881 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item warp_id"); 15882 15882 return false; 15883 15883 } … … 15903 15903 } 15904 15904 15905 return p5InputSkyfileRowAlloc(p5_id, p4_id, skycell_id, tess_id, kind, template);15906 } 15907 psArray * p5InputSkyfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)15905 return diffInputSkyfileRowAlloc(diff_id, warp_id, skycell_id, tess_id, kind, template); 15906 } 15907 psArray *diffInputSkyfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) 15908 15908 { 15909 15909 psArray *rowSet; … … 15911 15911 psU64 i; 15912 15912 15913 rowSet = psDBSelectRows(dbh, P5INPUTSKYFILE_TABLE_NAME, where, limit);15913 rowSet = psDBSelectRows(dbh, DIFFINPUTSKYFILE_TABLE_NAME, where, limit); 15914 15914 if (!rowSet) { 15915 15915 return NULL; … … 15921 15921 15922 15922 for (i = 0; i < rowSet->n; i++) { 15923 p5InputSkyfileRow *object = p5InputSkyfileObjectFromMetadata(rowSet->data[i]);15923 diffInputSkyfileRow *object = diffInputSkyfileObjectFromMetadata(rowSet->data[i]); 15924 15924 psArrayAdd(returnSet, 0, object); 15925 15925 psFree(object); … … 15930 15930 return returnSet; 15931 15931 } 15932 bool p5InputSkyfileDeleteObject(psDB *dbh, const p5InputSkyfileRow *object)15933 { 15934 psMetadata *where = p5InputSkyfileMetadataFromObject(object);15935 long long count = psDBDeleteRows(dbh, P5INPUTSKYFILE_TABLE_NAME, where, 0);15932 bool diffInputSkyfileDeleteObject(psDB *dbh, const diffInputSkyfileRow *object) 15933 { 15934 psMetadata *where = diffInputSkyfileMetadataFromObject(object); 15935 long long count = psDBDeleteRows(dbh, DIFFINPUTSKYFILE_TABLE_NAME, where, 0); 15936 15936 psFree(where); 15937 15937 if (count < 0) { 15938 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p5InputSkyfile");15938 psError(PS_ERR_UNKNOWN, true, "failed to delete row from diffInputSkyfile"); 15939 15939 return false; 15940 15940 } … … 15942 15942 // XXX should this be a psAbort() instead? It is possible that 15943 15943 // having an object match multiple rows was by design. 15944 psError(PS_ERR_UNKNOWN, true, " p5InputSkyfileRow object matched more then one row. Check your database schema");15945 return false; 15946 } 15947 15948 return true; 15949 } 15950 long long p5InputSkyfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)15944 psError(PS_ERR_UNKNOWN, true, "diffInputSkyfileRow object matched more then one row. Check your database schema"); 15945 return false; 15946 } 15947 15948 return true; 15949 } 15950 long long diffInputSkyfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit) 15951 15951 { 15952 15952 long long deleted = 0; 15953 15953 15954 15954 for (long long i = 0; i < objects->n; i++) { 15955 p5InputSkyfileRow *object = objects->data[i];15956 psMetadata *where = p5InputSkyfileMetadataFromObject(object);15957 long long count = psDBDeleteRows(dbh, P5INPUTSKYFILE_TABLE_NAME, where, limit);15955 diffInputSkyfileRow *object = objects->data[i]; 15956 psMetadata *where = diffInputSkyfileMetadataFromObject(object); 15957 long long count = psDBDeleteRows(dbh, DIFFINPUTSKYFILE_TABLE_NAME, where, limit); 15958 15958 psFree(where); 15959 15959 if (count < 0) { 15960 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p5InputSkyfile");15960 psError(PS_ERR_UNKNOWN, true, "failed to delete row from diffInputSkyfile"); 15961 15961 return count; 15962 15962 } … … 15967 15967 return deleted; 15968 15968 } 15969 bool p5InputSkyfilePrintObjects(FILE *stream, psArray *objects, bool mdcf)15969 bool diffInputSkyfilePrintObjects(FILE *stream, psArray *objects, bool mdcf) 15970 15970 { 15971 15971 PS_ASSERT_PTR_NON_NULL(objects, false); … … 15973 15973 psMetadata *output = psMetadataAlloc(); 15974 15974 for (long i = 0; i < psArrayLength(objects); i++) { 15975 psMetadata *md = p5InputSkyfileMetadataFromObject(objects->data[i]);15975 psMetadata *md = diffInputSkyfileMetadataFromObject(objects->data[i]); 15976 15976 if (!psMetadataAddMetadata( 15977 15977 output, 15978 15978 PS_LIST_TAIL, 15979 P5INPUTSKYFILE_TABLE_NAME,15979 DIFFINPUTSKYFILE_TABLE_NAME, 15980 15980 PS_META_DUPLICATE_OK, 15981 15981 NULL, … … 15998 15998 return true; 15999 15999 } 16000 bool p5InputSkyfilePrintObject(FILE *stream, p5InputSkyfileRow *object, bool mdcf)16000 bool diffInputSkyfilePrintObject(FILE *stream, diffInputSkyfileRow *object, bool mdcf) 16001 16001 { 16002 16002 PS_ASSERT_PTR_NON_NULL(object, false); 16003 16003 16004 psMetadata *md = p5InputSkyfileMetadataFromObject(object);16004 psMetadata *md = diffInputSkyfileMetadataFromObject(object); 16005 16005 16006 16006 if (!ippdbPrintMetadataRaw(stream, md, mdcf)) { … … 16013 16013 return true; 16014 16014 } 16015 static void p5DiffSkyfileRowFree(p5DiffSkyfileRow *object);16016 16017 p5DiffSkyfileRow *p5DiffSkyfileRowAlloc(psS32 p5_id, const char *uri, psF64 bg, psF64 bg_mean_stdev)16018 { 16019 p5DiffSkyfileRow*_object;16020 16021 _object = psAlloc(sizeof( p5DiffSkyfileRow));16022 psMemSetDeallocator(_object, (psFreeFunc) p5DiffSkyfileRowFree);16023 16024 _object-> p5_id = p5_id;16015 static void diffSkyfileRowFree(diffSkyfileRow *object); 16016 16017 diffSkyfileRow *diffSkyfileRowAlloc(psS32 diff_id, const char *uri, psF64 bg, psF64 bg_mean_stdev) 16018 { 16019 diffSkyfileRow *_object; 16020 16021 _object = psAlloc(sizeof(diffSkyfileRow)); 16022 psMemSetDeallocator(_object, (psFreeFunc)diffSkyfileRowFree); 16023 16024 _object->diff_id = diff_id; 16025 16025 _object->uri = psStringCopy(uri); 16026 16026 _object->bg = bg; … … 16030 16030 } 16031 16031 16032 static void p5DiffSkyfileRowFree(p5DiffSkyfileRow *object)16032 static void diffSkyfileRowFree(diffSkyfileRow *object) 16033 16033 { 16034 16034 psFree(object->uri); 16035 16035 } 16036 16036 16037 bool p5DiffSkyfileCreateTable(psDB *dbh)16037 bool diffSkyfileCreateTable(psDB *dbh) 16038 16038 { 16039 16039 psMetadata *md = psMetadataAlloc(); 16040 if (!psMetadataAdd(md, PS_LIST_TAIL, " p5_id", PS_DATA_S32, "Primary Key", 0)) {16041 psError(PS_ERR_UNKNOWN, false, "failed to add item p5_id");16040 if (!psMetadataAdd(md, PS_LIST_TAIL, "diff_id", PS_DATA_S32, "Primary Key", 0)) { 16041 psError(PS_ERR_UNKNOWN, false, "failed to add item diff_id"); 16042 16042 psFree(md); 16043 16043 return false; … … 16059 16059 } 16060 16060 16061 bool status = psDBCreateTable(dbh, P5DIFFSKYFILE_TABLE_NAME, md);16061 bool status = psDBCreateTable(dbh, DIFFSKYFILE_TABLE_NAME, md); 16062 16062 16063 16063 psFree(md); … … 16066 16066 } 16067 16067 16068 bool p5DiffSkyfileDropTable(psDB *dbh)16069 { 16070 return psDBDropTable(dbh, P5DIFFSKYFILE_TABLE_NAME);16071 } 16072 16073 bool p5DiffSkyfileInsert(psDB * dbh, psS32 p5_id, const char *uri, psF64 bg, psF64 bg_mean_stdev)16068 bool diffSkyfileDropTable(psDB *dbh) 16069 { 16070 return psDBDropTable(dbh, DIFFSKYFILE_TABLE_NAME); 16071 } 16072 16073 bool diffSkyfileInsert(psDB * dbh, psS32 diff_id, const char *uri, psF64 bg, psF64 bg_mean_stdev) 16074 16074 { 16075 16075 psMetadata *md = psMetadataAlloc(); 16076 if (!psMetadataAdd(md, PS_LIST_TAIL, " p5_id", PS_DATA_S32, NULL, p5_id)) {16077 psError(PS_ERR_UNKNOWN, false, "failed to add item p5_id");16076 if (!psMetadataAdd(md, PS_LIST_TAIL, "diff_id", PS_DATA_S32, NULL, diff_id)) { 16077 psError(PS_ERR_UNKNOWN, false, "failed to add item diff_id"); 16078 16078 psFree(md); 16079 16079 return false; … … 16095 16095 } 16096 16096 16097 bool status = psDBInsertOneRow(dbh, P5DIFFSKYFILE_TABLE_NAME, md);16097 bool status = psDBInsertOneRow(dbh, DIFFSKYFILE_TABLE_NAME, md); 16098 16098 psFree(md); 16099 16099 … … 16101 16101 } 16102 16102 16103 long long p5DiffSkyfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)16103 long long diffSkyfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit) 16104 16104 { 16105 16105 long long deleted = 0; 16106 16106 16107 long long count = psDBDeleteRows(dbh, P5DIFFSKYFILE_TABLE_NAME, where, limit);16107 long long count = psDBDeleteRows(dbh, DIFFSKYFILE_TABLE_NAME, where, limit); 16108 16108 if (count < 0) { 16109 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p5DiffSkyfile");16109 psError(PS_ERR_UNKNOWN, true, "failed to delete row from diffSkyfile"); 16110 16110 return count; 16111 16111 … … 16115 16115 return deleted; 16116 16116 } 16117 bool p5DiffSkyfileInsertObject(psDB *dbh, p5DiffSkyfileRow *object)16118 { 16119 return p5DiffSkyfileInsert(dbh, object->p5_id, object->uri, object->bg, object->bg_mean_stdev);16120 } 16121 16122 bool p5DiffSkyfileInsertObjects(psDB *dbh, psArray *objects)16117 bool diffSkyfileInsertObject(psDB *dbh, diffSkyfileRow *object) 16118 { 16119 return diffSkyfileInsert(dbh, object->diff_id, object->uri, object->bg, object->bg_mean_stdev); 16120 } 16121 16122 bool diffSkyfileInsertObjects(psDB *dbh, psArray *objects) 16123 16123 { 16124 16124 for (long i = 0; i < psArrayLength(objects); i++) { 16125 if (! p5DiffSkyfileInsertObject(dbh, objects->data[i])) {16125 if (!diffSkyfileInsertObject(dbh, objects->data[i])) { 16126 16126 return false; 16127 16127 } … … 16131 16131 } 16132 16132 16133 bool p5DiffSkyfileInsertFits(psDB *dbh, const psFits *fits)16133 bool diffSkyfileInsertFits(psDB *dbh, const psFits *fits) 16134 16134 { 16135 16135 psArray *rowSet; 16136 16136 16137 // move to (the first?) extension named P5DIFFSKYFILE_TABLE_NAME16138 if (!psFitsMoveExtName(fits, P5DIFFSKYFILE_TABLE_NAME)) {16139 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P5DIFFSKYFILE_TABLE_NAME);16137 // move to (the first?) extension named DIFFSKYFILE_TABLE_NAME 16138 if (!psFitsMoveExtName(fits, DIFFSKYFILE_TABLE_NAME)) { 16139 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", DIFFSKYFILE_TABLE_NAME); 16140 16140 return false; 16141 16141 } … … 16155 16155 } 16156 16156 16157 if (!psDBInsertRows(dbh, P5DIFFSKYFILE_TABLE_NAME, rowSet)) {16157 if (!psDBInsertRows(dbh, DIFFSKYFILE_TABLE_NAME, rowSet)) { 16158 16158 psError(PS_ERR_UNKNOWN, false, "databse insert failed"); 16159 16159 psFree(rowSet); … … 16166 16166 } 16167 16167 16168 bool p5DiffSkyfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)16168 bool diffSkyfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit) 16169 16169 { 16170 16170 psArray *rowSet; 16171 16171 16172 rowSet = psDBSelectRows(dbh, P5DIFFSKYFILE_TABLE_NAME, where, limit);16172 rowSet = psDBSelectRows(dbh, DIFFSKYFILE_TABLE_NAME, where, limit); 16173 16173 if (!rowSet) { 16174 16174 return false; … … 16176 16176 16177 16177 // output to fits 16178 if (!psFitsWriteTable(fits, NULL, rowSet, P5DIFFSKYFILE_TABLE_NAME)) {16178 if (!psFitsWriteTable(fits, NULL, rowSet, DIFFSKYFILE_TABLE_NAME)) { 16179 16179 psError(PS_ERR_UNKNOWN, false, "FITS table write failed"); 16180 16180 psFree(rowSet); … … 16187 16187 } 16188 16188 16189 psMetadata * p5DiffSkyfileMetadataFromObject(const p5DiffSkyfileRow *object)16189 psMetadata *diffSkyfileMetadataFromObject(const diffSkyfileRow *object) 16190 16190 { 16191 16191 psMetadata *md = psMetadataAlloc(); 16192 if (!psMetadataAdd(md, PS_LIST_TAIL, " p5_id", PS_DATA_S32, NULL, object->p5_id)) {16193 psError(PS_ERR_UNKNOWN, false, "failed to add item p5_id");16192 if (!psMetadataAdd(md, PS_LIST_TAIL, "diff_id", PS_DATA_S32, NULL, object->diff_id)) { 16193 psError(PS_ERR_UNKNOWN, false, "failed to add item diff_id"); 16194 16194 psFree(md); 16195 16195 return false; … … 16215 16215 } 16216 16216 16217 p5DiffSkyfileRow *p5DiffSkyfileObjectFromMetadata(psMetadata *md)16217 diffSkyfileRow *diffSkyfileObjectFromMetadata(psMetadata *md) 16218 16218 { 16219 16219 16220 16220 bool status = false; 16221 psS32 p5_id = psMetadataLookupS32(&status, md, "p5_id");16222 if (!status) { 16223 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p5_id");16221 psS32 diff_id = psMetadataLookupS32(&status, md, "diff_id"); 16222 if (!status) { 16223 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item diff_id"); 16224 16224 return false; 16225 16225 } … … 16240 16240 } 16241 16241 16242 return p5DiffSkyfileRowAlloc(p5_id, uri, bg, bg_mean_stdev);16243 } 16244 psArray * p5DiffSkyfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)16242 return diffSkyfileRowAlloc(diff_id, uri, bg, bg_mean_stdev); 16243 } 16244 psArray *diffSkyfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) 16245 16245 { 16246 16246 psArray *rowSet; … … 16248 16248 psU64 i; 16249 16249 16250 rowSet = psDBSelectRows(dbh, P5DIFFSKYFILE_TABLE_NAME, where, limit);16250 rowSet = psDBSelectRows(dbh, DIFFSKYFILE_TABLE_NAME, where, limit); 16251 16251 if (!rowSet) { 16252 16252 return NULL; … … 16258 16258 16259 16259 for (i = 0; i < rowSet->n; i++) { 16260 p5DiffSkyfileRow *object = p5DiffSkyfileObjectFromMetadata(rowSet->data[i]);16260 diffSkyfileRow *object = diffSkyfileObjectFromMetadata(rowSet->data[i]); 16261 16261 psArrayAdd(returnSet, 0, object); 16262 16262 psFree(object); … … 16267 16267 return returnSet; 16268 16268 } 16269 bool p5DiffSkyfileDeleteObject(psDB *dbh, const p5DiffSkyfileRow *object)16270 { 16271 psMetadata *where = p5DiffSkyfileMetadataFromObject(object);16272 long long count = psDBDeleteRows(dbh, P5DIFFSKYFILE_TABLE_NAME, where, 0);16269 bool diffSkyfileDeleteObject(psDB *dbh, const diffSkyfileRow *object) 16270 { 16271 psMetadata *where = diffSkyfileMetadataFromObject(object); 16272 long long count = psDBDeleteRows(dbh, DIFFSKYFILE_TABLE_NAME, where, 0); 16273 16273 psFree(where); 16274 16274 if (count < 0) { 16275 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p5DiffSkyfile");16275 psError(PS_ERR_UNKNOWN, true, "failed to delete row from diffSkyfile"); 16276 16276 return false; 16277 16277 } … … 16279 16279 // XXX should this be a psAbort() instead? It is possible that 16280 16280 // having an object match multiple rows was by design. 16281 psError(PS_ERR_UNKNOWN, true, " p5DiffSkyfileRow object matched more then one row. Check your database schema");16282 return false; 16283 } 16284 16285 return true; 16286 } 16287 long long p5DiffSkyfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)16281 psError(PS_ERR_UNKNOWN, true, "diffSkyfileRow object matched more then one row. Check your database schema"); 16282 return false; 16283 } 16284 16285 return true; 16286 } 16287 long long diffSkyfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit) 16288 16288 { 16289 16289 long long deleted = 0; 16290 16290 16291 16291 for (long long i = 0; i < objects->n; i++) { 16292 p5DiffSkyfileRow *object = objects->data[i];16293 psMetadata *where = p5DiffSkyfileMetadataFromObject(object);16294 long long count = psDBDeleteRows(dbh, P5DIFFSKYFILE_TABLE_NAME, where, limit);16292 diffSkyfileRow *object = objects->data[i]; 16293 psMetadata *where = diffSkyfileMetadataFromObject(object); 16294 long long count = psDBDeleteRows(dbh, DIFFSKYFILE_TABLE_NAME, where, limit); 16295 16295 psFree(where); 16296 16296 if (count < 0) { 16297 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p5DiffSkyfile");16297 psError(PS_ERR_UNKNOWN, true, "failed to delete row from diffSkyfile"); 16298 16298 return count; 16299 16299 } … … 16304 16304 return deleted; 16305 16305 } 16306 bool p5DiffSkyfilePrintObjects(FILE *stream, psArray *objects, bool mdcf)16306 bool diffSkyfilePrintObjects(FILE *stream, psArray *objects, bool mdcf) 16307 16307 { 16308 16308 PS_ASSERT_PTR_NON_NULL(objects, false); … … 16310 16310 psMetadata *output = psMetadataAlloc(); 16311 16311 for (long i = 0; i < psArrayLength(objects); i++) { 16312 psMetadata *md = p5DiffSkyfileMetadataFromObject(objects->data[i]);16312 psMetadata *md = diffSkyfileMetadataFromObject(objects->data[i]); 16313 16313 if (!psMetadataAddMetadata( 16314 16314 output, 16315 16315 PS_LIST_TAIL, 16316 P5DIFFSKYFILE_TABLE_NAME,16316 DIFFSKYFILE_TABLE_NAME, 16317 16317 PS_META_DUPLICATE_OK, 16318 16318 NULL, … … 16335 16335 return true; 16336 16336 } 16337 bool p5DiffSkyfilePrintObject(FILE *stream, p5DiffSkyfileRow *object, bool mdcf)16337 bool diffSkyfilePrintObject(FILE *stream, diffSkyfileRow *object, bool mdcf) 16338 16338 { 16339 16339 PS_ASSERT_PTR_NON_NULL(object, false); 16340 16340 16341 psMetadata *md = p5DiffSkyfileMetadataFromObject(object);16341 psMetadata *md = diffSkyfileMetadataFromObject(object); 16342 16342 16343 16343 if (!ippdbPrintMetadataRaw(stream, md, mdcf)) { … … 16350 16350 return true; 16351 16351 } 16352 static void p6RunRowFree(p6RunRow *object);16353 16354 p6RunRow *p6RunRowAlloc(psS32 p6_id, const char *state, const char *workdir, const char *dvodb, psTime* registered, const char *skycell_id, const char *tess_id)16355 { 16356 p6RunRow*_object;16357 16358 _object = psAlloc(sizeof( p6RunRow));16359 psMemSetDeallocator(_object, (psFreeFunc) p6RunRowFree);16360 16361 _object-> p6_id = p6_id;16352 static void stackRunRowFree(stackRunRow *object); 16353 16354 stackRunRow *stackRunRowAlloc(psS32 stack_id, const char *state, const char *workdir, const char *dvodb, psTime* registered, const char *skycell_id, const char *tess_id) 16355 { 16356 stackRunRow *_object; 16357 16358 _object = psAlloc(sizeof(stackRunRow)); 16359 psMemSetDeallocator(_object, (psFreeFunc)stackRunRowFree); 16360 16361 _object->stack_id = stack_id; 16362 16362 _object->state = psStringCopy(state); 16363 16363 _object->workdir = psStringCopy(workdir); … … 16370 16370 } 16371 16371 16372 static void p6RunRowFree(p6RunRow *object)16372 static void stackRunRowFree(stackRunRow *object) 16373 16373 { 16374 16374 psFree(object->state); … … 16380 16380 } 16381 16381 16382 bool p6RunCreateTable(psDB *dbh)16382 bool stackRunCreateTable(psDB *dbh) 16383 16383 { 16384 16384 psMetadata *md = psMetadataAlloc(); 16385 if (!psMetadataAdd(md, PS_LIST_TAIL, " p6_id", PS_DATA_S32, "Primary Key AUTO_INCREMENT", 0)) {16386 psError(PS_ERR_UNKNOWN, false, "failed to add item p6_id");16385 if (!psMetadataAdd(md, PS_LIST_TAIL, "stack_id", PS_DATA_S32, "Primary Key AUTO_INCREMENT", 0)) { 16386 psError(PS_ERR_UNKNOWN, false, "failed to add item stack_id"); 16387 16387 psFree(md); 16388 16388 return false; … … 16419 16419 } 16420 16420 16421 bool status = psDBCreateTable(dbh, P6RUN_TABLE_NAME, md);16421 bool status = psDBCreateTable(dbh, STACKRUN_TABLE_NAME, md); 16422 16422 16423 16423 psFree(md); … … 16426 16426 } 16427 16427 16428 bool p6RunDropTable(psDB *dbh)16429 { 16430 return psDBDropTable(dbh, P6RUN_TABLE_NAME);16431 } 16432 16433 bool p6RunInsert(psDB * dbh, psS32 p6_id, const char *state, const char *workdir, const char *dvodb, psTime* registered, const char *skycell_id, const char *tess_id)16428 bool stackRunDropTable(psDB *dbh) 16429 { 16430 return psDBDropTable(dbh, STACKRUN_TABLE_NAME); 16431 } 16432 16433 bool stackRunInsert(psDB * dbh, psS32 stack_id, const char *state, const char *workdir, const char *dvodb, psTime* registered, const char *skycell_id, const char *tess_id) 16434 16434 { 16435 16435 psMetadata *md = psMetadataAlloc(); 16436 if (!psMetadataAdd(md, PS_LIST_TAIL, " p6_id", PS_DATA_S32, NULL, p6_id)) {16437 psError(PS_ERR_UNKNOWN, false, "failed to add item p6_id");16436 if (!psMetadataAdd(md, PS_LIST_TAIL, "stack_id", PS_DATA_S32, NULL, stack_id)) { 16437 psError(PS_ERR_UNKNOWN, false, "failed to add item stack_id"); 16438 16438 psFree(md); 16439 16439 return false; … … 16470 16470 } 16471 16471 16472 bool status = psDBInsertOneRow(dbh, P6RUN_TABLE_NAME, md);16472 bool status = psDBInsertOneRow(dbh, STACKRUN_TABLE_NAME, md); 16473 16473 psFree(md); 16474 16474 … … 16476 16476 } 16477 16477 16478 long long p6RunDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)16478 long long stackRunDelete(psDB *dbh, const psMetadata *where, unsigned long long limit) 16479 16479 { 16480 16480 long long deleted = 0; 16481 16481 16482 long long count = psDBDeleteRows(dbh, P6RUN_TABLE_NAME, where, limit);16482 long long count = psDBDeleteRows(dbh, STACKRUN_TABLE_NAME, where, limit); 16483 16483 if (count < 0) { 16484 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p6Run");16484 psError(PS_ERR_UNKNOWN, true, "failed to delete row from stackRun"); 16485 16485 return count; 16486 16486 … … 16490 16490 return deleted; 16491 16491 } 16492 bool p6RunInsertObject(psDB *dbh, p6RunRow *object)16493 { 16494 return p6RunInsert(dbh, object->p6_id, object->state, object->workdir, object->dvodb, object->registered, object->skycell_id, object->tess_id);16495 } 16496 16497 bool p6RunInsertObjects(psDB *dbh, psArray *objects)16492 bool stackRunInsertObject(psDB *dbh, stackRunRow *object) 16493 { 16494 return stackRunInsert(dbh, object->stack_id, object->state, object->workdir, object->dvodb, object->registered, object->skycell_id, object->tess_id); 16495 } 16496 16497 bool stackRunInsertObjects(psDB *dbh, psArray *objects) 16498 16498 { 16499 16499 for (long i = 0; i < psArrayLength(objects); i++) { 16500 if (! p6RunInsertObject(dbh, objects->data[i])) {16500 if (!stackRunInsertObject(dbh, objects->data[i])) { 16501 16501 return false; 16502 16502 } … … 16506 16506 } 16507 16507 16508 bool p6RunInsertFits(psDB *dbh, const psFits *fits)16508 bool stackRunInsertFits(psDB *dbh, const psFits *fits) 16509 16509 { 16510 16510 psArray *rowSet; 16511 16511 16512 // move to (the first?) extension named P6RUN_TABLE_NAME16513 if (!psFitsMoveExtName(fits, P6RUN_TABLE_NAME)) {16514 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P6RUN_TABLE_NAME);16512 // move to (the first?) extension named STACKRUN_TABLE_NAME 16513 if (!psFitsMoveExtName(fits, STACKRUN_TABLE_NAME)) { 16514 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", STACKRUN_TABLE_NAME); 16515 16515 return false; 16516 16516 } … … 16530 16530 } 16531 16531 16532 if (!psDBInsertRows(dbh, P6RUN_TABLE_NAME, rowSet)) {16532 if (!psDBInsertRows(dbh, STACKRUN_TABLE_NAME, rowSet)) { 16533 16533 psError(PS_ERR_UNKNOWN, false, "databse insert failed"); 16534 16534 psFree(rowSet); … … 16541 16541 } 16542 16542 16543 bool p6RunSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)16543 bool stackRunSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit) 16544 16544 { 16545 16545 psArray *rowSet; 16546 16546 16547 rowSet = psDBSelectRows(dbh, P6RUN_TABLE_NAME, where, limit);16547 rowSet = psDBSelectRows(dbh, STACKRUN_TABLE_NAME, where, limit); 16548 16548 if (!rowSet) { 16549 16549 return false; … … 16551 16551 16552 16552 // output to fits 16553 if (!psFitsWriteTable(fits, NULL, rowSet, P6RUN_TABLE_NAME)) {16553 if (!psFitsWriteTable(fits, NULL, rowSet, STACKRUN_TABLE_NAME)) { 16554 16554 psError(PS_ERR_UNKNOWN, false, "FITS table write failed"); 16555 16555 psFree(rowSet); … … 16562 16562 } 16563 16563 16564 psMetadata * p6RunMetadataFromObject(const p6RunRow *object)16564 psMetadata *stackRunMetadataFromObject(const stackRunRow *object) 16565 16565 { 16566 16566 psMetadata *md = psMetadataAlloc(); 16567 if (!psMetadataAdd(md, PS_LIST_TAIL, " p6_id", PS_DATA_S32, NULL, object->p6_id)) {16568 psError(PS_ERR_UNKNOWN, false, "failed to add item p6_id");16567 if (!psMetadataAdd(md, PS_LIST_TAIL, "stack_id", PS_DATA_S32, NULL, object->stack_id)) { 16568 psError(PS_ERR_UNKNOWN, false, "failed to add item stack_id"); 16569 16569 psFree(md); 16570 16570 return false; … … 16605 16605 } 16606 16606 16607 p6RunRow *p6RunObjectFromMetadata(psMetadata *md)16607 stackRunRow *stackRunObjectFromMetadata(psMetadata *md) 16608 16608 { 16609 16609 16610 16610 bool status = false; 16611 psS32 p6_id = psMetadataLookupS32(&status, md, "p6_id");16612 if (!status) { 16613 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p6_id");16611 psS32 stack_id = psMetadataLookupS32(&status, md, "stack_id"); 16612 if (!status) { 16613 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item stack_id"); 16614 16614 return false; 16615 16615 } … … 16645 16645 } 16646 16646 16647 return p6RunRowAlloc(p6_id, state, workdir, dvodb, registered, skycell_id, tess_id);16648 } 16649 psArray * p6RunSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)16647 return stackRunRowAlloc(stack_id, state, workdir, dvodb, registered, skycell_id, tess_id); 16648 } 16649 psArray *stackRunSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) 16650 16650 { 16651 16651 psArray *rowSet; … … 16653 16653 psU64 i; 16654 16654 16655 rowSet = psDBSelectRows(dbh, P6RUN_TABLE_NAME, where, limit);16655 rowSet = psDBSelectRows(dbh, STACKRUN_TABLE_NAME, where, limit); 16656 16656 if (!rowSet) { 16657 16657 return NULL; … … 16663 16663 16664 16664 for (i = 0; i < rowSet->n; i++) { 16665 p6RunRow *object = p6RunObjectFromMetadata(rowSet->data[i]);16665 stackRunRow *object = stackRunObjectFromMetadata(rowSet->data[i]); 16666 16666 psArrayAdd(returnSet, 0, object); 16667 16667 psFree(object); … … 16672 16672 return returnSet; 16673 16673 } 16674 bool p6RunDeleteObject(psDB *dbh, const p6RunRow *object)16675 { 16676 psMetadata *where = p6RunMetadataFromObject(object);16677 long long count = psDBDeleteRows(dbh, P6RUN_TABLE_NAME, where, 0);16674 bool stackRunDeleteObject(psDB *dbh, const stackRunRow *object) 16675 { 16676 psMetadata *where = stackRunMetadataFromObject(object); 16677 long long count = psDBDeleteRows(dbh, STACKRUN_TABLE_NAME, where, 0); 16678 16678 psFree(where); 16679 16679 if (count < 0) { 16680 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p6Run");16680 psError(PS_ERR_UNKNOWN, true, "failed to delete row from stackRun"); 16681 16681 return false; 16682 16682 } … … 16684 16684 // XXX should this be a psAbort() instead? It is possible that 16685 16685 // having an object match multiple rows was by design. 16686 psError(PS_ERR_UNKNOWN, true, " p6RunRow object matched more then one row. Check your database schema");16687 return false; 16688 } 16689 16690 return true; 16691 } 16692 long long p6RunDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)16686 psError(PS_ERR_UNKNOWN, true, "stackRunRow object matched more then one row. Check your database schema"); 16687 return false; 16688 } 16689 16690 return true; 16691 } 16692 long long stackRunDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit) 16693 16693 { 16694 16694 long long deleted = 0; 16695 16695 16696 16696 for (long long i = 0; i < objects->n; i++) { 16697 p6RunRow *object = objects->data[i];16698 psMetadata *where = p6RunMetadataFromObject(object);16699 long long count = psDBDeleteRows(dbh, P6RUN_TABLE_NAME, where, limit);16697 stackRunRow *object = objects->data[i]; 16698 psMetadata *where = stackRunMetadataFromObject(object); 16699 long long count = psDBDeleteRows(dbh, STACKRUN_TABLE_NAME, where, limit); 16700 16700 psFree(where); 16701 16701 if (count < 0) { 16702 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p6Run");16702 psError(PS_ERR_UNKNOWN, true, "failed to delete row from stackRun"); 16703 16703 return count; 16704 16704 } … … 16709 16709 return deleted; 16710 16710 } 16711 bool p6RunPrintObjects(FILE *stream, psArray *objects, bool mdcf)16711 bool stackRunPrintObjects(FILE *stream, psArray *objects, bool mdcf) 16712 16712 { 16713 16713 PS_ASSERT_PTR_NON_NULL(objects, false); … … 16715 16715 psMetadata *output = psMetadataAlloc(); 16716 16716 for (long i = 0; i < psArrayLength(objects); i++) { 16717 psMetadata *md = p6RunMetadataFromObject(objects->data[i]);16717 psMetadata *md = stackRunMetadataFromObject(objects->data[i]); 16718 16718 if (!psMetadataAddMetadata( 16719 16719 output, 16720 16720 PS_LIST_TAIL, 16721 P6RUN_TABLE_NAME,16721 STACKRUN_TABLE_NAME, 16722 16722 PS_META_DUPLICATE_OK, 16723 16723 NULL, … … 16740 16740 return true; 16741 16741 } 16742 bool p6RunPrintObject(FILE *stream, p6RunRow *object, bool mdcf)16742 bool stackRunPrintObject(FILE *stream, stackRunRow *object, bool mdcf) 16743 16743 { 16744 16744 PS_ASSERT_PTR_NON_NULL(object, false); 16745 16745 16746 psMetadata *md = p6RunMetadataFromObject(object);16746 psMetadata *md = stackRunMetadataFromObject(object); 16747 16747 16748 16748 if (!ippdbPrintMetadataRaw(stream, md, mdcf)) { … … 16755 16755 return true; 16756 16756 } 16757 static void p6InputSkyfileRowFree(p6InputSkyfileRow *object);16758 16759 p6InputSkyfileRow *p6InputSkyfileRowAlloc(psS32 p6_id, psS32 p4_id)16760 { 16761 p6InputSkyfileRow *_object;16762 16763 _object = psAlloc(sizeof( p6InputSkyfileRow));16764 psMemSetDeallocator(_object, (psFreeFunc) p6InputSkyfileRowFree);16765 16766 _object-> p6_id = p6_id;16767 _object-> p4_id = p4_id;16757 static void stackInputSkyfileRowFree(stackInputSkyfileRow *object); 16758 16759 stackInputSkyfileRow *stackInputSkyfileRowAlloc(psS32 stack_id, psS32 warp_id) 16760 { 16761 stackInputSkyfileRow *_object; 16762 16763 _object = psAlloc(sizeof(stackInputSkyfileRow)); 16764 psMemSetDeallocator(_object, (psFreeFunc)stackInputSkyfileRowFree); 16765 16766 _object->stack_id = stack_id; 16767 _object->warp_id = warp_id; 16768 16768 16769 16769 return _object; 16770 16770 } 16771 16771 16772 static void p6InputSkyfileRowFree(p6InputSkyfileRow *object)16773 { 16774 } 16775 16776 bool p6InputSkyfileCreateTable(psDB *dbh)16772 static void stackInputSkyfileRowFree(stackInputSkyfileRow *object) 16773 { 16774 } 16775 16776 bool stackInputSkyfileCreateTable(psDB *dbh) 16777 16777 { 16778 16778 psMetadata *md = psMetadataAlloc(); 16779 if (!psMetadataAdd(md, PS_LIST_TAIL, " p6_id", PS_DATA_S32, "Primary Key", 0)) {16780 psError(PS_ERR_UNKNOWN, false, "failed to add item p6_id");16781 psFree(md); 16782 return false; 16783 } 16784 if (!psMetadataAdd(md, PS_LIST_TAIL, " p4_id", PS_DATA_S32, "Primary Key", 0)) {16785 psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");16786 psFree(md); 16787 return false; 16788 } 16789 16790 bool status = psDBCreateTable(dbh, P6INPUTSKYFILE_TABLE_NAME, md);16779 if (!psMetadataAdd(md, PS_LIST_TAIL, "stack_id", PS_DATA_S32, "Primary Key", 0)) { 16780 psError(PS_ERR_UNKNOWN, false, "failed to add item stack_id"); 16781 psFree(md); 16782 return false; 16783 } 16784 if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, "Primary Key", 0)) { 16785 psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id"); 16786 psFree(md); 16787 return false; 16788 } 16789 16790 bool status = psDBCreateTable(dbh, STACKINPUTSKYFILE_TABLE_NAME, md); 16791 16791 16792 16792 psFree(md); … … 16795 16795 } 16796 16796 16797 bool p6InputSkyfileDropTable(psDB *dbh)16798 { 16799 return psDBDropTable(dbh, P6INPUTSKYFILE_TABLE_NAME);16800 } 16801 16802 bool p6InputSkyfileInsert(psDB * dbh, psS32 p6_id, psS32 p4_id)16797 bool stackInputSkyfileDropTable(psDB *dbh) 16798 { 16799 return psDBDropTable(dbh, STACKINPUTSKYFILE_TABLE_NAME); 16800 } 16801 16802 bool stackInputSkyfileInsert(psDB * dbh, psS32 stack_id, psS32 warp_id) 16803 16803 { 16804 16804 psMetadata *md = psMetadataAlloc(); 16805 if (!psMetadataAdd(md, PS_LIST_TAIL, " p6_id", PS_DATA_S32, NULL, p6_id)) {16806 psError(PS_ERR_UNKNOWN, false, "failed to add item p6_id");16807 psFree(md); 16808 return false; 16809 } 16810 if (!psMetadataAdd(md, PS_LIST_TAIL, " p4_id", PS_DATA_S32, NULL, p4_id)) {16811 psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");16812 psFree(md); 16813 return false; 16814 } 16815 16816 bool status = psDBInsertOneRow(dbh, P6INPUTSKYFILE_TABLE_NAME, md);16805 if (!psMetadataAdd(md, PS_LIST_TAIL, "stack_id", PS_DATA_S32, NULL, stack_id)) { 16806 psError(PS_ERR_UNKNOWN, false, "failed to add item stack_id"); 16807 psFree(md); 16808 return false; 16809 } 16810 if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, NULL, warp_id)) { 16811 psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id"); 16812 psFree(md); 16813 return false; 16814 } 16815 16816 bool status = psDBInsertOneRow(dbh, STACKINPUTSKYFILE_TABLE_NAME, md); 16817 16817 psFree(md); 16818 16818 … … 16820 16820 } 16821 16821 16822 long long p6InputSkyfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)16822 long long stackInputSkyfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit) 16823 16823 { 16824 16824 long long deleted = 0; 16825 16825 16826 long long count = psDBDeleteRows(dbh, P6INPUTSKYFILE_TABLE_NAME, where, limit);16826 long long count = psDBDeleteRows(dbh, STACKINPUTSKYFILE_TABLE_NAME, where, limit); 16827 16827 if (count < 0) { 16828 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p6InputSkyfile");16828 psError(PS_ERR_UNKNOWN, true, "failed to delete row from stackInputSkyfile"); 16829 16829 return count; 16830 16830 … … 16834 16834 return deleted; 16835 16835 } 16836 bool p6InputSkyfileInsertObject(psDB *dbh, p6InputSkyfileRow *object)16837 { 16838 return p6InputSkyfileInsert(dbh, object->p6_id, object->p4_id);16839 } 16840 16841 bool p6InputSkyfileInsertObjects(psDB *dbh, psArray *objects)16836 bool stackInputSkyfileInsertObject(psDB *dbh, stackInputSkyfileRow *object) 16837 { 16838 return stackInputSkyfileInsert(dbh, object->stack_id, object->warp_id); 16839 } 16840 16841 bool stackInputSkyfileInsertObjects(psDB *dbh, psArray *objects) 16842 16842 { 16843 16843 for (long i = 0; i < psArrayLength(objects); i++) { 16844 if (! p6InputSkyfileInsertObject(dbh, objects->data[i])) {16844 if (!stackInputSkyfileInsertObject(dbh, objects->data[i])) { 16845 16845 return false; 16846 16846 } … … 16850 16850 } 16851 16851 16852 bool p6InputSkyfileInsertFits(psDB *dbh, const psFits *fits)16852 bool stackInputSkyfileInsertFits(psDB *dbh, const psFits *fits) 16853 16853 { 16854 16854 psArray *rowSet; 16855 16855 16856 // move to (the first?) extension named P6INPUTSKYFILE_TABLE_NAME16857 if (!psFitsMoveExtName(fits, P6INPUTSKYFILE_TABLE_NAME)) {16858 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P6INPUTSKYFILE_TABLE_NAME);16856 // move to (the first?) extension named STACKINPUTSKYFILE_TABLE_NAME 16857 if (!psFitsMoveExtName(fits, STACKINPUTSKYFILE_TABLE_NAME)) { 16858 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", STACKINPUTSKYFILE_TABLE_NAME); 16859 16859 return false; 16860 16860 } … … 16874 16874 } 16875 16875 16876 if (!psDBInsertRows(dbh, P6INPUTSKYFILE_TABLE_NAME, rowSet)) {16876 if (!psDBInsertRows(dbh, STACKINPUTSKYFILE_TABLE_NAME, rowSet)) { 16877 16877 psError(PS_ERR_UNKNOWN, false, "databse insert failed"); 16878 16878 psFree(rowSet); … … 16885 16885 } 16886 16886 16887 bool p6InputSkyfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)16887 bool stackInputSkyfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit) 16888 16888 { 16889 16889 psArray *rowSet; 16890 16890 16891 rowSet = psDBSelectRows(dbh, P6INPUTSKYFILE_TABLE_NAME, where, limit);16891 rowSet = psDBSelectRows(dbh, STACKINPUTSKYFILE_TABLE_NAME, where, limit); 16892 16892 if (!rowSet) { 16893 16893 return false; … … 16895 16895 16896 16896 // output to fits 16897 if (!psFitsWriteTable(fits, NULL, rowSet, P6INPUTSKYFILE_TABLE_NAME)) {16897 if (!psFitsWriteTable(fits, NULL, rowSet, STACKINPUTSKYFILE_TABLE_NAME)) { 16898 16898 psError(PS_ERR_UNKNOWN, false, "FITS table write failed"); 16899 16899 psFree(rowSet); … … 16906 16906 } 16907 16907 16908 psMetadata * p6InputSkyfileMetadataFromObject(const p6InputSkyfileRow *object)16908 psMetadata *stackInputSkyfileMetadataFromObject(const stackInputSkyfileRow *object) 16909 16909 { 16910 16910 psMetadata *md = psMetadataAlloc(); 16911 if (!psMetadataAdd(md, PS_LIST_TAIL, " p6_id", PS_DATA_S32, NULL, object->p6_id)) {16912 psError(PS_ERR_UNKNOWN, false, "failed to add item p6_id");16913 psFree(md); 16914 return false; 16915 } 16916 if (!psMetadataAdd(md, PS_LIST_TAIL, " p4_id", PS_DATA_S32, NULL, object->p4_id)) {16917 psError(PS_ERR_UNKNOWN, false, "failed to add item p4_id");16911 if (!psMetadataAdd(md, PS_LIST_TAIL, "stack_id", PS_DATA_S32, NULL, object->stack_id)) { 16912 psError(PS_ERR_UNKNOWN, false, "failed to add item stack_id"); 16913 psFree(md); 16914 return false; 16915 } 16916 if (!psMetadataAdd(md, PS_LIST_TAIL, "warp_id", PS_DATA_S32, NULL, object->warp_id)) { 16917 psError(PS_ERR_UNKNOWN, false, "failed to add item warp_id"); 16918 16918 psFree(md); 16919 16919 return false; … … 16924 16924 } 16925 16925 16926 p6InputSkyfileRow *p6InputSkyfileObjectFromMetadata(psMetadata *md)16926 stackInputSkyfileRow *stackInputSkyfileObjectFromMetadata(psMetadata *md) 16927 16927 { 16928 16928 16929 16929 bool status = false; 16930 psS32 p6_id = psMetadataLookupS32(&status, md, "p6_id");16931 if (!status) { 16932 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p6_id");16933 return false; 16934 } 16935 psS32 p4_id = psMetadataLookupS32(&status, md, "p4_id");16936 if (!status) { 16937 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p4_id");16938 return false; 16939 } 16940 16941 return p6InputSkyfileRowAlloc(p6_id, p4_id);16942 } 16943 psArray * p6InputSkyfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)16930 psS32 stack_id = psMetadataLookupS32(&status, md, "stack_id"); 16931 if (!status) { 16932 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item stack_id"); 16933 return false; 16934 } 16935 psS32 warp_id = psMetadataLookupS32(&status, md, "warp_id"); 16936 if (!status) { 16937 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item warp_id"); 16938 return false; 16939 } 16940 16941 return stackInputSkyfileRowAlloc(stack_id, warp_id); 16942 } 16943 psArray *stackInputSkyfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) 16944 16944 { 16945 16945 psArray *rowSet; … … 16947 16947 psU64 i; 16948 16948 16949 rowSet = psDBSelectRows(dbh, P6INPUTSKYFILE_TABLE_NAME, where, limit);16949 rowSet = psDBSelectRows(dbh, STACKINPUTSKYFILE_TABLE_NAME, where, limit); 16950 16950 if (!rowSet) { 16951 16951 return NULL; … … 16957 16957 16958 16958 for (i = 0; i < rowSet->n; i++) { 16959 p6InputSkyfileRow *object = p6InputSkyfileObjectFromMetadata(rowSet->data[i]);16959 stackInputSkyfileRow *object = stackInputSkyfileObjectFromMetadata(rowSet->data[i]); 16960 16960 psArrayAdd(returnSet, 0, object); 16961 16961 psFree(object); … … 16966 16966 return returnSet; 16967 16967 } 16968 bool p6InputSkyfileDeleteObject(psDB *dbh, const p6InputSkyfileRow *object)16969 { 16970 psMetadata *where = p6InputSkyfileMetadataFromObject(object);16971 long long count = psDBDeleteRows(dbh, P6INPUTSKYFILE_TABLE_NAME, where, 0);16968 bool stackInputSkyfileDeleteObject(psDB *dbh, const stackInputSkyfileRow *object) 16969 { 16970 psMetadata *where = stackInputSkyfileMetadataFromObject(object); 16971 long long count = psDBDeleteRows(dbh, STACKINPUTSKYFILE_TABLE_NAME, where, 0); 16972 16972 psFree(where); 16973 16973 if (count < 0) { 16974 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p6InputSkyfile");16974 psError(PS_ERR_UNKNOWN, true, "failed to delete row from stackInputSkyfile"); 16975 16975 return false; 16976 16976 } … … 16978 16978 // XXX should this be a psAbort() instead? It is possible that 16979 16979 // having an object match multiple rows was by design. 16980 psError(PS_ERR_UNKNOWN, true, " p6InputSkyfileRow object matched more then one row. Check your database schema");16981 return false; 16982 } 16983 16984 return true; 16985 } 16986 long long p6InputSkyfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)16980 psError(PS_ERR_UNKNOWN, true, "stackInputSkyfileRow object matched more then one row. Check your database schema"); 16981 return false; 16982 } 16983 16984 return true; 16985 } 16986 long long stackInputSkyfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit) 16987 16987 { 16988 16988 long long deleted = 0; 16989 16989 16990 16990 for (long long i = 0; i < objects->n; i++) { 16991 p6InputSkyfileRow *object = objects->data[i];16992 psMetadata *where = p6InputSkyfileMetadataFromObject(object);16993 long long count = psDBDeleteRows(dbh, P6INPUTSKYFILE_TABLE_NAME, where, limit);16991 stackInputSkyfileRow *object = objects->data[i]; 16992 psMetadata *where = stackInputSkyfileMetadataFromObject(object); 16993 long long count = psDBDeleteRows(dbh, STACKINPUTSKYFILE_TABLE_NAME, where, limit); 16994 16994 psFree(where); 16995 16995 if (count < 0) { 16996 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p6InputSkyfile");16996 psError(PS_ERR_UNKNOWN, true, "failed to delete row from stackInputSkyfile"); 16997 16997 return count; 16998 16998 } … … 17003 17003 return deleted; 17004 17004 } 17005 bool p6InputSkyfilePrintObjects(FILE *stream, psArray *objects, bool mdcf)17005 bool stackInputSkyfilePrintObjects(FILE *stream, psArray *objects, bool mdcf) 17006 17006 { 17007 17007 PS_ASSERT_PTR_NON_NULL(objects, false); … … 17009 17009 psMetadata *output = psMetadataAlloc(); 17010 17010 for (long i = 0; i < psArrayLength(objects); i++) { 17011 psMetadata *md = p6InputSkyfileMetadataFromObject(objects->data[i]);17011 psMetadata *md = stackInputSkyfileMetadataFromObject(objects->data[i]); 17012 17012 if (!psMetadataAddMetadata( 17013 17013 output, 17014 17014 PS_LIST_TAIL, 17015 P6INPUTSKYFILE_TABLE_NAME,17015 STACKINPUTSKYFILE_TABLE_NAME, 17016 17016 PS_META_DUPLICATE_OK, 17017 17017 NULL, … … 17034 17034 return true; 17035 17035 } 17036 bool p6InputSkyfilePrintObject(FILE *stream, p6InputSkyfileRow *object, bool mdcf)17036 bool stackInputSkyfilePrintObject(FILE *stream, stackInputSkyfileRow *object, bool mdcf) 17037 17037 { 17038 17038 PS_ASSERT_PTR_NON_NULL(object, false); 17039 17039 17040 psMetadata *md = p6InputSkyfileMetadataFromObject(object);17040 psMetadata *md = stackInputSkyfileMetadataFromObject(object); 17041 17041 17042 17042 if (!ippdbPrintMetadataRaw(stream, md, mdcf)) { … … 17049 17049 return true; 17050 17050 } 17051 static void p6SumSkyfileRowFree(p6SumSkyfileRow *object);17052 17053 p6SumSkyfileRow *p6SumSkyfileRowAlloc(psS32 p6_id, const char *uri, psF64 bg, psF64 bg_mean_stdev)17054 { 17055 p6SumSkyfileRow *_object;17056 17057 _object = psAlloc(sizeof( p6SumSkyfileRow));17058 psMemSetDeallocator(_object, (psFreeFunc) p6SumSkyfileRowFree);17059 17060 _object-> p6_id = p6_id;17051 static void stackSumSkyfileRowFree(stackSumSkyfileRow *object); 17052 17053 stackSumSkyfileRow *stackSumSkyfileRowAlloc(psS32 stack_id, const char *uri, psF64 bg, psF64 bg_mean_stdev) 17054 { 17055 stackSumSkyfileRow *_object; 17056 17057 _object = psAlloc(sizeof(stackSumSkyfileRow)); 17058 psMemSetDeallocator(_object, (psFreeFunc)stackSumSkyfileRowFree); 17059 17060 _object->stack_id = stack_id; 17061 17061 _object->uri = psStringCopy(uri); 17062 17062 _object->bg = bg; … … 17066 17066 } 17067 17067 17068 static void p6SumSkyfileRowFree(p6SumSkyfileRow *object)17068 static void stackSumSkyfileRowFree(stackSumSkyfileRow *object) 17069 17069 { 17070 17070 psFree(object->uri); 17071 17071 } 17072 17072 17073 bool p6SumSkyfileCreateTable(psDB *dbh)17073 bool stackSumSkyfileCreateTable(psDB *dbh) 17074 17074 { 17075 17075 psMetadata *md = psMetadataAlloc(); 17076 if (!psMetadataAdd(md, PS_LIST_TAIL, " p6_id", PS_DATA_S32, "Primary Key", 0)) {17077 psError(PS_ERR_UNKNOWN, false, "failed to add item p6_id");17076 if (!psMetadataAdd(md, PS_LIST_TAIL, "stack_id", PS_DATA_S32, "Primary Key", 0)) { 17077 psError(PS_ERR_UNKNOWN, false, "failed to add item stack_id"); 17078 17078 psFree(md); 17079 17079 return false; … … 17095 17095 } 17096 17096 17097 bool status = psDBCreateTable(dbh, P6SUMSKYFILE_TABLE_NAME, md);17097 bool status = psDBCreateTable(dbh, STACKSUMSKYFILE_TABLE_NAME, md); 17098 17098 17099 17099 psFree(md); … … 17102 17102 } 17103 17103 17104 bool p6SumSkyfileDropTable(psDB *dbh)17105 { 17106 return psDBDropTable(dbh, P6SUMSKYFILE_TABLE_NAME);17107 } 17108 17109 bool p6SumSkyfileInsert(psDB * dbh, psS32 p6_id, const char *uri, psF64 bg, psF64 bg_mean_stdev)17104 bool stackSumSkyfileDropTable(psDB *dbh) 17105 { 17106 return psDBDropTable(dbh, STACKSUMSKYFILE_TABLE_NAME); 17107 } 17108 17109 bool stackSumSkyfileInsert(psDB * dbh, psS32 stack_id, const char *uri, psF64 bg, psF64 bg_mean_stdev) 17110 17110 { 17111 17111 psMetadata *md = psMetadataAlloc(); 17112 if (!psMetadataAdd(md, PS_LIST_TAIL, " p6_id", PS_DATA_S32, NULL, p6_id)) {17113 psError(PS_ERR_UNKNOWN, false, "failed to add item p6_id");17112 if (!psMetadataAdd(md, PS_LIST_TAIL, "stack_id", PS_DATA_S32, NULL, stack_id)) { 17113 psError(PS_ERR_UNKNOWN, false, "failed to add item stack_id"); 17114 17114 psFree(md); 17115 17115 return false; … … 17131 17131 } 17132 17132 17133 bool status = psDBInsertOneRow(dbh, P6SUMSKYFILE_TABLE_NAME, md);17133 bool status = psDBInsertOneRow(dbh, STACKSUMSKYFILE_TABLE_NAME, md); 17134 17134 psFree(md); 17135 17135 … … 17137 17137 } 17138 17138 17139 long long p6SumSkyfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)17139 long long stackSumSkyfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit) 17140 17140 { 17141 17141 long long deleted = 0; 17142 17142 17143 long long count = psDBDeleteRows(dbh, P6SUMSKYFILE_TABLE_NAME, where, limit);17143 long long count = psDBDeleteRows(dbh, STACKSUMSKYFILE_TABLE_NAME, where, limit); 17144 17144 if (count < 0) { 17145 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p6SumSkyfile");17145 psError(PS_ERR_UNKNOWN, true, "failed to delete row from stackSumSkyfile"); 17146 17146 return count; 17147 17147 … … 17151 17151 return deleted; 17152 17152 } 17153 bool p6SumSkyfileInsertObject(psDB *dbh, p6SumSkyfileRow *object)17154 { 17155 return p6SumSkyfileInsert(dbh, object->p6_id, object->uri, object->bg, object->bg_mean_stdev);17156 } 17157 17158 bool p6SumSkyfileInsertObjects(psDB *dbh, psArray *objects)17153 bool stackSumSkyfileInsertObject(psDB *dbh, stackSumSkyfileRow *object) 17154 { 17155 return stackSumSkyfileInsert(dbh, object->stack_id, object->uri, object->bg, object->bg_mean_stdev); 17156 } 17157 17158 bool stackSumSkyfileInsertObjects(psDB *dbh, psArray *objects) 17159 17159 { 17160 17160 for (long i = 0; i < psArrayLength(objects); i++) { 17161 if (! p6SumSkyfileInsertObject(dbh, objects->data[i])) {17161 if (!stackSumSkyfileInsertObject(dbh, objects->data[i])) { 17162 17162 return false; 17163 17163 } … … 17167 17167 } 17168 17168 17169 bool p6SumSkyfileInsertFits(psDB *dbh, const psFits *fits)17169 bool stackSumSkyfileInsertFits(psDB *dbh, const psFits *fits) 17170 17170 { 17171 17171 psArray *rowSet; 17172 17172 17173 // move to (the first?) extension named P6SUMSKYFILE_TABLE_NAME17174 if (!psFitsMoveExtName(fits, P6SUMSKYFILE_TABLE_NAME)) {17175 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P6SUMSKYFILE_TABLE_NAME);17173 // move to (the first?) extension named STACKSUMSKYFILE_TABLE_NAME 17174 if (!psFitsMoveExtName(fits, STACKSUMSKYFILE_TABLE_NAME)) { 17175 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", STACKSUMSKYFILE_TABLE_NAME); 17176 17176 return false; 17177 17177 } … … 17191 17191 } 17192 17192 17193 if (!psDBInsertRows(dbh, P6SUMSKYFILE_TABLE_NAME, rowSet)) {17193 if (!psDBInsertRows(dbh, STACKSUMSKYFILE_TABLE_NAME, rowSet)) { 17194 17194 psError(PS_ERR_UNKNOWN, false, "databse insert failed"); 17195 17195 psFree(rowSet); … … 17202 17202 } 17203 17203 17204 bool p6SumSkyfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)17204 bool stackSumSkyfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit) 17205 17205 { 17206 17206 psArray *rowSet; 17207 17207 17208 rowSet = psDBSelectRows(dbh, P6SUMSKYFILE_TABLE_NAME, where, limit);17208 rowSet = psDBSelectRows(dbh, STACKSUMSKYFILE_TABLE_NAME, where, limit); 17209 17209 if (!rowSet) { 17210 17210 return false; … … 17212 17212 17213 17213 // output to fits 17214 if (!psFitsWriteTable(fits, NULL, rowSet, P6SUMSKYFILE_TABLE_NAME)) {17214 if (!psFitsWriteTable(fits, NULL, rowSet, STACKSUMSKYFILE_TABLE_NAME)) { 17215 17215 psError(PS_ERR_UNKNOWN, false, "FITS table write failed"); 17216 17216 psFree(rowSet); … … 17223 17223 } 17224 17224 17225 psMetadata * p6SumSkyfileMetadataFromObject(const p6SumSkyfileRow *object)17225 psMetadata *stackSumSkyfileMetadataFromObject(const stackSumSkyfileRow *object) 17226 17226 { 17227 17227 psMetadata *md = psMetadataAlloc(); 17228 if (!psMetadataAdd(md, PS_LIST_TAIL, " p6_id", PS_DATA_S32, NULL, object->p6_id)) {17229 psError(PS_ERR_UNKNOWN, false, "failed to add item p6_id");17228 if (!psMetadataAdd(md, PS_LIST_TAIL, "stack_id", PS_DATA_S32, NULL, object->stack_id)) { 17229 psError(PS_ERR_UNKNOWN, false, "failed to add item stack_id"); 17230 17230 psFree(md); 17231 17231 return false; … … 17251 17251 } 17252 17252 17253 p6SumSkyfileRow *p6SumSkyfileObjectFromMetadata(psMetadata *md)17253 stackSumSkyfileRow *stackSumSkyfileObjectFromMetadata(psMetadata *md) 17254 17254 { 17255 17255 17256 17256 bool status = false; 17257 psS32 p6_id = psMetadataLookupS32(&status, md, "p6_id");17258 if (!status) { 17259 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item p6_id");17257 psS32 stack_id = psMetadataLookupS32(&status, md, "stack_id"); 17258 if (!status) { 17259 psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item stack_id"); 17260 17260 return false; 17261 17261 } … … 17276 17276 } 17277 17277 17278 return p6SumSkyfileRowAlloc(p6_id, uri, bg, bg_mean_stdev);17279 } 17280 psArray * p6SumSkyfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)17278 return stackSumSkyfileRowAlloc(stack_id, uri, bg, bg_mean_stdev); 17279 } 17280 psArray *stackSumSkyfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) 17281 17281 { 17282 17282 psArray *rowSet; … … 17284 17284 psU64 i; 17285 17285 17286 rowSet = psDBSelectRows(dbh, P6SUMSKYFILE_TABLE_NAME, where, limit);17286 rowSet = psDBSelectRows(dbh, STACKSUMSKYFILE_TABLE_NAME, where, limit); 17287 17287 if (!rowSet) { 17288 17288 return NULL; … … 17294 17294 17295 17295 for (i = 0; i < rowSet->n; i++) { 17296 p6SumSkyfileRow *object = p6SumSkyfileObjectFromMetadata(rowSet->data[i]);17296 stackSumSkyfileRow *object = stackSumSkyfileObjectFromMetadata(rowSet->data[i]); 17297 17297 psArrayAdd(returnSet, 0, object); 17298 17298 psFree(object); … … 17303 17303 return returnSet; 17304 17304 } 17305 bool p6SumSkyfileDeleteObject(psDB *dbh, const p6SumSkyfileRow *object)17306 { 17307 psMetadata *where = p6SumSkyfileMetadataFromObject(object);17308 long long count = psDBDeleteRows(dbh, P6SUMSKYFILE_TABLE_NAME, where, 0);17305 bool stackSumSkyfileDeleteObject(psDB *dbh, const stackSumSkyfileRow *object) 17306 { 17307 psMetadata *where = stackSumSkyfileMetadataFromObject(object); 17308 long long count = psDBDeleteRows(dbh, STACKSUMSKYFILE_TABLE_NAME, where, 0); 17309 17309 psFree(where); 17310 17310 if (count < 0) { 17311 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p6SumSkyfile");17311 psError(PS_ERR_UNKNOWN, true, "failed to delete row from stackSumSkyfile"); 17312 17312 return false; 17313 17313 } … … 17315 17315 // XXX should this be a psAbort() instead? It is possible that 17316 17316 // having an object match multiple rows was by design. 17317 psError(PS_ERR_UNKNOWN, true, " p6SumSkyfileRow object matched more then one row. Check your database schema");17318 return false; 17319 } 17320 17321 return true; 17322 } 17323 long long p6SumSkyfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)17317 psError(PS_ERR_UNKNOWN, true, "stackSumSkyfileRow object matched more then one row. Check your database schema"); 17318 return false; 17319 } 17320 17321 return true; 17322 } 17323 long long stackSumSkyfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit) 17324 17324 { 17325 17325 long long deleted = 0; 17326 17326 17327 17327 for (long long i = 0; i < objects->n; i++) { 17328 p6SumSkyfileRow *object = objects->data[i];17329 psMetadata *where = p6SumSkyfileMetadataFromObject(object);17330 long long count = psDBDeleteRows(dbh, P6SUMSKYFILE_TABLE_NAME, where, limit);17328 stackSumSkyfileRow *object = objects->data[i]; 17329 psMetadata *where = stackSumSkyfileMetadataFromObject(object); 17330 long long count = psDBDeleteRows(dbh, STACKSUMSKYFILE_TABLE_NAME, where, limit); 17331 17331 psFree(where); 17332 17332 if (count < 0) { 17333 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p6SumSkyfile");17333 psError(PS_ERR_UNKNOWN, true, "failed to delete row from stackSumSkyfile"); 17334 17334 return count; 17335 17335 } … … 17340 17340 return deleted; 17341 17341 } 17342 bool p6SumSkyfilePrintObjects(FILE *stream, psArray *objects, bool mdcf)17342 bool stackSumSkyfilePrintObjects(FILE *stream, psArray *objects, bool mdcf) 17343 17343 { 17344 17344 PS_ASSERT_PTR_NON_NULL(objects, false); … … 17346 17346 psMetadata *output = psMetadataAlloc(); 17347 17347 for (long i = 0; i < psArrayLength(objects); i++) { 17348 psMetadata *md = p6SumSkyfileMetadataFromObject(objects->data[i]);17348 psMetadata *md = stackSumSkyfileMetadataFromObject(objects->data[i]); 17349 17349 if (!psMetadataAddMetadata( 17350 17350 output, 17351 17351 PS_LIST_TAIL, 17352 P6SUMSKYFILE_TABLE_NAME,17352 STACKSUMSKYFILE_TABLE_NAME, 17353 17353 PS_META_DUPLICATE_OK, 17354 17354 NULL, … … 17371 17371 return true; 17372 17372 } 17373 bool p6SumSkyfilePrintObject(FILE *stream, p6SumSkyfileRow *object, bool mdcf)17373 bool stackSumSkyfilePrintObject(FILE *stream, stackSumSkyfileRow *object, bool mdcf) 17374 17374 { 17375 17375 PS_ASSERT_PTR_NON_NULL(object, false); 17376 17376 17377 psMetadata *md = p6SumSkyfileMetadataFromObject(object);17377 psMetadata *md = stackSumSkyfileMetadataFromObject(object); 17378 17378 17379 17379 if (!ippdbPrintMetadataRaw(stream, md, mdcf)) {
Note:
See TracChangeset
for help on using the changeset viewer.
