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

Reply via email to