12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- # 2023 Feb 17
- #
- # The author disclaims copyright to this source code. In place of
- # a legal notice, here is a blessing:
- #
- # May you do good and not evil.
- # May you find forgiveness for yourself and forgive others.
- # May you share freely, never taking more than you give.
- #
- #*************************************************************************
- #
- source [file join [file dirname [info script]] fts5_common.tcl]
- ifcapable !fts5 { finish_test ; return }
- set ::testprefix fts5secure2
- do_execsql_test 1.0 {
- CREATE VIRTUAL TABLE ft USING fts5(col);
- INSERT INTO ft VALUES('data for the table');
- INSERT INTO ft VALUES('more of the same');
- INSERT INTO ft VALUES('and extra data');
- }
- do_execsql_test 1.1 {
- SELECT * FROM ft_config
- } {version 4}
- do_execsql_test 1.2 {
- INSERT INTO ft(ft, rank) VALUES('secure-delete', 1);
- SELECT * FROM ft_config;
- } {secure-delete 1 version 4}
- do_execsql_test 1.3 {
- INSERT INTO ft(ft, rank) VALUES('secure-delete', 1);
- SELECT * FROM ft_config;
- } {secure-delete 1 version 4}
- do_execsql_test 1.4 {
- DELETE FROM ft WHERE rowid=2;
- SELECT * FROM ft_config;
- } {secure-delete 1 version 5}
- do_execsql_test 1.5 {
- SELECT rowid, col FROM ft('data');
- } {1 {data for the table} 3 {and extra data}}
- db close
- sqlite3 db test.db
- do_execsql_test 1.6 {
- SELECT rowid, col FROM ft('data');
- } {1 {data for the table} 3 {and extra data}}
- #------------------------------------------------------------------------
- reset_db
- do_execsql_test 2.0 {
- CREATE VIRTUAL TABLE ft USING fts5(col);
- INSERT INTO ft VALUES('one zero one one zero');
- INSERT INTO ft(ft, rank) VALUES('secure-delete', 1);
- }
- do_execsql_test 2.1 {
- SELECT count(*) FROM ft_data WHERE block=X'00000004';
- } {0}
- do_execsql_test 2.2 {
- UPDATE ft SET col = 'zero one zero zero one' WHERE rowid=1;
- }
- do_execsql_test 2.3 {
- SELECT count(*) FROM ft_data WHERE block=X'00000004';
- } {1}
- do_execsql_test 2.4 {
- INSERT INTO ft VALUES('one zero zero one');
- DELETE FROM ft WHERE rowid=1;
- }
- do_execsql_test 2.5 {
- SELECT count(*) FROM ft_data WHERE block=X'00000004';
- } {2}
- finish_test
|