mirror of
https://github.com/MariaDB/server.git
synced 2025-05-28 13:01:41 +03:00
MDEV-30473 : Do not allow GET_LOCK() / RELEASE_LOCK() in cluster
In 10.5 If WSREP_ON=ON do not allow RELEASE_ALL_LOCKS function. Instead print clear error message.
This commit is contained in:
parent
696562ce55
commit
49ee18eb42
@ -15,5 +15,10 @@ ERROR 42000: This version of MariaDB doesn't yet support 'RELEASE_LOCK in cluste
|
|||||||
SHOW WARNINGS;
|
SHOW WARNINGS;
|
||||||
Level Code Message
|
Level Code Message
|
||||||
Error 1235 This version of MariaDB doesn't yet support 'RELEASE_LOCK in cluster (WSREP_ON=ON)'
|
Error 1235 This version of MariaDB doesn't yet support 'RELEASE_LOCK in cluster (WSREP_ON=ON)'
|
||||||
|
SELECT RELEASE_ALL_LOCKS();
|
||||||
|
ERROR 42000: This version of MariaDB doesn't yet support 'RELEASE_ALL_LOCKS in cluster (WSREP_ON=ON)'
|
||||||
|
SHOW WARNINGS;
|
||||||
|
Level Code Message
|
||||||
|
Error 1235 This version of MariaDB doesn't yet support 'RELEASE_ALL_LOCKS in cluster (WSREP_ON=ON)'
|
||||||
COMMIT;
|
COMMIT;
|
||||||
DROP TABLE t;
|
DROP TABLE t;
|
||||||
|
@ -9,6 +9,10 @@ SELECT * FROM t;
|
|||||||
--error ER_NOT_SUPPORTED_YET
|
--error ER_NOT_SUPPORTED_YET
|
||||||
SELECT RELEASE_LOCK('a');
|
SELECT RELEASE_LOCK('a');
|
||||||
SHOW WARNINGS;
|
SHOW WARNINGS;
|
||||||
|
# New in 10.5
|
||||||
|
--error ER_NOT_SUPPORTED_YET
|
||||||
|
SELECT RELEASE_ALL_LOCKS();
|
||||||
|
SHOW WARNINGS;
|
||||||
COMMIT;
|
COMMIT;
|
||||||
DROP TABLE t;
|
DROP TABLE t;
|
||||||
|
|
||||||
|
@ -4843,6 +4843,13 @@ Create_func_release_all_locks Create_func_release_all_locks::s_singleton;
|
|||||||
Item*
|
Item*
|
||||||
Create_func_release_all_locks::create_builder(THD *thd)
|
Create_func_release_all_locks::create_builder(THD *thd)
|
||||||
{
|
{
|
||||||
|
#ifdef WITH_WSREP
|
||||||
|
if (WSREP_ON && WSREP(thd))
|
||||||
|
{
|
||||||
|
my_error(ER_NOT_SUPPORTED_YET, MYF(0), "RELEASE_ALL_LOCKS in cluster (WSREP_ON=ON)");
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
#endif /* WITH_WSREP */
|
||||||
thd->lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_SYSTEM_FUNCTION);
|
thd->lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_SYSTEM_FUNCTION);
|
||||||
thd->lex->uncacheable(UNCACHEABLE_SIDEEFFECT);
|
thd->lex->uncacheable(UNCACHEABLE_SIDEEFFECT);
|
||||||
return new (thd->mem_root) Item_func_release_all_locks(thd);
|
return new (thd->mem_root) Item_func_release_all_locks(thd);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user