Ok that's exactly what I was asking. Thanks!

On 7/9/07, Scott Hess <[EMAIL PROTECTED]> wrote:

If you have not compiled in fts1, and try to drop an fts1 table,
you'll get an error.  I don't think you'll get a crash, but sqlite
will simply not know how to deal with the table.

I can think of two ways to deal with this.  When builidng a new
version, you could just leave the fts1 code in place.  Otherwise, you
could put the fts1 table in an attached database, which you could
delete using filesystem operations when you upgrade.

I would recommend just having both fts1 and fts2 available.  If you're
super-concerned about code size, you could pretty easily strip out all
of the interesting code from fts1.c and leave only enough to
successfully drop tables.  A little more aggressive would be to leave
enough code to do read-only queries without the fulltext index (useful
for pulling all the content data across to fts2).

[Let me know if I misread your question.]

-scott


On 7/6/07, Dave Brown <[EMAIL PROTECTED]> wrote:
> Right, but what I'm asking is:
>
> If version 1.0 of my program uses Sqlite with *only* fts1, and then I
> upgrade users to version 2.0 of my program which uses *only* fts3, can
my
> version 2.0 code (which is using sqlite that only has fts3) safely
delete
> the original fts1 table created by version 1.0 without crashing the
program?
>
> Thanks again!
>
>
>
> On 7/5/07, Dan Kennedy <[EMAIL PROTECTED]> wrote:
> >
> > On Thu, 2007-07-05 at 21:08 -0700, Dave Brown wrote:
> > > I am considering using FTS for a new feature. My question is:
> > >
> > > - If I use fts1 (or fts2) now, and then a new version of fts comes
out
> > which
> > > is not backwards compatible, will I at least be able to upgrade
users by
> > > simply deleting the old FTS table and re-building it using the new
FTS
> > > system?
> > >
> > > In other words, my users will have a database file built with fts1,
then
> > my
> > > new upgraded code (which contains sqlite with fts3, for example)
will
> > try to
> > > upgrade them by deleting the fts1 table, and creating a new table.
> > >
> > > Will the delete of the old table at least be guaranteed to work?
> >
> > fts1 and fts2 are separate extensions that happen to do similar
things.
> > You can load them both at the same time and have a single database
> > connection access both fts1 and fts2 tables. The same should be
> > true with fts3.
> >
> > Dan.
> >
> >
> >
> >
-----------------------------------------------------------------------------
> > To unsubscribe, send email to [EMAIL PROTECTED]
> >
> >
-----------------------------------------------------------------------------
> >
> >
>


-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]

-----------------------------------------------------------------------------


Reply via email to