13afca7d1Sdan# 2014 March 11 23afca7d1Sdan# 33afca7d1Sdan# The author disclaims copyright to this source code. In place of 43afca7d1Sdan# a legal notice, here is a blessing: 53afca7d1Sdan# 63afca7d1Sdan# May you do good and not evil. 73afca7d1Sdan# May you find forgiveness for yourself and forgive others. 83afca7d1Sdan# May you share freely, never taking more than you give. 93afca7d1Sdan# 103afca7d1Sdan#*********************************************************************** 113afca7d1Sdan# 123afca7d1Sdan# Miscellaneous tests for errors in the rtree constructor. 133afca7d1Sdan# 143afca7d1Sdan 153afca7d1Sdan 163afca7d1Sdanif {![info exists testdir]} { 173afca7d1Sdan set testdir [file join [file dirname [info script]] .. .. test] 183afca7d1Sdan} 193afca7d1Sdansource [file join [file dirname [info script]] rtree_util.tcl] 203afca7d1Sdansource $testdir/tester.tcl 213afca7d1Sdansource $testdir/lock_common.tcl 22*9c8753c0Sdanifcapable !rtree||!builtin_test { 233afca7d1Sdan finish_test 243afca7d1Sdan return 253afca7d1Sdan} 263afca7d1Sdanset testprefix rtreeD 273afca7d1Sdan 283afca7d1Sdan#------------------------------------------------------------------------- 293afca7d1Sdan# Test that if an SQLITE_BUSY is encountered within the vtable 303afca7d1Sdan# constructor, a relevant error message is returned. 313afca7d1Sdan# 323afca7d1Sdando_multiclient_test tn { 333afca7d1Sdan do_test 1.$tn.1 { 343afca7d1Sdan sql1 { 353afca7d1Sdan CREATE TABLE t1(a, b); 363afca7d1Sdan INSERT INTO t1 VALUES(1,2); 373afca7d1Sdan CREATE VIRTUAL TABLE rt USING rtree(id, minx, maxx, miny, maxy); 383afca7d1Sdan INSERT INTO rt VALUES(1,2,3,4,5); 393afca7d1Sdan } 403afca7d1Sdan } {} 413afca7d1Sdan 423afca7d1Sdan do_test 1.$tn.2 { 433afca7d1Sdan sql2 { SELECT * FROM t1; } 443afca7d1Sdan } {1 2} 453afca7d1Sdan 463afca7d1Sdan do_test 1.$tn.3 { 473afca7d1Sdan sql1 { BEGIN EXCLUSIVE; INSERT INTO t1 VALUES(3, 4); } 483afca7d1Sdan } {} 493afca7d1Sdan 503afca7d1Sdan do_test 1.$tn.4 { 513afca7d1Sdan list [catch { sql2 { SELECT * FROM rt } } msg] $msg 523afca7d1Sdan } {1 {database is locked}} 533afca7d1Sdan} 543afca7d1Sdan 553afca7d1Sdanfinish_test 56