| Index: third_party/sqlite/src/test/fts3c.test
 | 
| diff --git a/third_party/sqlite/src/test/fts3c.test b/third_party/sqlite/src/test/fts3c.test
 | 
| index 2c73d4bcd0b2079c119dd382c956b92d0cd55c16..6b63264a680c0df378d394abebc020ffac3c4aa7 100644
 | 
| --- a/third_party/sqlite/src/test/fts3c.test
 | 
| +++ b/third_party/sqlite/src/test/fts3c.test
 | 
| @@ -12,11 +12,10 @@
 | 
|  # and then uses them to do some basic tests that FTS3 is internally
 | 
|  # working as expected.
 | 
|  #
 | 
| -# $Id: fts3c.test,v 1.1 2008/07/03 19:53:22 shess Exp $
 | 
| -#
 | 
|  
 | 
|  set testdir [file dirname $argv0]
 | 
|  source $testdir/tester.tcl
 | 
| +source $testdir/fts3_common.tcl
 | 
|  
 | 
|  # If SQLITE_ENABLE_FTS3 is not defined, omit this file.
 | 
|  ifcapable !fts3 {
 | 
| @@ -25,125 +24,24 @@ ifcapable !fts3 {
 | 
|  }
 | 
|  
 | 
|  #*************************************************************************
 | 
| -# Probe to see if support for these functions is compiled in.
 | 
| -# TODO(shess): Change main.mk to do the right thing and remove this test.
 | 
| -db eval {
 | 
| -  DROP TABLE IF EXISTS t1;
 | 
| -  CREATE VIRTUAL TABLE t1 USING fts3(c);
 | 
| -  INSERT INTO t1 (docid, c) VALUES (1, 'x');
 | 
| -}
 | 
| -
 | 
| -set s {SELECT dump_terms(t1, 1) FROM t1 LIMIT 1}
 | 
| -set r {1 {unable to use function dump_terms in the requested context}}
 | 
| -if {[catchsql $s]==$r} {
 | 
| -  finish_test
 | 
| -  return
 | 
| -}
 | 
| -
 | 
| -#*************************************************************************
 | 
| -# Test that the new functions give appropriate errors.
 | 
| -do_test fts3c-0.0 {
 | 
| -  catchsql {
 | 
| -    SELECT dump_terms(t1, 1) FROM t1 LIMIT 1;
 | 
| -  }
 | 
| -} {1 {dump_terms: incorrect arguments}}
 | 
| -
 | 
| -do_test fts3c-0.1 {
 | 
| -  catchsql {
 | 
| -    SELECT dump_terms(t1, 0, 0, 0) FROM t1 LIMIT 1;
 | 
| -  }
 | 
| -} {1 {dump_terms: incorrect arguments}}
 | 
| -
 | 
| -do_test fts3c-0.2 {
 | 
| -  catchsql {
 | 
| -    SELECT dump_terms(1, t1) FROM t1 LIMIT 1;
 | 
| -  }
 | 
| -} {1 {unable to use function dump_terms in the requested context}}
 | 
| -
 | 
| -do_test fts3c-0.3 {
 | 
| -  catchsql {
 | 
| -    SELECT dump_terms(t1, 16, 16) FROM t1 LIMIT 1;
 | 
| -  }
 | 
| -} {1 {dump_terms: segment not found}}
 | 
| -
 | 
| -do_test fts3c-0.4 {
 | 
| -  catchsql {
 | 
| -    SELECT dump_doclist(t1) FROM t1 LIMIT 1;
 | 
| -  }
 | 
| -} {1 {dump_doclist: incorrect arguments}}
 | 
| -
 | 
| -do_test fts3c-0.5 {
 | 
| -  catchsql {
 | 
| -    SELECT dump_doclist(t1, NULL) FROM t1 LIMIT 1;
 | 
| -  }
 | 
| -} {1 {dump_doclist: empty second argument}}
 | 
| -
 | 
| -do_test fts3c-0.6 {
 | 
| -  catchsql {
 | 
| -    SELECT dump_doclist(t1, '') FROM t1 LIMIT 1;
 | 
| -  }
 | 
| -} {1 {dump_doclist: empty second argument}}
 | 
| -
 | 
| -do_test fts3c-0.7 {
 | 
| -  catchsql {
 | 
| -    SELECT dump_doclist(t1, 'a', 0) FROM t1 LIMIT 1;
 | 
| -  }
 | 
| -} {1 {dump_doclist: incorrect arguments}}
 | 
| -
 | 
| -do_test fts3c-0.8 {
 | 
| -  catchsql {
 | 
| -    SELECT dump_doclist(t1, 'a', 0, 0, 0) FROM t1 LIMIT 1;
 | 
| -  }
 | 
| -} {1 {dump_doclist: incorrect arguments}}
 | 
| -
 | 
| -do_test fts3c-0.9 {
 | 
| -  catchsql {
 | 
| -    SELECT dump_doclist(t1, 'a', 16, 16) FROM t1 LIMIT 1;
 | 
| -  }
 | 
| -} {1 {dump_doclist: segment not found}}
 | 
| -
 | 
| -#*************************************************************************
 | 
|  # Utility function to check for the expected terms in the segment
 | 
|  # level/index.  _all version does same but for entire index.
 | 
|  proc check_terms {test level index terms} {
 | 
| -  # TODO(shess): Figure out why uplevel in do_test can't catch
 | 
| -  # $level and $index directly.
 | 
| -  set ::level $level
 | 
| -  set ::index $index
 | 
| -  do_test $test.terms {
 | 
| -    execsql {
 | 
| -      SELECT dump_terms(t1, $::level, $::index) FROM t1 LIMIT 1;
 | 
| -    }
 | 
| -  } [list $terms]
 | 
| +  set where "level = $level AND idx = $index"
 | 
| +  do_test $test.terms [list fts3_terms t1 $where] $terms
 | 
|  }
 | 
|  proc check_terms_all {test terms} {
 | 
| -  do_test $test.terms {
 | 
| -    execsql {
 | 
| -      SELECT dump_terms(t1) FROM t1 LIMIT 1;
 | 
| -    }
 | 
| -  } [list $terms]
 | 
| +  do_test $test.terms [list fts3_terms t1 1] $terms
 | 
|  }
 | 
|  
 | 
|  # Utility function to check for the expected doclist for the term in
 | 
|  # segment level/index.  _all version does same for entire index.
 | 
|  proc check_doclist {test level index term doclist} {
 | 
| -  # TODO(shess): Again, why can't the non-:: versions work?
 | 
| -  set ::term $term
 | 
| -  set ::level $level
 | 
| -  set ::index $index
 | 
| -  do_test $test {
 | 
| -    execsql {
 | 
| -      SELECT dump_doclist(t1, $::term, $::level, $::index) FROM t1 LIMIT 1;
 | 
| -    }
 | 
| -  } [list $doclist]
 | 
| +  set where "level = $level AND idx = $index"
 | 
| +  do_test $test [list fts3_doclist t1 $term $where] $doclist
 | 
|  }
 | 
|  proc check_doclist_all {test term doclist} {
 | 
| -  set ::term $term
 | 
| -  do_test $test {
 | 
| -    execsql {
 | 
| -      SELECT dump_doclist(t1, $::term) FROM t1 LIMIT 1;
 | 
| -    }
 | 
| -  } [list $doclist]
 | 
| +  do_test $test [list fts3_doclist t1 $term 1] $doclist
 | 
|  }
 | 
|  
 | 
|  #*************************************************************************
 | 
| 
 |