BDB corrupt

Kurt J. Lidl lidl at pix.net
Wed May 14 21:02:45 UTC 2008


On Thu, May 15, 2008 at 05:20:26AM +1000, Peter Jeremy wrote:
> On 2008-May-14 09:50:52 -0400, "Kurt J. Lidl" <lidl at pix.net> wrote:
> >One other thing to watch for in SQLite is the lack of atomicity
> >in updates.  It's not ACID, just like BDB 1.8x isn't ACID.
> 
> This isn't true.  SQLite does provide full ACID.  One difference from
> (eg) Oracle is that you need to explicitly begin a transaction, rather
> than a transaction implicitly commencing with the first DML statement.
> (I don't know what the SQL standard requires).

Generally, you get either implicit transactions, or you need
to put your database handle into explicit transaction mode,
typically by bracketing your sql with:

	begin transaction;
	stuff;
	stuff;
	commit;
	if (error) { rollback; whine() }

> >Without a write-ahead log,
> 
> It does have a log to record incomplete transactions.

Well, thanks for the various pointers.  I see that it grew a
transaction log since the last time I bothered to look at it
in depth.  That's a very good thing.

I'll retract my assertion that it doesn't have a commit log.

-Kurt


More information about the freebsd-hackers mailing list