fts5full.test 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. # 2014 Dec 20
  2. #
  3. # The author disclaims copyright to this source code. In place of
  4. # a legal notice, here is a blessing:
  5. #
  6. # May you do good and not evil.
  7. # May you find forgiveness for yourself and forgive others.
  8. # May you share freely, never taking more than you give.
  9. #
  10. #***********************************************************************
  11. #
  12. # Test that SQLITE_FULL is returned if the FTS5 table cannot find a free
  13. # segid to use. In practice this can only really happen when automerge and
  14. # crisismerge are both disabled.
  15. #
  16. source [file join [file dirname [info script]] fts5_common.tcl]
  17. set testprefix fts5full
  18. # If SQLITE_ENABLE_FTS5 is not defined, omit this file.
  19. ifcapable !fts5 {
  20. finish_test
  21. return
  22. }
  23. do_execsql_test 1.0 {
  24. CREATE VIRTUAL TABLE x8 USING fts5(i);
  25. INSERT INTO x8(x8, rank) VALUES('automerge', 0);
  26. INSERT INTO x8(x8, rank) VALUES('crisismerge', 100000);
  27. }
  28. db func rnddoc fts5_rnddoc
  29. do_test 1.1 {
  30. list [catch {
  31. for {set i 0} {$i < 2500} {incr i} {
  32. execsql { INSERT INTO x8 VALUES( rnddoc(5) ); }
  33. }
  34. } msg] $msg
  35. } {0 {}}
  36. finish_test