correct fix for the old Bug#39955 (warnings in I_S.VARIABLES)

old fix only generated a warning for the *first* row
in the output
This commit is contained in:
Sergei Golubchik 2014-08-28 09:33:00 +02:00
parent d281faf992
commit 9bd5d54c11
3 changed files with 30 additions and 1 deletions

View file

@ -1637,6 +1637,33 @@ drop table if exists t1;drop table if exists t1;
drop table if exists t1;drop table if exists
Warnings:
Warning 1265 Data truncated for column 'VARIABLE_VALUE' at row 1
select * from information_schema.global_variables where variable_name like 'init%' order by variable_name;
VARIABLE_NAME VARIABLE_VALUE
INIT_CONNECT drop table if exists t1;drop table if exists t1;
drop table if exists t1;drop table if exists t1;
drop table if exists t1;drop table if exists t1;
drop table if exists t1;drop table if exists t1;
drop table if exists t1;drop table if exists t1;
drop table if exists t1;drop table if exists t1;
drop table if exists t1;drop table if exists t1;
drop table if exists t1;drop table if exists t1;
drop table if exists t1;drop table if exists t1;
drop table if exists t1;drop table if exists t1;
drop table if exists t1;drop table if exists t1;
drop table if exists t1;drop table if exists t1;
drop table if exists t1;drop table if exists t1;
drop table if exists t1;drop table if exists t1;
drop table if exists t1;drop table if exists t1;
drop table if exists t1;drop table if exists t1;
drop table if exists t1;drop table if exists t1;
drop table if exists t1;drop table if exists t1;
drop table if exists t1;drop table if exists t1;
drop table if exists t1;drop table if exists t1;
drop table if exists t1;drop table if exists
INIT_FILE
INIT_SLAVE
Warnings:
Warning 1265 Data truncated for column 'VARIABLE_VALUE' at row #
set global init_connect="";
create table t0 select * from information_schema.global_status where VARIABLE_NAME='COM_SELECT';
SELECT 1;

View file

@ -1358,6 +1358,8 @@ drop table if exists t1;drop table if exists t1;\
drop table if exists t1;drop table if exists t1;\
drop table if exists t1;drop table if exists t1;";
select * from information_schema.global_variables where variable_name='init_connect';
--replace_regex /at row [123]/at row #/
select * from information_schema.global_variables where variable_name like 'init%' order by variable_name;
set global init_connect="";
#

View file

@ -3111,7 +3111,6 @@ static bool show_status_array(THD *thd, const char *wild,
break;
}
table->field[1]->store(pos, (uint32) (end - pos), charset);
thd->count_cuted_fields= CHECK_FIELD_IGNORE;
table->field[1]->set_notnull();
mysql_mutex_unlock(&LOCK_global_system_variables);
@ -3121,6 +3120,7 @@ static bool show_status_array(THD *thd, const char *wild,
res= TRUE;
goto end;
}
thd->get_stmt_da()->inc_current_row_for_warning();
}
}
}