In ORDER BY LIMIT queries, try to evaluate the ORDER BY terms first, and it
[sqlite.git] / ext / rtree / rtreeG.test
blob12225d5832ee7dcfb7704d1cb753ac5bf88ca25e
1 # 2016-05-32
3 # The author disclaims copyright to this source code.  In place of
4 # a legal notice, here is a blessing:
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.
10 #***********************************************************************
11 # This file contains tests for the r-tree module.
13 # Verify that no invalid SQL is run during initialization
15 if {![info exists testdir]} {
16   set testdir [file join [file dirname [info script]] .. .. test]
17
18 source [file join [file dirname [info script]] rtree_util.tcl]
19 source $testdir/tester.tcl
20 ifcapable !rtree { finish_test ; return }
22 db close
23 sqlite3_shutdown
24 test_sqlite3_log [list lappend ::log]
25 set ::log [list]
26 sqlite3 db test.db
29 set ::log {}
30 do_execsql_test rtreeG-1.1 {
31   CREATE VIRTUAL TABLE t1 USING rtree(id,x0,x1,y0,y1);
32 } {}
33 do_test rtreeG-1.1log {
34   set ::log
35 } {}
37 do_execsql_test rtreeG-1.2 {
38   INSERT INTO t1 VALUES(1,10,15,5,23),(2,20,21,5,23),(3,10,15,20,30);
39   SELECT id from t1 WHERE x0>8 AND x1<16 AND y0>2 AND y1<25;
40 } {1}
41 do_rtree_integrity_test rtreeG-1.2.integrity t1
42 do_test rtreeG-1.2log {
43   set ::log
44 } {}
46 db close
47 sqlite3 db test.db
48 do_execsql_test rtreeG-1.3 {
49   SELECT id from t1 WHERE x0>8 AND x1<16 AND y0>2 AND y1<25;
50 } {1}
51 do_test rtreeG-1.3log {
52   set ::log
53 } {}
55 do_execsql_test rtreeG-1.4 {
56   DROP TABLE t1;
57 } {}
58 do_test rtreeG-1.4log {
59   set ::log
60 } {}
62 expand_all_sql db
63 db close
64 sqlite3_shutdown
65 test_sqlite3_log
66 sqlite3_initialize
67 sqlite3 db test.db
69 finish_test