Icon View Incident Report

Serious Serious
Reported By: Rod McCubbin
Reported On: 3/12/1999
For: Version 1.13 Build 1
# 338 SQL Is Sensitive to FROM Clause Join Order

When trying to prepare the StartsQuery I received an error " * (all columns) not allowed in a Where or Join Clause. Error 11949 SQL ". But there is no " * " in the where clause (see below)???? Later it tries to run the NullDivsQuery3 (see below) and produces the error message " internal join error. ...table correlation name is target of multiple join conditions in Where or Join Clause.... Error 11949 SQL". I don't
understand the error message but it is the same error number as the previous one.

{ Starts Query }

SELECT *
FROM Starts
WHERE 'Starts'.SorsRac_ID =:SorsRac_ID

{ Join Error Query }

SELECT Boats.Sail_No,
   Boat_Name,
   Classes.Class_ID,
   Classes.Class_Name,
   Members.Membr_CNam,
   Members.Membr_SNam,
   Members.Visitor_Q,
   Entr_Ser.Comp_ID,
   Entr_Ser.INITAL_HC1,
   Entr_Ser.INITAL_HC2,
   Entr_Ser.INITAL_HC3,
   Competor.Ref_No,
   Clas_Ser.Divisn_Cls
FROM Boats,
   Clas_Ser,
   Classes,
   Entr_Ser,
   Series,
   Members,
   Competor
WHERE Entr_Ser.Series_ID = :SeriesID and
   Clas_Ser.Series_ID = :SeriesID and
   Competor.Comp_ID = Entr_Ser.Comp_ID and   
   Boats.Boat_ID = Competor.Boat_ID and
   Classes.Class_ID = Boats.Class_ID and
   Members.Member_ID = Competor.Member_ID and
   Clas_Ser.Class_ID = Boats.Class_ID and
   Members.Visitor_Q  =:VisitorQ
ORDER BY Classes.Class_Name, Boats.Sail_No



Comments Comments
The problem with the StartsQuery was a parsing error for table correlation names. The problem with the joins was due to DBISAM not being able to handle dynamic re-ordering of the join orders to satisfy proper nested loops for processing the source tables. Both of these problems have been fixed.


Resolution Resolution
Fixed Problem on 5/15/1999 in version 1.14 build 1
Image