Changeset 24149
- Timestamp:
- May 12, 2009, 4:07:48 PM (17 years ago)
- Location:
- branches/pap_magic
- Files:
-
- 1 added
- 1 deleted
- 16 edited
-
dbconfig/changes.txt (modified) (1 diff)
-
dbconfig/diff.md (modified) (1 diff)
-
dbconfig/magic.md (modified) (2 diffs)
-
ippScripts/Build.PL (modified) (1 diff)
-
ippScripts/scripts/ipp_serial_magic.pl (added)
-
ippScripts/scripts/magic_definerun.pl (modified) (2 diffs)
-
ippScripts/scripts/magic_mask.pl (deleted)
-
ippScripts/scripts/magic_process.pl (modified) (8 diffs)
-
ippTasks/magic.pro (modified) (2 diffs)
-
ippTools/share/magictool_inputs.sql (modified) (1 diff)
-
ippTools/share/magictool_inputskyfile.sql (modified) (1 diff)
-
ippTools/share/magictool_toprocess_inputs.sql (modified) (2 diffs)
-
ippTools/share/magictool_toprocess_tree.sql (modified) (2 diffs)
-
ippTools/share/pxadmin_create_tables.sql (modified) (2 diffs)
-
ippTools/src/difftool.c (modified) (2 diffs)
-
ippTools/src/difftoolConfig.c (modified) (1 diff)
-
ippTools/src/magictool.c (modified) (8 diffs)
-
ippTools/src/magictoolConfig.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/pap_magic/dbconfig/changes.txt
r24136 r24149 1113 1113 1114 1114 ALTER TABLE magicRun ADD COLUMN inverse TINYINT NOT NULL DEFAULT 0 AFTER diff_id; 1115 ALTER TABLE diffSkyfile DROP COLUMN uri; 1116 1117 DROP TABLE IF EXISTS magicSkyfileMask; 1118 ALTER TABLE magicInputSkyfile DROP FOREIGN KEY magicInputSkyfile_ibfk_2; 1119 ALTER TABLE magicInputSkyfile DROP KEY diff_id; 1120 ALTER TABLE magicInputSkyfile DROP PRIMARY KEY, ADD PRIMARY KEY(magic_id,node); 1121 ALTER TABLE magicInputSkyfile DROP COLUMN diff_id; 1122 ALTER TABLE magicNodeResult CHANGE COLUMN uri path_base VARCHAR(255); -
branches/pap_magic/dbconfig/diff.md
r24120 r24149 33 33 diff_id S64 0 # Primary Key fkey(diff_id) ref diffRun(diff_id) 34 34 skycell_id STR 64 # 35 uri STR 25536 35 path_base STR 255 37 36 data_state STR 64 -
branches/pap_magic/dbconfig/magic.md
r24136 r24149 16 16 END 17 17 18 ### This is left over from when diffs were composed of a single skycell 19 ### When we're not too busy, it should be deleted in favour of: 20 ### magicRun JOIN diffSkyfile USING(diff_id) WHERE diffSkyfile.fault = 0 AND diffSkyfile.quality = 0 18 21 magicInputSkyfile METADATA 19 22 magic_id S64 0 # Primary Key fkey(magic_id) ref magicRun(magic_id) 20 diff_id S64 0 # Primary Key fkey(diff_id) ref diffRun(diff_id)21 23 node STR 64 # 22 24 END … … 31 33 magic_id S64 0 # Primary Key fkey(magic_id) ref magicRun(magic_id) 32 34 node STR 64 # Primary Key fkey(magic_id, node) ref magicTree(magic_id, node) 33 uriSTR 25535 path_base STR 255 34 36 fault S16 0 # Key 35 37 END -
branches/pap_magic/ippScripts/Build.PL
r24038 r24149 73 73 scripts/ipp_serial_stack.pl 74 74 scripts/ipp_serial_mops.pl 75 scripts/ipp_serial_magic.pl 75 76 scripts/ipp_mops_translate.pl 76 77 scripts/ipp_simulation_data.pl -
branches/pap_magic/ippScripts/scripts/magic_definerun.pl
r23186 r24149 164 164 &my_die("failed to retrieve new magic run information", $PS_EXIT_CONFIG_ERROR) if !$magic_id; 165 165 166 ### This is left over from when diffs were composed of a single skycell 167 ### When we're not too busy, it should be deleted in favour of: 168 ### magicRun JOIN diffSkyfile USING(diff_id) WHERE diffSkyfile.fault = 0 AND diffSkyfile.quality = 0 166 169 foreach my $diff_skyfile (@$inputs) { 167 170 my $skycell_id = $diff_skyfile->{skycell_id}; … … 171 174 } 172 175 my $diff_id = $diff_skyfile->{diff_id}; 173 my $command = "$magictool -addinputskyfile -magic_id $magic_id -diff_id $diff_id"; 174 $command .= " -node $skycell_id"; 176 my $command = "$magictool -addinputskyfile"; 177 $command .= " -magic_id $magic_id"; 178 $command .= " -node $skycell_id"; 175 179 $command .= " -dbname $dbname" if $dbname; 176 180 -
branches/pap_magic/ippScripts/scripts/magic_process.pl
r23966 r24149 37 37 38 38 # Parse the command-line arguments 39 my ($magic_id, $node, $camera, $dbname, $outroot, $ template_uri, $save_temps, $verbose, $no_update, $no_op, $logfile);39 my ($magic_id, $node, $camera, $dbname, $outroot, $save_temps, $verbose, $no_update, $no_op, $logfile); 40 40 41 41 GetOptions( … … 45 45 'dbname=s' => \$dbname, # Database name 46 46 'outroot=s' => \$outroot, # Output root name 47 'template_uri=s' => \$template_uri,# uri of diff template48 47 'save-temps' => \$save_temps, # Save temporary files? 49 48 'verbose' => \$verbose, # Print stuff? … … 59 58 defined $node and 60 59 defined $camera and 61 defined $outroot and 62 defined $template_uri; 60 defined $outroot; 63 61 64 62 my $ipprc = PS::IPP::Config->new( $camera ) or my_die( "Unable to set up", $magic_id, $node, $PS_EXIT_CONFIG_ERROR ); # IPP configuration … … 138 136 } 139 137 140 my $template = $ipprc->file_resolve($template_uri);141 &my_die("failed to resolve template _uri: $template_uri", $magic_id, $node, $PS_EXIT_DATA_ERROR)142 if !($template);138 my $template = resolve_template($innode); 139 &my_die("failed to resolve template", $magic_id, $node, $PS_EXIT_DATA_ERROR) 140 unless defined $template; 143 141 144 142 $command .= " --detect --image $image --mask $mask --weight $weight -k $template"; … … 189 187 foreach my $innode (@$inputs) { 190 188 # root for inputs from previous stage 191 my $in_ uri = $innode->{uri};192 print $sfh "$in_ uri\n";193 194 cat_list_to_list($in_fh, $in_ uri, "input.list");189 my $in_path_base = $innode->{magic_path_base}; 190 print $sfh "$in_path_base\n"; 191 192 cat_list_to_list($in_fh, $in_path_base, "input.list"); 195 193 # build input lists by combining the lists from 196 194 # previous stages 197 cat_list_to_list($ifh, $in_ uri, "image.list");198 cat_list_to_list($mfh, $in_ uri, "mask.list");199 cat_list_to_list($wfh, $in_ uri, "weight.list");195 cat_list_to_list($ifh, $in_path_base, "image.list"); 196 cat_list_to_list($mfh, $in_path_base, "mask.list"); 197 cat_list_to_list($wfh, $in_path_base, "weight.list"); 200 198 } 201 199 close $in_fh; … … 241 239 $command .= " -magic_id $magic_id"; 242 240 $command .= " -node $node"; 243 $command .= " - uri$outroot";241 $command .= " -path_base $outroot"; 244 242 $command .= " -dbname $dbname" if defined $dbname; 245 243 … … 307 305 sub cat_list_to_list { 308 306 my $out = shift; # output file handle 309 my $ uri = shift; # urito append ...307 my $path_base = shift; # path_base to append ... 310 308 my $extension = shift; # ... the extension to 311 309 312 my $filename = "$ uri.$extension";310 my $filename = "$path_base.$extension"; 313 311 314 312 my $in; … … 319 317 } 320 318 321 sub resolve_inputs {322 319 sub resolve_inputs 320 { 323 321 my $node = shift; 324 my $input_base = $node->{path_base}; 325 326 my $image = $ipprc->file_resolve($ipprc->filename("PPSUB.OUTPUT", $input_base)); 327 my $mask = $ipprc->file_resolve($ipprc->filename("PPSUB.OUTPUT.MASK", $input_base)); 328 my $weight= $ipprc->file_resolve($ipprc->filename("PPSUB.OUTPUT.VARIANCE", $input_base)); 329 330 return ($image, $mask, $weight); 322 my $input_base = $node->{diff_path_base}; 323 324 my ($image, $mask, $variance); # Names to return 325 if ($node->{inverse}) { 326 $image = "PPSUB.INVERSE"; 327 $mask = "PPSUB.INVERSE.MASK"; 328 $variance = "PPSUB.INVERSE.VARIANCE"; 329 } else { 330 $image = "PPSUB.OUTPUT"; 331 $mask = "PPSUB.OUTPUT.MASK"; 332 $variance = "PPSUB.OUTPUT.VARIANCE"; 333 } 334 335 $image = $ipprc->file_resolve($ipprc->filename($image, $input_base)); 336 $mask = $ipprc->file_resolve($ipprc->filename($mask, $input_base)); 337 $variance= $ipprc->file_resolve($ipprc->filename($variance, $input_base)); 338 339 return ($image, $mask, $variance); 340 } 341 342 sub resolve_template 343 { 344 my $node = shift; 345 346 my $image; # Name of template to return 347 my $path_base; # Base name for name 348 if (defined $node->{warp_path_base} and $node->{warp_path_base} ne "NULL") { 349 $path_base = $node->{warp_path_base}; 350 $image = "PSWARP.OUTPUT"; 351 } elsif (defined $node->{stack_path_base} and $node->{stack_path_base} ne "NULL") { 352 $path_base = $node->{stack_path_base}; 353 $image = "PPSTACK.OUTPUT"; 354 } else { 355 return undef; 356 } 357 358 $image = $ipprc->file_resolve($ipprc->filename($image, $path_base)); 359 360 return $image 331 361 } 332 362 -
branches/pap_magic/ippTasks/magic.pro
r24098 r24149 280 280 book getword magicToProcess $pageName camera -var CAMERA 281 281 book getword magicToProcess $pageName workdir -var WORKDIR_TEMPLATE 282 book getword magicToProcess $pageName template_uri -var TEMPLATE_URI283 282 book getword magicToProcess $pageName dbname -var DBNAME 284 283 … … 302 301 mkdir $outpath 303 302 304 $run = magic_process.pl --magic_id $MAGIC_ID --camera $CAMERA --node $NODE --outroot $outroot -- template_uri $TEMPLATE_URI --logfile $logfile303 $run = magic_process.pl --magic_id $MAGIC_ID --camera $CAMERA --node $NODE --outroot $outroot --logfile $logfile 305 304 add_standard_args run 306 305 -
branches/pap_magic/ippTools/share/magictool_inputs.sql
r23886 r24149 1 SELECT * 2 FROM ( 3 -- Single skycells 1 -- Get input details for a magic node 4 2 SELECT 5 3 magicRun.magic_id, 6 magicRun.state, 7 magicInputSkyfile.node, 8 diffSkyfile.diff_id, 9 diffSkyfile.uri, 10 diffSkyfile.path_base, 11 diffSkyfile.fault, 12 diffSkyfile.quality 4 magicRun.inverse, -- Using the inverse subtraction? 5 magicRun.diff_id, 6 magicInputs.node, 7 -- Only one of diff_path_base and magic_path_base should be non-NULL 8 -- If diff_path_base is non-NULL, then only one of warp_path_base and stack_path_base should be non-NULL 9 magicInputs.diff_path_base, -- path_base for the diff (if any) 10 magicInputs.warp_path_base, -- path_base for the template warp (if any) 11 magicInputs.stack_path_base, -- path_base for the template stack (if any) 12 magicInputs.magic_path_base -- path_base for child nodes (if any) 13 13 FROM magicRun 14 JOIN magicInputSkyfile 15 USING(magic_id) 16 JOIN diffSkyfile 17 ON magicInputSkyfile.diff_id = diffSkyfile.diff_id 18 AND magicInputSkyfile.node = diffSkyfile.skycell_id 19 UNION 20 -- Merged skycells 21 SELECT 22 magicRun.magic_id, 23 magicRun.state, 24 magicTree.node, 25 0, -- no diff_id 26 magicNodeResult.uri, 27 NULL, -- magicNodeResult doesn't have a path_base 28 magicNodeResult.fault, 29 0 as quality 30 FROM magicTree 31 JOIN magicRun 32 USING(magic_id) 33 JOIN magicNodeResult 34 ON magicTree.magic_id = magicNodeResult.magic_id 35 AND magicTree.dep = magicNodeResult.node 36 ) as Foo 37 WHERE 38 fault = 0 39 AND quality = 0 14 JOIN ( 15 -- Single skycells: have uri=NULL 16 SELECT 17 magic_id, 18 magicRun.diff_id, 19 skycell_id AS node, 20 diffSkyfile.path_base AS diff_path_base, 21 warpSkyfile.path_base AS warp_path_base, 22 stackSumSkyfile.path_base AS stack_path_base, 23 NULL AS magic_path_base 24 FROM magicRun 25 JOIN magicTree USING(magic_id) 26 JOIN magicInputSkyfile USING(magic_id, node) 27 JOIN diffRun USING(diff_id) 28 JOIN diffSkyfile 29 ON diffSkyfile.diff_id = magicRun.diff_id 30 AND diffSkyfile.skycell_id = magicInputSkyfile.node 31 JOIN magicNodeResult USING(magic_id, node) 32 JOIN ( 33 -- Template for non-inverse 34 SELECT 35 magic_id, 36 skycell_id, 37 warp1 AS warp_id, 38 stack1 AS stack_id 39 FROM magicRun 40 JOIN diffInputSkyfile USING(diff_id) 41 WHERE magicRun.inverse = 0 42 -- WHERE hook (magicRun.magic_id, diffInputSkyfile.skycell_id) %s 43 UNION 44 -- Template for inverse 45 SELECT 46 magic_id, 47 skycell_id, 48 warp2 AS warp_id, 49 stack2 AS stack_id 50 FROM magicRun 51 JOIN diffInputSkyfile USING(diff_id) 52 WHERE magicRun.inverse = 1 53 -- WHERE hook (magicRun.magic_id, diffInputSkyfile.skycell_id) %s 54 ) AS diffTemplates USING(magic_id, skycell_id) 55 LEFT JOIN warpSkyfile USING(warp_id, skycell_id) 56 LEFT JOIN stackSumSkyfile USING(stack_id) 57 -- WHERE hook (magicRun.magic_id, magicTree.node) %s 58 UNION 59 -- Merged skycells: have diff_id=0, various_path_base=NULL 60 SELECT 61 magicTree.magic_id, 62 0 AS diff_id, 63 magicTree.dep, 64 NULL AS diff_path_base, 65 NULL AS warp_path_base, 66 NULL AS stack_path_base, 67 magicNodeResult.path_base 68 FROM magicTree 69 JOIN magicRun USING(magic_id) 70 JOIN magicNodeResult 71 ON magicTree.magic_id = magicNodeResult.magic_id 72 AND magicTree.dep = magicNodeResult.node 73 -- WHERE hook (magicRun.magic_id, magicTree.node) %s 74 ) AS magicInputs USING(magic_id) -
branches/pap_magic/ippTools/share/magictool_inputskyfile.sql
r23389 r24149 1 1 SELECT 2 2 magicInputSkyfile.*, 3 diffSkyfile.uri 3 magicRun.inverse, 4 diffSkyfile.path_base 4 5 FROM magicRun 5 JOIN magicInputSkyfile 6 USING(magic_id) 6 JOIN magicInputSkyfile USING(magic_id) 7 7 JOIN diffSkyfile 8 8 ON magicInputSkyfile.diff_id = diffSkyfile.diff_id -
branches/pap_magic/ippTools/share/magictool_toprocess_inputs.sql
r23971 r24149 1 SELECT * FROM 2 (SELECT 1 SELECT 3 2 magicTree.*, 3 magicRun.workdir, 4 4 rawExp.exp_id, 5 5 rawExp.camera, 6 -- diffSkyfile.path_base,7 magicRun.workdir,8 6 -- convert magic_id into a boolean value (1 or 0) 9 7 -- note that the type stays a 64 bit int 10 magicNodeResult.magic_id IS TRUE as done, 11 magicNodeResult.fault IS TRUE as bad, 12 warpSkyfile.uri as template_uri 8 magicNodeResult.magic_id IS TRUE AS done, 9 magicNodeResult.fault IS TRUE AS bad 13 10 FROM magicTree 14 11 JOIN magicRun USING(magic_id) 15 JOIN magicInputSkyfile USING(magic_id, node)16 JOIN diffSkyfile17 ON magicInputSkyfile.diff_id = diffSkyfile.diff_id18 AND magicInputSkyfile.node = diffSkyfile.skycell_id19 JOIN diffInputSkyfile20 ON diffSkyfile.diff_id = diffInputSkyfile.diff_id21 AND diffSkyfile.skycell_id = diffInputSkyfile.skycell_id22 JOIN warpSkyfile23 ON diffInputSkyfile.warp2 = warpSkyfile.warp_id24 AND diffInputSkyfile.skycell_id = warpSkyfile.skycell_id25 12 JOIN rawExp USING(exp_id) 26 13 LEFT JOIN magicNodeResult … … 31 18 AND magicNodeResult.magic_id IS NULL 32 19 AND magicNodeResult.node IS NULL 33 -- where hook 1 %s 34 UNION 35 SELECT 36 magicTree.*, 37 rawExp.exp_id, 38 rawExp.camera, 39 -- diffSkyfile.path_base, 40 magicRun.workdir, 41 -- convert magic_id into a boolean value (1 or 0) 42 -- note that the type stays a 64 bit int 43 magicNodeResult.magic_id IS TRUE as done, 44 magicNodeResult.fault IS TRUE as bad, 45 stackSumSkyfile.uri as template_uri 46 FROM magicTree 47 JOIN magicRun USING(magic_id) 48 JOIN magicInputSkyfile USING(magic_id, node) 49 JOIN diffSkyfile 50 ON magicInputSkyfile.diff_id = diffSkyfile.diff_id 51 AND magicInputSkyfile.node = diffSkyfile.skycell_id 52 JOIN diffInputSkyfile 53 ON diffSkyfile.diff_id = diffInputSkyfile.diff_id 54 AND diffSkyfile.skycell_id = diffInputSkyfile.skycell_id 55 JOIN stackSumSkyfile 56 ON diffInputSkyfile.stack2 = stackSumSkyfile.stack_id 57 JOIN rawExp USING(exp_id) 58 LEFT JOIN magicNodeResult 59 ON magicTree.magic_id = magicNodeResult.magic_id 60 AND magicTree.node = magicNodeResult.node 61 WHERE 62 magicRun.state = 'new' 63 AND magicNodeResult.magic_id IS NULL 64 AND magicNodeResult.node IS NULL 65 -- where hook 2 %s 66 ) as foo 20 -- WHERE hook %s -
branches/pap_magic/ippTools/share/magictool_toprocess_tree.sql
r23971 r24149 1 1 SELECT 2 2 magicTree.*, 3 exp_id,4 camera,5 3 magicRun.workdir, 4 rawExp.exp_id, 5 rawExp.camera, 6 6 -- convert magic_id into a boolean value (1 or 0) 7 7 -- note that the type stays a 64 bit int 8 magicNodeResult.magic_id IS TRUE as done, 9 magicNodeResult.fault IS TRUE as bad, 10 'notused' as template_uri 8 magicNodeResult.magic_id IS TRUE AS done, 9 magicNodeResult.fault IS TRUE AS bad, 11 10 FROM magicTree 12 11 JOIN magicRun USING(magic_id) … … 17 16 WHERE 18 17 magicRun.state = 'new' 19 -- wherehook %s18 -- WHERE hook %s 20 19 ORDER BY 21 20 magicRun.magic_id -
branches/pap_magic/ippTools/share/pxadmin_create_tables.sql
r24136 r24149 972 972 diff_id BIGINT, 973 973 skycell_id VARCHAR(64), 974 uri VARCHAR(255),975 974 path_base VARCHAR(255), 976 975 data_state VARCHAR(64), … … 1050 1049 magic_id BIGINT, 1051 1050 node VARCHAR(64), 1052 uriVARCHAR(255),1051 path_base VARCHAR(255), 1053 1052 fault SMALLINT, 1054 1053 PRIMARY KEY(magic_id, node), -
branches/pap_magic/ippTools/src/difftool.c
r24135 r24149 489 489 PXOPT_LOOKUP_S16(fault, config->args, "-fault", false, false); 490 490 PXOPT_LOOKUP_S16(quality, config->args, "-quality", false, false); 491 PXOPT_LOOKUP_STR(uri, config->args, "-uri", (fault == 0), false);492 491 PXOPT_LOOKUP_STR(path_base, config->args, "-path_base", (fault == 0), false); 493 492 … … 523 522 diff_id, 524 523 skycell_id, 525 uri,526 524 path_base, 527 525 "full", -
branches/pap_magic/ippTools/src/difftoolConfig.c
r24135 r24149 92 92 psMetadataAddS16(adddiffskyfileArgs, PS_LIST_TAIL, "-fault", 0, "set fault code", 0); 93 93 psMetadataAddS16(adddiffskyfileArgs, PS_LIST_TAIL, "-quality", 0, "set quality", 0); 94 psMetadataAddStr(adddiffskyfileArgs, PS_LIST_TAIL, "-uri", 0, "define URI of file", 0);95 94 psMetadataAddStr(adddiffskyfileArgs, PS_LIST_TAIL, "-path_base", 0, "define base output location", 0); 96 95 psMetadataAddF64(adddiffskyfileArgs, PS_LIST_TAIL, "-bg", 0, "define exposure background", NAN); -
branches/pap_magic/ippTools/src/magictool.c
r24136 r24149 131 131 psMetadata *diffWhere = psMetadataAlloc(); // WHERE conditions for diffRuns 132 132 PXOPT_COPY_STR(config->args, diffWhere, "-diff_label", "diffRun.label", "=="); 133 PXOPT_COPY_S64(config->args, diffWhere, "-diff_id", "diff_id", "=="); 133 134 134 135 psMetadata *queryWhere = psMetadataAlloc(); // WHERE conditions for everything else … … 391 392 // required 392 393 PXOPT_LOOKUP_S64(magic_id, config->args, "-magic_id", true, false); 393 PXOPT_LOOKUP_S64(diff_id, config->args, "-diff_id", true, false);394 394 PXOPT_LOOKUP_STR(node, config->args, "-node", true, false); 395 395 … … 397 397 config->dbh, 398 398 magic_id, 399 diff_id,400 399 node 401 400 ); … … 612 611 PS_ASSERT_PTR_NON_NULL(config, false); 613 612 614 psMetadata *where = psMetadataAlloc(); 615 PXOPT_COPY_S64(config->args, where, "-magic_id", "magic_id", "=="); 616 PXOPT_COPY_STR(config->args, where, "-node", "node", "=="); 613 // Regrettably, there are multiple WHERE hooks which call the same things different names 614 psMetadata *templatesWhere = psMetadataAlloc(); // WHERE for selecting template 615 psMetadata *magicWhere = psMetadataAlloc(); // WHERE for selecting magic runs 616 psMetadata *finalWhere = psMetadataAlloc(); // WHERE at end 617 618 PXOPT_COPY_S64(config->args, templatesWhere, "-magic_id", "magicRun.magic_id", "=="); 619 PXOPT_COPY_STR(config->args, templatesWhere, "-node", "diffInputSkyfile.skycell_id", "=="); 620 621 PXOPT_COPY_S64(config->args, magicWhere, "-magic_id", "magicRun.magic_id", "=="); 622 PXOPT_COPY_STR(config->args, magicWhere, "-node", "magicTree.node", "=="); 623 624 PXOPT_COPY_S64(config->args, finalWhere, "-magic_id", "magicRun.magic_id", "=="); 625 PXOPT_COPY_STR(config->args, finalWhere, "-node", "magicInputs.node", "=="); 617 626 618 627 PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false); … … 625 634 } 626 635 627 if (psListLength(where->list)) { 628 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 629 psStringAppend(&query, " AND %s", whereClause); 636 psString templatesWhereStr = psStringCopy(""); // WHERE for selecting template 637 psString magicWhereStr = psStringCopy(""); // WHERE for selecting magic runs 638 639 if (psListLength(templatesWhere->list)) { 640 psString whereClause = psDBGenerateWhereConditionSQL(templatesWhere, NULL); 641 psStringAppend(&templatesWhereStr, "\nAND %s", whereClause); 630 642 psFree(whereClause); 631 643 } 632 psFree(where); 644 psFree(templatesWhere); 645 646 if (psListLength(magicWhere->list)) { 647 psString whereClause = psDBGenerateWhereConditionSQL(magicWhere, NULL); 648 psStringAppend(&magicWhereStr, "\nWHERE %s", whereClause); 649 psFree(whereClause); 650 } 651 psFree(magicWhere); 652 653 if (psListLength(finalWhere->list)) { 654 psString whereClause = psDBGenerateWhereConditionSQL(finalWhere, NULL); 655 psStringAppend(&query, "\nWHERE %s", whereClause); 656 psFree(whereClause); 657 } 658 psFree(finalWhere); 633 659 634 660 // treat limit == 0 as "no limit" … … 639 665 } 640 666 641 if (!p_psDBRunQuery(config->dbh, query)) { 642 psError(PS_ERR_UNKNOWN, false, "database error"); 667 if (!p_psDBRunQueryF(config->dbh, query, 668 templatesWhereStr, templatesWhereStr, 669 magicWhereStr, magicWhereStr)) { 670 psError(PS_ERR_UNKNOWN, false, "database error"); 671 psFree(templatesWhereStr); 672 psFree(magicWhereStr); 643 673 psFree(query); 644 674 return false; 645 675 } 676 psFree(templatesWhereStr); 677 psFree(magicWhereStr); 646 678 psFree(query); 647 679 … … 964 996 965 997 // optional 966 PXOPT_LOOKUP_STR( uri, config->args, "-uri", false, false);998 PXOPT_LOOKUP_STR(path_base, config->args, "-path_base", false, false); 967 999 968 1000 // default values … … 972 1004 magic_id, 973 1005 node, 974 uri,1006 path_base, 975 1007 fault 976 1008 )) { -
branches/pap_magic/ippTools/src/magictoolConfig.c
r24136 r24149 53 53 psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-dvodb", 0, "define dvodb", NULL); 54 54 psMetadataAddTime(definebyqueryArgs, PS_LIST_TAIL, "-registered", 0, "time detrend run was registered", now); 55 psMetadataAddS64(definebyqueryArgs, PS_LIST_TAIL, "-diff_id", 0, "search diff_id", 0); 55 56 psMetadataAddS64(definebyqueryArgs, PS_LIST_TAIL, "-exp_id", 0, "search exp_id", 0); 56 57 psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-diff_label", 0, "select diff label", NULL); … … 80 81 psMetadata *addinputskyfileArgs = psMetadataAlloc(); 81 82 psMetadataAddS64(addinputskyfileArgs, PS_LIST_TAIL, "-magic_id", 0, "define magictool ID (required)", 0); 82 psMetadataAddS64(addinputskyfileArgs, PS_LIST_TAIL, "-diff_id", 0, "define difftool ID (required)", 0);83 83 psMetadataAddStr(addinputskyfileArgs, PS_LIST_TAIL, "-node", 0, "define symbolic node name (required)", NULL); 84 84 … … 127 127 psMetadataAddS64(addresultArgs, PS_LIST_TAIL, "-magic_id", 0, "define magictool ID (required)", 0); 128 128 psMetadataAddStr(addresultArgs, PS_LIST_TAIL, "-node", 0, "define symbolic node name (required)", NULL); 129 psMetadataAddStr(addresultArgs, PS_LIST_TAIL, "- uri", 0, "define URI", NULL);129 psMetadataAddStr(addresultArgs, PS_LIST_TAIL, "-path_base", 0, "define path_base", NULL); 130 130 psMetadataAddS16(addresultArgs, PS_LIST_TAIL, "-fault", 0, "set fault code", 0); 131 131
Note:
See TracChangeset
for help on using the changeset viewer.
