Icon View Incident Report

Serious Serious
Reported By: Heiko Knuttel
Reported On: 3/18/2010
For: Version 2.03 Build 9
# 3179 IN Operator Not Working Properly

I encountered a problem with a "where...in". the result set shows rows not matching the filter criteria.

"aufnr" is an indexed integer, "pruefberichte" an indexed char(100).

The result set shown is the one you should get if you left the "where...in" part away. It seems under certain circumstances this part is always "true".

The circumstances are: ("Hit" is a aufnr that is present in messwerte, "NoHit" is not present).

- where aufnr in (Hit) -> that works.
- where aufnr in (NoHit) -> that works.
- where aufnr in (Hit, Nohit, ...) -> that works.
- where aufnr in (NoHit, Hit, ...) -> is always true

The error shows only in combination with the "and pruefberichte=" part, the result set of the "where in" part alone is correct.

select aufnr, pruefberichte from messwerte
where aufnr in (0, -26818)
and pruefberichte='NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN'+
                  'NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN'



Comments Comments
The problem was due to a bug in the newly-revamped set handling code introduced in 2.03 B7, and only affects the IN operator.


Resolution Resolution
Fixed Problem on 3/20/2010 in version 2.03 build 10


Products Affected Products Affected
ElevateDB Additional Software and Utilities
ElevateDB DAC Client-Server
ElevateDB DAC Client-Server with Source
ElevateDB DAC Standard
ElevateDB DAC Standard with Source
ElevateDB DAC Trial
ElevateDB LCL Standard with Source
ElevateDB VCL Client-Server
ElevateDB VCL Client-Server with Source
ElevateDB VCL Standard
ElevateDB VCL Standard with Source
ElevateDB VCL Trial

Image