58 lines
1.6 KiB
Plaintext
58 lines
1.6 KiB
Plaintext
# Start server with MyISAM
|
|
--source include/force_myisam_default.inc
|
|
|
|
# Skip the test if MyISAM is not available
|
|
--source include/have_myisam.inc
|
|
|
|
# Test requires: sp-protocol/ps-protocol/view-protocol/cursor-protocol disabled
|
|
--source include/no_protocol.inc
|
|
|
|
# The main testing script
|
|
--source suite/opt_trace/include/range.inc
|
|
|
|
--echo
|
|
--echo # BUG#18023222 OPTIMIZER TRACE ERROR ON RANGE ANALYSIS OF
|
|
--echo # INDEX ON A BINARY COLUMN
|
|
--echo
|
|
|
|
CREATE TABLE t(i INT PRIMARY KEY, b BINARY(16), INDEX i_b(b));
|
|
INSERT INTO t VALUES (1, x'D95B94336A9946A39CF5B58CFE772D8C');
|
|
INSERT INTO t VALUES (2, NULL);
|
|
|
|
EXPLAIN SELECT * FROM t WHERE b IN (0xD95B94336A9946A39CF5B58CFE772D8C);
|
|
SELECT trace FROM information_schema.optimizer_trace;
|
|
|
|
EXPLAIN SELECT * FROM t WHERE b IS NULL;
|
|
SELECT trace FROM information_schema.optimizer_trace;
|
|
|
|
drop table t;
|
|
|
|
--source include/show_json_object.inc
|
|
|
|
--echo #
|
|
--echo # Test trace of geometry fields
|
|
--echo #
|
|
|
|
# Must be an engine that supports spatial indexes
|
|
CREATE TABLE t1(
|
|
pk INT AUTO_INCREMENT PRIMARY KEY,
|
|
col_geom GEOMETRY NOT NULL SRID 0
|
|
) ENGINE=MyISAM;
|
|
|
|
INSERT INTO t1 VALUES (1, ST_GeomFromText('POINT(10 10)'));
|
|
INSERT INTO t1 VALUES (2, ST_GeomFromText('POINT(11 11)'));
|
|
|
|
CREATE SPATIAL INDEX idx3 on t1(col_geom);
|
|
|
|
--echo # Show that geometry data is traced as "unprintable_geometry_value"
|
|
EXPLAIN
|
|
SELECT pk, ST_AsText(col_geom)
|
|
FROM t1
|
|
WHERE MBREquals(t1.col_geom, ST_GeomFromText('POINT(12 13)'));
|
|
|
|
SELECT show_json_object('"range_scan_alternatives": [', TRACE)
|
|
FROM INFORMATION_SCHEMA.OPTIMIZER_TRACE;
|
|
|
|
DROP TABLE t1;
|
|
DROP FUNCTION show_json_object;
|