1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

5.5 merge

This commit is contained in:
Sergei Golubchik
2013-11-23 00:50:54 +01:00
1275 changed files with 80717 additions and 55003 deletions

View File

@ -1,6 +1,5 @@
/*
Copyright (c) 2006, 2010, Oracle and/or its affiliates.
Copyright (c) 2011, 2013, Monty Program Ab.
/* Copyright (c) 2006, 2013, Oracle and/or its affiliates.
Copyright (c) 2011, 2013, Monty Program Ab
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -879,6 +878,7 @@ TABLE *table_def::create_conversion_table(THD *thd, Relay_log_info *rli, TABLE *
DBUG_ENTER("table_def::create_conversion_table");
List<Create_field> field_list;
TABLE *conv_table= NULL;
/*
At slave, columns may differ. So we should create
min(columns@master, columns@slave) columns in the
@ -920,10 +920,15 @@ TABLE *table_def::create_conversion_table(THD *thd, Relay_log_info *rli, TABLE *
break;
case MYSQL_TYPE_DECIMAL:
precision= field_metadata(col);
decimals= static_cast<Field_num*>(target_table->field[col])->dec;
max_length= field_metadata(col);
break;
sql_print_error("In RBR mode, Slave received incompatible DECIMAL field "
"(old-style decimal field) from Master while creating "
"conversion table. Please consider changing datatype on "
"Master to new style decimal by executing ALTER command for"
" column Name: %s.%s.%s.",
target_table->s->db.str,
target_table->s->table_name.str,
target_table->field[col]->field_name);
goto err;
case MYSQL_TYPE_TINY_BLOB:
case MYSQL_TYPE_MEDIUM_BLOB:
@ -951,7 +956,9 @@ TABLE *table_def::create_conversion_table(THD *thd, Relay_log_info *rli, TABLE *
field_def->interval= interval;
}
TABLE *conv_table= create_virtual_tmp_table(thd, field_list);
conv_table= create_virtual_tmp_table(thd, field_list);
err:
if (conv_table == NULL)
rli->report(ERROR_LEVEL, ER_SLAVE_CANT_CREATE_CONVERSION,
ER(ER_SLAVE_CANT_CREATE_CONVERSION),