mirror of
https://github.com/MariaDB/server.git
synced 2026-01-06 05:22:24 +03:00
merge with 3.23.42
config.guess: Auto merged config.sub: Auto merged ltconfig: Auto merged BitKeeper/deleted/.del-violite.c~d7b85be615595ace: Auto merged BitKeeper/deleted/.del-violite.c~984c09cffe14a11b: Auto merged client/Makefile.am: Auto merged include/errmsg.h: Auto merged include/global.h: Auto merged include/heap.h: Auto merged include/my_sys.h: Auto merged include/mysql_com.h: Auto merged isam/isamlog.c: Auto merged libmysql/libmysql.c: Auto merged merge/open.c: Auto merged myisam/ft_search.c: Auto merged myisam/ftdefs.h: Auto merged myisam/mi_test_all.sh: Auto merged myisam/myisamchk.c: Auto merged myisam/myisamlog.c: Auto merged myisam/myisampack.c: Auto merged myisam/sort.c: Auto merged myisammrg/myrg_open.c: Auto merged mysys/hash.c: Auto merged mysys/mf_casecnv.c: Auto merged mysys/mf_format.c: Auto merged mysys/my_lib.c: Auto merged mysys/tree.c: Auto merged sql-bench/bench-init.pl.sh: Auto merged sql/filesort.cc: Auto merged sql/ha_myisam.cc: Auto merged sql/ha_myisammrg.cc: Auto merged sql/handler.cc: Auto merged sql/handler.h: Auto merged sql/item_func.cc: Auto merged sql/item_strfunc.cc: Auto merged sql/lex.h: Auto merged sql/log.cc: Auto merged sql/log_event.cc: Auto merged sql/mysql_priv.h: Auto merged sql/mysqld.cc: Auto merged sql/net_serv.cc: Auto merged sql/slave.cc: Auto merged sql/sql_acl.cc: Auto merged sql/sql_base.cc: Auto merged sql/sql_class.cc: Auto merged sql/sql_class.h: Auto merged sql/sql_db.cc: Auto merged sql/sql_delete.cc: Auto merged sql/sql_insert.cc: Auto merged sql/sql_parse.cc: Auto merged sql/sql_select.cc: Auto merged sql/sql_show.cc: Auto merged mysql-test/r/func_time.result: Auto merged mysql-test/r/innodb.result: Auto merged mysql-test/t/bdb.test: Auto merged mysql-test/t/err000001.test: Auto merged mysql-test/t/func_time.test: Auto merged mysql-test/t/innodb.test: Auto merged mysql-test/t/overflow.test: Auto merged mysql-test/t/show_check.test: Auto merged sql/sql_table.cc: Auto merged sql/sql_test.cc: Auto merged sql/sql_update.cc: Auto merged sql/sql_yacc.yy: Auto merged strings/ctype.c: Auto merged Docs/manual.texi: Change to 3.23 manual. (I will later add the changes for 4.0 to this copy) client/mysql.cc: merge client/mysqlbinlog.cc: merge client/mysqldump.c: merge client/mysqltest.c: merge client/thread_test.c: merge configure.in: merge include/my_pthread.h: merge include/mysqld_error.h: merge libmysql/net.c: merge myisam/mi_cache.c: merge myisam/mi_check.c: merge mysql-test/t/fulltext.test: merge mysys/mf_qsort.c: merge sql/lock.cc: merge sql/md5.c: merge sql/mini_client.cc: merge sql/share/czech/errmsg.txt: merge sql/share/danish/errmsg.txt: merge sql/share/dutch/errmsg.txt: merge sql/share/english/errmsg.txt: merge sql/share/estonian/errmsg.txt: merge sql/share/french/errmsg.txt: merge sql/share/german/errmsg.txt: merge sql/share/greek/errmsg.txt: merge sql/share/hungarian/errmsg.txt: merge sql/share/italian/errmsg.txt: merge sql/share/japanese/errmsg.txt: merge sql/share/korean/errmsg.txt: merge sql/share/norwegian-ny/errmsg.txt: merge sql/share/norwegian/errmsg.txt: merge sql/share/polish/errmsg.txt: merge sql/share/portuguese/errmsg.txt: merge sql/share/romanian/errmsg.txt: merge sql/share/russian/errmsg.txt: merge sql/share/slovak/errmsg.txt: merge sql/share/spanish/errmsg.txt: merge sql/share/swedish/errmsg.txt: merge sql/sql_load.cc: merge sql/sql_repl.cc: merge
This commit is contained in:
@@ -53,11 +53,9 @@ int mysql_rm_table(THD *thd,TABLE_LIST *tables, my_bool if_exists)
|
||||
|
||||
/* mark for close and remove all cached entries */
|
||||
|
||||
pthread_mutex_lock(&thd->mysys_var->mutex);
|
||||
thd->mysys_var->current_mutex= &LOCK_open;
|
||||
thd->mysys_var->current_cond= &COND_refresh;
|
||||
VOID(pthread_mutex_lock(&LOCK_open));
|
||||
pthread_mutex_unlock(&thd->mysys_var->mutex);
|
||||
|
||||
if (global_read_lock)
|
||||
{
|
||||
@@ -1073,19 +1071,31 @@ int mysql_optimize_table(THD* thd, TABLE_LIST* tables, HA_CHECK_OPT* check_opt)
|
||||
|
||||
int mysql_analyze_table(THD* thd, TABLE_LIST* tables, HA_CHECK_OPT* check_opt)
|
||||
{
|
||||
#ifdef OS2
|
||||
thr_lock_type lock_type = TL_WRITE;
|
||||
#else
|
||||
thr_lock_type lock_type = TL_READ_NO_INSERT;
|
||||
#endif
|
||||
|
||||
DBUG_ENTER("mysql_analyze_table");
|
||||
DBUG_RETURN(mysql_admin_table(thd, tables, check_opt,
|
||||
"analyze",TL_READ_NO_INSERT, 1,0,0,
|
||||
"analyze", lock_type, 1,0,0,
|
||||
&handler::analyze));
|
||||
}
|
||||
|
||||
|
||||
int mysql_check_table(THD* thd, TABLE_LIST* tables,HA_CHECK_OPT* check_opt)
|
||||
{
|
||||
#ifdef OS2
|
||||
thr_lock_type lock_type = TL_WRITE;
|
||||
#else
|
||||
thr_lock_type lock_type = TL_READ_NO_INSERT;
|
||||
#endif
|
||||
|
||||
DBUG_ENTER("mysql_check_table");
|
||||
DBUG_RETURN(mysql_admin_table(thd, tables, check_opt,
|
||||
"check",
|
||||
TL_READ_NO_INSERT, 0, 0, HA_OPEN_FOR_REPAIR,
|
||||
"check", lock_type,
|
||||
0, 0, HA_OPEN_FOR_REPAIR,
|
||||
&handler::check));
|
||||
}
|
||||
|
||||
@@ -1128,16 +1138,12 @@ int mysql_alter_table(THD *thd,char *new_db, char *new_name,
|
||||
{
|
||||
strmov(new_name_buff,new_name);
|
||||
fn_same(new_name_buff,table_name,3);
|
||||
#ifdef FN_LOWER_CASE
|
||||
if (lower_case_table_names)
|
||||
casedn_str(new_name);
|
||||
if ((lower_case_table_names &&
|
||||
!my_strcasecmp(new_name_buff,table_name)) ||
|
||||
(!lower_case_table_names &&
|
||||
!strcmp(new_name_buff,table_name)))
|
||||
#else
|
||||
if (!strcmp(new_name_buff,table_name)) // Check if name changed
|
||||
#endif
|
||||
new_name=table_name; // No. Make later check easier
|
||||
else
|
||||
{
|
||||
@@ -1609,7 +1615,7 @@ int mysql_alter_table(THD *thd,char *new_db, char *new_name,
|
||||
}
|
||||
}
|
||||
|
||||
#if defined( __WIN__) || defined( __EMX__)
|
||||
#if defined( __WIN__) || defined( __EMX__) || defined( OS2)
|
||||
// Win32 can't rename an open table, so we must close the org table!
|
||||
table_name=thd->strdup(table_name); // must be saved
|
||||
if (close_cached_table(thd,table))
|
||||
@@ -1771,7 +1777,7 @@ copy_data_between_tables(TABLE *from,TABLE *to,
|
||||
/* Turn off recovery logging since rollback of an
|
||||
alter table is to delete the new table so there
|
||||
is no need to log the changes to it. */
|
||||
error = ha_recovery_logging(thd,false);
|
||||
error = ha_recovery_logging(thd,FALSE);
|
||||
if (error)
|
||||
{
|
||||
error = 1;
|
||||
@@ -1823,7 +1829,7 @@ copy_data_between_tables(TABLE *from,TABLE *to,
|
||||
if (to->file->activate_all_index(thd))
|
||||
error=1;
|
||||
|
||||
tmp_error = ha_recovery_logging(thd,true);
|
||||
tmp_error = ha_recovery_logging(thd,TRUE);
|
||||
/*
|
||||
Ensure that the new table is saved properly to disk so that we
|
||||
can do a rename
|
||||
@@ -1835,7 +1841,7 @@ copy_data_between_tables(TABLE *from,TABLE *to,
|
||||
if (to->file->external_lock(thd,F_UNLCK))
|
||||
error=1;
|
||||
err:
|
||||
tmp_error = ha_recovery_logging(thd,true);
|
||||
tmp_error = ha_recovery_logging(thd,TRUE);
|
||||
free_io_cache(from);
|
||||
*copied= found_count;
|
||||
*deleted=delete_count;
|
||||
|
||||
Reference in New Issue
Block a user