IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Opened 17 years ago

Closed 17 years ago

#1237 closed defect (fixed)

diff warpwarp rerun check for label might not work

Reported by: eugene Owned by: Paul Price
Priority: high Milestone:
Component: ippTools Version:
Severity: major Keywords:
Cc:

Description

diff warpwarp is supposed to generate a new warpwarp for a given output label if the result entry for that warpwarp does not exist with the given label. I'm not sure the logic quite does this. Currently, the not(rerun) test is essentially:

select warp1, warp2

left join diffRun
where (diffRun.diff_id IS NULL OR diffRun.label != 'foo')

if I have no diffRun that matches the input warps, then this will results in a new diffRun (good).

if I have a single diffRun that matches the input warps with the label 'foo', the IS NULL part is false and label != foo is false, so this prevents the diffRun from being generated.

if I have a single diffRun that matches the input warps with a label other than 'foo', this will result in a new diffRun (IS NULL is false, but != foo is true).

BUT, if I have multiple matching diffRuns, including one that has the label 'foo' and others without the label 'foo', then this will still generate a new diffRun.

This seems like a case where getting the SQL to give the perfect result is more work than it is worth, while examining the output list after the fact may be more useful.

Change History (2)

comment:1 by Paul Price, 17 years ago

Status: newaccepted

How about this:

SELECT warp1, warp2
FROM variousTables
LEFT JOIN diffRun

ON diffRun.exp_id = inputRawExp.exp_id
AND diffRun.label = 'foo'

WHERE diffRun.diff_id IS NULL;

comment:2 by Paul Price, 17 years ago

Resolution: fixed
Status: acceptedclosed

I believe I've fixed this (using something similar to the above suggestion) while preparing for warp-warp magic runs, on branches/pap_magic, r24120.

Note: See TracTickets for help on using tickets.