mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
Merge mysql-5.1 -> mysql-5.1-innodb
This commit is contained in:
@ -3951,6 +3951,11 @@ get_innobase_type_from_mysql_type(
|
||||
case MYSQL_TYPE_BLOB:
|
||||
case MYSQL_TYPE_LONG_BLOB:
|
||||
return(DATA_BLOB);
|
||||
case MYSQL_TYPE_NULL:
|
||||
/* MySQL currently accepts "NULL" datatype, but will
|
||||
reject such datatype in the next release. We will cope
|
||||
with it and not trigger assertion failure in 5.1 */
|
||||
break;
|
||||
default:
|
||||
ut_error;
|
||||
}
|
||||
@ -6001,7 +6006,22 @@ create_table_def(
|
||||
field = form->field[i];
|
||||
|
||||
col_type = get_innobase_type_from_mysql_type(&unsigned_type,
|
||||
field);
|
||||
field);
|
||||
|
||||
if (!col_type) {
|
||||
push_warning_printf(
|
||||
(THD*) trx->mysql_thd,
|
||||
MYSQL_ERROR::WARN_LEVEL_WARN,
|
||||
ER_CANT_CREATE_TABLE,
|
||||
"Error creating table '%s' with "
|
||||
"column '%s'. Please check its "
|
||||
"column type and try to re-create "
|
||||
"the table with an appropriate "
|
||||
"column type.",
|
||||
table->name, (char*) field->field_name);
|
||||
goto err_col;
|
||||
}
|
||||
|
||||
if (field->null_ptr) {
|
||||
nulls_allowed = 0;
|
||||
} else {
|
||||
@ -6059,7 +6079,7 @@ create_table_def(
|
||||
if (dict_col_name_is_reserved(field->field_name)){
|
||||
my_error(ER_WRONG_COLUMN_NAME, MYF(0),
|
||||
field->field_name);
|
||||
|
||||
err_col:
|
||||
dict_mem_table_free(table);
|
||||
trx_commit_for_mysql(trx);
|
||||
|
||||
|
Reference in New Issue
Block a user