Loading mysql-test/r/select.result +5 −0 Original line number Diff line number Diff line Loading @@ -3398,3 +3398,8 @@ drop table t1,t2; SELECT 0.9888889889 * 1.011111411911; 0.9888889889 * 1.011111411911 0.9998769417899202067879 select 1 as ' a '; a 1 Warnings: Warning 1466 Leading spaces are removed from name ' a ' mysql-test/t/select.test +5 −0 Original line number Diff line number Diff line Loading @@ -2906,3 +2906,8 @@ drop table t1,t2; # Bug #20569: Garbage in DECIMAL results from some mathematical functions # SELECT 0.9888889889 * 1.011111411911; # # Bug #10977: No warning issued if a column name is truncated # select 1 as ' a '; sql/item.cc +6 −0 Original line number Diff line number Diff line Loading @@ -573,6 +573,7 @@ void Item::set_name(const char *str, uint length, CHARSET_INFO *cs) } if (cs->ctype) { uint orig_len= length; /* This will probably need a better implementation in the future: a function in CHARSET_INFO structure. Loading @@ -582,6 +583,11 @@ void Item::set_name(const char *str, uint length, CHARSET_INFO *cs) length--; str++; } if (orig_len != length && !is_autogenerated_name) push_warning_printf(current_thd, MYSQL_ERROR::WARN_LEVEL_WARN, ER_REMOVED_SPACES, ER(ER_REMOVED_SPACES), str + length - orig_len); } if (!my_charset_same(cs, system_charset_info)) { Loading sql/share/errmsg.txt +2 −0 Original line number Diff line number Diff line Loading @@ -5621,3 +5621,5 @@ ER_TABLE_CANT_HANDLE_SPKEYS eng "The used table type doesn't support SPATIAL indexes" ER_NO_TRIGGERS_ON_SYSTEM_SCHEMA eng "Triggers can not be created on system tables" ER_REMOVED_SPACES eng "Leading spaces are removed from name '%s'" sql/sql_yacc.yy +2 −2 Original line number Diff line number Diff line Loading @@ -4060,8 +4060,8 @@ select_item: YYABORT; if ($4.str) { $2->set_name($4.str, $4.length, system_charset_info); $2->is_autogenerated_name= FALSE; $2->set_name($4.str, $4.length, system_charset_info); } else if (!$2->name) { char *str = $1; Loading Loading @@ -4936,8 +4936,8 @@ udf_expr: { if ($4.str) { $2->set_name($4.str, $4.length, system_charset_info); $2->is_autogenerated_name= FALSE; $2->set_name($4.str, $4.length, system_charset_info); } else $2->set_name($1, (uint) ($3 - $1), YYTHD->charset()); Loading Loading
mysql-test/r/select.result +5 −0 Original line number Diff line number Diff line Loading @@ -3398,3 +3398,8 @@ drop table t1,t2; SELECT 0.9888889889 * 1.011111411911; 0.9888889889 * 1.011111411911 0.9998769417899202067879 select 1 as ' a '; a 1 Warnings: Warning 1466 Leading spaces are removed from name ' a '
mysql-test/t/select.test +5 −0 Original line number Diff line number Diff line Loading @@ -2906,3 +2906,8 @@ drop table t1,t2; # Bug #20569: Garbage in DECIMAL results from some mathematical functions # SELECT 0.9888889889 * 1.011111411911; # # Bug #10977: No warning issued if a column name is truncated # select 1 as ' a ';
sql/item.cc +6 −0 Original line number Diff line number Diff line Loading @@ -573,6 +573,7 @@ void Item::set_name(const char *str, uint length, CHARSET_INFO *cs) } if (cs->ctype) { uint orig_len= length; /* This will probably need a better implementation in the future: a function in CHARSET_INFO structure. Loading @@ -582,6 +583,11 @@ void Item::set_name(const char *str, uint length, CHARSET_INFO *cs) length--; str++; } if (orig_len != length && !is_autogenerated_name) push_warning_printf(current_thd, MYSQL_ERROR::WARN_LEVEL_WARN, ER_REMOVED_SPACES, ER(ER_REMOVED_SPACES), str + length - orig_len); } if (!my_charset_same(cs, system_charset_info)) { Loading
sql/share/errmsg.txt +2 −0 Original line number Diff line number Diff line Loading @@ -5621,3 +5621,5 @@ ER_TABLE_CANT_HANDLE_SPKEYS eng "The used table type doesn't support SPATIAL indexes" ER_NO_TRIGGERS_ON_SYSTEM_SCHEMA eng "Triggers can not be created on system tables" ER_REMOVED_SPACES eng "Leading spaces are removed from name '%s'"
sql/sql_yacc.yy +2 −2 Original line number Diff line number Diff line Loading @@ -4060,8 +4060,8 @@ select_item: YYABORT; if ($4.str) { $2->set_name($4.str, $4.length, system_charset_info); $2->is_autogenerated_name= FALSE; $2->set_name($4.str, $4.length, system_charset_info); } else if (!$2->name) { char *str = $1; Loading Loading @@ -4936,8 +4936,8 @@ udf_expr: { if ($4.str) { $2->set_name($4.str, $4.length, system_charset_info); $2->is_autogenerated_name= FALSE; $2->set_name($4.str, $4.length, system_charset_info); } else $2->set_name($1, (uint) ($3 - $1), YYTHD->charset()); Loading