Changeset 31280
- Timestamp:
- Apr 14, 2011, 2:57:53 PM (15 years ago)
- Location:
- branches/haf_branches/haf_add2011
- Files:
-
- 15 edited
- 1 copied
-
. (copied) (copied from trunk )
-
dbconfig/add.md (modified) (1 diff)
-
dbconfig/changes.txt (modified) (1 diff)
-
ippScripts/scripts/addstar_run.pl (modified) (4 diffs)
-
ippTasks/addstar.pro (modified) (6 diffs)
-
ippTasks/survey.pro (modified) (4 diffs)
-
ippTools/share/Makefile.am (modified) (2 diffs)
-
ippTools/share/addtool_find_cam_id.sql (modified) (1 diff)
-
ippTools/share/addtool_find_cam_id_dvo.sql (modified) (1 diff)
-
ippTools/share/addtool_find_pendingexp.sql (modified) (2 diffs)
-
ippTools/share/addtool_queue_cam_id.sql (modified) (1 diff)
-
ippTools/src/addtool.c (modified) (23 diffs)
-
ippTools/src/addtoolConfig.c (modified) (6 diffs)
-
ippTools/src/flatcorr.c (modified) (1 diff)
-
ippTools/src/pxadd.c (modified) (8 diffs)
-
ippTools/src/pxadd.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branches/haf_branches/haf_add2011/dbconfig/add.md
r28181 r31280 2 2 addRun METADATA 3 3 add_id S64 0 # Primary Key AUTO_INCREMENT 4 cam_id S64 0 # Key INDEX(add_id,cam_id) fkey(cam_id) ref camRun(cam_id) 4 stage STR 64 # what the stage is (warp, cam, diff, 5 stage_id S64 0 # Key INDEX(add_id,cam_id) fkey(cam_id) ref camRun(cam_id) 5 6 state STR 64 # Key 6 7 workdir STR 255 -
branches/haf_branches/haf_add2011/dbconfig/changes.txt
r31038 r31280 2058 2058 UPDATE dbversion set schema_version = '1.1.69', updated= CURRENT_TIMESTAMP(); 2059 2059 2060 2061 2060 ALTER TABLE addRun ADD COLUMN stage VARCHAR(64) AFTER add_id; 2061 ALTER TABLE addRun ADD COLUMN stage_id bigint(20) after stage; 2062 UPDATE addRun set stage_id = cam_id; 2063 ##alter table addRun drop cam_id; (those stupid keys?) 2064 alter table addRun modify cam_id bigint(20) after minidvodb_name; 2065 2066 2067 2068 ##ALTER TABLE addRun CHANGE cam_id stage_id bigint(20); 2069 2070 2071 -
branches/haf_branches/haf_add2011/ippScripts/scripts/addstar_run.pl
r30326 r31280 37 37 } 38 38 my $minidvodb_path; 39 my ( $ exp_tag, $add_id, $camera, $outroot, $camroot, $dbname, $reduction, $dvodb, $minidvodb, $minidvodb_name, $minidvodb_group, $image_only, $verbose, $no_update,39 my ( $add_id, $camera, $stage, $outroot, $stageroot, $dbname, $reduction, $dvodb, $minidvodb, $minidvodb_name, $minidvodb_group, $image_only, $verbose, $no_update, 40 40 $no_op, $redirect, $save_temps); 41 41 GetOptions( 42 'exp_tag=s' => \$exp_tag, # Exposure identifier43 42 'add_id=s' => \$add_id, # Camtool identifier 44 43 'camera|c=s' => \$camera, # Camera 44 'stage|s=s' => \$stage, # Camera 45 45 46 'dbname|d=s' => \$dbname, # Database name 46 47 'outroot|w=s' => \$outroot, # output file base name 47 ' camroot|w=s' => \$camroot, # camerastage root name.48 'stageroot|w=s' => \$stageroot, # stage root name. 48 49 'reduction=s' => \$reduction, # Reduction class 49 50 'dvodb|w=s' => \$dvodb, # output DVO database … … 61 62 pod2usage( -msg => "Unknown option: @ARGV", -exitval => 2 ) if @ARGV; 62 63 pod2usage( 63 -msg => "Required options: -- exp_tag --add_id --camera --outroot --dvodb --camroot",64 -msg => "Required options: --add_id --camera --outroot --dvodb --stageroot --stage", 64 65 -exitval => 3, 65 66 ) unless 66 defined $ exp_tagand67 defined $stage and 67 68 defined $add_id and 68 69 defined $outroot and 69 defined $ camroot and70 defined $stageroot and 70 71 defined $dvodb and 71 72 defined $camera; … … 86 87 # Recipes to use based on reduction class 87 88 $reduction = 'DEFAULT' unless defined $reduction; 88 89 my $recipe_addstar = $ipprc->reduction($reduction, 'ADDSTAR'); 89 90 # XXX This is now not used: do we still need it? 90 my $recipe_addstar = $ipprc->reduction($reduction, 'ADDSTAR'); # Recipe to use 91 if ($stage =~/cam/) { 92 $recipe_addstar = $ipprc->reduction($reduction, 'ADDSTAR'); # Recipe to use 93 } 94 if ($stage =~/stack/) { 95 $recipe_addstar = $ipprc->reduction($reduction, 'ADDSTAR_STACK'); # Recipe to use 96 } 97 if ($stage =~/staticsky/) { 98 $recipe_addstar = $ipprc->reduction($reduction, 'ADDSTAR_STATICSKY'); # Recipe to use 99 } 91 100 &my_die("Unrecognised ADDSTAR recipe", $add_id, $PS_EXIT_CONFIG_ERROR) unless defined $recipe_addstar; 92 101 … … 97 106 98 107 # the camera configurations should define the psastro output to be a single file (MEF), regardless of the inputs 99 my $fpaObjects = $ipprc->filename("PSASTRO.OUTPUT", $ camroot) or &my_die("Missing entry from camera config", $add_id, $PS_EXIT_CONFIG_ERROR);108 my $fpaObjects = $ipprc->filename("PSASTRO.OUTPUT", $stageroot) or &my_die("Missing entry from camera config", $add_id, $PS_EXIT_CONFIG_ERROR); 100 109 my $traceDest = $ipprc->filename("TRACE.EXP", $outroot) or &my_die("Missing entry from camera config", $add_id, $PS_EXIT_CONFIG_ERROR); 101 110 -
branches/haf_branches/haf_add2011/ippTasks/addstar.pro
r30327 r31280 17 17 18 18 macro addstar.on 19 task addstar.exp.load 19 task addstar.exp.load.stack 20 active true 21 end 22 task addstar.exp.load.cam 23 active true 24 end 25 task addstar.exp.load.staticsky 20 26 active true 21 27 end … … 26 32 27 33 macro addstar.off 28 task addstar.exp.load 34 task addstar.exp.load.stack 35 active false 36 end 37 task addstar.exp.load.cam 38 active false 39 end 40 task addstar.exp.load.staticsky 29 41 active false 30 42 end … … 54 66 # new entries are added to addPendingExp 55 67 # skip already-present entries 56 task addstar.exp.load 68 task addstar.exp.load.stack 57 69 host local 58 70 … … 67 79 task.exec 68 80 # if ($LABEL:n == 0) break 69 $run = addtool -pendingexp 81 $run = addtool -pendingexp -stage stack 70 82 if ($DB:n == 0) 71 83 option DEFAULT … … 109 121 end 110 122 123 task addstar.exp.load.cam 124 host local 125 126 periods -poll $LOADPOLL 127 periods -exec $LOADEXEC 128 periods -timeout 30 129 npending 1 130 131 stdout NULL 132 stderr $LOGDIR/addstar.exp.log 133 134 task.exec 135 # if ($LABEL:n == 0) break 136 $run = addtool -pendingexp -stage cam 137 if ($DB:n == 0) 138 option DEFAULT 139 else 140 # save the DB name for the exit tasks 141 option $DB:$addstar_DB 142 $run = $run -dbname $DB:$addstar_DB 143 $addstar_DB ++ 144 if ($addstar_DB >= $DB:n) set addstar_DB = 0 145 end 146 add_poll_args run 147 add_poll_labels run 148 command $run 149 end 150 151 # success 152 task.exit 0 153 # convert 'stdout' to book format 154 ipptool2book stdout addPendingExp -key add_id -uniq -setword dbname $options:0 -setword pantaskState INIT 155 if ($VERBOSE > 2) 156 book listbook addPendingExp 157 end 158 159 # delete existing entries in the appropriate pantaskStates 160 process_cleanup addPendingExp 161 end 162 163 # default exit status 164 task.exit default 165 showcommand failure 166 end 167 168 task.exit crash 169 showcommand crash 170 end 171 172 # operation times out? 173 task.exit timeout 174 showcommand timeout 175 end 176 end 177 task addstar.exp.load.staticsky 178 host local 179 180 periods -poll $LOADPOLL 181 periods -exec $LOADEXEC 182 periods -timeout 30 183 npending 1 184 185 stdout NULL 186 stderr $LOGDIR/addstar.exp.log 187 188 task.exec 189 # if ($LABEL:n == 0) break 190 $run = addtool -pendingexp -stage staticsky 191 if ($DB:n == 0) 192 option DEFAULT 193 else 194 # save the DB name for the exit tasks 195 option $DB:$addstar_DB 196 $run = $run -dbname $DB:$addstar_DB 197 $addstar_DB ++ 198 if ($addstar_DB >= $DB:n) set addstar_DB = 0 199 end 200 add_poll_args run 201 add_poll_labels run 202 command $run 203 end 204 205 # success 206 task.exit 0 207 # convert 'stdout' to book format 208 ipptool2book stdout addPendingExp -key add_id -uniq -setword dbname $options:0 -setword pantaskState INIT 209 if ($VERBOSE > 2) 210 book listbook addPendingExp 211 end 212 213 # delete existing entries in the appropriate pantaskStates 214 process_cleanup addPendingExp 215 end 216 217 # default exit status 218 task.exit default 219 showcommand failure 220 end 221 222 task.exit crash 223 showcommand crash 224 end 225 226 # operation times out? 227 task.exit timeout 228 showcommand timeout 229 end 230 end 111 231 # run the addstar script on pending exposures 112 232 task addstar.exp.run … … 162 282 stderr $LOGDIR/addstar.exp.log 163 283 164 $run = addstar_run.pl --exp_tag $EXP_TAG --add_id $ADD_ID --camera $CAMERA --dvodb $DVODB -- camroot $CAMROOT --outroot $outroot --redirect-output284 $run = addstar_run.pl --exp_tag $EXP_TAG --add_id $ADD_ID --camera $CAMERA --dvodb $DVODB --stage $STAGE --stageroot $STAGEROOT --outroot $outroot --redirect-output 165 285 if ("$REDUCTION" != "NULL") 166 286 $run = $run --reduction $REDUCTION -
branches/haf_branches/haf_add2011/ippTasks/survey.pro
r30531 r31280 232 232 macro survey.add.addstar 233 233 if ($0 != 4) 234 echo "USAGE: survey.add.addstar (label) (dvodb) (minidvodb_group) "234 echo "USAGE: survey.add.addstar (label) (dvodb) (minidvodb_group) (stage)" 235 235 break 236 236 end … … 238 238 book setword SURVEY_ADDSTAR $1 DVODB $2 239 239 book setword SURVEY_ADDSTAR $1 MINIDVODB_GROUP $3 240 book setwork SURVEY_ADDSTAR $1 STAGE $4 240 241 book setword SURVEY_ADDSTAR $1 STATE PENDING 241 242 end … … 753 754 book getword SURVEY_ADDSTAR $label DVODB -var dvodb 754 755 book getword SURVEY_ADDSTAR $label MINIDVODB_GROUP -var minidvodb_group 756 book getword SURVEY_ADDSTAR $label STAGE -var stage 757 755 758 756 759 # $run = addtool -definebyquery -destreaked -label $label -set_dvodb $dbodb … … 763 766 end 764 767 765 $run = $run -definebyquery - destreaked -label $label -set_dvodb $dvodb -set_minidvodb_group $minidvodb_group -set_minidvodb -set_label $minidvodb_group768 $run = $run -definebyquery -label $label -set_dvodb $dvodb -set_minidvodb_group $minidvodb_group -set_minidvodb -set_label $minidvodb_group -stage $stage 766 769 # echo $run 770 if ($stage == 'cam') 771 #only queue destreaked cams. stacks and staticsky don't need this 772 $run = $run -destreaked 773 end 774 775 767 776 command $run 768 777 end -
branches/haf_branches/haf_add2011/ippTools/share/Makefile.am
r30373 r31280 8 8 addtool_find_cam_id_dvo.sql \ 9 9 addtool_find_cam_id.sql \ 10 addtool_find_sky_id_dvo.sql \ 11 addtool_find_sky_id.sql \ 12 addtool_find_stack_id_dvo.sql \ 13 addtool_find_stack_id.sql \ 10 14 addtool_find_pendingexp.sql \ 15 addtool_find_pendingexp_cam.sql \ 16 addtool_find_pendingexp_stack.sql \ 17 addtool_find_pendingexp_staticsky.sql \ 11 18 addtool_find_pendingmergeprocess.sql \ 12 addtool_find_processedexp.sql \ 19 addtool_find_processedexp_cam.sql \ 20 addtool_find_processedexp_stack.sql \ 21 addtool_find_processedexp_staticsky.sql \ 13 22 addtool_find_minidvodbprocessed.sql \ 14 23 addtool_find_minidvodbrun.sql \ … … 16 25 addtool_pendingcleanuprun.sql \ 17 26 addtool_queue_cam_id.sql \ 27 addtool_queue_stack_id.sql \ 28 addtool_queue_sky_id.sql \ 18 29 addtool_queue_minidvodbrun.sql \ 19 30 addtool_revertminidvodbprocessed.sql \ 20 addtool_revertprocessedexp.sql \ 31 addtool_revertprocessedexp_cam.sql \ 32 addtool_revertprocessedexp_stack.sql \ 33 addtool_revertprocessedexp_staticsky.sql \ 21 34 bgtool_advancechip.sql \ 22 35 bgtool_advancewarp.sql \ -
branches/haf_branches/haf_add2011/ippTools/share/addtool_find_cam_id.sql
r29407 r31280 11 11 addRun.dvodb AS previous_dvodb 12 12 FROM addRun 13 JOIN camRun USING(cam_id)13 JOIN camRun on cam_id=stage_id 14 14 JOIN chipRun USING(chip_id) 15 15 ) as foo 16 16 ON exp_id = added_exp_id 17 AND stage = 'cam' 17 18 -- hook for qualifying the join on the previous_dvodb 18 19 AND %s -
branches/haf_branches/haf_add2011/ippTools/share/addtool_find_cam_id_dvo.sql
r29407 r31280 6 6 AND exp_id NOT IN (SELECT exp_id 7 7 FROM addRun 8 JOIN camRun USING(cam_id)8 JOIN camRun on cam_id=stage_id 9 9 JOIN chipRun USING(chip_id) 10 WHERE %s10 WHERE stage = 'cam' AND %s 11 11 ) -
branches/haf_branches/haf_add2011/ippTools/share/addtool_find_pendingexp.sql
r25816 r31280 1 1 SELECT 2 addRun.*, 3 camProcessedExp.path_base as camroot, 4 rawExp.exp_tag, 5 rawExp.exp_id, 6 rawExp.exp_name, 7 rawExp.camera, 8 rawExp.telescope, 9 rawExp.filelevel 2 addRun.* 10 3 FROM addRun 11 JOIN camRun12 USING(cam_id)13 JOIN camProcessedExp14 USING(cam_id)15 JOIN chipRun16 USING(chip_id)17 JOIN rawExp18 USING(exp_id)19 4 LEFT JOIN addProcessedExp 20 5 USING(add_id) … … 22 7 ON addRun.label = addMask.label 23 8 WHERE 24 camRun.state = 'full' 25 AND ((addRun.state = 'new' AND addProcessedExp.add_id IS NULL) OR addRun.state = 'update') 9 ((addRun.state = 'new' AND addProcessedExp.add_id IS NULL) OR addRun.state = 'update') 26 10 AND addRun.dvodb IS NOT NULL 27 11 AND addRun.workdir IS NOT NULL -
branches/haf_branches/haf_add2011/ippTools/share/addtool_queue_cam_id.sql
r28181 r31280 2 2 SELECT 3 3 0, -- add_id 4 cam_id, -- cam_id 4 'cam', -- stage 5 cam_id, -- stage_id 5 6 '%s', -- state 6 7 '%s', -- workdir -
branches/haf_branches/haf_add2011/ippTools/src/addtool.c
r30912 r31280 119 119 pxcamGetSearchArgs (config, where); 120 120 PXOPT_COPY_S64(config->args, where, "-cam_id", "camRun.cam_id", "=="); 121 PXOPT_COPY_S64(config->args, where, "-stack_id", "stackRun.stack_id", "=="); 122 PXOPT_COPY_S64(config->args, where, "-sky_id", "staticskyRun.sky_id", "=="); 123 PXOPT_LOOKUP_STR(stage, config->args, "-stage", false, false); 124 if (strcmp(stage, "cam")== 0) { 125 121 126 pxAddLabelSearchArgs (config, where, "-label", "camRun.label", "=="); // define using camRun label 122 127 pxAddLabelSearchArgs (config, where, "-data_group","camRun.data_group", "=="); // define using camRun label 123 128 PXOPT_COPY_STR(config->args, where, "-reduction", "camRun.reduction", "=="); 124 125 129 } 130 if (strcmp(stage, "stack")== 0) { 131 132 pxAddLabelSearchArgs (config, where, "-label", "stackRun.label", "=="); // define using camRun label 133 pxAddLabelSearchArgs (config, where, "-data_group","stackRun.data_group", "=="); // define using camRun label 134 PXOPT_COPY_STR(config->args, where, "-reduction", "stackRun.reduction", "=="); 135 } 136 if (strcmp(stage, "staticsky")== 0) { 137 138 pxAddLabelSearchArgs (config, where, "-label", "staticskyRun.label", "=="); // define using camRun label 139 pxAddLabelSearchArgs (config, where, "-data_group","staticskyRun.data_group", "=="); // define using camRun label 140 PXOPT_COPY_STR(config->args, where, "-reduction", "staticskyyRun.reduction", "=="); 141 } 142 126 143 if (!psListLength(where->list)) { 127 144 psFree(where); … … 129 146 return false; 130 147 } 131 148 // PXOPT_LOOKUP_STR(stage, config->args, "-stage", false, false); 132 149 PXOPT_LOOKUP_STR(workdir, config->args, "-set_workdir", false, false); 133 150 PXOPT_LOOKUP_STR(dvodb, config->args, "-set_dvodb", false, false); … … 148 165 psString dvodb_string = NULL; 149 166 psString bare_query = NULL; 167 168 if (strcmp(stage,"cam") == 0 ) { 150 169 if (dvodb) { 151 psTrace("addtool.c", PS_LOG_INFO, "dvodb argument found (%s) using addtool_find_cam_id_dvo.sql\n ", dvodb);170 psTrace("addtool.c", PS_LOG_INFO, "dvodb argument found (%s) using addtool_find_cam_id_dvo.sql\n%s\n", dvodb,stage); 152 171 // find the cam_id of all the exposures that we want to queue up. 153 172 bare_query = pxDataGet("addtool_find_cam_id_dvo.sql"); … … 155 174 psStringAppend(&dvodb_string, "addRun.dvodb = '%s'", dvodb); 156 175 } else { 157 psTrace("addtool.c", PS_LOG_INFO, "dvodb argument not found using addtool_find_cam_id.sql\n");176 psTrace("addtool.c", PS_LOG_INFO, "dvodb argument not found using addtool_find_cam_id.sql\n%s\n",stage); 158 177 // find the cam_id of all the exposures that we want to queue up. 159 178 bare_query = pxDataGet("addtool_find_cam_id.sql"); … … 161 180 psStringAppend(&dvodb_string, "(camRun.dvodb IS NOT NULL AND previous_dvodb = camRun.dvodb)"); 162 181 } 182 } 183 if (strcmp(stage,"stack") == 0) { 184 if (dvodb ) { 185 psTrace("addtool.c", PS_LOG_INFO, "dvodb argument found (%s) using addtool_find_stack_id_dvo.sql\n%s\n", dvodb,stage); 186 // find the cam_id of all the exposures that we want to queue up. 187 bare_query = pxDataGet("addtool_find_stack_id_dvo.sql"); 188 // user supplied dvodb 189 psStringAppend(&dvodb_string, "addRun.dvodb = '%s'", dvodb); 190 } else { 191 psTrace("addtool.c", PS_LOG_INFO, "dvodb argument not found using addtool_find_stack_id.sql\n%s\n",stage); 192 // find the cam_id of all the exposures that we want to queue up. 193 bare_query = pxDataGet("addtool_find_stack_id.sql"); 194 // inherit dvodb from camRun, avoid matching NULL 195 psStringAppend(&dvodb_string, "(stackRun.dvodb IS NOT NULL AND previous_dvodb = stackRun.dvodb)"); 196 } 197 } 198 if (strcmp(stage,"staticsky") == 0) { 199 if (dvodb ) { 200 psTrace("addtool.c", PS_LOG_INFO, "dvodb argument found (%s) using addtool_find_sky_id_dvo.sql\n%s\n", dvodb,stage); 201 // find the cam_id of all the exposures that we want to queue up. 202 bare_query = pxDataGet("addtool_find_sky_id_dvo.sql"); 203 // user supplied dvodb 204 psStringAppend(&dvodb_string, "addRun.dvodb = '%s'", dvodb); 205 } else { 206 psTrace("addtool.c", PS_LOG_INFO, "dvodb argument not found using addtool_find_sky_id.sql\n%s\n",stage); 207 // find the cam_id of all the exposures that we want to queue up. 208 bare_query = pxDataGet("addtool_find_sky_id.sql"); 209 // inherit dvodb from camRun, avoid matching NULL 210 psStringAppend(&dvodb_string, "(staticskyRun.dvodb IS NOT NULL AND previous_dvodb = staticskyRun.dvodb)"); 211 } 212 } 213 214 215 163 216 if (!bare_query) { 164 217 psError(PXTOOLS_ERR_SYS, false, "failed to retrieve SQL statement"); … … 184 237 185 238 if (destreaked) { 239 if (strcmp(stage,"cam") == 0) { 186 240 psStringAppend(&query, " AND (camRun.magicked > 0)"); 187 } 241 } 242 if (strcmp(stage,"stack") == 0) { 243 psStringAppend(&query, " AND (stackRun.magicked > 0)"); 244 } 245 // staticSky has no magicked column. 246 } 247 248 psTrace("addtool.c", PS_LOG_INFO,"query: \n\n%s\n\n",query); 188 249 189 250 if (!p_psDBRunQuery(config->dbh, query)) { 190 psError(PS_ERR_UNKNOWN, false, "database error");251 psError(PS_ERR_UNKNOWN, false, "database error, \n%s\n", query); 191 252 psFree(query); 192 253 return false; … … 217 278 218 279 // loop over our list of camRun rows to check the supplied and selected dvodb and workdir values: 280 if (strcmp(stage,"cam") == 0) { 219 281 for (long i = 0; i < psArrayLength(output); i++) { 220 282 psMetadata *md = output->data[i]; 221 283 222 camRunRow *row = camRunObjectFromMetadata(md); 284 camRunRow *row = camRunObjectFromMetadata(md); 285 223 286 if (!row) { 224 287 psError(PS_ERR_UNKNOWN, false, "failed to convert metadata into camRun"); … … 240 303 psFree(row); 241 304 } 305 } 306 if (strcmp(stage,"stack") == 0) { 307 for (long i = 0; i < psArrayLength(output); i++) { 308 psMetadata *md = output->data[i]; 309 310 stackRunRow *row = stackRunObjectFromMetadata(md); 311 312 if (!row) { 313 psError(PS_ERR_UNKNOWN, false, "failed to convert metadata into camRun"); 314 psFree(output); 315 return false; 316 } 317 318 if (!dvodb && !row->dvodb) { 319 psError(PS_ERR_UNKNOWN, false, "cannot queue addstar run without a defined dvodb: label: %s, stack_id %" PRId64, row->label, row->stack_id); 320 psFree(output); 321 return false; 322 } 323 if (!workdir && !row->workdir) { 324 psError(PS_ERR_UNKNOWN, false, "cannot queue addstar run without a defined workdir: label: %s, stack_id %" PRId64, row->label, row->stack_id); 325 psFree(output); 326 return false; 327 } 328 329 psFree(row); 330 } 331 } 332 if (strcmp(stage,"staticsky") == 0) { 333 for (long i = 0; i < psArrayLength(output); i++) { 334 psMetadata *md = output->data[i]; 335 336 staticskyRunRow *row = staticskyRunObjectFromMetadata(md); 337 338 if (!row) { 339 psError(PS_ERR_UNKNOWN, false, "failed to convert metadata into camRun"); 340 psFree(output); 341 return false; 342 } 343 344 if (!dvodb) { //there's no staticsky.dvodb 345 psError(PS_ERR_UNKNOWN, false, "cannot queue addstar run without a defined dvodb: label: %s, sky_id %" PRId64, row->label, row->sky_id); 346 psFree(output); 347 return false; 348 } 349 if (!workdir && !row->workdir) { 350 psError(PS_ERR_UNKNOWN, false, "cannot queue addstar run without a defined workdir: label: %s, sky_id %" PRId64, row->label, row->sky_id); 351 psFree(output); 352 return false; 353 } 354 355 psFree(row); 356 } 357 } 242 358 243 359 // start a transaction so we don't end up with an exp without any associted … … 255 371 256 372 // loop over our list of camRun rows 373 if (strcmp(stage,"cam") == 0) { 257 374 for (long i = 0; i < psArrayLength(output); i++) { 258 375 psMetadata *md = output->data[i]; 259 260 camRunRow *row = camRunObjectFromMetadata(md); 376 psS64 stage_id =0; 377 378 camRunRow *row = camRunObjectFromMetadata(md); 379 stage_id = row->cam_id; 380 261 381 if (!row) { 262 382 psError(PS_ERR_UNKNOWN, false, "failed to convert metadata into camRun"); … … 267 387 // queue the exp 268 388 if (!pxaddQueueByCamID(config, 269 row->cam_id, 389 stage, 390 stage_id, 270 391 workdir ? workdir : row->workdir, 271 392 reduction ? reduction : row->reduction, … … 283 404 } 284 405 psError(PS_ERR_UNKNOWN, false, 285 "failed to trying to queue chip_id: %" PRId64, row->cam_id);406 "failed to trying to queue stage %s %" PRId64,stage, stage_id); 286 407 psFree(row); 287 408 psFree(output); … … 290 411 psFree(row); 291 412 } 413 } 414 if (strcmp(stage,"stack") == 0) { 415 for (long i = 0; i < psArrayLength(output); i++) { 416 psMetadata *md = output->data[i]; 417 psS64 stage_id =0; 418 419 stackRunRow *row = stackRunObjectFromMetadata(md); 420 stage_id = row->stack_id; 421 422 if (!row) { 423 psError(PS_ERR_UNKNOWN, false, "failed to convert metadata into camRun"); 424 psFree(output); 425 return false; 426 } 427 428 // queue the exp 429 if (!pxaddQueueByCamID(config, 430 stage, 431 stage_id, 432 workdir ? workdir : row->workdir, 433 reduction ? reduction : row->reduction, 434 label ? label : row->label, 435 data_group ? data_group : (row->data_group ? row->data_group : (label ? label : row->label)), 436 dvodb ? dvodb : row->dvodb, 437 note ? note : NULL, 438 image_only, 439 minidvodb, 440 minidvodb_group, 441 minidvodb_name 442 )) { 443 if (!psDBRollback(config->dbh)) { 444 psError(PS_ERR_UNKNOWN, false, "database error sfg"); 445 } 446 psError(PS_ERR_UNKNOWN, false, 447 "failed to trying to queue stage %s %" PRId64,stage, stage_id); 448 psFree(row); 449 psFree(output); 450 return false; 451 } 452 psFree(row); 453 } 454 } 455 if (strcmp(stage,"staticsky") == 0) { 456 for (long i = 0; i < psArrayLength(output); i++) { 457 psMetadata *md = output->data[i]; 458 psS64 stage_id =0; 459 460 staticskyRunRow *row = staticskyRunObjectFromMetadata(md); 461 stage_id = row->sky_id; 462 463 if (!row) { 464 psError(PS_ERR_UNKNOWN, false, "failed to convert metadata into camRun"); 465 psFree(output); 466 return false; 467 } 468 469 // queue the exp 470 if (!pxaddQueueByCamID(config, 471 stage, 472 stage_id, 473 workdir ? workdir : row->workdir, 474 reduction ? reduction : row->reduction, 475 label ? label : row->label, 476 data_group ? data_group : (row->data_group ? row->data_group : (label ? label : row->label)), 477 dvodb ? dvodb : NULL, 478 note ? note : NULL, 479 image_only, 480 minidvodb, 481 minidvodb_group, 482 minidvodb_name 483 )) { 484 if (!psDBRollback(config->dbh)) { 485 psError(PS_ERR_UNKNOWN, false, "database error sfg"); 486 } 487 psError(PS_ERR_UNKNOWN, false, 488 "failed to trying to queue stage %s %" PRId64,stage, stage_id); 489 psFree(row); 490 psFree(output); 491 return false; 492 } 493 psFree(row); 494 } 495 } 496 292 497 psFree(output); 293 498 … … 308 513 PXOPT_COPY_S64(config->args, where, "-add_id", "addRun.add_id", "=="); 309 514 PXOPT_COPY_S64(config->args, where, "-cam_id", "camRun.cam_id", "=="); 515 PXOPT_COPY_S64(config->args, where, "-stack_id", "stackRun.stack_id", "=="); 516 PXOPT_COPY_S64(config->args, where, "-sky_id", "staticskyRun.sky_id", "=="); 517 518 PXOPT_LOOKUP_STR(stage, config->args, "-stage", false, false); 310 519 pxcamGetSearchArgs (config, where); // most search arguments based on camera 311 520 PXOPT_COPY_STR(config->args, where, "-label", "addRun.label", "=="); … … 319 528 return false; 320 529 } 321 322 psString query = psStringCopy("UPDATE addRun JOIN camRun USING(cam_id) JOIN chipRun USING(chip_id) JOIN rawExp USING(exp_id)"); 530 psString query = NULL; 531 if (strcmp(stage, "cam")==0) { 532 query = psStringCopy("UPDATE addRun JOIN camRun on cam_id = stage_id JOIN chipRun USING(chip_id) JOIN rawExp USING(exp_id)"); 533 } 534 if (strcmp(stage, "stack")==0) { 535 query = psStringCopy("UPDATE addRun JOIN stackRun on stack_id = stage_id"); 536 } 537 if (strcmp(stage, "staticsky")==0) { 538 query = psStringCopy("UPDATE addRun JOIN staticskyRun on sky_id = stage_id"); 539 } 323 540 324 541 // pxUpdateRun gets parameters from config->args and runs the update query … … 340 557 PXOPT_COPY_S64(config->args, where, "-add_id", "addRun.add_id", "=="); 341 558 PXOPT_COPY_S64(config->args, where, "-cam_id", "camRun.cam_id", "=="); 559 PXOPT_COPY_S64(config->args, where, "-stack_id", "stackRun.stack_id", "=="); 560 PXOPT_COPY_S64(config->args, where, "-sky_id", "staticskyRun.sky_id", "=="); 561 PXOPT_LOOKUP_STR(stage, config->args, "-stage", false, false); 342 562 pxcamGetSearchArgs (config, where); 343 563 pxAddLabelSearchArgs (config, where, "-label", "addRun.label", "=="); … … 345 565 PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false); 346 566 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); 347 348 psString query = pxDataGet("addtool_find_pendingexp.sql"); 567 568 psString query = NULL; 569 570 if (strcmp(stage, "cam")==0) { 571 query = pxDataGet("addtool_find_pendingexp_cam.sql"); 572 } 573 if (strcmp(stage, "stack")==0) { 574 query = pxDataGet("addtool_find_pendingexp_stack.sql"); 575 } 576 if (strcmp(stage, "staticsky")==0) { 577 query = pxDataGet("addtool_find_pendingexp_staticsky.sql"); 578 } 579 580 349 581 if (!query) { 350 582 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); … … 359 591 } 360 592 psFree(where); 593 if (strcmp(stage, "stack") == 0) { 594 //this group by is needed to join against all the warps (to get camera) 595 psStringAppend(&query, " GROUP BY %s", "stack_id"); 596 } 597 if (strcmp(stage, "staticsky") == 0) { 598 //this group by is needed to join against all the warps (to get camera) 599 psStringAppend(&query, " GROUP BY %s", "sky_id"); 600 } 361 601 362 602 // treat limit == 0 as "no limit" … … 522 762 psMetadata *where = psMetadataAlloc(); 523 763 PXOPT_COPY_S64(config->args, where, "-add_id", "addRun.add_id", "=="); 524 PXOPT_COPY_S64(config->args, where, "-cam_id", "camRun.cam_id", "=="); 764 PXOPT_COPY_S64(config->args, where, "-stage_id", "addRun.stage_id", "=="); 765 PXOPT_LOOKUP_STR(stage, config->args, "-stage", false, false); 525 766 pxcamGetSearchArgs (config, where); 526 767 pxAddLabelSearchArgs (config, where, "-label", "addRun.label", "=="); … … 537 778 return false; 538 779 } 539 540 psString query = pxDataGet("addtool_find_processedexp.sql"); 780 psString query = NULL; 781 782 if (strcmp (stage,"cam") == 0) { 783 query = pxDataGet("addtool_find_processedexp_cam.sql"); 784 } 785 if (strcmp (stage,"stack") == 0) { 786 query = pxDataGet("addtool_find_processedexp_stack.sql"); 787 } 788 if (strcmp (stage,"staticsky") == 0) { 789 query = pxDataGet("addtool_find_processedexp_staticsky.sql"); 790 } 791 541 792 if (!query) { 542 793 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); … … 567 818 psStringAppend(&query, " %s", " WHERE addProcessedExp.fault = 0"); 568 819 } 820 psStringAppend(&query, " AND stage = '%s'", stage); 821 569 822 psFree(where); 570 823 … … 616 869 psMetadata *where = psMetadataAlloc(); 617 870 PXOPT_COPY_S64(config->args, where, "-add_id", "addRun.add_id", "=="); 618 PXOPT_COPY_S64(config->args, where, "-cam_id", "camRun.cam_id", "=="); 871 PXOPT_COPY_S64(config->args, where, "-stage_id", "addRun.stage_id", "=="); 872 PXOPT_LOOKUP_STR(stage, config->args, "-stage", false, false); 619 873 pxcamGetSearchArgs (config, where); 620 874 pxAddLabelSearchArgs (config, where, "-label", "addRun.label", "=="); … … 634 888 635 889 { 636 psString query = pxDataGet("addtool_revertprocessedexp.sql"); 637 if (!query) { 890 psString query = NULL; 891 if (strcmp(stage, "cam") == 0) { 892 query = pxDataGet("addtool_revertprocessedexp_cam.sql"); 893 } 894 895 if (strcmp(stage, "stack") == 0) { 896 query = pxDataGet("addtool_revertprocessedexp_stack.sql"); 897 } 898 if (strcmp(stage, "staticsky") == 0) { 899 query = pxDataGet("addtool_revertprocessedexp_staticsky.sql"); 900 } 901 if (!query) { 638 902 // rollback 639 if (!psDBRollback(config->dbh)) {903 if (!psDBRollback(config->dbh)) { 640 904 psError(PS_ERR_UNKNOWN, false, "database error"); 641 905 } … … 681 945 psMetadata *where = psMetadataAlloc(); 682 946 PXOPT_COPY_S64(config->args, where, "-add_id", "add_id", "=="); 683 PXOPT_COPY_S64(config->args, where, "-cam_id", "cam_id", "=="); 947 PXOPT_COPY_S64(config->args, where, "-stage_id", "stage_id", "=="); 948 PXOPT_LOOKUP_STR(stage, config->args, "-stage", false, false); 684 949 PXOPT_LOOKUP_S16(fault, config->args, "-fault", true, false); 685 950 -
branches/haf_branches/haf_add2011/ippTools/src/addtoolConfig.c
r30912 r31280 49 49 // -definebyquery 50 50 psMetadata *definebyqueryArgs = psMetadataAlloc(); 51 psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-stage", 0, "set the stage (required)", NULL); 51 52 psMetadataAddS64(definebyqueryArgs, PS_LIST_TAIL, "-cam_id", 0, "search by cam_id", 0); 53 psMetadataAddS64(definebyqueryArgs, PS_LIST_TAIL, "-stack_id", 0, "search by stack_id", 0); 54 psMetadataAddS64(definebyqueryArgs, PS_LIST_TAIL, "-sky_id", 0, "search by sky_id", 0); 52 55 pxcamSetSearchArgs(definebyqueryArgs); 53 56 psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-label", PS_META_DUPLICATE_OK, "search by camRun label", NULL); … … 72 75 // -updaterun 73 76 psMetadata *updaterunArgs = psMetadataAlloc(); 77 psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-stage", 0, "set the stage (required)", NULL); 74 78 psMetadataAddS64(updaterunArgs, PS_LIST_TAIL, "-add_id", 0, "search by add_id", 0); 75 79 psMetadataAddS64(updaterunArgs, PS_LIST_TAIL, "-cam_id", 0, "search by cam_id", 0); 80 psMetadataAddS64(updaterunArgs, PS_LIST_TAIL, "-stack_id", 0, "search by stack_id", 0); 81 psMetadataAddS64(updaterunArgs, PS_LIST_TAIL, "-sky_id", 0, "search by sky_id", 0); 76 82 pxcamSetSearchArgs(updaterunArgs); 77 83 psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-label", 0, "search by addRun label", NULL); … … 89 95 // -pendingexp 90 96 psMetadata *pendingexpArgs = psMetadataAlloc(); 97 psMetadataAddStr(pendingexpArgs, PS_LIST_TAIL, "-stage", 0, "set the stage (required)", NULL); 91 98 psMetadataAddS64(pendingexpArgs, PS_LIST_TAIL, "-add_id", 0, "search by add_id", 0); 92 99 psMetadataAddS64(pendingexpArgs, PS_LIST_TAIL, "-cam_id", 0, "search by cam_id", 0); 100 psMetadataAddS64(pendingexpArgs, PS_LIST_TAIL, "-stack_id", 0, "search by stack_id", 0); 101 psMetadataAddS64(pendingexpArgs, PS_LIST_TAIL, "-sky_id", 0, "search by sky_id", 0); 93 102 pxcamSetSearchArgs(pendingexpArgs); 94 103 psMetadataAddStr(pendingexpArgs, PS_LIST_TAIL, "-label", PS_META_DUPLICATE_OK, "search by addRun label", NULL); … … 109 118 psMetadata *processedexpArgs = psMetadataAlloc(); 110 119 psMetadataAddS64(processedexpArgs, PS_LIST_TAIL, "-add_id", 0, "search by add_id", 0); 111 psMetadataAddS64(processedexpArgs, PS_LIST_TAIL, "-cam_id", 0, "search by cam_id", 0); 120 psMetadataAddS64(processedexpArgs, PS_LIST_TAIL, "-stage_id", 0, "search by stage_id", 0); 121 psMetadataAddStr(processedexpArgs, PS_LIST_TAIL, "-stage", 0, "set the stage", NULL); 112 122 pxcamSetSearchArgs(processedexpArgs); 113 123 psMetadataAddStr(processedexpArgs, PS_LIST_TAIL, "-label", PS_META_DUPLICATE_OK, "search by addRun label", NULL); … … 122 132 psMetadata *revertprocessedexpArgs = psMetadataAlloc(); 123 133 psMetadataAddS64(revertprocessedexpArgs, PS_LIST_TAIL, "-add_id", 0, "search by add_id", 0); 124 psMetadataAddS64(revertprocessedexpArgs, PS_LIST_TAIL, "-cam_id", 0, "search by cam_id", 0); 134 psMetadataAddS64(revertprocessedexpArgs, PS_LIST_TAIL, "-stage_id", 0, "search by stage_id", 0); 135 psMetadataAddStr(revertprocessedexpArgs, PS_LIST_TAIL, "-stage", 0, "set the stage", NULL); 125 136 pxcamSetSearchArgs(revertprocessedexpArgs); 126 137 psMetadataAddStr(revertprocessedexpArgs, PS_LIST_TAIL, "-label", PS_META_DUPLICATE_OK, "search by addRun label", NULL); … … 132 143 psMetadata *updateprocessedexpArgs = psMetadataAlloc(); 133 144 psMetadataAddS64(updateprocessedexpArgs, PS_LIST_TAIL, "-add_id", 0, "search by addtool ID", 0); 134 psMetadataAddS64(updateprocessedexpArgs, PS_LIST_TAIL, "-cam_id", 0, "search by camtool ID", 0); 145 psMetadataAddS64(updateprocessedexpArgs, PS_LIST_TAIL, "-stage_id", 0, "search by stage_id", 0); 146 psMetadataAddStr(updateprocessedexpArgs, PS_LIST_TAIL, "-stage", 0, "set the stage", NULL); 135 147 psMetadataAddS16(updateprocessedexpArgs, PS_LIST_TAIL, "-fault", 0, "set fault code", 0); 136 148 -
branches/haf_branches/haf_add2011/ippTools/src/flatcorr.c
r28181 r31280 664 664 if (!pxaddQueueByCamID( 665 665 config, 666 "cam", 666 667 row->cam_id, 667 668 row->workdir, -
branches/haf_branches/haf_add2011/ippTools/src/pxadd.c
r28181 r31280 37 37 if (!pxIsValidState(state)) { 38 38 psError(PS_ERR_UNKNOWN, false, 39 "invalid camRun state: %s", state);39 "invalid stageRun state: %s", state); 40 40 return false; 41 41 } … … 51 51 52 52 53 bool pxaddRunSetStateByQuery(pxConfig *config, psMetadata *where, const char *sta te)53 bool pxaddRunSetStateByQuery(pxConfig *config, psMetadata *where, const char *stage, const char *state) 54 54 { 55 55 PS_ASSERT_PTR_NON_NULL(config, false); … … 59 59 if (!pxIsValidState(state)) { 60 60 psError(PS_ERR_UNKNOWN, false, 61 "invalid chipRun state: %s", state);61 "invalid stageRun state: %s", state); 62 62 return false; 63 63 } 64 65 psString query = psStringCopy("UPDATE addRun JOIN camRun USING(cam_id) JOIN chipRun USING(chip_id) JOIN rawExp USING(exp_id) SET addRun.state = '%s'"); 66 64 psString query = NULL; 65 if (strcmp(stage, "cam") == 0) { 66 query = psStringCopy("UPDATE addRun JOIN camRun USING(cam_id) JOIN chipRun USING(chip_id) JOIN rawExp USING(exp_id) SET addRun.state = '%s'"); 67 } 68 if (strcmp(stage, "stack") == 0) { 69 ///xxx this needs to be fixed 70 71 /// psString query = psStringCopy("UPDATE addRun JOIN camRun USING(cam_id) JOIN chipRun USING(chip_id) JOIN rawExp USING(exp_id) SET addRun.state = '%s'"); 72 } 67 73 if (where) { 68 74 psString whereClause = psDBGenerateWhereSQL(where, NULL); … … 98 104 } 99 105 100 bool pxaddRunSetLabelByQuery(pxConfig *config, psMetadata *where, const char * label)106 bool pxaddRunSetLabelByQuery(pxConfig *config, psMetadata *where, const char *stage, const char *label) 101 107 { 102 108 PS_ASSERT_PTR_NON_NULL(config, false); 103 109 // note label == NULL should be explicitly allowed 104 110 //xxx fix for stack 105 111 psString query = psStringCopy("UPDATE addRun JOIN camRun USING(cam_id) JOIN chipRun USING(chip_id) JOIN rawExp USING(exp_id) SET addRun.label = '%s'"); 106 112 … … 123 129 124 130 bool pxaddQueueByCamID(pxConfig *config, 125 psS64 cam_id, 131 char *stage, 132 psS64 stage_id, 126 133 char *workdir, 127 134 char *reduction, … … 140 147 static psString query = NULL; 141 148 if (!query) { 149 if (strcmp( stage , "cam") == 0) { 142 150 query = pxDataGet("addtool_queue_cam_id.sql"); 143 151 psMemSetPersistent(query, true); 152 } 153 if (strcmp(stage,"stack") == 0) { 154 query = pxDataGet("addtool_queue_stack_id.sql"); 155 psMemSetPersistent(query, true); 156 } 157 if (strcmp(stage,"staticsky") == 0) { 158 query = pxDataGet("addtool_queue_sky_id.sql"); 159 psMemSetPersistent(query, true); 160 } 144 161 if (!query) { 145 162 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); … … 148 165 } 149 166 167 psTrace("addtool.c", PS_LOG_INFO, "pxadd query \n%s\n",query); 150 168 // queue the exp 151 169 // Note: cam_id is being cast here work around psS64 have a different type different 152 170 // on 32/64 153 171 if (!p_psDBRunQueryF(config->dbh, query, 154 "new", // state172 "new", // state 155 173 workdir ? workdir : "NULL", 156 "dirty", //workdir_state174 "dirty", //workdir_state 157 175 reduction? reduction : "NULL", 158 176 label ? label : "NULL", … … 164 182 minidvodb_group, 165 183 minidvodb_name, 166 (long long) cam_id184 (long long) stage_id 167 185 )) { 168 186 psError(PS_ERR_UNKNOWN, false, "database error %s", query); -
branches/haf_branches/haf_add2011/ippTools/src/pxadd.h
r28181 r31280 26 26 27 27 bool pxaddRunSetState(pxConfig *config, psS64 add_id, const char *state); 28 bool pxaddRunSetStateByQuery(pxConfig *config, psMetadata *where, const char *sta te);28 bool pxaddRunSetStateByQuery(pxConfig *config, psMetadata *where, const char *stage, const char *state); 29 29 bool pxaddRunSetLabel(pxConfig *config, psS64 add_id, const char *label); 30 bool pxaddRunSetLabelByQuery(pxConfig *config, psMetadata *where, const char * label);30 bool pxaddRunSetLabelByQuery(pxConfig *config, psMetadata *where, const char *stage, const char *label); 31 31 32 32 bool pxaddQueueByCamID(pxConfig *config, 33 psS64 cam_id, 33 char *stage, 34 psS64 stage_id, 34 35 char *workdir, 35 36 char *reduction,
Note:
See TracChangeset
for help on using the changeset viewer.
