Changeset 43094
- Timestamp:
- Sep 17, 2026, 11:33:59 AM (7 days ago)
- Location:
- branches/eam_branches/ipp-pstamp-20260421/ippTools/src
- Files:
-
- 3 edited
-
stacktool.c (modified) (5 diffs)
-
stacktool.h (modified) (1 diff)
-
stacktoolConfig.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/ipp-pstamp-20260421/ippTools/src/stacktool.c
r43013 r43094 34 34 static bool definerunMode(pxConfig *config); 35 35 static bool updaterunMode(pxConfig *config); 36 static bool listrunMode(pxConfig *config); 36 37 static bool addinputskyfileMode(pxConfig *config); 37 38 static bool inputskyfileMode(pxConfig *config); … … 79 80 MODECASE(STACKTOOL_MODE_DEFINERUN, definerunMode); 80 81 MODECASE(STACKTOOL_MODE_UPDATERUN, updaterunMode); 82 MODECASE(STACKTOOL_MODE_LISTRUN, listrunMode); 81 83 MODECASE(STACKTOOL_MODE_ADDINPUTSKYFILE, addinputskyfileMode); 82 84 MODECASE(STACKTOOL_MODE_INPUTSKYFILE, inputskyfileMode); … … 750 752 } 751 753 752 753 754 static bool updaterunMode(pxConfig *config) 754 755 { … … 815 816 } 816 817 818 static bool listrunMode(pxConfig *config) 819 { 820 PS_ASSERT_PTR_NON_NULL(config, false); 821 822 psMetadata *where = psMetadataAlloc(); 823 PXOPT_COPY_S64(config->args, where, "-stack_id", "stackRun.stack_id", "=="); 824 PXOPT_COPY_STR(config->args, where, "-tess_id", "stackRun.tess_id", "LIKE"); 825 PXOPT_COPY_STR(config->args, where, "-skycell_id", "stackRun.skycell_id", "LIKE"); 826 PXOPT_COPY_STR(config->args, where, "-filter", "stackRun.filter", "LIKE"); 827 PXOPT_COPY_STR(config->args, where, "-state", "stackRun.state", "=="); 828 pxAddLabelSearchArgs(config, where, "-label", "stackRun.label", "LIKE"); 829 pxAddLabelSearchArgs(config, where, "-data_group", "stackRun.data_group", "LIKE"); 830 pxAddLabelSearchArgs(config, where, "-dist_group", "stackRun.dist_group", "LIKE"); 831 832 PXOPT_LOOKUP_BOOL(all, config->args, "-all", false); 833 PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false); 834 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); 835 836 psString query = psStringCopy ("SELECT stackRun.* FROM stackRun"); 837 838 if (psListLength(where->list)) { 839 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 840 psStringAppend(&query, " WHERE %s", whereClause); 841 psFree(whereClause); 842 } else if (!all) { 843 psError(PXTOOLS_ERR_CONFIG, true, "search parameters or -all are required"); 844 return false; 845 } 846 psFree(where); 847 848 // treat limit == 0 as "no limit" 849 if (limit) { 850 psString limitString = psDBGenerateLimitSQL(limit); 851 psStringAppend(&query, " %s", limitString); 852 psFree(limitString); 853 } 854 855 if (!p_psDBRunQuery(config->dbh, query)) { 856 psError(PS_ERR_UNKNOWN, false, "database error"); 857 psFree(query); 858 return false; 859 } 860 psFree(query); 861 862 psArray *output = p_psDBFetchResult(config->dbh); 863 if (!output) { 864 psErrorCode err = psErrorCodeLast(); 865 switch (err) { 866 case PS_ERR_DB_CLIENT: 867 psError(PXTOOLS_ERR_SYS, false, "database error"); 868 case PS_ERR_DB_SERVER: 869 psError(PXTOOLS_ERR_PROG, false, "database error"); 870 default: 871 psError(PXTOOLS_ERR_PROG, false, "unknown error"); 872 } 873 874 return false; 875 } 876 if (!psArrayLength(output)) { 877 psTrace("stacktool", PS_LOG_INFO, "no rows found"); 878 psFree(output); 879 return true; 880 } 881 882 if (psArrayLength(output)) { 883 if (!ippdbPrintMetadatas(stdout, output, "stackRun", !simple)) { 884 psError(PS_ERR_UNKNOWN, false, "failed to print array"); 885 psFree(output); 886 return false; 887 } 888 } 889 890 psFree(output); 891 892 return true; 893 } 817 894 818 895 static bool addinputskyfileMode(pxConfig *config) … … 1211 1288 } 1212 1289 1213 1214 1290 static bool sumskyfileMode(pxConfig *config) 1215 1291 { -
branches/eam_branches/ipp-pstamp-20260421/ippTools/src/stacktool.h
r41297 r43094 28 28 STACKTOOL_MODE_DEFINERUN, 29 29 STACKTOOL_MODE_UPDATERUN, 30 STACKTOOL_MODE_LISTRUN, 30 31 STACKTOOL_MODE_ADDINPUTSKYFILE, 31 32 STACKTOOL_MODE_INPUTSKYFILE, -
branches/eam_branches/ipp-pstamp-20260421/ippTools/src/stacktoolConfig.c
r42097 r43094 147 147 psMetadataAddBool(inputskyfileArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 148 148 149 // -listrun 150 psMetadata *listrunArgs = psMetadataAlloc(); 151 psMetadataAddS64(listrunArgs, PS_LIST_TAIL, "-stack_id", 0, "search by stack ID", 0); 152 psMetadataAddStr(listrunArgs, PS_LIST_TAIL, "-tess_id", 0, "search by tess ID (LIKE comparison)", 0); 153 psMetadataAddStr(listrunArgs, PS_LIST_TAIL, "-skycell_id", 0, "search by skycell ID (LIKE comparison)", 0); 154 psMetadataAddStr(listrunArgs, PS_LIST_TAIL, "-filter", 0, "search by filter", NULL); 155 psMetadataAddStr(listrunArgs, PS_LIST_TAIL, "-state", 0, "search by state", NULL); 156 psMetadataAddStr(listrunArgs, PS_LIST_TAIL, "-label", PS_META_DUPLICATE_OK, "search by label", NULL); 157 psMetadataAddStr(listrunArgs, PS_LIST_TAIL, "-data_group", PS_META_DUPLICATE_OK, "search by data_group", 0); 158 psMetadataAddStr(listrunArgs, PS_LIST_TAIL, "-dist_group", PS_META_DUPLICATE_OK, "search by dist_group", 0); 159 psMetadataAddBool(listrunArgs, PS_LIST_TAIL, "-all", 0, "search without arguments", false); 160 psMetadataAddU64(listrunArgs, PS_LIST_TAIL, "-limit", 0, "limit result set to N items", 0); 161 psMetadataAddBool(listrunArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 162 149 163 // -tosum 150 164 psMetadata *tosumArgs = psMetadataAlloc(); … … 288 302 psMetadataAddStr(summaryArgs, PS_LIST_TAIL, "-tess_id", 0, "search by tessellation ID", NULL); 289 303 psMetadataAddStr(summaryArgs, PS_LIST_TAIL, "-projection_cell", 0, "search by projection cell ID", NULL); 290 // psMetadataAddStr(summaryArgs, PS_LIST_TAIL, "-state", 0, "search by state", NULL);304 // psMetadataAddStr(summaryArgs, PS_LIST_TAIL, "-state", 0, "search by state", NULL); 291 305 psMetadataAddStr(summaryArgs, PS_LIST_TAIL, "-filter", 0, "search by filter (LIKE comparison)", NULL); 292 306 psMetadataAddStr(summaryArgs, PS_LIST_TAIL, "-label", PS_META_DUPLICATE_OK, "search by stackRun label (LIKE comparison)", NULL); 293 307 psMetadataAddStr(summaryArgs, PS_LIST_TAIL, "-data_group", PS_META_DUPLICATE_OK, "search by stackAssociation data_group (LIKE comparison)", NULL); 294 308 psMetadataAddStr(summaryArgs, PS_LIST_TAIL, "-skycell_id", 0, "search by skycell ID", NULL); 295 // psMetadataAddStr(summaryArgs, PS_LIST_TAIL, "-dist_group", PS_META_DUPLICATE_OK, "search by stackRun dist_group (LIKE comparison)", NULL);296 297 // psMetadataAddBool(summaryArgs, PS_LIST_TAIL, "-all", 0, "search without arguments", false);309 // psMetadataAddStr(summaryArgs, PS_LIST_TAIL, "-dist_group", PS_META_DUPLICATE_OK, "search by stackRun dist_group (LIKE comparison)", NULL); 310 311 // psMetadataAddBool(summaryArgs, PS_LIST_TAIL, "-all", 0, "search without arguments", false); 298 312 psMetadataAddU64(summaryArgs, PS_LIST_TAIL, "-limit", 0, "limit result set to N items", 0); 299 313 psMetadataAddBool(summaryArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); … … 353 367 354 368 PXOPT_ADD_MODE("-definebyquery", "Define a new stackRun by searching for warp IDs", STACKTOOL_MODE_DEFINEBYQUERY, definebyqueryArgs); 355 PXOPT_ADD_MODE("-definerun", "", STACKTOOL_MODE_DEFINERUN, definerunArgs); 356 PXOPT_ADD_MODE("-updaterun", "", STACKTOOL_MODE_UPDATERUN, updaterunArgs); 369 PXOPT_ADD_MODE("-definerun", "", STACKTOOL_MODE_DEFINERUN, definerunArgs); 370 PXOPT_ADD_MODE("-updaterun", "", STACKTOOL_MODE_UPDATERUN, updaterunArgs); 371 PXOPT_ADD_MODE("-listrun", "", STACKTOOL_MODE_LISTRUN, listrunArgs); 357 372 PXOPT_ADD_MODE("-addinputskyfile", "", STACKTOOL_MODE_ADDINPUTSKYFILE, addinputskyfileArgs); 358 373 PXOPT_ADD_MODE("-inputskyfile", "", STACKTOOL_MODE_INPUTSKYFILE, inputskyfileArgs); 359 PXOPT_ADD_MODE("-tosum", "", STACKTOOL_MODE_TOSUM, tosumArgs);360 PXOPT_ADD_MODE("-tobkg", "", STACKTOOL_MODE_TOBKG, tobkgArgs);374 PXOPT_ADD_MODE("-tosum", "", STACKTOOL_MODE_TOSUM, tosumArgs); 375 PXOPT_ADD_MODE("-tobkg", "", STACKTOOL_MODE_TOBKG, tobkgArgs); 361 376 PXOPT_ADD_MODE("-addsumskyfile", "", STACKTOOL_MODE_ADDSUMSKYFILE, addsumskyfileArgs); 362 377 PXOPT_ADD_MODE("-sumskyfile", "list results of stackRun", STACKTOOL_MODE_SUMSKYFILE, sumskyfileArgs); … … 376 391 PXOPT_ADD_MODE("-revertsummary", "revert entry in the summary table", STACKTOOL_MODE_REVERTSUMMARY, revertsummaryArgs); 377 392 393 378 394 PXOPT_ADD_MODE("-exportrun", "export run for import on other database", STACKTOOL_MODE_EXPORTRUN, exportrunArgs); 379 395 PXOPT_ADD_MODE("-importrun", "import run from metadata file", STACKTOOL_MODE_IMPORTRUN, importrunArgs);
Note:
See TracChangeset
for help on using the changeset viewer.
