On 12/07/2012 11:17 PM, Alexey Pechnikov wrote:
What does the following:

   SELECT * FROM view_address_exists WHERE rowid=64402;


sqlite>    SELECT "sys_title:hash" FROM view_address_exists WHERE
rowid=64402;
"sys_title:hash"
e9b4d0bcb5

But what does "SELECT * FROM ..." return? According to table
view_address_exist, does row 64402 actually contain the token
'e7d4683bb2'?

If not, FTS has no way to delete the entry that maps from token
'e7d4683bb2' -> docid=64402.


About documented "When a row is deleted from an external content FTS4
table, FTS4 needs
to retrieve the column values of the row being deleted from the content
table.". I think that "insert or replace" is broken because we can't update
external table in middle of the "insert or replace" command execution
(after the old record complete deletion from FTS table and before  the new
record insertion into FTS table). May be is more reasonable to make the
content of FTS table synchronized with the content of external table by FTS
extension internally?

It would be better that way. But the virtual table interface doesn't
provide any way to do that.




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

Reply via email to