Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
Kirill Smelkov
mariadb
Commits
9ab0759e
Commit
9ab0759e
authored
14 years ago
by
Alexander Nozdrin
Browse files
Options
Download
Plain Diff
Auto-merge from mysql-5.5.
parents
84628ea2
5f4cb3a9
Changes
389
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
312 additions
and
78 deletions
+312
-78
.bzrignore
.bzrignore
+3
-0
Makefile.am
Makefile.am
+2
-1
client/mysql.cc
client/mysql.cc
+1
-4
cmake/abi_check.cmake
cmake/abi_check.cmake
+10
-8
cmake/do_abi_check.cmake
cmake/do_abi_check.cmake
+3
-2
config/ac-macros/plugins.m4
config/ac-macros/plugins.m4
+1
-1
configure.in
configure.in
+2
-2
include/my_pthread.h
include/my_pthread.h
+20
-0
include/mysql/plugin.h
include/mysql/plugin.h
+1
-0
include/mysql/plugin_audit.h.pp
include/mysql/plugin_audit.h.pp
+196
-0
include/mysql/plugin_ftparser.h.pp
include/mysql/plugin_ftparser.h.pp
+46
-45
include/mysql/psi/mysql_thread.h
include/mysql/psi/mysql_thread.h
+8
-0
libmysqld/CMakeLists.txt
libmysqld/CMakeLists.txt
+2
-1
libmysqld/Makefile.am
libmysqld/Makefile.am
+5
-3
mysql-test/CMakeLists.txt
mysql-test/CMakeLists.txt
+1
-0
mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test
mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test
+2
-6
mysql-test/extra/binlog_tests/mix_innodb_myisam_side_effects.test
...st/extra/binlog_tests/mix_innodb_myisam_side_effects.test
+1
-0
mysql-test/extra/rpl_tests/rpl_drop_create_temp_table.inc
mysql-test/extra/rpl_tests/rpl_drop_create_temp_table.inc
+1
-1
mysql-test/extra/rpl_tests/rpl_drop_create_temp_table.test
mysql-test/extra/rpl_tests/rpl_drop_create_temp_table.test
+6
-3
mysql-test/extra/rpl_tests/rpl_innodb.test
mysql-test/extra/rpl_tests/rpl_innodb.test
+1
-1
No files found.
.bzrignore
View file @
9ab0759e
...
...
@@ -997,6 +997,7 @@ libmysqld/.deps/sql_cursor.Po
libmysqld/.deps/sql_db.Po
libmysqld/.deps/sql_delete.Po
libmysqld/.deps/sql_truncate.Po
libmysqld/.deps/sql_reload.Po
libmysqld/.deps/datadict.Po
libmysqld/.deps/sql_derived.Po
libmysqld/.deps/sql_do.Po
...
...
@@ -1175,6 +1176,7 @@ libmysqld/sql_cursor.h
libmysqld/sql_db.cc
libmysqld/sql_delete.cc
libmysqld/sql_truncate.cc
libmysqld/sql_reload.cc
libmysqld/datadict.cc
libmysqld/sql_derived.cc
libmysqld/sql_do.cc
...
...
@@ -2067,6 +2069,7 @@ sql/.deps/sql_cursor.Po
sql/.deps/sql_db.Po
sql/.deps/sql_delete.Po
sql/.deps/sql_truncate.Po
sql/.deps/sql_reload.Po
sql/.deps/datadict.Po
sql/.deps/sql_derived.Po
sql/.deps/sql_do.Po
...
...
This diff is collapsed.
Click to expand it.
Makefile.am
View file @
9ab0759e
...
...
@@ -264,7 +264,8 @@ test-full-qa:
# Headers which need to be checked for abi/api compatibility.
#
API_PREPROCESSOR_HEADER
=
$(top_srcdir)
/include/mysql/plugin.h
\
API_PREPROCESSOR_HEADER
=
$(top_srcdir)
/include/mysql/plugin_audit.h
\
$(top_srcdir)
/include/mysql/plugin_ftparser.h
\
$(top_srcdir)
/include/mysql.h
\
$(top_srcdir)
/include/mysql/psi/psi_abi_v1.h
\
$(top_srcdir)
/include/mysql/psi/psi_abi_v2.h
...
...
This diff is collapsed.
Click to expand it.
client/mysql.cc
View file @
9ab0759e
...
...
@@ -93,6 +93,7 @@ extern "C" {
#else
#include <readline/readline.h>
#define HAVE_READLINE
#define USE_POPEN
#endif
//int vidattr(long unsigned int attrs); // Was missing in sun curses
}
...
...
@@ -108,10 +109,6 @@ extern "C" {
#define cmp_database(cs,A,B) strcmp((A),(B))
#endif
#if !defined(__WIN__) && !defined(THREAD)
#define USE_POPEN
#endif
#include "completion_hash.h"
#define PROMPT_CHAR '\\'
...
...
This diff is collapsed.
Click to expand it.
cmake/abi_check.cmake
View file @
9ab0759e
...
...
@@ -15,7 +15,8 @@
#
# Headers which need to be checked for abi/api compatibility are in
# API_PREPROCESSOR_HEADER.
# API_PREPROCESSOR_HEADER. plugin.h is tested implicitly via
# plugin_audit.h and plugin_ftparser.h.
#
# We use gcc specific preprocessing command and sed/diff, so it will
# only be run on Unix and only if gcc is used.
...
...
@@ -27,7 +28,8 @@ IF(CMAKE_COMPILER_IS_GNUCC AND CMAKE_SYSTEM_NAME MATCHES "Linux")
SET
(
COMPILER
${
CMAKE_C_COMPILER
}
)
ENDIF
()
SET
(
API_PREPROCESSOR_HEADER
${
CMAKE_SOURCE_DIR
}
/include/mysql/plugin.h
${
CMAKE_SOURCE_DIR
}
/include/mysql/plugin_audit.h
${
CMAKE_SOURCE_DIR
}
/include/mysql/plugin_ftparser.h
${
CMAKE_SOURCE_DIR
}
/include/mysql.h
${
CMAKE_SOURCE_DIR
}
/include/mysql/psi/psi_abi_v1.h
${
CMAKE_SOURCE_DIR
}
/include/mysql/psi/psi_abi_v2.h
...
...
@@ -38,18 +40,18 @@ IF(CMAKE_COMPILER_IS_GNUCC AND CMAKE_SYSTEM_NAME MATCHES "Linux")
-DCOMPILER=
${
COMPILER
}
-DSOURCE_DIR=
${
CMAKE_SOURCE_DIR
}
-DBINARY_DIR=
${
CMAKE_BINARY_DIR
}
"
-DDMYSQL_ABI_CHECK
-DABI_HEADERS=
${
API_PREPROCESSOR_HEADER
}
"
"-DABI_HEADERS=
${
API_PREPROCESSOR_HEADER
}
"
-P
${
CMAKE_SOURCE_DIR
}
/cmake/do_abi_check.cmake
VERBATIM
)
ADD_CUSTOM_TARGET
(
abi_check_all
COMMAND
${
CMAKE_COMMAND
}
-D
CMAKE_C_
COMPILER=
${
COMPILER
}
-D
CMAKE_
SOURCE_DIR=
${
CMAKE_SOURCE_DIR
}
-D
CMAKE_
BINARY_DIR=
${
CMAKE_BINARY_DIR
}
"
-DMYSQL_ABI_CHECK
-DABI_HEADERS=
${
API_PREPROCESSOR_HEADER
}
"
-P
${
CMAKE_SOURCE_DIR
}
/cmake/
scripts/
do_abi_check.cmake
-DCOMPILER=
${
COMPILER
}
-DSOURCE_DIR=
${
CMAKE_SOURCE_DIR
}
-DBINARY_DIR=
${
CMAKE_BINARY_DIR
}
"-DABI_HEADERS=
${
API_PREPROCESSOR_HEADER
}
"
-P
${
CMAKE_SOURCE_DIR
}
/cmake/do_abi_check.cmake
VERBATIM
)
ENDIF
()
...
...
This diff is collapsed.
Click to expand it.
cmake/do_abi_check.cmake
View file @
9ab0759e
...
...
@@ -56,8 +56,9 @@ FOREACH(file ${ABI_HEADERS})
SET
(
tmpfile
${
file
}
.pp.tmp
)
EXECUTE_PROCESS
(
COMMAND
${
COMPILER
}
-E -nostdinc -dI -I
${
SOURCE_DIR
}
/include -I
${
BINARY_DIR
}
/include
-I
${
SOURCE_DIR
}
/include/mysql -I
${
SOURCE_DIR
}
/sql
${
file
}
-E -nostdinc -dI -DMYSQL_ABI_CHECK -I
${
SOURCE_DIR
}
/include
-I
${
BINARY_DIR
}
/include -I
${
SOURCE_DIR
}
/include/mysql -I
${
SOURCE_DIR
}
/sql
${
file
}
ERROR_QUIET OUTPUT_FILE
${
tmpfile
}
)
EXECUTE_PROCESS
(
COMMAND sed -e
...
...
This diff is collapsed.
Click to expand it.
config/ac-macros/plugins.m4
View file @
9ab0759e
...
...
@@ -782,7 +782,7 @@ dnl Emits shell script for checking configure arguments
dnl Arguments to this macro is default value for selected plugins
AC_DEFUN([_MYSQL_CHECK_PLUGIN_ARGS],[
__MYSQL_CHECK_PLUGIN_ARGS(m4_default([$1], [
none
]))
__MYSQL_CHECK_PLUGIN_ARGS(m4_default([$1], [
default
]))
])
AC_DEFUN([__MYSQL_CHECK_PLUGIN_ARGS],[
...
...
This diff is collapsed.
Click to expand it.
configure.in
View file @
9ab0759e
...
...
@@ -27,7 +27,7 @@ dnl
dnl When changing the major version number please also check the switch
dnl statement
in
mysqlbinlog::check_master_version
()
.
You may also need
dnl to update version.c
in
ndb.
AC_INIT
([
MySQL Server],
[
5.5.
6
-m3],
[]
,
[
mysql]
)
AC_INIT
([
MySQL Server],
[
5.5.
7
-m3],
[]
,
[
mysql]
)
AC_CONFIG_SRCDIR
([
sql/mysqld.cc]
)
AC_CANONICAL_SYSTEM
...
...
@@ -2606,7 +2606,7 @@ MYSQL_STORAGE_ENGINE(partition, partition, [Partition Support],
dnl
--
ndbcluster requires partition to be enabled
MYSQL_CONFIGURE_PLUGINS
([
none
]
)
MYSQL_CONFIGURE_PLUGINS
([
default
]
)
# Only build client code?
AC_ARG_WITH
(
server,
...
...
This diff is collapsed.
Click to expand it.
include/my_pthread.h
View file @
9ab0759e
...
...
@@ -601,6 +601,8 @@ int my_pthread_fastmutex_lock(my_pthread_fastmutex_t *mp);
#define rw_trywrlock(A) my_rw_trywrlock((A))
#define rw_unlock(A) my_rw_unlock((A))
#define rwlock_destroy(A) my_rw_destroy((A))
#define rw_lock_assert_write_owner(A) my_rw_lock_assert_write_owner((A))
#define rw_lock_assert_not_write_owner(A) my_rw_lock_assert_not_write_owner((A))
#endif
/* USE_MUTEX_INSTEAD_OF_RW_LOCKS */
...
...
@@ -624,6 +626,8 @@ extern int rw_pr_init(rw_pr_lock_t *);
#define rw_pr_trywrlock(A) pthread_rwlock_trywrlock(A)
#define rw_pr_unlock(A) pthread_rwlock_unlock(A)
#define rw_pr_destroy(A) pthread_rwlock_destroy(A)
#define rw_pr_lock_assert_write_owner(A)
#define rw_pr_lock_assert_not_write_owner(A)
#else
/* Otherwise we have to use our own implementation of read/write locks. */
#define NEED_MY_RW_LOCK 1
...
...
@@ -636,6 +640,8 @@ extern int rw_pr_init(struct st_my_rw_lock_t *);
#define rw_pr_trywrlock(A) my_rw_trywrlock((A))
#define rw_pr_unlock(A) my_rw_unlock((A))
#define rw_pr_destroy(A) my_rw_destroy((A))
#define rw_pr_lock_assert_write_owner(A) my_rw_lock_assert_write_owner((A))
#define rw_pr_lock_assert_not_write_owner(A) my_rw_lock_assert_not_write_owner((A))
#endif
/* defined(HAVE_PTHREAD_RWLOCK_RDLOCK) && defined(HAVE_PTHREAD_RWLOCKATTR_SETKIND_NP) */
...
...
@@ -651,6 +657,9 @@ typedef struct st_my_rw_lock_t {
int
state
;
/* -1:writer,0:free,>0:readers */
int
waiters
;
/* number of waiting writers */
my_bool
prefer_readers
;
#ifdef SAFE_MUTEX
pthread_t
write_thread
;
#endif
}
my_rw_lock_t
;
extern
int
my_rw_init
(
my_rw_lock_t
*
,
my_bool
*
);
...
...
@@ -660,6 +669,17 @@ extern int my_rw_wrlock(my_rw_lock_t *);
extern
int
my_rw_unlock
(
my_rw_lock_t
*
);
extern
int
my_rw_tryrdlock
(
my_rw_lock_t
*
);
extern
int
my_rw_trywrlock
(
my_rw_lock_t
*
);
#ifdef SAFE_MUTEX
#define my_rw_lock_assert_write_owner(A) \
DBUG_ASSERT((A)->state == -1 && pthread_equal(pthread_self(), \
(A)->write_thread))
#define my_rw_lock_assert_not_write_owner(A) \
DBUG_ASSERT((A)->state >= 0 || ! pthread_equal(pthread_self(), \
(A)->write_thread))
#else
#define my_rw_lock_assert_write_owner(A)
#define my_rw_lock_assert_not_write_owner(A)
#endif
#endif
/* NEED_MY_RW_LOCK */
...
...
This diff is collapsed.
Click to expand it.
include/mysql/plugin.h
View file @
9ab0759e
...
...
@@ -528,6 +528,7 @@ long long thd_test_options(const MYSQL_THD thd, long long test_options);
int
thd_sql_command
(
const
MYSQL_THD
thd
);
const
char
*
thd_proc_info
(
MYSQL_THD
thd
,
const
char
*
info
);
void
**
thd_ha_data
(
const
MYSQL_THD
thd
,
const
struct
handlerton
*
hton
);
void
thd_storage_lock_wait
(
MYSQL_THD
thd
,
long
long
value
);
int
thd_tx_isolation
(
const
MYSQL_THD
thd
);
char
*
thd_security_context
(
MYSQL_THD
thd
,
char
*
buffer
,
unsigned
int
length
,
unsigned
int
max_query_len
);
...
...
This diff is collapsed.
Click to expand it.
include/mysql/plugin_audit.h.pp
0 → 100644
View file @
9ab0759e
#include "plugin.h"
#include <mysql/services.h>
#include <mysql/service_my_snprintf.h>
extern
struct
my_snprintf_service_st
{
size_t
(
*
my_snprintf_type
)(
char
*
,
size_t
,
const
char
*
,
...
);
size_t
(
*
my_vsnprintf_type
)(
char
*
,
size_t
,
const
char
*
,
va_list
);
}
*
my_snprintf_service
;
size_t
my_snprintf
(
char
*
to
,
size_t
n
,
const
char
*
fmt
,
...
);
size_t
my_vsnprintf
(
char
*
to
,
size_t
n
,
const
char
*
fmt
,
va_list
ap
);
#include <mysql/service_thd_alloc.h>
struct
st_mysql_lex_string
{
char
*
str
;
size_t
length
;
};
typedef
struct
st_mysql_lex_string
MYSQL_LEX_STRING
;
extern
struct
thd_alloc_service_st
{
void
*
(
*
thd_alloc_func
)(
void
*
,
unsigned
int
);
void
*
(
*
thd_calloc_func
)(
void
*
,
unsigned
int
);
char
*
(
*
thd_strdup_func
)(
void
*
,
const
char
*
);
char
*
(
*
thd_strmake_func
)(
void
*
,
const
char
*
,
unsigned
int
);
void
*
(
*
thd_memdup_func
)(
void
*
,
const
void
*
,
unsigned
int
);
MYSQL_LEX_STRING
*
(
*
thd_make_lex_string_func
)(
void
*
,
MYSQL_LEX_STRING
*
,
const
char
*
,
unsigned
int
,
int
);
}
*
thd_alloc_service
;
void
*
thd_alloc
(
void
*
thd
,
unsigned
int
size
);
void
*
thd_calloc
(
void
*
thd
,
unsigned
int
size
);
char
*
thd_strdup
(
void
*
thd
,
const
char
*
str
);
char
*
thd_strmake
(
void
*
thd
,
const
char
*
str
,
unsigned
int
size
);
void
*
thd_memdup
(
void
*
thd
,
const
void
*
str
,
unsigned
int
size
);
MYSQL_LEX_STRING
*
thd_make_lex_string
(
void
*
thd
,
MYSQL_LEX_STRING
*
lex_str
,
const
char
*
str
,
unsigned
int
size
,
int
allocate_lex_string
);
struct
st_mysql_xid
{
long
formatID
;
long
gtrid_length
;
long
bqual_length
;
char
data
[
128
];
};
typedef
struct
st_mysql_xid
MYSQL_XID
;
enum
enum_mysql_show_type
{
SHOW_UNDEF
,
SHOW_BOOL
,
SHOW_INT
,
SHOW_LONG
,
SHOW_LONGLONG
,
SHOW_CHAR
,
SHOW_CHAR_PTR
,
SHOW_ARRAY
,
SHOW_FUNC
,
SHOW_DOUBLE
,
SHOW_always_last
};
struct
st_mysql_show_var
{
const
char
*
name
;
char
*
value
;
enum
enum_mysql_show_type
type
;
};
typedef
int
(
*
mysql_show_var_func
)(
void
*
,
struct
st_mysql_show_var
*
,
char
*
);
struct
st_mysql_sys_var
;
struct
st_mysql_value
;
typedef
int
(
*
mysql_var_check_func
)(
void
*
thd
,
struct
st_mysql_sys_var
*
var
,
void
*
save
,
struct
st_mysql_value
*
value
);
typedef
void
(
*
mysql_var_update_func
)(
void
*
thd
,
struct
st_mysql_sys_var
*
var
,
void
*
var_ptr
,
const
void
*
save
);
struct
st_mysql_plugin
{
int
type
;
void
*
info
;
const
char
*
name
;
const
char
*
author
;
const
char
*
descr
;
int
license
;
int
(
*
init
)(
void
*
);
int
(
*
deinit
)(
void
*
);
unsigned
int
version
;
struct
st_mysql_show_var
*
status_vars
;
struct
st_mysql_sys_var
**
system_vars
;
void
*
__reserved1
;
};
#include "plugin_ftparser.h"
#include "plugin.h"
enum
enum_ftparser_mode
{
MYSQL_FTPARSER_SIMPLE_MODE
=
0
,
MYSQL_FTPARSER_WITH_STOPWORDS
=
1
,
MYSQL_FTPARSER_FULL_BOOLEAN_INFO
=
2
};
enum
enum_ft_token_type
{
FT_TOKEN_EOF
=
0
,
FT_TOKEN_WORD
=
1
,
FT_TOKEN_LEFT_PAREN
=
2
,
FT_TOKEN_RIGHT_PAREN
=
3
,
FT_TOKEN_STOPWORD
=
4
};
typedef
struct
st_mysql_ftparser_boolean_info
{
enum
enum_ft_token_type
type
;
int
yesno
;
int
weight_adjust
;
char
wasign
;
char
trunc
;
char
prev
;
char
*
quot
;
}
MYSQL_FTPARSER_BOOLEAN_INFO
;
typedef
struct
st_mysql_ftparser_param
{
int
(
*
mysql_parse
)(
struct
st_mysql_ftparser_param
*
,
char
*
doc
,
int
doc_len
);
int
(
*
mysql_add_word
)(
struct
st_mysql_ftparser_param
*
,
char
*
word
,
int
word_len
,
MYSQL_FTPARSER_BOOLEAN_INFO
*
boolean_info
);
void
*
ftparser_state
;
void
*
mysql_ftparam
;
struct
charset_info_st
*
cs
;
char
*
doc
;
int
length
;
int
flags
;
enum
enum_ftparser_mode
mode
;
}
MYSQL_FTPARSER_PARAM
;
struct
st_mysql_ftparser
{
int
interface_version
;
int
(
*
parse
)(
MYSQL_FTPARSER_PARAM
*
param
);
int
(
*
init
)(
MYSQL_FTPARSER_PARAM
*
param
);
int
(
*
deinit
)(
MYSQL_FTPARSER_PARAM
*
param
);
};
struct
st_mysql_daemon
{
int
interface_version
;
};
struct
st_mysql_information_schema
{
int
interface_version
;
};
struct
st_mysql_storage_engine
{
int
interface_version
;
};
struct
handlerton
;
struct
Mysql_replication
{
int
interface_version
;
};
struct
st_mysql_value
{
int
(
*
value_type
)(
struct
st_mysql_value
*
);
const
char
*
(
*
val_str
)(
struct
st_mysql_value
*
,
char
*
buffer
,
int
*
length
);
int
(
*
val_real
)(
struct
st_mysql_value
*
,
double
*
realbuf
);
int
(
*
val_int
)(
struct
st_mysql_value
*
,
long
long
*
intbuf
);
int
(
*
is_unsigned
)(
struct
st_mysql_value
*
);
};
int
thd_in_lock_tables
(
const
void
*
thd
);
int
thd_tablespace_op
(
const
void
*
thd
);
long
long
thd_test_options
(
const
void
*
thd
,
long
long
test_options
);
int
thd_sql_command
(
const
void
*
thd
);
const
char
*
thd_proc_info
(
void
*
thd
,
const
char
*
info
);
void
**
thd_ha_data
(
const
void
*
thd
,
const
struct
handlerton
*
hton
);
void
thd_storage_lock_wait
(
void
*
thd
,
long
long
value
);
int
thd_tx_isolation
(
const
void
*
thd
);
char
*
thd_security_context
(
void
*
thd
,
char
*
buffer
,
unsigned
int
length
,
unsigned
int
max_query_len
);
void
thd_inc_row_count
(
void
*
thd
);
int
mysql_tmpfile
(
const
char
*
prefix
);
int
thd_killed
(
const
void
*
thd
);
unsigned
long
thd_get_thread_id
(
const
void
*
thd
);
void
thd_get_xid
(
const
void
*
thd
,
MYSQL_XID
*
xid
);
void
mysql_query_cache_invalidate4
(
void
*
thd
,
const
char
*
key
,
unsigned
int
key_length
,
int
using_trx
);
void
*
thd_get_ha_data
(
const
void
*
thd
,
const
struct
handlerton
*
hton
);
void
thd_set_ha_data
(
void
*
thd
,
const
struct
handlerton
*
hton
,
const
void
*
ha_data
);
struct
mysql_event
{
unsigned
int
event_class
;
};
struct
mysql_event_general
{
unsigned
int
event_class
;
unsigned
int
event_subclass
;
int
general_error_code
;
unsigned
long
general_thread_id
;
const
char
*
general_user
;
unsigned
int
general_user_length
;
const
char
*
general_command
;
unsigned
int
general_command_length
;
const
char
*
general_query
;
unsigned
int
general_query_length
;
struct
charset_info_st
*
general_charset
;
unsigned
long
long
general_time
;
unsigned
long
long
general_rows
;
};
struct
st_mysql_audit
{
int
interface_version
;
void
(
*
release_thd
)(
void
*
);
void
(
*
event_notify
)(
void
*
,
const
struct
mysql_event
*
);
unsigned
long
class
_mask
[
1
];
};
This diff is collapsed.
Click to expand it.
include/mysql/plugin.h.pp
→
include/mysql/plugin
_ftparser
.h.pp
View file @
9ab0759e
#include "plugin.h"
#include <mysql/services.h>
#include <mysql/service_my_snprintf.h>
extern
struct
my_snprintf_service_st
{
...
...
@@ -74,7 +75,51 @@ struct st_mysql_plugin
void
*
__reserved1
;
};
#include "plugin_ftparser.h"
#include "plugin.h"
struct
st_mysql_daemon
{
int
interface_version
;
};
struct
st_mysql_information_schema
{
int
interface_version
;
};
struct
st_mysql_storage_engine
{
int
interface_version
;
};
struct
handlerton
;
struct
Mysql_replication
{
int
interface_version
;
};
struct
st_mysql_value
{
int
(
*
value_type
)(
struct
st_mysql_value
*
);
const
char
*
(
*
val_str
)(
struct
st_mysql_value
*
,
char
*
buffer
,
int
*
length
);
int
(
*
val_real
)(
struct
st_mysql_value
*
,
double
*
realbuf
);
int
(
*
val_int
)(
struct
st_mysql_value
*
,
long
long
*
intbuf
);
int
(
*
is_unsigned
)(
struct
st_mysql_value
*
);
};
int
thd_in_lock_tables
(
const
void
*
thd
);
int
thd_tablespace_op
(
const
void
*
thd
);
long
long
thd_test_options
(
const
void
*
thd
,
long
long
test_options
);
int
thd_sql_command
(
const
void
*
thd
);
const
char
*
thd_proc_info
(
void
*
thd
,
const
char
*
info
);
void
**
thd_ha_data
(
const
void
*
thd
,
const
struct
handlerton
*
hton
);
void
thd_storage_lock_wait
(
void
*
thd
,
long
long
value
);
int
thd_tx_isolation
(
const
void
*
thd
);
char
*
thd_security_context
(
void
*
thd
,
char
*
buffer
,
unsigned
int
length
,
unsigned
int
max_query_len
);
void
thd_inc_row_count
(
void
*
thd
);
int
mysql_tmpfile
(
const
char
*
prefix
);
int
thd_killed
(
const
void
*
thd
);
unsigned
long
thd_get_thread_id
(
const
void
*
thd
);
void
thd_get_xid
(
const
void
*
thd
,
MYSQL_XID
*
xid
);
void
mysql_query_cache_invalidate4
(
void
*
thd
,
const
char
*
key
,
unsigned
int
key_length
,
int
using_trx
);
void
*
thd_get_ha_data
(
const
void
*
thd
,
const
struct
handlerton
*
hton
);
void
thd_set_ha_data
(
void
*
thd
,
const
struct
handlerton
*
hton
,
const
void
*
ha_data
);
enum
enum_ftparser_mode
{
MYSQL_FTPARSER_SIMPLE_MODE
=
0
,
...
...
@@ -121,47 +166,3 @@ struct st_mysql_ftparser
int
(
*
init
)(
MYSQL_FTPARSER_PARAM
*
param
);
int
(
*
deinit
)(
MYSQL_FTPARSER_PARAM
*
param
);
};
struct
st_mysql_daemon
{
int
interface_version
;
};
struct
st_mysql_information_schema
{
int
interface_version
;
};
struct
st_mysql_storage_engine
{
int
interface_version
;
};
struct
handlerton
;
struct
Mysql_replication
{
int
interface_version
;
};
struct
st_mysql_value
{
int
(
*
value_type
)(
struct
st_mysql_value
*
);
const
char
*
(
*
val_str
)(
struct
st_mysql_value
*
,
char
*
buffer
,
int
*
length
);
int
(
*
val_real
)(
struct
st_mysql_value
*
,
double
*
realbuf
);
int
(
*
val_int
)(
struct
st_mysql_value
*
,
long
long
*
intbuf
);
int
(
*
is_unsigned
)(
struct
st_mysql_value
*
);
};
int
thd_in_lock_tables
(
const
void
*
thd
);
int
thd_tablespace_op
(
const
void
*
thd
);
long
long
thd_test_options
(
const
void
*
thd
,
long
long
test_options
);
int
thd_sql_command
(
const
void
*
thd
);
const
char
*
thd_proc_info
(
void
*
thd
,
const
char
*
info
);
void
**
thd_ha_data
(
const
void
*
thd
,
const
struct
handlerton
*
hton
);
int
thd_tx_isolation
(
const
void
*
thd
);
char
*
thd_security_context
(
void
*
thd
,
char
*
buffer
,
unsigned
int
length
,
unsigned
int
max_query_len
);
void
thd_inc_row_count
(
void
*
thd
);
int
mysql_tmpfile
(
const
char
*
prefix
);
int
thd_killed
(
const
void
*
thd
);
unsigned
long
thd_get_thread_id
(
const
void
*
thd
);
void
thd_get_xid
(
const
void
*
thd
,
MYSQL_XID
*
xid
);
void
mysql_query_cache_invalidate4
(
void
*
thd
,
const
char
*
key
,
unsigned
int
key_length
,
int
using_trx
);
void
*
thd_get_ha_data
(
const
void
*
thd
,
const
struct
handlerton
*
hton
);
void
thd_set_ha_data
(
void
*
thd
,
const
struct
handlerton
*
hton
,
const
void
*
ha_data
);
This diff is collapsed.
Click to expand it.
include/mysql/psi/mysql_thread.h
View file @
9ab0759e
...
...
@@ -215,6 +215,14 @@ typedef struct st_mysql_cond mysql_cond_t;
#define mysql_mutex_assert_not_owner(M) \
safe_mutex_assert_not_owner(&(M)->m_mutex)
/** Wrappers for instrumented prlock objects. */
#define mysql_prlock_assert_write_owner(M) \
rw_pr_lock_assert_write_owner(&(M)->m_prlock)
#define mysql_prlock_assert_not_write_owner(M) \
rw_pr_lock_assert_not_write_owner(&(M)->m_prlock)
/**
@def mysql_mutex_init(K, M, A)
Instrumented mutex_init.
...
...
This diff is collapsed.
Click to expand it.
libmysqld/CMakeLists.txt
View file @
9ab0759e
...
...
@@ -64,7 +64,7 @@ SET(SQL_EMBEDDED_SOURCES emb_qcache.cc libmysqld.c lib_sql.cc
../sql/sql_db.cc ../sql/sql_delete.cc ../sql/sql_derived.cc
../sql/sql_do.cc ../sql/sql_error.cc ../sql/sql_handler.cc
../sql/sql_help.cc ../sql/sql_insert.cc ../sql/datadict.cc
../sql/sql_
truncate
.cc
../sql/sql_
admin.cc ../sql/sql_truncate.cc ../sql/sql_reload
.cc
../sql/sql_lex.cc ../sql/keycaches.cc
../sql/sql_list.cc ../sql/sql_load.cc ../sql/sql_locale.cc
../sql/sql_binlog.cc ../sql/sql_manager.cc
...
...
@@ -80,6 +80,7 @@ SET(SQL_EMBEDDED_SOURCES emb_qcache.cc libmysqld.c lib_sql.cc
../sql/sql_time.cc ../sql/tztime.cc ../sql/uniques.cc ../sql/unireg.cc
../sql/partition_info.cc ../sql/sql_connect.cc
../sql/scheduler.cc ../sql/sql_audit.cc
../sql/sql_alter.cc ../sql/sql_partition_admin.cc
../sql/event_parse_data.cc
../sql/sql_signal.cc ../sql/rpl_handler.cc
../sql/rpl_utility.cc
...
...
This diff is collapsed.
Click to expand it.
libmysqld/Makefile.am
View file @
9ab0759e
...
...
@@ -63,7 +63,8 @@ sqlsources = derror.cc field.cc field_conv.cc strfunc.cc filesort.cc \
protocol.cc net_serv.cc opt_range.cc
\
opt_sum.cc procedure.cc records.cc sql_acl.cc
\
sql_load.cc discover.cc sql_locale.cc
\
sql_profile.cc sql_truncate.cc datadict.cc
\
sql_profile.cc sql_admin.cc sql_truncate.cc datadict.cc
\
sql_reload.cc
\
sql_analyse.cc sql_base.cc sql_cache.cc sql_class.cc
\
sql_crypt.cc sql_db.cc sql_delete.cc sql_error.cc sql_insert.cc
\
sql_lex.cc sql_list.cc sql_manager.cc
\
...
...
@@ -78,9 +79,10 @@ sqlsources = derror.cc field.cc field_conv.cc strfunc.cc filesort.cc \
parse_file.cc sql_view.cc sql_trigger.cc my_decimal.cc
\
rpl_filter.cc sql_partition.cc sql_builtin.cc sql_plugin.cc
\
debug_sync.cc sql_tablespace.cc transaction.cc
\
rpl_injector.cc my_user.c partition_info.cc
\
rpl_injector.cc my_user.c partition_info.cc
sql_alter.cc
\
sql_servers.cc event_parse_data.cc sql_signal.cc
\
rpl_handler.cc mdl.cc keycaches.cc sql_audit.cc
rpl_handler.cc mdl.cc keycaches.cc sql_audit.cc
\
sql_partition_admin.cc
libmysqld_int_a_SOURCES
=
$(libmysqld_sources)
nodist_libmysqld_int_a_SOURCES
=
$(libmysqlsources)
$(sqlsources)
...
...
This diff is collapsed.
Click to expand it.
mysql-test/CMakeLists.txt
View file @
9ab0759e
...
...
@@ -16,6 +16,7 @@
INSTALL
(
DIRECTORY .
DESTINATION
${
INSTALL_MYSQLTESTDIR
}
USE_SOURCE_PERMISSIONS
COMPONENT Test
PATTERN
"var/"
EXCLUDE
PATTERN
"lib/My/SafeProcess"
EXCLUDE
...
...
This diff is collapsed.
Click to expand it.
mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test
View file @
9ab0759e
...
...
@@ -262,7 +262,6 @@ DROP TABLE IF EXISTS t2;
CREATE
TABLE
t2
(
a
int
,
b
int
,
primary
key
(
a
))
engine
=
innodb
;
INSERT
INTO
t1
VALUES
(
4
,
4
);
--
error
ER_DUP_ENTRY
CREATE
TABLE
IF
NOT
EXISTS
t2
(
primary
key
(
a
))
engine
=
innodb
select
*
from
t1
;
SELECT
*
from
t2
;
TRUNCATE
table
t2
;
...
...
@@ -277,11 +276,9 @@ CREATE TEMPORARY TABLE t2 (a int, b int, primary key (a)) engine=innodb ;
INSERT
INTO
t1
values
(
7
,
7
);
ROLLBACK
;
INSERT
INTO
t1
values
(
8
,
8
);
--
error
ER_DUP_ENTRY
CREATE
TEMPORARY
TABLE
IF
NOT
EXISTS
t2
(
primary
key
(
a
))
engine
=
innodb
select
*
from
t1
;
COMMIT
;
INSERT
INTO
t1
values
(
9
,
9
);
--
error
ER_DUP_ENTRY
CREATE
TEMPORARY
TABLE
IF
NOT
EXISTS
t2
(
primary
key
(
a
))
engine
=
innodb
select
*
from
t1
;
ROLLBACK
;
SELECT
*
from
t2
;
...
...
@@ -291,11 +288,9 @@ INSERT INTO t1 values (10,10);
INSERT
INTO
t2
select
*
from
t1
;
SELECT
*
from
t1
;
INSERT
INTO
t2
values
(
100
,
100
);
--
error
ER_DUP_ENTRY
CREATE
TEMPORARY
TABLE
IF
NOT
EXISTS
t2
(
primary
key
(
a
))
engine
=
innodb
select
*
from
t1
;
COMMIT
;
INSERT
INTO
t2
values
(
101
,
101
);
--
error
ER_DUP_ENTRY
CREATE
TEMPORARY
TABLE
IF
NOT
EXISTS
t2
(
primary
key
(
a
))
engine
=
innodb
select
*
from
t1
;
ROLLBACK
;
SELECT
*
from
t2
;
...
...
@@ -377,7 +372,8 @@ reset master;
begin
;
insert
into
ti
values
(
1
);
insert
into
ti
values
(
2
)
;
insert
into
ti
values
(
2
)
;
# This is SAFE because --binlog-direct-non-transactional-updates=FALSE
insert
into
tt
select
*
from
ti
;
rollback
;
...
...
This diff is collapsed.
Click to expand it.
mysql-test/extra/binlog_tests/mix_innodb_myisam_side_effects.test
View file @
9ab0759e
...
...
@@ -24,6 +24,7 @@ reset master;
begin
;
insert
into
ti
values
(
1
);
insert
into
ti
values
(
2
)
;
# This is SAFE because --binlog-direct-non-transactional-updates=FALSE
insert
into
tt
select
*
from
ti
;
rollback
;
...
...
This diff is collapsed.
Click to expand it.
mysql-test/extra/rpl_tests/rpl_drop_create_temp_table.inc
View file @
9ab0759e
...
...
@@ -725,7 +725,7 @@ while (`SELECT HEX(@commands) != HEX('')`)
--
eval
SET
@
check_temp
=
'$available_n_temp'
--
eval
SET
@
table_temp
=
'$table_n'
SET
@
check_temp
=
LTRIM
(
SUBSTRING
(
@
check_temp
,
LENGTH
(
@
table_temp
)
+
2
));
--
let
$available_
t
_temp
=
`SELECT @check_temp`
--
let
$available_
n
_temp
=
`SELECT @check_temp`
--
enable_query_log
--
eval
DROP
TEMPORARY
TABLE
$table_t
,
$table_n
...
...
This diff is collapsed.
Click to expand it.
mysql-test/extra/rpl_tests/rpl_drop_create_temp_table.test
View file @
9ab0759e
...
...
@@ -378,9 +378,12 @@ sync_slave_with_master;
let
$MYSQLD_DATADIR
=
`SELECT @@datadir`
;
--
exec
$MYSQL_DUMP
--
compact
--
order
-
by
-
primary
--
skip
-
extended
-
insert
--
no
-
create
-
info
test
>
$MYSQLD_DATADIR
/
test
-
temporary
-
master
.
sql
--
exec
$MYSQL_DUMP_SLAVE
--
compact
--
order
-
by
-
primary
--
skip
-
extended
-
insert
--
no
-
create
-
info
test
>
$MYSQLD_DATADIR
/
test
-
temporary
-
slave
.
sql
--
diff_files
$MYSQLD_DATADIR
/
test
-
temporary
-
master
.
sql
$MYSQLD_DATADIR
/
test
-
temporary
-
slave
.
sql
if
(
`select @@session.binlog_format != 'STATEMENT'`
)
{
--
exec
$MYSQL_DUMP
--
compact
--
order
-
by
-
primary
--
skip
-
extended
-
insert
--
no
-
create
-
info
test
>
$MYSQLD_DATADIR
/
test
-
temporary
-
master
.
sql
--
exec
$MYSQL_DUMP_SLAVE
--
compact
--
order
-
by
-
primary
--
skip
-
extended
-
insert
--
no
-
create
-
info
test
>
$MYSQLD_DATADIR
/
test
-
temporary
-
slave
.
sql
--
diff_files
$MYSQLD_DATADIR
/
test
-
temporary
-
master
.
sql
$MYSQLD_DATADIR
/
test
-
temporary
-
slave
.
sql
}
--
echo
#########################################################################
--
echo
# CLEAN
...
...
This diff is collapsed.
Click to expand it.
mysql-test/extra/rpl_tests/rpl_innodb.test
View file @
9ab0759e
...
...
@@ -153,7 +153,7 @@ connection master;
let
$wait_condition
=
SELECT
COUNT
(
*
)
=
1
FROM
information_schema
.
processlist
WHERE
info
=
"RENAME TABLE t1 TO t3, t2 TO t1"
and
state
=
"Waiting for table"
;
state
=
"Waiting for table
metadata lock
"
;
--
source
include
/
wait_condition
.
inc
COMMIT
;
...
...
This diff is collapsed.
Click to expand it.
Prev
1
2
3
4
5
…
20
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment