Details
-
Type:
Improvement
-
Status:
Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 0.9.6
-
Fix Version/s: 1.0.1
-
Component/s: JDO queries
-
Labels:None
-
Environment:SQLServer 2000, Windows 2000
-
Number of attachments :
Description
From the SQL Server Books online help:
"In earlier versions of Microsoft® SQL Server™ 2000, left and right outer join conditions were specified in the WHERE clause using the = and = operators. In some cases, this syntax results in an ambiguous query that can be interpreted in more than one way. SQL-92 compliant outer joins are specified in the FROM clause and do not result in this ambiguity. Because the SQL-92 syntax is more precise, detailed information about using the old Transact-SQL outer join syntax in the WHERE clause is not included with this release. The syntax may not be supported in a future version of SQL Server. Any statements using the Transact-SQL outer joins should be changed to use the SQL-92 syntax."
As mentioned in the excerpt, future version of SQL Server may not support the *=. Are there any plans in a future release to modify the SQLServerQueryExpression class to use LEFT OUTER JOIN in the FROM clause instead of *= in the WHERE clause?
We are planing a big refactoring of the SQL generation for the 1.1 release. At that point we'll take care on all known aspects of the SQL generation. If you like to see such changes to apear in an earlier release we are open to review your patch
.
Having said that we search for someone how will run our CTF test suite of CVS head against MSSQL server after big changes have been commited.