mirror of
https://github.com/MariaDB/server.git
synced 2025-01-29 10:14:19 +01:00
Merge next-mr -> next-4284
This commit is contained in:
commit
d64cf75806
251 changed files with 6942 additions and 3254 deletions
|
@ -39,6 +39,9 @@ ADD_DEFINITIONS(-DDEFAULT_CHARSET_HOME="c:/Program Files/MySQL/MySQL Server ${MY
|
|||
ADD_DEFINITIONS(-DPACKAGE=mysql)
|
||||
ADD_DEFINITIONS(-DSHAREDIR="share")
|
||||
|
||||
# Enable IPv6 handling code
|
||||
ADD_DEFINITIONS(-DHAVE_IPV6)
|
||||
|
||||
# Set debug options
|
||||
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DFORCE_INIT_OF_VARS")
|
||||
|
||||
|
|
|
@ -442,6 +442,7 @@ Exit_status Load_log_processor::process_first_event(const char *bname,
|
|||
{
|
||||
error("Could not construct local filename %s%s.",
|
||||
target_dir_name,bname);
|
||||
my_free(fname, MYF(0));
|
||||
delete ce;
|
||||
DBUG_RETURN(ERROR_STOP);
|
||||
}
|
||||
|
@ -449,9 +450,15 @@ Exit_status Load_log_processor::process_first_event(const char *bname,
|
|||
rec.fname= fname;
|
||||
rec.event= ce;
|
||||
|
||||
/*
|
||||
fname is freed in process_event()
|
||||
after Execute_load_query_log_event or Execute_load_log_event
|
||||
will have been processed, otherwise in Load_log_processor::destroy()
|
||||
*/
|
||||
if (set_dynamic(&file_names, (uchar*)&rec, file_id))
|
||||
{
|
||||
error("Out of memory.");
|
||||
my_free(fname, MYF(0));
|
||||
delete ce;
|
||||
DBUG_RETURN(ERROR_STOP);
|
||||
}
|
||||
|
@ -831,7 +838,17 @@ Exit_status process_event(PRINT_EVENT_INFO *print_event_info, Log_event *ev,
|
|||
print_event_info->common_header_len=
|
||||
glob_description_event->common_header_len;
|
||||
ev->print(result_file, print_event_info);
|
||||
ev->temp_buf= 0; // as the event ref is zeroed
|
||||
if (!remote_opt)
|
||||
{
|
||||
ev->free_temp_buf(); // free memory allocated in dump_local_log_entries
|
||||
}
|
||||
else
|
||||
{
|
||||
/*
|
||||
disassociate but not free dump_remote_log_entries time memory
|
||||
*/
|
||||
ev->temp_buf= 0;
|
||||
}
|
||||
/*
|
||||
We don't want this event to be deleted now, so let's hide it (I
|
||||
(Guilhem) should later see if this triggers a non-serious Valgrind
|
||||
|
|
104
configure.in
104
configure.in
|
@ -1,6 +1,21 @@
|
|||
dnl -*- ksh -*-
|
||||
dnl Process this file with autoconf to produce a configure script.
|
||||
|
||||
# Copyright (C) 2008-2009 Sun Microsystems, Inc
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; version 2 of the License.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
AC_PREREQ(2.52)dnl Minimum Autoconf version required.
|
||||
|
||||
AC_INIT(sql/mysqld.cc)
|
||||
|
@ -863,6 +878,42 @@ AC_CHECK_DECLS(MHA_MAPSIZE_VA,
|
|||
|
||||
fi
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
# Check for IPv6 support
|
||||
#--------------------------------------------------------------------
|
||||
|
||||
AC_CHECK_HEADERS(netinet/in6.h)
|
||||
|
||||
AC_CHECK_TYPES([struct sockaddr_in6, struct in6_addr],
|
||||
[have_in6_types=yes],
|
||||
[have_in6_types=no],
|
||||
[[
|
||||
#ifdef WIN32
|
||||
#include <winsock2.h>
|
||||
#else
|
||||
#include <sys/types.h>
|
||||
#include <netinet/in.h>
|
||||
#include <sys/socket.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_NETINET_IN6_H
|
||||
#include <netinet/in6.h>
|
||||
#endif
|
||||
]])
|
||||
|
||||
AC_MSG_CHECKING([for IPv6 support])
|
||||
|
||||
AC_ARG_ENABLE(ipv6,
|
||||
AS_HELP_STRING([--disable-ipv6], [Disable support for IPv6 networking]),
|
||||
[disable_ipv6=yes], [disable_ipv6=no])
|
||||
|
||||
if test x"$disable_ipv6" = xyes -o x"$have_in6_types" = xno; then
|
||||
AC_MSG_RESULT([no])
|
||||
else
|
||||
AC_DEFINE([HAVE_IPV6], [1], [Define if IPv6 networking support is present])
|
||||
AC_MSG_RESULT([yes])
|
||||
fi
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
# Check for TCP wrapper support
|
||||
#--------------------------------------------------------------------
|
||||
|
@ -961,12 +1012,6 @@ AC_CHECK_TYPES([int8, uint8, int16, uint16, int32, uint32, int64, uint64,
|
|||
uchar, uint, ulong],[],[], [
|
||||
#include <sys/types.h>
|
||||
])
|
||||
AC_CHECK_TYPES([in_addr_t], [], [], [
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#include <netinet/in.h>
|
||||
#include <arpa/inet.h>
|
||||
])
|
||||
AC_CHECK_TYPES([fp_except], [], [], [
|
||||
#include <sys/types.h>
|
||||
#include <ieeefp.h>
|
||||
|
@ -2914,7 +2959,54 @@ case $SYSTEM_TYPE in
|
|||
esac
|
||||
AC_SUBST(MAKE_BINARY_DISTRIBUTION_OPTIONS)
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
# Support for WL#2373 (Use cycle counter for timing)
|
||||
#--------------------------------------------------------------------
|
||||
|
||||
AC_CHECK_HEADERS(time.h)
|
||||
AC_CHECK_HEADERS(sys/time.h)
|
||||
AC_CHECK_HEADERS(sys/times.h)
|
||||
AC_CHECK_HEADERS(asm/msr.h)
|
||||
#msr.h has rdtscll()
|
||||
|
||||
AC_CHECK_HEADERS(ia64intrin.h)
|
||||
|
||||
AC_CHECK_FUNCS(times)
|
||||
AC_CHECK_FUNCS(gettimeofday)
|
||||
AC_CHECK_FUNCS(read_real_time)
|
||||
# This should work on AIX.
|
||||
|
||||
AC_CHECK_FUNCS(ftime)
|
||||
# This is still a normal call for milliseconds.
|
||||
|
||||
AC_CHECK_FUNCS(time)
|
||||
# We can use time() on Macintosh if there is no ftime().
|
||||
|
||||
AC_CHECK_FUNCS(rdtscll)
|
||||
# I doubt that we'll ever reach the check for this.
|
||||
|
||||
# When compiling with Sun Studio C / C++ we need to include
|
||||
# my_timer_cycles.il, an "inline templates" separate file,
|
||||
# on the command line. It has assembly code, "rd %tick" for
|
||||
# SPARC or "rdtsc" for x86.
|
||||
RDTSC_SPARC_ASSEMBLY=""
|
||||
case $CC_VERSION in
|
||||
*Sun*C*)
|
||||
RDTSC_SPARC_ASSEMBLY="my_timer_cycles.il"
|
||||
;;
|
||||
esac
|
||||
case $CXX_VERSION in
|
||||
*Sun*C++*)
|
||||
RDTSC_SPARC_ASSEMBLY="my_timer_cycles.il"
|
||||
;;
|
||||
esac
|
||||
|
||||
AC_SUBST([RDTSC_SPARC_ASSEMBLY])
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
# Output results
|
||||
#--------------------------------------------------------------------
|
||||
|
||||
if test -d "$srcdir/pstack" ; then
|
||||
AC_CONFIG_FILES(pstack/Makefile pstack/aout/Makefile)
|
||||
fi
|
||||
|
|
|
@ -38,6 +38,7 @@ noinst_HEADERS = config-win.h config-netware.h lf.h my_bit.h \
|
|||
my_aes.h my_tree.h my_trie.h hash.h thr_alarm.h \
|
||||
thr_lock.h t_ctype.h violite.h my_md5.h base64.h \
|
||||
my_handler.h my_time.h service_versions.h \
|
||||
my_rdtsc.h \
|
||||
my_vle.h my_user.h my_atomic.h atomic/nolock.h \
|
||||
atomic/rwlock.h atomic/x86-gcc.h atomic/generic-msvc.h \
|
||||
atomic/gcc_builtins.h my_libwrap.h my_stacktrace.h \
|
||||
|
|
|
@ -20,6 +20,13 @@
|
|||
|
||||
#define BIG_TABLES
|
||||
|
||||
/*
|
||||
Minimal version of Windows we should be able to run on.
|
||||
Currently Windows XP.
|
||||
*/
|
||||
#define _WIN32_WINNT 0x0501
|
||||
|
||||
|
||||
#if defined(_MSC_VER) && _MSC_VER >= 1400
|
||||
/* Avoid endless warnings about sprintf() etc. being unsafe. */
|
||||
#define _CRT_SECURE_NO_DEPRECATE 1
|
||||
|
@ -27,6 +34,7 @@
|
|||
|
||||
#include <sys/locking.h>
|
||||
#include <winsock2.h>
|
||||
#include <Ws2tcpip.h>
|
||||
#include <fcntl.h>
|
||||
#include <io.h>
|
||||
#include <malloc.h>
|
||||
|
@ -88,6 +96,12 @@
|
|||
|
||||
#define S_IROTH S_IREAD /* for my_lib */
|
||||
|
||||
/* Winsock2 constant (Vista SDK and later)*/
|
||||
#define IPPROTO_IPV6 41
|
||||
#ifndef IPV6_V6ONLY
|
||||
#define IPV6_V6ONLY 27
|
||||
#endif
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#define FILE_BINARY O_BINARY /* my_fopen in binary mode */
|
||||
#define O_TEMPORARY 0
|
||||
|
|
|
@ -43,7 +43,7 @@ C_MODE_START
|
|||
#include <sys/ioctl.h>
|
||||
#endif
|
||||
|
||||
#if !defined(__WIN__) && !defined(HAVE_BROKEN_NETINET_INCLUDES) && !defined(__BEOS__) && !defined(__NETWARE__)
|
||||
#if !defined(__WIN__) && !defined(HAVE_BROKEN_NETINET_INCLUDES) && !defined(__NETWARE__)
|
||||
#include <netinet/in_systm.h>
|
||||
#include <netinet/in.h>
|
||||
#include <netinet/ip.h>
|
||||
|
@ -73,11 +73,6 @@ C_MODE_START
|
|||
#define in_addr_t uint32
|
||||
#endif
|
||||
|
||||
/* On some operating systems (e.g. Solaris) INADDR_NONE is not defined */
|
||||
#ifndef INADDR_NONE
|
||||
#define INADDR_NONE -1 /* Error value from inet_addr */
|
||||
#endif
|
||||
|
||||
/* Thread safe or portable version of some functions */
|
||||
|
||||
void my_inet_ntoa(struct in_addr in, char *buf);
|
||||
|
@ -86,9 +81,6 @@ void my_inet_ntoa(struct in_addr in, char *buf);
|
|||
Handling of gethostbyname_r()
|
||||
*/
|
||||
|
||||
#if !defined(HPUX10)
|
||||
struct hostent;
|
||||
#endif /* HPUX */
|
||||
#if !defined(HAVE_GETHOSTBYNAME_R)
|
||||
struct hostent *my_gethostbyname_r(const char *name,
|
||||
struct hostent *result, char *buffer,
|
||||
|
@ -118,11 +110,5 @@ struct hostent *my_gethostbyname_r(const char *name,
|
|||
#define GETHOSTBYNAME_BUFF_SIZE 2048
|
||||
#endif
|
||||
|
||||
/* On SCO you get a link error when refering to h_errno */
|
||||
#ifdef SCO
|
||||
#undef h_errno
|
||||
#define h_errno errno
|
||||
#endif
|
||||
|
||||
C_MODE_END
|
||||
#endif
|
||||
|
|
129
include/my_rdtsc.h
Normal file
129
include/my_rdtsc.h
Normal file
|
@ -0,0 +1,129 @@
|
|||
/* Copyright (C) 2008, 2009 Sun Microsystems, Inc
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 2 of the License.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
||||
|
||||
/*
|
||||
rdtsc3 -- multi-platform timer code
|
||||
pgulutzan@mysql.com, 2005-08-29
|
||||
modified 2008-11-02
|
||||
*/
|
||||
|
||||
#ifndef MY_RDTSC_H
|
||||
#define MY_RDTSC_H
|
||||
|
||||
/**
|
||||
Characteristics of a timer.
|
||||
*/
|
||||
struct my_timer_unit_info
|
||||
{
|
||||
/** Routine used for the timer. */
|
||||
ulonglong routine;
|
||||
/** Overhead of the timer. */
|
||||
ulonglong overhead;
|
||||
/** Frequency of the timer. */
|
||||
ulonglong frequency;
|
||||
/** Resolution of the timer. */
|
||||
ulonglong resolution;
|
||||
};
|
||||
|
||||
/**
|
||||
Characteristics of all the supported timers.
|
||||
@sa my_timer_init().
|
||||
*/
|
||||
struct my_timer_info
|
||||
{
|
||||
/** Characteristics of the cycle timer. */
|
||||
struct my_timer_unit_info cycles;
|
||||
/** Characteristics of the nanosecond timer. */
|
||||
struct my_timer_unit_info nanoseconds;
|
||||
/** Characteristics of the microsecond timer. */
|
||||
struct my_timer_unit_info microseconds;
|
||||
/** Characteristics of the millisecond timer. */
|
||||
struct my_timer_unit_info milliseconds;
|
||||
/** Characteristics of the tick timer. */
|
||||
struct my_timer_unit_info ticks;
|
||||
};
|
||||
|
||||
typedef struct my_timer_info MY_TIMER_INFO;
|
||||
|
||||
C_MODE_START
|
||||
|
||||
/**
|
||||
A cycle timer.
|
||||
@return the current timer value, in cycles.
|
||||
*/
|
||||
ulonglong my_timer_cycles(void);
|
||||
|
||||
/**
|
||||
A namoseconds timer.
|
||||
@return the current timer value, in nanoseconds.
|
||||
*/
|
||||
ulonglong my_timer_nanoseconds(void);
|
||||
|
||||
/**
|
||||
A microseconds timer.
|
||||
@return the current timer value, in microseconds.
|
||||
*/
|
||||
ulonglong my_timer_microseconds(void);
|
||||
|
||||
/**
|
||||
A millisecond timer.
|
||||
@return the current timer value, in milliseconds.
|
||||
*/
|
||||
ulonglong my_timer_milliseconds(void);
|
||||
|
||||
/**
|
||||
A ticks timer.
|
||||
@return the current timer value, in ticks.
|
||||
*/
|
||||
ulonglong my_timer_ticks(void);
|
||||
|
||||
/**
|
||||
Timer initialization function.
|
||||
@param [out] mti the timer characteristics.
|
||||
*/
|
||||
void my_timer_init(MY_TIMER_INFO *mti);
|
||||
|
||||
C_MODE_END
|
||||
|
||||
#define MY_TIMER_ROUTINE_ASM_X86 1
|
||||
#define MY_TIMER_ROUTINE_ASM_X86_64 2
|
||||
#define MY_TIMER_ROUTINE_RDTSCLL 3
|
||||
#define MY_TIMER_ROUTINE_ASM_X86_WIN 4
|
||||
#define MY_TIMER_ROUTINE_RDTSC 5
|
||||
#define MY_TIMER_ROUTINE_ASM_IA64 6
|
||||
#define MY_TIMER_ROUTINE_ASM_PPC 7
|
||||
#define MY_TIMER_ROUTINE_SGI_CYCLE 8
|
||||
#define MY_TIMER_ROUTINE_GETHRTIME 9
|
||||
#define MY_TIMER_ROUTINE_READ_REAL_TIME 10
|
||||
#define MY_TIMER_ROUTINE_CLOCK_GETTIME 11
|
||||
#define MY_TIMER_ROUTINE_NXGETTIME 12
|
||||
#define MY_TIMER_ROUTINE_GETTIMEOFDAY 13
|
||||
#define MY_TIMER_ROUTINE_QUERYPERFORMANCECOUNTER 14
|
||||
#define MY_TIMER_ROUTINE_GETTICKCOUNT 15
|
||||
#define MY_TIMER_ROUTINE_TIME 16
|
||||
#define MY_TIMER_ROUTINE_TIMES 17
|
||||
#define MY_TIMER_ROUTINE_FTIME 18
|
||||
#define MY_TIMER_ROUTINE_ASM_PPC64 19
|
||||
#define MY_TIMER_ROUTINE_ASM_SUNPRO_SPARC64 20
|
||||
#define MY_TIMER_ROUTINE_ASM_SUNPRO_SPARC32 21
|
||||
#define MY_TIMER_ROUTINE_ASM_SUNPRO_I386 22
|
||||
#define MY_TIMER_ROUTINE_ASM_GCC_SPARC64 23
|
||||
#define MY_TIMER_ROUTINE_ASM_GCC_SPARC32 24
|
||||
#define MY_TIMER_ROUTINE_MACH_ABSOLUTE_TIME 25
|
||||
#define MY_TIMER_ROUTINE_GETSYSTEMTIMEASFILETIME 26
|
||||
#define MY_TIMER_ROUTINE_ASM_SUNPRO_X86_64 27
|
||||
|
||||
#endif
|
||||
|
|
@ -81,13 +81,19 @@ int vio_errno(Vio*vio);
|
|||
/* Get socket number */
|
||||
my_socket vio_fd(Vio*vio);
|
||||
/* Remote peer's address and name in text form */
|
||||
my_bool vio_peer_addr(Vio* vio, char *buf, uint16 *port);
|
||||
/* Remotes in_addr */
|
||||
void vio_in_addr(Vio *vio, struct in_addr *in);
|
||||
my_bool vio_peer_addr(Vio *vio, char *buf, uint16 *port, size_t buflen);
|
||||
my_bool vio_poll_read(Vio *vio, uint timeout);
|
||||
my_bool vio_is_connected(Vio *vio);
|
||||
ssize_t vio_pending(Vio *vio);
|
||||
|
||||
my_bool vio_get_normalized_ip_string(const struct sockaddr *addr, int addr_length,
|
||||
char *ip_string, size_t ip_string_size);
|
||||
|
||||
int vio_getnameinfo(const struct sockaddr *sa,
|
||||
char *hostname, size_t hostname_size,
|
||||
char *port, size_t port_size,
|
||||
int flags);
|
||||
|
||||
#ifdef HAVE_OPENSSL
|
||||
#include <openssl/opensslv.h>
|
||||
#if OPENSSL_VERSION_NUMBER < 0x0090700f
|
||||
|
@ -154,8 +160,7 @@ void vio_end(void);
|
|||
#define vio_should_retry(vio) (vio)->should_retry(vio)
|
||||
#define vio_was_interrupted(vio) (vio)->was_interrupted(vio)
|
||||
#define vio_close(vio) ((vio)->vioclose)(vio)
|
||||
#define vio_peer_addr(vio, buf, prt) (vio)->peer_addr(vio, buf, prt)
|
||||
#define vio_in_addr(vio, in) (vio)->in_addr(vio, in)
|
||||
#define vio_peer_addr(vio, buf, prt, buflen) (vio)->peer_addr(vio, buf, prt, buflen)
|
||||
#define vio_timeout(vio, which, seconds) (vio)->timeout(vio, which, seconds)
|
||||
#define vio_poll_read(vio, timeout) (vio)->poll_read(vio, timeout)
|
||||
#define vio_is_connected(vio) (vio)->is_connected(vio)
|
||||
|
@ -180,8 +185,9 @@ struct st_vio
|
|||
HANDLE hPipe;
|
||||
my_bool localhost; /* Are we from localhost? */
|
||||
int fcntl_mode; /* Buffered fcntl(sd,F_GETFL) */
|
||||
struct sockaddr_in local; /* Local internet address */
|
||||
struct sockaddr_in remote; /* Remote internet address */
|
||||
struct sockaddr_storage local; /* Local internet address */
|
||||
struct sockaddr_storage remote; /* Remote internet address */
|
||||
int addrLen; /* Length of remote address */
|
||||
enum enum_vio_type type; /* Type of connection */
|
||||
char desc[30]; /* String description */
|
||||
char *read_buffer; /* buffer for vio_read_buff */
|
||||
|
@ -197,8 +203,8 @@ struct st_vio
|
|||
my_bool (*is_blocking)(Vio*);
|
||||
int (*viokeepalive)(Vio*, my_bool);
|
||||
int (*fastsend)(Vio*);
|
||||
my_bool (*peer_addr)(Vio*, char *, uint16*);
|
||||
void (*in_addr)(Vio*, struct in_addr*);
|
||||
my_bool (*peer_addr)(Vio*, char *, uint16*, size_t);
|
||||
void (*in_addr)(Vio*, struct sockaddr_storage*);
|
||||
my_bool (*should_retry)(Vio*);
|
||||
my_bool (*was_interrupted)(Vio*);
|
||||
int (*vioclose)(Vio*);
|
||||
|
|
|
@ -81,4 +81,3 @@ parts.partition_syntax_ndb
|
|||
parts.partition_alter1_1_2_ndb
|
||||
parts.partition_basic_ndb
|
||||
parts.partition_mgm_lc0_ndb
|
||||
|
||||
|
|
|
@ -179,7 +179,9 @@ begin
|
|||
end|
|
||||
delimiter ;|
|
||||
|
||||
--disable_warnings
|
||||
insert into t1 (last_id) values (0);
|
||||
--enable_warnings
|
||||
|
||||
drop trigger t1_bi;
|
||||
|
||||
|
@ -512,7 +514,9 @@ set sql_log_bin=0;
|
|||
insert into t2 (id) values(5),(6),(7);
|
||||
delete from t2 where id>=5;
|
||||
set sql_log_bin=1;
|
||||
--disable_warnings
|
||||
insert into t1 select insid();
|
||||
--enable_warnings
|
||||
select * from t1 order by id;
|
||||
select * from t2 order by id;
|
||||
|
||||
|
|
|
@ -22,6 +22,7 @@ source include/show_slave_status2.inc;
|
|||
reset slave;
|
||||
source include/show_slave_status2.inc;
|
||||
|
||||
change master to master_user='root';
|
||||
start slave;
|
||||
sync_with_master;
|
||||
source include/show_slave_status2.inc;
|
||||
|
|
|
@ -36,7 +36,7 @@ SELECT LENGTH(data) FROM test.t1 WHERE c1 = 3;
|
|||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sleep 5;
|
||||
--source include/wait_for_ndb_to_binlog.inc
|
||||
--echo
|
||||
--echo **** Data Insert Validation Slave Section test.t1 ****
|
||||
--echo
|
||||
|
@ -56,12 +56,10 @@ UPDATE t1 set data=repeat('c',17*1024) where c1 = 2;
|
|||
--echo
|
||||
SELECT LENGTH(data) FROM test.t1 WHERE c1 = 1;
|
||||
SELECT LENGTH(data) FROM test.t1 WHERE c1 = 2;
|
||||
# Sleep is needed for NDB to allow time for
|
||||
# Injector thread to populate the bin log.
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sleep 5;
|
||||
--source include/wait_for_ndb_to_binlog.inc
|
||||
--echo
|
||||
--echo **** Data Update Validation Slave Section test.t1 ****
|
||||
--echo
|
||||
|
@ -132,7 +130,7 @@ FROM test.t2 WHERE c1=2;
|
|||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sleep 5;
|
||||
--source include/wait_for_ndb_to_binlog.inc
|
||||
--echo
|
||||
--echo **** Data Insert Validation Slave Section test.t2 ****
|
||||
--echo
|
||||
|
@ -155,12 +153,10 @@ SELECT c1, LENGTH(c2), SUBSTR(c2,1+2*900,2), LENGTH(c4), SUBSTR(c4,1+3*900,3)
|
|||
FROM test.t2 WHERE c1=1;
|
||||
SELECT c1, LENGTH(c2), SUBSTR(c2,1+2*900,2), LENGTH(c4), SUBSTR(c4,1+3*900,3)
|
||||
FROM test.t2 WHERE c1=2;
|
||||
# Sleep is needed for NDB to allow time for
|
||||
# Injector thread to populate the bin log.
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sleep 5;
|
||||
--source include/wait_for_ndb_to_binlog.inc
|
||||
--echo
|
||||
--echo **** Data Update Validation Slave Section test.t2 ****
|
||||
--echo
|
||||
|
|
|
@ -3,10 +3,7 @@
|
|||
# Original Date: Aug/15/2005 #
|
||||
# Update: 08/29/2005 Comment out sleep. Only needed for debugging #
|
||||
#############################################################################
|
||||
# Note: Many lines are commented out in this test case. These were used for #
|
||||
# creating the test case and debugging and are being left for #
|
||||
# debugging, but they can not be used for the regular testing as the #
|
||||
# Time changes and is not deteministic, so instead we dump both the #
|
||||
# Note: Time changes and is not deteministic, so instead we dump both the #
|
||||
# master and slave and diff the dumps. If the dumps differ then the #
|
||||
# test case will fail. To run during diff failuers, comment out the #
|
||||
# diff. #
|
||||
|
@ -26,7 +23,6 @@ DROP TABLE IF EXISTS test.t1;
|
|||
|
||||
--enable_warnings
|
||||
|
||||
|
||||
eval CREATE TABLE test.t1 (a INT NOT NULL AUTO_INCREMENT, c CHAR(16),PRIMARY KEY(a))ENGINE=$engine_type;
|
||||
|
||||
delimiter |;
|
||||
|
@ -44,33 +40,24 @@ END|
|
|||
delimiter ;|
|
||||
|
||||
INSERT INTO test.t1 VALUES (null,test.f1()),(null,test.f1()),(null,test.f1());
|
||||
sleep 6;
|
||||
INSERT INTO test.t1 VALUES (null,test.f1()),(null,test.f1()),(null,test.f1());
|
||||
sleep 6;
|
||||
|
||||
#Select in this test are used for debugging
|
||||
#select * from test.t1;
|
||||
#connection slave;
|
||||
#select * from test.t1;
|
||||
|
||||
connection master;
|
||||
SET AUTOCOMMIT=0;
|
||||
START TRANSACTION;
|
||||
INSERT INTO test.t1 VALUES (null,test.f1());
|
||||
ROLLBACK;
|
||||
SET AUTOCOMMIT=1;
|
||||
#select * from test.t1;
|
||||
#sleep 6;
|
||||
|
||||
#connection slave;
|
||||
#select * from test.t1;
|
||||
# Sync master and slave for all engines except NDB
|
||||
if (`SELECT UPPER(LEFT('$engine_type', 3)) != 'NDB'`) {
|
||||
sync_slave_with_master;
|
||||
connection master;
|
||||
}
|
||||
# Sync master and slave for NDB engine
|
||||
let $wait_time= 6;
|
||||
--source include/wait_for_ndb_to_binlog.inc
|
||||
|
||||
#connection master;
|
||||
|
||||
#used for debugging
|
||||
#show binlog events;
|
||||
|
||||
# time to dump the databases and so we can see if they match
|
||||
# Time to dump the databases and so we can see if they match
|
||||
|
||||
--exec $MYSQL_DUMP --compact --order-by-primary --skip-extended-insert --no-create-info test > $MYSQLTEST_VARDIR/tmp/func003_master.sql
|
||||
--exec $MYSQL_DUMP_SLAVE --compact --order-by-primary --skip-extended-insert --no-create-info test > $MYSQLTEST_VARDIR/tmp/func003_slave.sql
|
||||
|
@ -87,5 +74,8 @@ DROP TABLE test.t1;
|
|||
|
||||
diff_files $MYSQLTEST_VARDIR/tmp/func003_master.sql $MYSQLTEST_VARDIR/tmp/func003_slave.sql;
|
||||
|
||||
# Clean up
|
||||
remove_file $MYSQLTEST_VARDIR/tmp/func003_master.sql;
|
||||
remove_file $MYSQLTEST_VARDIR/tmp/func003_slave.sql;
|
||||
|
||||
# End of 5.0 test case
|
||||
|
|
|
@ -41,10 +41,7 @@ CALL test.p2();
|
|||
SELECT release_lock("test");
|
||||
SELECT * FROM test.t1;
|
||||
#show binlog events;
|
||||
# Added sleep for use with NDB to ensure that
|
||||
# the injector thread will populate log before
|
||||
# we switch to the slave.
|
||||
sleep 5;
|
||||
--source include/wait_for_ndb_to_binlog.inc
|
||||
sync_slave_with_master;
|
||||
connection slave;
|
||||
SELECT * FROM test.t1;
|
||||
|
|
|
@ -68,8 +68,8 @@ enable_query_log;
|
|||
connection slave;
|
||||
lock tables t1 read;
|
||||
start slave;
|
||||
#hope this is long enough for I/O thread to fetch over 16K relay log data
|
||||
sleep 3;
|
||||
connection master;
|
||||
--source include/sync_slave_io_with_master.inc
|
||||
unlock tables;
|
||||
|
||||
#test handling of aborted connection in the middle of update
|
||||
|
|
|
@ -35,9 +35,8 @@ INSERT INTO test.t2 VALUES (1, 0.0);
|
|||
#show binlog events;
|
||||
select * from test.t1;
|
||||
select * from test.t2;
|
||||
# Have to sleep for a few seconds to allow
|
||||
# NDB injector thread to populate binlog
|
||||
sleep 10;
|
||||
let $wait_time= 10;
|
||||
--source include/wait_for_ndb_to_binlog.inc
|
||||
sync_slave_with_master;
|
||||
connection slave;
|
||||
select * from test.t1;
|
||||
|
|
14
mysql-test/include/check_ipv6.inc
Normal file
14
mysql-test/include/check_ipv6.inc
Normal file
|
@ -0,0 +1,14 @@
|
|||
# Check if ipv6 is available. If not, server is crashing (see BUG#48915).
|
||||
--disable_query_log
|
||||
--disable_abort_on_error
|
||||
connect (checkcon123456789,::1,root,,test);
|
||||
if($mysql_errno)
|
||||
{
|
||||
skip wrong IP;
|
||||
}
|
||||
connection default;
|
||||
disconnect checkcon123456789;
|
||||
--enable_abort_on_error
|
||||
--enable_query_log
|
||||
# end check
|
||||
|
22
mysql-test/include/ipv6.inc
Normal file
22
mysql-test/include/ipv6.inc
Normal file
|
@ -0,0 +1,22 @@
|
|||
eval CREATE USER testuser@'$IPv6' identified by '1234';
|
||||
eval GRANT ALL ON test.* TO testuser@'$IPv6';
|
||||
eval SHOW GRANTS FOR testuser@'$IPv6';
|
||||
# deliver NULL instead of a valid number, see bug#34037
|
||||
eval SET @nip= inet_aton('$IPv6');
|
||||
SELECT @nip;
|
||||
SELECT inet_ntoa(@nip);
|
||||
# delivers a wrong value, see bug#34037
|
||||
SELECT USER();
|
||||
SELECT current_user();
|
||||
--disable_result_log
|
||||
SHOW PROCESSLIST;
|
||||
--enable_result_log
|
||||
connect (con1, $IPv6, root, , test, $MASTER_MYPORT);
|
||||
connection default;
|
||||
disconnect con1;
|
||||
eval REVOKE ALL ON test.* FROM testuser@'$IPv6';
|
||||
eval RENAME USER testuser@'$IPv6' to testuser1@'$IPv6';
|
||||
eval SET PASSWORD FOR testuser1@'$IPv6' = PASSWORD ('9876');
|
||||
SELECT USER();
|
||||
eval DROP USER testuser1@'$IPv6';
|
||||
|
7
mysql-test/include/ipv6_clients.inc
Normal file
7
mysql-test/include/ipv6_clients.inc
Normal file
|
@ -0,0 +1,7 @@
|
|||
--exec $MYSQLADMIN --no-defaults --default-character-set=latin1 -h $IPv6 -P $MASTER_MYPORT -u root ping
|
||||
--disable_result_log
|
||||
--exec $MYSQL_CHECK -h $IPv6 -P $MASTER_MYPORT -u root test
|
||||
--exec $MYSQL_DUMP -h $IPv6 -P $MASTER_MYPORT -u root test
|
||||
--exec $MYSQL_SHOW -h $IPv6 -P $MASTER_MYPORT -u root
|
||||
--exec $MYSQL --host=$IPv6 --port=$MASTER_MYPORT --user=root test -e "SELECT current_user();SELECT user();"
|
||||
--enable_result_log
|
|
@ -6,12 +6,29 @@
|
|||
# Since we expect STOP SLAVE to produce a warning as the slave is
|
||||
# stopped (the server was started with skip-slave-start), we disable
|
||||
# warnings when doing STOP SLAVE.
|
||||
#
|
||||
# $no_change_master If true, no change master will be done nor any reset slave.
|
||||
# This is to avoid touching the relay-log.info file allowing
|
||||
# the test to create one itself.
|
||||
# $skip_slave_start If true, the slave will not be started
|
||||
|
||||
connection slave;
|
||||
|
||||
#we expect STOP SLAVE to produce a warning as the slave is stopped
|
||||
#(the server was started with skip-slave-start)
|
||||
--disable_warnings
|
||||
stop slave;
|
||||
--disable_query_log
|
||||
if (!$no_change_master) {
|
||||
eval CHANGE MASTER TO MASTER_USER='root',
|
||||
MASTER_CONNECT_RETRY=1,
|
||||
MASTER_HOST='127.0.0.1',
|
||||
MASTER_PORT=$MASTER_MYPORT;
|
||||
}
|
||||
--enable_query_log
|
||||
source include/wait_for_slave_to_stop.inc;
|
||||
--enable_warnings
|
||||
|
||||
connection master;
|
||||
--disable_warnings
|
||||
--disable_query_log
|
||||
|
@ -20,17 +37,39 @@ use test;
|
|||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
--enable_warnings
|
||||
reset master;
|
||||
|
||||
--disable_query_log
|
||||
reset slave;
|
||||
if (!$no_change_master) {
|
||||
reset slave;
|
||||
}
|
||||
--enable_query_log
|
||||
connection slave;
|
||||
reset slave;
|
||||
|
||||
--disable_warnings
|
||||
# the first RESET SLAVE may produce a warning about non-existent
|
||||
# 'ndb_apply_status' table, because this table is created
|
||||
# asynchronously at the server startup and may not exist yet
|
||||
# if RESET SLAVE comes too soon after the server startup
|
||||
if (!$no_change_master) {
|
||||
reset slave;
|
||||
}
|
||||
--enable_warnings
|
||||
|
||||
# Clean up old test tables
|
||||
--disable_warnings
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
--enable_warnings
|
||||
|
||||
--disable_query_log
|
||||
#eval CHANGE MASTER TO MASTER_USER='root',
|
||||
# MASTER_CONNECT_RETRY=1,
|
||||
# MASTER_HOST='127.0.0.1',
|
||||
# MASTER_PORT=$MASTER_MYPORT;
|
||||
reset master;
|
||||
--enable_query_log
|
||||
start slave;
|
||||
source include/wait_for_slave_to_start.inc;
|
||||
|
||||
if (!$skip_slave_start) {
|
||||
start slave;
|
||||
source include/wait_for_slave_to_start.inc;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
# Replication tests need binlog
|
||||
#
|
||||
# $skip_slave_start If true, the slave will not be started
|
||||
source include/have_log_bin.inc;
|
||||
|
||||
connect (master,127.0.0.1,root,,test,$MASTER_MYPORT,);
|
||||
|
@ -8,7 +10,10 @@ connect (slave1,127.0.0.1,root,,test,$SLAVE_MYPORT,);
|
|||
|
||||
-- source include/master-slave-reset.inc
|
||||
|
||||
connection master;
|
||||
sync_slave_with_master;
|
||||
if (!$skip_slave_start) {
|
||||
connection master;
|
||||
sync_slave_with_master;
|
||||
}
|
||||
|
||||
# Set the default connection to 'master'
|
||||
connection master;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
--require r/not_ndb_default.require
|
||||
disable_query_log;
|
||||
select convert(@@table_type using latin1) NOT IN ("ndbcluster","NDBCLUSTER") as "TRUE";
|
||||
select convert(@@storage_engine using latin1) NOT IN ("ndbcluster","NDBCLUSTER") as "TRUE";
|
||||
enable_query_log;
|
||||
|
|
24
mysql-test/include/rpl_ip_mix.inc
Normal file
24
mysql-test/include/rpl_ip_mix.inc
Normal file
|
@ -0,0 +1,24 @@
|
|||
--echo connect (master,$IPv6,root,,test,MASTER_MYPORT);
|
||||
connect (master,$IPv6,root,,test,$MASTER_MYPORT);
|
||||
--echo connect (slave,127.0.0.1,root,,test,SLAVE_MYPORT);
|
||||
connect (slave,127.0.0.1,root,,test,$SLAVE_MYPORT);
|
||||
--echo connection master;
|
||||
connection master;
|
||||
reset master;
|
||||
source include/show_master_status.inc;
|
||||
save_master_pos;
|
||||
--echo connection slave;
|
||||
connection slave;
|
||||
reset slave;
|
||||
let $master_host= query_get_value(SHOW SLAVE STATUS, Master_Host, 1);
|
||||
--echo Master-Host: $master_host
|
||||
eval change master to master_host='$IPv6';
|
||||
let $master_host= query_get_value(SHOW SLAVE STATUS, Master_Host, 1);
|
||||
--echo Master-Host: $master_host
|
||||
--echo disconnect slave;
|
||||
disconnect slave;
|
||||
--echo disconnect master;
|
||||
disconnect master;
|
||||
--echo connection default;
|
||||
connection default;
|
||||
|
24
mysql-test/include/rpl_ip_mix2.inc
Normal file
24
mysql-test/include/rpl_ip_mix2.inc
Normal file
|
@ -0,0 +1,24 @@
|
|||
--echo connect (master,127.0.0.1,root,,test,MASTER_MYPORT);
|
||||
connect (master,127.0.0.1,root,,test,$MASTER_MYPORT);
|
||||
--echo connect (slave,$IPv6,root,,test,SLAVE_MYPORT);
|
||||
connect (slave,$IPv6,root,,test,$SLAVE_MYPORT);
|
||||
--echo connection master;
|
||||
connection master;
|
||||
reset master;
|
||||
source include/show_master_status.inc;
|
||||
save_master_pos;
|
||||
--echo connection slave;
|
||||
connection slave;
|
||||
reset slave;
|
||||
let $master_host= query_get_value(SHOW SLAVE STATUS, Master_Host, 1);
|
||||
--echo Master-Host: $master_host
|
||||
eval change master to master_host='$IPv6';
|
||||
let $master_host= query_get_value(SHOW SLAVE STATUS, Master_Host, 1);
|
||||
--echo Master-Host: $master_host
|
||||
--echo disconnect slave;
|
||||
disconnect slave;
|
||||
--echo disconnect master;
|
||||
disconnect master;
|
||||
--echo connection default;
|
||||
connection default;
|
||||
|
22
mysql-test/include/rpl_ipv6.inc
Normal file
22
mysql-test/include/rpl_ipv6.inc
Normal file
|
@ -0,0 +1,22 @@
|
|||
--echo connect (master,$IPv6,root,,test,MASTER_MYPORT);
|
||||
connect (master,$IPv6,root,,test,$MASTER_MYPORT);
|
||||
--echo connect (slave,$IPv6,root,,test,SLAVE_MYPORT);
|
||||
connect (slave,$IPv6,root,,test,$SLAVE_MYPORT);
|
||||
--echo connection master;
|
||||
connection master;
|
||||
reset master;
|
||||
source include/show_master_status.inc;
|
||||
save_master_pos;
|
||||
--echo connection slave;
|
||||
connection slave;
|
||||
reset slave;
|
||||
eval change master to master_host='$IPv6';
|
||||
let $master_host= query_get_value(SHOW SLAVE STATUS, Master_Host, 1);
|
||||
--echo Master-Host: $master_host
|
||||
--echo disconnect slave;
|
||||
disconnect slave;
|
||||
--echo disconnect master;
|
||||
disconnect master;
|
||||
--echo connection default;
|
||||
connection default;
|
||||
|
41
mysql-test/include/wait_for_ndb_to_binlog.inc
Normal file
41
mysql-test/include/wait_for_ndb_to_binlog.inc
Normal file
|
@ -0,0 +1,41 @@
|
|||
# ==== Purpose ====
|
||||
#
|
||||
# Several test primitives from mysql-test/extra/rpl_tests
|
||||
# shared for test cases for MyISAM, InnoDB, NDB and other
|
||||
# engines. But for NDB all events will be added by NDB
|
||||
# injector and now there are no way to detect the state of
|
||||
# NDB injector therefore this primitive waits 5 sec
|
||||
# if engine type is NDB.
|
||||
# In future that should be fixed by waiting of proper
|
||||
# state of NDB injector.
|
||||
#
|
||||
# ==== Usage ====
|
||||
#
|
||||
# let $engine_type= NDB;
|
||||
# --source include/wait_for_ndb_to_binlog.inc
|
||||
#
|
||||
# ==== Parameters =====
|
||||
#
|
||||
# $engine_type
|
||||
# Type of engine. If type is NDB then it waits $wait_time sec
|
||||
#
|
||||
# $wait_time
|
||||
# Test will wait $wait_time seconds
|
||||
|
||||
let $_wait_time= 5;
|
||||
|
||||
if (!$wait_time) {
|
||||
let $_wait_time= $wait_time;
|
||||
}
|
||||
|
||||
if (`SELECT UPPER(LEFT('$engine_type',3)) = 'NDB'`) {
|
||||
while (!$_wait_time) {
|
||||
let $_wait_time_internal= 10;
|
||||
while (!$_wait_time_internal) {
|
||||
sleep 0.1;
|
||||
dec $_wait_time_internal;
|
||||
}
|
||||
dec $_wait_time;
|
||||
}
|
||||
}
|
||||
|
|
@ -2,13 +2,16 @@
|
|||
#
|
||||
# SUMMARY
|
||||
#
|
||||
# Waits until the show statement ($show_statement) has at least within one of
|
||||
# the rows of the result set for the field ($field) a value which fulfils
|
||||
# Waits until the show statement ($show_statement) has one or all of the
|
||||
# rows of the result set for the field ($field) a value which fulfils
|
||||
# a condition ($condition), or the operation times out.
|
||||
#
|
||||
#
|
||||
# USAGE
|
||||
#
|
||||
# All rows of the result must fulfil the condition if $all_rows_fulfil is 1
|
||||
# else at least one of the result must fulfil the condition.
|
||||
# let $wait_for_all= 1;
|
||||
# let $show_statement= SHOW PROCESSLIST;
|
||||
# let $field= State;
|
||||
# let $condition= = 'Updating';
|
||||
|
@ -46,27 +49,56 @@ inc $max_run_time;
|
|||
|
||||
let $found= 0;
|
||||
let $max_end_time= `SELECT UNIX_TIMESTAMP() + $max_run_time`;
|
||||
while (`SELECT UNIX_TIMESTAMP() <= $max_end_time AND $found = 0`)
|
||||
|
||||
if (`SELECT '$wait_for_all' != '1'`)
|
||||
{
|
||||
# Sleep a bit to avoid too heavy load.
|
||||
real_sleep 0.2;
|
||||
let $rowno= 1;
|
||||
let $process_result= 1;
|
||||
while (`SELECT $process_result = 1 AND $found = 0`)
|
||||
{
|
||||
let $field_value= query_get_value($show_statement, $field, $rowno);
|
||||
if (`SELECT '$field_value' $condition`)
|
||||
{
|
||||
let $found= 1;
|
||||
}
|
||||
if (`SELECT '$field_value' = 'No such row'`)
|
||||
{
|
||||
# We are behind the last row of the result set.
|
||||
let $process_result= 0;
|
||||
}
|
||||
inc $rowno;
|
||||
}
|
||||
while (`SELECT UNIX_TIMESTAMP() <= $max_end_time AND $found = 0`)
|
||||
{
|
||||
# Sleep a bit to avoid too heavy load.
|
||||
real_sleep 0.2;
|
||||
let $rowno= 1;
|
||||
let $process_result= 1;
|
||||
while (`SELECT $process_result = 1 AND $found = 0`)
|
||||
{
|
||||
let $field_value= query_get_value($show_statement, $field, $rowno);
|
||||
if (`SELECT '$field_value' $condition`)
|
||||
{
|
||||
let $found= 1;
|
||||
}
|
||||
if (`SELECT '$field_value' = 'No such row'`)
|
||||
{
|
||||
# We are behind the last row of the result set.
|
||||
let $process_result= 0;
|
||||
}
|
||||
inc $rowno;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (`SELECT '$wait_for_all' = '1'`)
|
||||
{
|
||||
while (`SELECT UNIX_TIMESTAMP() <= $max_end_time AND $found = 0`)
|
||||
{
|
||||
# Sleep a bit to avoid too heavy load.
|
||||
real_sleep 0.2;
|
||||
let $rowno= 1;
|
||||
let $process_result= 1;
|
||||
while (`SELECT $process_result = 1 AND $found = 0`)
|
||||
{
|
||||
let $field_value= query_get_value($show_statement, $field, $rowno);
|
||||
if (`SELECT '$field_value' = 'No such row'`)
|
||||
{
|
||||
let $found= 1;
|
||||
}
|
||||
if (`SELECT $found = 0 AND NOT '$field_value' $condition`)
|
||||
{
|
||||
let process_result= 0;
|
||||
}
|
||||
inc $rowno;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!$found)
|
||||
{
|
||||
echo # Timeout in include/wait_show_condition.inc for $wait_condition;
|
||||
|
|
|
@ -4024,15 +4024,26 @@ sub mysqld_arguments ($$$$) {
|
|||
}
|
||||
else
|
||||
{
|
||||
if ($mysql_version_id < 50200)
|
||||
{
|
||||
mtr_add_arg($args, "%s--master-user=root", $prefix);
|
||||
mtr_add_arg($args, "%s--master-connect-retry=1", $prefix);
|
||||
mtr_add_arg($args, "%s--master-host=127.0.0.1", $prefix);
|
||||
mtr_add_arg($args, "%s--master-password=", $prefix);
|
||||
mtr_add_arg($args, "%s--master-port=%d", $prefix,
|
||||
$master->[0]->{'port'}); # First master
|
||||
}
|
||||
# NOTE: the backport (see BUG#48048) originally removed the
|
||||
# commented out lines below. However, given that they are
|
||||
# protected with a version check (< 50200) now, it should be
|
||||
# safe to keep them. The problem is that the backported patch
|
||||
# was into a 5.1 GA codebase - mysql-5.1-rep+2 tree - so
|
||||
# version is 501XX, consequently check becomes worthless. It
|
||||
# should be safe to uncomment them when merging up to 5.5.
|
||||
#
|
||||
# RQG semisync test runs on the 5.1 GA tree and needs MTR v1.
|
||||
# This was causing the test to fail (slave would not start
|
||||
# due to unrecognized option(s)).
|
||||
# if ($mysql_version_id < 50200)
|
||||
# {
|
||||
# mtr_add_arg($args, "%s--master-user=root", $prefix);
|
||||
# mtr_add_arg($args, "%s--master-connect-retry=1", $prefix);
|
||||
# mtr_add_arg($args, "%s--master-host=127.0.0.1", $prefix);
|
||||
# mtr_add_arg($args, "%s--master-password=", $prefix);
|
||||
# mtr_add_arg($args, "%s--master-port=%d", $prefix,
|
||||
# $master->[0]->{'port'}); # First master
|
||||
# }
|
||||
my $slave_server_id= 2 + $idx;
|
||||
my $slave_rpl_rank= $slave_server_id;
|
||||
mtr_add_arg($args, "%s--server-id=%d", $prefix, $slave_server_id);
|
||||
|
|
|
@ -68,7 +68,7 @@ use My::File::Path; # Patched version of File::Path
|
|||
use File::Basename;
|
||||
use File::Copy;
|
||||
use File::Find;
|
||||
use File::Temp qw / tempdir /;
|
||||
use File::Temp qw /tempdir/;
|
||||
use File::Spec::Functions qw / splitdir /;
|
||||
use My::Platform;
|
||||
use My::SafeProcess;
|
||||
|
|
|
@ -12717,3 +12717,13 @@ COUNT(t1.a)
|
|||
729
|
||||
DROP TABLE t1;
|
||||
SET @@join_buffer_size= @save_join_buffer_size;
|
||||
End of 5.1 tests
|
||||
CREATE TABLE t1(id INT NOT NULL AUTO_INCREMENT, name VARCHAR(128) NOT NULL, PRIMARY KEY(id)) ENGINE=archive;
|
||||
INSERT INTO t1 VALUES(NULL,'a'),(NULL,'a');
|
||||
CREATE TABLE t2(id INT NOT NULL AUTO_INCREMENT, name VARCHAR(128) NOT NULL, PRIMARY KEY(id)) ENGINE=archive;
|
||||
INSERT INTO t2 VALUES(NULL,'b'),(NULL,'b');
|
||||
SELECT t1.id, t2.id, t1.name, t2.name FROM t1,t2 WHERE t1.id = t2.id;
|
||||
id id name name
|
||||
1 1 a b
|
||||
2 2 a b
|
||||
DROP TABLE t1,t2;
|
||||
|
|
26
mysql-test/r/deprecated_features.result
Normal file
26
mysql-test/r/deprecated_features.result
Normal file
|
@ -0,0 +1,26 @@
|
|||
set global log_bin_trust_routine_creators=1;
|
||||
ERROR HY000: Unknown system variable 'log_bin_trust_routine_creators'
|
||||
set table_type='MyISAM';
|
||||
ERROR HY000: Unknown system variable 'table_type'
|
||||
select @@table_type='MyISAM';
|
||||
ERROR HY000: Unknown system variable 'table_type'
|
||||
backup table t1 to 'data.txt';
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'backup table t1 to 'data.txt'' at line 1
|
||||
restore table t1 from 'data.txt';
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'restore table t1 from 'data.txt'' at line 1
|
||||
show plugin;
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'plugin' at line 1
|
||||
load table t1 from master;
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'table t1 from master' at line 1
|
||||
load data from master;
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'from master' at line 1
|
||||
SHOW INNODB STATUS;
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INNODB STATUS' at line 1
|
||||
create table t1 (t6 timestamp(6));
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(6))' at line 1
|
||||
create table t1 (t6 timestamp) type=myisam;
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'type=myisam' at line 1
|
||||
show table types;
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'types' at line 1
|
||||
show mutex status;
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'mutex status' at line 1
|
|
@ -4,11 +4,9 @@ show variables like 'log_bin%';
|
|||
Variable_name Value
|
||||
log_bin OFF
|
||||
log_bin_trust_function_creators ON
|
||||
log_bin_trust_routine_creators ON
|
||||
flush logs;
|
||||
show variables like 'log_bin%';
|
||||
Variable_name Value
|
||||
log_bin OFF
|
||||
log_bin_trust_function_creators ON
|
||||
log_bin_trust_routine_creators ON
|
||||
set global expire_logs_days = 0;
|
||||
|
|
179
mysql-test/r/ipv4_as_ipv6.result
Normal file
179
mysql-test/r/ipv4_as_ipv6.result
Normal file
|
@ -0,0 +1,179 @@
|
|||
=============Test of '127.0.0.1' (IPv4) ===========================
|
||||
mysqld is alive
|
||||
CREATE USER testuser@'127.0.0.1' identified by '1234';
|
||||
GRANT ALL ON test.* TO testuser@'127.0.0.1';
|
||||
SHOW GRANTS FOR testuser@'127.0.0.1';
|
||||
Grants for testuser@127.0.0.1
|
||||
GRANT USAGE ON *.* TO 'testuser'@'127.0.0.1' IDENTIFIED BY PASSWORD '*A4B6157319038724E3560894F7F932C8886EBFCF'
|
||||
GRANT ALL PRIVILEGES ON `test`.* TO 'testuser'@'127.0.0.1'
|
||||
SET @nip= inet_aton('127.0.0.1');
|
||||
SELECT @nip;
|
||||
@nip
|
||||
2130706433
|
||||
SELECT inet_ntoa(@nip);
|
||||
inet_ntoa(@nip)
|
||||
127.0.0.1
|
||||
SELECT USER();
|
||||
USER()
|
||||
root@localhost
|
||||
SELECT current_user();
|
||||
current_user()
|
||||
root@localhost
|
||||
SHOW PROCESSLIST;
|
||||
REVOKE ALL ON test.* FROM testuser@'127.0.0.1';
|
||||
RENAME USER testuser@'127.0.0.1' to testuser1@'127.0.0.1';
|
||||
SET PASSWORD FOR testuser1@'127.0.0.1' = PASSWORD ('9876');
|
||||
SELECT USER();
|
||||
USER()
|
||||
root@localhost
|
||||
DROP USER testuser1@'127.0.0.1';
|
||||
=============Test of '0:0:0:0:0:FFFF:127.0.0.1' ===================
|
||||
mysqld is alive
|
||||
CREATE USER testuser@'0:0:0:0:0:FFFF:127.0.0.1' identified by '1234';
|
||||
GRANT ALL ON test.* TO testuser@'0:0:0:0:0:FFFF:127.0.0.1';
|
||||
SHOW GRANTS FOR testuser@'0:0:0:0:0:FFFF:127.0.0.1';
|
||||
Grants for testuser@0:0:0:0:0:FFFF:127.0.0.1
|
||||
GRANT USAGE ON *.* TO 'testuser'@'0:0:0:0:0:FFFF:127.0.0.1' IDENTIFIED BY PASSWORD '*A4B6157319038724E3560894F7F932C8886EBFCF'
|
||||
GRANT ALL PRIVILEGES ON `test`.* TO 'testuser'@'0:0:0:0:0:FFFF:127.0.0.1'
|
||||
SET @nip= inet_aton('0:0:0:0:0:FFFF:127.0.0.1');
|
||||
SELECT @nip;
|
||||
@nip
|
||||
NULL
|
||||
SELECT inet_ntoa(@nip);
|
||||
inet_ntoa(@nip)
|
||||
NULL
|
||||
SELECT USER();
|
||||
USER()
|
||||
root@localhost
|
||||
SELECT current_user();
|
||||
current_user()
|
||||
root@localhost
|
||||
SHOW PROCESSLIST;
|
||||
REVOKE ALL ON test.* FROM testuser@'0:0:0:0:0:FFFF:127.0.0.1';
|
||||
RENAME USER testuser@'0:0:0:0:0:FFFF:127.0.0.1' to testuser1@'0:0:0:0:0:FFFF:127.0.0.1';
|
||||
SET PASSWORD FOR testuser1@'0:0:0:0:0:FFFF:127.0.0.1' = PASSWORD ('9876');
|
||||
SELECT USER();
|
||||
USER()
|
||||
root@localhost
|
||||
DROP USER testuser1@'0:0:0:0:0:FFFF:127.0.0.1';
|
||||
=============Test of '0000:0000:0000:0000:0000:FFFF:127.0.0.1' ====
|
||||
mysqld is alive
|
||||
CREATE USER testuser@'0000:0000:0000:0000:0000:FFFF:127.0.0.1' identified by '1234';
|
||||
GRANT ALL ON test.* TO testuser@'0000:0000:0000:0000:0000:FFFF:127.0.0.1';
|
||||
SHOW GRANTS FOR testuser@'0000:0000:0000:0000:0000:FFFF:127.0.0.1';
|
||||
Grants for testuser@0000:0000:0000:0000:0000:FFFF:127.0.0.1
|
||||
GRANT USAGE ON *.* TO 'testuser'@'0000:0000:0000:0000:0000:FFFF:127.0.0.1' IDENTIFIED BY PASSWORD '*A4B6157319038724E3560894F7F932C8886EBFCF'
|
||||
GRANT ALL PRIVILEGES ON `test`.* TO 'testuser'@'0000:0000:0000:0000:0000:FFFF:127.0.0.1'
|
||||
SET @nip= inet_aton('0000:0000:0000:0000:0000:FFFF:127.0.0.1');
|
||||
SELECT @nip;
|
||||
@nip
|
||||
NULL
|
||||
SELECT inet_ntoa(@nip);
|
||||
inet_ntoa(@nip)
|
||||
NULL
|
||||
SELECT USER();
|
||||
USER()
|
||||
root@localhost
|
||||
SELECT current_user();
|
||||
current_user()
|
||||
root@localhost
|
||||
SHOW PROCESSLIST;
|
||||
REVOKE ALL ON test.* FROM testuser@'0000:0000:0000:0000:0000:FFFF:127.0.0.1';
|
||||
RENAME USER testuser@'0000:0000:0000:0000:0000:FFFF:127.0.0.1' to testuser1@'0000:0000:0000:0000:0000:FFFF:127.0.0.1';
|
||||
SET PASSWORD FOR testuser1@'0000:0000:0000:0000:0000:FFFF:127.0.0.1' = PASSWORD ('9876');
|
||||
SELECT USER();
|
||||
USER()
|
||||
root@localhost
|
||||
DROP USER testuser1@'0000:0000:0000:0000:0000:FFFF:127.0.0.1';
|
||||
=============Test of '0:0000:0000:0:0000:FFFF:127.0.0.1' ====
|
||||
mysqld is alive
|
||||
CREATE USER testuser@'0:0000:0000:0:0000:FFFF:127.0.0.1' identified by '1234';
|
||||
GRANT ALL ON test.* TO testuser@'0:0000:0000:0:0000:FFFF:127.0.0.1';
|
||||
SHOW GRANTS FOR testuser@'0:0000:0000:0:0000:FFFF:127.0.0.1';
|
||||
Grants for testuser@0:0000:0000:0:0000:FFFF:127.0.0.1
|
||||
GRANT USAGE ON *.* TO 'testuser'@'0:0000:0000:0:0000:FFFF:127.0.0.1' IDENTIFIED BY PASSWORD '*A4B6157319038724E3560894F7F932C8886EBFCF'
|
||||
GRANT ALL PRIVILEGES ON `test`.* TO 'testuser'@'0:0000:0000:0:0000:FFFF:127.0.0.1'
|
||||
SET @nip= inet_aton('0:0000:0000:0:0000:FFFF:127.0.0.1');
|
||||
SELECT @nip;
|
||||
@nip
|
||||
NULL
|
||||
SELECT inet_ntoa(@nip);
|
||||
inet_ntoa(@nip)
|
||||
NULL
|
||||
SELECT USER();
|
||||
USER()
|
||||
root@localhost
|
||||
SELECT current_user();
|
||||
current_user()
|
||||
root@localhost
|
||||
SHOW PROCESSLIST;
|
||||
REVOKE ALL ON test.* FROM testuser@'0:0000:0000:0:0000:FFFF:127.0.0.1';
|
||||
RENAME USER testuser@'0:0000:0000:0:0000:FFFF:127.0.0.1' to testuser1@'0:0000:0000:0:0000:FFFF:127.0.0.1';
|
||||
SET PASSWORD FOR testuser1@'0:0000:0000:0:0000:FFFF:127.0.0.1' = PASSWORD ('9876');
|
||||
SELECT USER();
|
||||
USER()
|
||||
root@localhost
|
||||
DROP USER testuser1@'0:0000:0000:0:0000:FFFF:127.0.0.1';
|
||||
=============Test of '0::0000:FFFF:127.0.0.1' ====
|
||||
mysqld is alive
|
||||
CREATE USER testuser@'0::0000:FFFF:127.0.0.1' identified by '1234';
|
||||
GRANT ALL ON test.* TO testuser@'0::0000:FFFF:127.0.0.1';
|
||||
SHOW GRANTS FOR testuser@'0::0000:FFFF:127.0.0.1';
|
||||
Grants for testuser@0::0000:FFFF:127.0.0.1
|
||||
GRANT USAGE ON *.* TO 'testuser'@'0::0000:FFFF:127.0.0.1' IDENTIFIED BY PASSWORD '*A4B6157319038724E3560894F7F932C8886EBFCF'
|
||||
GRANT ALL PRIVILEGES ON `test`.* TO 'testuser'@'0::0000:FFFF:127.0.0.1'
|
||||
SET @nip= inet_aton('0::0000:FFFF:127.0.0.1');
|
||||
SELECT @nip;
|
||||
@nip
|
||||
NULL
|
||||
SELECT inet_ntoa(@nip);
|
||||
inet_ntoa(@nip)
|
||||
NULL
|
||||
SELECT USER();
|
||||
USER()
|
||||
root@localhost
|
||||
SELECT current_user();
|
||||
current_user()
|
||||
root@localhost
|
||||
SHOW PROCESSLIST;
|
||||
REVOKE ALL ON test.* FROM testuser@'0::0000:FFFF:127.0.0.1';
|
||||
RENAME USER testuser@'0::0000:FFFF:127.0.0.1' to testuser1@'0::0000:FFFF:127.0.0.1';
|
||||
SET PASSWORD FOR testuser1@'0::0000:FFFF:127.0.0.1' = PASSWORD ('9876');
|
||||
SELECT USER();
|
||||
USER()
|
||||
root@localhost
|
||||
DROP USER testuser1@'0::0000:FFFF:127.0.0.1';
|
||||
=============Test of '0:0:0:0:0:FFFF:127.0.0.1/96' ================
|
||||
=============Test of '::FFFF:127.0.0.1' ===========================
|
||||
mysqld is alive
|
||||
CREATE USER testuser@'::FFFF:127.0.0.1' identified by '1234';
|
||||
GRANT ALL ON test.* TO testuser@'::FFFF:127.0.0.1';
|
||||
SHOW GRANTS FOR testuser@'::FFFF:127.0.0.1';
|
||||
Grants for testuser@::FFFF:127.0.0.1
|
||||
GRANT USAGE ON *.* TO 'testuser'@'::FFFF:127.0.0.1' IDENTIFIED BY PASSWORD '*A4B6157319038724E3560894F7F932C8886EBFCF'
|
||||
GRANT ALL PRIVILEGES ON `test`.* TO 'testuser'@'::FFFF:127.0.0.1'
|
||||
SET @nip= inet_aton('::FFFF:127.0.0.1');
|
||||
SELECT @nip;
|
||||
@nip
|
||||
NULL
|
||||
SELECT inet_ntoa(@nip);
|
||||
inet_ntoa(@nip)
|
||||
NULL
|
||||
SELECT USER();
|
||||
USER()
|
||||
root@localhost
|
||||
SELECT current_user();
|
||||
current_user()
|
||||
root@localhost
|
||||
SHOW PROCESSLIST;
|
||||
REVOKE ALL ON test.* FROM testuser@'::FFFF:127.0.0.1';
|
||||
RENAME USER testuser@'::FFFF:127.0.0.1' to testuser1@'::FFFF:127.0.0.1';
|
||||
SET PASSWORD FOR testuser1@'::FFFF:127.0.0.1' = PASSWORD ('9876');
|
||||
SELECT USER();
|
||||
USER()
|
||||
root@localhost
|
||||
DROP USER testuser1@'::FFFF:127.0.0.1';
|
||||
=============Test of '::FFFF:127.0.0.1/96' ========================
|
||||
=============Test of '::1' ========================
|
||||
connect (con1, ::1, root, , test, MASTER_MYPORT,);
|
||||
Got one of the listed errors
|
32
mysql-test/r/ipv4_as_ipv6_win.result
Normal file
32
mysql-test/r/ipv4_as_ipv6_win.result
Normal file
|
@ -0,0 +1,32 @@
|
|||
=============Test of '127.0.0.1' (IPv4) ===========================
|
||||
mysqld is alive
|
||||
CREATE USER testuser@'127.0.0.1' identified by '1234';
|
||||
GRANT ALL ON test.* TO testuser@'127.0.0.1';
|
||||
SHOW GRANTS FOR testuser@'127.0.0.1';
|
||||
Grants for testuser@127.0.0.1
|
||||
GRANT USAGE ON *.* TO 'testuser'@'127.0.0.1' IDENTIFIED BY PASSWORD '*A4B6157319038724E3560894F7F932C8886EBFCF'
|
||||
GRANT ALL PRIVILEGES ON `test`.* TO 'testuser'@'127.0.0.1'
|
||||
SET @nip= inet_aton('127.0.0.1');
|
||||
SELECT @nip;
|
||||
@nip
|
||||
2130706433
|
||||
SELECT inet_ntoa(@nip);
|
||||
inet_ntoa(@nip)
|
||||
127.0.0.1
|
||||
SELECT USER();
|
||||
USER()
|
||||
root@127.0.0.1
|
||||
SELECT current_user();
|
||||
current_user()
|
||||
root@127.0.0.1
|
||||
SHOW PROCESSLIST;
|
||||
REVOKE ALL ON test.* FROM testuser@'127.0.0.1';
|
||||
RENAME USER testuser@'127.0.0.1' to testuser1@'127.0.0.1';
|
||||
SET PASSWORD FOR testuser1@'127.0.0.1' = PASSWORD ('9876');
|
||||
SELECT USER();
|
||||
USER()
|
||||
root@127.0.0.1
|
||||
DROP USER testuser1@'127.0.0.1';
|
||||
=============Test of '::1' ========================
|
||||
connect (con1, ::1, root, , test, MASTER_MYPORT);
|
||||
Got one of the listed errors
|
264
mysql-test/r/ipv6.result
Normal file
264
mysql-test/r/ipv6.result
Normal file
|
@ -0,0 +1,264 @@
|
|||
=============Test of '::1' ========================================
|
||||
mysqld is alive
|
||||
CREATE USER testuser@'::1' identified by '1234';
|
||||
GRANT ALL ON test.* TO testuser@'::1';
|
||||
SHOW GRANTS FOR testuser@'::1';
|
||||
Grants for testuser@::1
|
||||
GRANT USAGE ON *.* TO 'testuser'@'::1' IDENTIFIED BY PASSWORD '*A4B6157319038724E3560894F7F932C8886EBFCF'
|
||||
GRANT ALL PRIVILEGES ON `test`.* TO 'testuser'@'::1'
|
||||
SET @nip= inet_aton('::1');
|
||||
SELECT @nip;
|
||||
@nip
|
||||
NULL
|
||||
SELECT inet_ntoa(@nip);
|
||||
inet_ntoa(@nip)
|
||||
NULL
|
||||
SELECT USER();
|
||||
USER()
|
||||
root@localhost
|
||||
SELECT current_user();
|
||||
current_user()
|
||||
root@localhost
|
||||
SHOW PROCESSLIST;
|
||||
REVOKE ALL ON test.* FROM testuser@'::1';
|
||||
RENAME USER testuser@'::1' to testuser1@'::1';
|
||||
SET PASSWORD FOR testuser1@'::1' = PASSWORD ('9876');
|
||||
SELECT USER();
|
||||
USER()
|
||||
root@localhost
|
||||
DROP USER testuser1@'::1';
|
||||
=============Test of '::1/128' ====================================
|
||||
=============Test of '0000:0000:0000:0000:0000:0000:0000:0001' ====
|
||||
mysqld is alive
|
||||
CREATE USER testuser@'0000:0000:0000:0000:0000:0000:0000:0001' identified by '1234';
|
||||
GRANT ALL ON test.* TO testuser@'0000:0000:0000:0000:0000:0000:0000:0001';
|
||||
SHOW GRANTS FOR testuser@'0000:0000:0000:0000:0000:0000:0000:0001';
|
||||
Grants for testuser@0000:0000:0000:0000:0000:0000:0000:0001
|
||||
GRANT USAGE ON *.* TO 'testuser'@'0000:0000:0000:0000:0000:0000:0000:0001' IDENTIFIED BY PASSWORD '*A4B6157319038724E3560894F7F932C8886EBFCF'
|
||||
GRANT ALL PRIVILEGES ON `test`.* TO 'testuser'@'0000:0000:0000:0000:0000:0000:0000:0001'
|
||||
SET @nip= inet_aton('0000:0000:0000:0000:0000:0000:0000:0001');
|
||||
SELECT @nip;
|
||||
@nip
|
||||
NULL
|
||||
SELECT inet_ntoa(@nip);
|
||||
inet_ntoa(@nip)
|
||||
NULL
|
||||
SELECT USER();
|
||||
USER()
|
||||
root@localhost
|
||||
SELECT current_user();
|
||||
current_user()
|
||||
root@localhost
|
||||
SHOW PROCESSLIST;
|
||||
REVOKE ALL ON test.* FROM testuser@'0000:0000:0000:0000:0000:0000:0000:0001';
|
||||
RENAME USER testuser@'0000:0000:0000:0000:0000:0000:0000:0001' to testuser1@'0000:0000:0000:0000:0000:0000:0000:0001';
|
||||
SET PASSWORD FOR testuser1@'0000:0000:0000:0000:0000:0000:0000:0001' = PASSWORD ('9876');
|
||||
SELECT USER();
|
||||
USER()
|
||||
root@localhost
|
||||
DROP USER testuser1@'0000:0000:0000:0000:0000:0000:0000:0001';
|
||||
=============Test of '0:0:0:0:0:0:0:1' ============================
|
||||
mysqld is alive
|
||||
CREATE USER testuser@'0:0:0:0:0:0:0:1' identified by '1234';
|
||||
GRANT ALL ON test.* TO testuser@'0:0:0:0:0:0:0:1';
|
||||
SHOW GRANTS FOR testuser@'0:0:0:0:0:0:0:1';
|
||||
Grants for testuser@0:0:0:0:0:0:0:1
|
||||
GRANT USAGE ON *.* TO 'testuser'@'0:0:0:0:0:0:0:1' IDENTIFIED BY PASSWORD '*A4B6157319038724E3560894F7F932C8886EBFCF'
|
||||
GRANT ALL PRIVILEGES ON `test`.* TO 'testuser'@'0:0:0:0:0:0:0:1'
|
||||
SET @nip= inet_aton('0:0:0:0:0:0:0:1');
|
||||
SELECT @nip;
|
||||
@nip
|
||||
NULL
|
||||
SELECT inet_ntoa(@nip);
|
||||
inet_ntoa(@nip)
|
||||
NULL
|
||||
SELECT USER();
|
||||
USER()
|
||||
root@localhost
|
||||
SELECT current_user();
|
||||
current_user()
|
||||
root@localhost
|
||||
SHOW PROCESSLIST;
|
||||
REVOKE ALL ON test.* FROM testuser@'0:0:0:0:0:0:0:1';
|
||||
RENAME USER testuser@'0:0:0:0:0:0:0:1' to testuser1@'0:0:0:0:0:0:0:1';
|
||||
SET PASSWORD FOR testuser1@'0:0:0:0:0:0:0:1' = PASSWORD ('9876');
|
||||
SELECT USER();
|
||||
USER()
|
||||
root@localhost
|
||||
DROP USER testuser1@'0:0:0:0:0:0:0:1';
|
||||
=============Test of '127.0.0.1' (IPv4) ===========================
|
||||
mysqld is alive
|
||||
CREATE USER testuser@'127.0.0.1' identified by '1234';
|
||||
GRANT ALL ON test.* TO testuser@'127.0.0.1';
|
||||
SHOW GRANTS FOR testuser@'127.0.0.1';
|
||||
Grants for testuser@127.0.0.1
|
||||
GRANT USAGE ON *.* TO 'testuser'@'127.0.0.1' IDENTIFIED BY PASSWORD '*A4B6157319038724E3560894F7F932C8886EBFCF'
|
||||
GRANT ALL PRIVILEGES ON `test`.* TO 'testuser'@'127.0.0.1'
|
||||
SET @nip= inet_aton('127.0.0.1');
|
||||
SELECT @nip;
|
||||
@nip
|
||||
2130706433
|
||||
SELECT inet_ntoa(@nip);
|
||||
inet_ntoa(@nip)
|
||||
127.0.0.1
|
||||
SELECT USER();
|
||||
USER()
|
||||
root@localhost
|
||||
SELECT current_user();
|
||||
current_user()
|
||||
root@localhost
|
||||
SHOW PROCESSLIST;
|
||||
REVOKE ALL ON test.* FROM testuser@'127.0.0.1';
|
||||
RENAME USER testuser@'127.0.0.1' to testuser1@'127.0.0.1';
|
||||
SET PASSWORD FOR testuser1@'127.0.0.1' = PASSWORD ('9876');
|
||||
SELECT USER();
|
||||
USER()
|
||||
root@localhost
|
||||
DROP USER testuser1@'127.0.0.1';
|
||||
=============Test of '0:0:0:0:0:FFFF:127.0.0.1' ===================
|
||||
mysqld is alive
|
||||
CREATE USER testuser@'0:0:0:0:0:FFFF:127.0.0.1' identified by '1234';
|
||||
GRANT ALL ON test.* TO testuser@'0:0:0:0:0:FFFF:127.0.0.1';
|
||||
SHOW GRANTS FOR testuser@'0:0:0:0:0:FFFF:127.0.0.1';
|
||||
Grants for testuser@0:0:0:0:0:FFFF:127.0.0.1
|
||||
GRANT USAGE ON *.* TO 'testuser'@'0:0:0:0:0:FFFF:127.0.0.1' IDENTIFIED BY PASSWORD '*A4B6157319038724E3560894F7F932C8886EBFCF'
|
||||
GRANT ALL PRIVILEGES ON `test`.* TO 'testuser'@'0:0:0:0:0:FFFF:127.0.0.1'
|
||||
SET @nip= inet_aton('0:0:0:0:0:FFFF:127.0.0.1');
|
||||
SELECT @nip;
|
||||
@nip
|
||||
NULL
|
||||
SELECT inet_ntoa(@nip);
|
||||
inet_ntoa(@nip)
|
||||
NULL
|
||||
SELECT USER();
|
||||
USER()
|
||||
root@localhost
|
||||
SELECT current_user();
|
||||
current_user()
|
||||
root@localhost
|
||||
SHOW PROCESSLIST;
|
||||
REVOKE ALL ON test.* FROM testuser@'0:0:0:0:0:FFFF:127.0.0.1';
|
||||
RENAME USER testuser@'0:0:0:0:0:FFFF:127.0.0.1' to testuser1@'0:0:0:0:0:FFFF:127.0.0.1';
|
||||
SET PASSWORD FOR testuser1@'0:0:0:0:0:FFFF:127.0.0.1' = PASSWORD ('9876');
|
||||
SELECT USER();
|
||||
USER()
|
||||
root@localhost
|
||||
DROP USER testuser1@'0:0:0:0:0:FFFF:127.0.0.1';
|
||||
=============Test of '0000:0000:0000:0000:0000:FFFF:127.0.0.1' ====
|
||||
mysqld is alive
|
||||
CREATE USER testuser@'0000:0000:0000:0000:0000:FFFF:127.0.0.1' identified by '1234';
|
||||
GRANT ALL ON test.* TO testuser@'0000:0000:0000:0000:0000:FFFF:127.0.0.1';
|
||||
SHOW GRANTS FOR testuser@'0000:0000:0000:0000:0000:FFFF:127.0.0.1';
|
||||
Grants for testuser@0000:0000:0000:0000:0000:FFFF:127.0.0.1
|
||||
GRANT USAGE ON *.* TO 'testuser'@'0000:0000:0000:0000:0000:FFFF:127.0.0.1' IDENTIFIED BY PASSWORD '*A4B6157319038724E3560894F7F932C8886EBFCF'
|
||||
GRANT ALL PRIVILEGES ON `test`.* TO 'testuser'@'0000:0000:0000:0000:0000:FFFF:127.0.0.1'
|
||||
SET @nip= inet_aton('0000:0000:0000:0000:0000:FFFF:127.0.0.1');
|
||||
SELECT @nip;
|
||||
@nip
|
||||
NULL
|
||||
SELECT inet_ntoa(@nip);
|
||||
inet_ntoa(@nip)
|
||||
NULL
|
||||
SELECT USER();
|
||||
USER()
|
||||
root@localhost
|
||||
SELECT current_user();
|
||||
current_user()
|
||||
root@localhost
|
||||
SHOW PROCESSLIST;
|
||||
REVOKE ALL ON test.* FROM testuser@'0000:0000:0000:0000:0000:FFFF:127.0.0.1';
|
||||
RENAME USER testuser@'0000:0000:0000:0000:0000:FFFF:127.0.0.1' to testuser1@'0000:0000:0000:0000:0000:FFFF:127.0.0.1';
|
||||
SET PASSWORD FOR testuser1@'0000:0000:0000:0000:0000:FFFF:127.0.0.1' = PASSWORD ('9876');
|
||||
SELECT USER();
|
||||
USER()
|
||||
root@localhost
|
||||
DROP USER testuser1@'0000:0000:0000:0000:0000:FFFF:127.0.0.1';
|
||||
=============Test of '0:0000:0000:0:0000:FFFF:127.0.0.1' ====
|
||||
mysqld is alive
|
||||
CREATE USER testuser@'0:0000:0000:0:0000:FFFF:127.0.0.1' identified by '1234';
|
||||
GRANT ALL ON test.* TO testuser@'0:0000:0000:0:0000:FFFF:127.0.0.1';
|
||||
SHOW GRANTS FOR testuser@'0:0000:0000:0:0000:FFFF:127.0.0.1';
|
||||
Grants for testuser@0:0000:0000:0:0000:FFFF:127.0.0.1
|
||||
GRANT USAGE ON *.* TO 'testuser'@'0:0000:0000:0:0000:FFFF:127.0.0.1' IDENTIFIED BY PASSWORD '*A4B6157319038724E3560894F7F932C8886EBFCF'
|
||||
GRANT ALL PRIVILEGES ON `test`.* TO 'testuser'@'0:0000:0000:0:0000:FFFF:127.0.0.1'
|
||||
SET @nip= inet_aton('0:0000:0000:0:0000:FFFF:127.0.0.1');
|
||||
SELECT @nip;
|
||||
@nip
|
||||
NULL
|
||||
SELECT inet_ntoa(@nip);
|
||||
inet_ntoa(@nip)
|
||||
NULL
|
||||
SELECT USER();
|
||||
USER()
|
||||
root@localhost
|
||||
SELECT current_user();
|
||||
current_user()
|
||||
root@localhost
|
||||
SHOW PROCESSLIST;
|
||||
REVOKE ALL ON test.* FROM testuser@'0:0000:0000:0:0000:FFFF:127.0.0.1';
|
||||
RENAME USER testuser@'0:0000:0000:0:0000:FFFF:127.0.0.1' to testuser1@'0:0000:0000:0:0000:FFFF:127.0.0.1';
|
||||
SET PASSWORD FOR testuser1@'0:0000:0000:0:0000:FFFF:127.0.0.1' = PASSWORD ('9876');
|
||||
SELECT USER();
|
||||
USER()
|
||||
root@localhost
|
||||
DROP USER testuser1@'0:0000:0000:0:0000:FFFF:127.0.0.1';
|
||||
=============Test of '0::0000:FFFF:127.0.0.1' ====
|
||||
mysqld is alive
|
||||
CREATE USER testuser@'0::0000:FFFF:127.0.0.1' identified by '1234';
|
||||
GRANT ALL ON test.* TO testuser@'0::0000:FFFF:127.0.0.1';
|
||||
SHOW GRANTS FOR testuser@'0::0000:FFFF:127.0.0.1';
|
||||
Grants for testuser@0::0000:FFFF:127.0.0.1
|
||||
GRANT USAGE ON *.* TO 'testuser'@'0::0000:FFFF:127.0.0.1' IDENTIFIED BY PASSWORD '*A4B6157319038724E3560894F7F932C8886EBFCF'
|
||||
GRANT ALL PRIVILEGES ON `test`.* TO 'testuser'@'0::0000:FFFF:127.0.0.1'
|
||||
SET @nip= inet_aton('0::0000:FFFF:127.0.0.1');
|
||||
SELECT @nip;
|
||||
@nip
|
||||
NULL
|
||||
SELECT inet_ntoa(@nip);
|
||||
inet_ntoa(@nip)
|
||||
NULL
|
||||
SELECT USER();
|
||||
USER()
|
||||
root@localhost
|
||||
SELECT current_user();
|
||||
current_user()
|
||||
root@localhost
|
||||
SHOW PROCESSLIST;
|
||||
REVOKE ALL ON test.* FROM testuser@'0::0000:FFFF:127.0.0.1';
|
||||
RENAME USER testuser@'0::0000:FFFF:127.0.0.1' to testuser1@'0::0000:FFFF:127.0.0.1';
|
||||
SET PASSWORD FOR testuser1@'0::0000:FFFF:127.0.0.1' = PASSWORD ('9876');
|
||||
SELECT USER();
|
||||
USER()
|
||||
root@localhost
|
||||
DROP USER testuser1@'0::0000:FFFF:127.0.0.1';
|
||||
=============Test of '0:0:0:0:0:FFFF:127.0.0.1/96' ================
|
||||
=============Test of '::FFFF:127.0.0.1' ===========================
|
||||
mysqld is alive
|
||||
CREATE USER testuser@'::FFFF:127.0.0.1' identified by '1234';
|
||||
GRANT ALL ON test.* TO testuser@'::FFFF:127.0.0.1';
|
||||
SHOW GRANTS FOR testuser@'::FFFF:127.0.0.1';
|
||||
Grants for testuser@::FFFF:127.0.0.1
|
||||
GRANT USAGE ON *.* TO 'testuser'@'::FFFF:127.0.0.1' IDENTIFIED BY PASSWORD '*A4B6157319038724E3560894F7F932C8886EBFCF'
|
||||
GRANT ALL PRIVILEGES ON `test`.* TO 'testuser'@'::FFFF:127.0.0.1'
|
||||
SET @nip= inet_aton('::FFFF:127.0.0.1');
|
||||
SELECT @nip;
|
||||
@nip
|
||||
NULL
|
||||
SELECT inet_ntoa(@nip);
|
||||
inet_ntoa(@nip)
|
||||
NULL
|
||||
SELECT USER();
|
||||
USER()
|
||||
root@localhost
|
||||
SELECT current_user();
|
||||
current_user()
|
||||
root@localhost
|
||||
SHOW PROCESSLIST;
|
||||
REVOKE ALL ON test.* FROM testuser@'::FFFF:127.0.0.1';
|
||||
RENAME USER testuser@'::FFFF:127.0.0.1' to testuser1@'::FFFF:127.0.0.1';
|
||||
SET PASSWORD FOR testuser1@'::FFFF:127.0.0.1' = PASSWORD ('9876');
|
||||
SELECT USER();
|
||||
USER()
|
||||
root@localhost
|
||||
DROP USER testuser1@'::FFFF:127.0.0.1';
|
||||
=============Test of '::FFFF:127.0.0.1/96' ========================
|
88
mysql-test/r/ipv6_win.result
Normal file
88
mysql-test/r/ipv6_win.result
Normal file
|
@ -0,0 +1,88 @@
|
|||
=============Test of '::1' ========================================
|
||||
mysqld is alive
|
||||
CREATE USER testuser@'::1' identified by '1234';
|
||||
GRANT ALL ON test.* TO testuser@'::1';
|
||||
SHOW GRANTS FOR testuser@'::1';
|
||||
Grants for testuser@::1
|
||||
GRANT USAGE ON *.* TO 'testuser'@'::1' IDENTIFIED BY PASSWORD '*A4B6157319038724E3560894F7F932C8886EBFCF'
|
||||
GRANT ALL PRIVILEGES ON `test`.* TO 'testuser'@'::1'
|
||||
SET @nip= inet_aton('::1');
|
||||
SELECT @nip;
|
||||
@nip
|
||||
NULL
|
||||
SELECT inet_ntoa(@nip);
|
||||
inet_ntoa(@nip)
|
||||
NULL
|
||||
SELECT USER();
|
||||
USER()
|
||||
root@::1
|
||||
SELECT current_user();
|
||||
current_user()
|
||||
root@::1
|
||||
SHOW PROCESSLIST;
|
||||
REVOKE ALL ON test.* FROM testuser@'::1';
|
||||
RENAME USER testuser@'::1' to testuser1@'::1';
|
||||
SET PASSWORD FOR testuser1@'::1' = PASSWORD ('9876');
|
||||
SELECT USER();
|
||||
USER()
|
||||
root@::1
|
||||
DROP USER testuser1@'::1';
|
||||
=============Test of '::1/128' ====================================
|
||||
=============Test of '0000:0000:0000:0000:0000:0000:0000:0001' ====
|
||||
mysqld is alive
|
||||
CREATE USER testuser@'0000:0000:0000:0000:0000:0000:0000:0001' identified by '1234';
|
||||
GRANT ALL ON test.* TO testuser@'0000:0000:0000:0000:0000:0000:0000:0001';
|
||||
SHOW GRANTS FOR testuser@'0000:0000:0000:0000:0000:0000:0000:0001';
|
||||
Grants for testuser@0000:0000:0000:0000:0000:0000:0000:0001
|
||||
GRANT USAGE ON *.* TO 'testuser'@'0000:0000:0000:0000:0000:0000:0000:0001' IDENTIFIED BY PASSWORD '*A4B6157319038724E3560894F7F932C8886EBFCF'
|
||||
GRANT ALL PRIVILEGES ON `test`.* TO 'testuser'@'0000:0000:0000:0000:0000:0000:0000:0001'
|
||||
SET @nip= inet_aton('0000:0000:0000:0000:0000:0000:0000:0001');
|
||||
SELECT @nip;
|
||||
@nip
|
||||
NULL
|
||||
SELECT inet_ntoa(@nip);
|
||||
inet_ntoa(@nip)
|
||||
NULL
|
||||
SELECT USER();
|
||||
USER()
|
||||
root@::1
|
||||
SELECT current_user();
|
||||
current_user()
|
||||
root@::1
|
||||
SHOW PROCESSLIST;
|
||||
REVOKE ALL ON test.* FROM testuser@'0000:0000:0000:0000:0000:0000:0000:0001';
|
||||
RENAME USER testuser@'0000:0000:0000:0000:0000:0000:0000:0001' to testuser1@'0000:0000:0000:0000:0000:0000:0000:0001';
|
||||
SET PASSWORD FOR testuser1@'0000:0000:0000:0000:0000:0000:0000:0001' = PASSWORD ('9876');
|
||||
SELECT USER();
|
||||
USER()
|
||||
root@::1
|
||||
DROP USER testuser1@'0000:0000:0000:0000:0000:0000:0000:0001';
|
||||
=============Test of '0:0:0:0:0:0:0:1' ============================
|
||||
mysqld is alive
|
||||
CREATE USER testuser@'0:0:0:0:0:0:0:1' identified by '1234';
|
||||
GRANT ALL ON test.* TO testuser@'0:0:0:0:0:0:0:1';
|
||||
SHOW GRANTS FOR testuser@'0:0:0:0:0:0:0:1';
|
||||
Grants for testuser@0:0:0:0:0:0:0:1
|
||||
GRANT USAGE ON *.* TO 'testuser'@'0:0:0:0:0:0:0:1' IDENTIFIED BY PASSWORD '*A4B6157319038724E3560894F7F932C8886EBFCF'
|
||||
GRANT ALL PRIVILEGES ON `test`.* TO 'testuser'@'0:0:0:0:0:0:0:1'
|
||||
SET @nip= inet_aton('0:0:0:0:0:0:0:1');
|
||||
SELECT @nip;
|
||||
@nip
|
||||
NULL
|
||||
SELECT inet_ntoa(@nip);
|
||||
inet_ntoa(@nip)
|
||||
NULL
|
||||
SELECT USER();
|
||||
USER()
|
||||
root@::1
|
||||
SELECT current_user();
|
||||
current_user()
|
||||
root@::1
|
||||
SHOW PROCESSLIST;
|
||||
REVOKE ALL ON test.* FROM testuser@'0:0:0:0:0:0:0:1';
|
||||
RENAME USER testuser@'0:0:0:0:0:0:0:1' to testuser1@'0:0:0:0:0:0:0:1';
|
||||
SET PASSWORD FOR testuser1@'0:0:0:0:0:0:0:1' = PASSWORD ('9876');
|
||||
SELECT USER();
|
||||
USER()
|
||||
root@::1
|
||||
DROP USER testuser1@'0:0:0:0:0:0:0:1';
|
|
@ -1,3 +1,4 @@
|
|||
DROP TABLE IF EXISTS t1,t2,t3;
|
||||
CREATE TABLE t1(c1 DOUBLE, c2 DOUBLE, c3 DOUBLE, c4 DOUBLE, c5 DOUBLE,
|
||||
c6 DOUBLE, c7 DOUBLE, c8 DOUBLE, c9 DOUBLE, a INT PRIMARY KEY);
|
||||
INSERT INTO t1 VALUES
|
||||
|
@ -85,5 +86,37 @@ FLUSH TABLE mysql_db1.t1;
|
|||
SELECT COUNT(*) FROM mysql_db1.t1 WHERE c2 < 5;
|
||||
COUNT(*)
|
||||
128
|
||||
# ===== myisampack.1 =====
|
||||
CREATE TABLE t1(a INT);
|
||||
INSERT INTO t1 VALUES(20);
|
||||
CREATE TABLE t2(a INT);
|
||||
INSERT INTO t2 VALUES(40);
|
||||
FLUSH TABLE t1,t2;
|
||||
#If the myisampack --join operation is successful, we have table t3(.frm)
|
||||
#so we should be able to query about the table from server.
|
||||
SELECT COUNT(a) FROM t3;
|
||||
COUNT(a)
|
||||
1024
|
||||
# ===== myisampack.2 =====
|
||||
FLUSH TABLE t3;
|
||||
#Tests the myisampack join operation with an existing destination .frm file,
|
||||
#the command should return correct exit status(0) and
|
||||
#we should be able to query the table.
|
||||
SELECT COUNT(a) FROM t3;
|
||||
COUNT(a)
|
||||
1024
|
||||
# ===== myisampack.3 =====
|
||||
DROP TABLE t3;
|
||||
#Tests the myisampack join operation without frm file for the first and second table
|
||||
#No frm file is generated in this and we shouldn't be able to access the newly
|
||||
#created table
|
||||
SELECT COUNT(a) FROM t3;
|
||||
ERROR 42S02: Table 'test.t3' doesn't exist
|
||||
# ===== myisampack.4 =====
|
||||
#Tests the myisampack join operation with an existing destination .frm,.MYI,.MDI
|
||||
#the command should fail with exit status 2
|
||||
myisampack: Can't create/write to file (Errcode: 17)
|
||||
Aborted: file is not compressed
|
||||
DROP TABLE t1,t2,t3;
|
||||
DROP TABLE mysql_db1.t1;
|
||||
DROP DATABASE mysql_db1;
|
||||
|
|
|
@ -2048,23 +2048,4 @@ CREATE TABLE t1(id INT,KEY(id)) ENGINE=MYISAM
|
|||
PARTITION BY HASH(id) PARTITIONS 2;
|
||||
DROP TABLE t1;
|
||||
SET SESSION SQL_MODE=DEFAULT;
|
||||
#
|
||||
# BUG#45816 - assertion failure with index containing double
|
||||
# column on partitioned table
|
||||
#
|
||||
CREATE TABLE t1 (
|
||||
a INT DEFAULT NULL,
|
||||
b DOUBLE DEFAULT NULL,
|
||||
c INT DEFAULT NULL,
|
||||
KEY idx2(b,a)
|
||||
) PARTITION BY HASH(c) PARTITIONS 3;
|
||||
INSERT INTO t1 VALUES (6,8,9);
|
||||
INSERT INTO t1 VALUES (6,8,10);
|
||||
SELECT 1 FROM t1 JOIN t1 AS t2 USING (a) FOR UPDATE;
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
End of 5.1 tests
|
||||
|
|
|
@ -412,8 +412,6 @@ prepare stmt1 from ' optimize table t1 ' ;
|
|||
prepare stmt1 from ' analyze table t1 ' ;
|
||||
prepare stmt1 from ' checksum table t1 ' ;
|
||||
prepare stmt1 from ' repair table t1 ' ;
|
||||
prepare stmt1 from ' restore table t1 from ''<MYSQLTEST_VARDIR>/tmp/data.txt'' ' ;
|
||||
ERROR HY000: This command is not supported in the prepared statement protocol yet
|
||||
prepare stmt1 from ' handler t1 open ';
|
||||
ERROR HY000: This command is not supported in the prepared statement protocol yet
|
||||
prepare stmt3 from ' commit ' ;
|
||||
|
|
|
@ -808,7 +808,6 @@ show plugins;
|
|||
show columns in t1;
|
||||
show slave hosts;
|
||||
show keys in t1;
|
||||
show table types;
|
||||
show storage engines;
|
||||
show authors;
|
||||
show contributors;
|
||||
|
@ -1291,11 +1290,6 @@ delete from mysql.db where user='mysqltest_4';
|
|||
delete from mysql.tables_priv where user='mysqltest_4';
|
||||
flush privileges;
|
||||
drop database mysqltest;
|
||||
show full plugin;
|
||||
show warnings;
|
||||
Level Code Message
|
||||
Warning 1287 The syntax 'SHOW PLUGIN' is deprecated and will be removed in MySQL 6.0. Please use 'SHOW PLUGINS' instead
|
||||
show plugin;
|
||||
show plugins;
|
||||
create database `mysqlttest\1`;
|
||||
create table `mysqlttest\1`.`a\b` (a int);
|
||||
|
@ -1447,7 +1441,6 @@ DROP PROCEDURE p1;
|
|||
DROP FUNCTION f1;
|
||||
DROP TABLE t1;
|
||||
DROP EVENT ev1;
|
||||
SHOW TABLE TYPES;
|
||||
CREATE USER test_u@localhost;
|
||||
GRANT PROCESS ON *.* TO test_u@localhost;
|
||||
SHOW ENGINE MYISAM MUTEX;
|
||||
|
|
|
@ -20,16 +20,16 @@ return 0;
|
|||
end $$
|
||||
show procedure code signal_proc;
|
||||
Pos Instruction
|
||||
0 stmt 135 "SIGNAL foo"
|
||||
1 stmt 135 "SIGNAL foo SET MESSAGE_TEXT = "This i..."
|
||||
2 stmt 136 "RESIGNAL foo"
|
||||
3 stmt 136 "RESIGNAL foo SET MESSAGE_TEXT = "This..."
|
||||
0 stmt 131 "SIGNAL foo"
|
||||
1 stmt 131 "SIGNAL foo SET MESSAGE_TEXT = "This i..."
|
||||
2 stmt 132 "RESIGNAL foo"
|
||||
3 stmt 132 "RESIGNAL foo SET MESSAGE_TEXT = "This..."
|
||||
drop procedure signal_proc;
|
||||
show function code signal_func;
|
||||
Pos Instruction
|
||||
0 stmt 135 "SIGNAL foo"
|
||||
1 stmt 135 "SIGNAL foo SET MESSAGE_TEXT = "This i..."
|
||||
2 stmt 136 "RESIGNAL foo"
|
||||
3 stmt 136 "RESIGNAL foo SET MESSAGE_TEXT = "This..."
|
||||
0 stmt 131 "SIGNAL foo"
|
||||
1 stmt 131 "SIGNAL foo SET MESSAGE_TEXT = "This i..."
|
||||
2 stmt 132 "RESIGNAL foo"
|
||||
3 stmt 132 "RESIGNAL foo SET MESSAGE_TEXT = "This..."
|
||||
4 freturn 3 0
|
||||
drop function signal_func;
|
||||
|
|
|
@ -155,11 +155,11 @@ Pos Instruction
|
|||
0 stmt 9 "drop temporary table if exists sudoku..."
|
||||
1 stmt 1 "create temporary table sudoku_work ( ..."
|
||||
2 stmt 1 "create temporary table sudoku_schedul..."
|
||||
3 stmt 93 "call sudoku_init()"
|
||||
3 stmt 89 "call sudoku_init()"
|
||||
4 jump_if_not 7(8) p_naive@0
|
||||
5 stmt 4 "update sudoku_work set cnt = 0 where ..."
|
||||
6 jump 8
|
||||
7 stmt 93 "call sudoku_count()"
|
||||
7 stmt 89 "call sudoku_count()"
|
||||
8 stmt 6 "insert into sudoku_schedule (row,col)..."
|
||||
9 set v_scounter@2 0
|
||||
10 set v_i@3 1
|
||||
|
|
|
@ -921,10 +921,6 @@ CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW BEGIN DROP TRIGGER test1; EN
|
|||
ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger.
|
||||
CREATE FUNCTION bug_13627_f() returns int BEGIN DROP TRIGGER test1; return 1; END |
|
||||
ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger.
|
||||
CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW BEGIN load table t1 from master; END |
|
||||
ERROR 0A000: LOAD TABLE is not allowed in stored procedures
|
||||
CREATE FUNCTION bug_13627_f() returns int BEGIN load table t1 from master; return 1; END |
|
||||
ERROR 0A000: LOAD TABLE is not allowed in stored procedures
|
||||
CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW BEGIN create table t2 (a int); END |
|
||||
ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger.
|
||||
CREATE FUNCTION bug_13627_f() returns int BEGIN create table t2 (a int); return 1; END |
|
||||
|
@ -1115,18 +1111,6 @@ REPAIR TABLE t1;
|
|||
RETURN 1;
|
||||
END|
|
||||
ERROR 0A000: Not allowed to return a result set from a function
|
||||
CREATE FUNCTION bug13012() RETURNS INT
|
||||
BEGIN
|
||||
BACKUP TABLE t1 TO '/tmp';
|
||||
RETURN 1;
|
||||
END|
|
||||
ERROR 0A000: Not allowed to return a result set from a function
|
||||
CREATE FUNCTION bug13012() RETURNS INT
|
||||
BEGIN
|
||||
RESTORE TABLE t1 FROM '/tmp';
|
||||
RETURN 1;
|
||||
END|
|
||||
ERROR 0A000: Not allowed to return a result set from a function
|
||||
create table t1 (a int)|
|
||||
CREATE PROCEDURE bug13012_1() REPAIR TABLE t1|
|
||||
CREATE FUNCTION bug13012_2() RETURNS INT
|
||||
|
@ -1639,11 +1623,9 @@ DROP TABLE t1|
|
|||
drop procedure if exists p1;
|
||||
create procedure p1()
|
||||
begin
|
||||
create table t1 (a int) type=MyISAM;
|
||||
create table t1 (a int) engine=MyISAM;
|
||||
drop table t1;
|
||||
end|
|
||||
Warnings:
|
||||
Warning 1287 The syntax 'TYPE=storage_engine' is deprecated and will be removed in MySQL 6.0. Please use 'ENGINE=storage_engine' instead
|
||||
call p1();
|
||||
call p1();
|
||||
drop procedure p1;
|
||||
|
|
|
@ -4303,19 +4303,10 @@ drop procedure if exists bug13012|
|
|||
create procedure bug13012()
|
||||
BEGIN
|
||||
REPAIR TABLE t1;
|
||||
BACKUP TABLE t1 to '<MYSQLTEST_VARDIR>/tmp/';
|
||||
DROP TABLE t1;
|
||||
RESTORE TABLE t1 FROM '<MYSQLTEST_VARDIR>/tmp/';
|
||||
END|
|
||||
call bug13012()|
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 repair status OK
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 backup Warning The syntax 'BACKUP TABLE' is deprecated and will be removed in MySQL 6.0. Please use MySQL Administrator (mysqldump, mysql) instead
|
||||
test.t1 backup status OK
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 restore Warning The syntax 'RESTORE TABLE' is deprecated and will be removed in MySQL 6.0. Please use MySQL Administrator (mysqldump, mysql) instead
|
||||
test.t1 restore status OK
|
||||
drop procedure bug13012|
|
||||
create view v1 as select * from t1|
|
||||
create procedure bug13012()
|
||||
|
|
|
@ -533,9 +533,7 @@ set @@session.max_heap_table_size=default|
|
|||
CREATE DATABASE db_bug7787|
|
||||
use db_bug7787|
|
||||
CREATE PROCEDURE p1()
|
||||
SHOW INNODB STATUS; |
|
||||
Warnings:
|
||||
Warning 1287 The syntax 'SHOW INNODB STATUS' is deprecated and will be removed in MySQL 6.0. Please use 'SHOW ENGINE INNODB STATUS' instead
|
||||
SHOW ENGINE INNODB STATUS; |
|
||||
GRANT EXECUTE ON PROCEDURE p1 TO user_bug7787@localhost|
|
||||
DROP DATABASE db_bug7787|
|
||||
drop user user_bug7787@localhost|
|
||||
|
|
|
@ -889,28 +889,12 @@ CREATE TABLE b15776 (a year(0));
|
|||
DROP TABLE b15776;
|
||||
CREATE TABLE b15776 (a year(-2));
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-2))' at line 1
|
||||
CREATE TABLE b15776 (a timestamp(4294967294));
|
||||
Warnings:
|
||||
Warning 1287 The syntax 'TIMESTAMP(4294967294)' is deprecated and will be removed in MySQL 6.0. Please use 'TIMESTAMP' instead
|
||||
DROP TABLE b15776;
|
||||
CREATE TABLE b15776 (a timestamp(4294967295));
|
||||
Warnings:
|
||||
Warning 1287 The syntax 'TIMESTAMP(4294967295)' is deprecated and will be removed in MySQL 6.0. Please use 'TIMESTAMP' instead
|
||||
DROP TABLE b15776;
|
||||
CREATE TABLE b15776 (a timestamp(4294967296));
|
||||
ERROR 42000: Display width out of range for column 'a' (max = 4294967295)
|
||||
CREATE TABLE b15776 (a timestamp(-1));
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-1))' at line 1
|
||||
CREATE TABLE b15776 (a timestamp(-2));
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-2))' at line 1
|
||||
CREATE TABLE b15776 (a int(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999));
|
||||
ERROR 42000: Display width out of range for column 'a' (max = 4294967295)
|
||||
CREATE TABLE b15776 (a char(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999));
|
||||
ERROR 42000: Display width out of range for column 'a' (max = 4294967295)
|
||||
CREATE TABLE b15776 (a year(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999));
|
||||
ERROR 42000: Display width out of range for column 'a' (max = 4294967295)
|
||||
CREATE TABLE b15776 (a timestamp(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999));
|
||||
ERROR 42000: Display width out of range for column 'a' (max = 4294967295)
|
||||
CREATE TABLE b15776 select cast(null as char(4294967295));
|
||||
show columns from b15776;
|
||||
Field Type Null Key Default Extra
|
||||
|
|
|
@ -97,30 +97,6 @@ date date_time time_stamp
|
|||
2005-01-01 2005-01-01 00:00:00 2005-01-01 00:00:00
|
||||
2030-01-01 2030-01-01 00:00:00 2030-01-01 00:00:00
|
||||
drop table t1;
|
||||
create table t1 (t2 timestamp(2), t4 timestamp(4), t6 timestamp(6),
|
||||
t8 timestamp(8), t10 timestamp(10), t12 timestamp(12),
|
||||
t14 timestamp(14));
|
||||
Warnings:
|
||||
Warning 1287 The syntax 'TIMESTAMP(2)' is deprecated and will be removed in MySQL 6.0. Please use 'TIMESTAMP' instead
|
||||
Warning 1287 The syntax 'TIMESTAMP(4)' is deprecated and will be removed in MySQL 6.0. Please use 'TIMESTAMP' instead
|
||||
Warning 1287 The syntax 'TIMESTAMP(6)' is deprecated and will be removed in MySQL 6.0. Please use 'TIMESTAMP' instead
|
||||
Warning 1287 The syntax 'TIMESTAMP(8)' is deprecated and will be removed in MySQL 6.0. Please use 'TIMESTAMP' instead
|
||||
Warning 1287 The syntax 'TIMESTAMP(10)' is deprecated and will be removed in MySQL 6.0. Please use 'TIMESTAMP' instead
|
||||
Warning 1287 The syntax 'TIMESTAMP(12)' is deprecated and will be removed in MySQL 6.0. Please use 'TIMESTAMP' instead
|
||||
Warning 1287 The syntax 'TIMESTAMP(14)' is deprecated and will be removed in MySQL 6.0. Please use 'TIMESTAMP' instead
|
||||
insert t1 values (0,0,0,0,0,0,0),
|
||||
("1997-12-31 23:47:59", "1997-12-31 23:47:59", "1997-12-31 23:47:59",
|
||||
"1997-12-31 23:47:59", "1997-12-31 23:47:59", "1997-12-31 23:47:59",
|
||||
"1997-12-31 23:47:59");
|
||||
select * from t1;
|
||||
t2 t4 t6 t8 t10 t12 t14
|
||||
0000-00-00 00:00:00 0000-00-00 00:00:00 0000-00-00 00:00:00 0000-00-00 00:00:00 0000-00-00 00:00:00 0000-00-00 00:00:00 0000-00-00 00:00:00
|
||||
1997-12-31 23:47:59 1997-12-31 23:47:59 1997-12-31 23:47:59 1997-12-31 23:47:59 1997-12-31 23:47:59 1997-12-31 23:47:59 1997-12-31 23:47:59
|
||||
select * from t1;
|
||||
t2 t4 t6 t8 t10 t12 t14
|
||||
0000-00-00 00:00:00 0000-00-00 00:00:00 0000-00-00 00:00:00 0000-00-00 00:00:00 0000-00-00 00:00:00 0000-00-00 00:00:00 0000-00-00 00:00:00
|
||||
1997-12-31 23:47:59 1997-12-31 23:47:59 1997-12-31 23:47:59 1997-12-31 23:47:59 1997-12-31 23:47:59 1997-12-31 23:47:59 1997-12-31 23:47:59
|
||||
drop table t1;
|
||||
create table t1 (ix timestamp);
|
||||
insert into t1 values (0),(20030101010160),(20030101016001),(20030101240101),(20030132010101),(20031301010101),(20031200000000),(20030000000000);
|
||||
Warnings:
|
||||
|
@ -436,7 +412,7 @@ max(t)
|
|||
2004-02-01 00:00:00
|
||||
drop table t1;
|
||||
set sql_mode='maxdb';
|
||||
create table t1 (a timestamp, b timestamp(19));
|
||||
create table t1 (a timestamp, b timestamp);
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE "t1" (
|
||||
|
|
|
@ -166,9 +166,6 @@ show variables like 'max_error_count';
|
|||
Variable_name Value
|
||||
max_error_count 10
|
||||
drop table t1;
|
||||
set table_type=MYISAM;
|
||||
Warnings:
|
||||
Warning 1287 The syntax '@@table_type' is deprecated and will be removed in MySQL 6.0. Please use '@@storage_engine' instead
|
||||
create table t1 (a int);
|
||||
insert into t1 (a) values (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
|
||||
update t1 set a='abc';
|
||||
|
|
8
mysql-test/suite/binlog/r/binlog_max_extension.result
Normal file
8
mysql-test/suite/binlog/r/binlog_max_extension.result
Normal file
|
@ -0,0 +1,8 @@
|
|||
call mtr.add_suppression("Next log extension: 2147483647. Remaining log filename extensions: 0.");
|
||||
call mtr.add_suppression("Log filename extension number exhausted:");
|
||||
call mtr.add_suppression("Can't generate a unique log-filename");
|
||||
RESET MASTER;
|
||||
FLUSH LOGS;
|
||||
Warnings:
|
||||
Warning 1098 Can't generate a unique log-filename master-bin.(1-999)
|
||||
|
|
@ -456,7 +456,11 @@ return n;
|
|||
end|
|
||||
reset master;
|
||||
insert into t2 values (bug27417(1));
|
||||
Warnings:
|
||||
Note 1592 Statement may not be safe to log in statement format.
|
||||
insert into t2 select bug27417(2);
|
||||
Warnings:
|
||||
Note 1592 Statement may not be safe to log in statement format.
|
||||
reset master;
|
||||
insert into t2 values (bug27417(2));
|
||||
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
|
||||
|
@ -473,6 +477,8 @@ select count(*) from t2;
|
|||
count(*)
|
||||
2
|
||||
delete from t2 where a=bug27417(3);
|
||||
Warnings:
|
||||
Note 1592 Statement may not be safe to log in statement format.
|
||||
select count(*) from t2 /* nothing got deleted */;
|
||||
count(*)
|
||||
2
|
||||
|
@ -486,6 +492,8 @@ count(*)
|
|||
5
|
||||
delete t2 from t2 where t2.a=bug27417(100) /* must not affect t2 */;
|
||||
affected rows: 0
|
||||
Warnings:
|
||||
Note 1592 Statement may not be safe to log in statement format.
|
||||
select count(*) from t1 /* must be 7 */;
|
||||
count(*)
|
||||
7
|
||||
|
@ -700,7 +708,11 @@ return n;
|
|||
end|
|
||||
reset master;
|
||||
insert into t2 values (bug27417(1));
|
||||
Warnings:
|
||||
Note 1592 Statement may not be safe to log in statement format.
|
||||
insert into t2 select bug27417(2);
|
||||
Warnings:
|
||||
Note 1592 Statement may not be safe to log in statement format.
|
||||
reset master;
|
||||
insert into t2 values (bug27417(2));
|
||||
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
|
||||
|
@ -716,6 +728,8 @@ select count(*) from t2;
|
|||
count(*)
|
||||
2
|
||||
delete from t2 where a=bug27417(3);
|
||||
Warnings:
|
||||
Note 1592 Statement may not be safe to log in statement format.
|
||||
select count(*) from t2 /* nothing got deleted */;
|
||||
count(*)
|
||||
2
|
||||
|
@ -728,6 +742,8 @@ count(*)
|
|||
5
|
||||
delete t2 from t2 where t2.a=bug27417(100) /* must not affect t2 */;
|
||||
affected rows: 0
|
||||
Warnings:
|
||||
Note 1592 Statement may not be safe to log in statement format.
|
||||
select count(*) from t1 /* must be 7 */;
|
||||
count(*)
|
||||
7
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
RESET MASTER;
|
||||
create table foo (a int);
|
||||
flush logs;
|
||||
create temporary table tmp1_foo like foo;
|
||||
|
|
|
@ -300,4 +300,59 @@ Warnings:
|
|||
Note 1592 Statement may not be safe to log in statement format.
|
||||
DROP TABLE t1, t2;
|
||||
SET @@SESSION.SQL_MODE = @save_sql_mode;
|
||||
CREATE TABLE t1 (a INT, b INT PRIMARY KEY AUTO_INCREMENT);
|
||||
CREATE TABLE t2 (a INT, b INT PRIMARY KEY AUTO_INCREMENT);
|
||||
CREATE FUNCTION func_modify_t1 ()
|
||||
RETURNS INT
|
||||
BEGIN
|
||||
INSERT INTO t1 SET a = 1;
|
||||
RETURN 0;
|
||||
END|
|
||||
# The following statement causes auto-incrementation
|
||||
# of both t1 and t2. It is logged in statement format,
|
||||
# so it should produce unsafe warning.
|
||||
INSERT INTO t2 SET a = func_modify_t1();
|
||||
Warnings:
|
||||
Note 1592 Statement may not be safe to log in statement format.
|
||||
SET SESSION binlog_format = MIXED;
|
||||
# Check if the statement is logged in row format.
|
||||
INSERT INTO t2 SET a = func_modify_t1();
|
||||
SHOW BINLOG EVENTS FROM 12283;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 12283 Query 1 12351 BEGIN
|
||||
master-bin.000001 12351 Table_map 1 12393 table_id: 44 (test.t2)
|
||||
master-bin.000001 12393 Table_map 1 12435 table_id: 45 (test.t1)
|
||||
master-bin.000001 12435 Write_rows 1 12473 table_id: 45
|
||||
master-bin.000001 12473 Write_rows 1 12511 table_id: 44 flags: STMT_END_F
|
||||
master-bin.000001 12511 Query 1 12580 COMMIT
|
||||
DROP TABLE t1,t2;
|
||||
DROP FUNCTION func_modify_t1;
|
||||
SET SESSION binlog_format = STATEMENT;
|
||||
CREATE TABLE t1 (a INT);
|
||||
CREATE TABLE t2 (a INT, b INT PRIMARY KEY AUTO_INCREMENT);
|
||||
CREATE TABLE t3 (a INT, b INT PRIMARY KEY AUTO_INCREMENT);
|
||||
create trigger tri_modify_two_tables before insert on t1 for each row begin
|
||||
insert into t2(a) values(new.a);
|
||||
insert into t3(a) values(new.a);
|
||||
end |
|
||||
# The following statement causes auto-incrementation
|
||||
# of both t2 and t3. It is logged in statement format,
|
||||
# so it should produce unsafe warning
|
||||
INSERT INTO t1 SET a = 1;
|
||||
Warnings:
|
||||
Note 1592 Statement may not be safe to log in statement format.
|
||||
SET SESSION binlog_format = MIXED;
|
||||
# Check if the statement is logged in row format.
|
||||
INSERT INTO t1 SET a = 2;
|
||||
SHOW BINLOG EVENTS FROM 13426;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 13426 Query 1 13494 BEGIN
|
||||
master-bin.000001 13494 Table_map 1 13535 table_id: 47 (test.t1)
|
||||
master-bin.000001 13535 Table_map 1 13577 table_id: 48 (test.t3)
|
||||
master-bin.000001 13577 Table_map 1 13619 table_id: 49 (test.t2)
|
||||
master-bin.000001 13619 Write_rows 1 13657 table_id: 49
|
||||
master-bin.000001 13657 Write_rows 1 13695 table_id: 48
|
||||
master-bin.000001 13695 Write_rows 1 13729 table_id: 47 flags: STMT_END_F
|
||||
master-bin.000001 13729 Query 1 13798 COMMIT
|
||||
DROP TABLE t1,t2,t3;
|
||||
"End of tests"
|
||||
|
|
92
mysql-test/suite/binlog/t/binlog_max_extension.test
Normal file
92
mysql-test/suite/binlog/t/binlog_max_extension.test
Normal file
|
@ -0,0 +1,92 @@
|
|||
# BUG#40611: MySQL cannot make a binary log after sequential number beyond
|
||||
# unsigned long.
|
||||
#
|
||||
# Problem statement
|
||||
# =================
|
||||
#
|
||||
# Extension for log file names might be created with negative
|
||||
# numbers (when counter used would wrap around), causing server
|
||||
# failure when incrementing -00001 (reaching number 000000
|
||||
# extension).
|
||||
#
|
||||
# Test
|
||||
# ====
|
||||
# This tests aims at testing the a patch that removes negatives
|
||||
# numbers from log name extensions and checks that the server
|
||||
# reports gracefully that the limit has been reached.
|
||||
#
|
||||
# It instruments index file to point to a log file close to
|
||||
# the new maximum and calls flush logs to get warning.
|
||||
#
|
||||
|
||||
call mtr.add_suppression("Next log extension: 2147483647. Remaining log filename extensions: 0.");
|
||||
call mtr.add_suppression("Log filename extension number exhausted:");
|
||||
call mtr.add_suppression("Can't generate a unique log-filename");
|
||||
|
||||
|
||||
-- source include/have_log_bin.inc
|
||||
RESET MASTER;
|
||||
|
||||
-- let $MYSQLD_DATADIR= `select @@datadir`
|
||||
|
||||
###############################################
|
||||
# check hitting maximum file name extension:
|
||||
###############################################
|
||||
|
||||
##########
|
||||
# Prepare
|
||||
##########
|
||||
|
||||
# 1. Stop master server
|
||||
-- write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
wait
|
||||
EOF
|
||||
-- shutdown_server 10
|
||||
-- source include/wait_until_disconnected.inc
|
||||
|
||||
# 2. Prepare log and index file
|
||||
-- copy_file $MYSQLD_DATADIR/master-bin.index $MYSQLD_DATADIR/master-bin.index.orig
|
||||
-- copy_file $MYSQLD_DATADIR/master-bin.000001 $MYSQLD_DATADIR/master-bin.2147483646
|
||||
-- append_file $MYSQLD_DATADIR/master-bin.index
|
||||
master-bin.2147483646
|
||||
EOF
|
||||
|
||||
# 3. Restart the server
|
||||
-- append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
restart
|
||||
EOF
|
||||
-- enable_reconnect
|
||||
-- source include/wait_until_connected_again.inc
|
||||
|
||||
###########
|
||||
# Assertion
|
||||
###########
|
||||
|
||||
# assertion: should throw warning
|
||||
FLUSH LOGS;
|
||||
|
||||
##############
|
||||
# Clean up
|
||||
##############
|
||||
|
||||
# 1. Stop the server
|
||||
-- write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
wait
|
||||
EOF
|
||||
-- shutdown_server 10
|
||||
-- source include/wait_until_disconnected.inc
|
||||
|
||||
# 2. Undo changes to index and log files
|
||||
-- remove_file $MYSQLD_DATADIR/master-bin.index
|
||||
-- copy_file $MYSQLD_DATADIR/master-bin.index.orig $MYSQLD_DATADIR/master-bin.index
|
||||
-- remove_file $MYSQLD_DATADIR/master-bin.index.orig
|
||||
|
||||
-- remove_file $MYSQLD_DATADIR/master-bin.2147483646
|
||||
-- remove_file $MYSQLD_DATADIR/master-bin.2147483647
|
||||
|
||||
# 3. Restart the server
|
||||
-- append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
restart
|
||||
EOF
|
||||
-- enable_reconnect
|
||||
-- source include/wait_until_connected_again.inc
|
|
@ -30,7 +30,6 @@ source include/have_binlog_format_mixed_or_statement.inc;
|
|||
|
||||
connect (master,127.0.0.1,root,,test,$MASTER_MYPORT,);
|
||||
connect (master1,127.0.0.1,root,,test,$MASTER_MYPORT,);
|
||||
RESET MASTER;
|
||||
|
||||
create table foo (a int);
|
||||
|
||||
|
|
|
@ -388,4 +388,72 @@ DELETE FROM t1 LIMIT 1;
|
|||
|
||||
DROP TABLE t1, t2;
|
||||
SET @@SESSION.SQL_MODE = @save_sql_mode;
|
||||
|
||||
#
|
||||
# BUG#45827
|
||||
# The test verifies if stmt that have more than one
|
||||
# different tables to update with autoinc columns
|
||||
# will produce unsafe warning
|
||||
#
|
||||
|
||||
# Test case1: stmt that have more than one different tables
|
||||
# to update with autoinc columns should produce
|
||||
# unsafe warning when calling a function
|
||||
CREATE TABLE t1 (a INT, b INT PRIMARY KEY AUTO_INCREMENT);
|
||||
CREATE TABLE t2 (a INT, b INT PRIMARY KEY AUTO_INCREMENT);
|
||||
|
||||
# The purpose of this function is to insert into t1 so that the second
|
||||
# column is auto_increment'ed.
|
||||
DELIMITER |;
|
||||
CREATE FUNCTION func_modify_t1 ()
|
||||
RETURNS INT
|
||||
BEGIN
|
||||
INSERT INTO t1 SET a = 1;
|
||||
RETURN 0;
|
||||
END|
|
||||
DELIMITER ;|
|
||||
--echo # The following statement causes auto-incrementation
|
||||
--echo # of both t1 and t2. It is logged in statement format,
|
||||
--echo # so it should produce unsafe warning.
|
||||
INSERT INTO t2 SET a = func_modify_t1();
|
||||
|
||||
SET SESSION binlog_format = MIXED;
|
||||
--echo # Check if the statement is logged in row format.
|
||||
let $pos0_master= query_get_value(SHOW MASTER STATUS, Position, 1);
|
||||
INSERT INTO t2 SET a = func_modify_t1();
|
||||
eval SHOW BINLOG EVENTS FROM $pos0_master;
|
||||
|
||||
# clean up
|
||||
DROP TABLE t1,t2;
|
||||
DROP FUNCTION func_modify_t1;
|
||||
|
||||
# Test case2: stmt that have more than one different tables
|
||||
# to update with autoinc columns should produce
|
||||
# unsafe warning when invoking a trigger
|
||||
SET SESSION binlog_format = STATEMENT;
|
||||
CREATE TABLE t1 (a INT);
|
||||
CREATE TABLE t2 (a INT, b INT PRIMARY KEY AUTO_INCREMENT);
|
||||
CREATE TABLE t3 (a INT, b INT PRIMARY KEY AUTO_INCREMENT);
|
||||
# The purpose of this function is to insert into t1 so that the second
|
||||
# column is auto_increment'ed.
|
||||
delimiter |;
|
||||
create trigger tri_modify_two_tables before insert on t1 for each row begin
|
||||
insert into t2(a) values(new.a);
|
||||
insert into t3(a) values(new.a);
|
||||
end |
|
||||
delimiter ;|
|
||||
--echo # The following statement causes auto-incrementation
|
||||
--echo # of both t2 and t3. It is logged in statement format,
|
||||
--echo # so it should produce unsafe warning
|
||||
INSERT INTO t1 SET a = 1;
|
||||
|
||||
SET SESSION binlog_format = MIXED;
|
||||
--echo # Check if the statement is logged in row format.
|
||||
let $pos1_master= query_get_value(SHOW MASTER STATUS, Position, 1);
|
||||
INSERT INTO t1 SET a = 2;
|
||||
eval SHOW BINLOG EVENTS FROM $pos1_master;
|
||||
|
||||
# clean up
|
||||
DROP TABLE t1,t2,t3;
|
||||
|
||||
--echo "End of tests"
|
||||
|
|
|
@ -3,13 +3,6 @@
|
|||
!include rpl_1slave_base.cnf
|
||||
!include include/default_client.cnf
|
||||
|
||||
[mysqld.2]
|
||||
# Hardcode the host to 127.0.0.1 until running on more
|
||||
# than one host and it need to be masked
|
||||
# master-host= @mysqld.1.#host
|
||||
master-host= 127.0.0.1
|
||||
master-port= @mysqld.1.port
|
||||
master-password= @mysqld.1.#password
|
||||
master-user= @mysqld.1.#user
|
||||
master-connect-retry= 1
|
||||
|
||||
[mysqld.2]
|
||||
|
||||
|
|
|
@ -1,10 +1,7 @@
|
|||
stop slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
reset master;
|
||||
reset slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
start slave;
|
||||
stop slave;
|
||||
grant replication slave on *.* to replicate@localhost identified by 'aaaaaaaaaaaaaaab';
|
||||
grant replication slave on *.* to replicate@127.0.0.1 identified by 'aaaaaaaaaaaaaaab';
|
||||
start slave;
|
||||
|
|
|
@ -4,50 +4,8 @@ File Position Binlog_Do_DB Binlog_Ignore_DB
|
|||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
reset slave;
|
||||
SHOW SLAVE STATUS;
|
||||
change master to master_host='127.0.0.1';
|
||||
SHOW SLAVE STATUS;
|
||||
Slave_IO_State #
|
||||
Master_Host 127.0.0.1
|
||||
Master_User test
|
||||
Master_Port 3306
|
||||
Connect_Retry 7
|
||||
Master_Log_File
|
||||
Read_Master_Log_Pos #
|
||||
Relay_Log_File #
|
||||
Relay_Log_Pos #
|
||||
Relay_Master_Log_File
|
||||
Slave_IO_Running No
|
||||
Slave_SQL_Running No
|
||||
Replicate_Do_DB
|
||||
Replicate_Ignore_DB
|
||||
Replicate_Do_Table
|
||||
Replicate_Ignore_Table #
|
||||
Replicate_Wild_Do_Table
|
||||
Replicate_Wild_Ignore_Table
|
||||
Last_Errno 0
|
||||
Last_Error
|
||||
Skip_Counter 0
|
||||
Exec_Master_Log_Pos #
|
||||
Relay_Log_Space #
|
||||
Until_Condition None
|
||||
Until_Log_File
|
||||
Until_Log_Pos 0
|
||||
Master_SSL_Allowed No
|
||||
Master_SSL_CA_File
|
||||
Master_SSL_CA_Path
|
||||
Master_SSL_Cert
|
||||
Master_SSL_Cipher
|
||||
Master_SSL_Key
|
||||
Seconds_Behind_Master #
|
||||
Master_SSL_Verify_Server_Cert No
|
||||
Last_IO_Errno #
|
||||
Last_IO_Error #
|
||||
Last_SQL_Errno 0
|
||||
Last_SQL_Error
|
||||
Replicate_Ignore_Server_Ids
|
||||
Master_Server_Id 0
|
||||
change master to master_host='127.0.0.1',master_user='root',
|
||||
master_password='',master_port=MASTER_PORT;
|
||||
master_password='',master_port=MASTER_PORT, MASTER_CONNECT_RETRY=7;
|
||||
SHOW SLAVE STATUS;
|
||||
Slave_IO_State #
|
||||
Master_Host 127.0.0.1
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
reset master;
|
||||
call mtr.add_suppression("Failed during slave I/O thread initialization");
|
||||
stop slave;
|
||||
reset slave;
|
||||
call mtr.add_suppression("Failed during slave I/O thread initialization");
|
||||
SET GLOBAL debug="d,simulate_io_slave_error_on_init,simulate_sql_slave_error_on_init";
|
||||
start slave;
|
||||
show slave status;
|
||||
|
|
34
mysql-test/suite/rpl/r/rpl_bug41902.result
Normal file
34
mysql-test/suite/rpl/r/rpl_bug41902.result
Normal file
|
@ -0,0 +1,34 @@
|
|||
stop slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
reset master;
|
||||
reset slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
start slave;
|
||||
stop slave;
|
||||
SET @@debug="d,simulate_find_log_pos_error";
|
||||
reset slave;
|
||||
ERROR HY000: Target log not found in binlog index
|
||||
show warnings;
|
||||
Level Code Message
|
||||
Error 1373 Target log not found in binlog index
|
||||
Error 1371 Failed purging old relay logs: Failed during log reset
|
||||
SET @@debug="";
|
||||
reset slave;
|
||||
change master to master_host='dummy';
|
||||
SET @@debug="d,simulate_find_log_pos_error";
|
||||
change master to master_host='dummy';
|
||||
ERROR HY000: Target log not found in binlog index
|
||||
SET @@debug="";
|
||||
reset slave;
|
||||
change master to master_host='dummy';
|
||||
SET @@debug="d,simulate_find_log_pos_error";
|
||||
reset master;
|
||||
ERROR HY000: Target log not found in binlog index
|
||||
SET @@debug="";
|
||||
reset master;
|
||||
SET @@debug="d,simulate_find_log_pos_error";
|
||||
purge binary logs to 'master-bin.000001';
|
||||
ERROR HY000: Target log not found in binlog index
|
||||
SET @@debug="";
|
||||
purge binary logs to 'master-bin.000001';
|
||||
End of the tests
|
|
@ -1,11 +0,0 @@
|
|||
stop slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
reset master;
|
||||
reset slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
start slave;
|
||||
SHOW SLAVE STATUS;
|
||||
load table t1 from master;
|
||||
ERROR 08S01: Error connecting to master: Master is not configured
|
||||
load table t1 from master;
|
||||
ERROR HY000: Error from master: 'Table 'test.t1' doesn't exist'
|
|
@ -4,9 +4,10 @@ reset master;
|
|||
reset slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
start slave;
|
||||
call mtr.add_suppression("Slave I/O: .* failed with error: Lost connection to MySQL server at 'reading initial communication packet'");
|
||||
call mtr.add_suppression("Slave I/O: Master command COM_REGISTER_SLAVE failed: failed registering on master, reconnecting to try again");
|
||||
call mtr.add_suppression("Get master clock failed with error: ");
|
||||
call mtr.add_suppression("Get master SERVER_ID failed with error: ");
|
||||
call mtr.add_suppression("Slave I/O: Master command COM_REGISTER_SLAVE failed: failed registering on master, reconnecting to try again");
|
||||
call mtr.add_suppression("Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids; .*");
|
||||
SELECT IS_FREE_LOCK("debug_lock.before_get_UNIX_TIMESTAMP");
|
||||
IS_FREE_LOCK("debug_lock.before_get_UNIX_TIMESTAMP")
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
reset master;
|
||||
set @restore_slave_net_timeout= @@global.slave_net_timeout;
|
||||
set @@global.slave_net_timeout= 10;
|
||||
Warnings:
|
||||
Warning 1624 The currect value for master_heartbeat_period exceeds the new value of `slave_net_timeout' sec. A sensible value for the period should be less than the timeout.
|
||||
change master to master_host='127.0.0.1',master_port=MASTER_PORT, master_user='root';
|
||||
show status like 'Slave_heartbeat_period';;
|
||||
Variable_name Slave_heartbeat_period
|
||||
|
@ -59,7 +57,7 @@ Slave_IO_State #
|
|||
Master_Host 127.0.0.1
|
||||
Master_User root
|
||||
Master_Port MASTER_PORT
|
||||
Connect_Retry 1
|
||||
Connect_Retry 60
|
||||
Master_Log_File master-bin.000001
|
||||
Read_Master_Log_Pos 280
|
||||
Relay_Log_File #
|
||||
|
@ -100,7 +98,7 @@ Slave_IO_State #
|
|||
Master_Host 127.0.0.1
|
||||
Master_User root
|
||||
Master_Port MASTER_PORT
|
||||
Connect_Retry 1
|
||||
Connect_Retry 60
|
||||
Master_Log_File master-bin.000001
|
||||
Read_Master_Log_Pos 280
|
||||
Relay_Log_File #
|
||||
|
|
164
mysql-test/suite/rpl/r/rpl_ip_mix.result
Normal file
164
mysql-test/suite/rpl/r/rpl_ip_mix.result
Normal file
|
@ -0,0 +1,164 @@
|
|||
#################### IP: ::1 ###########################
|
||||
connect (master,::1,root,,test,MASTER_MYPORT);
|
||||
connect (slave,127.0.0.1,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
Master-Host: No such row
|
||||
change master to master_host='::1';
|
||||
Master-Host: ::1
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
||||
#################### IP: 0000:0000:0000:0000:0000:0000:0000:0001 ###########################
|
||||
connect (master,0000:0000:0000:0000:0000:0000:0000:0001,root,,test,MASTER_MYPORT);
|
||||
connect (slave,127.0.0.1,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
Master-Host: ::1
|
||||
change master to master_host='0000:0000:0000:0000:0000:0000:0000:0001';
|
||||
Master-Host: 0000:0000:0000:0000:0000:0000:0000:0001
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
||||
#################### IP: 0:0:0:0:0:0:0:1 ###########################
|
||||
connect (master,0:0:0:0:0:0:0:1,root,,test,MASTER_MYPORT);
|
||||
connect (slave,127.0.0.1,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
Master-Host: 0000:0000:0000:0000:0000:0000:0000:0001
|
||||
change master to master_host='0:0:0:0:0:0:0:1';
|
||||
Master-Host: 0:0:0:0:0:0:0:1
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
||||
#################### IP: 127.0.0.1 ###########################
|
||||
connect (master,127.0.0.1,root,,test,MASTER_MYPORT);
|
||||
connect (slave,127.0.0.1,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
Master-Host: 0:0:0:0:0:0:0:1
|
||||
change master to master_host='127.0.0.1';
|
||||
Master-Host: 127.0.0.1
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
||||
#################### IP: 0:0:0:0:0:FFFF:127.0.0.1 ###########################
|
||||
connect (master,0:0:0:0:0:FFFF:127.0.0.1,root,,test,MASTER_MYPORT);
|
||||
connect (slave,127.0.0.1,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
Master-Host: 127.0.0.1
|
||||
change master to master_host='0:0:0:0:0:FFFF:127.0.0.1';
|
||||
Master-Host: 0:0:0:0:0:FFFF:127.0.0.1
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
||||
#################### IP: 0000:0000:0000:0000:0000:FFFF:127.0.0.1 ###########################
|
||||
connect (master,0000:0000:0000:0000:0000:FFFF:127.0.0.1,root,,test,MASTER_MYPORT);
|
||||
connect (slave,127.0.0.1,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
Master-Host: 0:0:0:0:0:FFFF:127.0.0.1
|
||||
change master to master_host='0000:0000:0000:0000:0000:FFFF:127.0.0.1';
|
||||
Master-Host: 0000:0000:0000:0000:0000:FFFF:127.0.0.1
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
||||
#################### IP: 0:0000:0000:0:0000:FFFF:127.0.0.1 ###########################
|
||||
connect (master,0:0000:0000:0:0000:FFFF:127.0.0.1,root,,test,MASTER_MYPORT);
|
||||
connect (slave,127.0.0.1,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
Master-Host: 0000:0000:0000:0000:0000:FFFF:127.0.0.1
|
||||
change master to master_host='0:0000:0000:0:0000:FFFF:127.0.0.1';
|
||||
Master-Host: 0:0000:0000:0:0000:FFFF:127.0.0.1
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
||||
#################### IP: 0::0000:FFFF:127.0.0.1 ###########################
|
||||
connect (master,0::0000:FFFF:127.0.0.1,root,,test,MASTER_MYPORT);
|
||||
connect (slave,127.0.0.1,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
Master-Host: 0:0000:0000:0:0000:FFFF:127.0.0.1
|
||||
change master to master_host='0::0000:FFFF:127.0.0.1';
|
||||
Master-Host: 0::0000:FFFF:127.0.0.1
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
||||
#################### IP: ::FFFF:127.0.0.1 ###########################
|
||||
connect (master,::FFFF:127.0.0.1,root,,test,MASTER_MYPORT);
|
||||
connect (slave,127.0.0.1,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
Master-Host: 0::0000:FFFF:127.0.0.1
|
||||
change master to master_host='::FFFF:127.0.0.1';
|
||||
Master-Host: ::FFFF:127.0.0.1
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
||||
#################### IP: ::1 mix #######################
|
||||
connect (master,::1,root,,test,MASTER_MYPORT);
|
||||
connect (slave,127.0.0.1,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
Master-Host: ::FFFF:127.0.0.1
|
||||
change master to master_host='::1';
|
||||
Master-Host: ::1
|
||||
change master to master_host='::FFFF:127.0.0.1';
|
||||
Master-Host: ::FFFF:127.0.0.1
|
||||
change master to master_host='0:0:0:0:0:0:0:1';
|
||||
Master-Host: 0:0:0:0:0:0:0:1
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
180
mysql-test/suite/rpl/r/rpl_ip_mix2.result
Normal file
180
mysql-test/suite/rpl/r/rpl_ip_mix2.result
Normal file
|
@ -0,0 +1,180 @@
|
|||
#################### IP: ::1 ###########################
|
||||
connect (master,127.0.0.1,root,,test,MASTER_MYPORT);
|
||||
connect (slave,::1,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
Master-Host: No such row
|
||||
change master to master_host='::1';
|
||||
Master-Host: ::1
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
||||
#################### IP: ::1 ###########################
|
||||
connect (master,127.0.0.1,root,,test,MASTER_MYPORT);
|
||||
connect (slave,::1,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
Master-Host: ::1
|
||||
change master to master_host='::1';
|
||||
Master-Host: ::1
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
||||
#################### IP: 0000:0000:0000:0000:0000:0000:0000:0001 ###########################
|
||||
connect (master,127.0.0.1,root,,test,MASTER_MYPORT);
|
||||
connect (slave,0000:0000:0000:0000:0000:0000:0000:0001,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
Master-Host: ::1
|
||||
change master to master_host='0000:0000:0000:0000:0000:0000:0000:0001';
|
||||
Master-Host: 0000:0000:0000:0000:0000:0000:0000:0001
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
||||
#################### IP: 0:0:0:0:0:0:0:1 ###########################
|
||||
connect (master,127.0.0.1,root,,test,MASTER_MYPORT);
|
||||
connect (slave,0:0:0:0:0:0:0:1,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
Master-Host: 0000:0000:0000:0000:0000:0000:0000:0001
|
||||
change master to master_host='0:0:0:0:0:0:0:1';
|
||||
Master-Host: 0:0:0:0:0:0:0:1
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
||||
#################### IP: 127.0.0.1 ###########################
|
||||
connect (master,127.0.0.1,root,,test,MASTER_MYPORT);
|
||||
connect (slave,127.0.0.1,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
Master-Host: 0:0:0:0:0:0:0:1
|
||||
change master to master_host='127.0.0.1';
|
||||
Master-Host: 127.0.0.1
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
||||
#################### IP: 0:0:0:0:0:FFFF:127.0.0.1 ###########################
|
||||
connect (master,127.0.0.1,root,,test,MASTER_MYPORT);
|
||||
connect (slave,0:0:0:0:0:FFFF:127.0.0.1,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
Master-Host: 127.0.0.1
|
||||
change master to master_host='0:0:0:0:0:FFFF:127.0.0.1';
|
||||
Master-Host: 0:0:0:0:0:FFFF:127.0.0.1
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
||||
#################### IP: 0000:0000:0000:0000:0000:FFFF:127.0.0.1 ###########################
|
||||
connect (master,127.0.0.1,root,,test,MASTER_MYPORT);
|
||||
connect (slave,0000:0000:0000:0000:0000:FFFF:127.0.0.1,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
Master-Host: 0:0:0:0:0:FFFF:127.0.0.1
|
||||
change master to master_host='0000:0000:0000:0000:0000:FFFF:127.0.0.1';
|
||||
Master-Host: 0000:0000:0000:0000:0000:FFFF:127.0.0.1
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
||||
#################### IP: 0:0000:0000:0:0000:FFFF:127.0.0.1 ###########################
|
||||
connect (master,127.0.0.1,root,,test,MASTER_MYPORT);
|
||||
connect (slave,0:0000:0000:0:0000:FFFF:127.0.0.1,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
Master-Host: 0000:0000:0000:0000:0000:FFFF:127.0.0.1
|
||||
change master to master_host='0:0000:0000:0:0000:FFFF:127.0.0.1';
|
||||
Master-Host: 0:0000:0000:0:0000:FFFF:127.0.0.1
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
||||
#################### IP: 0::0000:FFFF:127.0.0.1 ###########################
|
||||
connect (master,127.0.0.1,root,,test,MASTER_MYPORT);
|
||||
connect (slave,0::0000:FFFF:127.0.0.1,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
Master-Host: 0:0000:0000:0:0000:FFFF:127.0.0.1
|
||||
change master to master_host='0::0000:FFFF:127.0.0.1';
|
||||
Master-Host: 0::0000:FFFF:127.0.0.1
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
||||
#################### IP: ::FFFF:127.0.0.1 ###########################
|
||||
connect (master,127.0.0.1,root,,test,MASTER_MYPORT);
|
||||
connect (slave,::FFFF:127.0.0.1,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
Master-Host: 0::0000:FFFF:127.0.0.1
|
||||
change master to master_host='::FFFF:127.0.0.1';
|
||||
Master-Host: ::FFFF:127.0.0.1
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
||||
#################### IP: ::1 mix #######################
|
||||
connect (master,127.0.0.1,root,,test,MASTER_MYPORT);
|
||||
connect (slave,::1,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
Master-Host: ::FFFF:127.0.0.1
|
||||
change master to master_host='::1';
|
||||
Master-Host: ::1
|
||||
change master to master_host='::FFFF:127.0.0.1';
|
||||
Master-Host: ::FFFF:127.0.0.1
|
||||
change master to master_host='0:0:0:0:0:0:0:1';
|
||||
Master-Host: 0:0:0:0:0:0:0:1
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
84
mysql-test/suite/rpl/r/rpl_ip_mix2_win.result
Normal file
84
mysql-test/suite/rpl/r/rpl_ip_mix2_win.result
Normal file
|
@ -0,0 +1,84 @@
|
|||
#################### IP: ::1 ###########################
|
||||
connect (master,127.0.0.1,root,,test,MASTER_MYPORT);
|
||||
connect (slave,::1,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
Master-Host: No such row
|
||||
change master to master_host='::1';
|
||||
Master-Host: ::1
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
||||
#################### IP: 0000:0000:0000:0000:0000:0000:0000:0001 ###########################
|
||||
connect (master,127.0.0.1,root,,test,MASTER_MYPORT);
|
||||
connect (slave,0000:0000:0000:0000:0000:0000:0000:0001,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
Master-Host: ::1
|
||||
change master to master_host='0000:0000:0000:0000:0000:0000:0000:0001';
|
||||
Master-Host: 0000:0000:0000:0000:0000:0000:0000:0001
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
||||
#################### IP: 0:0:0:0:0:0:0:1 ###########################
|
||||
connect (master,127.0.0.1,root,,test,MASTER_MYPORT);
|
||||
connect (slave,0:0:0:0:0:0:0:1,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
Master-Host: 0000:0000:0000:0000:0000:0000:0000:0001
|
||||
change master to master_host='0:0:0:0:0:0:0:1';
|
||||
Master-Host: 0:0:0:0:0:0:0:1
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
||||
#################### IP: 127.0.0.1 ###########################
|
||||
connect (master,127.0.0.1,root,,test,MASTER_MYPORT);
|
||||
connect (slave,127.0.0.1,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
Master-Host: 0:0:0:0:0:0:0:1
|
||||
change master to master_host='127.0.0.1';
|
||||
Master-Host: 127.0.0.1
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
||||
#################### IP: ::1 mix #######################
|
||||
connect (master,127.0.0.1,root,,test,MASTER_MYPORT);
|
||||
connect (slave,::1,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
Master-Host: 127.0.0.1
|
||||
change master to master_host='::1';
|
||||
Master-Host: ::1
|
||||
change master to master_host='127.0.0.1';
|
||||
Master-Host: 127.0.0.1
|
||||
change master to master_host='0:0:0:0:0:0:0:1';
|
||||
Master-Host: 0:0:0:0:0:0:0:1
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
84
mysql-test/suite/rpl/r/rpl_ip_mix_win.result
Normal file
84
mysql-test/suite/rpl/r/rpl_ip_mix_win.result
Normal file
|
@ -0,0 +1,84 @@
|
|||
#################### IP: ::1 ###########################
|
||||
connect (master,::1,root,,test,MASTER_MYPORT);
|
||||
connect (slave,127.0.0.1,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
Master-Host: No such row
|
||||
change master to master_host='::1';
|
||||
Master-Host: ::1
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
||||
#################### IP: 0000:0000:0000:0000:0000:0000:0000:0001 ###########################
|
||||
connect (master,0000:0000:0000:0000:0000:0000:0000:0001,root,,test,MASTER_MYPORT);
|
||||
connect (slave,127.0.0.1,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
Master-Host: ::1
|
||||
change master to master_host='0000:0000:0000:0000:0000:0000:0000:0001';
|
||||
Master-Host: 0000:0000:0000:0000:0000:0000:0000:0001
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
||||
#################### IP: 0:0:0:0:0:0:0:1 ###########################
|
||||
connect (master,0:0:0:0:0:0:0:1,root,,test,MASTER_MYPORT);
|
||||
connect (slave,127.0.0.1,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
Master-Host: 0000:0000:0000:0000:0000:0000:0000:0001
|
||||
change master to master_host='0:0:0:0:0:0:0:1';
|
||||
Master-Host: 0:0:0:0:0:0:0:1
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
||||
#################### IP: 127.0.0.1 ###########################
|
||||
connect (master,127.0.0.1,root,,test,MASTER_MYPORT);
|
||||
connect (slave,127.0.0.1,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
Master-Host: 0:0:0:0:0:0:0:1
|
||||
change master to master_host='127.0.0.1';
|
||||
Master-Host: 127.0.0.1
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
||||
#################### IP: ::1 mix #######################
|
||||
connect (master,::1,root,,test,MASTER_MYPORT);
|
||||
connect (slave,127.0.0.1,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
Master-Host: 127.0.0.1
|
||||
change master to master_host='::1';
|
||||
Master-Host: ::1
|
||||
change master to master_host='127.0.0.1';
|
||||
Master-Host: 127.0.0.1
|
||||
change master to master_host='0:0:0:0:0:0:0:1';
|
||||
Master-Host: 0:0:0:0:0:0:0:1
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
110
mysql-test/suite/rpl/r/rpl_ipv4_as_ipv6.result
Normal file
110
mysql-test/suite/rpl/r/rpl_ipv4_as_ipv6.result
Normal file
|
@ -0,0 +1,110 @@
|
|||
#################### IP: 127.0.0.1 ###########################
|
||||
connect (master,127.0.0.1,root,,test,MASTER_MYPORT);
|
||||
connect (slave,127.0.0.1,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
change master to master_host='127.0.0.1';
|
||||
Master-Host: 127.0.0.1
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
||||
#################### IP: 0:0:0:0:0:FFFF:127.0.0.1 ###########################
|
||||
connect (master,0:0:0:0:0:FFFF:127.0.0.1,root,,test,MASTER_MYPORT);
|
||||
connect (slave,0:0:0:0:0:FFFF:127.0.0.1,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
change master to master_host='0:0:0:0:0:FFFF:127.0.0.1';
|
||||
Master-Host: 0:0:0:0:0:FFFF:127.0.0.1
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
||||
#################### IP: 0000:0000:0000:0000:0000:FFFF:127.0.0.1 ###########################
|
||||
connect (master,0000:0000:0000:0000:0000:FFFF:127.0.0.1,root,,test,MASTER_MYPORT);
|
||||
connect (slave,0000:0000:0000:0000:0000:FFFF:127.0.0.1,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
change master to master_host='0000:0000:0000:0000:0000:FFFF:127.0.0.1';
|
||||
Master-Host: 0000:0000:0000:0000:0000:FFFF:127.0.0.1
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
||||
#################### IP: 0:0000:0000:0:0000:FFFF:127.0.0.1 ###########################
|
||||
connect (master,0:0000:0000:0:0000:FFFF:127.0.0.1,root,,test,MASTER_MYPORT);
|
||||
connect (slave,0:0000:0000:0:0000:FFFF:127.0.0.1,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
change master to master_host='0:0000:0000:0:0000:FFFF:127.0.0.1';
|
||||
Master-Host: 0:0000:0000:0:0000:FFFF:127.0.0.1
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
||||
#################### IP: 0::0000:FFFF:127.0.0.1 ###########################
|
||||
connect (master,0::0000:FFFF:127.0.0.1,root,,test,MASTER_MYPORT);
|
||||
connect (slave,0::0000:FFFF:127.0.0.1,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
change master to master_host='0::0000:FFFF:127.0.0.1';
|
||||
Master-Host: 0::0000:FFFF:127.0.0.1
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
||||
#################### IP: ::FFFF:127.0.0.1 ###########################
|
||||
connect (master,::FFFF:127.0.0.1,root,,test,MASTER_MYPORT);
|
||||
connect (slave,::FFFF:127.0.0.1,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
change master to master_host='::FFFF:127.0.0.1';
|
||||
Master-Host: ::FFFF:127.0.0.1
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
||||
#################### IP: ::1 ###########################
|
||||
connect (master,127.0.0.1,root,,test,MASTER_MYPORT);
|
||||
connect (slave,127.0.0.1,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
Master-Host: ::FFFF:127.0.0.1
|
||||
change master to master_host='::1';
|
||||
Master-Host: ::1
|
||||
change master to master_host='::FFFF:127.0.0.1';
|
||||
Master-Host: ::FFFF:127.0.0.1
|
||||
change master to master_host='0:0:0:0:0:0:0:1';
|
||||
Master-Host: 0:0:0:0:0:0:0:1
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
35
mysql-test/suite/rpl/r/rpl_ipv4_as_ipv6_win.result
Normal file
35
mysql-test/suite/rpl/r/rpl_ipv4_as_ipv6_win.result
Normal file
|
@ -0,0 +1,35 @@
|
|||
#################### IP: 127.0.0.1 ###########################
|
||||
connect (master,127.0.0.1,root,,test,MASTER_MYPORT);
|
||||
connect (slave,127.0.0.1,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
change master to master_host='127.0.0.1';
|
||||
Master-Host: 127.0.0.1
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
||||
#################### IP: ::1 ###########################
|
||||
connect (master,127.0.0.1,root,,test,MASTER_MYPORT);
|
||||
connect (slave,127.0.0.1,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
Master-Host: 127.0.0.1
|
||||
change master to master_host='::1';
|
||||
Master-Host: ::1
|
||||
change master to master_host='127.0.0.1';
|
||||
Master-Host: 127.0.0.1
|
||||
change master to master_host='0:0:0:0:0:0:0:1';
|
||||
Master-Host: 0:0:0:0:0:0:0:1
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
155
mysql-test/suite/rpl/r/rpl_ipv6.result
Normal file
155
mysql-test/suite/rpl/r/rpl_ipv6.result
Normal file
|
@ -0,0 +1,155 @@
|
|||
#################### IP: ::1 ###########################
|
||||
connect (master,::1,root,,test,MASTER_MYPORT);
|
||||
connect (slave,::1,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
change master to master_host='::1';
|
||||
Master-Host: ::1
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
||||
#################### IP: 0000:0000:0000:0000:0000:0000:0000:0001 ###########################
|
||||
connect (master,0000:0000:0000:0000:0000:0000:0000:0001,root,,test,MASTER_MYPORT);
|
||||
connect (slave,0000:0000:0000:0000:0000:0000:0000:0001,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
change master to master_host='0000:0000:0000:0000:0000:0000:0000:0001';
|
||||
Master-Host: 0000:0000:0000:0000:0000:0000:0000:0001
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
||||
#################### IP: 0:0:0:0:0:0:0:1 ###########################
|
||||
connect (master,0:0:0:0:0:0:0:1,root,,test,MASTER_MYPORT);
|
||||
connect (slave,0:0:0:0:0:0:0:1,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
change master to master_host='0:0:0:0:0:0:0:1';
|
||||
Master-Host: 0:0:0:0:0:0:0:1
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
||||
#################### IP: 127.0.0.1 ###########################
|
||||
connect (master,127.0.0.1,root,,test,MASTER_MYPORT);
|
||||
connect (slave,127.0.0.1,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
change master to master_host='127.0.0.1';
|
||||
Master-Host: 127.0.0.1
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
||||
#################### IP: 0:0:0:0:0:FFFF:127.0.0.1 ###########################
|
||||
connect (master,0:0:0:0:0:FFFF:127.0.0.1,root,,test,MASTER_MYPORT);
|
||||
connect (slave,0:0:0:0:0:FFFF:127.0.0.1,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
change master to master_host='0:0:0:0:0:FFFF:127.0.0.1';
|
||||
Master-Host: 0:0:0:0:0:FFFF:127.0.0.1
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
||||
#################### IP: 0000:0000:0000:0000:0000:FFFF:127.0.0.1 ###########################
|
||||
connect (master,0000:0000:0000:0000:0000:FFFF:127.0.0.1,root,,test,MASTER_MYPORT);
|
||||
connect (slave,0000:0000:0000:0000:0000:FFFF:127.0.0.1,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
change master to master_host='0000:0000:0000:0000:0000:FFFF:127.0.0.1';
|
||||
Master-Host: 0000:0000:0000:0000:0000:FFFF:127.0.0.1
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
||||
#################### IP: 0:0000:0000:0:0000:FFFF:127.0.0.1 ###########################
|
||||
connect (master,0:0000:0000:0:0000:FFFF:127.0.0.1,root,,test,MASTER_MYPORT);
|
||||
connect (slave,0:0000:0000:0:0000:FFFF:127.0.0.1,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
change master to master_host='0:0000:0000:0:0000:FFFF:127.0.0.1';
|
||||
Master-Host: 0:0000:0000:0:0000:FFFF:127.0.0.1
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
||||
#################### IP: 0::0000:FFFF:127.0.0.1 ###########################
|
||||
connect (master,0::0000:FFFF:127.0.0.1,root,,test,MASTER_MYPORT);
|
||||
connect (slave,0::0000:FFFF:127.0.0.1,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
change master to master_host='0::0000:FFFF:127.0.0.1';
|
||||
Master-Host: 0::0000:FFFF:127.0.0.1
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
||||
#################### IP: ::FFFF:127.0.0.1 ###########################
|
||||
connect (master,::FFFF:127.0.0.1,root,,test,MASTER_MYPORT);
|
||||
connect (slave,::FFFF:127.0.0.1,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
change master to master_host='::FFFF:127.0.0.1';
|
||||
Master-Host: ::FFFF:127.0.0.1
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
||||
#################### IP: ::1 mix #######################
|
||||
connect (master,127.0.0.1,root,,test,MASTER_MYPORT);
|
||||
connect (slave,127.0.0.1,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
Master-Host: ::FFFF:127.0.0.1
|
||||
change master to master_host='::1';
|
||||
Master-Host: ::1
|
||||
change master to master_host='::FFFF:127.0.0.1';
|
||||
Master-Host: ::FFFF:127.0.0.1
|
||||
change master to master_host='0:0:0:0:0:0:0:1';
|
||||
Master-Host: 0:0:0:0:0:0:0:1
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
80
mysql-test/suite/rpl/r/rpl_ipv6_win.result
Normal file
80
mysql-test/suite/rpl/r/rpl_ipv6_win.result
Normal file
|
@ -0,0 +1,80 @@
|
|||
#################### IP: ::1 ###########################
|
||||
connect (master,::1,root,,test,MASTER_MYPORT);
|
||||
connect (slave,::1,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
change master to master_host='::1';
|
||||
Master-Host: ::1
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
||||
#################### IP: 0000:0000:0000:0000:0000:0000:0000:0001 ###########################
|
||||
connect (master,0000:0000:0000:0000:0000:0000:0000:0001,root,,test,MASTER_MYPORT);
|
||||
connect (slave,0000:0000:0000:0000:0000:0000:0000:0001,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
change master to master_host='0000:0000:0000:0000:0000:0000:0000:0001';
|
||||
Master-Host: 0000:0000:0000:0000:0000:0000:0000:0001
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
||||
#################### IP: 0:0:0:0:0:0:0:1 ###########################
|
||||
connect (master,0:0:0:0:0:0:0:1,root,,test,MASTER_MYPORT);
|
||||
connect (slave,0:0:0:0:0:0:0:1,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
change master to master_host='0:0:0:0:0:0:0:1';
|
||||
Master-Host: 0:0:0:0:0:0:0:1
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
||||
#################### IP: 127.0.0.1 ###########################
|
||||
connect (master,127.0.0.1,root,,test,MASTER_MYPORT);
|
||||
connect (slave,127.0.0.1,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
change master to master_host='127.0.0.1';
|
||||
Master-Host: 127.0.0.1
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
||||
#################### IP: ::1 mix #######################
|
||||
connect (master,127.0.0.1,root,,test,MASTER_MYPORT);
|
||||
connect (slave,127.0.0.1,root,,test,SLAVE_MYPORT);
|
||||
connection master;
|
||||
reset master;
|
||||
show master status;
|
||||
File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
connection slave;
|
||||
reset slave;
|
||||
Master-Host: 127.0.0.1
|
||||
change master to master_host='::1';
|
||||
Master-Host: ::1
|
||||
change master to master_host='127.0.0.1';
|
||||
Master-Host: 127.0.0.1
|
||||
change master to master_host='0:0:0:0:0:0:0:1';
|
||||
Master-Host: 0:0:0:0:0:0:0:1
|
||||
disconnect slave;
|
||||
disconnect master;
|
||||
connection default;
|
|
@ -1,133 +0,0 @@
|
|||
stop slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
reset master;
|
||||
reset slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
start slave;
|
||||
drop database if exists mysqltest;
|
||||
drop database if exists mysqltest2;
|
||||
drop database if exists mysqltest3;
|
||||
drop database if exists mysqltest;
|
||||
drop database if exists mysqltest2;
|
||||
drop database if exists mysqltest3;
|
||||
create database mysqltest2;
|
||||
create database mysqltest;
|
||||
create database mysqltest2;
|
||||
create table mysqltest2.foo (n int)ENGINE=MyISAM;
|
||||
insert into mysqltest2.foo values(4);
|
||||
create table mysqltest2.foo (n int)ENGINE=MyISAM;
|
||||
insert into mysqltest2.foo values(5);
|
||||
create table mysqltest.bar (m int)ENGINE=MyISAM;
|
||||
insert into mysqltest.bar values(15);
|
||||
select mysqltest2.foo.n,mysqltest.bar.m from mysqltest2.foo,mysqltest.bar;
|
||||
n m
|
||||
4 15
|
||||
drop database mysqltest;
|
||||
drop database if exists mysqltest2;
|
||||
drop database mysqltest;
|
||||
ERROR HY000: Can't drop database 'mysqltest'; database doesn't exist
|
||||
drop database mysqltest2;
|
||||
set sql_log_bin = 0;
|
||||
create database mysqltest2;
|
||||
create database mysqltest;
|
||||
show databases like 'mysql%';
|
||||
Database (mysql%)
|
||||
mysql
|
||||
mysqltest
|
||||
mysqltest2
|
||||
create table mysqltest2.t1(n int, s char(20))ENGINE=MyISAM;
|
||||
create table mysqltest2.t2(n int, s text)ENGINE=MyISAM;
|
||||
insert into mysqltest2.t1 values (1, 'one'), (2, 'two'), (3, 'three');
|
||||
insert into mysqltest2.t2 values (11, 'eleven'), (12, 'twelve'), (13, 'thirteen');
|
||||
create table mysqltest.t1(n int, s char(20))ENGINE=MyISAM;
|
||||
create table mysqltest.t2(n int, s text)ENGINE=MyISAM;
|
||||
insert into mysqltest.t1 values (1, 'one test'), (2, 'two test'), (3, 'three test');
|
||||
insert into mysqltest.t2 values (11, 'eleven test'), (12, 'twelve test'),
|
||||
(13, 'thirteen test');
|
||||
set sql_log_bin = 1;
|
||||
show databases like 'mysql%';
|
||||
Database (mysql%)
|
||||
mysql
|
||||
create database mysqltest2;
|
||||
create table mysqltest2.t1(n int, s char(20))ENGINE=MyISAM;
|
||||
insert into mysqltest2.t1 values (1, 'original foo.t1');
|
||||
create table mysqltest2.t3(n int, s char(20))ENGINE=MyISAM;
|
||||
insert into mysqltest2.t3 values (1, 'original foo.t3');
|
||||
create database mysqltest3;
|
||||
create table mysqltest3.t1(n int, s char(20))ENGINE=MyISAM;
|
||||
insert into mysqltest3.t1 values (1, 'original foo2.t1');
|
||||
create database mysqltest;
|
||||
create table mysqltest.t1(n int, s char(20))ENGINE=MyISAM;
|
||||
insert into mysqltest.t1 values (1, 'original bar.t1');
|
||||
create table mysqltest.t3(n int, s char(20))ENGINE=MyISAM;
|
||||
insert into mysqltest.t3 values (1, 'original bar.t3');
|
||||
load data from master;
|
||||
show databases like 'mysql%';
|
||||
Database (mysql%)
|
||||
mysql
|
||||
mysqltest
|
||||
mysqltest2
|
||||
mysqltest3
|
||||
use mysqltest2;
|
||||
show tables;
|
||||
Tables_in_mysqltest2
|
||||
t1
|
||||
t3
|
||||
select * from t1;
|
||||
n s
|
||||
1 original foo.t1
|
||||
use mysqltest3;
|
||||
show tables;
|
||||
Tables_in_mysqltest3
|
||||
t1
|
||||
select * from t1;
|
||||
n s
|
||||
1 original foo2.t1
|
||||
use mysqltest;
|
||||
show tables;
|
||||
Tables_in_mysqltest
|
||||
t1
|
||||
t2
|
||||
t3
|
||||
select * from mysqltest.t1;
|
||||
n s
|
||||
1 one test
|
||||
2 two test
|
||||
3 three test
|
||||
select * from mysqltest.t2;
|
||||
n s
|
||||
11 eleven test
|
||||
12 twelve test
|
||||
13 thirteen test
|
||||
select * from mysqltest.t3;
|
||||
n s
|
||||
1 original bar.t3
|
||||
insert into mysqltest.t1 values (4, 'four test');
|
||||
select * from mysqltest.t1;
|
||||
n s
|
||||
1 one test
|
||||
2 two test
|
||||
3 three test
|
||||
4 four test
|
||||
stop slave;
|
||||
reset slave;
|
||||
load data from master;
|
||||
start slave;
|
||||
insert into mysqltest.t1 values (5, 'five bar');
|
||||
select * from mysqltest.t1;
|
||||
n s
|
||||
1 one test
|
||||
2 two test
|
||||
3 three test
|
||||
4 four test
|
||||
5 five bar
|
||||
load table mysqltest.t1 from master;
|
||||
ERROR 42S01: Table 't1' already exists
|
||||
drop table mysqltest.t1;
|
||||
load table mysqltest.t1 from master;
|
||||
load table bar.t1 from master;
|
||||
ERROR HY000: Error from master: 'Table 'bar.t1' doesn't exist'
|
||||
drop database mysqltest;
|
||||
drop database mysqltest2;
|
||||
drop database mysqltest2;
|
||||
drop database mysqltest3;
|
|
@ -1,51 +0,0 @@
|
|||
stop slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
reset master;
|
||||
reset slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
start slave;
|
||||
"******************** Test Requirment 1 *************"
|
||||
SET SQL_LOG_BIN=0,timestamp=200006;
|
||||
CREATE TABLE t1(t TIMESTAMP NOT NULL,a CHAR(1))ENGINE=MyISAM;
|
||||
INSERT INTO t1 ( a) VALUE ('F');
|
||||
select unix_timestamp(t) from t1;
|
||||
unix_timestamp(t)
|
||||
200006
|
||||
load table t1 from master;
|
||||
select unix_timestamp(t) from t1;
|
||||
unix_timestamp(t)
|
||||
200006
|
||||
set SQL_LOG_BIN=1,timestamp=default;
|
||||
drop table t1;
|
||||
set SQL_LOG_BIN=0;
|
||||
"******************** Test Requirment 2 *************"
|
||||
CREATE TABLE t1 (a INT NOT NULL) ENGINE=MyISAM MAX_ROWS=4000 CHECKSUM=1;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
load table t1 from master;
|
||||
check table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
drop table t1;
|
||||
drop table t1;
|
||||
set SQL_LOG_BIN=0;
|
||||
create table t1 (word char(20) not null, index(word))ENGINE=MyISAM;
|
||||
load data infile '../../std_data/words.dat' into table t1;
|
||||
create table t2 (word char(20) not null)ENGINE=MyISAM;
|
||||
load data infile '../../std_data/words.dat' into table t2;
|
||||
create table t3 (word char(20) not null primary key)ENGINE=MyISAM;
|
||||
load table t1 from master;
|
||||
load table t2 from master;
|
||||
load table t3 from master;
|
||||
check table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
select count(*) from t2;
|
||||
count(*)
|
||||
70
|
||||
select count(*) from t3;
|
||||
count(*)
|
||||
0
|
||||
set SQL_LOG_BIN=1;
|
||||
drop table if exists t1,t2,t3;
|
||||
create table t1(n int);
|
||||
drop table t1;
|
|
@ -13,8 +13,8 @@ n
|
|||
2001
|
||||
2002
|
||||
show slave hosts;
|
||||
Server_id Host Port Rpl_recovery_rank Master_id
|
||||
2 127.0.0.1 9999 0 1
|
||||
Server_id Host Port Master_id
|
||||
2 127.0.0.1 9999 1
|
||||
drop table t1;
|
||||
stop slave;
|
||||
create table t2(id int auto_increment primary key, created datetime);
|
||||
|
|
|
@ -92,7 +92,7 @@ reset slave;
|
|||
SHOW SLAVE STATUS;
|
||||
Slave_IO_State #
|
||||
Master_Host 127.0.0.1
|
||||
Master_User root
|
||||
Master_User test
|
||||
Master_Port MASTER_PORT
|
||||
Connect_Retry 1
|
||||
Master_Log_File
|
||||
|
@ -130,6 +130,7 @@ Last_SQL_Errno 0
|
|||
Last_SQL_Error
|
||||
Replicate_Ignore_Server_Ids
|
||||
Master_Server_Id 1
|
||||
change master to master_user='root';
|
||||
start slave;
|
||||
SHOW SLAVE STATUS;
|
||||
Slave_IO_State #
|
||||
|
|
17
mysql-test/suite/rpl/r/rpl_show_slave_hosts.result
Normal file
17
mysql-test/suite/rpl/r/rpl_show_slave_hosts.result
Normal file
|
@ -0,0 +1,17 @@
|
|||
stop slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
reset master;
|
||||
reset slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
start slave;
|
||||
RESET SLAVE;
|
||||
CHANGE MASTER TO master_host='127.0.0.1',master_port=MASTER_PORT,master_user='root';
|
||||
START SLAVE IO_THREAD;
|
||||
SHOW SLAVE HOSTS;
|
||||
Server_id Host Port Master_id
|
||||
3 slave2 DEFAULT_PORT 1
|
||||
2 SLAVE_PORT 1
|
||||
STOP SLAVE IO_THREAD;
|
||||
SHOW SLAVE HOSTS;
|
||||
Server_id Host Port Master_id
|
||||
2 SLAVE_PORT 1
|
|
@ -191,14 +191,9 @@ begin
|
|||
return unix_timestamp();
|
||||
end|
|
||||
ERROR HY000: You do not have the SUPER privilege and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)
|
||||
set @old_log_bin_trust_routine_creators= @@global.log_bin_trust_routine_creators;
|
||||
set @old_log_bin_trust_function_creators= @@global.log_bin_trust_function_creators;
|
||||
set global log_bin_trust_routine_creators=1;
|
||||
Warnings:
|
||||
Warning 1287 The syntax '@@log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 6.0. Please use '@@log_bin_trust_function_creators' instead
|
||||
set global log_bin_trust_function_creators=0;
|
||||
set global log_bin_trust_function_creators=1;
|
||||
set @old_log_bin_trust_routine_creators= @@global.log_bin_trust_routine_creators;
|
||||
set @old_log_bin_trust_function_creators= @@global.log_bin_trust_function_creators;
|
||||
set global log_bin_trust_function_creators=1;
|
||||
create function fn2()
|
||||
|
@ -557,13 +552,7 @@ insert into t values (1);
|
|||
return 0;
|
||||
end
|
||||
master-bin.000001 # Query # # use `mysqltest`; SELECT `mysqltest2`.`f1`()
|
||||
set @@global.log_bin_trust_routine_creators= @old_log_bin_trust_routine_creators;
|
||||
Warnings:
|
||||
Warning 1287 The syntax '@@log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 6.0. Please use '@@log_bin_trust_function_creators' instead
|
||||
set @@global.log_bin_trust_function_creators= @old_log_bin_trust_function_creators;
|
||||
set @@global.log_bin_trust_routine_creators= @old_log_bin_trust_routine_creators;
|
||||
Warnings:
|
||||
Warning 1287 The syntax '@@log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 6.0. Please use '@@log_bin_trust_function_creators' instead
|
||||
set @@global.log_bin_trust_function_creators= @old_log_bin_trust_function_creators;
|
||||
drop database mysqltest;
|
||||
drop database mysqltest2;
|
||||
|
|
|
@ -92,7 +92,7 @@ reset slave;
|
|||
SHOW SLAVE STATUS;
|
||||
Slave_IO_State #
|
||||
Master_Host 127.0.0.1
|
||||
Master_User root
|
||||
Master_User test
|
||||
Master_Port MASTER_PORT
|
||||
Connect_Retry 1
|
||||
Master_Log_File
|
||||
|
@ -130,6 +130,7 @@ Last_SQL_Errno 0
|
|||
Last_SQL_Error
|
||||
Replicate_Ignore_Server_Ids
|
||||
Master_Server_Id 1
|
||||
change master to master_user='root';
|
||||
start slave;
|
||||
SHOW SLAVE STATUS;
|
||||
Slave_IO_State #
|
||||
|
|
|
@ -10,9 +10,5 @@
|
|||
#
|
||||
##############################################################################
|
||||
|
||||
rpl_get_master_version_and_clock: # Bug#46931 2009-10-17 joro rpl.rpl_get_master_version_and_clock fails
|
||||
rpl_cross_version : BUG#43913 2009-10-22 luis rpl_cross_version fails with symptom in described in bug report
|
||||
rpl_spec_variables : BUG#47661 2009-10-27 jasonh rpl_spec_variables fails on PB2 hpux
|
||||
rpl_empty_master_crash : BUG#48048
|
||||
rpl_load_from_master : BUG#48048
|
||||
rpl_load_table_from_master : BUG#48048
|
||||
|
|
|
@ -6,14 +6,10 @@ source include/master-slave.inc;
|
|||
create table t1 (n int not null auto_increment primary key);
|
||||
insert into t1 values(NULL);
|
||||
insert into t1 values(2);
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sync_slave_with_master;
|
||||
select n from t1;
|
||||
connection master;
|
||||
drop table t1;
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sync_slave_with_master;
|
||||
|
||||
# End of 4.1 tests
|
||||
|
|
|
@ -4,7 +4,9 @@ create table t1 (n int);
|
|||
insert into t1 values(1);
|
||||
sync_slave_with_master;
|
||||
stop slave;
|
||||
--source include/wait_for_slave_to_stop.inc
|
||||
start slave;
|
||||
--source include/wait_for_slave_to_start.inc
|
||||
connection master;
|
||||
insert into t1 values(2);
|
||||
#let slave catch up
|
||||
|
|
|
@ -9,9 +9,7 @@
|
|||
|
||||
--source include/have_binlog_format_mixed_or_statement.inc
|
||||
source include/master-slave.inc;
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sync_slave_with_master;
|
||||
connection master;
|
||||
|
||||
create table t2(n int);
|
||||
|
@ -46,8 +44,6 @@ connection master2;
|
|||
# exist in this connection.
|
||||
|
||||
drop table if exists t1,t2;
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sync_slave_with_master;
|
||||
|
||||
# End of 4.1 tests
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
--skip-slave-start
|
0
mysql-test/suite/rpl/t/rpl000017-slave.sh
Executable file → Normal file
0
mysql-test/suite/rpl/t/rpl000017-slave.sh
Executable file → Normal file
|
@ -1,12 +1,23 @@
|
|||
# The test manually replaces the relay-log.info file with connection
|
||||
# information which the slave then should pick up. However, to avoid
|
||||
# overwriting the file, no CHANGE MASTER TO nor RESET SLAVE statements
|
||||
# should be executed.
|
||||
#
|
||||
# Starting replication before granting a replication user privileges
|
||||
# to replicate will cause the start slave to fail, so we shouldn't do
|
||||
# that.
|
||||
|
||||
let $no_change_master = 1;
|
||||
let $skip_slave_start = 1;
|
||||
source include/master-slave.inc;
|
||||
connection slave;
|
||||
stop slave;
|
||||
|
||||
connection master;
|
||||
grant replication slave on *.* to replicate@localhost identified by 'aaaaaaaaaaaaaaab';
|
||||
grant replication slave on *.* to replicate@127.0.0.1 identified by 'aaaaaaaaaaaaaaab';
|
||||
connection slave;
|
||||
start slave;
|
||||
source include/wait_for_slave_to_start.inc;
|
||||
|
||||
connection master;
|
||||
--disable_warnings
|
||||
drop table if exists t1;
|
||||
|
|
|
@ -1 +1 @@
|
|||
--server-id=22 --master-connect-retry=7
|
||||
--server-id=22
|
||||
|
|
|
@ -15,14 +15,12 @@ connection slave;
|
|||
reset slave;
|
||||
source include/show_slave_status2.inc;
|
||||
|
||||
change master to master_host='127.0.0.1';
|
||||
# The following needs to be cleaned up when change master is fixed
|
||||
source include/show_slave_status2.inc;
|
||||
--replace_result $MASTER_MYPORT MASTER_PORT
|
||||
eval change master to master_host='127.0.0.1',master_user='root',
|
||||
master_password='',master_port=$MASTER_MYPORT;
|
||||
master_password='',master_port=$MASTER_MYPORT, MASTER_CONNECT_RETRY=7;
|
||||
source include/show_slave_status2.inc;
|
||||
start slave;
|
||||
--source include/wait_for_slave_to_start.inc
|
||||
sync_with_master;
|
||||
source include/show_slave_status2.inc;
|
||||
connection master;
|
||||
|
|
|
@ -10,15 +10,11 @@ insert into mysqltest.t1 values (1,2);
|
|||
create table mysqltest.t2 (n int);
|
||||
insert into mysqltest.t2 values (45);
|
||||
rename table mysqltest.t2 to mysqltest.t3, mysqltest.t1 to mysqltest.t2;
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sync_slave_with_master;
|
||||
select * from mysqltest.t2;
|
||||
select * from mysqltest.t3;
|
||||
connection master;
|
||||
drop database mysqltest;
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sync_slave_with_master;
|
||||
|
||||
# End of 4.1 tests
|
||||
|
|
|
@ -51,9 +51,7 @@ CALL simpleproc3();
|
|||
|
||||
select * from t1;
|
||||
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sync_slave_with_master;
|
||||
|
||||
use test1;
|
||||
select * from t1;
|
||||
|
|
|
@ -78,10 +78,8 @@ SELECT oSupp, sSuppD, GSuppDf, VNotSupp, x034 FROM test.t1;
|
|||
SELECT hex(bit1) FROM test.t1 ORDER BY bit1;
|
||||
SELECT hex(bit2) from test.t1 ORDER BY bit2;
|
||||
SELECT hex(bit3) from test.t1 ORDER BY bit3;
|
||||
save_master_pos;
|
||||
sync_slave_with_master;
|
||||
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
SELECT oSupp, sSuppD, GSuppDf, VNotSupp, x034 FROM test.t1;
|
||||
SELECT hex(bit1) FROM test.t1 ORDER BY bit1;
|
||||
SELECT hex(bit2) from test.t1 ORDER BY bit2;
|
||||
|
|
|
@ -76,10 +76,8 @@ SELECT oSupp, sSuppD, GSuppDf, VNotSupp, x034
|
|||
SELECT hex(bit1) from test.t1 ORDER BY bit1;
|
||||
SELECT hex(bit2) from test.t1 ORDER BY bit2;
|
||||
SELECT hex(bit3) from test.t1 ORDER BY bit3;
|
||||
save_master_pos;
|
||||
sync_slave_with_master;
|
||||
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
SELECT oSupp, sSuppD, GSuppDf, VNotSupp, x034
|
||||
FROM test.t1
|
||||
ORDER BY oSupp, sSuppD, GSuppDf, VNotSupp, x034;
|
||||
|
@ -100,10 +98,8 @@ UPDATE test.t3 SET a = 2 WHERE b = 0;
|
|||
|
||||
SELECT a, hex(b) FROM test.t2 ORDER BY a,b;
|
||||
SELECT * FROM test.t3 ORDER BY a,b;
|
||||
save_master_pos;
|
||||
sync_slave_with_master;
|
||||
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
SELECT a, hex(b) FROM test.t2 ORDER BY a,b;
|
||||
SELECT * FROM test.t3 ORDER BY a,b;
|
||||
|
||||
|
|
|
@ -8,23 +8,25 @@ source include/have_log_bin.inc;
|
|||
connect (master,127.0.0.1,root,,test,$MASTER_MYPORT,);
|
||||
connect (slave,127.0.0.1,root,,test,$SLAVE_MYPORT,);
|
||||
|
||||
|
||||
connection master;
|
||||
reset master;
|
||||
|
||||
connection slave;
|
||||
reset slave;
|
||||
|
||||
# Add suppression for expected warnings in slaves error log
|
||||
call mtr.add_suppression("Failed during slave I/O thread initialization");
|
||||
|
||||
--disable_warnings
|
||||
stop slave;
|
||||
--enable_warnings
|
||||
reset slave;
|
||||
|
||||
# Set debug flags on slave to force errors to occur
|
||||
SET GLOBAL debug="d,simulate_io_slave_error_on_init,simulate_sql_slave_error_on_init";
|
||||
|
||||
--disable_query_log
|
||||
eval CHANGE MASTER TO MASTER_USER='root',
|
||||
MASTER_CONNECT_RETRY=1,
|
||||
MASTER_HOST='127.0.0.1',
|
||||
MASTER_PORT=$MASTER_MYPORT;
|
||||
--enable_query_log
|
||||
|
||||
start slave;
|
||||
|
||||
connection master;
|
||||
|
|
1
mysql-test/suite/rpl/t/rpl_bug41902-slave.opt
Normal file
1
mysql-test/suite/rpl/t/rpl_bug41902-slave.opt
Normal file
|
@ -0,0 +1 @@
|
|||
--loose-debug=-d,simulate_find_log_pos_error
|
61
mysql-test/suite/rpl/t/rpl_bug41902.test
Normal file
61
mysql-test/suite/rpl/t/rpl_bug41902.test
Normal file
|
@ -0,0 +1,61 @@
|
|||
# Test for Bug #41902 MYSQL_BIN_LOG::reset_logs() doesn't call my_error()
|
||||
# in face of an error
|
||||
#
|
||||
|
||||
source include/have_debug.inc;
|
||||
source include/master-slave.inc;
|
||||
|
||||
#
|
||||
# test checks that
|
||||
# a. there is no crash when find_log_pos() returns with an error
|
||||
# that tests expect to receive;
|
||||
# b. in the case of multiple error messages the first error message is
|
||||
# reported to the user and others are available as warnings.
|
||||
#
|
||||
|
||||
connection slave;
|
||||
stop slave;
|
||||
|
||||
SET @@debug="d,simulate_find_log_pos_error";
|
||||
|
||||
--error ER_UNKNOWN_TARGET_BINLOG
|
||||
reset slave;
|
||||
show warnings;
|
||||
|
||||
SET @@debug="";
|
||||
reset slave;
|
||||
change master to master_host='dummy';
|
||||
|
||||
SET @@debug="d,simulate_find_log_pos_error";
|
||||
|
||||
--error ER_UNKNOWN_TARGET_BINLOG
|
||||
change master to master_host='dummy';
|
||||
|
||||
SET @@debug="";
|
||||
reset slave;
|
||||
change master to master_host='dummy';
|
||||
|
||||
connection master;
|
||||
SET @@debug="d,simulate_find_log_pos_error";
|
||||
--error ER_UNKNOWN_TARGET_BINLOG
|
||||
reset master;
|
||||
|
||||
SET @@debug="";
|
||||
reset master;
|
||||
|
||||
SET @@debug="d,simulate_find_log_pos_error";
|
||||
--error ER_UNKNOWN_TARGET_BINLOG
|
||||
purge binary logs to 'master-bin.000001';
|
||||
|
||||
SET @@debug="";
|
||||
purge binary logs to 'master-bin.000001';
|
||||
|
||||
--disable_query_log
|
||||
call mtr.add_suppression("Failed to locate old binlog or relay log files");
|
||||
call mtr.add_suppression("MYSQL_LOG::purge_logs was called with file ./master-bin.000001 not listed in the index");
|
||||
connection slave;
|
||||
call mtr.add_suppression("Failed to locate old binlog or relay log files");
|
||||
call mtr.add_suppression("MYSQL_LOG::purge_logs was called with file ./master-bin.000001 not listed in the index");
|
||||
--enable_query_log
|
||||
|
||||
--echo End of the tests
|
|
@ -28,9 +28,7 @@ sync_with_master;
|
|||
select * from t1;
|
||||
connection master;
|
||||
drop table t1;
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sync_slave_with_master;
|
||||
|
||||
# End of 4.1 tests
|
||||
|
||||
|
|
|
@ -7,6 +7,9 @@
|
|||
#############################################################
|
||||
--source include/have_innodb.inc
|
||||
|
||||
# Use wait_for_slave_to_(start|stop) for current connections
|
||||
let $keep_connection= 1;
|
||||
|
||||
# Set up circular ring and new names for servers
|
||||
--echo *** Set up circular ring by schema A->B->C->D->A ***
|
||||
--source include/circular_rpl_for_4_hosts_init.inc
|
||||
|
|
|
@ -16,6 +16,7 @@ DROP TABLE IF EXISTS t1;
|
|||
--echo *** Create "wider" table on slave ***
|
||||
sync_slave_with_master;
|
||||
STOP SLAVE;
|
||||
--source include/wait_for_slave_to_stop.inc
|
||||
RESET SLAVE;
|
||||
|
||||
eval CREATE TABLE t1 (
|
||||
|
@ -69,6 +70,7 @@ RESET MASTER;
|
|||
--echo *** Start replication ***
|
||||
connection slave;
|
||||
START SLAVE;
|
||||
--source include/wait_for_slave_to_start.inc
|
||||
|
||||
--echo *** Insert data on master and display it. ***
|
||||
connection master;
|
||||
|
|
|
@ -8,9 +8,7 @@ connection master;
|
|||
delete from mysql.user where user=_binary'rpl_do_grant';
|
||||
delete from mysql.db where user=_binary'rpl_do_grant';
|
||||
flush privileges;
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sync_slave_with_master;
|
||||
# if these DELETE did nothing on the master, we need to do them manually on the
|
||||
# slave.
|
||||
delete from mysql.user where user=_binary'rpl_ignore_grant';
|
||||
|
@ -21,17 +19,13 @@ flush privileges;
|
|||
connection master;
|
||||
grant select on *.* to rpl_do_grant@localhost;
|
||||
grant drop on test.* to rpl_do_grant@localhost;
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sync_slave_with_master;
|
||||
show grants for rpl_do_grant@localhost;
|
||||
|
||||
# test replication of SET PASSWORD
|
||||
connection master;
|
||||
set password for rpl_do_grant@localhost=password("does it work?");
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sync_slave_with_master;
|
||||
select password<>_binary'' from mysql.user where user=_binary'rpl_do_grant';
|
||||
|
||||
#
|
||||
|
@ -44,9 +38,7 @@ select password<>'' from mysql.user where user='rpl_do_grant';
|
|||
set sql_mode='ANSI_QUOTES';
|
||||
set password for rpl_do_grant@localhost=password('does it work?');
|
||||
set sql_mode='';
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sync_slave_with_master;
|
||||
select password<>'' from mysql.user where user='rpl_do_grant';
|
||||
|
||||
|
||||
|
|
|
@ -7,10 +7,6 @@ drop table if exists t1, t2;
|
|||
create table t1 (a int);
|
||||
--error 1051
|
||||
drop table t1, t2;
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sync_slave_with_master;
|
||||
|
||||
# End of 4.1 tests
|
||||
|
||||
|
||||
|
|
|
@ -20,9 +20,7 @@ drop view v1, not_exist_view;
|
|||
--error 1146
|
||||
select * from v1;
|
||||
drop view v2, v3;
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sync_slave_with_master;
|
||||
--error 1146
|
||||
select * from v1;
|
||||
--error 1146
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue