Hi,
The interop.c in SQLite since version 3.6.18 and latest 3.6.23.1 new vdbeCursor structure no longer contains iKey and pseudoTable property. Paul, I suppose you commented the following code to compile:
else if(pC->pseudoTable)
{
*prowid = pC->iKey;
}
However, this will cause problems to SQLite logic itself and I've tested with that modification, querying data will have problem.I suppose the effort required to modify interop.c is quite huge that's why until now the author of System.Data.SQLite .NET did not release any new version. I really hope the author can do something to fix the interop.c. It's not written by me, so it will take considerable amount of effort to go through and fix the code for me. I had to stick with 1.0.65.0 (3.6.16).
The reason I stick with 3.6.16 is due to performance improvement although there could be serious bugs compared to older version like 3.6.13. My system uses basic features of SQLite only, so I guess I won't be hitting any of thoes critical bugs =) At www.sqlite.org, they recommended to stick with 3.6.12, 3.6.13 or 3.6.22 or 3.6.23 if not using the latest. If you guys want to get a build for SQLite .NET, just grab the amalgamation source from sqlite.org website:
http://www.sqlite.org/sqlite-amalgamation-3_6_13.zip
Replace those source files inside the SQLite-1.0.65.0-source\SQLite.Interop\src folder to compile. You might encounter compile error when switching to Release mode, go to the test project and remove System.Data.SQLite reference then readd from the project tab to let it reference to the correct new build.
|
|
Current Status
- Version
3.6.23.1
of SQLite is recommended for all new development. Upgrading from
version 3.6.12, 3.6.13, 3.6.22, and 3.6.23 is optional.
Upgrading from all other SQLite versions is recommended.
|