I am pretty sure I'm compiled with PARENTHESIS (is there a way to verify this 
via pragma?)
This is the compile line
cl /O2 /D SQLITE_ENABLE_FTS3 /D SQLITE_ENABLE_FTS3_PARENTHESIS /D 
SQLITE_ENABLE_RTREE /Fesqlite3.exe shell.c sqlite3.c
 
It appears that AND is higher prececence now..seems kind of like a major 
paradigm shift to change precedence just by enabling parenthetic notation.  
Seems like that could break a lot of code.
 
sqlite> select * from rim_api_fts_db where rim_api_fts_db match 'content OR 
373';
target|context|descrip|content 374|link|short|name|link|375
target|context|descrip|content 375|link|short|name|link|374
sqlite> select * from rim_api_fts_db where rim_api_fts_db match 'content 373';
 
 
 
I'm missing a piece here...hopefully this thread is useful to others too...
 
 
SQLite version 3.7.4
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> CREATE VIRTUAL TABLE RIM_API_FTS_DB USING
   ...> FTS4
   ...> 
(Target_Name,Target_Context,Target_Description,Target_Content,Target_Link,Pa
   ...> rent_Short,Parent_Name,Parent_Link,API_Version);
sqlite> insert into rim_api_fts_db values('target','context','descrip','content 
374', 'link','short','name','link','375');
sqlite> insert into rim_api_fts_db values('target','context','descrip','content 
375', 'link','short','name','link','374');
target|context|descrip|content 375|link|short|name|link|374
sqlite> select * from rim_api_fts_db where rim_api_fts_db match 
'API_Version:374';
target|context|descrip|content 375|link|short|name|link|374
sqlite> select * from rim_api_fts_db where rim_api_fts_db match 
'Target_Content:374';
target|context|descrip|content 374|link|short|name|link|375
sqlite> select * from rim_api_fts_db where rim_api_fts_db match 'content:374';
target|context|descrip|content 374|link|short|name|link|375
target|context|descrip|content 375|link|short|name|link|374
sqlite> select * from rim_api_fts_db where rim_api_fts_db match '(content:374)';
target|context|descrip|content 374|link|short|name|link|375
target|context|descrip|content 375|link|short|name|link|374
sqlite> select * from rim_api_fts_db where rim_api_fts_db match '"content:374"';
target|context|descrip|content 374|link|short|name|link|375
 
Do the quotes here say they must appear in the same column?  That's how it 
appears...without quotes you got both records back.
 
 
 
Michael D. Black
Senior Scientist
Advanced Analytics Directorate
Northrop Grumman Information Systems
 

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

Reply via email to