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