1 # name : log_warnings_suppress.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 /dev/null b/patch_info/log_warnings_suppress.patch
9 --- /dev/null 1970-01-01 00:00:00.000000000 +0000
10 +++ b/patch_info/log_warnings_suppress.patch 2011-04-09 18:48:59.000000000 +0400
12 +File=log_warnings_suppress.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 +2011-02-21 rename patch log_warning_silence.patch to log_warnings_suppress.patch. Also rename variable "log_warning_silence" to "log_warning_suppress".
21 diff -ruN a/sql/mysqld.cc b/sql/mysqld.cc
22 --- a/sql/mysqld.cc 2011-04-09 18:48:59.000000000 +0400
23 +++ b/sql/mysqld.cc 2011-04-09 18:48:59.000000000 +0400
25 SHOW_COMP_OPTION have_crypt, have_compress;
26 SHOW_COMP_OPTION have_profiling;
28 +ulonglong opt_log_warnings_suppress= 0;
30 /* Thread specific variables */
32 pthread_key(MEM_ROOT**,THR_MALLOC);
33 diff -ruN a/sql/mysqld.h b/sql/mysqld.h
34 --- a/sql/mysqld.h 2011-04-09 18:48:58.000000000 +0400
35 +++ b/sql/mysqld.h 2011-04-09 18:48:59.000000000 +0400
37 extern TYPELIB thread_handling_typelib;
38 extern my_decimal decimal_zero;
40 +extern ulonglong opt_log_warnings_suppress;
42 extern pthread_key(MEM_ROOT**,THR_MALLOC);
44 #ifdef HAVE_PSI_INTERFACE
45 diff -ruN a/sql/sql_class.cc b/sql/sql_class.cc
46 --- a/sql/sql_class.cc 2011-04-09 18:48:50.000000000 +0400
47 +++ b/sql/sql_class.cc 2011-04-09 18:48:59.000000000 +0400
49 ER_BINLOG_UNSAFE_STATEMENT,
50 ER(ER_BINLOG_UNSAFE_STATEMENT),
51 ER(LEX::binlog_stmt_unsafe_errcode[unsafe_type]));
52 - if (global_system_variables.log_warnings)
53 + if (global_system_variables.log_warnings && ((opt_log_warnings_suppress & (ULL(1) << log_warnings_suppress_1592)) == 0))
55 char buf[MYSQL_ERRMSG_SIZE * 2];
56 sprintf(buf, ER(ER_BINLOG_UNSAFE_STATEMENT),
57 diff -ruN a/sql/sql_class.h b/sql/sql_class.h
58 --- a/sql/sql_class.h 2011-04-09 18:48:53.000000000 +0400
59 +++ b/sql/sql_class.h 2011-04-09 18:48:59.000000000 +0400
61 SLOG_F_TMP_TABLE, SLOG_F_TMP_DISK, SLOG_F_FILESORT,
64 +enum enum_log_warnings_suppress { log_warnings_suppress_1592 };
65 enum enum_slave_exec_mode { SLAVE_EXEC_MODE_STRICT,
66 SLAVE_EXEC_MODE_IDEMPOTENT,
67 SLAVE_EXEC_MODE_LAST_BIT};
68 diff -ruN a/sql/sys_vars.cc b/sql/sys_vars.cc
69 --- a/sql/sys_vars.cc 2011-04-09 18:48:55.000000000 +0400
70 +++ b/sql/sys_vars.cc 2011-04-09 18:48:59.000000000 +0400
71 @@ -1470,6 +1470,15 @@
72 READ_ONLY GLOBAL_VAR(mysqld_port), CMD_LINE(REQUIRED_ARG, 'P'),
73 VALID_RANGE(0, UINT_MAX32), DEFAULT(0), BLOCK_SIZE(1));
75 +const char *log_warnings_suppress_name[]= { "1592" };
76 +static Sys_var_set Sys_log_warnings_suppress(
77 + "log_warnings_suppress",
78 + "disable logging of enumerated warnings: "
79 + "1592: unsafe statements for binary logging; "
80 + "possible values : [1592]",
81 + GLOBAL_VAR(opt_log_warnings_suppress), CMD_LINE(REQUIRED_ARG),
82 + log_warnings_suppress_name, DEFAULT(0));
84 static Sys_var_ulong Sys_preload_buff_size(
85 "preload_buffer_size",
86 "The size of the buffer that is allocated when preloading indexes",