mirror of
https://github.com/MariaDB/server.git
synced 2025-02-09 23:24:11 +01:00
9608773f75
This essentially reverts commit 4e89ec6692
and only disables InnoDB persistent statistics for tests where it is
desirable. By design, InnoDB persistent statistics will not be updated
except by ANALYZE TABLE or by STATS_AUTO_RECALC.
The internal transactions that update persistent InnoDB statistics
in background tasks (with innodb_stats_auto_recalc=ON) may cause
nondeterministic query plans or interfere with some tests that deal
with other InnoDB internals, such as the purge of transaction history.
74 lines
1.7 KiB
Text
74 lines
1.7 KiB
Text
#*****************************************************************
|
|
# 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.
|