Annotation of embedaddon/sqlite3/ext/rtree/rtree7.test, revision 1.1.1.1

1.1       misho       1: # 2010 February 16
                      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 nothing goes wrong if an rtree table is created, then the
                     13: # database page-size is modified. At one point (3.6.22), this was causing
                     14: # malfunctions.
                     15: #
                     16: 
                     17: if {![info exists testdir]} {
                     18:   set testdir [file join [file dirname [info script]] .. .. test]
                     19: } 
                     20: source $testdir/tester.tcl
                     21: 
                     22: ifcapable !rtree||!vacuum {
                     23:   finish_test
                     24:   return
                     25: }
                     26: 
                     27: do_test rtree7-1.1 {
                     28:   execsql {
                     29:     PRAGMA page_size = 1024;
                     30:     CREATE VIRTUAL TABLE rt USING rtree(id, x1, x2, y1, y2);
                     31:     INSERT INTO rt VALUES(1, 1, 2, 3, 4);
                     32:   }
                     33: } {}
                     34: do_test rtree7-1.2 {
                     35:   execsql { SELECT * FROM rt }
                     36: } {1 1.0 2.0 3.0 4.0}
                     37: do_test rtree7-1.3 {
                     38:   execsql { 
                     39:     PRAGMA page_size = 2048;
                     40:     VACUUM;
                     41:     SELECT * FROM rt;
                     42:   }
                     43: } {1 1.0 2.0 3.0 4.0}
                     44: do_test rtree7-1.4 {
                     45:   for {set i 2} {$i <= 51} {incr i} {
                     46:     execsql { INSERT INTO rt VALUES($i, 1, 2, 3, 4) }
                     47:   }
                     48:   execsql { SELECT sum(x1), sum(x2), sum(y1), sum(y2) FROM rt }
                     49: } {51.0 102.0 153.0 204.0}
                     50: do_test rtree7-1.5 {
                     51:   execsql { 
                     52:     PRAGMA page_size = 512;
                     53:     VACUUM;
                     54:     SELECT sum(x1), sum(x2), sum(y1), sum(y2) FROM rt
                     55:   }
                     56: } {51.0 102.0 153.0 204.0}
                     57: 
                     58: finish_test

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>