# 2018年05月16日## The author disclaims copyright to this source code. In place of# a legal notice, here is a blessing:## May you do good and not evil.# May you find forgiveness for yourself and forgive others.# May you share freely, never taking more than you give.##***********************************************************************# This file contains tests for the r-tree module, specifically the# auxiliary column mechanism.if {![info exists testdir]} {set testdir [file join [file dirname [info script]] .. .. test]}source [file join [file dirname [info script]] rtree_util.tcl]source $testdir/tester.tclifcapable !rtree { finish_test ; return }do_execsql_test rtreeH-100 {CREATE VIRTUAL TABLE t1 USING rtree(id,x0,x1,y0,y1,+label,+other);INSERT INTO t1(x0,x1,y0,y1,label) VALUES(0,10,0,10,'lower-left corner'),(0,10,90,100,'upper-left corner'),(90,100,0,10,'lower-right corner'),(90,100,90,100,'upper-right corner'),(40,60,40,60,'center'),(0,5,0,100,'left edge'),(95,100,0,100,'right edge'),(0,100,0,5,'bottom edge'),(0,100,95,100,'top edge'),(0,100,0,100,'the whole thing'),(0,50,0,100,'left half'),(51,100,0,100,'right half'),(0,100,0,50,'bottom half'),(0,100,51,100,'top half');} {}do_execsql_test rtreeH-101 {SELECT * FROM t1_rowid ORDER BY rowid} {1 1 {lower-left corner} {} 2 1 {upper-left corner} {} 3 1 {lower-right corner} {} 4 1 {upper-right corner} {} 5 1 center {} 6 1 {left edge} {} 7 1 {right edge} {} 8 1 {bottom edge} {} 9 1 {top edge} {} 10 1 {the whole thing} {} 11 1 {left half} {} 12 1 {right half} {} 13 1 {bottom half} {} 14 1 {top half} {}}do_execsql_test rtreeH-102 {SELECT * FROM t1 WHERE rowid=5;} {5 40.0 60.0 40.0 60.0 center {}}do_execsql_test rtreeH-102b {SELECT * FROM t1 WHERE rowid=5.0;} {5 40.0 60.0 40.0 60.0 center {}}do_execsql_test rtreeH-102c {SELECT * FROM t1 WHERE rowid='5';} {5 40.0 60.0 40.0 60.0 center {}}do_execsql_test rtreeH-102d {SELECT * FROM t1 WHERE rowid='0005';} {5 40.0 60.0 40.0 60.0 center {}}do_execsql_test rtreeH-102e {SELECT * FROM t1 WHERE rowid='+5.0e+0';} {5 40.0 60.0 40.0 60.0 center {}}do_execsql_test rtreeH-103 {SELECT * FROM t1 WHERE label='center';} {5 40.0 60.0 40.0 60.0 center {}}do_execsql_test rtreeH-104 {SELECT * FROM t1 WHERE rowid='+5.0e+0x';} {}do_execsql_test rtreeH-105 {SELECT * FROM t1 WHERE rowid=x'35';} {}do_execsql_test rtreeH-106 {SELECT * FROM t1 WHERE rowid=null;} {}do_rtree_integrity_test rtreeH-110 t1do_execsql_test rtreeH-120 {SELECT label FROM t1 WHERE x1<=50 ORDER BY id} {{lower-left corner} {upper-left corner} {left edge} {left half}}do_execsql_test rtreeH-121 {SELECT label FROM t1 WHERE x1<=50 AND label NOT LIKE '%corner%' ORDER BY id} {{left edge} {left half}}do_execsql_test rtreeH-200 {WITH RECURSIVEc1(x) AS (VALUES(0) UNION ALL SELECT x+1 FROM c1 WHERE x<99),c2(y) AS (VALUES(0) UNION ALL SELECT y+1 FROM c2 WHERE y<99)INSERT INTO t1(id, x0,x1,y0,y1,label)SELECT 1000+x+y*100, x, x+1, y, y+1, printf('box-%d,%d',x,y) FROM c1, c2;} {}do_execsql_test rtreeH-210 {SELECT label FROM t1 WHERE x0>=48 AND x1<=50 AND y0>=48 AND y1<=50ORDER BY id;} {box-48,48 box-49,48 box-48,49 box-49,49}do_execsql_test rtreeH-300 {UPDATE t1 SET label='x'||labelWHERE x0>=49 AND x1<=50 AND y0>=49 AND y1<=50;SELECT label FROM t1 WHERE x0>=48 AND x1<=50 AND y0>=48 AND y1<=50ORDER BY id;} {box-48,48 box-49,48 box-48,49 xbox-49,49}finish_test
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。