1 # name : log_warnings_silence.patch
2 # introduced : 11 or before
6 # Any small change to this file in the main branch
7 # should be done or reviewed by the maintainer!
8 diff -ruN a/patch_info/log_warnings_silence.patch b/patch_info/log_warnings_silence.patch
9 --- a/patch_info/log_warnings_silence.patch 1970-01-01 03:00:00.000000000 +0300
10 +++ b/patch_info/log_warnings_silence.patch 2011-01-05 20:35:46.000000000 +0300
12 +File=log_warnings_silence.patch
13 +Name=Disable log warnings for enumerated warnings (old name:suppress_log_warning_1592.patch)
15 +Author=Percona <info@percona.com>
19 +2011-01-05 rename patch suppress_log_warning_1592.patch to log_warnings_silence/patch. Also remove boolean system variable "suppress_log_warning_1592" and add set varbile "log_warnings_silence" (possible values: 1592)
20 diff -ruN a/sql/mysqld.cc b/sql/mysqld.cc
21 --- a/sql/mysqld.cc 2011-01-05 20:31:33.000000000 +0300
22 +++ b/sql/mysqld.cc 2011-01-05 20:32:34.000000000 +0300
24 SHOW_COMP_OPTION have_crypt, have_compress;
25 SHOW_COMP_OPTION have_profiling;
27 +ulonglong opt_log_warnings_silence= 0;
29 /* Thread specific variables */
31 pthread_key(MEM_ROOT**,THR_MALLOC);
32 diff -ruN a/sql/mysqld.h b/sql/mysqld.h
33 --- a/sql/mysqld.h 2011-01-05 20:31:33.000000000 +0300
34 +++ b/sql/mysqld.h 2011-01-05 20:32:35.000000000 +0300
36 extern TYPELIB thread_handling_typelib;
37 extern my_decimal decimal_zero;
39 +extern ulonglong opt_log_warnings_silence;
41 extern pthread_key(MEM_ROOT**,THR_MALLOC);
43 #ifdef HAVE_PSI_INTERFACE
44 diff -ruN a/sql/sql_class.cc b/sql/sql_class.cc
45 --- a/sql/sql_class.cc 2011-01-05 20:31:32.000000000 +0300
46 +++ b/sql/sql_class.cc 2011-01-05 20:32:34.000000000 +0300
48 ER_BINLOG_UNSAFE_STATEMENT,
49 ER(ER_BINLOG_UNSAFE_STATEMENT),
50 ER(LEX::binlog_stmt_unsafe_errcode[unsafe_type]));
51 - if (global_system_variables.log_warnings)
52 + if (global_system_variables.log_warnings && ((opt_log_warnings_silence & (ULL(1) << log_warnings_silence_1592)) == 0))
54 char buf[MYSQL_ERRMSG_SIZE * 2];
55 sprintf(buf, ER(ER_BINLOG_UNSAFE_STATEMENT),
56 diff -ruN a/sql/sql_class.h b/sql/sql_class.h
57 --- a/sql/sql_class.h 2011-01-05 20:31:33.000000000 +0300
58 +++ b/sql/sql_class.h 2011-01-05 20:32:37.000000000 +0300
60 SLOG_F_TMP_TABLE, SLOG_F_TMP_DISK, SLOG_F_FILESORT,
63 +enum enum_log_warnings_silence { log_warnings_silence_1592 };
64 enum enum_slave_exec_mode { SLAVE_EXEC_MODE_STRICT,
65 SLAVE_EXEC_MODE_IDEMPOTENT,
66 SLAVE_EXEC_MODE_LAST_BIT};
67 diff -ruN a/sql/sys_vars.cc b/sql/sys_vars.cc
68 --- a/sql/sys_vars.cc 2011-01-05 20:31:33.000000000 +0300
69 +++ b/sql/sys_vars.cc 2011-01-05 20:32:38.000000000 +0300
70 @@ -1408,6 +1408,15 @@
71 READ_ONLY GLOBAL_VAR(mysqld_port), CMD_LINE(REQUIRED_ARG, 'P'),
72 VALID_RANGE(0, UINT_MAX32), DEFAULT(0), BLOCK_SIZE(1));
74 +const char *log_warnings_silence_name[]= { "1592" };
75 +static Sys_var_set Sys_log_warnings_silence(
76 + "log_warnings_silence",
77 + "disable logging of enumerated warnings: "
78 + "1592: unsafe statements for binary logging; "
79 + "possible values : [1592]",
80 + GLOBAL_VAR(opt_log_warnings_silence), CMD_LINE(REQUIRED_ARG),
81 + log_warnings_silence_name, DEFAULT(0));
83 static Sys_var_ulong Sys_preload_buff_size(
84 "preload_buffer_size",
85 "The size of the buffer that is allocated when preloading indexes",