Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(8)

Side by Side Diff: third_party/sqlite/src/ext/fts5/test/fts5rank.test

Issue 2751253002: [sql] Import SQLite 3.17.0. (Closed)
Patch Set: also clang on Linux i386 Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 # 2014 Dec 20 1 # 2014 Dec 20
2 # 2 #
3 # The author disclaims copyright to this source code. In place of 3 # The author disclaims copyright to this source code. In place of
4 # a legal notice, here is a blessing: 4 # a legal notice, here is a blessing:
5 # 5 #
6 # May you do good and not evil. 6 # May you do good and not evil.
7 # May you find forgiveness for yourself and forgive others. 7 # May you find forgiveness for yourself and forgive others.
8 # May you share freely, never taking more than you give. 8 # May you share freely, never taking more than you give.
9 # 9 #
10 #*********************************************************************** 10 #***********************************************************************
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
84 84
85 do_test 2.6 { 85 do_test 2.6 {
86 execsql { SELECT rowid FROM tt('a') ORDER BY rank; } db2 86 execsql { SELECT rowid FROM tt('a') ORDER BY rank; } db2
87 } {1 3 2} 87 } {1 3 2}
88 88
89 do_test 2.7 { 89 do_test 2.7 {
90 execsql { SELECT rowid FROM tt('a') ORDER BY rank; } db 90 execsql { SELECT rowid FROM tt('a') ORDER BY rank; } db
91 } {1 3 2} 91 } {1 3 2}
92 92
93 93
94 #--------------------------------------------------------------------------
95 # At one point there was a problem with queries such as:
96 #
97 # ... MATCH 'x OR y' ORDER BY rank;
98 #
99 # if there were zero occurrences of token 'y' in the dataset. The
100 # following tests verify that that problem has been addressed.
101 #
102 foreach_detail_mode $::testprefix {
103 do_execsql_test 3.1.0 {
104 CREATE VIRTUAL TABLE y1 USING fts5(z, detail=%DETAIL%);
105 INSERT INTO y1 VALUES('test xyz');
106 INSERT INTO y1 VALUES('test test xyz test');
107 INSERT INTO y1 VALUES('test test xyz');
108 }
109
110 do_execsql_test 3.1.1 {
111 SELECT rowid FROM y1('test OR tset');
112 } {1 2 3}
113
114 do_execsql_test 3.1.2 {
115 SELECT rowid FROM y1('test OR tset') ORDER BY bm25(y1)
116 } {2 3 1}
117
118 do_execsql_test 3.1.3 {
119 SELECT rowid FROM y1('test OR tset') ORDER BY +rank
120 } {2 3 1}
121
122 do_execsql_test 3.1.4 {
123 SELECT rowid FROM y1('test OR tset') ORDER BY rank
124 } {2 3 1}
125
126 do_execsql_test 3.1.5 {
127 SELECT rowid FROM y1('test OR xyz') ORDER BY rank
128 } {3 2 1}
129
130
131 do_execsql_test 3.2.1 {
132 CREATE VIRTUAL TABLE z1 USING fts5(a, detail=%DETAIL%);
133 INSERT INTO z1 VALUES('wrinkle in time');
134 SELECT * FROM z1 WHERE z1 MATCH 'wrinkle in time OR a wrinkle in time';
135 } {{wrinkle in time}}
136 }
137
138 do_execsql_test 4.1 {
139 DROP TABLE IF EXISTS VTest;
140 CREATE virtual TABLE VTest USING FTS5(
141 Title, AUthor, tokenize ='porter unicode61 remove_diacritics 1',
142 columnsize='1', detail=full
143 );
144 INSERT INTO VTest (Title, Author) VALUES ('wrinkle in time', 'Bill Smith');
145
146 SELECT * FROM VTest WHERE
147 VTest MATCH 'wrinkle in time OR a wrinkle in time' ORDER BY rank;
148 } {{wrinkle in time} {Bill Smith}}
94 149
95 150
96 151
97
98 152
99 finish_test 153 finish_test
100 154
OLDNEW
« no previous file with comments | « third_party/sqlite/src/ext/fts5/test/fts5prefix.test ('k') | third_party/sqlite/src/ext/fts5/test/fts5rowid.test » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698