From e58840fc85b9e60e3247882981a3f1381c50aa8c Mon Sep 17 00:00:00 2001 From: "Tatiana A. Nurnberg" Date: Wed, 11 Mar 2009 23:32:53 +0100 Subject: [PATCH] Bug#40657: assertion with out of range variables and traditional sql_mode normalize error-messages --- mysql-test/r/variables.result | 6 ++++++ mysql-test/t/variables.test | 5 +++++ sql/set_var.cc | 5 +++-- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/mysql-test/r/variables.result b/mysql-test/r/variables.result index 28b35c1461d..aeda5b59dab 100644 --- a/mysql-test/r/variables.result +++ b/mysql-test/r/variables.result @@ -1421,6 +1421,12 @@ SELECT @@global.expire_logs_days; @@global.expire_logs_days 99 SET GLOBAL expire_logs_days = @old_eld; +SET GLOBAL auto_increment_offset=-1; +Warnings: +Warning 1292 Truncated incorrect auto_increment_offset value: '-1' +SET GLOBAL auto_increment_offset=0; +Warnings: +Warning 1292 Truncated incorrect auto_increment_offset value: '0' select @@storage_engine; Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr def @@storage_engine 253 6 6 N 1 31 8 diff --git a/mysql-test/t/variables.test b/mysql-test/t/variables.test index 95f4d6e97c5..43169b22b5e 100644 --- a/mysql-test/t/variables.test +++ b/mysql-test/t/variables.test @@ -1155,6 +1155,11 @@ SELECT @@global.expire_logs_days; # cleanup SET GLOBAL expire_logs_days = @old_eld; +# show that warning uses underscore (sysvar-name), not hyphens (option-name) +SET GLOBAL auto_increment_offset=-1; +SET GLOBAL auto_increment_offset=0; + + # # Bug#41030 Wrong meta data (incorrect fieldlen) diff --git a/sql/set_var.cc b/sql/set_var.cc index d6a9cbb19ee..84e628fbddf 100644 --- a/sql/set_var.cc +++ b/sql/set_var.cc @@ -1520,9 +1520,10 @@ static bool get_unsigned(THD *thd, set_var *var, ulonglong user_max, var->save_result.ulonglong_value= getopt_ull_limit_value(var->save_result. ulonglong_value, - limits, &fixed); + limits, &fixed); - if ((warnings == 0) && throw_bounds_warning(thd, fixed, TRUE, limits->name, + if ((warnings == 0) && throw_bounds_warning(thd, fixed, TRUE, + var->var->name, (longlong) unadjusted)) return TRUE; }