Changeset 37095 for trunk/ippTools/src/releasetool.c
- Timestamp:
- Jul 22, 2014, 10:53:00 AM (12 years ago)
- File:
-
- 1 edited
-
trunk/ippTools/src/releasetool.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
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;
Note:
See TracChangeset
for help on using the changeset viewer.
