On Tue, Aug 31, 2010 at 1:56 PM, Paweł Hajdan, Jr.
<phajdan...@chromium.org>wrote:

> On Tue, Aug 31, 2010 at 10:51, Richard Hipp <d...@sqlite.org> wrote:
>
> > My suggestion is that you make a copy of the os_unix.c source file (call
> it
> > chromium_vfs.c or anything else that you like) and apply your edits to
> that
> > copy.  Since you started with an exact copy of the original os_unix.c
> > source
> > file, your copy will all the internal utilities and mechanisms as
> > os_unix.c.  You can use all those internal mechanism as much as you want.
> > Then compile your customized VFS separately and add it to SQLite at
> > start-time using sqlite3_vfs_register().
> >
> > Why won't that work for you?
>
>
> It effectively forks os_unix.c, which makes upgrades of SQLite equally
> painful to the current state. The above solution offers no advantage over
> the current state of our bundled SQLite copy. I'd like to stay as close to
> upstream as possible, because then we can update very easily.
>

os_unix.c is very unlikely to change in ways that you care about.  It has
not changed in years in ways that would effect you, except for the addition
of new methods to support WAL for the 3.6.23->3.7.0 transition.  Such
changes are very uncommon.  You can continue to pull in newer versions of
SQLite without having to modify your customized chromium VFS.  If you are
ever in doubt about whether or not it is safe to continue to use an old VFS
based on an older os_unix.c, then simply ask.

The VFS is a well-defined and supported interface for SQLite.  We maintain
backwards compatibility.  So even if you had been using an older custom VFS
built using an older 3.6.23-or-earlier os_unix.c, it will still continue
working on newer versions of SQLite - you just wouldn't be able to take
advantage of the enhanced write-ahead log feature.

The same is true moving forward.  If we ever make changes to the VFS
interface, your older implementation will still work.  You just might not be
able to use it with some new feature enhancement or something.

The only thing that might trip you up is a bug fix in os_unix.c.  Those are
very, very uncommon.  In fact, I can't call to mind the last time we had any
serious bug in os_unix.c.




> _______________________________________________
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>



-- 
D. Richard Hipp
d...@sqlite.org
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to