Changeset 28017 for branches/czw_branch/20100427/ippTools/src
- Timestamp:
- May 18, 2010, 5:06:01 PM (16 years ago)
- Location:
- branches/czw_branch/20100427
- Files:
-
- 25 edited
-
. (modified) (1 prop)
-
ippTools/src/camtool.c (modified) (4 diffs)
-
ippTools/src/camtoolConfig.c (modified) (1 diff)
-
ippTools/src/chiptool.c (modified) (7 diffs)
-
ippTools/src/chiptoolConfig.c (modified) (1 diff)
-
ippTools/src/difftool.c (modified) (15 diffs)
-
ippTools/src/difftool.h (modified) (1 diff)
-
ippTools/src/difftoolConfig.c (modified) (4 diffs)
-
ippTools/src/magicdstool.c (modified) (3 diffs)
-
ippTools/src/magictool.c (modified) (3 diffs)
-
ippTools/src/magictool.h (modified) (1 diff)
-
ippTools/src/magictoolConfig.c (modified) (2 diffs)
-
ippTools/src/pstamptool.c (modified) (28 diffs)
-
ippTools/src/pstamptool.h (modified) (1 diff)
-
ippTools/src/pstamptoolConfig.c (modified) (8 diffs)
-
ippTools/src/pxcam.c (modified) (2 diffs)
-
ippTools/src/pxchip.c (modified) (3 diffs)
-
ippTools/src/pxtools.c (modified) (2 diffs)
-
ippTools/src/pxtools.h (modified) (2 diffs)
-
ippTools/src/pxwarp.c (modified) (1 diff)
-
ippTools/src/stacktool.c (modified) (5 diffs)
-
ippTools/src/staticskytool.c (modified) (2 diffs)
-
ippTools/src/staticskytoolConfig.c (modified) (8 diffs)
-
ippTools/src/warptool.c (modified) (8 diffs)
-
ippTools/src/warptoolConfig.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/czw_branch/20100427
- Property svn:mergeinfo changed
-
branches/czw_branch/20100427/ippTools/src/camtool.c
r27784 r28017 490 490 PXOPT_LOOKUP_STR(ver_streaks, config->args, "-ver_streaks", false, false); 491 491 492 PXOPT_LOOKUP_S32(maskfrac_npix, config->args, "-maskfrac_npix", false, false); 493 PXOPT_LOOKUP_F32(maskfrac_static, config->args, "-maskfrac_static", false, false); 494 PXOPT_LOOKUP_F32(maskfrac_dynamic, config->args, "-maskfrac_dynamic", false, false); 495 PXOPT_LOOKUP_F32(maskfrac_magic, config->args, "-maskfrac_magic", false, false); 496 PXOPT_LOOKUP_F32(maskfrac_advisory, config->args, "-maskfrac_advisory", false, false); 497 492 498 psTrace("czw.test",1,"Received versions: pslib %s psmodules %s psphot %s psastro %s ppstats %s ppImage %s streaks %s\n", 493 499 ver_pslib,ver_psmodules,ver_psphot,ver_psastro,ver_ppstats,ver_ppimage,ver_streaks); 494 500 psString software_ver = NULL; 501 if ((ver_pslib)&&(ver_psmodules)) { 502 software_ver = pxMergeCodeVersions(ver_pslib,ver_psmodules); 503 } 504 if (ver_psphot) { 505 software_ver = pxMergeCodeVersions(software_ver,ver_psphot); 506 } 507 if (ver_psastro) { 508 software_ver = pxMergeCodeVersions(software_ver,ver_psastro); 509 } 510 if (ver_ppstats) { 511 software_ver = pxMergeCodeVersions(software_ver,ver_ppstats); 512 } 513 if (ver_ppimage) { 514 software_ver = pxMergeCodeVersions(software_ver,ver_ppimage); 515 } 516 if (ver_streaks) { 517 software_ver = pxMergeCodeVersions(software_ver,ver_streaks); 518 } 519 495 520 // Get this from the chipRun 496 521 // PXOPT_LOOKUP_S64(magicked, config->args, "-magicked", false, false); … … 606 631 path_base, 607 632 fault, 608 quality 609 /* quality, */ 610 /* ver_pslib, */ 611 /* ver_psmodules, */ 612 /* ver_psphot, */ 613 /* ver_psastro, */ 614 /* ver_ppstats, */ 615 /* ver_ppimage, */ 616 /* ver_streaks */ 633 software_ver, 634 maskfrac_npix, 635 maskfrac_static, 636 maskfrac_dynamic, 637 maskfrac_magic, 638 maskfrac_advisory, 639 quality 617 640 ); 618 641 … … 639 662 // else continue on... 640 663 664 665 // Set camRun.software_ver to the appropriate value 666 if (!pxSetRunSoftware(config, "camRun", "cam_id", cam_id, software_ver)) { 667 if (!psDBRollback(config->dbh)) { 668 psError(PS_ERR_UNKNOWN, false, "database error"); 669 } 670 psError(PS_ERR_UNKNOWN, false, "failed to set camRun.software_ver for cam_id: %" PRId64, 671 cam_id); 672 psFree(output); 673 return(false); 674 } 675 // Set chipRun.maskfrac* to the appropriate values. 676 if (maskfrac_npix) { 677 if (!pxSetRunMaskfrac(config, "camRun", "cam_id",cam_id, maskfrac_npix, maskfrac_static, 678 maskfrac_dynamic, maskfrac_magic, maskfrac_advisory)) { 679 if (!psDBRollback(config->dbh)) { 680 psError(PS_ERR_UNKNOWN, false, "database error"); 681 } 682 psError(PS_ERR_UNKNOWN, false, "failed to set camRun.maskstats for cam_id: %" PRId64, 683 cam_id); 684 psFree(output); 685 return(false); 686 } 687 } 688 641 689 // since there is only one exp per 'new' set camRun.state = 'full' 642 690 // propagate magicked state from chipRun … … 647 695 return false; 648 696 } 697 649 698 psFree(row); 650 699 -
branches/czw_branch/20100427/ippTools/src/camtoolConfig.c
r27784 r28017 179 179 psMetadataAddStr(addprocessedexpArgs, PS_LIST_TAIL, "-ver_psastro", 0, "define psastro version", NULL); 180 180 psMetadataAddStr(addprocessedexpArgs, PS_LIST_TAIL, "-ver_ppstats", 0, "define ppStats version", NULL); 181 psMetadataAddStr(addprocessedexpArgs, PS_LIST_TAIL, "-ver_pp Image", 0, "define ppImage version", NULL);181 psMetadataAddStr(addprocessedexpArgs, PS_LIST_TAIL, "-ver_ppimage", 0, "define ppImage version", NULL); 182 182 psMetadataAddStr(addprocessedexpArgs, PS_LIST_TAIL, "-ver_streaks", 0, "define streaksremove version", NULL); 183 183 184 psMetadataAddS32(addprocessedexpArgs, PS_LIST_TAIL, "-maskfrac_npix", 0, "define number of pixels used for maskstats", 0); 185 psMetadataAddF32(addprocessedexpArgs, PS_LIST_TAIL, "-maskfrac_static", 0, "define static mask fraction", NAN); 186 psMetadataAddF32(addprocessedexpArgs, PS_LIST_TAIL, "-maskfrac_dynamic", 0, "define dynamic mask fraction", NAN); 187 psMetadataAddF32(addprocessedexpArgs, PS_LIST_TAIL, "-maskfrac_magic", 0, "define magic mask fraction", NAN); 188 psMetadataAddF32(addprocessedexpArgs, PS_LIST_TAIL, "-maskfrac_advisory", 0, "define advisory mask fraction", NAN); 189 190 184 191 // -processedexp 185 192 psMetadata *processedexpArgs = psMetadataAlloc(); -
branches/czw_branch/20100427/ippTools/src/chiptool.c
r27784 r28017 422 422 PXOPT_COPY_S64(config->args, where, "-chip_id", "chipRun.chip_id", "=="); 423 423 // we only allow a single label to match (do not use pxAddLabelSearchArgs here) 424 PXOPT_COPY_STR(config->args, where, "-label", "chipRun.label", " ==");424 PXOPT_COPY_STR(config->args, where, "-label", "chipRun.label", "LIKE"); 425 425 PXOPT_COPY_STR(config->args, where, "-state", "chipRun.state", "=="); 426 PXOPT_COPY_STR(config->args, where, "-data_group", "chipRun.data_group", " ==");427 PXOPT_COPY_STR(config->args, where, "-dist_group", "chipRun.dist_group", " ==");426 PXOPT_COPY_STR(config->args, where, "-data_group", "chipRun.data_group", "LIKE"); 427 PXOPT_COPY_STR(config->args, where, "-dist_group", "chipRun.dist_group", "LIKE"); 428 428 429 429 if (!psListLength(where->list)) { … … 471 471 } 472 472 psFree(where); 473 474 psStringAppend(&query, "\nORDER BY priority DESC, chip_id"); 473 475 474 476 // treat limit == 0 as "no limit" … … 591 593 PXOPT_LOOKUP_STR(ver_streaks, config->args, "-ver_streaks", false, false); 592 594 595 PXOPT_LOOKUP_S32(maskfrac_npix, config->args, "-maskfrac_npix", false, false); 596 PXOPT_LOOKUP_F32(maskfrac_static, config->args, "-maskfrac_static", false, false); 597 PXOPT_LOOKUP_F32(maskfrac_dynamic, config->args, "-maskfrac_dynamic", false, false); 598 PXOPT_LOOKUP_F32(maskfrac_magic, config->args, "-maskfrac_magic", false, false); 599 PXOPT_LOOKUP_F32(maskfrac_advisory, config->args, "-maskfrac_advisory", false, false); 600 593 601 psTrace("czw.test",1,"Received versions: pslib %s psmodules %s psphot %s psastro %s ppstats %s ppImage %s streaks %s\n", 594 602 ver_pslib,ver_psmodules,ver_psphot,ver_psastro,ver_ppstats,ver_ppimage,ver_streaks); 603 psString ver_code = NULL; 604 if ((ver_pslib)&&(ver_psmodules)) { 605 ver_code = pxMergeCodeVersions(ver_pslib,ver_psmodules); 606 } 607 if (ver_psphot) { 608 ver_code = pxMergeCodeVersions(ver_code,ver_psphot); 609 } 610 if (ver_psastro) { 611 ver_code = pxMergeCodeVersions(ver_code,ver_psastro); 612 } 613 if (ver_ppstats) { 614 ver_code = pxMergeCodeVersions(ver_code,ver_ppstats); 615 } 616 if (ver_ppimage) { 617 ver_code = pxMergeCodeVersions(ver_code,ver_ppimage); 618 } 619 if (ver_streaks) { 620 ver_code = pxMergeCodeVersions(ver_code,ver_streaks); 621 } 595 622 596 623 // default values … … 670 697 fault, 671 698 quality, 672 magicked 673 /* magicked, */ 674 /* ver_pslib, */ 675 /* ver_psmodules, */ 676 /* ver_psphot, */ 677 /* ver_psastro, */ 678 /* ver_ppstats, */ 679 /* ver_ppimage, */ 680 /* ver_streaks */ 699 magicked, 700 ver_code, 701 maskfrac_npix, 702 maskfrac_static, 703 maskfrac_dynamic, 704 maskfrac_magic, 705 maskfrac_advisory 681 706 )) { 682 707 // rollback … … 1370 1395 psMetadata *row = output->data[i]; 1371 1396 1397 psS64 chip_id = psMetadataLookupS64(NULL,row,"chip_id"); 1398 1399 psString software_ver = NULL; 1400 psS32 maskfrac_npix = 0; 1401 psF32 maskfrac_static = 0; 1402 psF32 maskfrac_dynamic = 0; 1403 psF32 maskfrac_magic = 0; 1404 psF32 maskfrac_advisory = 0; 1405 1406 // Calculate run level masking and software state 1407 if (!pxCoalesceRunStatus(config,"chiptool_coalesce_run.sql",chip_id, 1408 &software_ver,&maskfrac_npix, 1409 &maskfrac_static,&maskfrac_dynamic, 1410 &maskfrac_magic,&maskfrac_advisory)) { 1411 psError(PS_ERR_UNKNOWN, false, "failed to generate run level statistics"); 1412 psFree(output); 1413 if (!psDBRollback(config->dbh)) { 1414 psError(PS_ERR_UNKNOWN, false, "database error"); 1415 } 1416 return(false); 1417 } 1418 psMetadataAddStr(row, PS_LIST_TAIL, "software_ver", 0, "Software version", software_ver); 1419 psMetadataAddS32(row, PS_LIST_TAIL, "maskfrac_npix", 0, "Number of pixels used for mask stats", maskfrac_npix); 1420 psMetadataAddF32(row, PS_LIST_TAIL, "maskfrac_static", 0, "Fraction of static masked pixels", maskfrac_static); 1421 psMetadataAddF32(row, PS_LIST_TAIL, "maskfrac_dynamic", 0, "Fraction of dynamic masked pixels", maskfrac_dynamic); 1422 psMetadataAddF32(row, PS_LIST_TAIL, "maskfrac_magic", 0, "Fraction of magic masked pixels", maskfrac_magic); 1423 psMetadataAddF32(row, PS_LIST_TAIL, "maskfrac_advisory", 0, "Fraction of advisory pixels", maskfrac_advisory); 1424 psWarning("ADVANCE %ld %s %d %f %f %f %f\n",chip_id,software_ver,maskfrac_npix,maskfrac_static,maskfrac_dynamic,maskfrac_magic,maskfrac_advisory); 1372 1425 chipRunRow *chipRun = chipRunObjectFromMetadata(row); 1373 1426 if (!psDBTransaction(config->dbh)) { … … 1376 1429 } 1377 1430 1431 // Set chipRun.software_ver to the appropriate value 1432 if (!pxSetRunSoftware(config, "chipRun", "chip_id", chip_id, software_ver)) { 1433 psError(PS_ERR_UNKNOWN, false, "failed to set chipRun.software_ver for chip_id: %" PRId64, 1434 chip_id); 1435 psFree(output); 1436 if (!psDBRollback(config->dbh)) { 1437 psError(PS_ERR_UNKNOWN, false, "database error"); 1438 } 1439 return(false); 1440 } 1441 // Set chipRun.maskfrac* to the appropriate values. 1442 if (!pxSetRunMaskfrac(config, "chipRun", "chip_id",chip_id, maskfrac_npix, maskfrac_static, 1443 maskfrac_dynamic, maskfrac_magic, maskfrac_advisory)) { 1444 psError(PS_ERR_UNKNOWN, false, "failed to set chipRun.software_ver for chip_id: %" PRId64, 1445 chip_id); 1446 psFree(output); 1447 if (!psDBRollback(config->dbh)) { 1448 psError(PS_ERR_UNKNOWN, false, "database error"); 1449 } 1450 return(false); 1451 } 1378 1452 // set chipRun.state to 'stop' and update the magicked state 1379 1453 if (!pxchipRunSetState(config, chipRun->chip_id, "full", chipRun->magicked)) { … … 1400 1474 // stop 1401 1475 if (!pxcamQueueByChipID(config, 1402 chipRun->chip_id,1403 chipRun->workdir,1404 chipRun->label,1405 chipRun->data_group,1406 chipRun->dist_group,1407 chipRun->reduction,1408 chipRun->expgroup,1409 chipRun->dvodb,1410 chipRun->tess_id,1411 chipRun->end_stage,1412 chipRun->magicked,1413 NULL // note does not propagate1476 chipRun->chip_id, 1477 chipRun->workdir, 1478 chipRun->label, 1479 chipRun->data_group, 1480 chipRun->dist_group, 1481 chipRun->reduction, 1482 chipRun->expgroup, 1483 chipRun->dvodb, 1484 chipRun->tess_id, 1485 chipRun->end_stage, 1486 chipRun->magicked, 1487 NULL // note does not propagate 1414 1488 )) { 1415 1489 if (!psDBRollback(config->dbh)) { -
branches/czw_branch/20100427/ippTools/src/chiptoolConfig.c
r27784 r28017 187 187 psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-ver_psastro", 0, "define psastro version", NULL); 188 188 psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-ver_ppstats", 0, "define ppStats version", NULL); 189 psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-ver_pp Image", 0, "define ppImage version", NULL);189 psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-ver_ppimage", 0, "define ppImage version", NULL); 190 190 psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-ver_streaks", 0, "define streaksremove version", NULL); 191 191 192 psMetadataAddS32(addprocessedimfileArgs, PS_LIST_TAIL, "-maskfrac_npix", 0, "define number of pixels used for maskstats", 0); 193 psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-maskfrac_static", 0, "define static mask fraction", NAN); 194 psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-maskfrac_dynamic", 0, "define dynamic mask fraction", NAN); 195 psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-maskfrac_magic", 0, "define magic mask fraction", NAN); 196 psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-maskfrac_advisory", 0, "define advisory mask fraction", NAN); 197 192 198 // -processedimfile 193 199 psMetadata *processedimfileArgs = psMetadataAlloc(); -
branches/czw_branch/20100427/ippTools/src/difftool.c
r27784 r28017 58 58 static bool tofullskyfileMode(pxConfig *config); 59 59 static bool listrunMode(pxConfig *config); 60 static bool setskyfiletoupdateMode(pxConfig *config); 60 61 61 62 … … 103 104 MODECASE(DIFFTOOL_MODE_TOFULLSKYFILE, tofullskyfileMode); 104 105 MODECASE(DIFFTOOL_MODE_LISTRUN, listrunMode); 106 MODECASE(DIFFTOOL_MODE_SETSKYFILETOUPDATE, setskyfiletoupdateMode); 105 107 106 108 default: … … 160 162 exposure, 161 163 false, 164 NULL, // software version 165 0, // mask stat npix 166 NAN, // static 167 NAN, // dynamic 168 NAN, // magic 169 NAN, // advisory 162 170 diff_mode, 163 171 note … … 555 563 PXOPT_LOOKUP_STR(ver_streaks, config->args, "-ver_streaks", false, false); 556 564 565 PXOPT_LOOKUP_S32(maskfrac_npix, config->args, "-maskfrac_npix", false, false); 566 PXOPT_LOOKUP_F32(maskfrac_static, config->args, "-maskfrac_static", false, false); 567 PXOPT_LOOKUP_F32(maskfrac_dynamic, config->args, "-maskfrac_dynamic", false, false); 568 PXOPT_LOOKUP_F32(maskfrac_magic, config->args, "-maskfrac_magic", false, false); 569 PXOPT_LOOKUP_F32(maskfrac_advisory, config->args, "-maskfrac_advisory", false, false); 570 557 571 psTrace("czw.test",1,"Received versions: pslib %s psmodules %s psphot %s ppstats %s ppsub %s streaks %s\n", 558 572 ver_pslib,ver_psmodules,ver_psphot,ver_ppstats,ver_ppsub,ver_streaks); 559 573 psString ver_code = NULL; 574 if ((ver_pslib)&&(ver_psmodules)) { 575 ver_code = pxMergeCodeVersions(ver_pslib,ver_psmodules); 576 } 577 if (ver_psphot) { 578 ver_code = pxMergeCodeVersions(ver_code,ver_psphot); 579 } 580 if (ver_ppstats) { 581 ver_code = pxMergeCodeVersions(ver_code,ver_ppstats); 582 } 583 if (ver_ppsub) { 584 ver_code = pxMergeCodeVersions(ver_code,ver_ppsub); 585 } 586 if (ver_streaks) { 587 ver_code = pxMergeCodeVersions(ver_code,ver_streaks); 588 } 589 560 590 if (!psDBTransaction(config->dbh)) { 561 591 psError(PS_ERR_UNKNOWN, false, "database error"); … … 590 620 fault, 591 621 quality, 592 magicked 593 /* magicked, */ 594 /* ver_pslib, */ 595 /* ver_psmodules, */ 596 /* ver_psphot, */ 597 /* ver_ppstats, */ 598 /* ver_ppsub, */ 599 /* ver_streaks */ 600 622 magicked, 623 ver_code, 624 maskfrac_npix, 625 maskfrac_static, 626 maskfrac_dynamic, 627 maskfrac_magic, 628 maskfrac_advisory 601 629 )) { 602 630 if (!psDBRollback(config->dbh)) { … … 687 715 psS64 magicked = psMetadataLookupS64(NULL, row, "magicked"); 688 716 717 psString software_ver = NULL; 718 psS32 maskfrac_npix = 0; 719 psF32 maskfrac_static = 0; 720 psF32 maskfrac_dynamic = 0; 721 psF32 maskfrac_magic = 0; 722 psF32 maskfrac_advisory = 0; 723 724 // Calculate run level masking and software state 725 if (!pxCoalesceRunStatus(config,"difftool_coalesce_run.sql",diff_id, 726 &software_ver,&maskfrac_npix, 727 &maskfrac_static,&maskfrac_dynamic, 728 &maskfrac_magic,&maskfrac_advisory)) { 729 psError(PS_ERR_UNKNOWN, false, "failed to generate run level statistics"); 730 psFree(output); 731 if (!psDBRollback(config->dbh)) { 732 psError(PS_ERR_UNKNOWN, false, "database error"); 733 } 734 return(false); 735 } 736 // Set diffRun.software_ver to the appropriate value 737 if (!pxSetRunSoftware(config, "diffRun", "diff_id", diff_id, software_ver)) { 738 psError(PS_ERR_UNKNOWN, false, "failed to set diffRun.software_ver for diff_id: %" PRId64, 739 diff_id); 740 psFree(output); 741 if (!psDBRollback(config->dbh)) { 742 psError(PS_ERR_UNKNOWN, false, "database error"); 743 } 744 return(false); 745 } 746 // Set diffRun.maskfrac* to the appropriate values. 747 if (!pxSetRunMaskfrac(config, "diffRun", "diff_id", diff_id, maskfrac_npix, maskfrac_static, 748 maskfrac_dynamic, maskfrac_magic, maskfrac_advisory)) { 749 psError(PS_ERR_UNKNOWN, false, "failed to set diffRun.software_ver for diff_id: %" PRId64, 750 diff_id); 751 psFree(output); 752 if (!psDBRollback(config->dbh)) { 753 psError(PS_ERR_UNKNOWN, false, "database error"); 754 } 755 return(false); 756 } 689 757 // set diffRun.state to 'full' 690 758 if (!setdiffRunState(config, diff_id, "full", magicked)) { … … 840 908 } 841 909 842 if (!psDBTransaction(config->dbh)) {843 psError(PS_ERR_UNKNOWN, false, "database error");844 psFree(where);845 return false;846 }847 848 // Update state to 'new'849 {850 psString query = pxDataGet("difftool_revertdiffskyfile_update.sql");851 if (!query) {852 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement");853 if (!psDBRollback(config->dbh)) {854 psError(PS_ERR_UNKNOWN, false, "database error");855 }856 return false;857 }858 859 if (psListLength(where->list)) {860 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL);861 psStringAppend(&query, " AND %s", whereClause);862 psFree(whereClause);863 }864 865 if (!p_psDBRunQuery(config->dbh, query)) {866 psError(PS_ERR_UNKNOWN, false, "database error");867 psFree(query);868 if (!psDBRollback(config->dbh)) {869 psError(PS_ERR_UNKNOWN, false, "database error");870 }871 return false;872 }873 psFree(query);874 875 psLogMsg("difftool", PS_LOG_INFO, "Updated %" PRIu64 " rows", psDBAffectedRows(config->dbh));876 }877 878 // Delete product879 910 { 880 911 psString query = pxDataGet("difftool_revertdiffskyfile_delete.sql"); 881 912 if (!query) { 882 913 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); 883 if (!psDBRollback(config->dbh)) { 884 psError(PS_ERR_UNKNOWN, false, "database error"); 885 } 914 return false; 915 } 916 psString query_updated = pxDataGet("difftool_revertdiffskyfile_updated.sql"); 917 if (!query_updated) { 918 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); 886 919 return false; 887 920 } … … 890 923 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 891 924 psStringAppend(&query, " AND %s", whereClause); 925 psStringAppend(&query_updated, " AND %s", whereClause); 892 926 psFree(whereClause); 893 927 } … … 896 930 psError(PS_ERR_UNKNOWN, false, "database error"); 897 931 psFree(query); 898 if (!psDBRollback(config->dbh)) {899 psError(PS_ERR_UNKNOWN, false, "database error");900 }901 932 return false; 902 933 } 903 934 psFree(query); 904 905 935 psLogMsg("difftool", PS_LOG_INFO, "Deleted %" PRIu64 " rows", psDBAffectedRows(config->dbh)); 936 937 if (!p_psDBRunQuery(config->dbh, query_updated)) { 938 psError(PS_ERR_UNKNOWN, false, "database error"); 939 psFree(query_updated); 940 return false; 941 } 942 psFree(query_updated); 943 944 psLogMsg("difftool", PS_LOG_INFO, "Updated %" PRIu64 " rows", psDBAffectedRows(config->dbh)); 906 945 } 907 946 908 947 psFree(where); 909 948 910 if (!psDBCommit(config->dbh)) {911 psError(PS_ERR_UNKNOWN, false, "database error");912 return false;913 }914 949 915 950 return true; … … 1034 1069 false, 1035 1070 0, // magicked 1071 NULL, // software version 1072 0, // mask stat npix 1073 NAN, // static 1074 NAN, // dynamic 1075 NAN, // magic 1076 NAN, // advisory 1036 1077 diff_mode, // diff_mode 1037 1078 note … … 1461 1502 true, // exposure 1462 1503 0, // magicked 1504 NULL, // software version 1505 0, // mask stat npix 1506 NAN, // static 1507 NAN, // dynamic 1508 NAN, // magic 1509 NAN, // advisory 1463 1510 IPP_DIFF_MODE_WARP_STACK, 1464 1511 note … … 1813 1860 true, // exposure 1814 1861 false, // magicked 1862 NULL, // software version 1863 0, // mask stat npix 1864 NAN, // static 1865 NAN, // dynamic 1866 NAN, // magic 1867 NAN, // advisory 1815 1868 IPP_DIFF_MODE_WARP_WARP, 1816 1869 note); // Run to insert … … 2095 2148 false, // exposure 2096 2149 0, // magicked 2150 NULL, // software version 2151 0, // mask stat npix 2152 NAN, // static 2153 NAN, // dynamic 2154 NAN, // magic 2155 NAN, // advisory 2097 2156 IPP_DIFF_MODE_STACK_STACK, // diff_mode 2098 2157 note … … 2388 2447 psMetadata *where = psMetadataAlloc(); 2389 2448 PXOPT_COPY_S64(config->args, where, "-diff_id", "diff_id", "=="); 2449 PXOPT_COPY_STR(config->args, where, "-skycell_id", "skycell_id", "=="); 2390 2450 2391 2451 if (!pxSetFaultCode(config->dbh, "diffSkyfile", where, fault)) { … … 2768 2828 return true; 2769 2829 } 2830 // a very specfic function to queue a cleaned warpSkyfile to be updated 2831 static bool setskyfiletoupdateMode(pxConfig *config) 2832 { 2833 PS_ASSERT_PTR_NON_NULL(config, NULL); 2834 2835 PXOPT_LOOKUP_S64(diff_id, config->args, "-diff_id", true, false); 2836 PXOPT_LOOKUP_STR(skycell_id, config->args, "-skycell_id", false, false); 2837 PXOPT_LOOKUP_STR(label, config->args, "-set_label", false, false); 2838 2839 psString query = pxDataGet("difftool_setskyfiletoupdate.sql"); 2840 if (!query) { 2841 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); 2842 return false; 2843 } 2844 2845 psString setHook = psStringCopy(""); 2846 if (label) { 2847 psStringAppend(&setHook, "\n , diffRun.label = '%s'", label); 2848 } 2849 2850 if (skycell_id) { 2851 psStringAppend(&query, " AND (diffSkyfile.skycell_id = '%s')", skycell_id); 2852 } 2853 2854 if (!p_psDBRunQueryF(config->dbh, query, setHook, diff_id)) { 2855 psError(PS_ERR_UNKNOWN, false, "database error"); 2856 return false; 2857 } 2858 2859 psFree(setHook); 2860 psFree(query); 2861 2862 return true; 2863 } -
branches/czw_branch/20100427/ippTools/src/difftool.h
r27743 r28017 48 48 DIFFTOOL_MODE_TOSCRUBBEDSKYFILE, 49 49 DIFFTOOL_MODE_TOFULLSKYFILE, 50 DIFFTOOL_MODE_LISTRUN 50 DIFFTOOL_MODE_LISTRUN, 51 DIFFTOOL_MODE_SETSKYFILETOUPDATE, 51 52 } difftoolMode; 52 53 -
branches/czw_branch/20100427/ippTools/src/difftoolConfig.c
r27784 r28017 132 132 psMetadataAddStr(adddiffskyfileArgs, PS_LIST_TAIL, "-ver_ppsub", 0, "define ppSub version", NULL); 133 133 psMetadataAddStr(adddiffskyfileArgs, PS_LIST_TAIL, "-ver_streaks", 0, "define streaksremove version", NULL); 134 134 psMetadataAddS32(adddiffskyfileArgs, PS_LIST_TAIL, "-maskfrac_npix", 0, "define number of pixels used for maskstats", 0); 135 psMetadataAddF32(adddiffskyfileArgs, PS_LIST_TAIL, "-maskfrac_static", 0, "define static mask fraction", NAN); 136 psMetadataAddF32(adddiffskyfileArgs, PS_LIST_TAIL, "-maskfrac_dynamic", 0, "define dynamic mask fraction", NAN); 137 psMetadataAddF32(adddiffskyfileArgs, PS_LIST_TAIL, "-maskfrac_magic", 0, "define magic mask fraction", NAN); 138 psMetadataAddF32(adddiffskyfileArgs, PS_LIST_TAIL, "-maskfrac_advisory", 0, "define advisory mask fraction", NAN); 139 135 140 // -advance 136 141 psMetadata *advanceArgs = psMetadataAlloc(); … … 332 337 psMetadata *updatediffskyfileArgs = psMetadataAlloc(); 333 338 psMetadataAddS64(updatediffskyfileArgs, PS_LIST_TAIL, "-diff_id", 0, "define diff ID (required)", 0); 334 psMetadataAddS16(updatediffskyfileArgs, PS_LIST_TAIL, "-fault", 0, "set fault code (required)", 0); 339 psMetadataAddS16(updatediffskyfileArgs, PS_LIST_TAIL, "-fault", 0, "set fault code (required)", 0); 340 psMetadataAddStr(updatediffskyfileArgs, PS_LIST_TAIL, "-skycell_id", 0, "search by skycell ID", NULL); 335 341 336 342 // -tocleanedskyfile … … 354 360 psMetadataAddStr(tofullskyfileArgs, PS_LIST_TAIL, "-skycell_id", 0, "skycell ID to update", NULL); 355 361 psMetadataAddS64(tofullskyfileArgs, PS_LIST_TAIL, "-magicked", 0, "define magicked state", 0); 362 363 // -setskyfiletoupdate 364 psMetadata *setskyfiletoupdateArgs = psMetadataAlloc(); 365 psMetadataAddS64(setskyfiletoupdateArgs, PS_LIST_TAIL, "-diff_id", 0, "search by difftool ID (required)", 0); 366 psMetadataAddStr(setskyfiletoupdateArgs, PS_LIST_TAIL, "-skycell_id", 0, "search by tessellation ID", NULL); 367 psMetadataAddStr(setskyfiletoupdateArgs, PS_LIST_TAIL, "-set_label", 0, "new value for diffRun.label", NULL); 368 369 356 370 357 371 // -exportrun … … 391 405 PXOPT_ADD_MODE("-donecleanup", "show runs that have been cleaned", DIFFTOOL_MODE_DONECLEANUP, donecleanupArgs); 392 406 PXOPT_ADD_MODE("-updatediffskyfile", "update fault code for a diffskyfile", DIFFTOOL_MODE_UPDATEDIFFSKYFILE, updatediffskyfileArgs); 407 PXOPT_ADD_MODE("-setskyfiletoupdate", "set cleaned skyfile to be updated", DIFFTOOL_MODE_SETSKYFILETOUPDATE, setskyfiletoupdateArgs); 408 393 409 PXOPT_ADD_MODE("-exportrun", "export run for import on other database", DIFFTOOL_MODE_EXPORTRUN, exportrunArgs); 394 410 PXOPT_ADD_MODE("-importrun", "import run from metadata file", DIFFTOOL_MODE_IMPORTRUN, importrunArgs); -
branches/czw_branch/20100427/ippTools/src/magicdstool.c
r27745 r28017 572 572 // we can transition by query as well 573 573 574 575 574 psMetadata *where = psMetadataAlloc(); 576 575 PXOPT_COPY_STR(config->args, where, "-label", "label", "=="); … … 1225 1224 } 1226 1225 1227 psString stateCheck = NULL;1228 if (!strcmp(state, "goto_cleaned")) {1229 // science cleanup sets runs to goto_cleaned. Don't undo it if already cleaned1230 psStringAppend(&stateCheck, " AND magicDSRun.state != 'cleaned'");1231 }1232 1233 1234 1226 psString query = NULL; 1235 1227 psStringAppend(&query, "UPDATE magicDSRun SET state = '%s' %s\n", state, extraSetStr ? extraSetStr : ""); … … 1241 1233 psFree(whereClause); 1242 1234 } else { 1243 psError(PS_ERR_UNKNOWN, true, "search arugments are required"); 1244 return false; 1245 } 1246 1247 if (stateCheck) { 1248 psStringAppend(&query, stateCheck); 1249 } 1250 psFree(stateCheck); 1235 psError(PS_ERR_UNKNOWN, true, "search arguments are required"); 1236 return false; 1237 } 1238 1239 if (!strcmp(state, "goto_cleaned")) { 1240 // Don't set state back to goto_cleaned if it is already cleaned 1241 psStringAppend(&query, " AND (magicDSRun.state != 'cleaned')"); 1242 1243 // don't clean up magicDSRun's where stage is camera 1244 psStringAppend(&query, " AND (magicDSRun.stage != 'camera')"); 1245 } 1246 1251 1247 if (!p_psDBRunQuery(config->dbh, query)) { 1252 1248 psError(PS_ERR_UNKNOWN, false, -
branches/czw_branch/20100427/ippTools/src/magictool.c
r27274 r28017 48 48 static bool maskMode(pxConfig *config); 49 49 static bool censorrunMode(pxConfig *config); 50 static bool exposureMode(pxConfig *config); 50 51 51 52 static bool setmagicRunState(pxConfig *config, psS64 magic_id, const char *state); … … 87 88 MODECASE(MAGICTOOL_MODE_MASK, maskMode); 88 89 MODECASE(MAGICTOOL_MODE_CENSORRUN, censorrunMode); 90 MODECASE(MAGICTOOL_MODE_EXPOSURE, exposureMode); 89 91 default: 90 92 psAbort("invalid option (this should not happen)"); … … 1514 1516 return true; 1515 1517 } 1518 1519 1520 static bool exposureMode(pxConfig *config) 1521 { 1522 PS_ASSERT_PTR_NON_NULL(config, false); 1523 1524 psMetadata *where = psMetadataAlloc(); 1525 PXOPT_COPY_S64(config->args, where, "-magic_id", "magicRun.magic_id", "=="); 1526 PXOPT_COPY_BOOL(config->args, where, "-inverse", "magicRun.inverse", "=="); 1527 1528 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); 1529 1530 psString query = pxDataGet("magictool_exposure.sql"); 1531 if (!query) { 1532 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); 1533 return false; 1534 } 1535 1536 psString whereClause = psStringCopy(""); // WHERE restrictions 1537 if (psListLength(where->list)) { 1538 psString clause = psDBGenerateWhereConditionSQL(where, NULL); 1539 psStringAppend(&whereClause, "\nWHERE %s", clause); 1540 psFree(clause); 1541 } 1542 psFree(where); 1543 1544 if (!p_psDBRunQueryF(config->dbh, query, whereClause, whereClause)) { 1545 psError(PS_ERR_UNKNOWN, false, "database error"); 1546 psFree(query); 1547 return false; 1548 } 1549 psFree(query); 1550 1551 psArray *output = p_psDBFetchResult(config->dbh); 1552 if (!output) { 1553 psErrorCode err = psErrorCodeLast(); 1554 switch (err) { 1555 case PS_ERR_DB_CLIENT: 1556 psError(PXTOOLS_ERR_SYS, false, "database error"); 1557 break; 1558 case PS_ERR_DB_SERVER: 1559 psError(PXTOOLS_ERR_PROG, false, "database error"); 1560 break; 1561 default: 1562 psError(PXTOOLS_ERR_PROG, false, "unknown error"); 1563 break; 1564 } 1565 return false; 1566 } 1567 if (!psArrayLength(output)) { 1568 psTrace("magictool", PS_LOG_INFO, "no rows found"); 1569 psFree(output); 1570 return true; 1571 } 1572 1573 if (!ippdbPrintMetadatas(stdout, output, "magicMask", !simple)) { 1574 psError(PS_ERR_UNKNOWN, false, "failed to print array"); 1575 psFree(output); 1576 return false; 1577 } 1578 psFree(output); 1579 1580 return true; 1581 } -
branches/czw_branch/20100427/ippTools/src/magictool.h
r24883 r28017 42 42 MAGICTOOL_MODE_MASK, 43 43 MAGICTOOL_MODE_CENSORRUN, 44 MAGICTOOL_MODE_EXPOSURE, 44 45 } MAGICtoolMode; 45 46 -
branches/czw_branch/20100427/ippTools/src/magictoolConfig.c
r27274 r28017 168 168 psMetadataAddS64(censorrunArgs, PS_LIST_TAIL, "-exp_id", 0, "define exposure ID", 0); 169 169 psMetadataAddStr(censorrunArgs, PS_LIST_TAIL, "-label", 0, "define label", NULL); 170 171 // -exposure 172 psMetadata *exposureArgs = psMetadataAlloc(); 173 psMetadataAddS64(exposureArgs, PS_LIST_TAIL, "-magic_id", 0, "define magictool ID", 0); 174 psMetadataAddBool(exposureArgs, PS_LIST_TAIL, "-inverse", 0, "select the inverse subtraction?", false); 175 psMetadataAddBool(exposureArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 170 176 171 177 psFree(now); … … 191 197 PXOPT_ADD_MODE("-mask", "", MAGICTOOL_MODE_MASK, maskArgs); 192 198 PXOPT_ADD_MODE("-censorrun", "", MAGICTOOL_MODE_CENSORRUN, censorrunArgs); 199 PXOPT_ADD_MODE("-exposure", "", MAGICTOOL_MODE_EXPOSURE, exposureArgs); 193 200 194 201 if (!pxGetOptions(stderr, argc, argv, config, modes, argSets)) { -
branches/czw_branch/20100427/ippTools/src/pstamptool.c
r27740 r28017 40 40 static bool updatereqMode(pxConfig *config); 41 41 static bool revertreqMode(pxConfig *config); 42 static bool pendingcleanupMode(pxConfig *config); 42 43 static bool addjobMode(pxConfig *config); 43 44 static bool listjobMode(pxConfig *config); … … 81 82 MODECASE(PSTAMPTOOL_MODE_UPDATEREQ, updatereqMode); 82 83 MODECASE(PSTAMPTOOL_MODE_REVERTREQ, revertreqMode); 84 MODECASE(PSTAMPTOOL_MODE_PENDINGCLEANUP, pendingcleanupMode); 83 85 MODECASE(PSTAMPTOOL_MODE_ADDJOB, addjobMode); 84 86 MODECASE(PSTAMPTOOL_MODE_LISTJOB, listjobMode); … … 265 267 NULL, // outProduct 266 268 uri, 269 NULL, // outdir 267 270 0 // fault 268 271 )) { … … 301 304 } 302 305 psFree(where); 306 307 psStringAppend(&query, " ORDER BY priority DESC, req_id"); 303 308 304 309 // treat limit == 0 as "no limit" … … 339 344 } 340 345 341 static bool listreqMode(pxConfig *config)346 static bool pendingcleanupMode(pxConfig *config) 342 347 { 343 348 PS_ASSERT_PTR_NON_NULL(config, false); … … 345 350 psMetadata *where = psMetadataAlloc(); 346 351 PXOPT_COPY_S64(config->args, where, "-req_id", "req_id", "=="); 347 PXOPT_COPY_S64(config->args, where, "-not_req_id", "req_id", "!="); 348 PXOPT_COPY_STR(config->args, where, "-name", "name", "=="); 349 350 PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false); 352 pxAddLabelSearchArgs(config, where, "-label", "label", "LIKE"); 353 354 PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false); 351 355 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); 352 356 353 if (!psListLength(where->list)) { 354 psError(PS_ERR_UNKNOWN, true, "-req_id or -name must be supplied"); 355 return false; 356 } 357 358 psString query = psStringCopy("SELECT * from pstampRequest"); 359 360 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 361 psStringAppend(&query, " WHERE %s", whereClause); 362 psFree(whereClause); 363 psFree(where); 357 psString query = pxDataGet("pstamptool_pendingcleanup.sql"); 358 if (!query) { 359 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); 360 return false; 361 } 362 363 if (psListLength(where->list)) { 364 psString whereClause = psDBGenerateWhereConditionSQL(where, "pstampRequest"); 365 psStringAppend(&query, " AND %s", whereClause); 366 psFree(whereClause); 367 } 368 psFree(where); 369 370 psStringAppend(&query, " ORDER BY priority DESC, req_id"); 364 371 365 372 // treat limit == 0 as "no limit" … … 383 390 } 384 391 if (!psArrayLength(output)) { 385 psTrace("pstamptool", PS_LOG_INFO, "request not found"); 386 // This causes main to exit with PS_EXIT_DATA_ERROR which the script is looking for 387 psError(PXTOOLS_ERR_CONFIG, true, "request not found"); 388 psFree(output); 389 // we return false so that the caller can determine that a request does not exist 390 return false; 392 psTrace("pstamptool", PS_LOG_INFO, "no rows found"); 393 psFree(output); 394 return true; 391 395 } 392 396 … … 403 407 } 404 408 405 static bool completedreqMode(pxConfig *config) 406 { 407 PS_ASSERT_PTR_NON_NULL(config, false); 408 409 psMetadata *where = psMetadataAlloc(); 410 pxAddLabelSearchArgs(config, where, "-label", "label", "LIKE"); 411 412 PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false); 409 static bool listreqMode(pxConfig *config) 410 { 411 PS_ASSERT_PTR_NON_NULL(config, false); 412 413 psMetadata *where = psMetadataAlloc(); 414 PXOPT_COPY_S64(config->args, where, "-req_id", "req_id", "=="); 415 PXOPT_COPY_S64(config->args, where, "-not_req_id", "req_id", "!="); 416 PXOPT_COPY_STR(config->args, where, "-name", "name", "=="); 417 418 PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false); 413 419 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); 414 420 415 psString query = pxDataGet("pstamptool_completedreq.sql"); 416 417 if (psListLength(where->list)) { 418 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 419 psStringAppend(&query, " AND %s", whereClause); 420 psFree(whereClause); 421 } 421 if (!psListLength(where->list)) { 422 psError(PS_ERR_UNKNOWN, true, "-req_id or -name must be supplied"); 423 return false; 424 } 425 426 psString query = psStringCopy("SELECT * from pstampRequest"); 427 428 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 429 psStringAppend(&query, " WHERE %s", whereClause); 430 psFree(whereClause); 422 431 psFree(where); 423 432 … … 434 443 return false; 435 444 } 445 psFree(query); 436 446 437 447 psArray *output = p_psDBFetchResult(config->dbh); … … 440 450 return false; 441 451 } 442 443 452 if (!psArrayLength(output)) { 444 psTrace("pstamptool", PS_LOG_INFO, "no rows found"); 445 psFree(output); 446 return true; 453 psTrace("pstamptool", PS_LOG_INFO, "request not found"); 454 // This causes main to exit with PS_EXIT_DATA_ERROR which the script is looking for 455 psError(PXTOOLS_ERR_CONFIG, true, "request not found"); 456 psFree(output); 457 // we return false so that the caller can determine that a request does not exist 458 return false; 447 459 } 448 460 … … 459 471 } 460 472 473 static bool completedreqMode(pxConfig *config) 474 { 475 PS_ASSERT_PTR_NON_NULL(config, false); 476 477 psMetadata *where = psMetadataAlloc(); 478 pxAddLabelSearchArgs(config, where, "-label", "label", "LIKE"); 479 480 PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false); 481 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); 482 483 psString query = pxDataGet("pstamptool_completedreq.sql"); 484 485 if (psListLength(where->list)) { 486 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 487 psStringAppend(&query, " AND %s", whereClause); 488 psFree(whereClause); 489 } 490 psFree(where); 491 492 psStringAppend(&query, " ORDER BY priority DESC, req_id"); 493 494 // treat limit == 0 as "no limit" 495 if (limit) { 496 psString limitString = psDBGenerateLimitSQL(limit); 497 psStringAppend(&query, " %s", limitString); 498 psFree(limitString); 499 } 500 501 if (!p_psDBRunQuery(config->dbh, query)) { 502 psError(PS_ERR_UNKNOWN, false, "database error"); 503 psFree(query); 504 return false; 505 } 506 507 psArray *output = p_psDBFetchResult(config->dbh); 508 if (!output) { 509 psError(PS_ERR_UNKNOWN, false, "database error"); 510 return false; 511 } 512 513 if (!psArrayLength(output)) { 514 psTrace("pstamptool", PS_LOG_INFO, "no rows found"); 515 psFree(output); 516 return true; 517 } 518 519 // negative simple so the default is true 520 if (!ippdbPrintMetadatas(stdout, output, "pstampRequest", !simple)) { 521 psError(PS_ERR_UNKNOWN, false, "failed to print array"); 522 psFree(output); 523 return false; 524 } 525 526 psFree(output); 527 528 return true; 529 } 530 461 531 static bool updatereqMode(pxConfig *config) 462 532 { 463 533 PS_ASSERT_PTR_NON_NULL(config, false); 464 534 465 PXOPT_LOOKUP_S64(req_id, config->args, "-req_id", true, false); 466 PXOPT_LOOKUP_STR(state, config->args, "-state", false, false); 467 PXOPT_LOOKUP_STR(outProduct, config->args, "-outProduct", false, false); 468 PXOPT_LOOKUP_S16(fault, config->args, "-fault", false, false); 469 PXOPT_LOOKUP_STR(uri, config->args, "-uri", false, false); 470 PXOPT_LOOKUP_STR(name, config->args, "-name", false, false); 471 PXOPT_LOOKUP_STR(reqType, config->args, "-reqType", false, false); 472 473 psString query = NULL; 474 psStringAppend(&query, "UPDATE pstampRequest SET"); 475 535 // PXOPT_LOOKUP_S64(req_id, config->args, "-req_id", true, false); 536 PXOPT_LOOKUP_STR(state, config->args, "-set_state", false, false); 537 PXOPT_LOOKUP_STR(label, config->args, "-set_label", false, false); 538 PXOPT_LOOKUP_STR(outProduct, config->args, "-set_outProduct", false, false); 539 PXOPT_LOOKUP_S16(fault, config->args, "-set_fault", false, false); 540 PXOPT_LOOKUP_STR(uri, config->args, "-set_uri", false, false); 541 PXOPT_LOOKUP_STR(outdir, config->args, "-set_outdir", false, false); 542 PXOPT_LOOKUP_STR(name, config->args, "-set_name", false, false); 543 PXOPT_LOOKUP_STR(reqType, config->args, "-set_reqType", false, false); 544 PXOPT_LOOKUP_BOOL(clearfault,config->args, "-clearfault", false); 545 546 psMetadata *where = psMetadataAlloc(); 547 PXOPT_COPY_S64(config->args, where, "-req_id", "req_id", "=="); 548 PXOPT_COPY_S64(config->args, where, "-req_id_max", "req_id", "<="); 549 PXOPT_COPY_S32(config->args, where, "-fault", "fault", "=="); 550 PXOPT_COPY_STR(config->args, where, "-state", "state", "=="); 551 pxAddLabelSearchArgs(config, where, "-label", "pstampRequest.label", "LIKE"); 552 if (!psListLength(where->list)) { 553 psFree(where); 554 psError(PXTOOLS_ERR_CONFIG, false, "search parameters are required"); 555 return false; 556 } 557 558 psString query = psStringCopy("UPDATE pstampRequest SET"); 559 560 psString stateCheck = NULL; 476 561 char c = ' '; 477 562 if (state) { 478 563 psStringAppend(&query, "%c state = '%s'", c, state); 479 564 c = ','; 565 if (!strcmp(state, "goto_cleaned")) { 566 psStringAppend(&stateCheck, " AND state != 'cleaned'"); 567 } 568 } 569 if (label) { 570 psStringAppend(&query, "%c label = '%s'", c, label); 571 c = ','; 480 572 } 481 573 if (outProduct) { … … 483 575 c = ','; 484 576 } 485 if (fault) { 577 if (outdir) { 578 psStringAppend(&query, "%c outdir = '%s'", c, outdir); 579 c = ','; 580 } 581 if (clearfault) { 582 if (fault) { 583 psError(PXTOOLS_ERR_CONFIG, true, "only one of -fault and -clearfault is allowed"); 584 return false; 585 } 586 psStringAppend(&query, "%c fault = 0", c); 587 c = ','; 588 } else if (fault) { 486 589 psStringAppend(&query, "%c fault = %d", c, fault); 487 590 c = ','; … … 499 602 c = ','; 500 603 } 501 if (!state && !outProduct && !fault && !uri && !name && !reqType) { 502 psError(PS_ERR_UNKNOWN, true, "at least one of state, outProduct, fault, uri, name, and reqType must be specified"); 503 return false; 504 } 505 506 psStringAppend(&query, " WHERE req_id = %" PRId64, req_id); 604 if (c != ',') { 605 psError(PS_ERR_UNKNOWN, true, "at least one set option is required"); 606 return false; 607 } 608 609 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 610 psStringAppend(&query, "\nWHERE %s", whereClause); 611 psFree(whereClause); 612 psFree(where); 613 614 if (stateCheck) { 615 psStringAppend(&query, "%s", stateCheck); 616 } 507 617 508 618 if (!p_psDBRunQuery(config->dbh, query)) { … … 512 622 } 513 623 514 psU64 affected = psDBAffectedRows(config->dbh); 515 // note zero is not an error 516 if (affected > 1) { 517 psError(PS_ERR_UNKNOWN, false, "should have affected one row but %" 518 PRIu64 " rows were modified", affected); 519 return false; 520 } 624 // psU64 affected = psDBAffectedRows(config->dbh); 625 // psLogMsg("pstamptool", PS_LOG_INFO, "Updated %" PRIu64 " pstampRequests", affected); 521 626 522 627 return true; … … 530 635 531 636 PXOPT_COPY_S64(config->args, where, "-req_id", "req_id", "=="); 532 PXOPT_COPY_S64(config->args, where, "-fault", " req_id", "==");637 PXOPT_COPY_S64(config->args, where, "-fault", "fault", "=="); 533 638 PXOPT_COPY_STR(config->args, where, "-state", "pstampRequest.state", "=="); 534 639 pxAddLabelSearchArgs(config, where, "-label", "pstampRequest.label", "LIKE"); … … 705 810 PXOPT_COPY_S64(config->args, where, "-job_id", "job_id", "=="); 706 811 PXOPT_COPY_S64(config->args, where, "-req_id", "req_id", "=="); 707 pxAddLabelSearchArgs(config, where, "-label", " label", "LIKE");812 pxAddLabelSearchArgs(config, where, "-label", "pstampRequest.label", "LIKE"); 708 813 709 814 PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false); … … 724 829 psFree(where); 725 830 831 psStringAppend(&query, " ORDER BY priority DESC, req_id"); 832 726 833 // treat limit == 0 as "no limit" 727 834 if (limit) { … … 772 879 return false; 773 880 } 774 PXOPT_LOOKUP_STR(state, config->args, "-state", true, false); 775 PXOPT_LOOKUP_S32(fault, config->args, "-fault", false, false); 881 882 PXOPT_LOOKUP_STR(state, config->args, "-set_state", false, false); 883 PXOPT_LOOKUP_S32(fault, config->args, "-set_fault", false, false); 884 885 if (!state && !fault) { 886 psError(PS_ERR_UNKNOWN, true, "at least one of -set_state and -set_fault is required"); 887 return false; 888 } 776 889 777 890 psMetadata *where = psMetadataAlloc(); … … 780 893 PXOPT_COPY_S64(config->args, where, "-dep_id", "dep_id", "=="); 781 894 782 psString faultStr = NULL;783 if (!fault) {784 faultStr = psStringCopy("");785 } else {786 psStringAppend(&faultStr, "\n, pstampJob.fault = %d", fault);787 }788 789 895 psString query = pxDataGet("pstamptool_updatejob.sql"); 790 896 897 char c = ' '; 898 if (state) { 899 psStringAppend(&query, "\n %c pstampJob.state = '%s'", c, state); 900 c = ','; 901 } 902 if (fault) { 903 psStringAppend(&query, "\n %c pstampJob.fault = %d", c, fault); 904 c = ','; 905 } 906 791 907 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 792 908 psStringAppend(&query, " WHERE %s", whereClause); … … 794 910 psFree(where); 795 911 796 if (!p_psDBRunQuery F(config->dbh, query, state, faultStr)) {912 if (!p_psDBRunQuery(config->dbh, query)) { 797 913 psError(PS_ERR_UNKNOWN, false, "database error"); 798 914 psFree(query); 799 915 return false; 800 916 } 801 psFree(faultStr);802 917 psFree(query); 803 918 … … 967 1082 PXOPT_LOOKUP_STR(component, config->args, "-component", true, false); 968 1083 PXOPT_LOOKUP_STR(imagedb, config->args, "-imagedb", true, false); 969 PXOPT_LOOKUP_STR(rlabel, config->args, "-rlabel", false, false); 1084 PXOPT_LOOKUP_STR(rlabel, config->args, "-rlabel", true, false); 1085 PXOPT_LOOKUP_STR(outdir, config->args, "-outdir", true, false); 970 1086 PXOPT_LOOKUP_BOOL(need_magic, config->args, "-need_magic", false); 971 1087 PXOPT_LOOKUP_BOOL(no_create, config->args, "-no_create", false); … … 983 1099 } 984 1100 985 psString query = pxDataGet("pstamptool_ pendingdependent.sql");1101 psString query = pxDataGet("pstamptool_getdependent.sql"); 986 1102 if (!query) { 987 1103 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); … … 1046 1162 rlabel, 1047 1163 need_magic, 1164 outdir, 1048 1165 0 // fault 1049 1166 )) { … … 1087 1204 PXOPT_COPY_STR(config->args, where, "-imagedb", "imagedb", "=="); 1088 1205 PXOPT_COPY_S64(config->args, where, "-stage_id", "stage_id", "=="); 1206 PXOPT_COPY_S64(config->args, where, "-dep_id", "dep_id", "=="); 1089 1207 PXOPT_COPY_STR(config->args, where, "-rlabel", "rlabel", "=="); 1090 1208 pxAddLabelSearchArgs(config, where, "-label", "pstampRequest.label", "=="); … … 1105 1223 } 1106 1224 psFree(where); 1225 1226 psStringAppend(&query, " ORDER BY priority DESC, req_id"); 1107 1227 1108 1228 // treat limit == 0 as "no limit" … … 1148 1268 PXOPT_LOOKUP_S64(dep_id, config->args, "-dep_id", true, false); 1149 1269 PXOPT_LOOKUP_STR(state, config->args, "-set_state", false, false); 1150 PXOPT_LOOKUP_S16(fault, config->args, "- fault", false, false);1270 PXOPT_LOOKUP_S16(fault, config->args, "-set_fault", false, false); 1151 1271 1152 1272 if (!fault && !state) { … … 1186 1306 1187 1307 psMetadata *where = psMetadataAlloc(); 1188 PXOPT_COPY_S64(config->args, where, "-fault", " req_id", "==");1308 PXOPT_COPY_S64(config->args, where, "-fault", "pstampDependent.fault", "=="); 1189 1309 PXOPT_COPY_S64(config->args, where, "-dep_id", "dep_id", "=="); 1190 1310 pxAddLabelSearchArgs(config, where, "-label", "pstampRequest.label", "=="); … … 1201 1321 } 1202 1322 1203 psString whereClause = psDBGenerateWhere SQL(where, NULL);1204 psStringAppend(&query, " %s", whereClause);1323 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 1324 psStringAppend(&query, " AND %s", whereClause); 1205 1325 psFree(whereClause); 1206 1326 psFree(where); -
branches/czw_branch/20100427/ippTools/src/pstamptool.h
r27740 r28017 34 34 PSTAMPTOOL_MODE_UPDATEREQ, 35 35 PSTAMPTOOL_MODE_REVERTREQ, 36 PSTAMPTOOL_MODE_PENDINGCLEANUP, 36 37 PSTAMPTOOL_MODE_ADDJOB, 37 38 PSTAMPTOOL_MODE_LISTJOB, -
branches/czw_branch/20100427/ippTools/src/pstamptoolConfig.c
r27740 r28017 98 98 // -updatereq 99 99 psMetadata *updatereqArgs = psMetadataAlloc(); 100 psMetadataAddS64(updatereqArgs, PS_LIST_TAIL, "-req_id", 0, "req_id for which to change state", 0); 101 psMetadataAddStr(updatereqArgs, PS_LIST_TAIL, "-state", 0, "new state", NULL); 102 psMetadataAddStr(updatereqArgs, PS_LIST_TAIL, "-outProduct", 0, "define request outProduct", NULL); 103 psMetadataAddS16(updatereqArgs, PS_LIST_TAIL, "-fault", 0, "define request fault code", 0); 104 psMetadataAddStr(updatereqArgs, PS_LIST_TAIL, "-uri", 0, "define the uri", NULL); 105 psMetadataAddStr(updatereqArgs, PS_LIST_TAIL, "-name", 0, "define the name", NULL); 106 psMetadataAddStr(updatereqArgs, PS_LIST_TAIL, "-reqType", 0, "define the reqType", NULL); 100 psMetadataAddS64(updatereqArgs, PS_LIST_TAIL, "-req_id", 0, "req_id for which to update", 0); 101 psMetadataAddS64(updatereqArgs, PS_LIST_TAIL, "-req_id_max", 0, "maximum req_id for which to update", 0); 102 psMetadataAddS16(updatereqArgs, PS_LIST_TAIL, "-fault", 0, "search by fault code", 0); 103 psMetadataAddStr(updatereqArgs, PS_LIST_TAIL, "-state", 0, "search by state", NULL); 104 psMetadataAddStr(updatereqArgs, PS_LIST_TAIL, "-label", PS_META_DUPLICATE_OK, "search by pstampJob label (LIKE comparision)", NULL); 105 psMetadataAddStr(updatereqArgs, PS_LIST_TAIL, "-set_state", 0, "new state", NULL); 106 psMetadataAddStr(updatereqArgs, PS_LIST_TAIL, "-set_label", 0, "new label", NULL); 107 psMetadataAddStr(updatereqArgs, PS_LIST_TAIL, "-set_outProduct", 0, "new outProduct", NULL); 108 psMetadataAddStr(updatereqArgs, PS_LIST_TAIL, "-set_outdir", 0, "new outdir", NULL); 109 psMetadataAddS16(updatereqArgs, PS_LIST_TAIL, "-set_fault", 0, "new fault code", 0); 110 psMetadataAddStr(updatereqArgs, PS_LIST_TAIL, "-set_uri", 0, "new uri", NULL); 111 psMetadataAddStr(updatereqArgs, PS_LIST_TAIL, "-set_name", 0, "new name", NULL); 112 psMetadataAddStr(updatereqArgs, PS_LIST_TAIL, "-set_reqType", 0, "new reqType", NULL); 113 psMetadataAddBool(updatereqArgs, PS_LIST_TAIL, "-clearfault", 0, "set fault to zero", false); 107 114 108 115 // -revertreq … … 112 119 psMetadataAddStr(revertreqArgs, PS_LIST_TAIL, "-state", 0, "state to revert", NULL); 113 120 psMetadataAddStr(revertreqArgs, PS_LIST_TAIL, "-label", PS_META_DUPLICATE_OK, "search by pstampRequest label (LIKE comparision)", NULL); 121 122 // -pendingcleanup 123 psMetadata *pendingcleanupArgs = psMetadataAlloc(); 124 psMetadataAddS64(pendingcleanupArgs, PS_LIST_TAIL, "-req_id", 0, "define req_id", 0); 125 psMetadataAddS64(pendingcleanupArgs, PS_LIST_TAIL, "-ds_id", 0, "define ds_id", 0); 126 psMetadataAddStr(pendingcleanupArgs, PS_LIST_TAIL, "-label", PS_META_DUPLICATE_OK, "search by pstampRequest label (LIKE comparision)", NULL); 127 psMetadataAddU64(pendingcleanupArgs, PS_LIST_TAIL, "-limit", 0, "limit result set to N items", 0); 128 psMetadataAddBool(pendingcleanupArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 114 129 115 130 // -addjob … … 145 160 psMetadataAddS64(updatejobArgs, PS_LIST_TAIL, "-job_id", 0, "req_id for which to change state", 0); 146 161 psMetadataAddS64(updatejobArgs, PS_LIST_TAIL, "-dep_id", 0, "dep_id for which to change state", 0); 147 psMetadataAddStr(updatejobArgs, PS_LIST_TAIL, "-s tate", 0, "new state", NULL);148 psMetadataAddS16(updatejobArgs, PS_LIST_TAIL, "- fault", 0, "new result", 0);162 psMetadataAddStr(updatejobArgs, PS_LIST_TAIL, "-set_state", 0, "new state", NULL); 163 psMetadataAddS16(updatejobArgs, PS_LIST_TAIL, "-set_fault", 0, "new result", 0); 149 164 150 165 // -revertjob … … 160 175 // -getdependent 161 176 psMetadata *getdependentArgs = psMetadataAlloc(); 162 psMetadataAddS64(getdependentArgs, PS_LIST_TAIL, "-stage_id", 0, "define id for dependent (required)", 0); 177 // arguabely all of these could be -set_ arguments, but since this mode is both a query and 178 // a create if doesn't exist I like it this way 179 psMetadataAddS64(getdependentArgs, PS_LIST_TAIL, "-stage_id", 0, "define stage id for dependent (required)", 0); 163 180 psMetadataAddStr(getdependentArgs, PS_LIST_TAIL, "-stage", 0, "define stage for dependent (required)", NULL); 164 181 psMetadataAddStr(getdependentArgs, PS_LIST_TAIL, "-component", 0, "define component for depenent (required)", NULL); … … 166 183 psMetadataAddStr(getdependentArgs, PS_LIST_TAIL, "-rlabel", 0, "define label for dependent ", NULL); 167 184 psMetadataAddBool(getdependentArgs,PS_LIST_TAIL, "-need_magic", 0, "define need_magic", false); 185 psMetadataAddStr(getdependentArgs, PS_LIST_TAIL, "-outdir", 0, "define output directory for dependent (required)", NULL); 168 186 psMetadataAddBool(getdependentArgs,PS_LIST_TAIL, "-no_create", 0, "if no matching dependent do not create one", false); 169 187 … … 172 190 psMetadataAddS64(updatedependentArgs, PS_LIST_TAIL, "-dep_id", 0, "define id for dependent (required)", 0); 173 191 psMetadataAddStr(updatedependentArgs, PS_LIST_TAIL, "-set_state", 0, "new value for state", NULL); 174 psMetadataAddS16(updatedependentArgs, PS_LIST_TAIL, "- fault", 0, "new value for fault", 0);192 psMetadataAddS16(updatedependentArgs, PS_LIST_TAIL, "-set_fault", 0, "new value for fault", 0); 175 193 176 194 // -revertdependent 177 195 psMetadata *revertdependentArgs = psMetadataAlloc(); 178 196 psMetadataAddS64(revertdependentArgs, PS_LIST_TAIL, "-dep_id", 0, "define id for dependent", 0); 179 psMetadataAddS16(revertdependentArgs, PS_LIST_TAIL, "-fault", 0, "new value for fault", 0); 197 psMetadataAddStr(revertdependentArgs, PS_LIST_TAIL, "-label", PS_META_DUPLICATE_OK, "define label for dependent ", NULL); 198 psMetadataAddS16(revertdependentArgs, PS_LIST_TAIL, "-fault", 0, "define fault", 0); 180 199 181 200 // -pendingdependent … … 184 203 psMetadataAddStr(pendingdependentArgs, PS_LIST_TAIL, "-stage", 0, "define stage for dependent", NULL); 185 204 psMetadataAddStr(pendingdependentArgs, PS_LIST_TAIL, "-component", 0, "define component for dependent", NULL); 205 psMetadataAddS64(pendingdependentArgs, PS_LIST_TAIL, "-dep_id", 0, "define dep_id for dependent", 0); 186 206 psMetadataAddStr(pendingdependentArgs, PS_LIST_TAIL, "-label", PS_META_DUPLICATE_OK, "define label for pstampRequest", NULL); 187 207 psMetadataAddStr(pendingdependentArgs, PS_LIST_TAIL, "-rlabel", 0, "define label for dependent", NULL); … … 224 244 PXOPT_ADD_MODE("-completedreq", "", PSTAMPTOOL_MODE_COMPLETEDREQ, completedreqArgs); 225 245 PXOPT_ADD_MODE("-revertreq", "", PSTAMPTOOL_MODE_REVERTREQ, revertreqArgs); 246 PXOPT_ADD_MODE("-pendingcleanup", "", PSTAMPTOOL_MODE_PENDINGCLEANUP, pendingcleanupArgs); 226 247 227 248 PXOPT_ADD_MODE("-addjob", "", PSTAMPTOOL_MODE_ADDJOB, addjobArgs); -
branches/czw_branch/20100427/ippTools/src/pxcam.c
r27210 r28017 152 152 char *tess_id, 153 153 char *end_stage, 154 psS64 magicked,154 psS64 magicked, 155 155 char *note) 156 156 { … … 184 184 end_stage ? end_stage : "NULL", 185 185 (long long) magicked, 186 "NULL", // This shouldn't be propagated 187 "NULL", 188 "NULL", 189 "NULL", 190 "NULL", 191 "NULL", 186 192 note ? note : "NULL", 187 193 (long long)chip_id -
branches/czw_branch/20100427/ippTools/src/pxchip.c
r27246 r28017 69 69 psMetadataAddF64(md, PS_LIST_TAIL, "-posang_min", 0, "search by min rotator position angle", NAN); 70 70 psMetadataAddF64(md, PS_LIST_TAIL, "-posang_max", 0, "search by max rotator position angle", NAN); 71 psMetadataAddF32(md, PS_LIST_TAIL, "-sun_angle_min", 0, "search by min solar angle", NAN);72 psMetadataAddF32(md, PS_LIST_TAIL, "-sun_angle_max", 0, "search by max solar angle", NAN);71 psMetadataAddF32(md, PS_LIST_TAIL, "-sun_angle_min", 0, "search by min solar angle", NAN); 72 psMetadataAddF32(md, PS_LIST_TAIL, "-sun_angle_max", 0, "search by max solar angle", NAN); 73 73 psMetadataAddStr(md, PS_LIST_TAIL, "-object", 0, "search by exposure object", NULL); 74 74 psMetadataAddStr(md, PS_LIST_TAIL, "-comment", 0, "search by comment field (LIKE comparison)", NULL); 75 psMetadataAddStr(md, PS_LIST_TAIL, "-obs_mode", 0, "search by observation mode", NULL);75 psMetadataAddStr(md, PS_LIST_TAIL, "-obs_mode", 0, "search by observation mode", NULL); 76 76 return true; 77 77 } … … 121 121 PXOPT_COPY_F64(config->args, where, "-posang_min", "rawExp.posang", ">="); 122 122 PXOPT_COPY_F64(config->args, where, "-posang_max", "rawExp.posang", "<"); 123 PXOPT_COPY_STR(config->args, where, "-object", "rawExp.object", " ==");123 PXOPT_COPY_STR(config->args, where, "-object", "rawExp.object", "LIKE"); 124 124 PXOPT_COPY_F32(config->args, where, "-sun_angle_min", "rawExp.sun_angle", ">="); 125 125 PXOPT_COPY_F32(config->args, where, "-sun_angle_max", "rawExp.sun_angle", "<"); … … 277 277 end_stage, 278 278 0, // magicked 279 NULL, 280 0, 281 NAN, 282 NAN, 283 NAN, 284 NAN, 279 285 note 280 286 ) -
branches/czw_branch/20100427/ippTools/src/pxtools.c
r27784 r28017 57 57 psS32 num2; 58 58 psS32 numO; 59 60 if (!version1) { 61 psStringAppend(&out,version2); 62 return(out); 63 } 64 if (!version2) { 65 psStringAppend(&out,version1); 66 return(out); 67 } 59 68 60 69 if (strchr(version1,'M')) { … … 84 93 } 85 94 86 95 bool pxCoalesceRunStatus(pxConfig *config, const psString dbQFile, psS64 stage_id, psString *software_ver, 96 psS32 *maskfrac_npix, psF32 *maskfrac_static, psF32 *maskfrac_dynamic, 97 psF32 *maskfrac_magic, psF32 *maskfrac_advisory) { 98 psString query = pxDataGet(dbQFile); 99 /* psString text_id = NULL; */ 100 /* psStringAppend(&text_id," %" PRId64,stage_id); */ 101 /* psStringSubstitute(&query,text_id,"@STAGE_ID@"); */ 102 /* psFree(text_id); */ 103 if (!p_psDBRunQueryF(config->dbh, query, stage_id)) { 104 psError(PS_ERR_UNKNOWN, false, "database error"); 105 psFree(query); 106 return(false); 107 } 108 psFree(query); 109 psArray *output = p_psDBFetchResult(config->dbh); 110 if (!output) { 111 psError(PS_ERR_UNKNOWN, false, "database error"); 112 return(false); 113 } 114 115 for (long i = 0; i < psArrayLength(output); i++) { 116 psMetadata *row = output->data[i]; 117 118 psS32 this_npix = psMetadataLookupS32(NULL, row, "maskfrac_npix"); 119 psF32 this_static = psMetadataLookupF32(NULL, row, "maskfrac_static"); 120 psF32 this_dynamic = psMetadataLookupF32(NULL, row, "maskfrac_dynamic"); 121 psF32 this_magic = psMetadataLookupF32(NULL, row, "maskfrac_magic"); 122 psF32 this_advisory = psMetadataLookupF32(NULL, row, "maskfrac_advisory"); 123 psString this_version = psMetadataLookupStr(NULL, row, "software_ver"); 124 125 *software_ver = pxMergeCodeVersions(*software_ver,this_version); 126 127 *maskfrac_static = ((*maskfrac_static * *maskfrac_npix) + (this_npix * this_static)) / (this_npix + *maskfrac_npix); 128 *maskfrac_dynamic = ((*maskfrac_dynamic * *maskfrac_npix) + (this_npix * this_dynamic)) / (this_npix + *maskfrac_npix); 129 *maskfrac_magic = ((*maskfrac_magic * *maskfrac_npix) + (this_npix * this_magic)) / (this_npix + *maskfrac_npix); 130 *maskfrac_advisory = ((*maskfrac_advisory * *maskfrac_npix) + (this_npix * this_advisory)) / (this_npix + *maskfrac_npix); 131 *maskfrac_npix += this_npix; 132 } 133 psFree(output); 134 return(true); 135 } 136 137 bool pxSetRunSoftware(pxConfig *config, const psString tableName, const psString stage_id_name, const psS64 stage_id, 138 psString software_ver) { 139 char *query = "UPDATE %s SET software_ver = '%s' WHERE %s = %" PRId64; 140 printf(query,tableName,software_ver,stage_id_name,stage_id); 141 if (!p_psDBRunQueryF(config->dbh,query,tableName,software_ver,stage_id_name,stage_id)) { 142 psError(PS_ERR_UNKNOWN, false, 143 "failed to set software version for %s %" PRId64,stage_id_name,stage_id); 144 return(false); 145 } 146 147 return(true); 148 } 149 bool pxSetRunMaskfrac(pxConfig *config, const psString tableName, const psString stage_id_name, const psS64 stage_id, 150 psS32 maskfrac_npix, psF32 maskfrac_static, psF32 maskfrac_dynamic, 151 psF32 maskfrac_magic, psF32 maskfrac_advisory) { 152 char *query = "UPDATE %s SET maskfrac_npix = %d, maskfrac_static = %f, maskfrac_dynamic = %f, maskfrac_magic = %f, maskfrac_advisory = %f WHERE %s = %" PRId64; 153 if (!p_psDBRunQueryF(config->dbh,query,tableName,maskfrac_npix,maskfrac_static, 154 maskfrac_dynamic, maskfrac_magic,maskfrac_advisory,stage_id_name,stage_id)) { 155 psError(PS_ERR_UNKNOWN, false, 156 "failed to set maskfrac stats for %s %" PRId64,stage_id_name,stage_id); 157 return(false); 158 } 159 160 161 162 return(true); 163 } 87 164 88 165 // 'scrubbed' is no longer a virtual state equivalent to cleaned, but allows files to be removed -
branches/czw_branch/20100427/ippTools/src/pxtools.h
r27391 r28017 53 53 54 54 bool pxIsValidState(const char *state); 55 psString pxMergeCodeVersions(psString version1, psString version2); 56 bool pxCoalesceRunStatus(pxConfig *config, const psString dbQFile, psS64 stage_id, psString *software_ver, 57 psS32 *maskfrac_npix, psF32 *maskfrac_static, psF32 *maskfrac_dynamic, 58 psF32 *maskfrac_magic, psF32 *maskfrac_advisory); 59 bool pxSetRunSoftware(pxConfig *config, const psString tableName, const psString stage_id_name, const psS64 stage_id, 60 psString software_ver); 61 bool pxSetRunMaskfrac(pxConfig *config, const psString tableName, const psString stage_id_name, const psS64 stage_id, 62 psS32 maskfrac_npix, psF32 maskfrac_static, psF32 maskfrac_dynamic, 63 psF32 maskfrac_magic, psF32 maskfrac_advisory); 64 55 65 bool pxSetStateCleaned(const psString tableName, const psString columnName, psArray *rows); 56 66 bool pxAddLabelSearchArgs (pxConfig *config, psMetadata *where, char *field, char *name, char *op); … … 286 296 PXOPT_COPY_PRIMITIVE(from, to, psU64, U64, oldname, newname, comment) 287 297 298 #define PXOPT_COPY_BOOL(from, to, oldname, newname, comment) \ 299 PXOPT_COPY_V(from, to, psBool, Bool, oldname, newname, comment) 288 300 289 301 /*** these PXOPT_ADD_WHERE macros are used to construct the default sql elements ***/ -
branches/czw_branch/20100427/ippTools/src/pxwarp.c
r25835 r28017 60 60 NULL, // registered 61 61 0, // magicked set to zero when created may get updated when warpRun goes to 'full' 62 NULL, // version 63 0, // maskfrac_npix 64 NAN, // static 65 NAN, // dynamic 66 NAN, // magic 67 NAN, // advisory 62 68 NULL // note 63 69 )) { -
branches/czw_branch/20100427/ippTools/src/stacktool.c
r27784 r28017 370 370 tess_id, 371 371 filter, 372 NULL, // software_ver 372 373 note); 373 374 … … 526 527 tess_id, 527 528 filter, 529 NULL, // software_ver 528 530 note); 529 531 … … 853 855 psTrace("czw.test",1,"Received versions: pslib %s psmodules %s psphot %s ppstats %s ppstack %s streaks %s\n", 854 856 ver_pslib,ver_psmodules,ver_psphot,ver_ppstats,ver_ppstack,ver_streaks); 857 psString software_ver = NULL; 858 if ((ver_pslib)&&(ver_psmodules)) { 859 software_ver = pxMergeCodeVersions(ver_pslib,ver_psmodules); 860 } 861 if (ver_psphot) { 862 software_ver = pxMergeCodeVersions(software_ver,ver_psphot); 863 } 864 if (ver_ppstats) { 865 software_ver = pxMergeCodeVersions(software_ver,ver_ppstats); 866 } 867 if (ver_ppstack) { 868 software_ver = pxMergeCodeVersions(software_ver,ver_ppstack); 869 } 870 if (ver_streaks) { 871 software_ver = pxMergeCodeVersions(software_ver,ver_streaks); 872 } 855 873 856 874 // default values … … 893 911 good_frac, 894 912 fault, 913 software_ver, 895 914 quality 896 /* quality, */897 /* ver_pslib, */898 /* ver_psmodules, */899 /* ver_psphot, */900 /* ver_ppstats, */901 /* ver_ppstack, */902 /* ver_streaks */903 915 )) { 904 916 if (!psDBRollback(config->dbh)) { … … 910 922 911 923 if (fault == 0) { 924 // Set stackRun software if we are finished. 925 if (!pxSetRunSoftware(config, "stackRun", "stack_id", stack_id, software_ver)) { 926 if (!psDBRollback(config->dbh)) { 927 psError(PS_ERR_UNKNOWN, false, "database error"); 928 } 929 psError(PS_ERR_UNKNOWN, false, "failed to set stackRun.software_ver for stack_id: %" PRId64, 930 stack_id); 931 return(false); 932 } 933 912 934 if (!setstackRunState(config, stack_id, "full")) { 913 935 if (!psDBRollback(config->dbh)) { -
branches/czw_branch/20100427/ippTools/src/staticskytool.c
r27546 r28017 107 107 108 108 // optional 109 PXOPT_LOOKUP_STR(label, config->args, "-set_label", false, false);110 PXOPT_LOOKUP_STR(data_group, config->args, "-set_data_group", false, false);111 PXOPT_LOOKUP_STR(dist_group, config->args, "-set_dist_group", false, false);112 PXOPT_LOOKUP_STR(reduction, config->args, "-set_reduction", false, false);113 PXOPT_LOOKUP_STR(note, config->args, "-set_note", false, false);109 PXOPT_LOOKUP_STR(label, config->args, "-set_label", false, false); 110 PXOPT_LOOKUP_STR(data_group, config->args, "-set_data_group", false, false); 111 PXOPT_LOOKUP_STR(dist_group, config->args, "-set_dist_group", false, false); 112 PXOPT_LOOKUP_STR(reduction, config->args, "-set_reduction", false, false); 113 PXOPT_LOOKUP_STR(note, config->args, "-set_note", false, false); 114 114 PXOPT_LOOKUP_TIME(registered, config->args, "-set_registered", false, false); 115 115 … … 118 118 119 119 PXOPT_COPY_F32(config->args, where, "-select_good_frac_min", "stackSumSkyfile.good_frac", ">="); 120 PXOPT_COPY_STR(config->args, where, "-select_skycell_id", "stackRun.skycell_id","==");121 pxAddLabelSearchArgs(config, where, "-select_label", "stackRun.label","LIKE");122 pxAddLabelSearchArgs(config, where, "-select_filter", "stackRun.filter","LIKE");120 PXOPT_COPY_STR(config->args, where, "-select_skycell_id", "stackRun.skycell_id", "=="); 121 pxAddLabelSearchArgs(config, where, "-select_label", "stackRun.label", "LIKE"); 122 pxAddLabelSearchArgs(config, where, "-select_filter", "stackRun.filter", "LIKE"); 123 123 124 124 // these are used to build the HAVING restriction 125 PXOPT_COPY_S32(config->args, having, "-min_num", "num",">=");125 PXOPT_COPY_S32(config->args, having, "-min_num", "num", ">="); 126 126 PXOPT_COPY_S32(config->args, having, "-min_filter", "num_filter", ">="); 127 127 -
branches/czw_branch/20100427/ippTools/src/staticskytoolConfig.c
r27546 r28017 46 46 47 47 // -definebyquery 48 // XXX need a 'ra_min,max', 'dec_min,max' : to do this, we need a table of skycell boundaries 48 49 psMetadata *definebyqueryArgs = psMetadataAlloc(); 49 psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-set_workdir", 0, "define workdir (required)", NULL); 50 psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-set_label", 0, "define label", NULL); 51 psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-set_data_group", 0, "define data group", NULL); 52 psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-set_dist_group", 0, "define dist group", NULL); 53 psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-set_note", 0, "define note", NULL); 54 psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-set_reduction", 0, "define reduction", NULL); 50 psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-select_skycell_id", 0, "search for skycell_id", NULL); 51 psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-select_tess_id", 0, "search for tess_id", NULL); 52 psMetadataAddF32(definebyqueryArgs, PS_LIST_TAIL, "-select_good_frac_min", 0, "define min good_frac", 0.0); 53 psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-select_label", PS_META_DUPLICATE_OK, "search by stackRun label (LIKE comparison, multiple OK)", NULL); 54 psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-select_filter", PS_META_DUPLICATE_OK, "search by filter (LIKE comparison, multiple OK)", NULL); 55 psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-set_workdir", 0, "define workdir (required)", NULL); 56 psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-set_label", 0, "define label", NULL); 57 psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-set_data_group", 0, "define data group", NULL); 58 psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-set_dist_group", 0, "define dist group", NULL); 59 psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-set_note", 0, "define note", NULL); 60 psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-set_reduction", 0, "define reduction", NULL); 55 61 psMetadataAddTime(definebyqueryArgs, PS_LIST_TAIL, "-set_registered", 0, "time detrend run was registered", now); 56 psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-select_skycell_id", 0, "search for skycell_id", NULL);57 psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-select_tess_id", 0, "search for tess_id", NULL);58 psMetadataAddF32(definebyqueryArgs, PS_LIST_TAIL, "-select_good_frac_min", 0, "define min good_frac", 0.0);59 psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-select_label", PS_META_DUPLICATE_OK, "search by stackRun label (LIKE comparison, multiple OK)", NULL);60 psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-select_filter", PS_META_DUPLICATE_OK, "search by filter (LIKE comparison, multiple OK)", NULL);61 62 psMetadataAddBool(definebyqueryArgs, PS_LIST_TAIL, "-pretend", 0, "do not actually modify the database", false); 62 63 psMetadataAddBool(definebyqueryArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); … … 64 65 // -updaterun 65 66 psMetadata *updaterunArgs = psMetadataAlloc(); 66 psMetadataAddS64(updaterunArgs, PS_LIST_TAIL, "-s s_id", 0, "search by stack ID", 0);67 psMetadataAddS64(updaterunArgs, PS_LIST_TAIL, "-sky_id", 0, "search by stack ID", 0); 67 68 psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-state", 0, "search by state", NULL); 68 69 psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-label", 0, "search by label", 0); … … 75 76 // -inputs 76 77 psMetadata *inputsArgs = psMetadataAlloc(); 77 psMetadataAddS64(inputsArgs, PS_LIST_TAIL, "-s s_id", 0, "search by staticsky ID", 0);78 psMetadataAddS64(inputsArgs, PS_LIST_TAIL, "-sky_id", 0, "search by staticsky ID", 0); 78 79 psMetadataAddU64(inputsArgs, PS_LIST_TAIL, "-limit", 0, "limit result set to N items", 0); 79 80 psMetadataAddBool(inputsArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); … … 81 82 // -todo 82 83 psMetadata *todoArgs = psMetadataAlloc(); 83 psMetadataAddS64(todoArgs, PS_LIST_TAIL, "-s s_id", 0, "search by staticsky ID", 0);84 psMetadataAddS64(todoArgs, PS_LIST_TAIL, "-sky_id", 0, "search by staticsky ID", 0); 84 85 psMetadataAddStr(todoArgs, PS_LIST_TAIL, "-label", PS_META_DUPLICATE_OK, "search by label", NULL); 85 86 psMetadataAddU64(todoArgs, PS_LIST_TAIL, "-limit", 0, "limit result set to N items", 0); … … 88 89 // -addresult 89 90 psMetadata *addresultArgs = psMetadataAlloc(); 90 psMetadataAddS64(addresultArgs, PS_LIST_TAIL, "-s s_id", 0, "define stack ID (required)", 0);91 psMetadataAddS64(addresultArgs, PS_LIST_TAIL, "-sky_id", 0, "define stack ID (required)", 0); 91 92 psMetadataAddStr(addresultArgs, PS_LIST_TAIL, "-path_base", 0, "define base output location", 0); 92 93 psMetadataAddF32(addresultArgs, PS_LIST_TAIL, "-dtime_phot", 0, "define photometry time", NAN); … … 100 101 // -result 101 102 psMetadata *resultArgs= psMetadataAlloc(); 102 psMetadataAddS64(resultArgs, PS_LIST_TAIL, "-s s_id", 0, "search by staticsky ID", 0);103 psMetadataAddS64(resultArgs, PS_LIST_TAIL, "-sky_id", 0, "search by staticsky ID", 0); 103 104 psMetadataAddStr(resultArgs, PS_LIST_TAIL, "-tess_id", 0, "search by tess ID", 0); 104 105 psMetadataAddStr(resultArgs, PS_LIST_TAIL, "-skycell_id", 0, "search by skycell ID", 0); … … 111 112 // -revert 112 113 psMetadata *revertArgs= psMetadataAlloc(); 113 psMetadataAddS64(revertArgs, PS_LIST_TAIL, "-s s_id", 0, "search by staticsky ID", 0);114 psMetadataAddS64(revertArgs, PS_LIST_TAIL, "-sky_id", 0, "search by staticsky ID", 0); 114 115 psMetadataAddStr(revertArgs, PS_LIST_TAIL, "-label", PS_META_DUPLICATE_OK, "search by label", 0); 115 116 psMetadataAddS16(revertArgs, PS_LIST_TAIL, "-fault", 0, "search by fault code", 0); … … 118 119 // -updateresult 119 120 psMetadata *updateresultArgs = psMetadataAlloc(); 120 psMetadataAddS64(updateresultArgs, PS_LIST_TAIL, "-s s_id", 0, "define staticksky ID (required)", 0);121 psMetadataAddS64(updateresultArgs, PS_LIST_TAIL, "-sky_id", 0, "define staticksky ID (required)", 0); 121 122 psMetadataAddS16(updateresultArgs, PS_LIST_TAIL, "-fault", 0, "set fault code (required)", 0); 122 123 123 124 // -exportrun 124 125 psMetadata *exportrunArgs = psMetadataAlloc(); 125 psMetadataAddS64(exportrunArgs, PS_LIST_TAIL, "-s s_id", 0, "export this staticsky ID (required)", 0);126 psMetadataAddS64(exportrunArgs, PS_LIST_TAIL, "-sky_id", 0, "export this staticsky ID (required)", 0); 126 127 psMetadataAddStr(exportrunArgs, PS_LIST_TAIL, "-outfile", 0, "export to this file (required)", NULL); 127 128 psMetadataAddU64(exportrunArgs, PS_LIST_TAIL, "-limit", 0, "limit result set to N items", 0); -
branches/czw_branch/20100427/ippTools/src/warptool.c
r27784 r28017 177 177 registered, 178 178 0, // magicked 179 note 179 NULL, // software version 180 0, // mask stat npix 181 NAN, // static 182 NAN, // dynamic 183 NAN, // magic 184 NAN, // advisory 185 note 180 186 ); 181 187 if (!warpRun) { … … 248 254 PXOPT_COPY_F64(config->args, where, "-posang_max", "rawExp.posang", "<"); 249 255 PXOPT_COPY_STR(config->args, where, "-object", "rawExp.object", "=="); 256 PXOPT_COPY_STR(config->args, where, "-comment", "rawExp.comment", "LIKE"); 257 PXOPT_COPY_STR(config->args, where, "-obs_mode", "rawExp.obs_mode", "LIKE"); 250 258 PXOPT_COPY_F32(config->args, where, "-sun_angle_min", "rawExp.sun_angle", ">="); 251 259 PXOPT_COPY_F32(config->args, where, "-sun_angle_max", "rawExp.sun_angle", "<"); … … 273 281 PXOPT_LOOKUP_TIME(registered, config->args, "-registered", false, false); 274 282 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); 283 PXOPT_LOOKUP_BOOL(pretend, config->args, "-pretend", false); 275 284 276 285 // check mode … … 310 319 if (!psArrayLength(output)) { 311 320 psTrace("warptool", PS_LOG_INFO, "no rows found"); 321 psFree(output); 322 return true; 323 } 324 325 if (pretend) { 326 // negative simple so the default is true 327 if (!ippdbPrintMetadatas(stdout, output, "rawExp", !simple)) { 328 psError(PS_ERR_UNKNOWN, false, "failed to print array"); 329 psFree(output); 330 return false; 331 } 312 332 psFree(output); 313 333 return true; … … 925 945 // to avoid slow queries and to the query itself 926 946 // to satisfy the user's requested limit 927 psStringAppend(&limitString, psDBGenerateLimitSQL(limit));947 psStringAppend(&limitString, "%s", psDBGenerateLimitSQL(limit)); 928 948 psStringAppend(&query, " %s", limitString); 929 949 } … … 1012 1032 PXOPT_LOOKUP_STR(ver_streaks, config->args, "-ver_streaks", false, false); 1013 1033 1034 PXOPT_LOOKUP_S32(maskfrac_npix, config->args, "-maskfrac_npix", false, false); 1035 PXOPT_LOOKUP_F32(maskfrac_static, config->args, "-maskfrac_static", false, false); 1036 PXOPT_LOOKUP_F32(maskfrac_dynamic, config->args, "-maskfrac_dynamic", false, false); 1037 PXOPT_LOOKUP_F32(maskfrac_magic, config->args, "-maskfrac_magic", false, false); 1038 PXOPT_LOOKUP_F32(maskfrac_advisory, config->args, "-maskfrac_advisory", false, false); 1039 1014 1040 psTrace("czw.test",1,"Received versions: pslib %s psmodules %s psphot %s ppstats %s pswarp %s streaks %s\n", 1015 1041 ver_pslib,ver_psmodules,ver_psphot,ver_ppstats,ver_pswarp,ver_streaks); 1016 1042 psString ver_code = NULL; 1043 if ((ver_pslib)&&(ver_psmodules)) { 1044 ver_code = pxMergeCodeVersions(ver_pslib,ver_psmodules); 1045 } 1046 if (ver_psphot) { 1047 ver_code = pxMergeCodeVersions(ver_code,ver_psphot); 1048 } 1049 if (ver_ppstats) { 1050 ver_code = pxMergeCodeVersions(ver_code,ver_ppstats); 1051 } 1052 if (ver_pswarp) { 1053 ver_code = pxMergeCodeVersions(ver_code,ver_pswarp); 1054 } 1055 if (ver_streaks) { 1056 ver_code = pxMergeCodeVersions(ver_code,ver_streaks); 1057 } 1017 1058 1018 1059 // default values … … 1049 1090 fault, 1050 1091 quality, 1051 magicked 1052 /* magicked, */ 1053 /* ver_pslib, */ 1054 /* ver_psmodules, */ 1055 /* ver_psphot, */ 1056 /* ver_ppstats, */ 1057 /* ver_pswarp, */ 1058 /* ver_streaks */ 1092 magicked, 1093 ver_code, 1094 maskfrac_npix, 1095 maskfrac_static, 1096 maskfrac_dynamic, 1097 maskfrac_magic, 1098 maskfrac_advisory 1059 1099 )) { 1060 1100 if (!psDBRollback(config->dbh)) { … … 1121 1161 bool status; 1122 1162 psS64 warp_id = psMetadataLookupS64(&status, row, "warp_id"); 1163 1164 psString software_ver = NULL; 1165 psS32 maskfrac_npix = 0; 1166 psF32 maskfrac_static = 0; 1167 psF32 maskfrac_dynamic = 0; 1168 psF32 maskfrac_magic = 0; 1169 psF32 maskfrac_advisory = 0; 1170 1171 // Calculate run level masking and software state 1172 if (!pxCoalesceRunStatus(config,"warptool_coalesce_run.sql",warp_id, 1173 &software_ver,&maskfrac_npix, 1174 &maskfrac_static,&maskfrac_dynamic, 1175 &maskfrac_magic,&maskfrac_advisory)) { 1176 psError(PS_ERR_UNKNOWN, false, "failed to generate run level statistics"); 1177 psFree(output); 1178 if (!psDBRollback(config->dbh)) { 1179 psError(PS_ERR_UNKNOWN, false, "database error"); 1180 } 1181 return(false); 1182 } 1183 // Set warpRun.software_ver to the appropriate value 1184 if (!pxSetRunSoftware(config, "warpRun", "warp_id", warp_id, software_ver)) { 1185 psError(PS_ERR_UNKNOWN, false, "failed to set warpRun.software_ver for warp_id: %" PRId64, 1186 warp_id); 1187 psFree(output); 1188 if (!psDBRollback(config->dbh)) { 1189 psError(PS_ERR_UNKNOWN, false, "database error"); 1190 } 1191 return(false); 1192 } 1193 // Set warpRun.maskfrac* to the appropriate values. 1194 if (!pxSetRunMaskfrac(config, "warpRun", "warp_id", warp_id, maskfrac_npix, maskfrac_static, 1195 maskfrac_dynamic, maskfrac_magic, maskfrac_advisory)) { 1196 psError(PS_ERR_UNKNOWN, false, "failed to set warpRun.software_ver for warp_id: %" PRId64, 1197 warp_id); 1198 psFree(output); 1199 if (!psDBRollback(config->dbh)) { 1200 psError(PS_ERR_UNKNOWN, false, "database error"); 1201 } 1202 return(false); 1203 } 1204 1205 1123 1206 if (!status) { 1124 1207 psError(PS_ERR_UNKNOWN, false, "failed to look up value for warp_id"); -
branches/czw_branch/20100427/ippTools/src/warptoolConfig.c
r27784 r28017 89 89 psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-posang_max", 0, "search by max rotator position angle", NAN); 90 90 psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-object", 0, "search by exposure object", NULL); 91 psMetadataAddF32(definebyqueryArgs, PS_LIST_TAIL, "-sun_angle_min", 0, "search by min solar angle", NAN); 92 psMetadataAddF32(definebyqueryArgs, PS_LIST_TAIL, "-sun_angle_max", 0, "search by max solar angle", NAN); 91 psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-comment", 0, "search by comment field (LIKE comparison)", NULL); 92 psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-obs_mode", 0, "search by observation mode", NULL); 93 psMetadataAddF32(definebyqueryArgs, PS_LIST_TAIL, "-sun_angle_min", 0, "search by min solar angle", NAN); 94 psMetadataAddF32(definebyqueryArgs, PS_LIST_TAIL, "-sun_angle_max", 0, "search by max solar angle", NAN); 93 95 psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-reduction", 0, "search by fakeRun reduction class", NULL); 94 96 psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-label", PS_META_DUPLICATE_OK, "search on fakeRun label", NULL); … … 106 108 psMetadataAddTime(definebyqueryArgs, PS_LIST_TAIL, "-registered", 0, "time detrend run was registered", now); 107 109 psMetadataAddBool(definebyqueryArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 110 psMetadataAddBool(definebyqueryArgs, PS_LIST_TAIL, "-pretend", 0, "do not actually modify the database", false); 108 111 109 112 // -definerun … … 227 230 psMetadataAddStr(addwarpedArgs, PS_LIST_TAIL, "-ver_pswarp", 0, "define pswarp version", NULL); 228 231 psMetadataAddStr(addwarpedArgs, PS_LIST_TAIL, "-ver_streaks", 0, "define streaksremove version", NULL); 232 233 psMetadataAddS32(addwarpedArgs, PS_LIST_TAIL, "-maskfrac_npix", 0, "define number of pixels used for maskstats", 0); 234 psMetadataAddF32(addwarpedArgs, PS_LIST_TAIL, "-maskfrac_static", 0, "define static mask fraction", NAN); 235 psMetadataAddF32(addwarpedArgs, PS_LIST_TAIL, "-maskfrac_dynamic", 0, "define dynamic mask fraction", NAN); 236 psMetadataAddF32(addwarpedArgs, PS_LIST_TAIL, "-maskfrac_magic", 0, "define magic mask fraction", NAN); 237 psMetadataAddF32(addwarpedArgs, PS_LIST_TAIL, "-maskfrac_advisory", 0, "define advisory mask fraction", NAN); 229 238 230 239
Note:
See TracChangeset
for help on using the changeset viewer.
