Changeset 10753 for trunk/ippdb/src/ippdb.c
- Timestamp:
- Dec 15, 2006, 12:38:13 PM (20 years ago)
- File:
-
- 1 edited
-
trunk/ippdb/src/ippdb.c (modified) (67 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippdb/src/ippdb.c
r10748 r10753 66 66 #define P4INPUTIMFILE_TABLE_NAME "p4InputImfile" 67 67 #define P4WARPEDIMFILE_TABLE_NAME "p4WarpedImfile" 68 #define P4 PSTACKEDIMFILE_TABLE_NAME "p4PStackedImfile"69 #define P4 PDIFFIMFILE_TABLE_NAME "p4PDiffImfile"70 #define P4 PMAGICMASKIMFILE_TABLE_NAME "p4PMagicMaskImfile"68 #define P4STACKEDIMFILE_TABLE_NAME "p4StackedImfile" 69 #define P4DIFFIMFILE_TABLE_NAME "p4DiffImfile" 70 #define P4MAGICMASKIMFILE_TABLE_NAME "p4MagicMaskImfile" 71 71 #define MAX_STRING_LENGTH 1024 72 72 … … 14861 14861 return true; 14862 14862 } 14863 static void p4 PStackedImfileRowFree(p4PStackedImfileRow *object);14864 14865 p4 PStackedImfileRow *p4PStackedImfileRowAlloc(psS32 p4_id, const char *class_id, const char *uri, const char *b1_uri, const char *b2_uri)14866 { 14867 p4 PStackedImfileRow *_object;14868 14869 _object = psAlloc(sizeof(p4 PStackedImfileRow));14870 psMemSetDeallocator(_object, (psFreeFunc)p4 PStackedImfileRowFree);14863 static void p4StackedImfileRowFree(p4StackedImfileRow *object); 14864 14865 p4StackedImfileRow *p4StackedImfileRowAlloc(psS32 p4_id, const char *class_id, const char *uri, const char *b1_uri, const char *b2_uri) 14866 { 14867 p4StackedImfileRow *_object; 14868 14869 _object = psAlloc(sizeof(p4StackedImfileRow)); 14870 psMemSetDeallocator(_object, (psFreeFunc)p4StackedImfileRowFree); 14871 14871 14872 14872 _object->p4_id = p4_id; … … 14879 14879 } 14880 14880 14881 static void p4 PStackedImfileRowFree(p4PStackedImfileRow *object)14881 static void p4StackedImfileRowFree(p4StackedImfileRow *object) 14882 14882 { 14883 14883 psFree(object->class_id); … … 14887 14887 } 14888 14888 14889 bool p4 PStackedImfileCreateTable(psDB *dbh)14889 bool p4StackedImfileCreateTable(psDB *dbh) 14890 14890 { 14891 14891 psMetadata *md = psMetadataAlloc(); … … 14916 14916 } 14917 14917 14918 bool status = psDBCreateTable(dbh, P4 PSTACKEDIMFILE_TABLE_NAME, md);14918 bool status = psDBCreateTable(dbh, P4STACKEDIMFILE_TABLE_NAME, md); 14919 14919 14920 14920 psFree(md); … … 14923 14923 } 14924 14924 14925 bool p4 PStackedImfileDropTable(psDB *dbh)14926 { 14927 return psDBDropTable(dbh, P4 PSTACKEDIMFILE_TABLE_NAME);14928 } 14929 14930 bool p4 PStackedImfileInsert(psDB * dbh, psS32 p4_id, const char *class_id, const char *uri, const char *b1_uri, const char *b2_uri)14925 bool p4StackedImfileDropTable(psDB *dbh) 14926 { 14927 return psDBDropTable(dbh, P4STACKEDIMFILE_TABLE_NAME); 14928 } 14929 14930 bool p4StackedImfileInsert(psDB * dbh, psS32 p4_id, const char *class_id, const char *uri, const char *b1_uri, const char *b2_uri) 14931 14931 { 14932 14932 psMetadata *md = psMetadataAlloc(); … … 14957 14957 } 14958 14958 14959 bool status = psDBInsertOneRow(dbh, P4 PSTACKEDIMFILE_TABLE_NAME, md);14959 bool status = psDBInsertOneRow(dbh, P4STACKEDIMFILE_TABLE_NAME, md); 14960 14960 psFree(md); 14961 14961 … … 14963 14963 } 14964 14964 14965 long long p4 PStackedImfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)14965 long long p4StackedImfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit) 14966 14966 { 14967 14967 long long deleted = 0; 14968 14968 14969 long long count = psDBDeleteRows(dbh, P4 PSTACKEDIMFILE_TABLE_NAME, where, limit);14969 long long count = psDBDeleteRows(dbh, P4STACKEDIMFILE_TABLE_NAME, where, limit); 14970 14970 if (count < 0) { 14971 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4 PStackedImfile");14971 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4StackedImfile"); 14972 14972 return count; 14973 14973 … … 14977 14977 return deleted; 14978 14978 } 14979 bool p4 PStackedImfileInsertObject(psDB *dbh, p4PStackedImfileRow *object)14980 { 14981 return p4 PStackedImfileInsert(dbh, object->p4_id, object->class_id, object->uri, object->b1_uri, object->b2_uri);14982 } 14983 14984 bool p4 PStackedImfileInsertObjects(psDB *dbh, psArray *objects)14979 bool p4StackedImfileInsertObject(psDB *dbh, p4StackedImfileRow *object) 14980 { 14981 return p4StackedImfileInsert(dbh, object->p4_id, object->class_id, object->uri, object->b1_uri, object->b2_uri); 14982 } 14983 14984 bool p4StackedImfileInsertObjects(psDB *dbh, psArray *objects) 14985 14985 { 14986 14986 for (long i = 0; i < psArrayLength(objects); i++) { 14987 if (!p4 PStackedImfileInsertObject(dbh, objects->data[i])) {14987 if (!p4StackedImfileInsertObject(dbh, objects->data[i])) { 14988 14988 return false; 14989 14989 } … … 14993 14993 } 14994 14994 14995 bool p4 PStackedImfileInsertFits(psDB *dbh, const psFits *fits)14995 bool p4StackedImfileInsertFits(psDB *dbh, const psFits *fits) 14996 14996 { 14997 14997 psArray *rowSet; 14998 14998 14999 // move to (the first?) extension named P4 PSTACKEDIMFILE_TABLE_NAME15000 if (!psFitsMoveExtName(fits, P4 PSTACKEDIMFILE_TABLE_NAME)) {15001 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P4 PSTACKEDIMFILE_TABLE_NAME);14999 // move to (the first?) extension named P4STACKEDIMFILE_TABLE_NAME 15000 if (!psFitsMoveExtName(fits, P4STACKEDIMFILE_TABLE_NAME)) { 15001 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P4STACKEDIMFILE_TABLE_NAME); 15002 15002 return false; 15003 15003 } … … 15017 15017 } 15018 15018 15019 if (!psDBInsertRows(dbh, P4 PSTACKEDIMFILE_TABLE_NAME, rowSet)) {15019 if (!psDBInsertRows(dbh, P4STACKEDIMFILE_TABLE_NAME, rowSet)) { 15020 15020 psError(PS_ERR_UNKNOWN, false, "databse insert failed"); 15021 15021 psFree(rowSet); … … 15028 15028 } 15029 15029 15030 bool p4 PStackedImfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)15030 bool p4StackedImfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit) 15031 15031 { 15032 15032 psArray *rowSet; 15033 15033 15034 rowSet = psDBSelectRows(dbh, P4 PSTACKEDIMFILE_TABLE_NAME, where, limit);15034 rowSet = psDBSelectRows(dbh, P4STACKEDIMFILE_TABLE_NAME, where, limit); 15035 15035 if (!rowSet) { 15036 15036 return false; … … 15038 15038 15039 15039 // output to fits 15040 if (!psFitsWriteTable(fits, NULL, rowSet, P4 PSTACKEDIMFILE_TABLE_NAME)) {15040 if (!psFitsWriteTable(fits, NULL, rowSet, P4STACKEDIMFILE_TABLE_NAME)) { 15041 15041 psError(PS_ERR_UNKNOWN, false, "FITS table write failed"); 15042 15042 psFree(rowSet); … … 15049 15049 } 15050 15050 15051 psMetadata *p4 PStackedImfileMetadataFromObject(const p4PStackedImfileRow *object)15051 psMetadata *p4StackedImfileMetadataFromObject(const p4StackedImfileRow *object) 15052 15052 { 15053 15053 psMetadata *md = psMetadataAlloc(); … … 15082 15082 } 15083 15083 15084 p4 PStackedImfileRow *p4PStackedImfileObjectFromMetadata(psMetadata *md)15084 p4StackedImfileRow *p4StackedImfileObjectFromMetadata(psMetadata *md) 15085 15085 { 15086 15086 … … 15112 15112 } 15113 15113 15114 return p4 PStackedImfileRowAlloc(p4_id, class_id, uri, b1_uri, b2_uri);15115 } 15116 psArray *p4 PStackedImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)15114 return p4StackedImfileRowAlloc(p4_id, class_id, uri, b1_uri, b2_uri); 15115 } 15116 psArray *p4StackedImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) 15117 15117 { 15118 15118 psArray *rowSet; … … 15120 15120 psU64 i; 15121 15121 15122 rowSet = psDBSelectRows(dbh, P4 PSTACKEDIMFILE_TABLE_NAME, where, limit);15122 rowSet = psDBSelectRows(dbh, P4STACKEDIMFILE_TABLE_NAME, where, limit); 15123 15123 if (!rowSet) { 15124 15124 return NULL; … … 15130 15130 15131 15131 for (i = 0; i < rowSet->n; i++) { 15132 p4 PStackedImfileRow *object = p4PStackedImfileObjectFromMetadata(rowSet->data[i]);15132 p4StackedImfileRow *object = p4StackedImfileObjectFromMetadata(rowSet->data[i]); 15133 15133 psArrayAdd(returnSet, 0, object); 15134 15134 psFree(object); … … 15139 15139 return returnSet; 15140 15140 } 15141 bool p4 PStackedImfileDeleteObject(psDB *dbh, const p4PStackedImfileRow *object)15142 { 15143 psMetadata *where = p4 PStackedImfileMetadataFromObject(object);15144 long long count = psDBDeleteRows(dbh, P4 PSTACKEDIMFILE_TABLE_NAME, where, 0);15141 bool p4StackedImfileDeleteObject(psDB *dbh, const p4StackedImfileRow *object) 15142 { 15143 psMetadata *where = p4StackedImfileMetadataFromObject(object); 15144 long long count = psDBDeleteRows(dbh, P4STACKEDIMFILE_TABLE_NAME, where, 0); 15145 15145 psFree(where) 15146 15146 if (count < 0) { 15147 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4 PStackedImfile");15147 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4StackedImfile"); 15148 15148 return false; 15149 15149 } … … 15151 15151 // XXX should this be a psAbort() instead? It is possible that 15152 15152 // having an object match multiple rows was by design. 15153 psError(PS_ERR_UNKNOWN, true, "p4 PStackedImfileRow object matched more then one row. Check your database schema");15154 return false; 15155 } 15156 15157 return true; 15158 } 15159 long long p4 PStackedImfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)15153 psError(PS_ERR_UNKNOWN, true, "p4StackedImfileRow object matched more then one row. Check your database schema"); 15154 return false; 15155 } 15156 15157 return true; 15158 } 15159 long long p4StackedImfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit) 15160 15160 { 15161 15161 long long deleted = 0; 15162 15162 15163 15163 for (long long i = 0; i < objects->n; i++) { 15164 p4 PStackedImfileRow *object = objects->data[i];15165 psMetadata *where = p4 PStackedImfileMetadataFromObject(object);15166 long long count = psDBDeleteRows(dbh, P4 PSTACKEDIMFILE_TABLE_NAME, where, limit);15164 p4StackedImfileRow *object = objects->data[i]; 15165 psMetadata *where = p4StackedImfileMetadataFromObject(object); 15166 long long count = psDBDeleteRows(dbh, P4STACKEDIMFILE_TABLE_NAME, where, limit); 15167 15167 psFree(where) 15168 15168 if (count < 0) { 15169 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4 PStackedImfile");15169 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4StackedImfile"); 15170 15170 return count; 15171 15171 } … … 15176 15176 return deleted; 15177 15177 } 15178 bool p4 PStackedImfilePrintObjects(FILE *stream, psArray *objects, bool mdcf)15178 bool p4StackedImfilePrintObjects(FILE *stream, psArray *objects, bool mdcf) 15179 15179 { 15180 15180 PS_ASSERT_PTR_NON_NULL(objects, false); … … 15182 15182 psMetadata *output = psMetadataAlloc(); 15183 15183 for (long i = 0; i < psArrayLength(objects); i++) { 15184 psMetadata *md = p4 PStackedImfileMetadataFromObject(objects->data[i]);15184 psMetadata *md = p4StackedImfileMetadataFromObject(objects->data[i]); 15185 15185 if (!psMetadataAddMetadata( 15186 15186 output, 15187 15187 PS_LIST_TAIL, 15188 P4 PSTACKEDIMFILE_TABLE_NAME,15188 P4STACKEDIMFILE_TABLE_NAME, 15189 15189 PS_META_DUPLICATE_OK, 15190 15190 NULL, … … 15207 15207 return true; 15208 15208 } 15209 bool p4 PStackedImfilePrintObject(FILE *stream, p4PStackedImfileRow *object, bool mdcf)15209 bool p4StackedImfilePrintObject(FILE *stream, p4StackedImfileRow *object, bool mdcf) 15210 15210 { 15211 15211 PS_ASSERT_PTR_NON_NULL(object, false); 15212 15212 15213 psMetadata *md = p4 PStackedImfileMetadataFromObject(object);15213 psMetadata *md = p4StackedImfileMetadataFromObject(object); 15214 15214 15215 15215 if (!ippdbPrintMetadataRaw(stream, md, mdcf)) { … … 15222 15222 return true; 15223 15223 } 15224 static void p4 PDiffImfileRowFree(p4PDiffImfileRow *object);15225 15226 p4 PDiffImfileRow *p4PDiffImfileRowAlloc(psS32 p4_id, const char *exp_tag, psS32 p3_version, const char *class_id, const char *uri, const char *b1_uri, const char *b2_uri)15227 { 15228 p4 PDiffImfileRow *_object;15229 15230 _object = psAlloc(sizeof(p4 PDiffImfileRow));15231 psMemSetDeallocator(_object, (psFreeFunc)p4 PDiffImfileRowFree);15224 static void p4DiffImfileRowFree(p4DiffImfileRow *object); 15225 15226 p4DiffImfileRow *p4DiffImfileRowAlloc(psS32 p4_id, const char *exp_tag, psS32 p3_version, const char *class_id, const char *uri, const char *b1_uri, const char *b2_uri) 15227 { 15228 p4DiffImfileRow *_object; 15229 15230 _object = psAlloc(sizeof(p4DiffImfileRow)); 15231 psMemSetDeallocator(_object, (psFreeFunc)p4DiffImfileRowFree); 15232 15232 15233 15233 _object->p4_id = p4_id; … … 15242 15242 } 15243 15243 15244 static void p4 PDiffImfileRowFree(p4PDiffImfileRow *object)15244 static void p4DiffImfileRowFree(p4DiffImfileRow *object) 15245 15245 { 15246 15246 psFree(object->exp_tag); … … 15251 15251 } 15252 15252 15253 bool p4 PDiffImfileCreateTable(psDB *dbh)15253 bool p4DiffImfileCreateTable(psDB *dbh) 15254 15254 { 15255 15255 psMetadata *md = psMetadataAlloc(); … … 15290 15290 } 15291 15291 15292 bool status = psDBCreateTable(dbh, P4 PDIFFIMFILE_TABLE_NAME, md);15292 bool status = psDBCreateTable(dbh, P4DIFFIMFILE_TABLE_NAME, md); 15293 15293 15294 15294 psFree(md); … … 15297 15297 } 15298 15298 15299 bool p4 PDiffImfileDropTable(psDB *dbh)15300 { 15301 return psDBDropTable(dbh, P4 PDIFFIMFILE_TABLE_NAME);15302 } 15303 15304 bool p4 PDiffImfileInsert(psDB * dbh, psS32 p4_id, const char *exp_tag, psS32 p3_version, const char *class_id, const char *uri, const char *b1_uri, const char *b2_uri)15299 bool p4DiffImfileDropTable(psDB *dbh) 15300 { 15301 return psDBDropTable(dbh, P4DIFFIMFILE_TABLE_NAME); 15302 } 15303 15304 bool p4DiffImfileInsert(psDB * dbh, psS32 p4_id, const char *exp_tag, psS32 p3_version, const char *class_id, const char *uri, const char *b1_uri, const char *b2_uri) 15305 15305 { 15306 15306 psMetadata *md = psMetadataAlloc(); … … 15341 15341 } 15342 15342 15343 bool status = psDBInsertOneRow(dbh, P4 PDIFFIMFILE_TABLE_NAME, md);15343 bool status = psDBInsertOneRow(dbh, P4DIFFIMFILE_TABLE_NAME, md); 15344 15344 psFree(md); 15345 15345 … … 15347 15347 } 15348 15348 15349 long long p4 PDiffImfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)15349 long long p4DiffImfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit) 15350 15350 { 15351 15351 long long deleted = 0; 15352 15352 15353 long long count = psDBDeleteRows(dbh, P4 PDIFFIMFILE_TABLE_NAME, where, limit);15353 long long count = psDBDeleteRows(dbh, P4DIFFIMFILE_TABLE_NAME, where, limit); 15354 15354 if (count < 0) { 15355 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4 PDiffImfile");15355 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4DiffImfile"); 15356 15356 return count; 15357 15357 … … 15361 15361 return deleted; 15362 15362 } 15363 bool p4 PDiffImfileInsertObject(psDB *dbh, p4PDiffImfileRow *object)15364 { 15365 return p4 PDiffImfileInsert(dbh, object->p4_id, object->exp_tag, object->p3_version, object->class_id, object->uri, object->b1_uri, object->b2_uri);15366 } 15367 15368 bool p4 PDiffImfileInsertObjects(psDB *dbh, psArray *objects)15363 bool p4DiffImfileInsertObject(psDB *dbh, p4DiffImfileRow *object) 15364 { 15365 return p4DiffImfileInsert(dbh, object->p4_id, object->exp_tag, object->p3_version, object->class_id, object->uri, object->b1_uri, object->b2_uri); 15366 } 15367 15368 bool p4DiffImfileInsertObjects(psDB *dbh, psArray *objects) 15369 15369 { 15370 15370 for (long i = 0; i < psArrayLength(objects); i++) { 15371 if (!p4 PDiffImfileInsertObject(dbh, objects->data[i])) {15371 if (!p4DiffImfileInsertObject(dbh, objects->data[i])) { 15372 15372 return false; 15373 15373 } … … 15377 15377 } 15378 15378 15379 bool p4 PDiffImfileInsertFits(psDB *dbh, const psFits *fits)15379 bool p4DiffImfileInsertFits(psDB *dbh, const psFits *fits) 15380 15380 { 15381 15381 psArray *rowSet; 15382 15382 15383 // move to (the first?) extension named P4 PDIFFIMFILE_TABLE_NAME15384 if (!psFitsMoveExtName(fits, P4 PDIFFIMFILE_TABLE_NAME)) {15385 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P4 PDIFFIMFILE_TABLE_NAME);15383 // move to (the first?) extension named P4DIFFIMFILE_TABLE_NAME 15384 if (!psFitsMoveExtName(fits, P4DIFFIMFILE_TABLE_NAME)) { 15385 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P4DIFFIMFILE_TABLE_NAME); 15386 15386 return false; 15387 15387 } … … 15401 15401 } 15402 15402 15403 if (!psDBInsertRows(dbh, P4 PDIFFIMFILE_TABLE_NAME, rowSet)) {15403 if (!psDBInsertRows(dbh, P4DIFFIMFILE_TABLE_NAME, rowSet)) { 15404 15404 psError(PS_ERR_UNKNOWN, false, "databse insert failed"); 15405 15405 psFree(rowSet); … … 15412 15412 } 15413 15413 15414 bool p4 PDiffImfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)15414 bool p4DiffImfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit) 15415 15415 { 15416 15416 psArray *rowSet; 15417 15417 15418 rowSet = psDBSelectRows(dbh, P4 PDIFFIMFILE_TABLE_NAME, where, limit);15418 rowSet = psDBSelectRows(dbh, P4DIFFIMFILE_TABLE_NAME, where, limit); 15419 15419 if (!rowSet) { 15420 15420 return false; … … 15422 15422 15423 15423 // output to fits 15424 if (!psFitsWriteTable(fits, NULL, rowSet, P4 PDIFFIMFILE_TABLE_NAME)) {15424 if (!psFitsWriteTable(fits, NULL, rowSet, P4DIFFIMFILE_TABLE_NAME)) { 15425 15425 psError(PS_ERR_UNKNOWN, false, "FITS table write failed"); 15426 15426 psFree(rowSet); … … 15433 15433 } 15434 15434 15435 psMetadata *p4 PDiffImfileMetadataFromObject(const p4PDiffImfileRow *object)15435 psMetadata *p4DiffImfileMetadataFromObject(const p4DiffImfileRow *object) 15436 15436 { 15437 15437 psMetadata *md = psMetadataAlloc(); … … 15476 15476 } 15477 15477 15478 p4 PDiffImfileRow *p4PDiffImfileObjectFromMetadata(psMetadata *md)15478 p4DiffImfileRow *p4DiffImfileObjectFromMetadata(psMetadata *md) 15479 15479 { 15480 15480 … … 15516 15516 } 15517 15517 15518 return p4 PDiffImfileRowAlloc(p4_id, exp_tag, p3_version, class_id, uri, b1_uri, b2_uri);15519 } 15520 psArray *p4 PDiffImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)15518 return p4DiffImfileRowAlloc(p4_id, exp_tag, p3_version, class_id, uri, b1_uri, b2_uri); 15519 } 15520 psArray *p4DiffImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) 15521 15521 { 15522 15522 psArray *rowSet; … … 15524 15524 psU64 i; 15525 15525 15526 rowSet = psDBSelectRows(dbh, P4 PDIFFIMFILE_TABLE_NAME, where, limit);15526 rowSet = psDBSelectRows(dbh, P4DIFFIMFILE_TABLE_NAME, where, limit); 15527 15527 if (!rowSet) { 15528 15528 return NULL; … … 15534 15534 15535 15535 for (i = 0; i < rowSet->n; i++) { 15536 p4 PDiffImfileRow *object = p4PDiffImfileObjectFromMetadata(rowSet->data[i]);15536 p4DiffImfileRow *object = p4DiffImfileObjectFromMetadata(rowSet->data[i]); 15537 15537 psArrayAdd(returnSet, 0, object); 15538 15538 psFree(object); … … 15543 15543 return returnSet; 15544 15544 } 15545 bool p4 PDiffImfileDeleteObject(psDB *dbh, const p4PDiffImfileRow *object)15546 { 15547 psMetadata *where = p4 PDiffImfileMetadataFromObject(object);15548 long long count = psDBDeleteRows(dbh, P4 PDIFFIMFILE_TABLE_NAME, where, 0);15545 bool p4DiffImfileDeleteObject(psDB *dbh, const p4DiffImfileRow *object) 15546 { 15547 psMetadata *where = p4DiffImfileMetadataFromObject(object); 15548 long long count = psDBDeleteRows(dbh, P4DIFFIMFILE_TABLE_NAME, where, 0); 15549 15549 psFree(where) 15550 15550 if (count < 0) { 15551 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4 PDiffImfile");15551 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4DiffImfile"); 15552 15552 return false; 15553 15553 } … … 15555 15555 // XXX should this be a psAbort() instead? It is possible that 15556 15556 // having an object match multiple rows was by design. 15557 psError(PS_ERR_UNKNOWN, true, "p4 PDiffImfileRow object matched more then one row. Check your database schema");15558 return false; 15559 } 15560 15561 return true; 15562 } 15563 long long p4 PDiffImfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)15557 psError(PS_ERR_UNKNOWN, true, "p4DiffImfileRow object matched more then one row. Check your database schema"); 15558 return false; 15559 } 15560 15561 return true; 15562 } 15563 long long p4DiffImfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit) 15564 15564 { 15565 15565 long long deleted = 0; 15566 15566 15567 15567 for (long long i = 0; i < objects->n; i++) { 15568 p4 PDiffImfileRow *object = objects->data[i];15569 psMetadata *where = p4 PDiffImfileMetadataFromObject(object);15570 long long count = psDBDeleteRows(dbh, P4 PDIFFIMFILE_TABLE_NAME, where, limit);15568 p4DiffImfileRow *object = objects->data[i]; 15569 psMetadata *where = p4DiffImfileMetadataFromObject(object); 15570 long long count = psDBDeleteRows(dbh, P4DIFFIMFILE_TABLE_NAME, where, limit); 15571 15571 psFree(where) 15572 15572 if (count < 0) { 15573 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4 PDiffImfile");15573 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4DiffImfile"); 15574 15574 return count; 15575 15575 } … … 15580 15580 return deleted; 15581 15581 } 15582 bool p4 PDiffImfilePrintObjects(FILE *stream, psArray *objects, bool mdcf)15582 bool p4DiffImfilePrintObjects(FILE *stream, psArray *objects, bool mdcf) 15583 15583 { 15584 15584 PS_ASSERT_PTR_NON_NULL(objects, false); … … 15586 15586 psMetadata *output = psMetadataAlloc(); 15587 15587 for (long i = 0; i < psArrayLength(objects); i++) { 15588 psMetadata *md = p4 PDiffImfileMetadataFromObject(objects->data[i]);15588 psMetadata *md = p4DiffImfileMetadataFromObject(objects->data[i]); 15589 15589 if (!psMetadataAddMetadata( 15590 15590 output, 15591 15591 PS_LIST_TAIL, 15592 P4 PDIFFIMFILE_TABLE_NAME,15592 P4DIFFIMFILE_TABLE_NAME, 15593 15593 PS_META_DUPLICATE_OK, 15594 15594 NULL, … … 15611 15611 return true; 15612 15612 } 15613 bool p4 PDiffImfilePrintObject(FILE *stream, p4PDiffImfileRow *object, bool mdcf)15613 bool p4DiffImfilePrintObject(FILE *stream, p4DiffImfileRow *object, bool mdcf) 15614 15614 { 15615 15615 PS_ASSERT_PTR_NON_NULL(object, false); 15616 15616 15617 psMetadata *md = p4 PDiffImfileMetadataFromObject(object);15617 psMetadata *md = p4DiffImfileMetadataFromObject(object); 15618 15618 15619 15619 if (!ippdbPrintMetadataRaw(stream, md, mdcf)) { … … 15626 15626 return true; 15627 15627 } 15628 static void p4 PMagicMaskImfileRowFree(p4PMagicMaskImfileRow *object);15629 15630 p4 PMagicMaskImfileRow *p4PMagicMaskImfileRowAlloc(psS32 p4_id, const char *exp_tag, psS32 p3_version, const char *class_id, const char *uri)15631 { 15632 p4 PMagicMaskImfileRow *_object;15633 15634 _object = psAlloc(sizeof(p4 PMagicMaskImfileRow));15635 psMemSetDeallocator(_object, (psFreeFunc)p4 PMagicMaskImfileRowFree);15628 static void p4MagicMaskImfileRowFree(p4MagicMaskImfileRow *object); 15629 15630 p4MagicMaskImfileRow *p4MagicMaskImfileRowAlloc(psS32 p4_id, const char *exp_tag, psS32 p3_version, const char *class_id, const char *uri) 15631 { 15632 p4MagicMaskImfileRow *_object; 15633 15634 _object = psAlloc(sizeof(p4MagicMaskImfileRow)); 15635 psMemSetDeallocator(_object, (psFreeFunc)p4MagicMaskImfileRowFree); 15636 15636 15637 15637 _object->p4_id = p4_id; … … 15644 15644 } 15645 15645 15646 static void p4 PMagicMaskImfileRowFree(p4PMagicMaskImfileRow *object)15646 static void p4MagicMaskImfileRowFree(p4MagicMaskImfileRow *object) 15647 15647 { 15648 15648 psFree(object->exp_tag); … … 15651 15651 } 15652 15652 15653 bool p4 PMagicMaskImfileCreateTable(psDB *dbh)15653 bool p4MagicMaskImfileCreateTable(psDB *dbh) 15654 15654 { 15655 15655 psMetadata *md = psMetadataAlloc(); … … 15680 15680 } 15681 15681 15682 bool status = psDBCreateTable(dbh, P4 PMAGICMASKIMFILE_TABLE_NAME, md);15682 bool status = psDBCreateTable(dbh, P4MAGICMASKIMFILE_TABLE_NAME, md); 15683 15683 15684 15684 psFree(md); … … 15687 15687 } 15688 15688 15689 bool p4 PMagicMaskImfileDropTable(psDB *dbh)15690 { 15691 return psDBDropTable(dbh, P4 PMAGICMASKIMFILE_TABLE_NAME);15692 } 15693 15694 bool p4 PMagicMaskImfileInsert(psDB * dbh, psS32 p4_id, const char *exp_tag, psS32 p3_version, const char *class_id, const char *uri)15689 bool p4MagicMaskImfileDropTable(psDB *dbh) 15690 { 15691 return psDBDropTable(dbh, P4MAGICMASKIMFILE_TABLE_NAME); 15692 } 15693 15694 bool p4MagicMaskImfileInsert(psDB * dbh, psS32 p4_id, const char *exp_tag, psS32 p3_version, const char *class_id, const char *uri) 15695 15695 { 15696 15696 psMetadata *md = psMetadataAlloc(); … … 15721 15721 } 15722 15722 15723 bool status = psDBInsertOneRow(dbh, P4 PMAGICMASKIMFILE_TABLE_NAME, md);15723 bool status = psDBInsertOneRow(dbh, P4MAGICMASKIMFILE_TABLE_NAME, md); 15724 15724 psFree(md); 15725 15725 … … 15727 15727 } 15728 15728 15729 long long p4 PMagicMaskImfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)15729 long long p4MagicMaskImfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit) 15730 15730 { 15731 15731 long long deleted = 0; 15732 15732 15733 long long count = psDBDeleteRows(dbh, P4 PMAGICMASKIMFILE_TABLE_NAME, where, limit);15733 long long count = psDBDeleteRows(dbh, P4MAGICMASKIMFILE_TABLE_NAME, where, limit); 15734 15734 if (count < 0) { 15735 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4 PMagicMaskImfile");15735 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4MagicMaskImfile"); 15736 15736 return count; 15737 15737 … … 15741 15741 return deleted; 15742 15742 } 15743 bool p4 PMagicMaskImfileInsertObject(psDB *dbh, p4PMagicMaskImfileRow *object)15744 { 15745 return p4 PMagicMaskImfileInsert(dbh, object->p4_id, object->exp_tag, object->p3_version, object->class_id, object->uri);15746 } 15747 15748 bool p4 PMagicMaskImfileInsertObjects(psDB *dbh, psArray *objects)15743 bool p4MagicMaskImfileInsertObject(psDB *dbh, p4MagicMaskImfileRow *object) 15744 { 15745 return p4MagicMaskImfileInsert(dbh, object->p4_id, object->exp_tag, object->p3_version, object->class_id, object->uri); 15746 } 15747 15748 bool p4MagicMaskImfileInsertObjects(psDB *dbh, psArray *objects) 15749 15749 { 15750 15750 for (long i = 0; i < psArrayLength(objects); i++) { 15751 if (!p4 PMagicMaskImfileInsertObject(dbh, objects->data[i])) {15751 if (!p4MagicMaskImfileInsertObject(dbh, objects->data[i])) { 15752 15752 return false; 15753 15753 } … … 15757 15757 } 15758 15758 15759 bool p4 PMagicMaskImfileInsertFits(psDB *dbh, const psFits *fits)15759 bool p4MagicMaskImfileInsertFits(psDB *dbh, const psFits *fits) 15760 15760 { 15761 15761 psArray *rowSet; 15762 15762 15763 // move to (the first?) extension named P4 PMAGICMASKIMFILE_TABLE_NAME15764 if (!psFitsMoveExtName(fits, P4 PMAGICMASKIMFILE_TABLE_NAME)) {15765 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P4 PMAGICMASKIMFILE_TABLE_NAME);15763 // move to (the first?) extension named P4MAGICMASKIMFILE_TABLE_NAME 15764 if (!psFitsMoveExtName(fits, P4MAGICMASKIMFILE_TABLE_NAME)) { 15765 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P4MAGICMASKIMFILE_TABLE_NAME); 15766 15766 return false; 15767 15767 } … … 15781 15781 } 15782 15782 15783 if (!psDBInsertRows(dbh, P4 PMAGICMASKIMFILE_TABLE_NAME, rowSet)) {15783 if (!psDBInsertRows(dbh, P4MAGICMASKIMFILE_TABLE_NAME, rowSet)) { 15784 15784 psError(PS_ERR_UNKNOWN, false, "databse insert failed"); 15785 15785 psFree(rowSet); … … 15792 15792 } 15793 15793 15794 bool p4 PMagicMaskImfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)15794 bool p4MagicMaskImfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit) 15795 15795 { 15796 15796 psArray *rowSet; 15797 15797 15798 rowSet = psDBSelectRows(dbh, P4 PMAGICMASKIMFILE_TABLE_NAME, where, limit);15798 rowSet = psDBSelectRows(dbh, P4MAGICMASKIMFILE_TABLE_NAME, where, limit); 15799 15799 if (!rowSet) { 15800 15800 return false; … … 15802 15802 15803 15803 // output to fits 15804 if (!psFitsWriteTable(fits, NULL, rowSet, P4 PMAGICMASKIMFILE_TABLE_NAME)) {15804 if (!psFitsWriteTable(fits, NULL, rowSet, P4MAGICMASKIMFILE_TABLE_NAME)) { 15805 15805 psError(PS_ERR_UNKNOWN, false, "FITS table write failed"); 15806 15806 psFree(rowSet); … … 15813 15813 } 15814 15814 15815 psMetadata *p4 PMagicMaskImfileMetadataFromObject(const p4PMagicMaskImfileRow *object)15815 psMetadata *p4MagicMaskImfileMetadataFromObject(const p4MagicMaskImfileRow *object) 15816 15816 { 15817 15817 psMetadata *md = psMetadataAlloc(); … … 15846 15846 } 15847 15847 15848 p4 PMagicMaskImfileRow *p4PMagicMaskImfileObjectFromMetadata(psMetadata *md)15848 p4MagicMaskImfileRow *p4MagicMaskImfileObjectFromMetadata(psMetadata *md) 15849 15849 { 15850 15850 … … 15876 15876 } 15877 15877 15878 return p4 PMagicMaskImfileRowAlloc(p4_id, exp_tag, p3_version, class_id, uri);15879 } 15880 psArray *p4 PMagicMaskImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)15878 return p4MagicMaskImfileRowAlloc(p4_id, exp_tag, p3_version, class_id, uri); 15879 } 15880 psArray *p4MagicMaskImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) 15881 15881 { 15882 15882 psArray *rowSet; … … 15884 15884 psU64 i; 15885 15885 15886 rowSet = psDBSelectRows(dbh, P4 PMAGICMASKIMFILE_TABLE_NAME, where, limit);15886 rowSet = psDBSelectRows(dbh, P4MAGICMASKIMFILE_TABLE_NAME, where, limit); 15887 15887 if (!rowSet) { 15888 15888 return NULL; … … 15894 15894 15895 15895 for (i = 0; i < rowSet->n; i++) { 15896 p4 PMagicMaskImfileRow *object = p4PMagicMaskImfileObjectFromMetadata(rowSet->data[i]);15896 p4MagicMaskImfileRow *object = p4MagicMaskImfileObjectFromMetadata(rowSet->data[i]); 15897 15897 psArrayAdd(returnSet, 0, object); 15898 15898 psFree(object); … … 15903 15903 return returnSet; 15904 15904 } 15905 bool p4 PMagicMaskImfileDeleteObject(psDB *dbh, const p4PMagicMaskImfileRow *object)15906 { 15907 psMetadata *where = p4 PMagicMaskImfileMetadataFromObject(object);15908 long long count = psDBDeleteRows(dbh, P4 PMAGICMASKIMFILE_TABLE_NAME, where, 0);15905 bool p4MagicMaskImfileDeleteObject(psDB *dbh, const p4MagicMaskImfileRow *object) 15906 { 15907 psMetadata *where = p4MagicMaskImfileMetadataFromObject(object); 15908 long long count = psDBDeleteRows(dbh, P4MAGICMASKIMFILE_TABLE_NAME, where, 0); 15909 15909 psFree(where) 15910 15910 if (count < 0) { 15911 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4 PMagicMaskImfile");15911 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4MagicMaskImfile"); 15912 15912 return false; 15913 15913 } … … 15915 15915 // XXX should this be a psAbort() instead? It is possible that 15916 15916 // having an object match multiple rows was by design. 15917 psError(PS_ERR_UNKNOWN, true, "p4 PMagicMaskImfileRow object matched more then one row. Check your database schema");15918 return false; 15919 } 15920 15921 return true; 15922 } 15923 long long p4 PMagicMaskImfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)15917 psError(PS_ERR_UNKNOWN, true, "p4MagicMaskImfileRow object matched more then one row. Check your database schema"); 15918 return false; 15919 } 15920 15921 return true; 15922 } 15923 long long p4MagicMaskImfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit) 15924 15924 { 15925 15925 long long deleted = 0; 15926 15926 15927 15927 for (long long i = 0; i < objects->n; i++) { 15928 p4 PMagicMaskImfileRow *object = objects->data[i];15929 psMetadata *where = p4 PMagicMaskImfileMetadataFromObject(object);15930 long long count = psDBDeleteRows(dbh, P4 PMAGICMASKIMFILE_TABLE_NAME, where, limit);15928 p4MagicMaskImfileRow *object = objects->data[i]; 15929 psMetadata *where = p4MagicMaskImfileMetadataFromObject(object); 15930 long long count = psDBDeleteRows(dbh, P4MAGICMASKIMFILE_TABLE_NAME, where, limit); 15931 15931 psFree(where) 15932 15932 if (count < 0) { 15933 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4 PMagicMaskImfile");15933 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4MagicMaskImfile"); 15934 15934 return count; 15935 15935 } … … 15940 15940 return deleted; 15941 15941 } 15942 bool p4 PMagicMaskImfilePrintObjects(FILE *stream, psArray *objects, bool mdcf)15942 bool p4MagicMaskImfilePrintObjects(FILE *stream, psArray *objects, bool mdcf) 15943 15943 { 15944 15944 PS_ASSERT_PTR_NON_NULL(objects, false); … … 15946 15946 psMetadata *output = psMetadataAlloc(); 15947 15947 for (long i = 0; i < psArrayLength(objects); i++) { 15948 psMetadata *md = p4 PMagicMaskImfileMetadataFromObject(objects->data[i]);15948 psMetadata *md = p4MagicMaskImfileMetadataFromObject(objects->data[i]); 15949 15949 if (!psMetadataAddMetadata( 15950 15950 output, 15951 15951 PS_LIST_TAIL, 15952 P4 PMAGICMASKIMFILE_TABLE_NAME,15952 P4MAGICMASKIMFILE_TABLE_NAME, 15953 15953 PS_META_DUPLICATE_OK, 15954 15954 NULL, … … 15971 15971 return true; 15972 15972 } 15973 bool p4 PMagicMaskImfilePrintObject(FILE *stream, p4PMagicMaskImfileRow *object, bool mdcf)15973 bool p4MagicMaskImfilePrintObject(FILE *stream, p4MagicMaskImfileRow *object, bool mdcf) 15974 15974 { 15975 15975 PS_ASSERT_PTR_NON_NULL(object, false); 15976 15976 15977 psMetadata *md = p4 PMagicMaskImfileMetadataFromObject(object);15977 psMetadata *md = p4MagicMaskImfileMetadataFromObject(object); 15978 15978 15979 15979 if (!ippdbPrintMetadataRaw(stream, md, mdcf)) {
Note:
See TracChangeset
for help on using the changeset viewer.
