Re: [sqlite] Switching journal mode from WAL to DELETE results in SQLITE_IOERR rather than SQLITE_READONLY (bug?)

2012-09-28 Thread Sebastian Krysmanski
Ok, then: is this the expected behavior?

On Fri, Sep 28, 2012 at 3:29 PM, Richard Hipp  wrote:

> On Fri, Sep 28, 2012 at 9:23 AM, Sebastian Krysmanski
> wrote:
>
> > Yes, I know that. It's just that the error code reported by
> > "sqlite3_step()" is inconsistent.
> >
>
> I "bug" means that the wrong answer is computed.  I don't think getting a
> slightly different error code for an illegal operation when performed on
> different operating systems qualifies as a "bug".
>
>
> >
> > On Fri, Sep 28, 2012 at 3:21 PM, Richard Hipp  wrote:
> >
> > > On Fri, Sep 28, 2012 at 9:09 AM, Sebastian Krysmanski
> > > wrote:
> > >
> > > > Hi,
> > > >
> > > > I'm working on a C# SQLite wrapper and have created some unit tests.
> > One
> > > of
> > > > them checks the behavior when changing the permanent journal mode of
> a
> > > > database (from DELETE to WAL and the other way around) while the
> > database
> > > > is in read-only mode. Here's what I do basically:
> > > >
> > > > 1. Open new database in read-write mode.
> > > > 2. Set "source" journal mode (WAL or DELETE)
> > > > 3. Close connection
> > > > 4. Open connection to this database in read-only mode
> > > > 5. Try to change to the "destination" journal mode (again WAL or
> > DELETE).
> > > > Except this to return SQLITE_READONLY.
> > > >
> > > > Now, on Windows "sqlite3_step()" returns "SQLITE_READONLY" in both
> > > > directions but on Linux (or on Android, to be more precise) I get
> > > > "SQLITE_READONLY" when changing from DELETE to WAL but I get
> > > "SQLITE_IOERR"
> > > > ("disk I/O error") when changing from WAL to DELETE.
> > > >
> > > > I'm using SQLite 3.7.14.
> > > >
> > > > Is this a bug?
> > > >
> > >
> > > The DELETE/WAL distinction is recorded in the database file itself.  So
> > if
> > > the database is read-only, you cannot alter the file in order to change
> > it
> > > between DELETE and WAL.
> > >
> > >
> > > >
> > > > Best regards
> > > > Sebastian
> > > > ___
> > > > sqlite-users mailing list
> > > > sqlite-users@sqlite.org
> > > > 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
> > >
> > ___
> > sqlite-users mailing list
> > sqlite-users@sqlite.org
> > 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
>
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] Switching journal mode from WAL to DELETE results in SQLITE_IOERR rather than SQLITE_READONLY (bug?)

2012-09-28 Thread Richard Hipp
On Fri, Sep 28, 2012 at 9:23 AM, Sebastian Krysmanski
wrote:

> Yes, I know that. It's just that the error code reported by
> "sqlite3_step()" is inconsistent.
>

I "bug" means that the wrong answer is computed.  I don't think getting a
slightly different error code for an illegal operation when performed on
different operating systems qualifies as a "bug".


>
> On Fri, Sep 28, 2012 at 3:21 PM, Richard Hipp  wrote:
>
> > On Fri, Sep 28, 2012 at 9:09 AM, Sebastian Krysmanski
> > wrote:
> >
> > > Hi,
> > >
> > > I'm working on a C# SQLite wrapper and have created some unit tests.
> One
> > of
> > > them checks the behavior when changing the permanent journal mode of a
> > > database (from DELETE to WAL and the other way around) while the
> database
> > > is in read-only mode. Here's what I do basically:
> > >
> > > 1. Open new database in read-write mode.
> > > 2. Set "source" journal mode (WAL or DELETE)
> > > 3. Close connection
> > > 4. Open connection to this database in read-only mode
> > > 5. Try to change to the "destination" journal mode (again WAL or
> DELETE).
> > > Except this to return SQLITE_READONLY.
> > >
> > > Now, on Windows "sqlite3_step()" returns "SQLITE_READONLY" in both
> > > directions but on Linux (or on Android, to be more precise) I get
> > > "SQLITE_READONLY" when changing from DELETE to WAL but I get
> > "SQLITE_IOERR"
> > > ("disk I/O error") when changing from WAL to DELETE.
> > >
> > > I'm using SQLite 3.7.14.
> > >
> > > Is this a bug?
> > >
> >
> > The DELETE/WAL distinction is recorded in the database file itself.  So
> if
> > the database is read-only, you cannot alter the file in order to change
> it
> > between DELETE and WAL.
> >
> >
> > >
> > > Best regards
> > > Sebastian
> > > ___
> > > sqlite-users mailing list
> > > sqlite-users@sqlite.org
> > > 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
> >
> ___
> sqlite-users mailing list
> sqlite-users@sqlite.org
> 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


Re: [sqlite] Switching journal mode from WAL to DELETE results in SQLITE_IOERR rather than SQLITE_READONLY (bug?)

2012-09-28 Thread Sebastian Krysmanski
Yes, I know that. It's just that the error code reported by
"sqlite3_step()" is inconsistent.

On Fri, Sep 28, 2012 at 3:21 PM, Richard Hipp  wrote:

> On Fri, Sep 28, 2012 at 9:09 AM, Sebastian Krysmanski
> wrote:
>
> > Hi,
> >
> > I'm working on a C# SQLite wrapper and have created some unit tests. One
> of
> > them checks the behavior when changing the permanent journal mode of a
> > database (from DELETE to WAL and the other way around) while the database
> > is in read-only mode. Here's what I do basically:
> >
> > 1. Open new database in read-write mode.
> > 2. Set "source" journal mode (WAL or DELETE)
> > 3. Close connection
> > 4. Open connection to this database in read-only mode
> > 5. Try to change to the "destination" journal mode (again WAL or DELETE).
> > Except this to return SQLITE_READONLY.
> >
> > Now, on Windows "sqlite3_step()" returns "SQLITE_READONLY" in both
> > directions but on Linux (or on Android, to be more precise) I get
> > "SQLITE_READONLY" when changing from DELETE to WAL but I get
> "SQLITE_IOERR"
> > ("disk I/O error") when changing from WAL to DELETE.
> >
> > I'm using SQLite 3.7.14.
> >
> > Is this a bug?
> >
>
> The DELETE/WAL distinction is recorded in the database file itself.  So if
> the database is read-only, you cannot alter the file in order to change it
> between DELETE and WAL.
>
>
> >
> > Best regards
> > Sebastian
> > ___
> > sqlite-users mailing list
> > sqlite-users@sqlite.org
> > 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
>
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] Switching journal mode from WAL to DELETE results in SQLITE_IOERR rather than SQLITE_READONLY (bug?)

2012-09-28 Thread Richard Hipp
On Fri, Sep 28, 2012 at 9:09 AM, Sebastian Krysmanski
wrote:

> Hi,
>
> I'm working on a C# SQLite wrapper and have created some unit tests. One of
> them checks the behavior when changing the permanent journal mode of a
> database (from DELETE to WAL and the other way around) while the database
> is in read-only mode. Here's what I do basically:
>
> 1. Open new database in read-write mode.
> 2. Set "source" journal mode (WAL or DELETE)
> 3. Close connection
> 4. Open connection to this database in read-only mode
> 5. Try to change to the "destination" journal mode (again WAL or DELETE).
> Except this to return SQLITE_READONLY.
>
> Now, on Windows "sqlite3_step()" returns "SQLITE_READONLY" in both
> directions but on Linux (or on Android, to be more precise) I get
> "SQLITE_READONLY" when changing from DELETE to WAL but I get "SQLITE_IOERR"
> ("disk I/O error") when changing from WAL to DELETE.
>
> I'm using SQLite 3.7.14.
>
> Is this a bug?
>

The DELETE/WAL distinction is recorded in the database file itself.  So if
the database is read-only, you cannot alter the file in order to change it
between DELETE and WAL.


>
> Best regards
> Sebastian
> ___
> sqlite-users mailing list
> sqlite-users@sqlite.org
> 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


[sqlite] Switching journal mode from WAL to DELETE results in SQLITE_IOERR rather than SQLITE_READONLY (bug?)

2012-09-28 Thread Sebastian Krysmanski
Hi,

I'm working on a C# SQLite wrapper and have created some unit tests. One of
them checks the behavior when changing the permanent journal mode of a
database (from DELETE to WAL and the other way around) while the database
is in read-only mode. Here's what I do basically:

1. Open new database in read-write mode.
2. Set "source" journal mode (WAL or DELETE)
3. Close connection
4. Open connection to this database in read-only mode
5. Try to change to the "destination" journal mode (again WAL or DELETE).
Except this to return SQLITE_READONLY.

Now, on Windows "sqlite3_step()" returns "SQLITE_READONLY" in both
directions but on Linux (or on Android, to be more precise) I get
"SQLITE_READONLY" when changing from DELETE to WAL but I get "SQLITE_IOERR"
("disk I/O error") when changing from WAL to DELETE.

I'm using SQLite 3.7.14.

Is this a bug?

Best regards
Sebastian
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users