@jch: Please do some research before posting. SqlLite doesn't pretend to be an RDBMS. It
doesn't support (enforce) basic datatypes. The shared library is ~1MB on my system (and can go
down to ~100K when embedded and features removed).
Yes, it supports "strong integrity guarantees". The opposite of that is called "corruption".
If you wrote a browser, would you just call "truncate(bookmarks); write(bookmarks, data);
close()"? I hope not. You would need to design a fail-safe recovery mechanism that doesn't
loose data. It might be fairly simple when updating bookmarks, but for storing browsing
history and doing indexing, you'd basically be re-writing most of SqlLite anyway.