1
0

fts2m.test 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. # 2007 April 9
  2. #
  3. # The author disclaims copyright to this source code.
  4. #
  5. #*************************************************************************
  6. # This file implements regression tests for SQLite library. fts2
  7. # DELETE handling assumed all fields were non-null. This was not
  8. # the intention at all.
  9. #
  10. # $Id: fts2m.test,v 1.1 2007/04/09 20:45:42 shess Exp $
  11. #
  12. set testdir [file dirname $argv0]
  13. source $testdir/tester.tcl
  14. # If SQLITE_ENABLE_FTS2 is defined, omit this file.
  15. ifcapable !fts2 {
  16. finish_test
  17. return
  18. }
  19. db eval {
  20. CREATE VIRTUAL TABLE t1 USING fts2(col_a, col_b);
  21. INSERT INTO t1(rowid, col_a, col_b) VALUES(1, 'testing', 'testing');
  22. INSERT INTO t1(rowid, col_a, col_b) VALUES(2, 'only a', null);
  23. INSERT INTO t1(rowid, col_a, col_b) VALUES(3, null, 'only b');
  24. INSERT INTO t1(rowid, col_a, col_b) VALUES(4, null, null);
  25. }
  26. do_test fts2m-1.0 {
  27. execsql {
  28. SELECT COUNT(col_a), COUNT(col_b), COUNT(*) FROM t1;
  29. }
  30. } {2 2 4}
  31. do_test fts2m-1.1 {
  32. execsql {
  33. DELETE FROM t1 WHERE rowid = 1;
  34. SELECT COUNT(col_a), COUNT(col_b), COUNT(*) FROM t1;
  35. }
  36. } {1 1 3}
  37. do_test fts2m-1.2 {
  38. execsql {
  39. DELETE FROM t1 WHERE rowid = 2;
  40. SELECT COUNT(col_a), COUNT(col_b), COUNT(*) FROM t1;
  41. }
  42. } {0 1 2}
  43. do_test fts2m-1.3 {
  44. execsql {
  45. DELETE FROM t1 WHERE rowid = 3;
  46. SELECT COUNT(col_a), COUNT(col_b), COUNT(*) FROM t1;
  47. }
  48. } {0 0 1}
  49. do_test fts2m-1.4 {
  50. execsql {
  51. DELETE FROM t1 WHERE rowid = 4;
  52. SELECT COUNT(col_a), COUNT(col_b), COUNT(*) FROM t1;
  53. }
  54. } {0 0 0}
  55. finish_test