Return to rtree7.test CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / sqlite3 / ext / rtree |
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