It looks like the journal file itself is running out of disk space. It has only 512 bytes, even though I'm creating lots of tables in the transaction, and the DB file itself is stuck at 0 bytes. Then, COMMIT TRANSACTION returns SQLITE_DONE, the journal file disappears, and I'm left with a db of size 0 bytes.
There is 6144 bytes of free disk space on my drive. On 2/9/07, Jeffrey Rennie <[EMAIL PROTECTED]> wrote:
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] > ----------------------------------------------------------------------------- > > >