set Q {
{1 "SELECT count(*) FROM t1 WHERE t1 MATCH 'enron'"}
{25 "SELECT count(*) FROM t1 WHERE t1 MATCH 'hours'"}
{300 "SELECT count(*) FROM t1 WHERE t1 MATCH 'acid'"}
{100 "SELECT count(*) FROM t1 WHERE t1 MATCH 'loaned OR mobility OR popcore OR sunk'"}
{100 "SELECT count(*) FROM t1 WHERE t1 MATCH 'enron AND myapps'"}
{1 "SELECT count(*) FROM t1 WHERE t1 MATCH 'en* AND my*'"}
{1 "SELECT count(*) FROM t1 WHERE t1 MATCH 'c:t*'"}
{1 "SELECT count(*) FROM t1 WHERE t1 MATCH 'a:t* OR b:t* OR c:t* OR d:t* OR e:t* OR f:t* OR g:t*'"}
{1 "SELECT count(*) FROM t1 WHERE t1 MATCH 'a:t*'"}
{2 "SELECT count(*) FROM t1 WHERE t1 MATCH 'c:the'"}
{2 "SELECT count(*) FROM t1 WHERE t1 MATCH 'd:holmes OR e:holmes OR f:holmes OR g:holmes'" }
{2 "SELECT count(*) FROM t1 WHERE t1 MATCH 'd:holmes AND e:holmes AND f:holmes AND g:holmes'" }
{4 "SELECT count(*) FROM t1 WHERE t1 MATCH 'd:holmes NOT e:holmes'" }
}procusage{}{global Q
puts stderr "Usage: $::argv0 DATABASE QUERY"puts stderr ""for{set i 1}{$i<=[llength$Q]}{incr i}{puts stderr "$i. [lindex$Q[expr$i-1]]"}puts stderr ""exit-1}set nArg [llength$argv]if{$nArg!=2&&$nArg!=3} usage
set database [lindex$argv0]set iquery [lindex$argv1]if{$iquery<1||$iquery>[llength$Q]} usage
set nRepeat 0if{$nArg==3}{ set nRepeat [lindex$argv2]}sqlite3 db $databasecatch{ load_static_extension db fts5 }incr iquery -1
set sql [lindex$Q$iquery1]if{$nRepeat==0}{set nRepeat [lindex$Q$iquery0]}puts"sql: $sql"puts"nRepeat: $nRepeat"if{[regexpmatchinfo$sql]}{sqlite3_fts5_register_matchinfo db
db eval $sql}else{puts"result: [db eval $sql]"}for{set i 1}{$i<$nRepeat}{incr i}{db eval $sql}