Icon View Incident Report

Serious Serious
Reported By: Luis Concepcion
Reported On: 3/15/2019
For: Version 4.48 Build 2
# 4736 JOIN Conditions with Mismatched Types Can Cause Incorrect Results

I'm afraid there's another problem with recent DBISAM releases. This is easier to explain, and you can reproduce it with database system utility too.

I have used database system utility 4.30 B7 and 4.48 B2. It works fine in the old version, but some SQL queries are ignoring some results.

select movim.FACTURA,movim.MOV,cpagos.FACTURA,cpagos.MOV,cpagos.FPAGO,fpago.CODIGO,fpago.FORMAPAGO
from movim,cpagos,fpago
where upper(movim.MOV) = upper(cpagos.MOV) and movim.FACTURA = cpagos.FACTURA and movim.SERIE = cpagos.SERIE and cpagos.FPAGO = fpago.CODIGO



Comments Comments
The issue was with the FACTURA condition, which was comparing an integer and a float field. DBISAM was not handling such comparisons properly in the newly-updated join handling functionality introduced in 4.46.


Resolution Resolution
Fixed Problem on 3/19/2019 in version 4.48 build 3


Products Affected Products Affected
DBISAM Additional Software and Utilities
DBISAM ODBC Client-Server
DBISAM ODBC Client-Server with Source
DBISAM ODBC Standard
DBISAM ODBC Standard with Source
DBISAM ODBC Trial
DBISAM VCL Client-Server
DBISAM VCL Client-Server with Source
DBISAM VCL Standard
DBISAM VCL Standard with Source
DBISAM VCL Trial

Image