diff options
author | monty@donna.mysql.com <> | 2000-08-15 20:09:37 +0300 |
---|---|---|
committer | monty@donna.mysql.com <> | 2000-08-15 20:09:37 +0300 |
commit | ea013c2152301e459504451efdb17f4c9bb30877 (patch) | |
tree | 5f72e7444fbc3c8d944a66b54b26550a04e4f0be /sql/sql_table.cc | |
parent | 807460bbceceec25bf97352bc5e232c3e766d70f (diff) | |
download | mariadb-git-ea013c2152301e459504451efdb17f4c9bb30877.tar.gz |
Fixed for Ia64 + delayed key creation + a lot of small bug fixes
Diffstat (limited to 'sql/sql_table.cc')
-rw-r--r-- | sql/sql_table.cc | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/sql/sql_table.cc b/sql/sql_table.cc index 6e39a1a962b..57ba100ef96 100644 --- a/sql/sql_table.cc +++ b/sql/sql_table.cc @@ -709,6 +709,7 @@ bool close_cached_table(THD *thd,TABLE *table) DBUG_RETURN(result); } + int mysql_repair_table(THD* thd, TABLE_LIST* tables, HA_CHECK_OPT* check_opt) { TABLE_LIST *table; @@ -1144,6 +1145,11 @@ int mysql_alter_table(THD *thd,char *new_db, char *new_name, } if (alter) { + if (def->sql_type == FIELD_TYPE_BLOB) + { + my_error(ER_BLOB_CANT_HAVE_DEFAULT,MYF(0),def->change); + DBUG_RETURN(-1); + } def->def=alter->def; // Use new default alter_it.remove(); } @@ -1504,6 +1510,8 @@ copy_data_between_tables(TABLE *from,TABLE *to,List<create_field> &create, to->file->external_lock(thd,F_WRLCK); to->file->extra(HA_EXTRA_WRITE_CACHE); + from->file->info(HA_STATUS_VARIABLE); + to->file->deactivate_non_unique_index(from->file->records); List_iterator<create_field> it(create); create_field *def; @@ -1554,6 +1562,8 @@ copy_data_between_tables(TABLE *from,TABLE *to,List<create_field> &create, to->file->print_error(tmp_error,MYF(0)); error=1; } + if (to->file->activate_all_index(thd)) + error=1; if (ha_commit(thd) || to->file->external_lock(thd,F_UNLCK)) error=1; *copied= found_count; |