IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 21308


Ignore:
Timestamp:
Feb 5, 2009, 9:35:41 AM (17 years ago)
Author:
bills
Message:

Changed the way image ids are handled. For chip and warp new tables are
added the sole purpose of which are to create the image ids before
the images are created. For diff the id is added to diffInputSkyfile

Location:
trunk/ippTools
Files:
16 edited

Legend:

Unmodified
Added
Removed
  • trunk/ippTools/configure.ac

    r20973 r21308  
    11AC_PREREQ(2.61)
    22
    3 AC_INIT([ipptools], [1.1.36], [ipp-support@ifa.hawaii.edu])
     3AC_INIT([ipptools], [1.1.37], [ipp-support@ifa.hawaii.edu])
    44AC_CONFIG_SRCDIR([autogen.sh])
    55
     
    1818PKG_CHECK_MODULES([PSLIB], [pslib >= 1.1.0])
    1919PKG_CHECK_MODULES([PSMODULES], [psmodules >= 1.1.0])
    20 PKG_CHECK_MODULES([IPPDB], [ippdb >= 1.1.47])
     20PKG_CHECK_MODULES([IPPDB], [ippdb >= 1.1.48])
    2121
    2222PXTOOLS_CFLAGS="${PSLIB_CFLAGS=} ${PSMODULES_CFLAGS=} ${IPPDB_CFLAGS=}"
  • trunk/ippTools/share/chiptool_pendingimfile.sql

    r20934 r21308  
    11SELECT
    22    chipRun.*,
    3     0 as chip_imfile_id,
     3    chipImfile.chip_imfile_id,
    44    rawImfile.class_id,
    55    rawImfile.uri,
     
    99    rawExp.telescope,
    1010    rawExp.filelevel
    11 FROM chipRun
     11FROM chipImfile
     12JOIN chipRun
     13    USING(chip_id)
    1214JOIN rawExp
    1315    USING(exp_id)
  • trunk/ippTools/share/chiptool_processedimfile.sql

    r18948 r21308  
    11SELECT DISTINCT
     2    chipProcessedImfile.chip_id,
     3    chipImfile.chip_imfile_id,
    24    chipProcessedImfile.class_id,
    35    chipProcessedImfile.uri,
     
    1416    rawExp.filelevel
    1517FROM chipRun
     18JOIN chipImfile
     19    USING(chip_id)
    1620JOIN chipProcessedImfile
    1721    USING(chip_id)
    1822JOIN rawExp
    1923    ON chipProcessedImfile.exp_id = rawExp.exp_id
    20 WHERE
    21 -- bogus test; just here so there there is a 'WHERE' stmt to append conditionals too
    22     chipProcessedImfile.exp_id is NOT NULL
    23 
  • trunk/ippTools/share/difftool_definebyquery_part2.sql

    r21237 r21308  
    22INSERT INTO skycellsToDiff
    33    SELECT
    4         0,              -- diff_id
     4        0,                      -- diff_id
    55        warpSkyfile.skycell_id,
    6         warp_id,        -- warp1
    7         NULL,           -- stack1
    8         NULL,           -- warp2
    9         max_stack_id,   -- stack2
    10         warpSkyfile.tess_id
     6        warpSkyfile.warp_id,    -- warp1
     7        NULL,                   -- stack1
     8        NULL,                   -- warp2
     9        max_stack_id,           -- stack2
     10        warpSkyfile.tess_id,
     11        0
    1112        FROM warpSkyfile
    1213        JOIN warpRun USING(warp_id)
     
    2829        USING(skycell_id)
    2930        WHERE
    30             warp_id = %lld
     31            warpSkyfile.warp_id = %lld
    3132            AND ignored = 0
    3233            AND filter = '%s'
  • trunk/ippTools/share/difftool_definebyquery_temp_create.sql

    r20973 r21308  
    66warp2 BIGINT,
    77stack2 BIGINT,
    8 tess_id VARCHAR(64)
     8tess_id VARCHAR(64),
     9diff_skycell_id BIGINT
    910) ENGINE=MEMORY;
  • trunk/ippTools/share/difftool_skyfile.sql

    r21189 r21308  
    11SELECT
    22    diffSkyfile.*,
     3    diffInputSkyfile.diff_skyfile_id,
    34    diffRun.tess_id,
    45    diffRun.state,
  • trunk/ippTools/share/difftool_todiffskyfile.sql

    r20973 r21308  
    44SELECT DISTINCT
    55    diffRun.diff_id,
    6     0 as diff_skyfile_id,
     6    diffInputSkyfile.diff_skyfile_id,
    77    diffRun.workdir,
    88    diffInputSkyfile.skycell_id,
  • trunk/ippTools/share/pxadmin_create_tables.sql

    r20973 r21308  
    275275ENGINE=innodb DEFAULT CHARSET=latin1;
    276276
     277CREATE TABLE chipImfile (
     278    chip_id BIGINT,
     279    class_id VARCHAR(64),
     280    chip_imfile_id BIGINT AUTO_INCREMENT,
     281    PRIMARY KEY(chip_id, class_id),
     282    KEY(chip_imfile_id),
     283    FOREIGN KEY (chip_id) REFERENCES  chipRun(chip_id))
     284ENGINE=innodb DEFAULT CHARSET=latin1;
     285
    277286CREATE TABLE chipProcessedImfile (
    278287    chip_id BIGINT,
     
    333342    path_base VARCHAR(255),
    334343    fault SMALLINT NOT NULL,
    335     chip_image_id BIGINT AUTO_INCREMENT,
    336344    magicked BIGINT,
    337345    PRIMARY KEY(chip_id, exp_id, class_id),
    338346    KEY(data_state),
    339347    KEY(fault),
    340     KEY(chip_image_id),
    341348    FOREIGN KEY (chip_id, exp_id)
    342349        REFERENCES  chipRun(chip_id, exp_id),
     
    846853) ENGINE=innodb DEFAULT CHARSET=latin1;
    847854
     855CREATE TABLE warpImfile (
     856    warp_id BIGINT,
     857    skycell_id VARCHAR(64),
     858    warp_skyfile_id BIGINT AUTO_INCREMENT,
     859    PRIMARY KEY(warp_id, skycell_id),
     860    KEY(warp_skyfile_id),
     861    FOREIGN KEY (warp_id) REFERENCES  warpRun(warp_id))
     862ENGINE=innodb DEFAULT CHARSET=latin1;
     863
     864
    848865CREATE TABLE warpSkyfile (
    849866    warp_id BIGINT,
     
    865882    ignored TINYINT,
    866883    fault SMALLINT,
    867     warp_image_id BIGINT AUTO_INCREMENT,
    868884    magicked TINYINT,
    869885    PRIMARY KEY(warp_id, skycell_id, tess_id),
    870886    KEY(good_frac),
    871887    KEY(ignored), KEY(fault),
    872     KEY(warp_image_id),
    873888    FOREIGN KEY (warp_id, skycell_id, tess_id)
    874889        REFERENCES warpSkyCellMap(warp_id, skycell_id, tess_id)
     
    965980        stack2 BIGINT,
    966981        tess_id VARCHAR(64),
    967         PRIMARY KEY(diff_id, skycell_id),
     982        diff_skyfile_id BIGINT AUTO_INCREMENT,
     983        KEY(diff_id, skycell_id),
     984        KEY(diff_skyfile_id),
    968985        KEY(warp1),
    969986        KEY(warp2),
     
    10041021        good_frac FLOAT,
    10051022        fault SMALLINT,
    1006         diff_image_id BIGINT AUTO_INCREMENT,
    10071023        magicked TINYINT,
    10081024        PRIMARY KEY(diff_id, skycell_id),
    10091025        KEY(good_frac),
    10101026        KEY(fault),
    1011         KEY(diff_image_id),
    10121027        FOREIGN KEY (diff_id)  REFERENCES  diffRun(diff_id)
    10131028) ENGINE=innodb DEFAULT CHARSET=latin1;
  • trunk/ippTools/share/pxadmin_drop_tables.sql

    r20786 r21308  
    1212DROP TABLE IF EXISTS chipRun;
    1313DROP TABLE IF EXISTS chipProcessedImfile;
     14DROP TABLE IF EXISTS chipImfile;
    1415DROP TABLE IF EXISTS chipMask;
    1516DROP TABLE IF EXISTS camRun;
     
    3334DROP TABLE IF EXISTS warpRun;
    3435DROP TABLE IF EXISTS warpSkyCellMap;
     36DROP TABLE IF EXISTS warpImfile;
    3537DROP TABLE IF EXISTS warpSkyfile;
    3638DROP TABLE IF EXISTS warpMask;
  • trunk/ippTools/share/warptool_towarped.sql

    r20934 r21308  
    11SELECT DISTINCT
    22    warpSkyCellMap.warp_id,
    3     0 as warp_skyfile_id,
     3    warpImfile.warp_skyfile_id,
    44    warpSkyCellMap.skycell_id,
    55    warpSkyCellMap.tess_id,
     
    1313JOIN warpSkyCellMap
    1414    USING(warp_id)
     15JOIN warpImfile
     16    ON warpSkyCellMap.warp_id = warpImfile.warp_id
     17    AND warpSkyCellMap.skycell_id = warpImfile.skycell_id
    1518JOIN fakeRun
    1619    USING(fake_id)
  • trunk/ippTools/src/chiptool.c

    r20973 r21308  
    485485                                   path_base,
    486486                                   code,
    487                                    0,   // chip_image_id
    488487                                   0    // magic_ds_id
    489488            )) {
     
    530529    pxchipGetSearchArgs (config, where); // chipRun, chipProcessedImfile, rawExp
    531530    PXOPT_COPY_S64(config->args, where, "-chip_id", "chipRun.chip_id", "==");
     531    PXOPT_COPY_S64(config->args, where, "-chip_imfile_id", "chipImfile.chip_imfile_id", "==");
    532532    PXOPT_COPY_STR(config->args, where, "-class_id", "chipProcessedImfile.class_id", "==");
    533533    PXOPT_COPY_STR(config->args, where, "-reduction", "chipRun.reduction", "==");
     
    542542    if (where && psListLength(where->list)) {
    543543        psString whereClause = psDBGenerateWhereConditionSQL(where, NULL);
    544         psStringAppend(&query, " AND %s", whereClause);
     544        psStringAppend(&query, " WHERE %s", whereClause);
    545545        psFree(whereClause);
    546546    }
  • trunk/ippTools/src/chiptoolConfig.c

    r20244 r21308  
    150150    // -processedimfile
    151151    psMetadata *processedimfileArgs = psMetadataAlloc();
    152     psMetadataAddS64(processedimfileArgs, PS_LIST_TAIL, "-chip_id",  0,         "define chip ID", 0);
     152    psMetadataAddS64(processedimfileArgs, PS_LIST_TAIL, "-chip_id",  0,         "search by  chip ID", 0);
     153    psMetadataAddS64(processedimfileArgs, PS_LIST_TAIL, "-chip_imfile_id",  0,  "search by chip_file_id", 0);
    153154    psMetadataAddStr(processedimfileArgs,  PS_LIST_TAIL, "-class_id",           0, "search by class ID", NULL);
    154155    psMetadataAddStr(processedimfileArgs,  PS_LIST_TAIL, "-reduction",          0, "search by reduction class", NULL);
  • trunk/ippTools/src/difftool.c

    r21237 r21308  
    239239            warp2 ? warp2 : PS_MAX_S64, // defined or NULL
    240240            stack2 ? stack2 : PS_MAX_S64, // defined or NULL
    241             tess_id
     241            tess_id,
     242            0                             // diff_skyfile_id
    242243        )) {
    243244        if (!psDBRollback(config->dbh)) {
     
    532533                           good_frac,
    533534                           code,
    534                            0,       // diff_image_id
    535535                           0        // magic_ds_id
    536536          )) {
     
    568568    PXOPT_COPY_S64(config->args, where,  "-diff_id", "diffSkyfile.diff_id", "==");
    569569    PXOPT_COPY_STR(config->args, where, "-skycell_id", "diffInputSkyfile.skycell_id", "==");
    570     PXOPT_COPY_S64(config->args, where,  "-diff_image_id", "diffSkyfile.diff_image_id", "==");
     570    PXOPT_COPY_S64(config->args, where,  "-diff_skyfile_id", "diffInputSkyfile.diff_skyfile_id", "==");
    571571    PXOPT_COPY_STR(config->args, where, "-tess_id", "diffSkyfile.tess_id", "==");
    572572    PXOPT_COPY_S16(config->args, where, "-code", "diffSkyfile.fault", "==");
     
    834834            template_warp_id,
    835835            template_stack_id,
    836             tess_id
     836            tess_id,
     837            0
    837838        )) {
    838839        if (!psDBRollback(config->dbh)) {
  • trunk/ippTools/src/difftoolConfig.c

    r21188 r21308  
    115115    psMetadataAddS64(diffskyfileArgs, PS_LIST_TAIL, "-diff_id", 0,            "search by diff ID", 0);
    116116    psMetadataAddStr(diffskyfileArgs , PS_LIST_TAIL, "-skycell_id",  0,       "define skycell ID", NULL);
    117     psMetadataAddS64(diffskyfileArgs, PS_LIST_TAIL, "-diff_image_id", 0,      "search by diff_image_id ID", 0);
     117    psMetadataAddS64(diffskyfileArgs, PS_LIST_TAIL, "-diff_skyfile_id", 0,    "search by diff_skyfile_id ID", 0);
    118118    psMetadataAddStr(diffskyfileArgs, PS_LIST_TAIL, "-tess_id",  0,            "define tessellation ID", NULL);
    119119    psMetadataAddS64(diffskyfileArgs, PS_LIST_TAIL, "-exp_id",  0,            "define exposure ID", 0);
  • trunk/ippTools/src/pxchip.c

    r20750 r21308  
    235235    PS_ASSERT_PTR_NON_NULL(config, false);
    236236
     237    if (!psDBTransaction(config->dbh)) {
     238        psError(PS_ERR_UNKNOWN, false, "database error");
     239        return false;
     240    }
     241
     242
    237243    // create a chipRun
    238244    if (!chipRunInsert(config->dbh,
     
    249255            end_stage)
    250256    ) {
     257        if (!psDBRollback(config->dbh)) {
     258            psError(PS_ERR_UNKNOWN, false, "database error failed to rollback transaction");
     259        }
    251260        psError(PS_ERR_UNKNOWN, false, "database error");
    252261        return 0;
    253262    }
    254263
    255     return psDBLastInsertID(config->dbh);
    256 }
    257 
     264    psS64 chip_id =  psDBLastInsertID(config->dbh);
     265
     266    // Create rows in chipImfile table for each input exposure.
     267    // This creates the chip_image_id values
     268    psString query = "INSERT INTO chipImfile "
     269                     "SELECT %" PRId64 ", class_id, 0 FROM rawImfile WHERE exp_id = %" PRId64;
     270
     271    if (!p_psDBRunQuery(config->dbh, query, chip_id, exp_id)) {
     272        psError(PS_ERR_UNKNOWN, false, "database error");
     273        // rollback
     274        if (!psDBRollback(config->dbh)) {
     275            psError(PS_ERR_UNKNOWN, false, "database error");
     276        }
     277        psError(PS_ERR_UNKNOWN, false, "database error");
     278        return 0;
     279    }
     280    if (!psDBCommit(config->dbh)) {
     281        psError(PS_ERR_UNKNOWN, false, "database error");
     282        return 0;
     283    }
     284   
     285    return chip_id;
     286}
     287
  • trunk/ippTools/src/warptool.c

    r20973 r21308  
    681681{
    682682    unsigned int nFail = 0;
     683    psMetadata *imfiles = psMetadataAlloc();
    683684    psMetadata *skycells = psMetadataConfigRead(NULL, &nFail, mapfile, false);
    684685    if (!skycells) {
     
    689690        psError(PS_ERR_UNKNOWN, false, "there were %d errors parsing mapfile: %s", nFail, mapfile);
    690691        psFree(skycells);
     692        psFree(imfiles);
    691693        return false;
    692694    }
     
    699701            psFree(iter);
    700702            psFree(skycells);
     703            psFree(imfiles);
    701704            return false;
    702705        }
     
    710713            psFree(iter);
    711714            psFree(skycells);
    712             return false;
    713         }
     715            psFree(imfiles);
     716            return false;
     717        }
     718        psMetadataAddS64(imfiles, PS_LIST_TAIL, row->skycell_id, PS_META_REPLACE, "", row->warp_id);
    714719
    715720        if (!warpSkyCellMapInsertObject(config->dbh, row)) {
     
    726731            psFree(iter);
    727732            psFree(skycells);
     733            psFree(imfiles);
    728734            return false;
    729735        }
    730736
    731737        psFree(row);
     738    }
     739    psFree(iter);
     740
     741    // create warp_skyfile_ids for the output skyfiles
     742    psString query = "INSERT INTO warpImfile VALUES(%" PRId64 ", '%s', 0)";
     743    iter = psMetadataIteratorAlloc(imfiles, 0, NULL);
     744    while ((item = psMetadataGetAndIncrement(iter))) {
     745        psString skycell_id = item->name;
     746        psS64 warp_id = item->data.S64;
     747
     748        if (!p_psDBRunQuery(config->dbh, query, warp_id, skycell_id)) {
     749            psError(PS_ERR_UNKNOWN, false, "database error");
     750            return false;
     751        }
    732752    }
    733753    psFree(iter);
    734754    psFree(skycells);
     755    psFree(imfiles);
    735756
    736757    return true;
     
    940961                           !accept,
    941962                           code,
    942                            0,           // warp_image_id
    943963                           0            // magic_ds_id
    944964        )) {
Note: See TracChangeset for help on using the changeset viewer.