Thanks Artem.  Your description of events agrees with the documentation and
what I would expect to happen, but not with what I'm observing in running
code.

I see that the sqlite_step() for the "COMMIT TRANSACTION" returns
SQLITE_DONE, but then the changes in the transaction have been rolled back.

On 2/8/07, Artem Yankovskiy <[EMAIL PROTECTED]> wrote:

Hi.
You do not receive the error message until receive 0
free disk spaces.
When queryes are running in transaction, record in a
DB does not write, the journal-file is created only,
therefore you see your changes. As soon as you make
commit, there is a records of changes in a DB. During
this moment there can be an ending of an empty space
on volume, then sqlite will return an error and will
roll away changes.

--- Jeffrey Rennie <[EMAIL PROTECTED]> wrote:

> What happens, and/or what is supposed to happen when
> sqlite runs out of disk
> space?
>
> In an extremely disk-space constrained situation, I
> create a bunch of
> tables, without any sqlite errors, and then later
> the tables are not found.
> I see the same thing when inserting rows: no error,
> but later look-ups don't
> find inserted rows.  I'd like to detect that the
> write to DB failed at time
> of write, not a later read.  I'm also doing the
> INSERTS and CREATE TABLES
> within a transaction, and again all the sqlite calls
> succeed, even the
> COMMIT TRANSACTION.  There are no other pending
> statements at the time of
> the COMMIT TRANSACTION.
>
> I'm using version 3.3.4 on Windows.
>
> Thanks,
> Jeffrey Rennie
>


Best regards,
Artem Yankovskiy






________________________________________________________
Вы уже с Yahoo!?
Испытайте обновленную и улучшенную. Yahoo! Почту! http://ru.mail.yahoo.com


-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]

-----------------------------------------------------------------------------


Reply via email to