Commit 690a413d authored by unknown's avatar unknown

Force clients to recompile if client lib changes (Bug #3009)


sql/lock.cc:
  Added comments
sql/set_var.h:
  Indentation fix
parent bc12d57f
...@@ -19,7 +19,8 @@ ...@@ -19,7 +19,8 @@
#AUTOMAKE_OPTIONS = nostdinc #AUTOMAKE_OPTIONS = nostdinc
INCLUDES = -I$(top_srcdir)/include $(openssl_includes) INCLUDES = -I$(top_srcdir)/include $(openssl_includes)
LIBS = @CLIENT_LIBS@ LIBS = @CLIENT_LIBS@
LDADD = @CLIENT_EXTRA_LDFLAGS@ ../libmysql/libmysqlclient.la DEPLIB= ../libmysql/libmysqlclient.la
LDADD = @CLIENT_EXTRA_LDFLAGS@ $(DEPLIB)
bin_PROGRAMS = mysql mysqladmin mysqlcheck mysqlshow \ bin_PROGRAMS = mysql mysqladmin mysqlcheck mysqlshow \
mysqldump mysqlimport mysqltest mysqlbinlog mysqlmanagerc mysqlmanager-pwgen mysqldump mysqlimport mysqltest mysqlbinlog mysqlmanagerc mysqlmanager-pwgen
noinst_HEADERS = sql_string.h completion_hash.h my_readline.h \ noinst_HEADERS = sql_string.h completion_hash.h my_readline.h \
...@@ -27,18 +28,18 @@ noinst_HEADERS = sql_string.h completion_hash.h my_readline.h \ ...@@ -27,18 +28,18 @@ noinst_HEADERS = sql_string.h completion_hash.h my_readline.h \
mysql_SOURCES = mysql.cc readline.cc sql_string.cc completion_hash.cc mysql_SOURCES = mysql.cc readline.cc sql_string.cc completion_hash.cc
mysql_LDADD = @readline_link@ @TERMCAP_LIB@ $(LDADD) $(CXXLDFLAGS) mysql_LDADD = @readline_link@ @TERMCAP_LIB@ $(LDADD) $(CXXLDFLAGS)
mysqlbinlog_LDADD = $(LDADD) $(CXXLDFLAGS) mysqlbinlog_LDADD = $(LDADD) $(CXXLDFLAGS)
mysql_DEPENDENCIES= $(LIBRARIES) $(pkglib_LTLIBRARIES) mysql_DEPENDENCIES= $(LIBRARIES) $(pkglib_LTLIBRARIES) $(DEPLIB)
mysqladmin_DEPENDENCIES= $(LIBRARIES) $(pkglib_LTLIBRARIES) mysqladmin_DEPENDENCIES= $(LIBRARIES) $(pkglib_LTLIBRARIES) $(DEPLIB)
mysqlcheck_DEPENDENCIES= $(LIBRARIES) $(pkglib_LTLIBRARIES) mysqlcheck_DEPENDENCIES= $(LIBRARIES) $(pkglib_LTLIBRARIES) $(DEPLIB)
mysqlshow_DEPENDENCIES= $(LIBRARIES) $(pkglib_LTLIBRARIES) mysqlshow_DEPENDENCIES= $(LIBRARIES) $(pkglib_LTLIBRARIES) $(DEPLIB)
mysqldump_DEPENDENCIES= $(LIBRARIES) $(pkglib_LTLIBRARIES) mysqldump_DEPENDENCIES= $(LIBRARIES) $(pkglib_LTLIBRARIES) $(DEPLIB)
mysqlimport_DEPENDENCIES= $(LIBRARIES) $(pkglib_LTLIBRARIES) mysqlimport_DEPENDENCIES= $(LIBRARIES) $(pkglib_LTLIBRARIES) $(DEPLIB)
mysqltest_SOURCES= mysqltest.c mysqltest_SOURCES= mysqltest.c
mysqltest_DEPENDENCIES= $(LIBRARIES) $(pkglib_LTLIBRARIES) mysqltest_DEPENDENCIES= $(LIBRARIES) $(pkglib_LTLIBRARIES) $(DEPLIB)
mysqlbinlog_SOURCES = mysqlbinlog.cc ../mysys/mf_tempdir.c mysqlbinlog_SOURCES = mysqlbinlog.cc ../mysys/mf_tempdir.c
mysqlbinlog_DEPENDENCIES= $(LIBRARIES) $(pkglib_LTLIBRARIES) mysqlbinlog_DEPENDENCIES= $(LIBRARIES) $(pkglib_LTLIBRARIES) $(DEPLIB)
mysqlmanagerc_SOURCES = mysqlmanagerc.c mysqlmanagerc_SOURCES = mysqlmanagerc.c
mysqlmanagerc_DEPENDENCIES= $(LIBRARIES) $(pkglib_LTLIBRARIES) mysqlmanagerc_DEPENDENCIES= $(LIBRARIES) $(pkglib_LTLIBRARIES) $(DEPLIB)
sql_src=log_event.h log_event.cc sql_src=log_event.h log_event.cc
# Fix for mit-threads # Fix for mit-threads
......
...@@ -445,14 +445,27 @@ static MYSQL_LOCK *get_lock_data(THD *thd, TABLE **table_ptr, uint count, ...@@ -445,14 +445,27 @@ static MYSQL_LOCK *get_lock_data(THD *thd, TABLE **table_ptr, uint count,
return sql_lock; return sql_lock;
} }
/***************************************************************************** /*****************************************************************************
** Lock table based on the name. Lock table based on the name.
** This is used when we need total access to a closed, not open table This is used when we need total access to a closed, not open table
*****************************************************************************/ *****************************************************************************/
/* /*
Lock and wait for the named lock. Lock and wait for the named lock.
Returns 0 on ok
SYNOPSIS
lock_and_wait_for_table_name()
thd Thread handler
table_list Lock first table in this list
NOTES
Works together with global read lock.
RETURN
0 ok
1 error
*/ */
int lock_and_wait_for_table_name(THD *thd, TABLE_LIST *table_list) int lock_and_wait_for_table_name(THD *thd, TABLE_LIST *table_list)
...@@ -482,13 +495,28 @@ int lock_and_wait_for_table_name(THD *thd, TABLE_LIST *table_list) ...@@ -482,13 +495,28 @@ int lock_and_wait_for_table_name(THD *thd, TABLE_LIST *table_list)
/* /*
Put a not open table with an old refresh version in the table cache. Put a not open table with an old refresh version in the table cache.
This will force any other threads that uses the table to release it
as soon as possible. SYNPOSIS
One must have a lock on LOCK_open ! lock_table_name()
Return values: thd Thread handler
< 0 error table_list Lock first table in this list
== 0 table locked
> 0 table locked, but someone is using it WARNING
If you are going to update the table, you should use
lock_and_wait_for_table_name instead of this function as this works
together with 'FLUSH TABLES WITH READ LOCK'
NOTES
This will force any other threads that uses the table to release it
as soon as possible.
REQUIREMENTS
One must have a lock on LOCK_open !
RETURN:
< 0 error
== 0 table locked
> 0 table locked, but someone is using it
*/ */
int lock_table_name(THD *thd, TABLE_LIST *table_list) int lock_table_name(THD *thd, TABLE_LIST *table_list)
...@@ -588,6 +616,10 @@ bool wait_for_locked_table_names(THD *thd, TABLE_LIST *table_list) ...@@ -588,6 +616,10 @@ bool wait_for_locked_table_names(THD *thd, TABLE_LIST *table_list)
table_list Names of tables to lock table_list Names of tables to lock
NOTES NOTES
If you are just locking one table, you should use
lock_and_wait_for_table_name().
REQUIREMENTS
One must have a lock on LOCK_open when calling this One must have a lock on LOCK_open when calling this
RETURN RETURN
......
...@@ -505,7 +505,7 @@ class sys_var_character_set :public sys_var_thd ...@@ -505,7 +505,7 @@ class sys_var_character_set :public sys_var_thd
sys_var_character_set(const char *name_arg) :sys_var_thd(name_arg) sys_var_character_set(const char *name_arg) :sys_var_thd(name_arg)
{ nullable= 0; } { nullable= 0; }
bool check(THD *thd, set_var *var); bool check(THD *thd, set_var *var);
SHOW_TYPE type() { return SHOW_CHAR; } SHOW_TYPE type() { return SHOW_CHAR; }
bool check_update_type(Item_result type) bool check_update_type(Item_result type)
{ {
return type != STRING_RESULT; /* Only accept strings */ return type != STRING_RESULT; /* Only accept strings */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment