IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 35196 for trunk/ippTools


Ignore:
Timestamp:
Feb 21, 2013, 1:44:26 PM (13 years ago)
Author:
bills
Message:

tweaks to release tables. Further progress on releasetool

Location:
trunk/ippTools
Files:
2 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/ippTools/share/Makefile.am

    r35192 r35196  
    466466        releasetool_listrelease.sql \
    467467        releasetool_listrelexp.sql \
    468         releasetool_definerelexp.sql
     468        releasetool_definerelexp.sql \
     469        releasetool_definerelstack.sql \
     470        releasetool_definerelstack_with_skycal.sql
    469471
  • trunk/ippTools/share/pxadmin_create_tables.sql

    r35153 r35196  
    21242124      zpt_obs FLOAT,
    21252125      zpt_stdev FLOAT,
     2126      fwhm_major  FLOAT,
     2127      fwhm_minor  FLOAT,
    21262128      quality SMALLINT NOT NULL,
    21272129      hostname VARCHAR(64) NOT NULL,
     
    21852187    path_base   VARCHAR(255),   -- path_base of any supporting files for this
    21862188                                -- release of this exposure.
     2189    fault SMALLINT NOT NULL,
    21872190    registered  DATETIME,       -- insertion time for this row
    21882191    time_stamp  DATETIME,       -- time of last update for this row
     
    21902193    FOREIGN KEY(rel_id) REFERENCES ippRelease(rel_id),
    21912194    KEY (state),
     2195    KEY (fault),
    21922196    FOREIGN KEY(exp_id) REFERENCES rawExp(exp_id),
    21932197    FOREIGN KEY(chip_id) REFERENCES chipRun(chip_id),
     
    22012205    skycal_id   BIGINT,         -- id of the sky calibration run that supplied the calibration
    22022206                                -- for this release of this skycell.
    2203     skycell_id  varchar(64),
    2204     tess_id     varchar(64),
     2207    skycell_id  VARCHAR(64),
     2208    tess_id     VARCHAR(64),
     2209    filter      VARCHAR(16),
    22052210    state       VARCHAR(16),    -- released, pending, archive, drop 
    22062211    flags       INT UNSIGNED,
     
    22082213    zpt_obs     FLOAT,          -- calibrated zero point for this release of this skycell
    22092214    zpt_stdev   FLOAT,
    2210     fwhm_major  FLOAT,          -- seeing as measured by staticsky
     2215    mjd_obs     INT UNSIGNED,   -- for nightly stacks the mjd_obs
    22112216    path_base   VARCHAR(255),   -- path_base of any supporting files,
     2217    fault SMALLINT NOT NULL,
    22122218    registered  DATETIME,
    22132219    time_stamp  DATETIME,
    22142220    PRIMARY KEY (relstack_id),
    22152221    KEY (tess_id, skycell_id),
    2216     KEY (rel_id, tess_id, skycell_id),
     2222    KEY (rel_id, tess_id, skycell_id, filter, mjd_obs),
     2223    KEY (stack_type),
     2224    KEY (mjd_obs),
     2225    KEY (state),
     2226    KEY (fault),
    22172227    FOREIGN KEY(rel_id) REFERENCES ippRelease(rel_id),
    22182228    FOREIGN KEY(stack_id) REFERENCES stackRun(stack_id)
  • trunk/ippTools/src/releasetool.c

    r35152 r35196  
    201201        return false;
    202202    }
    203     PXOPT_LOOKUP_STR(release_state,       config->args, "-set_release_state",  true, false);
     203    PXOPT_LOOKUP_STR(release_state,    config->args, "-set_release_state",  false, false);
     204    PXOPT_LOOKUP_S32(priority,         config->args, "-set_priority",  false, false);
     205    if (!release_state && !priority) {
     206        psError(PXTOOLS_ERR_CONFIG, true, "at least one of -set_release_staate and -set_priority is required\n");
     207        return false;
     208    }
    204209
    205210    psMetadata *where = psMetadataAlloc();
     
    208213    PXOPT_COPY_STR(config->args, where, "-releaseName", "releaseName", "==");
    209214
    210     psString query = NULL;
    211     psStringAppend(&query, "UPDATE ippRelease SET release_state = '%s'", release_state);
     215    psString sep = "";
     216    psString comma = ", ";
     217    psString query = psStringCopy("UPDATE ippRelease SET");
     218    if (release_state) {
     219        psStringAppend(&query, "%s release_state = '%s'", sep, release_state);
     220        sep = comma;
     221    }
     222    if (priority != 0) {
     223        psStringAppend(&query, "%s priority = %d", sep, priority);
     224        sep = comma;
     225    }
    212226
    213227    psString whereClause = psDBGenerateWhereConditionSQL(where, NULL);
     
    334348    PXOPT_LOOKUP_STR(state, config->args,     "-set_state", true, false);
    335349    PXOPT_LOOKUP_U32(flags, config->args,     "-set_flags", false, false);
     350    PXOPT_LOOKUP_F32(zpt_obs, config->args,   "-set_zpt_obs", false, false);
     351    PXOPT_LOOKUP_F32(zpt_stdev, config->args, "-set_zpt_stdev", false, false);
    336352    PXOPT_LOOKUP_STR(path_base, config->args, "-set_path_base", false, false);
     353    PXOPT_LOOKUP_S16(fault, config->args,     "-set_fault", false, false);
    337354
    338355    PXOPT_LOOKUP_BOOL(pretend, config->args, "-pretend", false);
     
    398415        psS64 chip_id = psMetadataLookupS64(&status, md, "chip_id");
    399416        psS64 cam_id = psMetadataLookupS64(&status, md, "cam_id");
    400         psF32 zpt_obs = psMetadataLookupF32(&status, md, "zpt_obs");
    401         psF32 zpt_stdev = psMetadataLookupF32(&status, md, "zpt_stdev");
     417        // if zpt_obs or zpt_stdev were not supplied use the results from the camRun
     418        if (!isfinite(zpt_obs)) {
     419            zpt_obs = psMetadataLookupF32(&status, md, "zpt_obs");
     420        }
     421        if (!isfinite(zpt_stdev)) {
     422            zpt_stdev = psMetadataLookupF32(&status, md, "zpt_stdev");
     423        }
    402424
    403425        if (!relExpInsert(config->dbh,
     
    412434            zpt_stdev,
    413435            path_base,
     436            fault,
    414437            now,       // registered
    415438            now        // time_stamp
     
    546569    psMetadata *where = psMetadataAlloc();
    547570
    548     PXOPT_COPY_STR(config->args, where, "-label",      "skycalRun.label", "==");
    549     PXOPT_COPY_STR(config->args, where, "-data_group", "skycalRun.data_group", "==");
    550     PXOPT_COPY_S64(config->args, where, "-skycal_id",  "skcalRun.skycal_id", "==");
    551 
    552     // Insure that at least one of the skcalRun selectors is supplied
     571    bool includeSkycal = false;
     572
     573    PXOPT_COPY_S64(config->args, where, "-skycal_id",  "skycalRun.skycal_id", "==");
     574    PXOPT_COPY_STR(config->args, where, "-skycal_label", "skycalRun.label", "==");
     575    PXOPT_COPY_STR(config->args, where, "-skycal_data_group", "skycalRun.data_group", "==");
     576    if (psListLength(where->list)) {
     577        includeSkycal = true;
     578    }
     579
     580    PXOPT_COPY_STR(config->args, where, "-label",      "stackRun.label", "==");
     581    PXOPT_COPY_STR(config->args, where, "-data_group", "stackRun.data_group", "==");
     582    PXOPT_COPY_S64(config->args, where, "-stack_id",   "stackRun.stack_id", "==");
     583
     584    // Insure that at least one of the skycalRun selectors is supplied
    553585    if (!psListLength(where->list)) {
    554586        psFree(where);
     
    557589    }
    558590
    559     PXOPT_COPY_S64(config->args, where, "-stack_id",   "stackRun.stack_id", "==");
    560     PXOPT_COPY_STR(config->args, where, "-tess_id",    "stackRun.tess_id", "==");
    561     PXOPT_COPY_STR(config->args, where, "-skycell_id", "stackRun.skycell_id", "==");
     591    // PXOPT_COPY_STR(config->args, where, "-tess_id",    "stackRun.tess_id", "==");
     592    // PXOPT_COPY_STR(config->args, where, "-skycell_id", "stackRun.skycell_id", "==");
    562593
    563594    // insure that at least one of these is supplied to select the release
     
    580611    PXOPT_LOOKUP_F32(zpt_obs, config->args,   "-set_zpt_obs", false, false);
    581612    PXOPT_LOOKUP_F32(zpt_stdev, config->args, "-set_zpt_stdev", false, false);
    582     PXOPT_LOOKUP_F32(fwhm_major, config->args, "-set_fwhm_major", false, false);
    583613    PXOPT_LOOKUP_STR(path_base, config->args, "-set_path_base", false, false);
     614    PXOPT_LOOKUP_S16(fault, config->args,     "-set_fault", false, false);
    584615
    585616    PXOPT_LOOKUP_BOOL(pretend, config->args, "-pretend", false);
     
    587618
    588619    // find the parameters of all the exposures that we want to add to the release
    589     psString query = pxDataGet("releasetool_definerelstack.sql");
     620    psString query;
     621   
     622    if (includeSkycal) {
     623        query = pxDataGet("releasetool_definerelstack_with_skycal.sql");
     624    } else {
     625        query = pxDataGet("releasetool_definerelstack.sql");
     626    }
    590627    if (!query) {
    591628        psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement");
     
    620657    if (pretend) {
    621658        // negative simple so the default is true
    622         if (!ippdbPrintMetadatas(stdout, output, "chipRun", !simple)) {
     659        if (!ippdbPrintMetadatas(stdout, output, "relstack", !simple)) {
    623660            psError(PS_ERR_UNKNOWN, false, "failed to print array");
    624661            psFree(output);
     
    642679        bool status = true;
    643680        psS32 rel_id = psMetadataLookupS32(&status, md, "rel_id");
     681        psS64 stack_id = psMetadataLookupS64(&status, md, "stack_id");
    644682        psS64 skycal_id = psMetadataLookupS64(&status, md, "skycal_id");
    645683        psString skycell_id = psMetadataLookupStr(&status, md, "skycell_id");
    646684        psString tess_id = psMetadataLookupStr(&status, md, "tess_id");
    647         psString state = psMetadataLookupStr(&status, md, "state");
     685        psString filter = psMetadataLookupStr(&status, md, "filter");
    648686
    649687        // use skycal zero point measurement if not supplied with arguments
    650688        psF32 sc_zpt_obs = psMetadataLookupF32(&status, md, "zpt_obs");
    651689        psF32 sc_zpt_stdev = psMetadataLookupF32(&status, md, "zpt_stdev");
     690        psF32 stack_mjd_obs = psMetadataLookupF32(&status, md, "mjd_obs");
     691
     692        psU32 mjd_obs = 0;
     693        if (!strcmp(stack_type, "nightly")) {
     694            // only for nightly stacks do we set mjd_obs to a non zero value
     695            // We use integer day because this is part of the key that is used
     696            // to make sure entries are unique
     697            //      KEY (rel_id, tess_id, skycell_id, filter, mjd_obs),
     698            // 1 entry per release, skycell, filter and mjd_obs.
     699            // mjd_obs is zero for deep and reference stacks
     700            mjd_obs = (psU32) stack_mjd_obs;
     701        }
    652702
    653703        if (!relStackInsert(config->dbh,
    654704            0,          // relstack_id (auto increment)
    655705            rel_id,
     706            stack_id,
    656707            skycal_id,
    657708            skycell_id,
    658709            tess_id,
     710            filter,
    659711            state,
    660712            flags,
    661713            stack_type,
    662             isfinite(zpt_obs)  ? zpt_obs : sc_zpt_obs,
     714            isfinite(zpt_obs)   ? zpt_obs  : sc_zpt_obs,
    663715            isfinite(zpt_stdev) ? zpt_stdev : sc_zpt_stdev,
    664             fwhm_major,
     716            mjd_obs,
    665717            path_base,
     718            fault,
    666719            now,       // registered
    667720            now        // time_stamp
     
    671724            }
    672725            psError(PS_ERR_UNKNOWN, false,
    673                     "failed to trying to insert relExp for skycal_id %" PRId64, skycal_id);
     726                    "failed to trying to insert relStack for stack_id %" PRId64, stack_id);
    674727            psFree(output);
    675728            psFree(now);
     
    705758    PXOPT_COPY_TIME(config->args, where, "-dateobs_begin","rawExp.dateobs", ">=");
    706759    PXOPT_COPY_TIME(config->args, where, "-dateobs_end", "rawExp.dateobs", "<=");
    707     PXOPT_COPY_F32(config->args, where, "-fwhm_min",    "camProcessedExp.fwhm_major", ">=");
    708     PXOPT_COPY_F32(config->args, where, "-fwhm_max",    "camProcessedExp.fwhm_major", "<=");
    709     PXOPT_COPY_STR(config->args, where, "-exp_name",    "rawExp.exp_name", "==");
     760    PXOPT_COPY_F32(config->args, where, "-fwhm_min",    "skycalResult.fwhm_major", ">=");
     761    PXOPT_COPY_F32(config->args, where, "-fwhm_max",    "skycalresult.fwhm_major", "<=");
     762    PXOPT_COPY_STR(config->args, where, "-exp_name",    "rawExp.exp_ame", "==");
    710763    PXOPT_COPY_S64(config->args, where, "-exp_id",      "relExp.exp_id", "==");
    711764    PXOPT_COPY_S64(config->args, where, "-chip_id",     "relExp.chip_id", "==");
  • trunk/ippTools/src/releasetoolConfig.c

    r35048 r35196  
    6363    psMetadataAddS32(definereleaseArgs, PS_LIST_TAIL, "-set_dataRelease", 0,   "define dataRelease", -1);
    6464    psMetadataAddStr(definereleaseArgs, PS_LIST_TAIL, "-set_release_state", 0, "define release state", NULL);
    65     psMetadataAddS32(definereleaseArgs, PS_LIST_TAIL, "-set_priority", 0,      "define release priority", -1);
     65    psMetadataAddS32(definereleaseArgs, PS_LIST_TAIL, "-set_priority", 0,      "define release priority", 0);
    6666
    6767    // -uptdaterelease
     
    7373
    7474    // Only support changing state and priority for now
    75     psMetadataAddStr(updatereleaseArgs, PS_LIST_TAIL, "-set_release_state", 0,  "define new release state(required)", NULL);
     75    psMetadataAddStr(updatereleaseArgs, PS_LIST_TAIL, "-set_release_state", 0,  "define new release state", NULL);
    7676    psMetadataAddS32(updatereleaseArgs, PS_LIST_TAIL, "-set_priority", 0,       "define new release priority", 0);
    7777
     
    109109        // parameters of the relExp
    110110    psMetadataAddStr(definerelexpArgs,  PS_LIST_TAIL, "-set_state", 0,      "define state (required)", NULL);
    111     psMetadataAddStr(definerelexpArgs,  PS_LIST_TAIL, "-set_path_base", 0,  "define state", NULL);
    112111    psMetadataAddU32(definerelexpArgs,  PS_LIST_TAIL, "-set_flags", 0,      "define flags", 0);
    113 
    114     psMetadataAddBool(definerelexpArgs, PS_LIST_TAIL, "-pretend",  0, "do not actual modify the database", false);
     112    psMetadataAddF32(definerelexpArgs,  PS_LIST_TAIL, "-set_zpt_obs", 0,    "define zero point", NAN);
     113    psMetadataAddF32(definerelexpArgs,  PS_LIST_TAIL, "-set_zpt_stdev", 0,  "define zero point stdev", NAN);
     114    psMetadataAddStr(definerelexpArgs,  PS_LIST_TAIL, "-set_path_base", 0,  "define state (required)", NULL);
     115    psMetadataAddS16(definerelexpArgs,  PS_LIST_TAIL, "-set_fault", 0,      "define fault", 0);
     116
     117    psMetadataAddBool(definerelexpArgs, PS_LIST_TAIL, "-pretend",  0, "do not actually modify the database", false);
    115118    psMetadataAddBool(definerelexpArgs, PS_LIST_TAIL, "-simple",  0, "use the simpel output format", false);
    116119
     
    155158    psMetadataAddBool(listrelexpArgs, PS_LIST_TAIL, "-simple",      0, "use the simple output format", false);
    156159
     160    // -definerelstack
     161    psMetadata *definerelstackArgs = psMetadataAlloc();
     162
     163        // set the target release
     164    psMetadataAddStr(definerelstackArgs,  PS_LIST_TAIL, "-releaseName", 0, "define release name", NULL);
     165    psMetadataAddS32(definerelstackArgs, PS_LIST_TAIL,  "-rel_id", 0,      "define release ID", 0);
     166
     167        // select the processing
     168    psMetadataAddS64(definerelstackArgs, PS_LIST_TAIL,  "-stack_id", 0,    "select by stack ID", 0);
     169    psMetadataAddS64(definerelstackArgs, PS_LIST_TAIL,  "-skycal_id", 0,   "select by skycal ID", 0);
     170    psMetadataAddStr(definerelstackArgs,  PS_LIST_TAIL, "-label",  0,      "select by stackRun.label", NULL);
     171    psMetadataAddStr(definerelstackArgs,  PS_LIST_TAIL, "-data_group", 0,  "select by stackRun.data_group", NULL);
     172    psMetadataAddStr(definerelstackArgs,  PS_LIST_TAIL, "-skycal_label",  0, "select by skycalRun.label", NULL);
     173    psMetadataAddStr(definerelstackArgs,  PS_LIST_TAIL, "-skycal_data_group", 0,  "select by skycalRun.data_group", NULL);
     174
     175        // parameters of the relStack
     176    psMetadataAddStr(definerelstackArgs,  PS_LIST_TAIL, "-set_state", 0,      "define state (required)", NULL);
     177    psMetadataAddU32(definerelstackArgs,  PS_LIST_TAIL, "-set_flags", 0,      "define flags", 0);
     178    psMetadataAddStr(definerelstackArgs,  PS_LIST_TAIL, "-set_stack_type", 0, "define stack type (required)", NULL);
     179    psMetadataAddF32(definerelstackArgs,  PS_LIST_TAIL, "-set_zpt_obs", 0,    "define zero point", NAN);
     180    psMetadataAddF32(definerelstackArgs,  PS_LIST_TAIL, "-set_zpt_stdev", 0,  "define zero point stdev", NAN);
     181    psMetadataAddF32(definerelstackArgs,  PS_LIST_TAIL, "-set_fwhm_major", 0, "define fwhm_major", NAN);
     182    psMetadataAddStr(definerelstackArgs,  PS_LIST_TAIL, "-set_path_base", 0,  "define state (required)", NULL);
     183    psMetadataAddS16(definerelstackArgs,  PS_LIST_TAIL, "-set_fault", 0,      "define fault", 0);
     184
     185    psMetadataAddBool(definerelstackArgs, PS_LIST_TAIL, "-pretend",  0, "do not actually modify the database", false);
     186    psMetadataAddBool(definerelstackArgs, PS_LIST_TAIL, "-simple",  0, "use the simpel output format", false);
     187
     188    // ******************************************************************
     189
    157190    psMetadata *argSets = psMetadataAlloc();
    158191    psMetadata *modes = psMetadataAlloc();
     
    160193    PXOPT_ADD_MODE("-definesurvey",     "define a survey",              RELEASETOOL_MODE_DEFINESURVEY,  definesurveyArgs);
    161194    PXOPT_ADD_MODE("-listsurvey",       "list skycell parameters",      RELEASETOOL_MODE_LISTSURVEY,    listsurveyArgs);
     195
    162196    PXOPT_ADD_MODE("-definerelease",    "define a release",             RELEASETOOL_MODE_DEFINERELEASE, definereleaseArgs);
    163197    PXOPT_ADD_MODE("-updaterelease",    "update a release",             RELEASETOOL_MODE_UPDATERELEASE, updatereleaseArgs);
    164198    PXOPT_ADD_MODE("-listrelease",      "list releases",                RELEASETOOL_MODE_LISTRELEASE,   listreleaseArgs);
     199
    165200    PXOPT_ADD_MODE("-definerelexp",     "define a released exposure",   RELEASETOOL_MODE_DEFINERELEXP,  definerelexpArgs);
    166201    PXOPT_ADD_MODE("-updaterelexp",     "update a released exposure",   RELEASETOOL_MODE_UPDATERELEXP,  updaterelexpArgs);
    167202    PXOPT_ADD_MODE("-listrelexp",       "list released exposures",      RELEASETOOL_MODE_LISTRELEXP,    listrelexpArgs);
     203
     204    PXOPT_ADD_MODE("-definerelstack",     "define a released stack",    RELEASETOOL_MODE_DEFINERELSTACK,  definerelstackArgs);
     205
    168206
    169207    if (!pxGetOptions(stderr, argc, argv, config, modes, argSets)) {
Note: See TracChangeset for help on using the changeset viewer.