On 25 Nov 2010, at 14:06, Dan Kennedy wrote:

> On 11/25/2010 03:45 PM, Philip Graham Willoughby wrote:
>> Hi all,
>> 
>> I'm noticing a new failure with SQLite 3.7.3 as compared to the previous 
>> version I was using, 3.6.23.1.
> 
> Are you able to share the database and the query that causes
> the assert() to fail?

Here is a database and the query which causes the assert to fail:

Database:   http://dl.dropbox.com/u/10341475/SQLiteAssertionFailure/Test.base
Query SQL:  
http://dl.dropbox.com/u/10341475/SQLiteAssertionFailure/TestQuery.sql

If for any reason you wanted to recreate the DB the SQL to do so are these:

Schema SQL: 
http://dl.dropbox.com/u/10341475/SQLiteAssertionFailure/testSchema.sql
Data SQL:   
http://dl.dropbox.com/u/10341475/SQLiteAssertionFailure/TestValues.sql

My original schema is somewhat more complex so I have cut out some parts which 
are not relevant to this problem. In attempting to create a cut-down version I 
also tried removing players 2 and 3 from the CardsPlayers and CardsPlayer[AB] 
tables, which caused the query to run successfully. I cannot tell from that 
whether the problem is triggered by the presence of any values in those tables 
or by the presence of relevant values in those tables.

With a new empty database and these SQL statements with SQLite version 3.6.12 
(or 3.7.3 without SQLITE_DEBUG) I see this:
----------------
SQLite version 3.6.12
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .read ./testSchema.sql
sqlite> .read ./TestValues.sql
sqlite> .read ./TestQuery.sql
Otterbourne Golf Course|Jane Doe|Assumed Name
sqlite> 

With a new empty database and these SQL statements with SQLite version 3.7.3 
(with SQLITE_DEBUG) I see this:
----------------
SQLite version 3.7.3
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .read ./testSchema.sql
sqlite> .read ./TestValues.sql
sqlite> .read ./TestQuery.sql
Assertion failed: (memIsValid(&u.bq.r.aMem[i])), function sqlite3VdbeExec, file 
sqlite3.c, line 64507.
Abort

SQLite 3.7.3 fails in that manner when I run just the query on the 3.6.12 
database; similarly SQLite 3.6.12 gets the right answer when it queries the 
3.7.3 database. I infer from this that the data stored is fine it's just a 
problem at query-time.

Best Regards,

Phil Willoughby
-- 
Managing Director, StrawberryCat Limited

StrawberryCat Limited is registered in England and Wales with Company No. 
7234809.

The registered office address of StrawberryCat Limited is:

107 Morgan Le Fay Drive
Eastleigh
SO53 4JH

_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to