summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorunknown <lars/lthalmann@mysql.com/dl145j.mysql.com>2006-09-15 01:15:39 +0200
committerunknown <lars/lthalmann@mysql.com/dl145j.mysql.com>2006-09-15 01:15:39 +0200
commita72cd5383287536b3d2db60a0debe5e5feff61df (patch)
tree8084a896969cdc94e9e9d21b2844dcde1b190119 /sql
parent85c064f6b19ee5e596540f7a0d0937b0abb9b3ba (diff)
parent2780bad0539ba039d2152f0d820f0a1b55578a0c (diff)
downloadmariadb-git-a72cd5383287536b3d2db60a0debe5e5feff61df.tar.gz
Merge mysql.com:/users/lthalmann/bkroot/mysql-4.1-rpl
into mysql.com:/users/lthalmann/bk/MERGE/mysql-4.1-merge
Diffstat (limited to 'sql')
-rw-r--r--sql/log.cc9
-rw-r--r--sql/sql_class.h1
-rw-r--r--sql/sql_repl.cc8
-rw-r--r--sql/sql_yacc.yy4
4 files changed, 17 insertions, 5 deletions
diff --git a/sql/log.cc b/sql/log.cc
index c530f15a84f..5ae89dfeb50 100644
--- a/sql/log.cc
+++ b/sql/log.cc
@@ -409,13 +409,18 @@ shutdown the MySQL server and restart it.", log_name, errno);
int MYSQL_LOG::get_current_log(LOG_INFO* linfo)
{
pthread_mutex_lock(&LOCK_log);
+ int ret = raw_get_current_log(linfo);
+ pthread_mutex_unlock(&LOCK_log);
+ return ret;
+}
+
+int MYSQL_LOG::raw_get_current_log(LOG_INFO* linfo)
+{
strmake(linfo->log_file_name, log_file_name, sizeof(linfo->log_file_name)-1);
linfo->pos = my_b_tell(&log_file);
- pthread_mutex_unlock(&LOCK_log);
return 0;
}
-
/*
Move all data up in a file in an filename index file
diff --git a/sql/sql_class.h b/sql/sql_class.h
index e8fe175cd7c..a995a492bc8 100644
--- a/sql/sql_class.h
+++ b/sql/sql_class.h
@@ -177,6 +177,7 @@ public:
bool need_mutex);
int find_next_log(LOG_INFO* linfo, bool need_mutex);
int get_current_log(LOG_INFO* linfo);
+ int raw_get_current_log(LOG_INFO* linfo);
uint next_file_id();
inline bool is_open() { return log_type != LOG_CLOSED; }
inline char* get_index_fname() { return index_file_name;}
diff --git a/sql/sql_repl.cc b/sql/sql_repl.cc
index 963c4ccf5a6..2a7ab55b8c4 100644
--- a/sql/sql_repl.cc
+++ b/sql/sql_repl.cc
@@ -1359,10 +1359,14 @@ int show_binlogs(THD* thd)
MYSQL_TYPE_LONGLONG));
if (protocol->send_fields(&field_list, 1))
DBUG_RETURN(1);
+
+ pthread_mutex_lock(mysql_bin_log.get_log_lock());
mysql_bin_log.lock_index();
index_file=mysql_bin_log.get_index_file();
-
- mysql_bin_log.get_current_log(&cur);
+
+ mysql_bin_log.raw_get_current_log(&cur); // dont take mutex
+ pthread_mutex_unlock(mysql_bin_log.get_log_lock()); // lockdep, OK
+
cur_dir_len= dirname_length(cur.log_file_name);
reinit_io_cache(index_file, READ_CACHE, (my_off_t) 0, 0, 0);
diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy
index 162b4183c84..bce9aed79fc 100644
--- a/sql/sql_yacc.yy
+++ b/sql/sql_yacc.yy
@@ -4800,14 +4800,16 @@ load: LOAD DATA_SYM load_data_lock opt_local INFILE TEXT_STRING_sys
LOAD TABLE_SYM table_ident FROM MASTER_SYM
{
Lex->sql_command = SQLCOM_LOAD_MASTER_TABLE;
+ WARN_DEPRECATED("LOAD TABLE FROM MASTER", "mysqldump or future BACKUP/RESTORE DATABASE facility");
if (!Select->add_table_to_list(YYTHD, $3, NULL, TL_OPTION_UPDATING))
YYABORT;
-
+
}
|
LOAD DATA_SYM FROM MASTER_SYM
{
Lex->sql_command = SQLCOM_LOAD_MASTER_DATA;
+ WARN_DEPRECATED("LOAD DATA FROM MASTER", "mysqldump or future BACKUP/RESTORE DATABASE facility");
};
opt_local: