Index: third_party/sqlite/src/ext/rtree/rtreeE.test |
diff --git a/third_party/sqlite/src/ext/rtree/rtreeE.test b/third_party/sqlite/src/ext/rtree/rtreeE.test |
index c450623790e45e656a6678a497c3729556b24e9f..3e5ba3a67fa9333a779ce6a67d993587f5d43ede 100644 |
--- a/third_party/sqlite/src/ext/rtree/rtreeE.test |
+++ b/third_party/sqlite/src/ext/rtree/rtreeE.test |
@@ -52,6 +52,9 @@ do_execsql_test rtreeE-1.1 { |
do_execsql_test rtreeE-1.1 { |
SELECT id FROM rt1 WHERE id MATCH Qcircle(0.0, 0.0, 50.0, 3) ORDER BY id; |
} {0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24} |
+do_execsql_test rtreeE-1.1x { |
+ SELECT id FROM rt1 WHERE id MATCH Qcircle('x:0 y:0 r:50.0 e:3') ORDER BY id; |
+} {0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24} |
do_execsql_test rtreeE-1.2 { |
SELECT id FROM rt1 WHERE id MATCH Qcircle(100.0, 0.0, 50.0, 3) ORDER BY id; |
} {100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124} |
@@ -64,12 +67,12 @@ do_execsql_test rtreeE-1.3 { |
# last. |
# |
do_execsql_test rtreeE-1.4 { |
- SELECT id FROM rt1 WHERE id MATCH Qcircle(0,0,1000,3) AND id%100==0 |
+ SELECT id FROM rt1 WHERE id MATCH Qcircle('r:1000 e:3') AND id%100==0 |
} {200 100 0} |
# Exclude odd rowids on a depth-first search |
do_execsql_test rtreeE-1.5 { |
- SELECT id FROM rt1 WHERE id MATCH Qcircle(0,0,1000,4) ORDER BY +id |
+ SELECT id FROM rt1 WHERE id MATCH Qcircle('r:1000 e:4') ORDER BY +id |
} {0 2 4 6 8 10 12 14 16 18 20 22 24 100 102 104 106 108 110 112 114 116 118 120 122 124 200 202 204 206 208 210 212 214 216 218 220 222 224} |
# Exclude odd rowids on a breadth-first search. |
@@ -77,6 +80,13 @@ do_execsql_test rtreeE-1.6 { |
SELECT id FROM rt1 WHERE id MATCH Qcircle(0,0,1000,5) ORDER BY +id |
} {0 2 4 6 8 10 12 14 16 18 20 22 24 100 102 104 106 108 110 112 114 116 118 120 122 124 200 202 204 206 208 210 212 214 216 218 220 222 224} |
+# Test that rtree prefers MATCH to lookup-by-rowid. |
+# |
+do_execsql_test rtreeE-1.7 { |
+ SELECT id FROM rt1 WHERE id=18 AND id MATCH Qcircle(0,0,1000,5) |
+} {18} |
+ |
+ |
# Construct a large 2-D RTree with thousands of random entries. |
# |
do_test rtreeE-2.1 { |
@@ -126,4 +136,5 @@ do_execsql_test rtreeE-2.4 { |
SELECT id FROM rt2 WHERE id MATCH breadthfirstsearch(0,10000,0,10000) ORDER BY id |
} $ans |
+ |
finish_test |