Commit 59e7a261 authored by igor@olga.mysql.com's avatar igor@olga.mysql.com

Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-5.0-opt

into  olga.mysql.com:/home/igor/mysql-5.0-opt
parents 4de3186a b0b1fe3b
...@@ -36,19 +36,19 @@ Tables_in_test ...@@ -36,19 +36,19 @@ Tables_in_test
t1 t1
t2 t2
t3 t3
_
Test delimiter : from command line Test delimiter : from command line
a a
1 1
_
Test delimiter :; from command line Test delimiter :; from command line
a a
1 1
_
Test 'go' command(vertical output) G Test 'go' command(vertical output) G
*************************** 1. row *************************** *************************** 1. row ***************************
a: 1 a: 1
_
Test 'go' command g Test 'go' command g
a a
1 1
......
...@@ -3398,3 +3398,9 @@ drop table t1,t2; ...@@ -3398,3 +3398,9 @@ drop table t1,t2;
SELECT 0.9888889889 * 1.011111411911; SELECT 0.9888889889 * 1.011111411911;
0.9888889889 * 1.011111411911 0.9888889889 * 1.011111411911
0.9998769417899202067879 0.9998769417899202067879
prepare stmt from 'select 1 as " a "';
Warnings:
Warning 1466 Leading spaces are removed from name ' a '
execute stmt;
a
1
...@@ -20,16 +20,16 @@ insert into t1 values(1); ...@@ -20,16 +20,16 @@ insert into t1 values(1);
--disable_query_log --disable_query_log
# Test delimiter : supplied on the command line # Test delimiter : supplied on the command line
select "Test delimiter : from command line" as " "; select "Test delimiter : from command line" as "_";
--exec $MYSQL test --delimiter=":" -e "select * from t1:" --exec $MYSQL test --delimiter=":" -e "select * from t1:"
# Test delimiter :; supplied on the command line # Test delimiter :; supplied on the command line
select "Test delimiter :; from command line" as " "; select "Test delimiter :; from command line" as "_";
--exec $MYSQL test --delimiter=":;" -e "select * from t1:;" --exec $MYSQL test --delimiter=":;" -e "select * from t1:;"
# Test 'go' command (vertical output) \G # Test 'go' command (vertical output) \G
select "Test 'go' command(vertical output) \G" as " "; select "Test 'go' command(vertical output) \G" as "_";
--exec $MYSQL test -e "select * from t1\G" --exec $MYSQL test -e "select * from t1\G"
# Test 'go' command \g # Test 'go' command \g
select "Test 'go' command \g" as " "; select "Test 'go' command \g" as "_";
--exec $MYSQL test -e "select * from t1\g" --exec $MYSQL test -e "select * from t1\g"
--enable_query_log --enable_query_log
drop table t1; drop table t1;
......
...@@ -2906,3 +2906,9 @@ drop table t1,t2; ...@@ -2906,3 +2906,9 @@ drop table t1,t2;
# Bug #20569: Garbage in DECIMAL results from some mathematical functions # Bug #20569: Garbage in DECIMAL results from some mathematical functions
# #
SELECT 0.9888889889 * 1.011111411911; SELECT 0.9888889889 * 1.011111411911;
#
# Bug #10977: No warning issued if a column name is truncated
#
prepare stmt from 'select 1 as " a "';
execute stmt;
...@@ -573,6 +573,7 @@ void Item::set_name(const char *str, uint length, CHARSET_INFO *cs) ...@@ -573,6 +573,7 @@ void Item::set_name(const char *str, uint length, CHARSET_INFO *cs)
} }
if (cs->ctype) if (cs->ctype)
{ {
uint orig_len= length;
/* /*
This will probably need a better implementation in the future: This will probably need a better implementation in the future:
a function in CHARSET_INFO structure. a function in CHARSET_INFO structure.
...@@ -582,6 +583,11 @@ void Item::set_name(const char *str, uint length, CHARSET_INFO *cs) ...@@ -582,6 +583,11 @@ void Item::set_name(const char *str, uint length, CHARSET_INFO *cs)
length--; length--;
str++; 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)) if (!my_charset_same(cs, system_charset_info))
{ {
......
...@@ -5621,3 +5621,5 @@ ER_TABLE_CANT_HANDLE_SPKEYS ...@@ -5621,3 +5621,5 @@ ER_TABLE_CANT_HANDLE_SPKEYS
eng "The used table type doesn't support SPATIAL indexes" eng "The used table type doesn't support SPATIAL indexes"
ER_NO_TRIGGERS_ON_SYSTEM_SCHEMA ER_NO_TRIGGERS_ON_SYSTEM_SCHEMA
eng "Triggers can not be created on system tables" eng "Triggers can not be created on system tables"
ER_REMOVED_SPACES
eng "Leading spaces are removed from name '%s'"
...@@ -4060,8 +4060,8 @@ select_item: ...@@ -4060,8 +4060,8 @@ select_item:
YYABORT; YYABORT;
if ($4.str) if ($4.str)
{ {
$2->set_name($4.str, $4.length, system_charset_info);
$2->is_autogenerated_name= FALSE; $2->is_autogenerated_name= FALSE;
$2->set_name($4.str, $4.length, system_charset_info);
} }
else if (!$2->name) { else if (!$2->name) {
char *str = $1; char *str = $1;
...@@ -4936,8 +4936,8 @@ udf_expr: ...@@ -4936,8 +4936,8 @@ udf_expr:
{ {
if ($4.str) if ($4.str)
{ {
$2->set_name($4.str, $4.length, system_charset_info);
$2->is_autogenerated_name= FALSE; $2->is_autogenerated_name= FALSE;
$2->set_name($4.str, $4.length, system_charset_info);
} }
else else
$2->set_name($1, (uint) ($3 - $1), YYTHD->charset()); $2->set_name($1, (uint) ($3 - $1), YYTHD->charset());
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment