xref: /sqlite-3.40.0/ext/rtree/rtreecirc.test (revision deb201b8)
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