[sqlite] Changes to VFS starting 3.8.3
On Thu, Mar 10, 2016 at 5:26 PM, Richard Hipp wrote: > Perhaps your in-memory VFS was relying on some unspecified behavior > that changed? Some tests finally led to the source of my problems. When I implemented the handlers of vfs interface before, I made xFileControl return SQLITE_ERROR instead of SQLITE_NOTFOUND. For whatever reasons sqlite versions below 3.8.3 allowed me to do this in some of the usage contexts. Today when I tested I saw that querying PRAGMA Encoding in 3.7.11 also gave an error even before any write-related queries. So in my initial case probably some minor logic change in 3.8.3 led to a critical xFileControl request while 3.8.2 was ok with the wrong implementation.
[sqlite] Changes to VFS starting 3.8.3
Thanks, I suspect there's indeed some special behavior not obvious at the moment. I'll try to gather some additional information if it's possible or detect this specific behavior On Thu, Mar 10, 2016 at 5:26 PM, Richard Hipp wrote: > On 3/10/16, Max Vlasov wrote: > > I have a compatibility problem with my vfs implementation of memory > > databases. > > > > As I see from the version history page that no specific vfs-related > changes > > for 3.8.3 were reported, only a major change that can affect structure > and > > vfs is initial common table expressions implementation. > > > > What are the changes that might trigger the change? > > Dunno. The changes to the unix VFS were minimal > ( > https://www.sqlite.org/src/fdiff?v1=f076587029285554=f3ed0e406cbf9c82=1 > ) > and likewise the windows VFS > ( > https://www.sqlite.org/src/fdiff?v1=4323dd0bac4f7a70=1b21af72c5fa6f9e=1 > ). > Perhaps your in-memory VFS was relying on some unspecified behavior > that changed? Without access to your source code, it is difficult to > say. > > -- > D. Richard Hipp > drh at sqlite.org > ___ > sqlite-users mailing list > sqlite-users at mailinglists.sqlite.org > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users >
[sqlite] Changes to VFS starting 3.8.3
Hi, I have a compatibility problem with my vfs implementation of memory databases. I once implemented it successfully probably with a version 3.6.something. Today I tried to create a new database using the same code with the latest (3.11.1) version (the procedure is when no prior db data exists, i.e. absolutely new file is being worked with) and it failed on a first write-related query, something like "create table if not exists" . After that I decided to try different binary versions of sqlite and narrowed it down to the difference between 3.8.2 and 3.8.3. So, with 3.8.2 everything is ok, the db created has correct structure (checked on the memory block saved as file) and no error produced during the creation. With 3.8.3 the first attempt to perform the same query on a new file produces "Sql logic error or missing database". As I see from the version history page that no specific vfs-related changes for 3.8.3 were reported, only a major change that can affect structure and vfs is initial common table expressions implementation. What are the changes that might trigger the change? Thanks, Max
[sqlite] Changes to VFS starting 3.8.3
On 3/10/16, Max Vlasov wrote: > I have a compatibility problem with my vfs implementation of memory > databases. > > As I see from the version history page that no specific vfs-related changes > for 3.8.3 were reported, only a major change that can affect structure and > vfs is initial common table expressions implementation. > > What are the changes that might trigger the change? Dunno. The changes to the unix VFS were minimal (https://www.sqlite.org/src/fdiff?v1=f076587029285554=f3ed0e406cbf9c82=1) and likewise the windows VFS (https://www.sqlite.org/src/fdiff?v1=4323dd0bac4f7a70=1b21af72c5fa6f9e=1). Perhaps your in-memory VFS was relying on some unspecified behavior that changed? Without access to your source code, it is difficult to say. -- D. Richard Hipp drh at sqlite.org