Changeset 37095
- Timestamp:
- Jul 22, 2014, 10:53:00 AM (12 years ago)
- Location:
- trunk/ippTools
- Files:
-
- 1 added
- 4 edited
-
share/Makefile.am (modified) (1 diff)
-
share/releasetool_deleterelexp.sql (added)
-
src/releasetool.c (modified) (3 diffs)
-
src/releasetool.h (modified) (1 diff)
-
src/releasetoolConfig.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippTools/share/Makefile.am
r36981 r37095 484 484 releasetool_definerelstack.sql \ 485 485 releasetool_definerelstack_with_skycal.sql \ 486 releasetool_deleterelexp.sql \ 486 487 releasetool_listrelstack.sql \ 487 488 releasetool_summary.sql \ -
trunk/ippTools/src/releasetool.c
r37075 r37095 44 44 static bool updaterelexpMode(pxConfig *config); 45 45 static bool listrelexpMode(pxConfig *config); 46 static bool deleterelexpMode(pxConfig *config); 46 47 static bool definerelstackMode(pxConfig *config); 47 48 static bool updaterelstackMode(pxConfig *config); … … 81 82 MODECASE(RELEASETOOL_MODE_UPDATERELEXP, updaterelexpMode); 82 83 MODECASE(RELEASETOOL_MODE_LISTRELEXP, listrelexpMode); 84 MODECASE(RELEASETOOL_MODE_DELETERELEXP, deleterelexpMode); 83 85 84 86 MODECASE(RELEASETOOL_MODE_DEFINERELSTACK, definerelstackMode); … … 817 819 818 820 psFree(output); 821 822 return true; 823 } 824 825 static bool deleterelexpMode(pxConfig *config) 826 { 827 PS_ASSERT_PTR_NON_NULL(config, false); 828 829 PXOPT_LOOKUP_S64(relexp_id, config->args, "-relexp_id", false, false); 830 // If relexp_id is supplied that is all that we need 831 if (!relexp_id) { 832 // Otherwise we need to identify the release ... 833 PXOPT_LOOKUP_STR(release_name, config->args, "-release_name", false, false); 834 PXOPT_LOOKUP_S32(rel_id, config->args, "-rel_id", false, false); 835 836 if (!release_name && !rel_id) { 837 psError(PXTOOLS_ERR_CONFIG, true, "at least one of -relexp_id, -release_name, or -rel_id is required\n"); 838 return false; 839 } 840 // ... and the exposure 841 PXOPT_LOOKUP_STR(label, config->args, "-label", false, false); 842 PXOPT_LOOKUP_S64(cam_id, config->args, "-cam_id", false, false); 843 PXOPT_LOOKUP_S64(exp_id, config->args, "-exp_id", false, false); 844 PXOPT_LOOKUP_STR(exp_name, config->args, "-exp_name", false, false); 845 if (!label && !cam_id && !exp_id && !exp_name) { 846 psError(PXTOOLS_ERR_CONFIG, true, "at least one of -label, -cam_id, -exp_id, -exp_name is required\n"); 847 return false; 848 } 849 } 850 851 psMetadata *where = psMetadataAlloc(); 852 853 PXOPT_COPY_S32(config->args, where, "-relexp_id", "relExp.relexp_id", "=="); 854 PXOPT_COPY_STR(config->args, where, "-label", "camRun.label", "=="); 855 PXOPT_COPY_S64(config->args, where, "-cam_id", "relExp.cam_id", "=="); 856 PXOPT_COPY_S64(config->args, where, "-exp_id", "relExp.exp_id", "=="); 857 PXOPT_COPY_STR(config->args, where, "-exp_name", "rawExp.exp_name", "=="); 858 859 PXOPT_COPY_S32(config->args, where, "-rel_id", "rel_id", "=="); 860 PXOPT_COPY_STR(config->args, where, "-release_name", "release_name", "=="); 861 862 psString query = pxDataGet("releasetool_deleterelexp.sql"); 863 864 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 865 psStringAppend(&query, "\n AND %s", whereClause); 866 psFree(whereClause); 867 868 if (!p_psDBRunQuery(config->dbh, query)) { 869 psError(PS_ERR_UNKNOWN, false, "database error"); 870 psFree(query); 871 return false; 872 } 873 874 psU64 affected = psDBAffectedRows(config->dbh); 875 psLogMsg("releasetool", PS_LOG_INFO, "Deleted %" PRIu64 " relExp rows", affected); 876 877 878 psFree(query); 819 879 820 880 return true; -
trunk/ippTools/src/releasetool.h
r36041 r37095 34 34 RELEASETOOL_MODE_TOCALIBEXP, 35 35 RELEASETOOL_MODE_LISTRELEXP, 36 RELEASETOOL_MODE_DELETERELEXP, 36 37 RELEASETOOL_MODE_DEFINERELSTACK, 37 38 RELEASETOOL_MODE_UPDATERELSTACK, -
trunk/ippTools/src/releasetoolConfig.c
r36046 r37095 183 183 psMetadataAddBool(listrelexpArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 184 184 185 // -deleterelexp 186 psMetadata *deleterelexpArgs = psMetadataAlloc(); 187 psMetadataAddS64(deleterelexpArgs, PS_LIST_TAIL, "-relexp_id", 0, "select by released exposure ID", 0); 188 psMetadataAddS64(deleterelexpArgs, PS_LIST_TAIL, "-exp_id", 0, "select by exposure ID", 0); 189 psMetadataAddStr(deleterelexpArgs, PS_LIST_TAIL, "-exp_name", 0, "select by exposure name", NULL); 190 psMetadataAddS32(deleterelexpArgs, PS_LIST_TAIL, "-rel_id", 0, "select by release ID", 0); 191 psMetadataAddS32(deleterelexpArgs, PS_LIST_TAIL, "-cam_id", 0, "select by cam run ID", 0); 192 psMetadataAddStr(deleterelexpArgs, PS_LIST_TAIL, "-label", 0, "select by camRun.label", NULL); 193 psMetadataAddStr(deleterelexpArgs, PS_LIST_TAIL, "-release_name", 0, "select by release name (LIKE comparision)", NULL); 194 195 185 196 // -definerelstack 186 197 psMetadata *definerelstackArgs = psMetadataAlloc(); … … 348 359 PXOPT_ADD_MODE("-tocalibexp", "list relExps pending calibration", RELEASETOOL_MODE_TOCALIBEXP, tocalibexpArgs); 349 360 PXOPT_ADD_MODE("-listrelexp", "list released exposures", RELEASETOOL_MODE_LISTRELEXP, listrelexpArgs); 361 PXOPT_ADD_MODE("-deleterelexp", "delete a released exposure", RELEASETOOL_MODE_DELETERELEXP, deleterelexpArgs); 350 362 351 363 PXOPT_ADD_MODE("-definerelstack", "define a released stack", RELEASETOOL_MODE_DEFINERELSTACK, definerelstackArgs);
Note:
See TracChangeset
for help on using the changeset viewer.
