On Fri, Feb 01, 2008 at 05:43:50PM +0800, Elaine Xiong wrote: > Nicolas Williams wrote: > > It will cost very little extra work to make a list of interfaces and > > stabilities now. And if the SQLite community sticks to its track record > > to date then going with better than Volatile should cost very little > > extra work to update SQLite releases in the future. > > > We will do upgrade SQLite minor releases even the interfaces are > "Volatile". Any interface marked with "Uncommitted" or "Committed" shows > no contracted needed to use it. But we do need the contracts to state > the following > > We only fix bugs affecting Firefox3/Thunderbird3 and do minor upgrade.
I don't understand what that statement has to do with interface stability. Also, is there anything to prevent another team from fixing SQLite bugs (e.g., by updating to a newer release) affecting their use of SQLite? I can't imagine that there would be. SQLite being a level 2 DB technology for use in Sun projects it strikes me that you cannot prevent others from fixing bugs in it since they are free to use it, unless you make it some flavor of Private. Now, by going with Volatile you risk some other team breaking Firefox3/ Thunderbird3 when they update SQLite. By using stronger interface stabilities or interface contracts you protect yourself. Now, the likelihood of incompatible changes to SQLite (that are not subsequently fixed) is very low, so maybe this argument is pointless, but in either case stronger interface stability statements are better, particularly if my forecast of SQLite stability is wrong. > > The only way this can require extra resources is if the SQLite community > > lets us down. It *could* happen. I just don't think it likely given > > their track record. > > > > As for the library version number, I cannot tell where 0.8.6 came from. > > > It's just a share library version like /usr/lib/libgtk-x11-2.0.so.0.1200.0 But it doesn't come from SQLite. Why not use 1, or 5.5, or whatever the SQLite version number is (the latest is 3.5.5)? Why 0.8.6? Nico --