| # 2017 August 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. |
| # |
| #*********************************************************************** |
| # |
| # The focus of this file is testing the r-tree extension. Specifically, |
| # the impact of an SQLITE_SCHEMA error within the rtree module xConnect |
| # callback. |
| # |
| |
| |
| if {![info exists testdir]} { |
| set testdir [file join [file dirname [info script]] .. .. test] |
| } |
| source $testdir/tester.tcl |
| set testprefix rtreeconnect |
| |
| ifcapable !rtree { |
| finish_test |
| return |
| } |
| |
| do_execsql_test 1.0 { |
| CREATE VIRTUAL TABLE r1 USING rtree(id, x1, x2, y1, y2); |
| CREATE TABLE t1(id, x1, x2, y1, y2); |
| CREATE TABLE log(l); |
| |
| CREATE TRIGGER tr1 AFTER INSERT ON t1 BEGIN |
| INSERT INTO r1 VALUES(new.id, new.x1, new.x2, new.y1, new.y2); |
| INSERT INTO log VALUES('r1: ' || new.id); |
| END; |
| } |
| |
| db close |
| sqlite3 db test.db |
| sqlite3 db2 test.db |
| |
| do_test 1.1 { |
| db eval { INSERT INTO log VALUES('startup'); } |
| db2 eval { CREATE TABLE newtable(x,y); } |
| } {} |
| |
| do_execsql_test 1.2 { |
| INSERT INTO t1 VALUES(1, 2, 3, 4, 5); |
| } |
| |
| db2 close |
| db close |
| |
| finish_test |