Details
-
Bug
-
Status: In Progress (View Workflow)
-
Major
-
Resolution: Unresolved
-
13.1
-
Unexpected results
-
Q3/2026 Server Maintenance
Description
innodb_gis.point_basic fails on replay
EXPLAIN SELECT a, ST_AsText(p) FROM t1 WHERE a = 2 AND p = ST_GeomFromText('POINT(30 30)'); |
-id select_type table type possible_keys key key_len ref rows Extra |
-1 SIMPLE t1 const PRIMARY,idx2 PRIMARY 27 const 1 |
+ReplayTest: Query error:
|
+SET STATEMENT sql_mode=REPLACE(REPLACE(@@sql_mode,'STRICT_ALL_TABLES',''),'STRICT_TRANS_TABLES','') FOR |
+REPLACE INTO test.t1(a, p) VALUES (2, '\0\0\0\0\0\0\0\0\0\0\0\0\0>@\0\0\0\0\0\0>@'): Cannot get geometry object from data you send to the GEOMETRY field |
drop table t1; |
|
|
Result length mismatch
|
MTR testcase to repro issue: (Say example.test)
--source include/have_geometry.inc
|
--source include/have_innodb.inc
|
|
|
CREATE TABLE t1 ( |
a INT NOT NULL, |
p POINT NOT NULL, |
l LINESTRING NOT NULL, |
g GEOMETRY NOT NULL, |
PRIMARY KEY(p), |
SPATIAL KEY `idx2` (p), |
SPATIAL KEY `idx3` (l), |
SPATIAL KEY `idx4` (g) |
) ENGINE=InnoDB;
|
|
|
INSERT INTO t1 VALUES( |
1, ST_GeomFromText('POINT(10 10)'), |
ST_GeomFromText('LINESTRING(1 1, 5 5, 10 10)'), |
ST_GeomFromText('POLYGON((30 30, 40 40, 50 50, 30 50, 30 40, 30 30))')); |
|
|
INSERT INTO t1 VALUES( |
2, ST_GeomFromText('POINT(20 20)'), |
ST_GeomFromText('LINESTRING(2 3, 7 8, 9 10, 15 16)'), |
ST_GeomFromText('POLYGON((10 30, 30 40, 40 50, 40 30, 30 20, 10 30))')); |
|
|
--replace_column 9 #
|
EXPLAIN UPDATE t1 SET p = ST_GeomFromText('POINT(30 30)') WHERE p = ST_GeomFromText('POINT(20 20)'); |
UPDATE t1 SET p = ST_GeomFromText('POINT(30 30)') WHERE p = ST_GeomFromText('POINT(20 20)'); |
|
|
EXPLAIN SELECT a, ST_AsText(p) FROM t1 WHERE a = 2 AND p = ST_GeomFromText('POINT(30 30)'); |
drop table t1; |
How to repro
./mtr example.test --record |
./mtr example.test --replay-server |
Attachments
Issue Links
- relates to
-
MDEV-39368 Add mtr --replay-server option to test Optimizer Context Replay
-
- In Progress
-