Changeset 34800 for trunk/ippTools/src
- Timestamp:
- Dec 11, 2012, 2:04:31 PM (13 years ago)
- Location:
- trunk
- Files:
-
- 8 edited
-
. (modified) (1 prop)
-
ippTools/src (modified) (1 prop)
-
ippTools/src/magictool.c (modified) (1 prop)
-
ippTools/src/stacktool.c (modified) (4 diffs)
-
ippTools/src/stacktool.h (modified) (1 diff)
-
ippTools/src/stacktoolConfig.c (modified) (3 diffs)
-
ippTools/src/warptool.c (modified) (3 diffs)
-
ippTools/src/warptoolConfig.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk
-
trunk/ippTools/src
- Property svn:mergeinfo changed
/branches/czw_branch/20120906/ippTools/src (added) merged: 34772,34780,34786
- Property svn:mergeinfo changed
-
trunk/ippTools/src/magictool.c
- Property svn:mergeinfo changed
/branches/czw_branch/20120906/ippTools/src/magictool.c (added) merged: 34772
- Property svn:mergeinfo changed
-
trunk/ippTools/src/stacktool.c
r34731 r34800 37 37 static bool inputskyfileMode(pxConfig *config); 38 38 static bool tosumMode(pxConfig *config); 39 static bool tobkgMode(pxConfig *config); 39 40 static bool addsumskyfileMode(pxConfig *config); 40 41 static bool sumskyfileMode(pxConfig *config); … … 76 77 MODECASE(STACKTOOL_MODE_INPUTSKYFILE, inputskyfileMode); 77 78 MODECASE(STACKTOOL_MODE_TOSUM, tosumMode); 79 MODECASE(STACKTOOL_MODE_TOBKG, tobkgMode); 78 80 MODECASE(STACKTOOL_MODE_ADDSUMSKYFILE, addsumskyfileMode); 79 81 MODECASE(STACKTOOL_MODE_SUMSKYFILE, sumskyfileMode); … … 952 954 // negative simple so the default is true 953 955 if (!ippdbPrintMetadatas(stdout, output, "stackSumSkyfile", !simple)) { 956 psError(PS_ERR_UNKNOWN, false, "failed to print array"); 957 psFree(output); 958 return false; 959 } 960 } 961 962 psFree(output); 963 964 return true; 965 } 966 967 static bool tobkgMode(pxConfig *config) 968 { 969 PS_ASSERT_PTR_NON_NULL(config, false); 970 971 psMetadata *where = psMetadataAlloc(); 972 PXOPT_COPY_S64(config->args, where, "-stack_id", "stack_id", "=="); 973 pxAddLabelSearchArgs (config, where, "-label", "stackRun.label", "=="); 974 975 PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false); 976 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); 977 978 psString query = pxDataGet("stacktool_tobkg.sql"); 979 if (!query) { 980 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); 981 return false; 982 } 983 984 psString whereClause = psStringCopy(""); // WHERE conditions to add 985 if (psListLength(where->list)) { 986 psString new = psDBGenerateWhereConditionSQL(where, NULL); 987 psStringAppend(&whereClause, "\nAND %s", new); 988 psFree(new); 989 } 990 psFree(where); 991 992 psStringAppend(&query, "\nORDER by priority DESC, stack_id"); 993 994 // treat limit == 0 as "no limit" 995 if (limit) { 996 psString limitString = psDBGenerateLimitSQL(limit); 997 psStringAppend(&query, " %s", limitString); 998 psFree(limitString); 999 } 1000 1001 if (!p_psDBRunQueryF(config->dbh, query, whereClause)) { 1002 psError(PS_ERR_UNKNOWN, false, "database error"); 1003 psFree(query); 1004 return false; 1005 } 1006 psFree(query); 1007 1008 psArray *output = p_psDBFetchResult(config->dbh); 1009 if (!output) { 1010 psErrorCode err = psErrorCodeLast(); 1011 switch (err) { 1012 case PS_ERR_DB_CLIENT: 1013 psError(PXTOOLS_ERR_SYS, false, "database error"); 1014 case PS_ERR_DB_SERVER: 1015 psError(PXTOOLS_ERR_PROG, false, "database error"); 1016 default: 1017 psError(PXTOOLS_ERR_PROG, false, "unknown error"); 1018 } 1019 1020 return false; 1021 } 1022 if (!psArrayLength(output)) { 1023 psTrace("stacktool", PS_LOG_INFO, "no rows found"); 1024 psFree(output); 1025 return true; 1026 } 1027 1028 if (psArrayLength(output)) { 1029 // negative simple so the default is true 1030 if (!ippdbPrintMetadatas(stdout, output, "stackBkgSkyfile", !simple)) { 954 1031 psError(PS_ERR_UNKNOWN, false, "failed to print array"); 955 1032 psFree(output); … … 1681 1758 PXOPT_LOOKUP_S16(fault, config->args, "-fault", true, false); 1682 1759 PXOPT_LOOKUP_S16(quality, config->args, "-set_quality", false, false); 1760 PXOPT_LOOKUP_S16(background_model, config->args, "-set_background_model", false, false); 1683 1761 1684 1762 psMetadata *where = psMetadataAlloc(); 1685 1763 PXOPT_COPY_S64(config->args, where, "-stack_id", "stack_id", "=="); 1686 1764 1687 if (!pxSetFaultCode(config->dbh, "stackSumSkyfile", where, fault, quality)) { 1765 if (background_model) { 1766 psMetadata *values = psMetadataAlloc(); 1767 PXOPT_COPY_S16(config->args, values, "-set_background_model", "background_model", "=="); 1768 long rows = psDBUpdateRows(config->dbh,"stackSumSkyfile", where, values); 1769 psFree(values); 1770 if (!rows) { 1771 // This maybe should rollback and error if rows != 1 1772 psError(PS_ERR_UNKNOWN, true, "no rows changed"); 1773 return false; 1774 } 1775 } 1776 else { 1777 if (!pxSetFaultCode(config->dbh, "stackSumSkyfile", where, fault, quality)) { 1688 1778 psError(PS_ERR_UNKNOWN, false, "failed to set set fault flag"); 1689 1779 psFree (where); 1690 1780 return false; 1781 } 1691 1782 } 1692 1783 psFree (where); -
trunk/ippTools/src/stacktool.h
r28375 r34800 31 31 STACKTOOL_MODE_INPUTSKYFILE, 32 32 STACKTOOL_MODE_TOSUM, 33 STACKTOOL_MODE_TOBKG, 33 34 STACKTOOL_MODE_ADDSUMSKYFILE, 34 35 STACKTOOL_MODE_SUMSKYFILE, -
trunk/ippTools/src/stacktoolConfig.c
r34731 r34800 150 150 psMetadataAddBool(tosumArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 151 151 152 // -tobkg 153 psMetadata *tobkgArgs = psMetadataAlloc(); 154 psMetadataAddS64(tobkgArgs, PS_LIST_TAIL, "-stack_id", 0, "search by stack ID", 0); 155 psMetadataAddStr(tobkgArgs, PS_LIST_TAIL, "-label", PS_META_DUPLICATE_OK, "search by label", NULL); 156 psMetadataAddU64(tobkgArgs, PS_LIST_TAIL, "-limit", 0, "limit result set to N items", 0); 157 psMetadataAddBool(tobkgArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 158 152 159 // -addsumskyfile 153 160 psMetadata *addsumskyfileArgs = psMetadataAlloc(); … … 280 287 psMetadataAddS16(updatesumskyfileArgs, PS_LIST_TAIL, "-fault", 0, "set fault code (required)", 0); 281 288 psMetadataAddS16(updatesumskyfileArgs, PS_LIST_TAIL, "-set_quality", 0, "set quality", 0); 282 289 psMetadataAddS16(updatesumskyfileArgs, PS_LIST_TAIL, "-set_background_model", 0, "set background model", 0); 290 283 291 // -exportrun 284 292 psMetadata *exportrunArgs = psMetadataAlloc(); … … 304 312 PXOPT_ADD_MODE("-inputskyfile", "", STACKTOOL_MODE_INPUTSKYFILE, inputskyfileArgs); 305 313 PXOPT_ADD_MODE("-tosum", "", STACKTOOL_MODE_TOSUM, tosumArgs); 314 PXOPT_ADD_MODE("-tobkg", "", STACKTOOL_MODE_TOBKG, tobkgArgs); 306 315 PXOPT_ADD_MODE("-addsumskyfile", "", STACKTOOL_MODE_ADDSUMSKYFILE, addsumskyfileArgs); 307 316 PXOPT_ADD_MODE("-sumskyfile", "list results of stackRun", STACKTOOL_MODE_SUMSKYFILE, sumskyfileArgs); -
trunk/ippTools/src/warptool.c
r34766 r34800 2059 2059 PXOPT_LOOKUP_S64(magicked, config->args, "-set_magicked", false, false); 2060 2060 PXOPT_LOOKUP_S16(quality, config->args, "-set_quality", false, false); 2061 2061 2062 if (magicked) { 2062 2063 psStringAppend(&set_magicked_skyfile, "\n , warpSkyfile.magicked = %" PRId64, magicked); … … 2065 2066 if (quality) { 2066 2067 psStringAppend(&set_magicked_skyfile, "\n , warpSkyfile.quality = %"PRId16, quality); 2068 } 2069 PXOPT_LOOKUP_S16(background_model, config->args, "-set_background_model", false, false); 2070 if (background_model) { 2071 psStringAppend(&set_magicked_skyfile, "\n , warpSkyfile.background_model = %"PRId16, background_model); 2067 2072 } 2068 2073 } else if (!strcmp(data_state, "cleaned") || !strcmp(data_state, "purged")) { … … 2125 2130 // warp_id, skycell_id, fault are required 2126 2131 PXOPT_LOOKUP_STR(state, config->args, "-set_state", false, false); 2127 2128 if (!state) { 2132 PXOPT_LOOKUP_S16(background_model, config->args, "-set_background_model", false, false); 2133 if (background_model) { 2134 // CZW 2012-12-06: I'm unclear why we don't use this form for all updates? 2135 psMetadata *where = psMetadataAlloc(); 2136 psMetadata *values = psMetadataAlloc(); 2137 PXOPT_COPY_S64(config->args, where, "-warp_id", "warp_id", "=="); 2138 PXOPT_COPY_STR(config->args, where, "-skycell_id", "skycell_id", "=="); 2139 PXOPT_COPY_S16(config->args, values, "-set_background_model", "background_model", "=="); 2140 long rows = psDBUpdateRows(config->dbh,"warpSkyfile", where, values); 2141 psFree(values); 2142 psFree(where); 2143 if (!rows) { 2144 // This maybe should rollback and error if rows != 1 2145 psError(PS_ERR_UNKNOWN, true, "no rows changed"); 2146 return false; 2147 } 2148 } 2149 else if (!state) { 2129 2150 psMetadata *where = psMetadataAlloc(); 2130 2151 PXOPT_COPY_S64(config->args, where, "-warp_id", "warp_id", "=="); -
trunk/ippTools/src/warptoolConfig.c
r34766 r34800 410 410 psMetadataAddS16(updateskyfileArgs, PS_LIST_TAIL, "-set_quality", 0,"new quality value", 0); 411 411 psMetadataAddStr(updateskyfileArgs, PS_LIST_TAIL, "-set_state", 0, "set state", 0); 412 412 psMetadataAddS16(updateskyfileArgs, PS_LIST_TAIL, "-set_background_model", 0, "set the background_model value", 0); 413 413 // -exportrun 414 414 psMetadata *exportrunArgs = psMetadataAlloc();
Note:
See TracChangeset
for help on using the changeset viewer.
