You probably mean 3.6.8. Can you please rebuild using version 3.6.9
since 3.6.8 contains an obscure bug:
On Wed, Jan 14, 2009 at 5:12 AM, D. Richard Hipp <d...@hwaci.com> wrote:
> Internal stress testing revealed an obscure bug in the SQLite query
> optimizer of version 3.6.8. Since that release has only been out for
> two days, and since the fix is simple, we thought it best to go ahead
> and do another release that patches the problem. SQLite version 3.6.9
> is now available on the SQLite website:
>
> http://www.sqlite.org/
>
> D. Richard Hipp
Kind regards,
Markus
Python 2.5 is compiled using MS Visual Studio.NET 2003. (The compiler
has the version 13.10 and the runtime libraries for C and C++ are
msvcr71.dll and msvcp71.dll, respectively). Since Python is only C is
only needs msvcr71.dll.
Your builts of sqlite and ICU depend on MSVCR90.DLL (I checked using
http://www.dependencywalker.com/ which shows, beside other things, the
DLLs an EXE or DLL depends on).
IMO there should only be used one runtime library. Problems may arise
having two stacks for example. Either you should recompile using VC
2003, or the Windows binary of web2py should switch to Python 2.6
which is also compiled with MSVC2008.
Kind regards,
Markus
also note, that the unicode-aware LIKE operator does not come for
free. A simple
SELECT * FROM entry WHERE note LIKE '%test%'
on a moderately large DB of about 100 MB of data is more than three
times slower using the ICU extension than without it.
1.14 sec with sqlite3.dll which ships with Python 2.5
3.52 sec with your compiled sqlite3.dll and the icu*.dlls
One should take this (and the currently different MSVCR DLLs) into
account before including it into the official Windows binary
distribution of web2py. I think it depends on the situation if it is
worth the benefit of an unicode aware LIKE operator.
Kind regards,
Markus