SQLite

Check-in [bf98a2de7e]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Add extra test cases to verify the fix in [64ca1a835].
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: bf98a2de7ed41a8acca89d7369b353f12182cfb4
User & Date: dan 2016-07-21 18:02:20.434
Context
2016-07-22
10:09
Fix a problem with upper case module names in the "sqldiff --vtab" command. (check-in: 87e25fc472 user: dan tags: trunk)
2016-07-21
18:02
Add extra test cases to verify the fix in [64ca1a835]. (check-in: bf98a2de7e user: dan tags: trunk)
16:43
Add new test file vacuummem.test. To test that any temporary memory used by VACUUM is freed as soon as the VACUUM has finished (not, for example, when sqlite3_close() is finally called). (check-in: 1b1ad0b28c user: dan tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to ext/fts5/test/fts5rank.test.
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125

























126
127
128
129
#
#   ... MATCH 'x OR y' ORDER BY rank;
#
# if there were zero occurrences of token 'y' in the dataset. The
# following tests verify that that problem has been addressed.
#
foreach_detail_mode $::testprefix {
  do_execsql_test 3.0 {
    CREATE VIRTUAL TABLE y1 USING fts5(z, detail=%DETAIL%);
    INSERT INTO y1 VALUES('test xyz');
    INSERT INTO y1 VALUES('test test xyz test');
    INSERT INTO y1 VALUES('test test xyz');
  }

  do_execsql_test 3.1 {
    SELECT rowid FROM y1('test OR tset');
  } {1 2 3}

  do_execsql_test 3.2 {
    SELECT rowid FROM y1('test OR tset') ORDER BY bm25(y1)
  } {2 3 1}

  do_execsql_test 3.3 {
    SELECT rowid FROM y1('test OR tset') ORDER BY +rank
  } {2 3 1}

  do_execsql_test 3.4 {
    SELECT rowid FROM y1('test OR tset') ORDER BY rank
  } {2 3 1}
}



























finish_test








|






|



|



|



|


|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>




96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
#
#   ... MATCH 'x OR y' ORDER BY rank;
#
# if there were zero occurrences of token 'y' in the dataset. The
# following tests verify that that problem has been addressed.
#
foreach_detail_mode $::testprefix {
  do_execsql_test 3.1.0 {
    CREATE VIRTUAL TABLE y1 USING fts5(z, detail=%DETAIL%);
    INSERT INTO y1 VALUES('test xyz');
    INSERT INTO y1 VALUES('test test xyz test');
    INSERT INTO y1 VALUES('test test xyz');
  }

  do_execsql_test 3.1.1 {
    SELECT rowid FROM y1('test OR tset');
  } {1 2 3}

  do_execsql_test 3.1.2 {
    SELECT rowid FROM y1('test OR tset') ORDER BY bm25(y1)
  } {2 3 1}

  do_execsql_test 3.1.3 {
    SELECT rowid FROM y1('test OR tset') ORDER BY +rank
  } {2 3 1}

  do_execsql_test 3.1.4 {
    SELECT rowid FROM y1('test OR tset') ORDER BY rank
  } {2 3 1}

  do_execsql_test 3.1.5 {
    SELECT rowid FROM y1('test OR xyz') ORDER BY rank
  } {3 2 1}


  do_execsql_test 3.2.1 {
    CREATE VIRTUAL TABLE z1 USING fts5(a, detail=%DETAIL%);
    INSERT INTO z1 VALUES('wrinkle in time');
    SELECT * FROM z1 WHERE z1 MATCH 'wrinkle in time OR a wrinkle in time';
  } {{wrinkle in time}}
}

do_execsql_test 4.1 {
  DROP TABLE IF EXISTS VTest;
  CREATE virtual TABLE VTest USING FTS5(
    Title, AUthor, tokenize ='porter unicode61 remove_diacritics 1', 
    columnsize='1', detail=full
  );
  INSERT INTO VTest (Title, Author) VALUES ('wrinkle in time', 'Bill Smith');

  SELECT * FROM VTest WHERE 
  VTest MATCH 'wrinkle in time OR a wrinkle in time' ORDER BY rank;
} {{wrinkle in time} {Bill Smith}}




finish_test