Beginning with SQLite 3.2.3, the query optimizer has had
the ability to reorder tables in the FROM clause if it thinks
that doing so will make the query run faster.  This has caused
a few problems for some folks.  To ameliorate those
difficulties, I have now modified the query optimizer so
that it will no longer reorder tables in a join if the join
is constructed using the CROSS keyword.  For additional
detail see

  http://www.sqlite.org/cvstrac/tktview?tn=1414
  http://www.sqlite.org/cvstrac/wiki?p=QueryPlans

Thoughtful feedback on this design choice will be appreciated.
I'd like to do a release of version 3.2.6 containing this and
other changes on or before September 16.

The rational behind using the CROSS keyword to disable an
optimization is that the CROSS keyword is perfectly
valid SQL syntax but nobody ever uses it so I figured 
we can put it to use to help control the optimizer without
creating any incompatibilities.
-- 
D. Richard Hipp <[EMAIL PROTECTED]>

Reply via email to