fts1 and fts2 have a design flaw which assumes semantics for the
standard SQLite rowid which aren't actually provided by SQLite across
calls to VACUUM.  fts3 will fix this, either making the rowid be a
persistent idenfier across VACUUM, or by exposing a new id (or docid)
column which operates as a persistent identifier.  Either way, you
could reliably tie an fts3 table to some other table.  Ideally, you
could hide this all behind a view, but I'm not sure that the MATCH
operator can be exposed through a view.

The problem with your ideal solution is that there are likely to be
three or four such solutions which don't have significant overlap.  I
would like to avoid generalizing fts too much, and keep things
focussed very tightly on the text-indexing part, leaving higher-level
stuff to SQLite proper, where possible.  This may leave fts feeling a
little bit grafted on, but ... well, it _is_ a little bit grafted on,
that's a feature!

-scott



On 8/15/07, Samuel R. Neff <[EMAIL PROTECTED]> wrote:
>
> With FTS3 can you specify the rowid to use in SQL or is it always automatic?
> It seems like most commonly you'd want the FTS data to match up with a real
> table using the same key and not have to store the FTS key in a separate
> table.  Ideally I'd want to be able to include a single foreign key indexed
> integer field so a FTS table would like like:
>
> OID
> FK_ID
> FTS_FIELDS
>
> So you can associate multiple FTS records with a single standard record
> without having to create a linking table (linking tables typically define a
> many-to-many relationship and here we have a one-to-many relationship).
>
> FTS's job isn't to enforce constraints, but it allowing users to link FTS
> data to regular data.
>
> Sam
>
>
> -------------------------------------------
> We're Hiring! Seeking a passionate developer to join our team building Flex
> based products. Position is in the Washington D.C. metro area. If interested
> contact [EMAIL PROTECTED]
>
>
>
> -----------------------------------------------------------------------------
> To unsubscribe, send email to [EMAIL PROTECTED]
> -----------------------------------------------------------------------------
>
>

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

Reply via email to