1*deb201b8Sdan# 2018 Dec 22 2*deb201b8Sdan# 3*deb201b8Sdan# The author disclaims copyright to this source code. In place of 4*deb201b8Sdan# a legal notice, here is a blessing: 5*deb201b8Sdan# 6*deb201b8Sdan# May you do good and not evil. 7*deb201b8Sdan# May you find forgiveness for yourself and forgive others. 8*deb201b8Sdan# May you share freely, never taking more than you give. 9*deb201b8Sdan# 10*deb201b8Sdan#************************************************************************* 11*deb201b8Sdan# This file implements regression tests for SQLite library. The 12*deb201b8Sdan# focus of this script is testing the FTS5 module. 13*deb201b8Sdan# 14*deb201b8Sdan 15*deb201b8Sdanif {![info exists testdir]} { 16*deb201b8Sdan set testdir [file join [file dirname [info script]] .. .. test] 17*deb201b8Sdan} 18*deb201b8Sdansource [file join [file dirname [info script]] rtree_util.tcl] 19*deb201b8Sdansource $testdir/tester.tcl 20*deb201b8Sdanset testprefix rtreecirc 21*deb201b8Sdan 22*deb201b8Sdanifcapable !rtree { 23*deb201b8Sdan finish_test 24*deb201b8Sdan return 25*deb201b8Sdan} 26*deb201b8Sdan 27*deb201b8Sdando_execsql_test 1.0 { 28*deb201b8Sdan CREATE VIRTUAL TABLE rt USING rtree(id, x1, x2, y1, y2); 29*deb201b8Sdan SELECT name FROM sqlite_master ORDER BY 1; 30*deb201b8Sdan} { 31*deb201b8Sdan rt rt_node rt_parent rt_rowid 32*deb201b8Sdan} 33*deb201b8Sdandb_save_and_close 34*deb201b8Sdan 35*deb201b8Sdanforeach {tn schema sql} { 36*deb201b8Sdan 1 { 37*deb201b8Sdan CREATE TRIGGER tr1 AFTER INSERT ON rt_node BEGIN 38*deb201b8Sdan SELECT * FROM rt; 39*deb201b8Sdan END; 40*deb201b8Sdan } { 41*deb201b8Sdan INSERT INTO rt VALUES(1, 2, 3, 4, 5); 42*deb201b8Sdan } 43*deb201b8Sdan 2 { 44*deb201b8Sdan CREATE TRIGGER tr1 AFTER INSERT ON rt_parent BEGIN 45*deb201b8Sdan SELECT * FROM rt; 46*deb201b8Sdan END; 47*deb201b8Sdan } { 48*deb201b8Sdan INSERT INTO rt VALUES(1, 2, 3, 4, 5); 49*deb201b8Sdan } 50*deb201b8Sdan 3 { 51*deb201b8Sdan CREATE TRIGGER tr1 AFTER INSERT ON rt_rowid BEGIN 52*deb201b8Sdan SELECT * FROM rt; 53*deb201b8Sdan END; 54*deb201b8Sdan } { 55*deb201b8Sdan INSERT INTO rt VALUES(1, 2, 3, 4, 5); 56*deb201b8Sdan } 57*deb201b8Sdan} { 58*deb201b8Sdan db_restore_and_reopen 59*deb201b8Sdan do_execsql_test 1.1.$tn.1 $schema 60*deb201b8Sdan do_catchsql_test 1.1.$tn.2 $sql {1 {no such table: main.rt}} 61*deb201b8Sdan db close 62*deb201b8Sdan} 63*deb201b8Sdan 64*deb201b8Sdan 65*deb201b8Sdanfinish_test 66*deb201b8Sdan 67