For problem 1: the order of records from a SELECT is never promised to be
any particular order unless you specify one with ORDER BY.  All relational
databases behave this way.  Leaving the order up to the database allows them
to be returned in whatever order is the fastest.  It isn't surprising that
3.2.5 returns them differently than 3.2.2, considering the breadth of
changes in the query optimizer between the two releases.

--Ned.
http://nedbatchelder.com
 

-----Original Message-----
From: mr sql [mailto:[EMAIL PROTECTED] 
Sent: Monday, 29 August, 2005 8:19 AM
To: sqlite-users@sqlite.org
Subject: [sqlite] problems with 3.2.5

I have encountered some problems when upgrading to 3.2.5 from 3.2.2.  I am
using the sqlite3.dll from a delphi application (windows xp), not the
sqlite3.exe
 
1. Order of returned records in a SELECT sometimes is not the same as 3.2.2,
when statement does not have an "ORDER BY".  As an inmediate solution I
added the "order by" clause in every query, but am wandering whether there
is an alternative.
 
2. Performance (time to retrieve the same set of records, using the same
SELECT statement on both) is slightly slower on 3.2.5 than 3.2.2.  Is there
any parameter that changed or that I need to set on this release?
 
3. When using the ":memory:" database, I attached a physical database and
ran a select statement which joined one table from the ":memory:" database
to two tables from the physical one.  I use WHERE instead of JOINs.  On
3.2.5 the query freezes, on 3.2.2 it works fine.  Is there anything special
I need to setup to work with attached databases on 3.2.5?
 
jp


                
---------------------------------
 Start your day with Yahoo! - make it your home page 

Reply via email to