On Tue, Jan 29, 2008 at 04:11:18PM -0800, David.Comay at Sun.COM wrote:
> Thanks for the explanation of where the SQLite community has been
> compatible and where it has not.

There's much more at the main site:

http://sqlite.org/news.html
http://sqlite.org/oldnews.html
http://sqlite.org/formatchng.html

In the 3.x series the relevant compatibility notes are:

http://sqlite.org/oldnews.html#2007__un_18
http://sqlite.org/oldnews.html#2007__pr_25
http://sqlite.org/oldnews.html#2005__eb_01
http://sqlite.org/oldnews.html#2005__an_21

and the ones described in

http://sqlite.org/formatchng.html

I think that's a track record that speaks for itself.

Also, some parts of the API are deprecated and some are experimental.
The API docs (which aren't manpages, BTW), are clear about the stability
attributes of the various interfaces.

> >Perhaps the i-team could say that the CLI/API/ABI/file format are
> >Uncommitted and say that unspecified behaviours that "rise to the level
> >of an interface" are Volatile.  I'm not sure that the ARC has ever done
> >anything like that though.  Or perhaps the i-team could just go with
> >Uncommitted.
> >
> >It's certainly easier for the i-team to use Volatile.  I can't fault
> >them for it.
> 
> But then we risk having a situation similar to OpenSSL where there are
> many consumers for a Volatile set of interfaes.

The problem with OpenSSL is the penchant in the OpenSSL for
backwards-incompatible changes to the ABI and the fact that many
consumers make use of private OpenSSL interfaces.

That shouldn't happen here.

>                                                  In the case of
> OpenSSL, I know the upstream community does not apparently have a good
> track record of compatibility so perhaps it's warranted.  But in the
> case of SQLite, it seems a shame to do the same for a component that
> does seem to "do the right thing" in this area.

I don't think using Volatile does that.  Using Uncommitted might
encourage more third-parties to use the SQLite shipped in Solaris.  From
a making-Solaris-easier-to-develop-on that seems to me like the right
thing to do.

BTW, the filesystem locations of the CLI, header and compilation link
ought to be Committed.  Same with the static linking archive, if we do
ship it.

Nico
-- 

Reply via email to