Bug #11576
Fix outer-join iteration handling for nullOuter.
100%
History
#1 Updated by Stefanel Pezamosca 25 days ago
- Description updated (diff)
This task covers the remaining outer-join query iteration issues that are not fixed by 10962a.
#10962 should address the duplication issue in #10803. The follow-up work should focus on the additional cases covered by #10803-23, where outer-join query iteration can return missing records rather than duplicated records.
#2 Updated by Stefanel Pezamosca 25 days ago
- Parent task deleted (
#10803)
#3 Updated by Stefanel Pezamosca 25 days ago
- % Done changed from 0 to 100
- Status changed from New to Internal Test
- File CompoundOuterJoinTest.cls added
- reviewer Alexandru Lungu added
I will upload CompoundOuterJoinTest.cls to testcases project after I add few more variations.
10803a was rebased to trunk revision 16623 (includes 10962a).
Last revision is 16627 and it contains the last changes for 10962a.
Test results with latest trunk (10962a):
└─ FWD Test ✔
└─ tests.CompoundOuterJoinTest ✔
├─ testOuterJoinQueryEef1 ✔
├─ testOuterJoinQueryEef2 ✔
├─ testOuterJoinQueryEee1 ✘ Expected: 1,1,?|1,1,1|1,2,1|2,1,?|2,1,2|2,2,2| but was: 1,1,?|1,2,1|2,1,?|2,2,2|
├─ testOuterJoinQueryEee2 ✘ Expected: 1,1,1|1,1,1|1,2,1|1,2,1|2,1,?|2,1,2|2,2,2| but was: 1,1,1|1,1,1|1,2,1|1,2,1|2,1,?|2,2,2|
├─ testOuterJoinQueryEfe1 ✘ Expected: 1,1,?|1,1,1|2,1,?|2,1,2| but was: 1,1,?|2,1,?|
├─ testOuterJoinQueryEfe2 ✘ Expected: 1,1,1|1,1,1|2,1,?|2,1,2| but was: 1,1,1|1,1,1|2,1,?|
├─ testOuterJoinQueryEff1 ✔
└─ testOuterJoinQueryEff2 ✘ Expected: 1,1,1|2,1,?| but was: 1,1,1|1,2,1|2,1,?|
Test results with trunk + 10803a:
└─ FWD Test ✔
└─ tests.CompoundOuterJoinTest ✔
├─ testOuterJoinQueryEef1 ✔
├─ testOuterJoinQueryEef2 ✔
├─ testOuterJoinQueryEee1 ✔
├─ testOuterJoinQueryEee2 ✔
├─ testOuterJoinQueryEfe1 ✔
├─ testOuterJoinQueryEfe2 ✔
├─ testOuterJoinQueryEff1 ✔
└─ testOuterJoinQueryEff2 ✘ Expected: 1,1,1|2,1,?| but was: 1,1,1|1,2,1|2,1,?|
I'm not sure what's the issue with testOuterJoinQueryEff2 yet.#5 Updated by Stefanel Pezamosca 22 days ago
- File CompoundOuterJoinTest.cls added
- Status changed from Internal Test to Review
└─ FWD Test ✔
└─ tests.CompoundOuterJoinTest ✔
├─ testOuterJoinQueryEef1 ✔
├─ testOuterJoinQueryEef2 ✔
├─ testOuterJoinQueryEef3 ✔
├─ testOuterJoinQueryEee1 ✔
├─ testOuterJoinQueryEee2 ✔
├─ testOuterJoinQueryEee3 ✔
├─ testOuterJoinQueryEfe1 ✔
├─ testOuterJoinQueryEfe2 ✔
├─ testOuterJoinQueryEfe3 ✔
├─ testOuterJoinQueryEff1 ✔
├─ testOuterJoinQueryEff2 ✔
├─ testOuterJoinQueryEff3 ✔
├─ testOuterJoinWithNullValue ✔
└─ testOuterJoinWithEmptySource ✔
I added a few more cases to CompoundOuterJoinTest.cls. And committed to 10803a revision 16629 a fix for testOuterJoinQueryEff2 ✘ Expected: 1,1,1|2,1,?| but was: 1,1,1|1,2,1|2,1,?|. The problem was the nested FIRST (optimized into a single sql) that doesn't have a where clause so the fix was to make QueryComponent.isJoinWithSubselect true when where clause (getFQL()) is null. Should I keep this change or revert it and merge only the nullOuter changes?
Please take a look. Do you want additional tests done for 10803a?