Date: Wed, 14 May 2008 17:02:41 -0400 From: "Kurt J. Lidl" <lidl@pix.net> To: Peter Jeremy <peterjeremy@optushome.com.au> Cc: Garrett Cooper <yanefbsd@gmail.com>, freebsd-hackers@freebsd.org Subject: Re: BDB corrupt Message-ID: <20080514210240.GB28827@pix.net> In-Reply-To: <20080514192026.GY64804@server.vk2pj.dyndns.org> References: <200805121153.00809.jonathan%2Bfreebsd-hackers@hst.org.za> <1663320218.20080512223531@mail.ru> <20080512152430.3720683e@mbook.local> <2117635718.20080513154406@mail.ru> <20080513121452.GA70860@eos.sc1.parodius.com> <20080513154137.GA28842@pix.net> <482A02CD.7040308@mansionfamily.plus.com> <D10ACB9D-8D1D-4696-BF7E-DBB0E9D74262@gmail.com> <20080514135051.GA21370@pix.net> <20080514192026.GY64804@server.vk2pj.dyndns.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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@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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080514210240.GB28827>