aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/sqlite/unix/sqlite-3.5.1/test/fts3ag.test
diff options
context:
space:
mode:
authordan miller2007-10-20 02:49:29 +0000
committerdan miller2007-10-20 02:49:29 +0000
commite36d23a85ebff914d74bb541558c2b6082b78edb (patch)
tree54b58fdf162e78af64055282a6035c8d2443389d /libraries/sqlite/unix/sqlite-3.5.1/test/fts3ag.test
parent* Fixed an issue whereby avatar chat distances were being calculated against ... (diff)
downloadopensim-SC-e36d23a85ebff914d74bb541558c2b6082b78edb.zip
opensim-SC-e36d23a85ebff914d74bb541558c2b6082b78edb.tar.gz
opensim-SC-e36d23a85ebff914d74bb541558c2b6082b78edb.tar.bz2
opensim-SC-e36d23a85ebff914d74bb541558c2b6082b78edb.tar.xz
sqlite source (unix build) added to libraries
Diffstat (limited to 'libraries/sqlite/unix/sqlite-3.5.1/test/fts3ag.test')
-rw-r--r--libraries/sqlite/unix/sqlite-3.5.1/test/fts3ag.test87
1 files changed, 87 insertions, 0 deletions
diff --git a/libraries/sqlite/unix/sqlite-3.5.1/test/fts3ag.test b/libraries/sqlite/unix/sqlite-3.5.1/test/fts3ag.test
new file mode 100644
index 0000000..1e1171c
--- /dev/null
+++ b/libraries/sqlite/unix/sqlite-3.5.1/test/fts3ag.test
@@ -0,0 +1,87 @@
1# 2006 October 19
2#
3# The author disclaims copyright to this source code.
4#
5#*************************************************************************
6# This file implements regression tests for SQLite library. The focus
7# of this script is testing handling of edge cases for various doclist
8# merging functions in the FTS3 module query logic.
9#
10# $Id: fts3ag.test,v 1.1 2007/08/20 17:38:42 shess Exp $
11#
12
13set testdir [file dirname $argv0]
14source $testdir/tester.tcl
15
16# If SQLITE_ENABLE_FTS3 is defined, omit this file.
17ifcapable !fts3 {
18 finish_test
19 return
20}
21
22db eval {
23 CREATE VIRTUAL TABLE t1 USING fts3(content);
24 INSERT INTO t1 (rowid, content) VALUES(1, 'this is a test');
25 INSERT INTO t1 (rowid, content) VALUES(2, 'also a test');
26}
27
28# No hits at all. Returns empty doclists from termSelect().
29do_test fts3ag-1.1 {
30 execsql {SELECT rowid FROM t1 WHERE t1 MATCH 'something'}
31} {}
32
33# Empty left in docListExceptMerge().
34do_test fts3ag-1.2 {
35 execsql {SELECT rowid FROM t1 WHERE t1 MATCH '-this something'}
36} {}
37
38# Empty right in docListExceptMerge().
39do_test fts3ag-1.3 {
40 execsql {SELECT rowid FROM t1 WHERE t1 MATCH 'this -something'}
41} {1}
42
43# Empty left in docListPhraseMerge().
44do_test fts3ag-1.4 {
45 execsql {SELECT rowid FROM t1 WHERE t1 MATCH '"this something"'}
46} {}
47
48# Empty right in docListPhraseMerge().
49do_test fts3ag-1.5 {
50 execsql {SELECT rowid FROM t1 WHERE t1 MATCH '"something is"'}
51} {}
52
53# Empty left in docListOrMerge().
54do_test fts3ag-1.6 {
55 execsql {SELECT rowid FROM t1 WHERE t1 MATCH 'something OR this'}
56} {1}
57
58# Empty right in docListOrMerge().
59do_test fts3ag-1.7 {
60 execsql {SELECT rowid FROM t1 WHERE t1 MATCH 'this OR something'}
61} {1}
62
63# Empty left in docListAndMerge().
64do_test fts3ag-1.8 {
65 execsql {SELECT rowid FROM t1 WHERE t1 MATCH 'something this'}
66} {}
67
68# Empty right in docListAndMerge().
69do_test fts3ag-1.9 {
70 execsql {SELECT rowid FROM t1 WHERE t1 MATCH 'this something'}
71} {}
72
73# No support for all-except queries.
74do_test fts3ag-1.10 {
75 catchsql {SELECT rowid FROM t1 WHERE t1 MATCH '-this -something'}
76} {1 {SQL logic error or missing database}}
77
78# Test that docListOrMerge() correctly handles reaching the end of one
79# doclist before it reaches the end of the other.
80do_test fts3ag-1.11 {
81 execsql {SELECT rowid FROM t1 WHERE t1 MATCH 'this OR also'}
82} {1 2}
83do_test fts3ag-1.12 {
84 execsql {SELECT rowid FROM t1 WHERE t1 MATCH 'also OR this'}
85} {1 2}
86
87finish_test