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 , 17 years ago
| Status: | new → accepted |
|---|
comment:2 by , 17 years ago
| Resolution: | → fixed |
|---|---|
| Status: | accepted → closed |
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.

How about this:
SELECT warp1, warp2
FROM variousTables
LEFT JOIN diffRun
WHERE diffRun.diff_id IS NULL;