Changeset 28181 for trunk/ippTools/src
- Timestamp:
- Jun 1, 2010, 3:09:47 PM (16 years ago)
- Location:
- trunk
- Files:
-
- 8 edited
-
. (modified) (1 prop)
-
ippTools/src/addtool.c (modified) (11 diffs)
-
ippTools/src/addtool.h (modified) (1 diff)
-
ippTools/src/addtoolConfig.c (modified) (5 diffs)
-
ippTools/src/flatcorr.c (modified) (1 diff)
-
ippTools/src/pstamptool.h (modified) (1 diff)
-
ippTools/src/pxadd.c (modified) (2 diffs)
-
ippTools/src/pxadd.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk
- Property svn:mergeinfo changed
/branches/haf_branches/ipp.20100512 (added) merged: 27935-27937,27956,28034-28037,28058-28061,28101-28102,28104,28168-28171,28177,28180
- Property svn:mergeinfo changed
-
trunk/ippTools/src/addtool.c
r27773 r28181 40 40 static bool maskedMode(pxConfig *config); 41 41 static bool unblockMode(pxConfig *config); 42 static bool addminidvodbrunMode(pxConfig *config); 43 static bool updateminidvodbrunMode(pxConfig *config); 44 static bool listminidvodbrunMode(pxConfig *config); 45 static bool flipminidvodbrunMode(pxConfig *config); 46 static bool checkminidvodbrunaddrunMode(pxConfig *config); 47 static bool addminidvodbprocessedMode(pxConfig *config); 48 static bool listminidvodbprocessedMode(pxConfig *config); 49 static bool revertminidvodbprocessedMode(pxConfig *config); 50 static bool updateminidvodbprocessedMode(pxConfig *config); 51 52 42 53 43 54 # define MODECASE(caseName, func) \ … … 69 80 MODECASE(ADDTOOL_MODE_MASKED, maskedMode); 70 81 MODECASE(ADDTOOL_MODE_UNBLOCK, unblockMode); 82 MODECASE(ADDTOOL_MODE_ADDMINIDVODBRUN, addminidvodbrunMode); 83 MODECASE(ADDTOOL_MODE_UPDATEMINIDVODBRUN, updateminidvodbrunMode); 84 MODECASE(ADDTOOL_MODE_LISTMINIDVODBRUN, listminidvodbrunMode); 85 MODECASE(ADDTOOL_MODE_FLIPMINIDVODBRUN, flipminidvodbrunMode); 86 MODECASE(ADDTOOL_MODE_CHECKMINIDVODBRUNADDRUN, checkminidvodbrunaddrunMode); 87 MODECASE(ADDTOOL_MODE_ADDMINIDVODBPROCESSED,addminidvodbprocessedMode); 88 MODECASE(ADDTOOL_MODE_LISTMINIDVODBPROCESSED,listminidvodbprocessedMode); 89 MODECASE(ADDTOOL_MODE_REVERTMINIDVODBPROCESSED,revertminidvodbprocessedMode); 90 MODECASE(ADDTOOL_MODE_UPDATEMINIDVODBPROCESSED,updateminidvodbprocessedMode); 91 71 92 default: 72 93 psAbort("invalid option (this should not happen)"); … … 102 123 PXOPT_COPY_STR(config->args, where, "-reduction", "camRun.reduction", "=="); 103 124 125 104 126 if (!psListLength(where->list)) { 105 127 psFree(where); … … 114 136 PXOPT_LOOKUP_STR(reduction, config->args, "-set_reduction", false, false); 115 137 PXOPT_LOOKUP_STR(note, config->args, "-set_note", false, false); 138 PXOPT_LOOKUP_STR(minidvodb_name, config->args, "-set_minidvodb_name", false, false); 139 PXOPT_LOOKUP_STR(minidvodb_group, config->args, "-set_minidvodb_group", false, false); 116 140 PXOPT_LOOKUP_BOOL(image_only, config->args, "-image_only", false); 141 PXOPT_LOOKUP_BOOL(minidvodb, config->args, "-set_minidvodb", false); 117 142 PXOPT_LOOKUP_BOOL(destreaked, config->args, "-destreaked", false); 118 143 PXOPT_LOOKUP_BOOL(pretend, config->args, "-pretend", false); 119 144 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); 145 146 120 147 121 148 // find the cam_id of all the exposures that we want to queue up. … … 245 272 dvodb ? dvodb : row->dvodb, 246 273 note ? note : NULL, 247 image_only 274 image_only, 275 minidvodb, 276 minidvodb_group, 277 minidvodb_name 248 278 )) { 249 279 if (!psDBRollback(config->dbh)) { 250 psError(PS_ERR_UNKNOWN, false, "database error ");280 psError(PS_ERR_UNKNOWN, false, "database error sfg"); 251 281 } 252 282 psError(PS_ERR_UNKNOWN, false, … … 291 321 292 322 // pxUpdateRun gets parameters from config->args and runs the update query 293 bool result = pxUpdateRun(config, where, &query, "addRun", "add_id", 323 bool result = pxUpdateRun(config, where, &query, "addRun", "add_id", 294 324 "addProcessedExp", false); 295 325 … … 374 404 PXOPT_LOOKUP_STR(path_base, config->args, "-path_base", false, false); 375 405 PXOPT_LOOKUP_F32(dtime_addstar, config->args, "-dtime_addstar", false, false); 406 PXOPT_LOOKUP_STR(dvodb_path, config->args, "-dvodb_path", false, false); 376 407 PXOPT_LOOKUP_S16(fault, config->args, "-fault", false, false); 377 408 … … 399 430 return false; 400 431 } 432 //psError(PS_ERR_UNKNOWN, false, "database error %s", query); 401 433 psFree(query); 402 434 … … 424 456 dtime_addstar, 425 457 path_base, 458 dvodb_path, 426 459 fault 427 460 ); … … 522 555 523 556 if (!p_psDBRunQuery(config->dbh, query)) { 524 psError(PS_ERR_UNKNOWN, false, "database error");557 psError(PS_ERR_UNKNOWN, false, "database error %s ", query); 525 558 psFree(query); 526 559 return false; … … 733 766 return true; 734 767 } 768 769 static bool addminidvodbrunMode(pxConfig *config) 770 { 771 PS_ASSERT_PTR_NON_NULL(config, NULL); 772 773 // required 774 775 PXOPT_LOOKUP_STR(minidvodb_group, config->args, "-set_minidvodb_group", true, false); 776 PXOPT_LOOKUP_STR(mergedvodb_path, config->args, "-set_mergedvodb_path", true, false); 777 778 //optional 779 PXOPT_LOOKUP_STR(minidvodb_name, config->args, "-set_minidvodb_name", false, false); 780 PXOPT_LOOKUP_STR(minidvodb_path, config->args, "-set_minidvodb_path", false, false); 781 PXOPT_LOOKUP_STR(state, config->args, "-set_state", false, false); 782 783 if (!psDBTransaction(config->dbh)) { 784 psError(PS_ERR_UNKNOWN, false, "database error"); 785 return false; 786 } 787 788 psString minidvodbpath = "NULL"; 789 790 // I don't know how to get around the complaints of minidvodb_path can't be null. this 'fixes' it, but someone smarter can fix it properly. 791 if (minidvodb_path) { 792 minidvodbpath = minidvodb_path; 793 } 794 795 if (!minidvodbRunInsert(config->dbh, 796 0, // job_id 797 minidvodb_name, 798 minidvodb_group, 799 minidvodbpath, 800 mergedvodb_path, 801 "new", 802 0 803 )) { 804 psError(PS_ERR_UNKNOWN, false, "database error"); 805 return false; 806 } 807 808 psU64 affected = psDBAffectedRows(config->dbh); 809 if (affected != 1) { 810 psError(PS_ERR_UNKNOWN, false, 811 "should have affected one row but %" PRIu64 " rows were modified", 812 affected); 813 return false; 814 } 815 816 psS64 minidvodb_id = psDBLastInsertID(config->dbh); 817 printf("%" PRId64 "\n", minidvodb_id); 818 819 820 if (!minidvodb_name) { 821 psStringAppend(&minidvodb_name, "%s.%" PRIu64,minidvodb_group,minidvodb_id); 822 } 823 824 if (!minidvodb_path) { 825 psStringAppend(&minidvodb_path,"%s/%s",mergedvodb_path,minidvodb_name); 826 } 827 828 psString query = NULL; 829 830 psStringAppend(&query, "UPDATE minidvodbRun SET minidvodb_path = '%s', minidvodb_name = '%s' where minidvodb_id = %" PRIu64";", minidvodb_path, minidvodb_name, minidvodb_id); 831 832 if (!p_psDBRunQuery(config->dbh, query)) { 833 psError(PS_ERR_UNKNOWN, false, "database error"); 834 psFree(query); 835 return false; 836 } 837 838 if (!psDBCommit(config->dbh)) { 839 psError(PS_ERR_UNKNOWN, false, "database error"); 840 return false; 841 } 842 843 return true; 844 } 845 846 static bool updateminidvodbrunMode(pxConfig *config) { 847 PS_ASSERT_PTR_NON_NULL(config, false); 848 849 psMetadata *where = psMetadataAlloc(); 850 PXOPT_COPY_S64(config->args, where, "-minidvodb_id", "minidvodb_id", "=="); 851 PXOPT_COPY_STR(config->args, where, "-minidvodb_name", "minidvodb_name", "=="); 852 PXOPT_COPY_STR(config->args, where, "-state", "state", "=="); 853 PXOPT_COPY_STR(config->args, where, "-minidvodb_path", "minidvodb_path", "=="); 854 PXOPT_COPY_STR(config->args, where, "-mergedvodb_path", "mergedvodb_path", "=="); 855 PXOPT_COPY_STR(config->args, where, "-minidvodb_group", "minidvodb_group", "=="); 856 857 PXOPT_LOOKUP_STR(minidvodb_name, config->args, "-set_minidvodb_name", false, false); 858 PXOPT_LOOKUP_STR(minidvodb_path, config->args, "-set_minidvodb_path", false, false); 859 PXOPT_LOOKUP_STR(state, config->args, "-set_state", false, false); 860 PXOPT_LOOKUP_STR(mergedvodb_path, config->args, "-set_mergedvodb_path", false, false); 861 PXOPT_LOOKUP_STR(minidvodb_group, config->args, "-set_minidvodb_group", false, false); 862 863 864 if (!psListLength(where->list)) { 865 psFree(where); 866 psError(PXTOOLS_ERR_CONFIG, false, "search parameters are required"); 867 return false; 868 } 869 870 psString query = psStringCopy("UPDATE minidvodbRun SET "); 871 int cnt = 0; 872 psString comma = ","; 873 if (minidvodb_name) { 874 psStringAppend(&query, " minidvodb_name = '%s'", minidvodb_name); 875 cnt++; 876 } 877 878 if (minidvodb_path) { 879 if (cnt) { 880 psStringAppend(&query, "%s", comma); 881 } 882 883 psStringAppend(&query, " minidvodb_path = '%s'", minidvodb_path); 884 cnt++; 885 } 886 887 if (state) { 888 if (cnt) { 889 psStringAppend(&query, "%s", comma); 890 } 891 psStringAppend(&query, " state = '%s'", state); 892 cnt++; 893 } 894 895 if (mergedvodb_path) { 896 if (cnt) { 897 psStringAppend(&query, "%s", comma); 898 } 899 psStringAppend(&query, " mergedvodb_path = '%s'", mergedvodb_path); 900 cnt++; 901 } 902 903 if (minidvodb_group) { 904 if (cnt) { 905 psStringAppend(&query, "%s", comma); 906 } 907 psStringAppend(&query, " minidvodb_group = '%s'", minidvodb_group); 908 cnt++; 909 } 910 911 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 912 psStringAppend(&query, " WHERE %s", whereClause); 913 914 if (!p_psDBRunQuery(config->dbh, query)) { 915 psError(PS_ERR_UNKNOWN, false, "database error"); 916 psFree(query); 917 return false; 918 } 919 920 psFree(query); 921 psFree(where); 922 923 return true; 924 925 } 926 927 static bool flipminidvodbrunMode(pxConfig *config) { 928 PS_ASSERT_PTR_NON_NULL(config, false); 929 930 psMetadata *where = psMetadataAlloc(); 931 PXOPT_LOOKUP_STR(minidvodb_group, config->args, "-minidvodb_group",true, false); 932 PXOPT_COPY_STR(config->args, where, "-minidvodb_group", "minidvodb_group", "=="); 933 934 //this flips the new - > active 935 // and the active - > waiting in one action 936 937 938 // the first query looks to find things that are new and where all the fields are filled (ie, ready to be flipped to active) 939 940 // start a transaction eraly so it will contain any row level locks 941 if (!psDBTransaction(config->dbh)) { 942 psError(PS_ERR_UNKNOWN, false, "database error"); 943 return false; 944 } 945 946 psString firstquery = psStringCopy("SELECT * from minidvodbRun where state = 'new' and minidvodb_name is NOT NULL and minidvodb_group IS NOT NULL and minidvodb_path IS NOT NULL and mergedvodb_path IS NOT NULL"); 947 948 psString firstwhereClause = psDBGenerateWhereConditionSQL(where, NULL); 949 psStringAppend(&firstquery, " AND %s", firstwhereClause); 950 951 952 953 if (!p_psDBRunQuery(config->dbh, firstquery)) { 954 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); 955 if (!psDBRollback(config->dbh)) { 956 psError(PS_ERR_UNKNOWN, false, "database error"); 957 } 958 return false; 959 } 960 psFree(firstquery); 961 962 //we don't care what the stuff is that is found, just that there is stuff. This is a check to see that there is something in the 'new' state, before flipping (so that if there is nothing in new, it won't flip the active to waiting. the flipminidvo is just to make it easy to flip from new -> active. 963 964 psArray *output = p_psDBFetchResult(config->dbh); 965 if (!output) { 966 psError(PS_ERR_UNKNOWN, false, "database error"); 967 return false; 968 } 969 if (!psArrayLength(output)) { 970 psTrace("addtool", PS_LOG_INFO, "no rows found"); 971 psFree(output); 972 return true; 973 } 974 975 976 //ok, there's something, so flip active -> waiting 977 978 psString query = psStringCopy("UPDATE minidvodbRun SET state = 'waiting' WHERE state = 'active' "); 979 980 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 981 psStringAppend(&query, " AND %s", whereClause); 982 983 984 if (!p_psDBRunQuery(config->dbh, query)) { 985 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); 986 if (!psDBRollback(config->dbh)) { 987 psError(PS_ERR_UNKNOWN, false, "database error"); 988 } 989 return false; 990 } 991 992 993 //now flip new -> active 994 psString query2 = psStringCopy("UPDATE minidvodbRun SET state = 'active' WHERE state = 'new' AND minidvodb_name is NOT NULL and minidvodb_group IS NOT NULL and minidvodb_path IS NOT NULL and mergedvodb_path IS NOT NULL "); 995 psStringAppend(&query2, " AND minidvodb_group = '%s' limit 1;", minidvodb_group); 996 if (!p_psDBRunQuery(config->dbh, query2)) { 997 psError(PS_ERR_UNKNOWN, false, "database error"); 998 if (!psDBRollback(config->dbh)) { 999 psError(PS_ERR_UNKNOWN, false, "database error"); 1000 } 1001 psFree(query); 1002 return false; 1003 } 1004 1005 1006 if (!psDBCommit(config->dbh)) { 1007 psError(PS_ERR_UNKNOWN, false, "database error"); 1008 if (!psDBRollback(config->dbh)) { 1009 psError(PS_ERR_UNKNOWN, false, "database error"); 1010 } 1011 psFree(query); 1012 return false; 1013 } 1014 psFree(query2); 1015 psFree(where); 1016 1017 return true; 1018 1019 } 1020 1021 1022 static bool checkminidvodbrunaddrunMode(pxConfig *config) { 1023 PS_ASSERT_PTR_NON_NULL(config, false); 1024 psMetadata *where = psMetadataAlloc(); 1025 1026 //this checks to see if a minidvod_group/name is has completed addRun processing 1027 PXOPT_COPY_STR(config->args, where, "-minidvodb_group", "minidvodbRun.minidvodb_group", "=="); 1028 PXOPT_COPY_STR(config->args, where, "-minidvodb_name", "minidvodbRun.minidvodb_name", "=="); 1029 PXOPT_COPY_STR(config->args, where, "-state", "minidvodbRun.state", "=="); 1030 1031 1032 PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false); 1033 PXOPT_LOOKUP_BOOL(all_addrun_states, config->args, "-all_addrun_states", false); 1034 //this doesn't care what state the addRun is in (useful for counting addRuns) 1035 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); 1036 1037 if (!psListLength(where->list)) { 1038 psFree(where); 1039 psError(PXTOOLS_ERR_CONFIG, false, "search parameters are required"); 1040 return false; 1041 } 1042 1043 psString query = pxDataGet("addtool_checkminidvodbaddrun.sql"); 1044 1045 if (!query) { 1046 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); 1047 return false; 1048 } 1049 1050 1051 if (psListLength(where->list)) { 1052 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 1053 psStringAppend(&query, " WHERE %s", whereClause); 1054 psFree(whereClause); 1055 } 1056 1057 if (!all_addrun_states) { 1058 psStringAppend(&query, " AND (cnt2 = cnt) "); 1059 } 1060 1061 if (limit) { 1062 psString limitString = psDBGenerateLimitSQL(limit); 1063 psStringAppend(&query, " %s", limitString); 1064 psFree(limitString); 1065 } 1066 1067 1068 if (!p_psDBRunQuery(config->dbh, query)) { 1069 psError(PS_ERR_UNKNOWN, false, "database error"); 1070 psFree(query); 1071 return false; 1072 } 1073 psFree(query); 1074 psArray *output = p_psDBFetchResult(config->dbh); 1075 if (!output) { 1076 psError(PS_ERR_UNKNOWN, false, "database error"); 1077 return false; 1078 } 1079 if (!psArrayLength(output)) { 1080 psTrace("addtool", PS_LOG_INFO, "no rows found"); 1081 psFree(output); 1082 return true; 1083 } 1084 1085 if (!ippdbPrintMetadatas(stdout, output, "minidvodbRun", !simple)) { 1086 psError(PS_ERR_UNKNOWN, false, "failed to print array"); 1087 psFree(output); 1088 return false; 1089 } 1090 1091 psFree(output); 1092 1093 return true; 1094 } 1095 1096 1097 1098 static bool listminidvodbrunMode(pxConfig *config) { 1099 PS_ASSERT_PTR_NON_NULL(config, false); 1100 psMetadata *where = psMetadataAlloc(); 1101 1102 PXOPT_COPY_STR(config->args, where, "-minidvodb_name", "minidvodbRun.minidvodb_name", "LIKE"); 1103 PXOPT_COPY_STR(config->args, where, "-minidvodb_group", "minidvodbRun.minidvodb_group", "=="); 1104 PXOPT_COPY_S64(config->args, where, "-minidvodb_id", "minidvodbRun.minidvodb_id", "=="); 1105 1106 PXOPT_COPY_STR(config->args, where, "-state", "minidvodbRun.state", "=="); 1107 PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false); 1108 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); 1109 1110 1111 if (!psListLength(where->list)) { 1112 psFree(where); 1113 psError(PXTOOLS_ERR_CONFIG, false, "search parameters are required"); 1114 return false; 1115 } 1116 1117 psString query = pxDataGet("addtool_find_minidvodbrun.sql"); 1118 1119 if (!query) { 1120 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); 1121 return false; 1122 } 1123 1124 if (psListLength(where->list)) { 1125 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 1126 psStringAppend(&query, " WHERE %s", whereClause); 1127 psFree(whereClause); 1128 } 1129 1130 if (limit) { 1131 psString limitString = psDBGenerateLimitSQL(limit); 1132 psStringAppend(&query, " %s", limitString); 1133 psFree(limitString); 1134 } 1135 1136 if (!p_psDBRunQuery(config->dbh, query)) { 1137 psError(PS_ERR_UNKNOWN, false, "database error"); 1138 psFree(query); 1139 return false; 1140 } 1141 1142 psFree(query); 1143 psArray *output = p_psDBFetchResult(config->dbh); 1144 if (!output) { 1145 psError(PS_ERR_UNKNOWN, false, "database error"); 1146 return false; 1147 } 1148 if (!psArrayLength(output)) { 1149 psTrace("addtool", PS_LOG_INFO, "no rows found"); 1150 psFree(output); 1151 return true; 1152 } 1153 1154 if (!ippdbPrintMetadatas(stdout, output, "minidvodbRun", !simple)) { 1155 psError(PS_ERR_UNKNOWN, false, "failed to print array"); 1156 psFree(output); 1157 return false; 1158 } 1159 1160 psFree(output); 1161 1162 return true; 1163 } 1164 1165 static bool addminidvodbprocessedMode(pxConfig *config) { 1166 1167 PS_ASSERT_PTR_NON_NULL(config, false); 1168 1169 // required 1170 PXOPT_LOOKUP_U64(minidvodb_id, config->args, "-minidvodb_id", true, false); 1171 PXOPT_LOOKUP_STR(mergedvodb_path, config->args, "-mergedvodb_path", true, false); 1172 PXOPT_LOOKUP_STR(minidvodb_group, config->args, "-minidvodb_group", true, false); 1173 1174 // optional 1175 PXOPT_LOOKUP_U64(merge_order, config->args, "-merge_order", false, false); 1176 PXOPT_LOOKUP_F32(dtime_relphot, config->args, "-dtime_relphot", false, false); 1177 PXOPT_LOOKUP_F32(dtime_resort, config->args, "-dtime_resort", false, false); 1178 PXOPT_LOOKUP_F32(dtime_merge, config->args, "-dtime_merge", false, false); 1179 PXOPT_LOOKUP_TIME(epoch, config->args, "-epoch", false, false); 1180 PXOPT_LOOKUP_S16(fault, config->args, "-fault", false, false); 1181 //generate restrictions 1182 psMetadata *where = psMetadataAlloc(); 1183 PXOPT_COPY_S64(config->args, where, "-minidvodb_id", "minidvodbRun.minidvodb_id", "=="); 1184 1185 1186 if (!psDBTransaction(config->dbh)) { 1187 psError(PS_ERR_UNKNOWN, false, "database error"); 1188 return false; 1189 } 1190 1191 1192 psString query = pxDataGet("addtool_find_pendingmergeprocess.sql"); 1193 if (!query) { 1194 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); 1195 return false; 1196 } 1197 // use psDBGenerateWhereSQL because the SQL yields an intermediate table 1198 if (psListLength(where->list)) { 1199 psString whereClaus = psDBGenerateWhereConditionSQL(where, NULL); 1200 psStringAppend(&query, " AND %s", whereClaus); 1201 psFree(whereClaus); 1202 } 1203 psFree(where); 1204 1205 if (!p_psDBRunQuery(config->dbh, query)) { 1206 psError(PS_ERR_UNKNOWN, false, "database error"); 1207 psFree(query); 1208 return false; 1209 } 1210 psFree(query); 1211 1212 psArray *output = p_psDBFetchResult(config->dbh); 1213 if (!output) { 1214 psError(PS_ERR_UNKNOWN, false, "database error"); 1215 return false; 1216 } 1217 if (!psArrayLength(output)) { 1218 psTrace("addtool", PS_LOG_INFO, "no rows found"); 1219 psFree(output); 1220 return true; 1221 } 1222 1223 minidvodbRunRow *pendingRow = minidvodbRunObjectFromMetadata(output->data[0]); 1224 psFree(output); 1225 minidvodbProcessedRow *row = minidvodbProcessedRowAlloc( 1226 pendingRow->minidvodb_id, 1227 merge_order, 1228 dtime_resort, 1229 dtime_relphot, 1230 dtime_merge, 1231 epoch, 1232 mergedvodb_path, 1233 fault 1234 ); 1235 1236 if (!minidvodbProcessedInsertObject(config->dbh, row)) { 1237 // rollback 1238 if (!psDBRollback(config->dbh)) { 1239 psError(PS_ERR_UNKNOWN, false, "database error"); 1240 } 1241 psError(PS_ERR_UNKNOWN, false, "database error"); 1242 psFree(row); 1243 psFree(pendingRow); 1244 return false; 1245 } 1246 1247 1248 1249 1250 //this finds the # of merged things (for the merge order) 1251 psString query3 = NULL; 1252 psStringAppend(&query3, "select count(*) from minidvodbRun join minidvodbProcessed using (minidvodb_id) where state = 'merged' and minidvodb_group = '%s';", minidvodb_group); 1253 1254 if (!p_psDBRunQuery(config->dbh, query3)) { 1255 // rollback 1256 if (!psDBRollback(config->dbh)) { 1257 psError(PS_ERR_UNKNOWN, false, "database error"); 1258 } 1259 psError(PS_ERR_UNKNOWN, false, "database error"); 1260 psFree(query3); 1261 return false; 1262 } 1263 psArray *output2 = p_psDBFetchResult(config->dbh); 1264 if (!output2) { 1265 psError(PS_ERR_UNKNOWN, false, "database error"); 1266 return false; 1267 } 1268 if (!psArrayLength(output2)) { 1269 psTrace("addtool", PS_LOG_INFO, "no rows found"); 1270 psFree(output); 1271 return true; 1272 } 1273 bool status; 1274 psS64 m_order = psMetadataLookupS64(&status, output2->data[0], "count(*)"); 1275 if (!status) { 1276 1277 psAbort("failed to lookup value for count column"); 1278 return false; 1279 } 1280 psString final = NULL; 1281 psStringAppend(&final, "%" PRIu64, m_order); 1282 //return false; 1283 psFree(query3); 1284 psFree(output2); 1285 1286 1287 1288 //update the merge_order 1289 1290 psString query4 = NULL; 1291 psStringAppend(&query4, "update minidvodbProcessed set merge_order = %"PRIu64,m_order); 1292 psStringAppend(&query4," where minidvodb_id = %" PRIu64, minidvodb_id); 1293 printf("%s", query4); 1294 if (!p_psDBRunQuery(config->dbh, query4)) { 1295 // rollback 1296 if (!psDBRollback(config->dbh)) { 1297 psError(PS_ERR_UNKNOWN, false, "database error"); 1298 } 1299 psError(PS_ERR_UNKNOWN, false, "database error"); 1300 psFree(query4); 1301 return false; 1302 } 1303 // 1304 psFree(query4); 1305 1306 1307 1308 // since there is only one exp per 'new' set mindvodbRun.state = 'merged' 1309 1310 psString query2 = NULL ; 1311 psStringAppend(&query2, "UPDATE minidvodbRun SET state = 'merged' WHERE minidvodb_id = %'" PRIu64, row->minidvodb_id); 1312 1313 if (!p_psDBRunQuery(config->dbh, query2)) { 1314 // rollback 1315 if (!psDBRollback(config->dbh)) { 1316 psError(PS_ERR_UNKNOWN, false, "database error"); 1317 } 1318 psError(PS_ERR_UNKNOWN, false, "database error"); 1319 psFree(query2); 1320 return false; 1321 } 1322 1323 1324 1325 1326 1327 1328 1329 1330 psFree(row); 1331 psFree(pendingRow); 1332 1333 1334 1335 1336 1337 //commit the changes 1338 if (!psDBCommit(config->dbh)) { 1339 psError(PS_ERR_UNKNOWN, false, "database error"); 1340 return false; 1341 } 1342 1343 1344 //print the merge_order (why not!) 1345 printf("%s", final); 1346 psFree(final); 1347 1348 return true; 1349 } 1350 1351 1352 1353 static bool listminidvodbprocessedMode(pxConfig *config) { 1354 psMetadata *where = psMetadataAlloc(); 1355 PXOPT_COPY_S64(config->args, where, "-minidvodb_id", "minidvodbProcessed.minidvodb_id", "=="); 1356 PXOPT_COPY_STR(config->args, where, "-minidvodb_name", "minidvodbProcessed.minidvodb_name", "=="); 1357 PXOPT_COPY_STR(config->args, where, "-minidvodb_group", "minidvodbProcessed.minidvodb_group", "=="); 1358 PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false); 1359 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); 1360 PXOPT_LOOKUP_BOOL(faulted, config->args, "-faulted", false); 1361 if (!psListLength(where->list)) { 1362 psFree(where); 1363 psError(PXTOOLS_ERR_CONFIG, false, "search parameters are required"); 1364 return false; 1365 } 1366 1367 psString query = pxDataGet("addtool_find_minidvodbprocessed.sql"); 1368 if (!query) { 1369 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); 1370 return false; 1371 } 1372 1373 if (psListLength(where->list)) { 1374 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 1375 psStringAppend(&query, " WHERE %s", whereClause); 1376 psFree(whereClause); 1377 } 1378 1379 // we either add AND (condition) or WHERE (condition): 1380 if (where->list && faulted) { 1381 // list only faulted rows 1382 psStringAppend(&query, " %s", " AND minidvodbProcessed.fault != 0"); 1383 } 1384 if (where->list && !faulted) { 1385 // don't list faulted rows 1386 psStringAppend(&query, " %s", " AND minidvodbProcessed.fault = 0"); 1387 } 1388 if (!where->list && faulted) { 1389 // list only faulted rows 1390 psStringAppend(&query, " %s", " WHERE minidvodbProcessed.fault != 0"); 1391 } 1392 if (!where->list && !faulted) { 1393 // don't list faulted rows 1394 psStringAppend(&query, " %s", " WHERE minidvodbProcessed.fault = 0"); 1395 } 1396 psFree(where); 1397 1398 // order by epoch 1399 psStringAppend(&query, " ORDER BY minidvodb_id"); 1400 1401 // treat limit == 0 as "no limit" 1402 if (limit) { 1403 psString limitString = psDBGenerateLimitSQL(limit); 1404 psStringAppend(&query, " %s", limitString); 1405 psFree(limitString); 1406 } 1407 1408 if (!p_psDBRunQuery(config->dbh, query)) { 1409 psError(PS_ERR_UNKNOWN, false, "database error "); 1410 psFree(query); 1411 return false; 1412 } 1413 psFree(query); 1414 1415 psArray *output = p_psDBFetchResult(config->dbh); 1416 if (!output) { 1417 psError(PS_ERR_UNKNOWN, false, "database error"); 1418 return false; 1419 } 1420 if (!psArrayLength(output)) { 1421 psTrace("addtool", PS_LOG_INFO, "no rows found"); 1422 psFree(output); 1423 return true; 1424 } 1425 1426 // negate simple so the default is true 1427 if (!ippdbPrintMetadatas(stdout, output, "minidvodbProcessed", !simple)) { 1428 psError(PS_ERR_UNKNOWN, false, "failed to print array"); 1429 psFree(output); 1430 return false; 1431 } 1432 1433 psFree(output); 1434 1435 return true; 1436 } 1437 1438 1439 1440 static bool revertminidvodbprocessedMode(pxConfig *config) { 1441 psMetadata *where = psMetadataAlloc(); 1442 PS_ASSERT_PTR_NON_NULL(config, false); 1443 PXOPT_COPY_S64(config->args, where, "-minidvodb_id", "minidvodbProcessed.minidvodb_id", "=="); 1444 PXOPT_COPY_STR(config->args, where, "-minidvodb_group", "addRun.minidvodb_group", "=="); 1445 1446 if (!psListLength(where->list) && !psMetadataLookupBool(NULL, config->args, "-all")) { 1447 psFree(where); 1448 psError(PXTOOLS_ERR_CONFIG, false, "search parameters are required"); 1449 return false; 1450 } 1451 1452 if (!psDBTransaction(config->dbh)) { 1453 psError(PS_ERR_UNKNOWN, false, "database error"); 1454 psFree(where); 1455 return false; 1456 } 1457 1458 { 1459 psString query = pxDataGet("addtool_reset_faulted_minidvodbruns.sql"); 1460 if (!query) { 1461 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); 1462 psFree(where); 1463 return false; 1464 } 1465 1466 // use psDBGenerateWhereConditionalSQL with AND ... because the SQL ends in a WHERE 1467 1468 if (where && psListLength(where->list)) { 1469 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 1470 psStringAppend(&query, " AND %s", whereClause); 1471 psFree(whereClause); 1472 } 1473 1474 if (!p_psDBRunQuery(config->dbh, query)) { 1475 // rollback 1476 if (!psDBRollback(config->dbh)) { 1477 psError(PS_ERR_UNKNOWN, false, "database error"); 1478 } 1479 psError(PS_ERR_UNKNOWN, false, "database error"); 1480 psFree(query); 1481 psFree(where); 1482 return false; 1483 } 1484 psFree(query); 1485 } 1486 { 1487 psString query = pxDataGet("addtool_revertminidvodbprocessed.sql"); 1488 if (!query) { 1489 // rollback 1490 if (!psDBRollback(config->dbh)) { 1491 psError(PS_ERR_UNKNOWN, false, "database error"); 1492 } 1493 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); 1494 psFree(where); 1495 return false; 1496 } 1497 1498 // use psDBGenerateWhereConditionalSQL with AND ... because the SQL ends in a WHERE 1499 if (where && psListLength(where->list)) { 1500 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 1501 psStringAppend(&query, " AND %s", whereClause); 1502 psFree(whereClause); 1503 } 1504 1505 if (!p_psDBRunQuery(config->dbh, query)) { 1506 // rollback 1507 if (!psDBRollback(config->dbh)) { 1508 psError(PS_ERR_UNKNOWN, false, "database error"); 1509 } 1510 psError(PS_ERR_UNKNOWN, false, "database error"); 1511 psFree(query); 1512 psFree(where); 1513 return false; 1514 } 1515 psFree(query); 1516 } 1517 psFree(where); 1518 1519 if (!psDBCommit(config->dbh)) { 1520 psError(PS_ERR_UNKNOWN, false, "database error"); 1521 return false; 1522 } 1523 1524 return true; 1525 } 1526 1527 1528 1529 static bool updateminidvodbprocessedMode(pxConfig *config) { 1530 PS_ASSERT_PTR_NON_NULL(config, false); 1531 psMetadata *where = psMetadataAlloc(); 1532 1533 PXOPT_LOOKUP_U64(minidvodb_id, config->args, "-minidvodb_id", true, false); 1534 PXOPT_LOOKUP_U64(merge_order, config->args, "-set_merge_order", false, false); 1535 PXOPT_LOOKUP_S16(fault, config->args, "-set_fault", false, false); 1536 PXOPT_LOOKUP_F32(dtime_relphot, config->args, "-set_dtime_relphot", false, false); 1537 PXOPT_LOOKUP_F32(dtime_resort, config->args, "-set_dtime_resort", false, false); 1538 PXOPT_LOOKUP_F32(dtime_merge, config->args, "-set_dtime_merge", false, false); 1539 1540 PXOPT_COPY_S64(config->args, where, "-minidvodb_id", "minidvodbProcessed.minidvodb_id", "=="); 1541 PXOPT_COPY_STR(config->args, where, "-minidvodb_name", "minidvodbRun.minidvodb_name", "=="); 1542 1543 1544 if (!psListLength(where->list)) { 1545 psFree(where); 1546 psError(PXTOOLS_ERR_CONFIG, false, "search parameters are required"); 1547 return false; 1548 } 1549 1550 psString query = psStringCopy("UPDATE minidvodbProcessed JOIN minidvodbRun USING (minidvodb_id) SET "); 1551 int cnt = 0; 1552 psString comma = ","; 1553 if (fault) { 1554 psStringAppend(&query, " fault = %d", fault); 1555 cnt++; 1556 } 1557 1558 if (merge_order) { 1559 if (cnt) { 1560 psStringAppend(&query, "%s", comma); 1561 } 1562 1563 psStringAppend(&query, " merge_order = %" PRId64, merge_order); 1564 cnt++; 1565 } 1566 1567 if (dtime_relphot) { 1568 if (cnt) { 1569 psStringAppend(&query, "%s", comma); 1570 } 1571 psStringAppend(&query, " dtime_relphot = %f", dtime_relphot); 1572 cnt++; 1573 } 1574 1575 if (dtime_resort) { 1576 if (cnt) { 1577 psStringAppend(&query, "%s", comma); 1578 } 1579 psStringAppend(&query, " dtime_resort = %f", dtime_resort); 1580 cnt++; 1581 } 1582 1583 if (dtime_merge) { 1584 if (cnt) { 1585 psStringAppend(&query, "%s", comma); 1586 } 1587 psStringAppend(&query, " dtime_merge = %f", dtime_merge); 1588 cnt++; 1589 } 1590 1591 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 1592 psStringAppend(&query, " WHERE %s", whereClause); 1593 1594 if (!p_psDBRunQuery(config->dbh, query)) { 1595 psError(PS_ERR_UNKNOWN, false, "database error %s", query); 1596 psFree(query); 1597 return false; 1598 } 1599 1600 psFree(query); 1601 psFree(where); 1602 1603 return true; 1604 } 1605 1606 -
trunk/ippTools/src/addtool.h
r25299 r28181 39 39 ADDTOOL_MODE_DONECLEANUP, 40 40 ADDTOOL_MODE_EXPORTRUN, 41 ADDTOOL_MODE_IMPORTRUN 41 ADDTOOL_MODE_IMPORTRUN, 42 ADDTOOL_MODE_ADDMINIDVODBRUN, 43 ADDTOOL_MODE_UPDATEMINIDVODBRUN, 44 ADDTOOL_MODE_LISTMINIDVODBRUN, 45 ADDTOOL_MODE_FLIPMINIDVODBRUN, 46 ADDTOOL_MODE_CHECKMINIDVODBRUNADDRUN, 47 ADDTOOL_MODE_ADDMINIDVODBPROCESSED, 48 ADDTOOL_MODE_LISTMINIDVODBPROCESSED, 49 ADDTOOL_MODE_REVERTMINIDVODBPROCESSED, 50 ADDTOOL_MODE_UPDATEMINIDVODBPROCESSED 42 51 } addtoolMode; 43 52 -
trunk/ippTools/src/addtoolConfig.c
r27773 r28181 63 63 psMetadataAddBool(definebyqueryArgs, PS_LIST_TAIL, "-pretend", 0, "do not actually modify the database", false); 64 64 psMetadataAddBool(definebyqueryArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 65 65 psMetadataAddBool(definebyqueryArgs, PS_LIST_TAIL, "-set_minidvodb", 0, "use minidvodb", false); 66 psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-set_minidvodb_group", 0, "define minidvodb_group", NULL); 67 psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-set_minidvodb_name", 0, "define minidvodb_bname", NULL); 66 68 psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-set_data_group", 0, "define new data_group", NULL); 67 69 psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-set_dist_group", 0, "define new dist_group", NULL); … … 84 86 psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-set_dist_group", 0, "define new dist_group", NULL); 85 87 psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-set_note", 0, "define new note", NULL); 88 86 89 // -pendingexp 87 90 psMetadata *pendingexpArgs = psMetadataAlloc(); … … 98 101 psMetadataAddS64(addprocessedexpArgs, PS_LIST_TAIL, "-add_id", 0, "define addtool ID (required)", 0); 99 102 psMetadataAddStr(addprocessedexpArgs, PS_LIST_TAIL, "-path_base", 0, "define base output location", NULL); 103 psMetadataAddStr(addprocessedexpArgs, PS_LIST_TAIL, "-dvodb_path", 0, "define base output location", NULL); 100 104 psMetadataAddF32(addprocessedexpArgs, PS_LIST_TAIL, "-dtime_addstar", 0, "define elapsed time for DVO insertion (seconds)", NAN); 101 105 psMetadataAddS16(addprocessedexpArgs, PS_LIST_TAIL, "-fault", 0, "set fault code", 0); … … 142 146 psMetadataAddStr(unblockArgs, PS_LIST_TAIL, "-label", 0, "name of a label to unmask (required)", NULL); 143 147 148 // -addminidvodbruns 149 psMetadata *addminidvodbrunArgs = psMetadataAlloc(); 150 psMetadataAddStr(addminidvodbrunArgs, PS_LIST_TAIL, "-set_minidvodb_name", 0, "define minidvodb_name", NULL); 151 psMetadataAddStr(addminidvodbrunArgs, PS_LIST_TAIL, "-set_minidvodb_group", 0, "define minidvodb_group (required)", NULL); 152 psMetadataAddStr(addminidvodbrunArgs, PS_LIST_TAIL, "-set_minidvodb_path", 0, "define path for minidvodb", NULL); 153 psMetadataAddStr(addminidvodbrunArgs, PS_LIST_TAIL, "-set_mergedvodb_path", 0, "define path for the merged dvodb (required)", NULL); 154 psMetadataAddStr(addminidvodbrunArgs, PS_LIST_TAIL, "-set_state", 0, "define state", NULL); 155 156 // -updateminidvodbruns 157 psMetadata *updateminidvodbrunArgs = psMetadataAlloc(); 158 psMetadataAddU64(updateminidvodbrunArgs, PS_LIST_TAIL, "-minidvodb_id", 0, "search by minidvodb_id ", 0); 159 psMetadataAddStr(updateminidvodbrunArgs, PS_LIST_TAIL, "-minidvodb_group", 0, "search by minidvodb_name (LIKE)", NULL); 160 psMetadataAddStr(updateminidvodbrunArgs, PS_LIST_TAIL, "-minidvodb_name", 0, "search by minidvodb_name (LIKE)", NULL); 161 psMetadataAddStr(updateminidvodbrunArgs, PS_LIST_TAIL, "-minidvodb_path", 0, "search by path for minidvodb", NULL); 162 psMetadataAddStr(updateminidvodbrunArgs, PS_LIST_TAIL, "-mergedvodb_path", 0, "search by path for the merged dvodb", NULL); 163 psMetadataAddStr(updateminidvodbrunArgs, PS_LIST_TAIL, "-state", 0, "search by state", NULL); 164 psMetadataAddStr(updateminidvodbrunArgs, PS_LIST_TAIL, "-set_minidvodb_name", 0, "define minidvodb_name", NULL); 165 psMetadataAddStr(updateminidvodbrunArgs, PS_LIST_TAIL, "-set_minidvodb_path", 0, "define path for minidvodb", NULL); 166 psMetadataAddStr(updateminidvodbrunArgs, PS_LIST_TAIL, "-set_mergedvodb_path", 0, "define path for minidvodb", NULL); 167 psMetadataAddStr(updateminidvodbrunArgs, PS_LIST_TAIL, "-set_minidvodb_group", 0, "define path for the merged dvodb", NULL); 168 psMetadataAddStr(updateminidvodbrunArgs, PS_LIST_TAIL, "-set_state", 0, "define state", NULL); 169 170 // -listminidvodbrunArgs 171 psMetadata *listminidvodbrunArgs = psMetadataAlloc(); 172 psMetadataAddU64(listminidvodbrunArgs, PS_LIST_TAIL, "-minidvodb_id", 0, "search by minidvodb_id", 0); 173 psMetadataAddStr(listminidvodbrunArgs, PS_LIST_TAIL, "-minidvodb_name", 0, "search by minidvodb_name (LIKE)", NULL); 174 psMetadataAddStr(listminidvodbrunArgs, PS_LIST_TAIL, "-minidvodb_group", 0, "search by minidvodb.minidvodb_group", NULL); 175 psMetadataAddStr(listminidvodbrunArgs, PS_LIST_TAIL, "-state", 0, "search by state", NULL); 176 psMetadataAddU64(listminidvodbrunArgs, PS_LIST_TAIL, "-limit", 0, "limit to N items", 0); 177 psMetadataAddBool(listminidvodbrunArgs, PS_LIST_TAIL, "-simple", 0, "simple output", false); 178 179 //psMetadataAddBool(listminidvodbrunArgs, PS_LIST_TAIL, "-finished_addrun", 0, "limit to minidvodbs with completed addRuns (none in new state)", false); 180 psMetadata *flipminidvodbrunArgs = psMetadataAlloc(); 181 psMetadataAddStr(flipminidvodbrunArgs, PS_LIST_TAIL, "-minidvodb_group", 0, "for the supplied minidvodb_group (required): flip the current 'new' to 'active', the current 'active' to 'waiting'", NULL); 182 183 psMetadata *checkminidvodbrunaddrunArgs = psMetadataAlloc(); 184 psMetadataAddStr(checkminidvodbrunaddrunArgs, PS_LIST_TAIL, "-minidvodb_group", 0, "for the supplied minidvodb_group (required): check if the addRun stage is complete (all in addRun.state = full) ", NULL); 185 psMetadataAddStr(checkminidvodbrunaddrunArgs, PS_LIST_TAIL, "-minidvodb_name", 0, "for the supplied minidvodb_name: check if the addRun stage is complete (all in addRun.state = full) ", NULL); 186 psMetadataAddStr(checkminidvodbrunaddrunArgs, PS_LIST_TAIL, "-state", 0, "limit by minidvodbRun state ", NULL); 187 psMetadataAddU64(checkminidvodbrunaddrunArgs, PS_LIST_TAIL, "-limit", 0, "limit to N items", 0); 188 psMetadataAddBool(checkminidvodbrunaddrunArgs, PS_LIST_TAIL, "-simple", 0, "simple output", false); 189 psMetadataAddBool(checkminidvodbrunaddrunArgs, PS_LIST_TAIL, "-all_addrun_states", 0, "list all minidvodbRun.minidvodb_names, not just ones that have complete addRuns", false); 190 191 psMetadata *addminidvodbprocessedArgs = psMetadataAlloc(); 192 psMetadataAddU64(addminidvodbprocessedArgs, PS_LIST_TAIL, "-minidvodb_id", 0, "define minidvodb_id (required)", 0); 193 psMetadataAddU64(addminidvodbprocessedArgs, PS_LIST_TAIL, "-merge_order", 0, "define merge order", 0); 194 psMetadataAddF32(addminidvodbprocessedArgs, PS_LIST_TAIL, "-dtime_relphot", 0, "define elapsed time for relphot (seconds)", NAN); 195 psMetadataAddF32(addminidvodbprocessedArgs, PS_LIST_TAIL, "-dtime_resort", 0, "define elapsed time for resort (seconds)", NAN); 196 psMetadataAddF32(addminidvodbprocessedArgs, PS_LIST_TAIL, "-dtime_merge", 0, "define elapsed time for DVO merge (seconds)", NAN); 197 psMetadataAddTime(addminidvodbprocessedArgs, PS_LIST_TAIL, "-epoch", 0, "time merge is finished", NULL); 198 psMetadataAddStr(addminidvodbprocessedArgs, PS_LIST_TAIL, "-mergedvodb_path",0, "path of merged dvodb", NULL); 199 psMetadataAddStr(addminidvodbprocessedArgs, PS_LIST_TAIL, "-minidvodb_group",0, "minidvodb_group", NULL); 200 psMetadataAddS16(addminidvodbprocessedArgs, PS_LIST_TAIL, "-fault", 0, "set fault code", 0); 201 202 psMetadata *listminidvodbprocessedArgs = psMetadataAlloc(); 203 psMetadataAddU64(listminidvodbprocessedArgs, PS_LIST_TAIL, "-minidvodb_id", 0, "search by minidvodb_id", 0); 204 psMetadataAddStr(listminidvodbprocessedArgs, PS_LIST_TAIL, "-minidvodb_name", 0, "search by minidvodb_name", NULL); 205 psMetadataAddStr(listminidvodbprocessedArgs, PS_LIST_TAIL, "-minidvodb_group", 0, "search by minidvodb.minidvodb_group", NULL); 206 psMetadataAddU64(listminidvodbprocessedArgs, PS_LIST_TAIL, "-limit", 0, "limit to N items", 0); 207 psMetadataAddBool(listminidvodbprocessedArgs, PS_LIST_TAIL, "-simple", 0, "simple output", false); 208 psMetadataAddBool(listminidvodbprocessedArgs, PS_LIST_TAIL, "-faulted", 0, "limit to faulted state", false); 209 210 psMetadata *revertminidvodbprocessedArgs = psMetadataAlloc(); 211 psMetadataAddU64(revertminidvodbprocessedArgs, PS_LIST_TAIL, "-minidvodb_id", 0, "search by minidvodb_id", 0); 212 psMetadataAddStr(revertminidvodbprocessedArgs, PS_LIST_TAIL, "-minidvodb_group", 0, "search by addRun.minidvodb_group", NULL); 213 214 psMetadata *updateminidvodbprocessedArgs = psMetadataAlloc(); 215 psMetadataAddU64(updateminidvodbprocessedArgs, PS_LIST_TAIL, "-minidvodb_id", 0, "search by minidvodb_id", 0); 216 psMetadataAddStr(updateminidvodbprocessedArgs, PS_LIST_TAIL, "-minidvodb_name", 0, "search by minidvodb_name", NULL); 217 psMetadataAddS16(updateminidvodbprocessedArgs, PS_LIST_TAIL, "-set_fault", 0, "set fault code", 0); 218 psMetadataAddU64(updateminidvodbprocessedArgs, PS_LIST_TAIL, "-set_merge_order", 0, "define merge order", 0); 219 psMetadataAddF32(updateminidvodbprocessedArgs, PS_LIST_TAIL, "-set_dtime_relphot", 0, "define elapsed time for relphot (seconds)", 0); 220 psMetadataAddF32(updateminidvodbprocessedArgs, PS_LIST_TAIL, "-set_dtime_resort", 0, "define elapsed time for resort (seconds)", 0); 221 psMetadataAddF32(updateminidvodbprocessedArgs, PS_LIST_TAIL, "-set_dtime_merge", 0, "define elapsed time for DVO merge (seconds)", 0); 222 144 223 psMetadata *argSets = psMetadataAlloc(); 145 224 psMetadata *modes = psMetadataAlloc(); … … 154 233 PXOPT_ADD_MODE("-block", "set a label block", ADDTOOL_MODE_BLOCK, blockArgs); 155 234 PXOPT_ADD_MODE("-masked", "show blocked labels", ADDTOOL_MODE_MASKED, maskedArgs); 156 PXOPT_ADD_MODE("-unblock", "remove a label block", ADDTOOL_MODE_UNBLOCK, unblockArgs); 235 PXOPT_ADD_MODE("-addminidvodbrun", "create minidvodbs ", ADDTOOL_MODE_ADDMINIDVODBRUN, addminidvodbrunArgs); 236 PXOPT_ADD_MODE("-updateminidvodbrun", "change minidvodb properties", ADDTOOL_MODE_UPDATEMINIDVODBRUN, updateminidvodbrunArgs); 237 PXOPT_ADD_MODE("-listminidvodbrun", "list minidvodbs", ADDTOOL_MODE_LISTMINIDVODBRUN, listminidvodbrunArgs); 238 PXOPT_ADD_MODE("-flipminidvodbrun", "flip minidvodbs", ADDTOOL_MODE_FLIPMINIDVODBRUN, flipminidvodbrunArgs); 239 PXOPT_ADD_MODE("-checkminidvodbrunaddrun", "check minidvodbs to see if addRuns are completed", ADDTOOL_MODE_CHECKMINIDVODBRUNADDRUN, checkminidvodbrunaddrunArgs); 240 PXOPT_ADD_MODE("-addminidvodbprocessed","add a processed minidvodb", ADDTOOL_MODE_ADDMINIDVODBPROCESSED, addminidvodbprocessedArgs); 241 PXOPT_ADD_MODE("-listminidvodbprocessed","list processed minidvodbs", ADDTOOL_MODE_LISTMINIDVODBPROCESSED, listminidvodbprocessedArgs); 242 PXOPT_ADD_MODE("-revertminidvodbprocessed","revert processed minidvobs", ADDTOOL_MODE_REVERTMINIDVODBPROCESSED, revertminidvodbprocessedArgs); 243 PXOPT_ADD_MODE("-updateminidvodbprocessed","change processed minidvodb properties",ADDTOOL_MODE_UPDATEMINIDVODBPROCESSED, updateminidvodbprocessedArgs); 244 245 246 157 247 158 248 if (!pxGetOptions(stderr, argc, argv, config, modes, argSets)) { -
trunk/ippTools/src/flatcorr.c
r26981 r28181 671 671 row->dvodb, 672 672 NULL, // note is not propagated 673 0)) { 673 0, 674 0, //The minidvodb stuff is off 675 NULL, 676 NULL)) { 674 677 if (!psDBRollback(config->dbh)) { 675 678 psError(PS_ERR_UNKNOWN, false, "database error"); -
trunk/ippTools/src/pstamptool.h
r28106 r28181 22 22 23 23 #include "pxtools.h" 24 25 #define PSTAMP_FIRST_ERROR_CODE 0 // First error code value to consider 24 26 25 27 typedef enum { -
trunk/ippTools/src/pxadd.c
r26981 r28181 130 130 char *dvodb, 131 131 char *note, 132 bool image_only) 132 bool image_only, 133 bool minidvodb, 134 char *minidvodb_group, 135 char *minidvodb_name) 133 136 { 134 137 PS_ASSERT_PTR_NON_NULL(config, false); … … 158 161 note ? note : "NULL", 159 162 image_only, 163 minidvodb, 164 minidvodb_group, 165 minidvodb_name, 160 166 (long long) cam_id 161 167 )) { 162 psError(PS_ERR_UNKNOWN, false, "database error");168 psError(PS_ERR_UNKNOWN, false, "database error %s", query); 163 169 return false; 164 170 } -
trunk/ippTools/src/pxadd.h
r25835 r28181 38 38 char *dvodb, 39 39 char *note, 40 bool image_only); 40 bool image_only, 41 bool minidvodb, 42 char *minidvodb_group, 43 char *minidvodb_name); 41 44 42 45 #endif // PXADD_H
Note:
See TracChangeset
for help on using the changeset viewer.
