summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorunknown <lars@mysql.com>2005-02-22 13:22:34 +0100
committerunknown <lars@mysql.com>2005-02-22 13:22:34 +0100
commit6f6bf32afa7aa2876f1ab5e555438f7baf514d42 (patch)
tree08c7ae6ff93769414869eccedfcab6468afdd88c /sql
parent2fb807d1d0a817c177e02cee7b508b6122ce832e (diff)
parent7d766fdbeb1418488f99125b510dce5942b7f79f (diff)
downloadmariadb-git-6f6bf32afa7aa2876f1ab5e555438f7baf514d42.tar.gz
Merge mysql.com:/home/bkroot/mysql-4.1 into mysql.com:/home/bk/b6662-4.1
sql/mysql_priv.h: Auto merged sql/mysqld.cc: Auto merged sql/set_var.cc: Auto merged
Diffstat (limited to 'sql')
-rw-r--r--sql/mysql_priv.h4
-rw-r--r--sql/mysqld.cc3
-rw-r--r--sql/set_var.cc6
-rw-r--r--sql/sql_error.cc4
4 files changed, 16 insertions, 1 deletions
diff --git a/sql/mysql_priv.h b/sql/mysql_priv.h
index f851e36dcad..6c77a8934dd 100644
--- a/sql/mysql_priv.h
+++ b/sql/mysql_priv.h
@@ -212,6 +212,10 @@ extern CHARSET_INFO *national_charset_info, *table_alias_charset;
#define OPTION_RELAXED_UNIQUE_CHECKS (1L << 27)
#define SELECT_NO_UNLOCK (1L << 28)
+/* If set to 0, then the thread will ignore all warnings with level notes.
+ Set by executing SET SQL_NOTES=1 */
+#define OPTION_SQL_NOTES (1L << 31)
+
/* Bits for different SQL modes modes (including ANSI mode) */
#define MODE_REAL_AS_FLOAT 1
#define MODE_PIPES_AS_CONCAT 2
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index a4a2fd5e1ef..f58b5c15a99 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -5623,7 +5623,8 @@ static void mysql_init_variables(void)
language_ptr= language;
mysql_data_home= mysql_real_data_home;
thd_startup_options= (OPTION_UPDATE_LOG | OPTION_AUTO_IS_NULL |
- OPTION_BIN_LOG | OPTION_QUOTE_SHOW_CREATE);
+ OPTION_BIN_LOG | OPTION_QUOTE_SHOW_CREATE |
+ OPTION_SQL_NOTES);
protocol_version= PROTOCOL_VERSION;
what_to_log= ~ (1L << (uint) COM_TIME);
refresh_version= flush_version= 1L; /* Increments on each reload */
diff --git a/sql/set_var.cc b/sql/set_var.cc
index 7f393363ed6..29ebb2c8817 100644
--- a/sql/set_var.cc
+++ b/sql/set_var.cc
@@ -423,6 +423,9 @@ static sys_var_thd_bit sys_log_binlog("sql_log_bin",
static sys_var_thd_bit sys_sql_warnings("sql_warnings", 0,
set_option_bit,
OPTION_WARNINGS);
+static sys_var_thd_bit sys_sql_notes("sql_notes", 0,
+ set_option_bit,
+ OPTION_SQL_NOTES);
static sys_var_thd_bit sys_auto_is_null("sql_auto_is_null", 0,
set_option_bit,
OPTION_AUTO_IS_NULL);
@@ -610,6 +613,7 @@ sys_var *sys_variables[]=
&sys_sql_max_join_size,
&sys_sql_mode,
&sys_sql_warnings,
+ &sys_sql_notes,
&sys_storage_engine,
#ifdef HAVE_REPLICATION
&sys_sync_binlog_period,
@@ -859,6 +863,8 @@ struct show_var_st init_vars[]= {
{sys_sort_buffer.name, (char*) &sys_sort_buffer, SHOW_SYS},
{sys_sql_mode.name, (char*) &sys_sql_mode, SHOW_SYS},
{sys_storage_engine.name, (char*) &sys_storage_engine, SHOW_SYS},
+ {"sql_notes", (char*) &sys_sql_notes, SHOW_BOOL},
+ {"sql_warnings", (char*) &sys_sql_warnings, SHOW_BOOL},
#ifdef HAVE_REPLICATION
{sys_sync_binlog_period.name,(char*) &sys_sync_binlog_period, SHOW_SYS},
{sys_sync_replication.name, (char*) &sys_sync_replication, SHOW_SYS},
diff --git a/sql/sql_error.cc b/sql/sql_error.cc
index eab5ec890df..d19e9fbdb09 100644
--- a/sql/sql_error.cc
+++ b/sql/sql_error.cc
@@ -104,6 +104,10 @@ MYSQL_ERROR *push_warning(THD *thd, MYSQL_ERROR::enum_warning_level level,
{
MYSQL_ERROR *err= 0;
DBUG_ENTER("push_warning");
+
+ if (level == MYSQL_ERROR::WARN_LEVEL_NOTE && !(thd->options & OPTION_SQL_NOTES))
+ return(0);
+
if (thd->query_id != thd->warn_id)
mysql_reset_errors(thd);