On Wed, 2005-07-06 at 08:40 -0700, Scott Baker wrote: > Looks like Firefox is gearing up to store some of its information in > SQLite? Does anyone know anything more about this? > > http://gemal.dk/blog/2005/07/06/mozilla_firefox_bookmarks_in_for_a_rewrite/
We'll be using sqlite, but not directly -- there is a layer currently called mozStorage which is basically a XPCOM/C++ wrapper around sqlite that I've written, along with convenience wrappers for working with mozStorage within JavaScript. (For example, statement parameters can be assigned via "stmt.params.paramName = 'value'" and simple statements can just be called as functions, as in "stmt(param1, param2);") On 7/6/05, D. Richard Hipp <[EMAIL PROTECTED]> wrote: > The copy of Firefox I use (version 1.0 that comes with > SuSE 9.2) stores all its configuration information and > cache in a bunch of files under ~/.mozilla/firefox. > If I try to launch two versions of firefox as the same user > but on separate displays (for example one on the console and > another on a remove X terminal or on an Xvnc server) the > second one has problems because the two instances cannot > share configuration files without risking collisions. And > if I power-off without a clean shutdown, lock files persist > which I have to clean up manually. > > Moving configuration information into an SQLite database > will resolve these issues, I hope. Because SQLite transactions > are isolated, multiple instances of Firefox will be able to > share the same configuration. And because SQLite transactions > are atomic, a power-off in the middle of a transaction will > cause the transaction to roll back automatically. > > I *hope* that is what the SQLite integration with firefox > will accomplish. But again, I don't really know. That is basically the plan; some design information is at http://wiki.mozilla.org/Mozilla2:Unified_Storage , though it needs to be updated somewhat. I don't think we'll be able to do a full conversion in time for the next release (after 1.1), but we'll certainly complete the process halfway through. There are some problems that we're going to have to resolve for profile sharing to fully work, mainly getting cross-application triggers to work correctly. We're thinking to just build a separate trigger mechanism within mozStorage, and have each app that makes changes distribute trigger notifications with an IPC system to other apps using the same database... but we're not that far yet :) Note that the next release of Sunbird (the calendar project) and the first release of Lightning (calendar integration in thunderbird) uses mozStorage/sqlite for storing all local calendar data. - Vlad