It appears that I cannot use MATCH more than once per query. It also looks like 
I can't use it if prefaced with OR or NOT.

For example, this works:
        SELECT T01_fts.docid FROM T01_fts JOIN T01 ON T01_fts.docid = T01.rowid 
WHERE T01.hasPic = 0 AND T01_fts.words MATCH 'SBNTKN*' 

These do not:
        SELECT T01_fts.docid FROM T01_fts JOIN T01 ON T01_fts.docid = T01.rowid 
WHERE T01.hasPic = 0 OR T01_fts.words MATCH 'SBNTKN*' 
        SELECT T01_fts.docid FROM T01_fts JOIN T01 ON T01_fts.docid = T01.rowid 
WHERE T01.hasPic = 0 AND (T01_fts.words MATCH 'SBNTKN*'  OR T01_fts.words MATCH 
'CTLTKN*' )

Obviously I can manually rewrite the queries by hand. The trick is building 
these strings from a bundle of nested logic which has no knowledge about the 
database structure. I could probably get it working with UNION and INTERSECT, 
but I want to avoid those in the interest of speed.

Is this something I need to work around, or might it be supported in future 
releases of sqlite?

And an entirely separate question: Is there currently a way, or will there soon 
be a way to clone prepared statements?

Thanks
dw



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

Reply via email to