create table t1 (c1 int, c2 geometry not null, spatial index (c2))engine=innodb;
create procedure insert_t1(IN total int)
begin
declare i int default 1 ;
while (i <= total) DO
insert into t1 values
(i, Point(i, i)),
(i + 1 , Point(i + 1 , i + 1 )),
(i + 2 , Point(i + 2 , i + 2 )),
(i + 3 , Point(i + 3 , i + 3 )),
(i + 4 , Point(i + 4 , i + 4 )),
(i + 5 , Point(i + 5 , i + 5 )),
(i + 6 , Point(i + 6 , i + 6 )),
(i + 7 , Point(i + 7 , i + 7 )),
(i + 8 , Point(i + 8 , i + 8 )),
(i + 9 , Point(i + 9 , i + 9 ));
set i = i + 10 ;
end while;
end|
CALL insert_t1(5000 );
select count(*) from t1;
count(*)
5000
check table t1;
Table Op Msg_type Msg_text
test.t1 check status OK
truncate table t1;
CALL insert_t1(10000 );
select count(*) from t1;
count(*)
10000
drop index c2 on t1;
create spatial index idx on t1(c2);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`c1` int(11 ) DEFAULT NULL,
`c2` geometry NOT NULL,
SPATIAL KEY `idx` (`c2`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
SET @save_dbug = @@SESSION.debug_dbug;
SET debug_dbug='+d,row_merge_ins_spatial_fail' ;
create spatial index idx2 on t1(c2);
ERROR HY000: Got error 1000 "Unknown error 1000" from storage engine InnoDB
SET @@SESSION.debug_dbug = @save_dbug;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`c1` int(11 ) DEFAULT NULL,
`c2` geometry NOT NULL,
SPATIAL KEY `idx` (`c2`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
check table t1;
Table Op Msg_type Msg_text
test.t1 check status OK
truncate table t1;
CALL insert_t1(100000 );
select count(*) from t1;
count(*)
100000
check table t1;
Table Op Msg_type Msg_text
test.t1 check status OK
truncate table t1;
drop procedure insert_t1;
drop table t1;
#
# MDEV-39800 Assertion `!(mode & 2048 U) || (mode & 512 U) || is_supremum' failed
#
CREATE TABLE t1 (pt POINT NOT NULL, SPATIAL INDEX(pt)) ENGINE=InnoDB;
INSERT INTO t1 VALUES (ST_GeomFromText('POINT(5 5)' ));
connect con1,localhost,root,,test;
SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE;
BEGIN;
SELECT COUNT(*) FROM t1 WHERE ST_Within(pt, ST_GeomFromText('POLYGON((0 0,100 0,100 100,0 100,0 0))' ));
COUNT(*)
1
connection default;
SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE;
BEGIN;
SELECT COUNT(*) FROM t1 WHERE ST_Within(pt, ST_GeomFromText('POLYGON((0 0,100 0,100 100,0 100,0 0))' ));
COUNT(*)
1
connection con1;
INSERT INTO t1 VALUES (ST_GeomFromText('POINT(6 6)' ));
connection default;
INSERT INTO t1 VALUES (ST_GeomFromText('POINT(7 7)' ));
ERROR 40001 : Deadlock found when trying to get lock; try restarting transaction
connection con1;
COMMIT;
SELECT COUNT(*) FROM t1;
COUNT(*)
2
connection default;
disconnect con1;
DROP TABLE t1;
Messung V0.5 in Prozent C=50 H=100 G=79
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet am 2026-10-08)
¤
*© Formatika GbR, Deutschland