On Thu, Dec 8, 2011 at 12:25 PM, Alessandro Merolli <amero...@mwneo.com>wrote:

> Hi,
>
>        We've being working with SQLite version 3.6.22 in our project and
> we wish to upgrade it to the latest one. During the tests with the new
> library version, we noticed a strange behavior related to a trigger which
> updates the last inserted row. We where able to simplify the data model and
> produce a test case which can be executed using the sqlite3 shell....


This is a real problem that was introduced when we added recursive
triggers.  But it is very obscure and only comes up when you have really
complicated queries inside of triggers - queries that make use of
manifested views and/or automatic indices.  The trouble ticket is at
http://www.sqlite.org/src/info/7bbfb7d442 and the fix is checked in at
http://www.sqlite.org/src/info/557c69055a with additional changes at
http://www.sqlite.org/src/info/0064bab771 that fix related issues and
verify with assert() statements that similar kinds of problems do not
recur.  These changes will be in the next release.

Thanks for providing a test case.  That was very helpful in tracking down
the problem.



> Here are the outputs:
>
> Execution with latest SQLite 3.7.9:
> c:\>sqlite3shell.exe -init .\test_case.sql ":memory:"
> -- Loading resources from .\test_case.sql
> Expected result: 31|10
> Problematic result: 31|0
> 31|0
> SQLite version 3.7.9
> Enter ".help" for instructions
> Enter SQL statements terminated with a ";"
> sqlite> .quit
> c:\>
>
> Execution with latest SQLite 3.6.22:
> c:\>sqlite3shell.exe -init .\test_case.sql ":memory:"
> -- Loading resources from .\test_case.sql
> Expected result: 31|10
> Problematic result: 31|0
> 31|10
> SQLite version 3.6.22
> Enter ".help" for instructions
> Enter SQL statements terminated with a ";"
> sqlite> .quit
>
> We are using the amalgamation version of the source for both libraries and
> here are the compilation defines:
> TEMP_STORE=3
> SQLITE_THREADSAFE=2
> SQLITE_DEFAULT_CACHE_SIZE=**65568
> SQLITE_DEFAULT_TEMP_CACHE_**SIZE=65568
> SQLITE_MAX_ATTACHED=30
> SQLITE_ENABLE_COLUMN_METADATA
> SQLITE_ENABLE_UNLOCK_NOTIFY
>
> The error was also reproduced on the original library available for Ubuntu
> 10.10.
> Additional information is available in the test_case.sql script comments.
>
>        Thanks for the assistance.
>        Regards,
>        Alessandro Merolli.
>
>
>
> ______________________________**_________________
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-**bin/mailman/listinfo/sqlite-**users<http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users>
>



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

Reply via email to