mirror of
https://github.com/MariaDB/server.git
synced 2025-08-07 00:04:31 +03:00
MDEV-35420 Server aborts while deleting the record in spatial index
- This issue caused by commit a032f14b342c782b82dfcd9235805bee446e6fe8(MDEV-33559). In MDEV-33559, matched_rec::block was changed to pointer and assinged with the help of buf_block_alloc(). But patch fails to check for the block can be nullptr in rtr_check_discard_page(). rtr_cur_search_with_match(): Acquire rtr_match_mutex before creating shadow block for the matched records rtr_pcur_move_to_next(): Copy the shadow block to page cursor block under rtr_match_mutex
This commit is contained in:
committed by
Sergei Golubchik
parent
56bc6901d6
commit
f1deebbb0b
@@ -8,6 +8,7 @@
|
||||
# Avoid CrashReporter popup on Mac
|
||||
--source include/not_crashrep.inc
|
||||
--source include/have_innodb_16k.inc
|
||||
--source include/have_sequence.inc
|
||||
|
||||
CREATE TABLE t4 (id bigint(12) unsigned NOT NULL auto_increment,
|
||||
c2 varchar(15) collate utf8_bin default NULL,
|
||||
@@ -475,3 +476,15 @@ update t1 set a=point(5,5), b=point(5,5), c=5 where i < 3;
|
||||
insert into t1 values(5, point(5,5), point(5,5), 5);
|
||||
|
||||
drop table t1;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-35420 Server aborts while deleting the record
|
||||
--echo # in spatial index
|
||||
--echo #
|
||||
CREATE TABLE t1 (c POINT NOT NULL, SPATIAL(c)) engine=InnoDB;
|
||||
CHECK TABLE t1;
|
||||
SET STATEMENT unique_checks=0,foreign_key_checks=0 FOR
|
||||
START TRANSACTION;
|
||||
INSERT INTO t1 SELECT ST_GeomFromText('POINT(114368751 656950466)') FROM seq_1_to_512;
|
||||
ROLLBACK;
|
||||
DROP TABLE t1;
|
||||
|
Reference in New Issue
Block a user