Menu

#281 Comparisons between two column headlines are failing

v1.1.x
fixed
None
v1.1.0
Bug Fix
2018-03-01
2018-01-31
Erik Hänel
No

If one wants to compare two column headers if they're equal, the expression fails with throwing an "empty expression" exception.

Analysis:
In fact, the issue results from a legacy copy-paste error. The algorithm starts searching for cache expressions at position 0 and increments this position every now and then. However, it's possible, that a cache is found at a higher position than the current one, so the position is shifted to there, jumping over all other occurences of other caches.

The fix should simply reset the position for every cache. This requires to exchange the for and while loops in the algorithm.

Implementation:
The fix was implemented as proposed by the analysis. Implementation tests were passed successfully.

Documentation:
Not needed - Bug fix.

Tests:
The fix was added to the automatic tests. No deviations detected. Bug fix implemented successfully.

Discussion

  • Erik Hänel

    Erik Hänel - 2018-01-31
    • status: open --> accepted
     
  • Erik Hänel

    Erik Hänel - 2018-01-31
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -1 +1,9 @@
     If one wants to compare two column headers if they're equal, the expression fails with throwing an "empty expression" exception.
    +
    +**Analysis:**
    +
    +**Implementation:**
    +
    +**Documentation:**
    +
    +**Tests:**
    
    • status: accepted --> analyzing
     
  • Erik Hänel

    Erik Hänel - 2018-01-31
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -1,6 +1,9 @@
     If one wants to compare two column headers if they're equal, the expression fails with throwing an "empty expression" exception.
    
     **Analysis:**
    +In fact, the issue results from a legacy copy-paste error. The algorithm starts searching for cache expressions at position 0 and increments this position every now and then. However, it's possible, that a cache is found at a higher position than the current one, so the position is shifted to there, jumping over all other occurences of other caches.
    +
    +The fix should simply reset the position for every cache. This requires to exchange the `for` and `while` loops in the algorithm.
    
     **Implementation:**
    
    • status: analyzing --> implementing
     
  • Erik Hänel

    Erik Hänel - 2018-01-31
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -6,7 +6,9 @@
     The fix should simply reset the position for every cache. This requires to exchange the `for` and `while` loops in the algorithm.
    
     **Implementation:**
    +The fix was implemented as proposed by the analysis. Implementation tests were passed successfully.
    
     **Documentation:**
    +Not needed - Bug fix.
    
     **Tests:**
    
    • status: implementing --> testing
     
  • Erik Hänel

    Erik Hänel - 2018-03-01
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -12,3 +12,4 @@
     Not needed - Bug fix.
    
     **Tests:**
    +The fix was added to the automatic tests. No deviations detected. Bug fix implemented successfully.
    
    • status: testing --> fixed
     

Anonymous
Anonymous

Add attachments
Cancel





MongoDB Logo MongoDB