[sqlite] Changes to VFS starting 3.8.3

2016-03-11 Thread Max Vlasov
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

2016-03-10 Thread Max Vlasov
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

2016-03-10 Thread Max Vlasov
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

2016-03-10 Thread Richard Hipp
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