summaryrefslogtreecommitdiff
path: root/mysql-test
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2022-09-12 09:27:46 +0300
committerMarko Mäkelä <marko.makela@mariadb.com>2022-09-12 09:27:46 +0300
commit667df98c3e0f32d391af4eb65c618043720b6a2f (patch)
tree55a77f8e16ef1c08d36f0d67fed784f6caa67380 /mysql-test
parent43745b7e17e2889c0e2891a2ffaf4ec203aa5c7b (diff)
downloadmariadb-git-667df98c3e0f32d391af4eb65c618043720b6a2f.tar.gz
MDEV-29507 InnoDB: Failing assertion: table->n_rec_locks == 0
lock_place_prdt_page_lock(): Do not place locks on temporary tables. Temporary tables can only be accessed from one connection, so it does not make any sense to acquire any transactional locks on them.
Diffstat (limited to 'mysql-test')
-rw-r--r--mysql-test/suite/innodb_gis/r/rtree_temporary.result10
-rw-r--r--mysql-test/suite/innodb_gis/t/rtree_temporary.test13
2 files changed, 23 insertions, 0 deletions
diff --git a/mysql-test/suite/innodb_gis/r/rtree_temporary.result b/mysql-test/suite/innodb_gis/r/rtree_temporary.result
index 5ce02c881cc..c34df7f2d9c 100644
--- a/mysql-test/suite/innodb_gis/r/rtree_temporary.result
+++ b/mysql-test/suite/innodb_gis/r/rtree_temporary.result
@@ -12,3 +12,13 @@ CREATE TEMPORARY TABLE t1 (c POINT NOT NULL,SPATIAL (c)) ENGINE=InnoDB;
INSERT INTO t1 SELECT POINT(0,0) FROM seq_1_to_366;
INSERT INTO t1 VALUES (POINT(1e-270,1e-130));
DROP TABLE t1;
+#
+# MDEV-29507 InnoDB: Failing assertion: table->n_rec_locks == 0
+#
+connect con1,localhost,root,,;
+CREATE TEMPORARY TABLE t (c POINT NOT NULL,SPATIAL (c)) ENGINE=InnoDB;
+INSERT INTO t SELECT POINTFROMTEXT ('POINT(0 0)') FROM seq_1_to_500;
+XA BEGIN 'a';
+DELETE FROM t ORDER BY c;
+disconnect con1;
+# End of 10.3 tests
diff --git a/mysql-test/suite/innodb_gis/t/rtree_temporary.test b/mysql-test/suite/innodb_gis/t/rtree_temporary.test
index 5c4df251970..e541d7c2698 100644
--- a/mysql-test/suite/innodb_gis/t/rtree_temporary.test
+++ b/mysql-test/suite/innodb_gis/t/rtree_temporary.test
@@ -16,3 +16,16 @@ CREATE TEMPORARY TABLE t1 (c POINT NOT NULL,SPATIAL (c)) ENGINE=InnoDB;
INSERT INTO t1 SELECT POINT(0,0) FROM seq_1_to_366;
INSERT INTO t1 VALUES (POINT(1e-270,1e-130));
DROP TABLE t1;
+
+--echo #
+--echo # MDEV-29507 InnoDB: Failing assertion: table->n_rec_locks == 0
+--echo #
+
+connect con1,localhost,root,,;
+CREATE TEMPORARY TABLE t (c POINT NOT NULL,SPATIAL (c)) ENGINE=InnoDB;
+INSERT INTO t SELECT POINTFROMTEXT ('POINT(0 0)') FROM seq_1_to_500;
+XA BEGIN 'a';
+DELETE FROM t ORDER BY c;
+disconnect con1;
+
+--echo # End of 10.3 tests