Changeset 10748 for trunk/ippdb/src/ippdb.c
- Timestamp:
- Dec 15, 2006, 12:20:35 PM (20 years ago)
- File:
-
- 1 edited
-
trunk/ippdb/src/ippdb.c (modified) (23 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippdb/src/ippdb.c
r10686 r10748 65 65 #define P4RUN_TABLE_NAME "p4Run" 66 66 #define P4INPUTIMFILE_TABLE_NAME "p4InputImfile" 67 #define P4 PWARPEDIMFILE_TABLE_NAME "p4PWarpedImfile"67 #define P4WARPEDIMFILE_TABLE_NAME "p4WarpedImfile" 68 68 #define P4PSTACKEDIMFILE_TABLE_NAME "p4PStackedImfile" 69 69 #define P4PDIFFIMFILE_TABLE_NAME "p4PDiffImfile" … … 14457 14457 return true; 14458 14458 } 14459 static void p4 PWarpedImfileRowFree(p4PWarpedImfileRow *object);14460 14461 p4 PWarpedImfileRow *p4PWarpedImfileRowAlloc(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)14462 { 14463 p4 PWarpedImfileRow *_object;14464 14465 _object = psAlloc(sizeof(p4 PWarpedImfileRow));14466 psMemSetDeallocator(_object, (psFreeFunc)p4 PWarpedImfileRowFree);14459 static void p4WarpedImfileRowFree(p4WarpedImfileRow *object); 14460 14461 p4WarpedImfileRow *p4WarpedImfileRowAlloc(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) 14462 { 14463 p4WarpedImfileRow *_object; 14464 14465 _object = psAlloc(sizeof(p4WarpedImfileRow)); 14466 psMemSetDeallocator(_object, (psFreeFunc)p4WarpedImfileRowFree); 14467 14467 14468 14468 _object->p4_id = p4_id; … … 14477 14477 } 14478 14478 14479 static void p4 PWarpedImfileRowFree(p4PWarpedImfileRow *object)14479 static void p4WarpedImfileRowFree(p4WarpedImfileRow *object) 14480 14480 { 14481 14481 psFree(object->exp_tag); … … 14486 14486 } 14487 14487 14488 bool p4 PWarpedImfileCreateTable(psDB *dbh)14488 bool p4WarpedImfileCreateTable(psDB *dbh) 14489 14489 { 14490 14490 psMetadata *md = psMetadataAlloc(); … … 14525 14525 } 14526 14526 14527 bool status = psDBCreateTable(dbh, P4 PWARPEDIMFILE_TABLE_NAME, md);14527 bool status = psDBCreateTable(dbh, P4WARPEDIMFILE_TABLE_NAME, md); 14528 14528 14529 14529 psFree(md); … … 14532 14532 } 14533 14533 14534 bool p4 PWarpedImfileDropTable(psDB *dbh)14535 { 14536 return psDBDropTable(dbh, P4 PWARPEDIMFILE_TABLE_NAME);14537 } 14538 14539 bool p4 PWarpedImfileInsert(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)14534 bool p4WarpedImfileDropTable(psDB *dbh) 14535 { 14536 return psDBDropTable(dbh, P4WARPEDIMFILE_TABLE_NAME); 14537 } 14538 14539 bool p4WarpedImfileInsert(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) 14540 14540 { 14541 14541 psMetadata *md = psMetadataAlloc(); … … 14576 14576 } 14577 14577 14578 bool status = psDBInsertOneRow(dbh, P4 PWARPEDIMFILE_TABLE_NAME, md);14578 bool status = psDBInsertOneRow(dbh, P4WARPEDIMFILE_TABLE_NAME, md); 14579 14579 psFree(md); 14580 14580 … … 14582 14582 } 14583 14583 14584 long long p4 PWarpedImfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)14584 long long p4WarpedImfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit) 14585 14585 { 14586 14586 long long deleted = 0; 14587 14587 14588 long long count = psDBDeleteRows(dbh, P4 PWARPEDIMFILE_TABLE_NAME, where, limit);14588 long long count = psDBDeleteRows(dbh, P4WARPEDIMFILE_TABLE_NAME, where, limit); 14589 14589 if (count < 0) { 14590 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4 PWarpedImfile");14590 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4WarpedImfile"); 14591 14591 return count; 14592 14592 … … 14596 14596 return deleted; 14597 14597 } 14598 bool p4 PWarpedImfileInsertObject(psDB *dbh, p4PWarpedImfileRow *object)14599 { 14600 return p4 PWarpedImfileInsert(dbh, object->p4_id, object->exp_tag, object->p3_version, object->class_id, object->uri, object->b1_uri, object->b2_uri);14601 } 14602 14603 bool p4 PWarpedImfileInsertObjects(psDB *dbh, psArray *objects)14598 bool p4WarpedImfileInsertObject(psDB *dbh, p4WarpedImfileRow *object) 14599 { 14600 return p4WarpedImfileInsert(dbh, object->p4_id, object->exp_tag, object->p3_version, object->class_id, object->uri, object->b1_uri, object->b2_uri); 14601 } 14602 14603 bool p4WarpedImfileInsertObjects(psDB *dbh, psArray *objects) 14604 14604 { 14605 14605 for (long i = 0; i < psArrayLength(objects); i++) { 14606 if (!p4 PWarpedImfileInsertObject(dbh, objects->data[i])) {14606 if (!p4WarpedImfileInsertObject(dbh, objects->data[i])) { 14607 14607 return false; 14608 14608 } … … 14612 14612 } 14613 14613 14614 bool p4 PWarpedImfileInsertFits(psDB *dbh, const psFits *fits)14614 bool p4WarpedImfileInsertFits(psDB *dbh, const psFits *fits) 14615 14615 { 14616 14616 psArray *rowSet; 14617 14617 14618 // move to (the first?) extension named P4 PWARPEDIMFILE_TABLE_NAME14619 if (!psFitsMoveExtName(fits, P4 PWARPEDIMFILE_TABLE_NAME)) {14620 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P4 PWARPEDIMFILE_TABLE_NAME);14618 // move to (the first?) extension named P4WARPEDIMFILE_TABLE_NAME 14619 if (!psFitsMoveExtName(fits, P4WARPEDIMFILE_TABLE_NAME)) { 14620 psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P4WARPEDIMFILE_TABLE_NAME); 14621 14621 return false; 14622 14622 } … … 14636 14636 } 14637 14637 14638 if (!psDBInsertRows(dbh, P4 PWARPEDIMFILE_TABLE_NAME, rowSet)) {14638 if (!psDBInsertRows(dbh, P4WARPEDIMFILE_TABLE_NAME, rowSet)) { 14639 14639 psError(PS_ERR_UNKNOWN, false, "databse insert failed"); 14640 14640 psFree(rowSet); … … 14647 14647 } 14648 14648 14649 bool p4 PWarpedImfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)14649 bool p4WarpedImfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit) 14650 14650 { 14651 14651 psArray *rowSet; 14652 14652 14653 rowSet = psDBSelectRows(dbh, P4 PWARPEDIMFILE_TABLE_NAME, where, limit);14653 rowSet = psDBSelectRows(dbh, P4WARPEDIMFILE_TABLE_NAME, where, limit); 14654 14654 if (!rowSet) { 14655 14655 return false; … … 14657 14657 14658 14658 // output to fits 14659 if (!psFitsWriteTable(fits, NULL, rowSet, P4 PWARPEDIMFILE_TABLE_NAME)) {14659 if (!psFitsWriteTable(fits, NULL, rowSet, P4WARPEDIMFILE_TABLE_NAME)) { 14660 14660 psError(PS_ERR_UNKNOWN, false, "FITS table write failed"); 14661 14661 psFree(rowSet); … … 14668 14668 } 14669 14669 14670 psMetadata *p4 PWarpedImfileMetadataFromObject(const p4PWarpedImfileRow *object)14670 psMetadata *p4WarpedImfileMetadataFromObject(const p4WarpedImfileRow *object) 14671 14671 { 14672 14672 psMetadata *md = psMetadataAlloc(); … … 14711 14711 } 14712 14712 14713 p4 PWarpedImfileRow *p4PWarpedImfileObjectFromMetadata(psMetadata *md)14713 p4WarpedImfileRow *p4WarpedImfileObjectFromMetadata(psMetadata *md) 14714 14714 { 14715 14715 … … 14751 14751 } 14752 14752 14753 return p4 PWarpedImfileRowAlloc(p4_id, exp_tag, p3_version, class_id, uri, b1_uri, b2_uri);14754 } 14755 psArray *p4 PWarpedImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)14753 return p4WarpedImfileRowAlloc(p4_id, exp_tag, p3_version, class_id, uri, b1_uri, b2_uri); 14754 } 14755 psArray *p4WarpedImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit) 14756 14756 { 14757 14757 psArray *rowSet; … … 14759 14759 psU64 i; 14760 14760 14761 rowSet = psDBSelectRows(dbh, P4 PWARPEDIMFILE_TABLE_NAME, where, limit);14761 rowSet = psDBSelectRows(dbh, P4WARPEDIMFILE_TABLE_NAME, where, limit); 14762 14762 if (!rowSet) { 14763 14763 return NULL; … … 14769 14769 14770 14770 for (i = 0; i < rowSet->n; i++) { 14771 p4 PWarpedImfileRow *object = p4PWarpedImfileObjectFromMetadata(rowSet->data[i]);14771 p4WarpedImfileRow *object = p4WarpedImfileObjectFromMetadata(rowSet->data[i]); 14772 14772 psArrayAdd(returnSet, 0, object); 14773 14773 psFree(object); … … 14778 14778 return returnSet; 14779 14779 } 14780 bool p4 PWarpedImfileDeleteObject(psDB *dbh, const p4PWarpedImfileRow *object)14781 { 14782 psMetadata *where = p4 PWarpedImfileMetadataFromObject(object);14783 long long count = psDBDeleteRows(dbh, P4 PWARPEDIMFILE_TABLE_NAME, where, 0);14780 bool p4WarpedImfileDeleteObject(psDB *dbh, const p4WarpedImfileRow *object) 14781 { 14782 psMetadata *where = p4WarpedImfileMetadataFromObject(object); 14783 long long count = psDBDeleteRows(dbh, P4WARPEDIMFILE_TABLE_NAME, where, 0); 14784 14784 psFree(where) 14785 14785 if (count < 0) { 14786 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4 PWarpedImfile");14786 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4WarpedImfile"); 14787 14787 return false; 14788 14788 } … … 14790 14790 // XXX should this be a psAbort() instead? It is possible that 14791 14791 // having an object match multiple rows was by design. 14792 psError(PS_ERR_UNKNOWN, true, "p4 PWarpedImfileRow object matched more then one row. Check your database schema");14793 return false; 14794 } 14795 14796 return true; 14797 } 14798 long long p4 PWarpedImfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)14792 psError(PS_ERR_UNKNOWN, true, "p4WarpedImfileRow object matched more then one row. Check your database schema"); 14793 return false; 14794 } 14795 14796 return true; 14797 } 14798 long long p4WarpedImfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit) 14799 14799 { 14800 14800 long long deleted = 0; 14801 14801 14802 14802 for (long long i = 0; i < objects->n; i++) { 14803 p4 PWarpedImfileRow *object = objects->data[i];14804 psMetadata *where = p4 PWarpedImfileMetadataFromObject(object);14805 long long count = psDBDeleteRows(dbh, P4 PWARPEDIMFILE_TABLE_NAME, where, limit);14803 p4WarpedImfileRow *object = objects->data[i]; 14804 psMetadata *where = p4WarpedImfileMetadataFromObject(object); 14805 long long count = psDBDeleteRows(dbh, P4WARPEDIMFILE_TABLE_NAME, where, limit); 14806 14806 psFree(where) 14807 14807 if (count < 0) { 14808 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4 PWarpedImfile");14808 psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4WarpedImfile"); 14809 14809 return count; 14810 14810 } … … 14815 14815 return deleted; 14816 14816 } 14817 bool p4 PWarpedImfilePrintObjects(FILE *stream, psArray *objects, bool mdcf)14817 bool p4WarpedImfilePrintObjects(FILE *stream, psArray *objects, bool mdcf) 14818 14818 { 14819 14819 PS_ASSERT_PTR_NON_NULL(objects, false); … … 14821 14821 psMetadata *output = psMetadataAlloc(); 14822 14822 for (long i = 0; i < psArrayLength(objects); i++) { 14823 psMetadata *md = p4 PWarpedImfileMetadataFromObject(objects->data[i]);14823 psMetadata *md = p4WarpedImfileMetadataFromObject(objects->data[i]); 14824 14824 if (!psMetadataAddMetadata( 14825 14825 output, 14826 14826 PS_LIST_TAIL, 14827 P4 PWARPEDIMFILE_TABLE_NAME,14827 P4WARPEDIMFILE_TABLE_NAME, 14828 14828 PS_META_DUPLICATE_OK, 14829 14829 NULL, … … 14846 14846 return true; 14847 14847 } 14848 bool p4 PWarpedImfilePrintObject(FILE *stream, p4PWarpedImfileRow *object, bool mdcf)14848 bool p4WarpedImfilePrintObject(FILE *stream, p4WarpedImfileRow *object, bool mdcf) 14849 14849 { 14850 14850 PS_ASSERT_PTR_NON_NULL(object, false); 14851 14851 14852 psMetadata *md = p4 PWarpedImfileMetadataFromObject(object);14852 psMetadata *md = p4WarpedImfileMetadataFromObject(object); 14853 14853 14854 14854 if (!ippdbPrintMetadataRaw(stream, md, mdcf)) {
Note:
See TracChangeset
for help on using the changeset viewer.
