Commit f750b5f1 authored by Konstantin Osipov's avatar Konstantin Osipov

Merge next-4284 -> next-4284-merge

parents 9c030fe5 a4819c5d
......@@ -1522,3 +1522,23 @@ HANDLER t2 READ FIRST;
HANDLER t2 CLOSE;
DROP TABLE t1, t2;
--echo #
--echo # Bug#50912 Assertion `ticket->m_type >= mdl_request->type'
--echo # failed on HANDLER + I_S
--echo #
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
CREATE TABLE t1 (id INT);
HANDLER t1 OPEN;
# This used to trigger the assert.
SELECT table_name, table_comment FROM information_schema.tables
WHERE table_schema= 'test' AND table_name= 't1';
HANDLER t1 CLOSE;
DROP TABLE t1;
......@@ -1476,3 +1476,16 @@ HANDLER t2 READ FIRST;
i
HANDLER t2 CLOSE;
DROP TABLE t1, t2;
#
# Bug#50912 Assertion `ticket->m_type >= mdl_request->type'
# failed on HANDLER + I_S
#
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (id INT);
HANDLER t1 OPEN;
SELECT table_name, table_comment FROM information_schema.tables
WHERE table_schema= 'test' AND table_name= 't1';
table_name table_comment
t1
HANDLER t1 CLOSE;
DROP TABLE t1;
......@@ -1474,6 +1474,19 @@ i
HANDLER t2 CLOSE;
DROP TABLE t1, t2;
#
# Bug#50912 Assertion `ticket->m_type >= mdl_request->type'
# failed on HANDLER + I_S
#
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (id INT);
HANDLER t1 OPEN;
SELECT table_name, table_comment FROM information_schema.tables
WHERE table_schema= 'test' AND table_name= 't1';
table_name table_comment
t1
HANDLER t1 CLOSE;
DROP TABLE t1;
#
# BUG #46456: HANDLER OPEN + TRUNCATE + DROP (temporary) TABLE, crash
#
CREATE TABLE t1 AS SELECT 1 AS f1;
......
......@@ -1261,7 +1261,7 @@ MDL_context::try_acquire_lock(MDL_request *mdl_request)
if ((ticket= find_ticket(mdl_request, &is_transactional)))
{
DBUG_ASSERT(ticket->m_lock);
DBUG_ASSERT(ticket->m_type >= mdl_request->type);
DBUG_ASSERT(ticket->has_stronger_or_equal_type(mdl_request->type));
/*
If the request is for a transactional lock, and we found
a transactional lock, just reuse the found ticket.
......@@ -1349,7 +1349,7 @@ MDL_context::clone_ticket(MDL_request *mdl_request)
return TRUE;
/* clone() is not supposed to be used to get a stronger lock. */
DBUG_ASSERT(ticket->m_type <= mdl_request->ticket->m_type);
DBUG_ASSERT(mdl_request->ticket->has_stronger_or_equal_type(ticket->m_type));
ticket->m_lock= mdl_request->ticket->m_lock;
mdl_request->ticket= ticket;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment