On Jan 21, 2009, at 11:43 PM, Mike Marshall wrote:

> Hi all
>
>
>
> Quick question
>
>
>
> Should the - operator work in FTS in conjunction with the phrase  
> operator
>
>
>
> i.e. router -"ip address"
> sqlite3_step returns SQLITE_ERROR which leads me to believe its  
> invalid but
> the question is should it be invalid, it seems a perfectly valid use  
> of the
> syntax to me.

Hi,

I don't think that has ever worked. The documentation has:

   A token that is not part of a quoted phrase may be preceded by a '-'
   character, which indicates that matching rows must not contain the
   specified term.

See here for more:

   http://www.sqlite.org/cvstrac/fileview?f=sqlite/ext/fts3/ 
README.syntax

Also, new versions of Fts3 support two different syntaxes. The legacy
syntax that is enabled by default and the enhanced syntax that is
enabled by defining SQLITE_ENABLE_FTS3_PARENTHESIS at compile time.

The enhanced syntax does not support the '-' operator at all. Instead,
it uses the binary operator NOT. When using the enhanced syntax, you
can do:

   <column> MATCH 'router NOT "ip address"'

and things will work as expected.

Dan.




>
>
>
>
> My code is
>
>
>
> sqlite3_stmt* pStatement;
>
> char* acSQLQuery = sqlite3_mprintf("SELECT * FROM data WHERE story  
> MATCH
> '%q'",acQuery);
>
> nRet = sqlite3_prepare_v2(pDB,acSQLQuery,-1,&pStatement,0);
>
> nRet = sqlite3_step(pStatement);
>
>
>
> Thanks for any help or pointers, or even just letting me know it's a  
> bug so
> I can raise a ticket.
>
>
>
> Mike
>
>
>
>
>
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

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

Reply via email to