tidb_enable_noop_functions
从 v4.0 版本开始引入
- 作用域:SESSION | GLOBAL
- 默认值:
OFF
- 默认情况下,用户尝试将某些语法用于尚未实现的功能时,TiDB 会报错。若将该变量值设为
ON
,TiDB 则自动忽略此类功能不可用的情况,即不会报错。若用户无法更改 SQL 代码,可考虑将变量值设为ON
。 - 启用
noop
函数可以控制以下行为:-
get_lock
和release_lock
函数 -
LOCK IN SHARE MODE
语法 -
SQL_CALC_FOUND_ROWS
语法 -
CREATE TEMPORARY TABLE
语法 -
DROP TEMPORARY TABLE
语法 -
START TRANSACTION READ ONLY
和SET TRANSACTION READ ONLY
语法 -
tx_read_only
、transaction_read_only
、offline_mode
、super_read_only
以及read_only
系统变量
-
警告
该变量只有在默认值 OFF
时,才算是安全的。因为设置 tidb_enable_noop_functions=1
后,TiDB 会自动忽略某些语法而不报错,这可能会导致应用程序出现异常行为。例如,允许使用语法 START TRANSACTION READ ONLY
时,事务仍会处于读写模式。