summaryrefslogtreecommitdiffstats
path: root/mysql-test/suite/innodb_gis/t/rt_precise.test
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/suite/innodb_gis/t/rt_precise.test')
-rw-r--r--mysql-test/suite/innodb_gis/t/rt_precise.test74
1 files changed, 74 insertions, 0 deletions
diff --git a/mysql-test/suite/innodb_gis/t/rt_precise.test b/mysql-test/suite/innodb_gis/t/rt_precise.test
new file mode 100644
index 00000000..2f155814
--- /dev/null
+++ b/mysql-test/suite/innodb_gis/t/rt_precise.test
@@ -0,0 +1,74 @@
+#*****************************************************************
+# This was a Myisam testcase, converted to InnoDB
+# Since Innodb does not support the spatial key, hence converted
+# Orginal name of the testcase : gis_rt_precise.test
+#*****************************************************************
+--source include/have_innodb.inc
+-- source include/have_geometry.inc
+SET default_storage_engine=InnoDB;
+
+#
+# test of rtree (using with spatial data)
+#
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+
+CREATE TABLE t1 (
+ fid INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ g GEOMETRY NOT NULL,
+ KEY gis_key(g(5))
+) ENGINE=InnoDB;
+
+SHOW CREATE TABLE t1;
+
+--disable_query_log
+let $1=150;
+let $2=150;
+while ($1)
+{
+ eval INSERT INTO t1 (g) VALUES (ST_GeomFromText('LineString($1 $1, $2 $2)'));
+ dec $1;
+ inc $2;
+}
+--enable_query_log
+
+SELECT count(*) FROM t1;
+
+ANALYZE TABLE t1;
+
+--replace_column 9 #
+EXPLAIN SELECT fid, ST_AsText(g) FROM t1 WHERE ST_Within(g, ST_GeomFromText('Polygon((140 140,160 140,160 160,140 140))'));
+SELECT fid, ST_AsText(g) FROM t1 WHERE ST_Within(g, ST_GeomFromText('Polygon((140 140,160 140,160 160,140 160,140 140))')) ORDER BY fid;
+
+DROP TABLE t1;
+
+CREATE TABLE t1 (
+ fid INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ g GEOMETRY NOT NULL
+) ENGINE=InnoDB;
+
+--disable_query_log
+let $1=10;
+while ($1)
+{
+ let $2=10;
+ while ($2)
+ {
+ eval INSERT INTO t1 (g) VALUES (LineString(Point($1 * 10 - 9, $2 * 10 - 9), Point($1 * 10, $2 * 10)));
+ dec $2;
+ }
+ dec $1;
+}
+--enable_query_log
+
+#--error 1464
+ALTER TABLE t1 ADD SPATIAL KEY(g);
+SHOW CREATE TABLE t1;
+SELECT count(*) FROM t1;
+SELECT fid, ST_AsText(g) FROM t1 WHERE ST_Within(g,
+ ST_GeomFromText('Polygon((40 40,60 40,60 60,40 40))')) ORDER BY fid;
+
+DROP TABLE t1;
+
+--echo End of 5.5 tests.