xref: /sqlite-3.40.0/ext/rtree/rtree5.test (revision eab0e103)
13ddb5a51Sdanielk1977# 2008 Jul 14
23ddb5a51Sdanielk1977#
33ddb5a51Sdanielk1977# The author disclaims copyright to this source code.  In place of
43ddb5a51Sdanielk1977# a legal notice, here is a blessing:
53ddb5a51Sdanielk1977#
63ddb5a51Sdanielk1977#    May you do good and not evil.
73ddb5a51Sdanielk1977#    May you find forgiveness for yourself and forgive others.
83ddb5a51Sdanielk1977#    May you share freely, never taking more than you give.
93ddb5a51Sdanielk1977#
103ddb5a51Sdanielk1977#***********************************************************************
113ddb5a51Sdanielk1977#
123ddb5a51Sdanielk1977# The focus of this file is testing the r-tree extension when it is
133ddb5a51Sdanielk1977# configured to store values as 32 bit integers.
143ddb5a51Sdanielk1977#
153ddb5a51Sdanielk1977
163ddb5a51Sdanielk1977if {![info exists testdir]} {
17897230ebSdan  set testdir [file join [file dirname [info script]] .. .. test]
183ddb5a51Sdanielk1977}
191917e92fSdansource [file join [file dirname [info script]] rtree_util.tcl]
203ddb5a51Sdanielk1977source $testdir/tester.tcl
213ddb5a51Sdanielk1977
223ddb5a51Sdanielk1977ifcapable !rtree {
233ddb5a51Sdanielk1977  finish_test
243ddb5a51Sdanielk1977  return
253ddb5a51Sdanielk1977}
263ddb5a51Sdanielk1977
273ddb5a51Sdanielk1977do_test rtree5-1.0 {
283ddb5a51Sdanielk1977  execsql { CREATE VIRTUAL TABLE t1 USING rtree_i32(id, x1, x2, y1, y2) }
293ddb5a51Sdanielk1977} {}
303ddb5a51Sdanielk1977do_test rtree5-1.1 {
313ddb5a51Sdanielk1977  execsql { INSERT INTO t1 VALUES(1, 5, 10, 4, 11.2) }
323ddb5a51Sdanielk1977} {}
333ddb5a51Sdanielk1977do_test rtree5-1.2 {
343ddb5a51Sdanielk1977  execsql { SELECT * FROM t1 }
353ddb5a51Sdanielk1977} {1 5 10 4 11}
363ddb5a51Sdanielk1977do_test rtree5-1.3 {
373ddb5a51Sdanielk1977  execsql { SELECT typeof(x1) FROM t1 }
383ddb5a51Sdanielk1977} {integer}
393ddb5a51Sdanielk1977
403ddb5a51Sdanielk1977do_test rtree5-1.4 {
413ddb5a51Sdanielk1977  execsql { SELECT x1==5 FROM t1 }
423ddb5a51Sdanielk1977} {1}
433ddb5a51Sdanielk1977do_test rtree5-1.5 {
443ddb5a51Sdanielk1977  execsql { SELECT x1==5.2 FROM t1 }
453ddb5a51Sdanielk1977} {0}
463ddb5a51Sdanielk1977do_test rtree5-1.6 {
473ddb5a51Sdanielk1977  execsql { SELECT x1==5.0 FROM t1 }
483ddb5a51Sdanielk1977} {1}
493ddb5a51Sdanielk1977
503ddb5a51Sdanielk1977do_test rtree5-1.7 {
513ddb5a51Sdanielk1977  execsql { SELECT count(*) FROM t1 WHERE x1==5 }
523ddb5a51Sdanielk1977} {1}
53f439fbdaSdrhifcapable !rtree_int_only {
543ddb5a51Sdanielk1977  do_test rtree5-1.8 {
553ddb5a51Sdanielk1977    execsql { SELECT count(*) FROM t1 WHERE x1==5.2 }
563ddb5a51Sdanielk1977  } {0}
57f439fbdaSdrh}
583ddb5a51Sdanielk1977do_test rtree5-1.9 {
593ddb5a51Sdanielk1977  execsql { SELECT count(*) FROM t1 WHERE x1==5.0 }
603ddb5a51Sdanielk1977} {1}
613ddb5a51Sdanielk1977
623ddb5a51Sdanielk1977do_test rtree5-1.10 {
633ddb5a51Sdanielk1977  execsql { SELECT (1<<31)-5, (1<<31)-1, -1*(1<<31), -1*(1<<31)+5 }
643ddb5a51Sdanielk1977} {2147483643 2147483647 -2147483648 -2147483643}
6565eb6476Smistachkindo_test rtree5-1.11 {
663ddb5a51Sdanielk1977  execsql {
673ddb5a51Sdanielk1977    INSERT INTO t1 VALUES(2, (1<<31)-5, (1<<31)-1, -1*(1<<31), -1*(1<<31)+5)
683ddb5a51Sdanielk1977  }
693ddb5a51Sdanielk1977} {}
703ddb5a51Sdanielk1977do_test rtree5-1.12 {
713ddb5a51Sdanielk1977  execsql { SELECT * FROM t1 WHERE id=2 }
723ddb5a51Sdanielk1977} {2 2147483643 2147483647 -2147483648 -2147483643}
733ddb5a51Sdanielk1977do_test rtree5-1.13 {
743ddb5a51Sdanielk1977  execsql {
753ddb5a51Sdanielk1977    SELECT * FROM t1 WHERE
763ddb5a51Sdanielk1977        x1=2147483643 AND x2=2147483647 AND
773ddb5a51Sdanielk1977        y1=-2147483648 AND y2=-2147483643
783ddb5a51Sdanielk1977  }
793ddb5a51Sdanielk1977} {2 2147483643 2147483647 -2147483648 -2147483643}
801917e92fSdando_rtree_integrity_test rtree5-1.14 t1
813ddb5a51Sdanielk1977
82*eab0e103Sdanexpand_all_sql db
833ddb5a51Sdanielk1977finish_test
84