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:
@ -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),
|
||||
|
Reference in New Issue
Block a user