IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 10748 for trunk/ippdb/src


Ignore:
Timestamp:
Dec 15, 2006, 12:20:35 PM (20 years ago)
Author:
jhoblitt
Message:

VESRION 0.0.67

Location:
trunk/ippdb/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/ippdb/src/ippdb.c

    r10686 r10748  
    6565#define P4RUN_TABLE_NAME "p4Run"
    6666#define P4INPUTIMFILE_TABLE_NAME "p4InputImfile"
    67 #define P4PWARPEDIMFILE_TABLE_NAME "p4PWarpedImfile"
     67#define P4WARPEDIMFILE_TABLE_NAME "p4WarpedImfile"
    6868#define P4PSTACKEDIMFILE_TABLE_NAME "p4PStackedImfile"
    6969#define P4PDIFFIMFILE_TABLE_NAME "p4PDiffImfile"
     
    1445714457    return true;
    1445814458}
    14459 static void p4PWarpedImfileRowFree(p4PWarpedImfileRow *object);
    14460 
    14461 p4PWarpedImfileRow *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     p4PWarpedImfileRow *_object;
    14464 
    14465     _object = psAlloc(sizeof(p4PWarpedImfileRow));
    14466     psMemSetDeallocator(_object, (psFreeFunc)p4PWarpedImfileRowFree);
     14459static void p4WarpedImfileRowFree(p4WarpedImfileRow *object);
     14460
     14461p4WarpedImfileRow *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);
    1446714467
    1446814468    _object->p4_id = p4_id;
     
    1447714477}
    1447814478
    14479 static void p4PWarpedImfileRowFree(p4PWarpedImfileRow *object)
     14479static void p4WarpedImfileRowFree(p4WarpedImfileRow *object)
    1448014480{
    1448114481    psFree(object->exp_tag);
     
    1448614486}
    1448714487
    14488 bool p4PWarpedImfileCreateTable(psDB *dbh)
     14488bool p4WarpedImfileCreateTable(psDB *dbh)
    1448914489{
    1449014490    psMetadata *md = psMetadataAlloc();
     
    1452514525    }
    1452614526
    14527     bool status = psDBCreateTable(dbh, P4PWARPEDIMFILE_TABLE_NAME, md);
     14527    bool status = psDBCreateTable(dbh, P4WARPEDIMFILE_TABLE_NAME, md);
    1452814528
    1452914529    psFree(md);
     
    1453214532}
    1453314533
    14534 bool p4PWarpedImfileDropTable(psDB *dbh)
    14535 {
    14536     return psDBDropTable(dbh, P4PWARPEDIMFILE_TABLE_NAME);
    14537 }
    14538 
    14539 bool p4PWarpedImfileInsert(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)
     14534bool p4WarpedImfileDropTable(psDB *dbh)
     14535{
     14536    return psDBDropTable(dbh, P4WARPEDIMFILE_TABLE_NAME);
     14537}
     14538
     14539bool 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)
    1454014540{
    1454114541    psMetadata *md = psMetadataAlloc();
     
    1457614576    }
    1457714577
    14578     bool status = psDBInsertOneRow(dbh, P4PWARPEDIMFILE_TABLE_NAME, md);
     14578    bool status = psDBInsertOneRow(dbh, P4WARPEDIMFILE_TABLE_NAME, md);
    1457914579    psFree(md);
    1458014580
     
    1458214582}
    1458314583
    14584 long long p4PWarpedImfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
     14584long long p4WarpedImfileDelete(psDB *dbh, const psMetadata *where, unsigned long long limit)
    1458514585{
    1458614586    long long       deleted = 0;
    1458714587
    14588     long long count = psDBDeleteRows(dbh, P4PWARPEDIMFILE_TABLE_NAME, where, limit);
     14588    long long count = psDBDeleteRows(dbh, P4WARPEDIMFILE_TABLE_NAME, where, limit);
    1458914589    if (count < 0) {
    14590         psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4PWarpedImfile");
     14590        psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4WarpedImfile");
    1459114591        return count;
    1459214592
     
    1459614596    return deleted;
    1459714597}
    14598 bool p4PWarpedImfileInsertObject(psDB *dbh, p4PWarpedImfileRow *object)
    14599 {
    14600     return p4PWarpedImfileInsert(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 p4PWarpedImfileInsertObjects(psDB *dbh, psArray *objects)
     14598bool 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
     14603bool p4WarpedImfileInsertObjects(psDB *dbh, psArray *objects)
    1460414604{
    1460514605    for (long i = 0; i < psArrayLength(objects); i++) {
    14606         if (!p4PWarpedImfileInsertObject(dbh, objects->data[i])) {
     14606        if (!p4WarpedImfileInsertObject(dbh, objects->data[i])) {
    1460714607            return false;
    1460814608        }
     
    1461214612}
    1461314613
    14614 bool p4PWarpedImfileInsertFits(psDB *dbh, const psFits *fits)
     14614bool p4WarpedImfileInsertFits(psDB *dbh, const psFits *fits)
    1461514615{
    1461614616    psArray         *rowSet;
    1461714617
    14618     // move to (the first?) extension named  P4PWARPEDIMFILE_TABLE_NAME
    14619     if (!psFitsMoveExtName(fits, P4PWARPEDIMFILE_TABLE_NAME)) {
    14620         psError(PS_ERR_UNKNOWN, true, "failed to find FITS extension %s", P4PWARPEDIMFILE_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);
    1462114621        return false;
    1462214622    }
     
    1463614636    }
    1463714637
    14638     if (!psDBInsertRows(dbh, P4PWARPEDIMFILE_TABLE_NAME, rowSet)) {
     14638    if (!psDBInsertRows(dbh, P4WARPEDIMFILE_TABLE_NAME, rowSet)) {
    1463914639        psError(PS_ERR_UNKNOWN, false, "databse insert failed");
    1464014640        psFree(rowSet);
     
    1464714647}
    1464814648
    14649 bool p4PWarpedImfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
     14649bool p4WarpedImfileSelectRowsFits(psDB *dbh, psFits *fits, const psMetadata *where, unsigned long long limit)
    1465014650{
    1465114651    psArray         *rowSet;
    1465214652
    14653     rowSet = psDBSelectRows(dbh, P4PWARPEDIMFILE_TABLE_NAME, where, limit);
     14653    rowSet = psDBSelectRows(dbh, P4WARPEDIMFILE_TABLE_NAME, where, limit);
    1465414654    if (!rowSet) {
    1465514655        return false;
     
    1465714657
    1465814658    // output to fits
    14659     if (!psFitsWriteTable(fits, NULL, rowSet, P4PWARPEDIMFILE_TABLE_NAME)) {
     14659    if (!psFitsWriteTable(fits, NULL, rowSet, P4WARPEDIMFILE_TABLE_NAME)) {
    1466014660        psError(PS_ERR_UNKNOWN, false, "FITS table write failed");
    1466114661        psFree(rowSet);
     
    1466814668}
    1466914669
    14670 psMetadata *p4PWarpedImfileMetadataFromObject(const p4PWarpedImfileRow *object)
     14670psMetadata *p4WarpedImfileMetadataFromObject(const p4WarpedImfileRow *object)
    1467114671{
    1467214672    psMetadata *md = psMetadataAlloc();
     
    1471114711}
    1471214712
    14713 p4PWarpedImfileRow *p4PWarpedImfileObjectFromMetadata(psMetadata *md)
     14713p4WarpedImfileRow *p4WarpedImfileObjectFromMetadata(psMetadata *md)
    1471414714{
    1471514715
     
    1475114751    }
    1475214752
    14753     return p4PWarpedImfileRowAlloc(p4_id, exp_tag, p3_version, class_id, uri, b1_uri, b2_uri);
    14754 }
    14755 psArray *p4PWarpedImfileSelectRowObjects(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}
     14755psArray *p4WarpedImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
    1475614756{
    1475714757    psArray         *rowSet;
     
    1475914759    psU64           i;
    1476014760
    14761     rowSet = psDBSelectRows(dbh, P4PWARPEDIMFILE_TABLE_NAME, where, limit);
     14761    rowSet = psDBSelectRows(dbh, P4WARPEDIMFILE_TABLE_NAME, where, limit);
    1476214762    if (!rowSet) {
    1476314763        return NULL;
     
    1476914769
    1477014770    for (i = 0; i < rowSet->n; i++) {
    14771         p4PWarpedImfileRow *object = p4PWarpedImfileObjectFromMetadata(rowSet->data[i]);
     14771        p4WarpedImfileRow *object = p4WarpedImfileObjectFromMetadata(rowSet->data[i]);
    1477214772        psArrayAdd(returnSet, 0, object);
    1477314773        psFree(object);
     
    1477814778    return returnSet;
    1477914779}
    14780 bool p4PWarpedImfileDeleteObject(psDB *dbh, const p4PWarpedImfileRow *object)
    14781 {
    14782     psMetadata *where = p4PWarpedImfileMetadataFromObject(object);
    14783     long long count = psDBDeleteRows(dbh, P4PWARPEDIMFILE_TABLE_NAME, where, 0);
     14780bool p4WarpedImfileDeleteObject(psDB *dbh, const p4WarpedImfileRow *object)
     14781{
     14782    psMetadata *where = p4WarpedImfileMetadataFromObject(object);
     14783    long long count = psDBDeleteRows(dbh, P4WARPEDIMFILE_TABLE_NAME, where, 0);
    1478414784    psFree(where)
    1478514785    if (count < 0) {
    14786         psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4PWarpedImfile");
     14786        psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4WarpedImfile");
    1478714787        return false;
    1478814788    }
     
    1479014790        // XXX should this be a psAbort() instead?  It is possible that
    1479114791        // having an object match multiple rows was by design.
    14792         psError(PS_ERR_UNKNOWN, true, "p4PWarpedImfileRow object matched more then one row.  Check your database schema");
    14793         return false;
    14794     }
    14795 
    14796     return true;
    14797 }
    14798 long long p4PWarpedImfileDeleteRowObjects(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}
     14798long long p4WarpedImfileDeleteRowObjects(psDB *dbh, const psArray *objects, unsigned long long limit)
    1479914799{
    1480014800    long long       deleted = 0;
    1480114801
    1480214802    for (long long i = 0; i < objects->n; i++) {
    14803         p4PWarpedImfileRow *object = objects->data[i];
    14804         psMetadata *where = p4PWarpedImfileMetadataFromObject(object);
    14805         long long count = psDBDeleteRows(dbh, P4PWARPEDIMFILE_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);
    1480614806        psFree(where)
    1480714807        if (count < 0) {
    14808             psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4PWarpedImfile");
     14808            psError(PS_ERR_UNKNOWN, true, "failed to delete row from p4WarpedImfile");
    1480914809            return count;
    1481014810        }
     
    1481514815    return deleted;
    1481614816}
    14817 bool p4PWarpedImfilePrintObjects(FILE *stream, psArray *objects, bool mdcf)
     14817bool p4WarpedImfilePrintObjects(FILE *stream, psArray *objects, bool mdcf)
    1481814818{
    1481914819    PS_ASSERT_PTR_NON_NULL(objects, false);
     
    1482114821    psMetadata *output = psMetadataAlloc();
    1482214822    for (long i = 0; i < psArrayLength(objects); i++) {
    14823         psMetadata *md = p4PWarpedImfileMetadataFromObject(objects->data[i]);
     14823        psMetadata *md = p4WarpedImfileMetadataFromObject(objects->data[i]);
    1482414824        if (!psMetadataAddMetadata(
    1482514825            output,
    1482614826            PS_LIST_TAIL,
    14827             P4PWARPEDIMFILE_TABLE_NAME,
     14827            P4WARPEDIMFILE_TABLE_NAME,
    1482814828            PS_META_DUPLICATE_OK,
    1482914829            NULL,
     
    1484614846    return true;
    1484714847}
    14848 bool p4PWarpedImfilePrintObject(FILE *stream, p4PWarpedImfileRow *object, bool mdcf)
     14848bool p4WarpedImfilePrintObject(FILE *stream, p4WarpedImfileRow *object, bool mdcf)
    1484914849{
    1485014850    PS_ASSERT_PTR_NON_NULL(object, false);
    1485114851
    14852     psMetadata *md = p4PWarpedImfileMetadataFromObject(object);
     14852    psMetadata *md = p4WarpedImfileMetadataFromObject(object);
    1485314853
    1485414854    if (!ippdbPrintMetadataRaw(stream, md, mdcf)) {
  • trunk/ippdb/src/ippdb.h

    r10686 r10748  
    74397439    bool            mdcf                ///< format as mdconfig or simple
    74407440);
    7441 /** p4PWarpedImfileRow data structure
    7442  *
    7443  * Structure for representing a single row of p4PWarpedImfile table data.
     7441/** p4WarpedImfileRow data structure
     7442 *
     7443 * Structure for representing a single row of p4WarpedImfile table data.
    74447444 */
    74457445
     
    74527452    char            *b1_uri;
    74537453    char            *b2_uri;
    7454 } p4PWarpedImfileRow;
    7455 
    7456 /** Creates a new p4PWarpedImfileRow object
    7457  *
    7458  *  @return A new p4PWarpedImfileRow object or NULL on failure.
    7459  */
    7460 
    7461 p4PWarpedImfileRow *p4PWarpedImfileRowAlloc(
     7454} p4WarpedImfileRow;
     7455
     7456/** Creates a new p4WarpedImfileRow object
     7457 *
     7458 *  @return A new p4WarpedImfileRow object or NULL on failure.
     7459 */
     7460
     7461p4WarpedImfileRow *p4WarpedImfileRowAlloc(
    74627462    psS32           p4_id,
    74637463    const char      *exp_tag,
     
    74697469);
    74707470
    7471 /** Creates a new p4PWarpedImfile table
    7472  *
    7473  * @return true on success
    7474  */
    7475 
    7476 bool p4PWarpedImfileCreateTable(
     7471/** Creates a new p4WarpedImfile table
     7472 *
     7473 * @return true on success
     7474 */
     7475
     7476bool p4WarpedImfileCreateTable(
    74777477    psDB            *dbh                ///< Database handle
    74787478);
    74797479
    7480 /** Deletes a p4PWarpedImfile table
    7481  *
    7482  * @return true on success
    7483  */
    7484 
    7485 bool p4PWarpedImfileDropTable(
     7480/** Deletes a p4WarpedImfile table
     7481 *
     7482 * @return true on success
     7483 */
     7484
     7485bool p4WarpedImfileDropTable(
    74867486    psDB            *dbh                ///< Database handle
    74877487);
     
    74947494 */
    74957495
    7496 bool p4PWarpedImfileInsert(
     7496bool p4WarpedImfileInsert(
    74977497    psDB            *dbh,               ///< Database handle
    74987498    psS32           p4_id,
     
    75107510 */
    75117511
    7512 long long p4PWarpedImfileDelete(
     7512long long p4WarpedImfileDelete(
    75137513    psDB            *dbh,               ///< Database handle
    75147514    const psMetadata *where,            ///< Row match criteria
     
    75167516);
    75177517
    7518 /** Insert a single p4PWarpedImfileRow object into a table
     7518/** Insert a single p4WarpedImfileRow object into a table
    75197519 *
    75207520 * This function constructs and inserts a single row based on it's parameters.
     
    75237523 */
    75247524
    7525 bool p4PWarpedImfileInsertObject(
    7526     psDB            *dbh,               ///< Database handle
    7527     p4PWarpedImfileRow *object             ///< p4PWarpedImfileRow object
    7528 );
    7529 
    7530 /** Insert an array of p4PWarpedImfileRow object into a table
     7525bool p4WarpedImfileInsertObject(
     7526    psDB            *dbh,               ///< Database handle
     7527    p4WarpedImfileRow *object             ///< p4WarpedImfileRow object
     7528);
     7529
     7530/** Insert an array of p4WarpedImfileRow object into a table
    75317531 *
    75327532 * This function constructs and inserts multiple rows based on it's parameters.
     
    75357535 */
    75367536
    7537 bool p4PWarpedImfileInsertObjects(
    7538     psDB            *dbh,               ///< Database handle
    7539     psArray         *objects            ///< array of p4PWarpedImfileRow objects
    7540 );
    7541 
    7542 /** Insert data from a binary FITS table p4PWarpedImfileRow into the database
     7537bool p4WarpedImfileInsertObjects(
     7538    psDB            *dbh,               ///< Database handle
     7539    psArray         *objects            ///< array of p4WarpedImfileRow objects
     7540);
     7541
     7542/** Insert data from a binary FITS table p4WarpedImfileRow into the database
    75437543 *
    75447544 * This function expects a psFits object with a FITS table as the first
     
    75507550 */
    75517551
    7552 bool p4PWarpedImfileInsertFits(
     7552bool p4WarpedImfileInsertFits(
    75537553    psDB            *dbh,               ///< Database handle
    75547554    const psFits    *fits               ///< psFits object
     
    75657565 */
    75667566
    7567 bool p4PWarpedImfileSelectRowsFits(
     7567bool p4WarpedImfileSelectRowsFits(
    75687568    psDB            *dbh,               ///< Database handle
    75697569    psFits          *fits,              ///< psFits object
     
    75727572);
    75737573
    7574 /** Convert a p4PWarpedImfileRow into an equivalent psMetadata
     7574/** Convert a p4WarpedImfileRow into an equivalent psMetadata
    75757575 *
    75767576 * @return A psMetadata pointer or NULL on error
    75777577 */
    75787578
    7579 psMetadata *p4PWarpedImfileMetadataFromObject(
    7580     const p4PWarpedImfileRow *object             ///< fooRow to convert into a psMetadata
     7579psMetadata *p4WarpedImfileMetadataFromObject(
     7580    const p4WarpedImfileRow *object             ///< fooRow to convert into a psMetadata
    75817581);
    75827582
    75837583/** Convert a psMetadata into an equivalent fooRow
    75847584 *
    7585  * @return A p4PWarpedImfileRow pointer or NULL on error
    7586  */
    7587 
    7588 p4PWarpedImfileRow *p4PWarpedImfileObjectFromMetadata(
     7585 * @return A p4WarpedImfileRow pointer or NULL on error
     7586 */
     7587
     7588p4WarpedImfileRow *p4WarpedImfileObjectFromMetadata(
    75897589    psMetadata      *md                 ///< psMetadata to convert into a fooRow
    75907590);
    7591 /** Selects up to limit rows from the database and returns as p4PWarpedImfileRow objects in a psArray
     7591/** Selects up to limit rows from the database and returns as p4WarpedImfileRow objects in a psArray
    75927592 *
    75937593 *  See psDBSelectRows() for documentation on the format of where.
     
    75967596 */
    75977597
    7598 psArray *p4PWarpedImfileSelectRowObjects(
     7598psArray *p4WarpedImfileSelectRowObjects(
    75997599    psDB            *dbh,               ///< Database handle
    76007600    const psMetadata *where,            ///< Row match criteria
    76017601    unsigned long long limit            ///< Maximum number of elements to return
    76027602);
    7603 /** Deletes a row from the database coresponding to an p4PWarpedImfile
     7603/** Deletes a row from the database coresponding to an p4WarpedImfile
    76047604 *
    76057605 *  Note that a 'where' search psMetadata is constructed from each object and
     
    76097609 */
    76107610
    7611 bool p4PWarpedImfileDeleteObject(
    7612     psDB            *dbh,               ///< Database handle
    7613     const p4PWarpedImfileRow *object    ///< Object to delete
     7611bool p4WarpedImfileDeleteObject(
     7612    psDB            *dbh,               ///< Database handle
     7613    const p4WarpedImfileRow *object    ///< Object to delete
    76147614);
    76157615/** Deletes up to limit rows from the database and returns the number of rows actually deleted.
     
    76217621 */
    76227622
    7623 long long p4PWarpedImfileDeleteRowObjects(
     7623long long p4WarpedImfileDeleteRowObjects(
    76247624    psDB            *dbh,               ///< Database handle
    76257625    const psArray   *objects,           ///< Array of objects to delete
    76267626    unsigned long long limit            ///< Maximum number of elements to delete
    76277627);
    7628 /** Formats and prints an array of p4PWarpedImfileRow objects
     7628/** Formats and prints an array of p4WarpedImfileRow objects
    76297629 *
    76307630 * When mdcf is set the formated output is in psMetadataConfig
     
    76347634 */
    76357635
    7636 bool p4PWarpedImfilePrintObjects(
     7636bool p4WarpedImfilePrintObjects(
    76377637    FILE            *stream,            ///< a stream
    7638     psArray         *objects,           ///< An array of p4PWarpedImfileRow objects
     7638    psArray         *objects,           ///< An array of p4WarpedImfileRow objects
    76397639    bool            mdcf                ///< format as mdconfig or simple
    76407640);
    7641 /** Formats and prints an p4PWarpedImfileRow object
     7641/** Formats and prints an p4WarpedImfileRow object
    76427642 *
    76437643 * When mdcf is set the formated output is in psMetadataConfig
     
    76477647 */
    76487648
    7649 bool p4PWarpedImfilePrintObject(
     7649bool p4WarpedImfilePrintObject(
    76507650    FILE            *stream,            ///< a stream
    7651     p4PWarpedImfileRow *object,    ///< an p4PWarpedImfileRow object
     7651    p4WarpedImfileRow *object,    ///< an p4WarpedImfileRow object
    76527652    bool            mdcf                ///< format as mdconfig or simple
    76537653);
Note: See TracChangeset for help on using the changeset viewer.