mirror of
https://github.com/MariaDB/server.git
synced 2025-02-01 11:31:51 +01:00
a699e4fce8
InnoDB AUTOINC code expects the locks to be released in strict reverse order at the end of the statement. However, nested stored proedures and partition tables break this rule. We now allow the locks to be deleted from the trx->autoinc_locks vector in any order but optimise for the common (old) case. rb://441 Approved by Marko Makela
30 lines
827 B
Text
30 lines
827 B
Text
DROP TABLE IF EXISTS t1_56228;
|
|
Warnings:
|
|
Note 1051 Unknown table 't1_56228'
|
|
DROP TABLE IF EXISTS t2_56228;
|
|
Warnings:
|
|
Note 1051 Unknown table 't2_56228'
|
|
DROP FUNCTION IF EXISTS bug56228;
|
|
Warnings:
|
|
Note 1305 FUNCTION bug56228 does not exist
|
|
CREATE TEMPORARY TABLE t1_56228(
|
|
c1 iNT AUTO_INCREMENT PRIMARY KEY) ENGINE=InnoDB;
|
|
CREATE TEMPORARY TABLE t2_56228(
|
|
c1 iNT AUTO_INCREMENT PRIMARY KEY) ENGINE=InnoDB;
|
|
CREATE FUNCTION bug56228() RETURNS INT DETERMINISTIC
|
|
BEGIN
|
|
INSERT INTO t1_56228 VALUES(NULL);
|
|
INSERT INTO t2_56228 VALUES(NULL);
|
|
INSERT INTO t1_56228 VALUES(NULL);
|
|
INSERT INTO t2_56228 VALUES(NULL);
|
|
DROP TEMPORARY TABLE t1_56228;
|
|
RETURN 42;
|
|
END //
|
|
SELECT bug56228();
|
|
bug56228()
|
|
42
|
|
DROP FUNCTION bug56228;
|
|
DROP TEMPORARY TABLE t2_56228;
|
|
DROP TEMPORARY TABLE IF EXISTS t1_56228;
|
|
Warnings:
|
|
Note 1051 Unknown table 't1_56228'
|