diff --git a/.bzrignore b/.bzrignore index a0f3a6ec672..118cd845212 100644 --- a/.bzrignore +++ b/.bzrignore @@ -389,6 +389,9 @@ client/readline.cpp client/rpl_constants.h client/rpl_record_old.cc client/rpl_record_old.h +client/rpl_tblmap.h +client/rpl_tblmap.cc +client/rpl_utility.h client/select_test client/sql_string.cpp client/ssl_test diff --git a/BUILD/check-cpu b/BUILD/check-cpu index 45dd8404f0d..33bf857b845 100755 --- a/BUILD/check-cpu +++ b/BUILD/check-cpu @@ -176,7 +176,7 @@ check_cpu () { fi cc_ver=`$cc --version | sed 1q` - cc_verno=`echo $cc_ver | sed -e 's/^.*gcc/gcc/g; s/[^0-9. ]//g; s/^ *//g; s/ .*//g'` + cc_verno=`echo $cc_ver | sed -e 's/^.*(GCC)//g; s/[^0-9. ]//g; s/^ *//g; s/ .*//g'` set -- `echo $cc_verno | tr '.' ' '` cc_major=$1 cc_minor=$2 diff --git a/BUILD/compile-solaris-amd64-forte b/BUILD/compile-solaris-amd64-forte old mode 100644 new mode 100755 index 63aceb16c04..03a566a0d12 --- a/BUILD/compile-solaris-amd64-forte +++ b/BUILD/compile-solaris-amd64-forte @@ -7,22 +7,23 @@ path=`dirname $0` . "$path/autorun.sh" # For "optimal" code for this computer add -fast to EXTRA -# To compile 64 bit, add -xarch=v9 to EXTRA_64_BIT +# To compile 64 bit, add -m64 to EXTRA_64_BIT -EXTRA_64_BIT="-xarch=amd64" +EXTRA_64_BIT="-m64" EXTRA="-fast" # # The following should not need to be touched # -export CC CXX CFLAGS CXXFLAGS +export CC CXX CFLAGS CXXFLAGS LIBS STD="-g -mt -D_FORTEC_ $EXTRA $EXTRA_64_BIT" ASFLAGS="$EXTRA_64_BIT" CC=cc-5.0 CFLAGS="-Xa -xstrconst $STD" CXX=CC CXXFLAGS="-noex $STD" +LIBS=-lmtmalloc ./configure \ --prefix=/usr/local/mysql \ --localstatedir=/usr/local/mysql/data \ diff --git a/BUILD/compile-solaris-amd64-forte-debug b/BUILD/compile-solaris-amd64-forte-debug index 8e3ade9b429..4b0726bb3ce 100644 --- a/BUILD/compile-solaris-amd64-forte-debug +++ b/BUILD/compile-solaris-amd64-forte-debug @@ -6,8 +6,8 @@ gmake -k clean || true path=`dirname $0` . "$path/autorun.sh" -# To compile 64 bit, add -xarch=amd64 to EXTRA_64_BIT -EXTRA_64_BIT="-xarch=amd64" +# To compile 64 bit, add -m64 to EXTRA_64_BIT +EXTRA_64_BIT="-m64" # For "optimal" code for this computer add -fast to EXTRA. Note that # this causes problem with debugging the program since -fast implies diff --git a/BUILD/compile-solaris-sparc b/BUILD/compile-solaris-sparc index 5132965d766..b287baa6845 100755 --- a/BUILD/compile-solaris-sparc +++ b/BUILD/compile-solaris-sparc @@ -9,6 +9,6 @@ PATH=$PATH:/usr/ccs/bin:/usr/local/bin path=`dirname $0` . "$path/autorun.sh" -CFLAGS="-g -Wimplicit -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wparentheses -Wsign-compare -Wwrite-strings -Wunused -O3 -fno-omit-frame-pointer -mcpu=v8 -Wa,-xarch=v8plusa" CXX=gcc CXXFLAGS="-Wimplicit -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wparentheses -Wsign-compare -Wwrite-strings -Woverloaded-virtual -Wsign-promo -Wreorder -Wctor-dtor-privacy -Wnon-virtual-dtor -felide-constructors -fno-exceptions -fno-rtti -O3 -fno-omit-frame-pointer -mcpu=v8 -Wa,-xarch=v8plusa -g" ./configure --prefix=/usr/local/mysql --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client +CFLAGS="-g -Wimplicit -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wparentheses -Wsign-compare -Wwrite-strings -Wunused -O3 -fno-omit-frame-pointer -mcpu=v8 -Wa,-xarch=v8plusa" CXX=gcc CXXFLAGS="-Wimplicit -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W -Wchar-subscripts -Wformat -Wparentheses -Wsign-compare -Wwrite-strings -Woverloaded-virtual -Wsign-promo -Wreorder -Wctor-dtor-privacy -Wnon-virtual-dtor -felide-constructors -fno-exceptions -fno-rtti -O3 -fno-omit-frame-pointer -mcpu=v8 -Wa,-xarch=v8plusa -g" LIBS="-lmtmalloc" ./configure --prefix=/usr/local/mysql --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client make -j 4 diff --git a/BUILD/compile-solaris-sparc-forte b/BUILD/compile-solaris-sparc-forte index b9fffcb7fdd..f4bf86517d1 100755 --- a/BUILD/compile-solaris-sparc-forte +++ b/BUILD/compile-solaris-sparc-forte @@ -29,7 +29,7 @@ EXTRA="-fast" # Remove comment to target current machine STD="-mt -D_FORTEC_ $EXTRA $EXTRA_64_BIT" CC=cc-5.0 CFLAGS="-Xa -xstrconst $STD" \ -CXX=CC CXXFLAGS="-noex $STD" \ +CXX=CC CXXFLAGS="-noex $STD" LIBS="-lmtmalloc" \ ./configure --prefix=/usr/local/mysql --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --prefix=$PREFIX make -j 4 diff --git a/CMakeLists.txt b/CMakeLists.txt index d64ea3df488..7107a112f19 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -108,18 +108,18 @@ SET(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -DDBUG_OFF") SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4800 /wd4805") SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4800 /wd4805") -IF(CMAKE_GENERATOR MATCHES "Visual Studio 8") +# Disable warnings in Visual Studio 8 and above +IF(MSVC AND NOT CMAKE_GENERATOR MATCHES "Visual Studio 7") SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /wd4996") SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /wd4996") SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /wd4996") SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /wd4996") SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /wd4996") SET(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} /wd4996") -ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 8") - -IF(CMAKE_GENERATOR MATCHES "Visual Studio 7" OR - CMAKE_GENERATOR MATCHES "Visual Studio 8") +ENDIF(MSVC AND NOT CMAKE_GENERATOR MATCHES "Visual Studio 7") +# Settings for Visual Studio 7 and above. +IF(MSVC) # replace /MDd with /MTd STRING(REPLACE "/MD" "/MT" CMAKE_C_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE}) STRING(REPLACE "/MD" "/MT" CMAKE_C_FLAGS_RELWITHDEBINFO ${CMAKE_C_FLAGS_RELWITHDEBINFO}) @@ -149,9 +149,7 @@ IF(CMAKE_GENERATOR MATCHES "Visual Studio 7" OR IF(NOT tmp_manifest) SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /MANIFEST:NO") ENDIF(NOT tmp_manifest) - -ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 7" OR - CMAKE_GENERATOR MATCHES "Visual Studio 8") +ENDIF(MSVC) IF(WIN32) ADD_DEFINITIONS("-D_WINDOWS -D__WIN__ -D_CRT_SECURE_NO_DEPRECATE") diff --git a/Makefile.am b/Makefile.am index fc5138e2778..c0a5334a032 100644 --- a/Makefile.am +++ b/Makefile.am @@ -49,7 +49,7 @@ bin-dist: all $(top_builddir)/scripts/make_binary_distribution @MAKE_BINARY_DISTRIBUTION_OPTIONS@ # Remove BK's "SCCS" subdirectories from source distribution -# Create initial database files for Windows installations. +# Create initial database files for Windows installations and check them. dist-hook: rm -rf `find $(distdir) -type d -name SCCS -print` mkdir -p $(distdir)/win @@ -57,6 +57,9 @@ dist-hook: --builddir=$(top_builddir) \ --datadir=$(distdir)/win/data \ --srcdir=$(top_srcdir) + storage/myisam/myisamchk --silent --fast $(distdir)/win/data/mysql/*.MYI + +all-local: @ABI_CHECK@ tags: support-files/build-tags @@ -231,5 +234,81 @@ test-full-qa: test-binlog-statement test-ext test-fast-view \ test-fast-cursor test-unit +# +# Headers which need to be checked for abi/api compatibility. +# API_PREPROCESSOR_HEADER will be used until mysql_priv.h stablizes +# after which TEST_PREPROCESSOR_HEADER will be used. +# + +API_PREPROCESSOR_HEADER = $(top_srcdir)/include/mysql/plugin.h \ + $(top_srcdir)/include/mysql.h + +TEST_PREPROCESSOR_HEADER = $(top_srcdir)/include/mysql/plugin.h \ + $(top_srcdir)/sql/mysql_priv.h \ + $(top_srcdir)/include/mysql.h + +# +# Rules for checking that the abi/api has not changed. +# +# The following steps are followed in the do_abi_check rule below +# +# 1) Generate preprocessor output for the files that need to +# be tested for abi/api changes. use -nostdinc to prevent +# generation of preprocessor output for system headers. This +# results in messages in stderr saying that these headers +# were not found. Redirect the stderr output to /dev/null +# to prevent seeing these messages. +# 2) sed the output to +# 2.1) remove blank lines and lines that begin with "# " +# 2.2) When gcc -E is run on the Mac OS and solaris sparc platforms it +# introduces a line of output that shows up as a difference between +# the .pp and .out files. Remove these OS specific preprocessor text +# inserted by the preprocessor. +# 3) diff the generated file and the canons (.pp files already in +# the repository). +# 4) delete the .out file that is generated. +# +# If the diff fails, the generated file is not removed. This will +# be useful for analysis of ABI differences (e.g. using a visual +# diff tool). +# +# A ABI change that causes a build to fail will always be accompanied +# by new canons (.out files). The .out files that are not removed will +# be replaced as the new .pp files. +# +# e.g. If include/mysql/plugin.h has an ABI change then this rule would +# leave a /abi_check.out file. +# +# A developer with a justified API change will then do a +# mv /abi_check.out include/mysql/plugin.pp +# to replace the old canons with the new ones. +# + +abi_check: $(API_PREPROCESSOR_HEADER) + $(MAKE) abi_headers="$^" do_abi_check + +abi_check_all: $(TEST_PREPROCESSOR_HEADER) + $(MAKE) abi_headers="$^" do_abi_check + +do_abi_check: + set -ex; \ + for file in $(abi_headers); do \ + @CC@ -E -nostdinc -dI \ + -I$(top_srcdir)/include \ + -I$(top_srcdir)/include/mysql \ + -I$(top_srcdir)/sql \ + -I$(top_builddir)/include \ + -I$(top_builddir)/include/mysql \ + -I$(top_builddir)/sql \ + $$file 2>/dev/null | \ + @SED@ -e '/^# /d' \ + -e '/^[ ]*$$/d' \ + -e '/^#pragma GCC set_debug_pwd/d' \ + -e '/^#ident/d' > \ + $(top_builddir)/abi_check.out; \ + @DIFF@ -w $$file.pp $(top_builddir)/abi_check.out; \ + @RM@ $(top_builddir)/abi_check.out; \ + done + # Don't update the files from bitkeeper %::SCCS/s.% diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt index a20db4134c2..cbd4a1f306b 100755 --- a/client/CMakeLists.txt +++ b/client/CMakeLists.txt @@ -15,7 +15,7 @@ INCLUDE("${PROJECT_SOURCE_DIR}/win/mysql_manifest.cmake") # We use the "mysqlclient_notls" library here just as safety, in case -# any of the clients here would go beond the client API and access the +# any of the clients here would go beyond the client API and access the # Thread Local Storage directly. SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX") @@ -32,9 +32,9 @@ INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ADD_EXECUTABLE(mysql completion_hash.cc mysql.cc readline.cc sql_string.cc ../mysys/my_conio.c) TARGET_LINK_LIBRARIES(mysql mysqlclient_notls wsock32) -ADD_EXECUTABLE(mysqltest mysqltest.c ../mysys/my_getsystime.c - ../mysys/my_copy.c ../mysys/my_mkdir.c) -TARGET_LINK_LIBRARIES(mysqltest mysqlclient_notls regex wsock32) +ADD_EXECUTABLE(mysqltest mysqltest.c) +SET_SOURCE_FILES_PROPERTIES(mysqltest.c PROPERTIES COMPILE_FLAGS "-DTHREADS") +TARGET_LINK_LIBRARIES(mysqltest mysqlclient mysys regex wsock32 dbug) ADD_EXECUTABLE(mysqlcheck mysqlcheck.c) TARGET_LINK_LIBRARIES(mysqlcheck mysqlclient_notls wsock32) diff --git a/client/Makefile.am b/client/Makefile.am index c57a5673367..c5c82ec0a42 100644 --- a/client/Makefile.am +++ b/client/Makefile.am @@ -86,11 +86,14 @@ mysqlslap_LDADD = $(CXXLDFLAGS) $(CLIENT_THREAD_LIBS) \ $(LIBMYSQLCLIENT_LA) \ $(top_builddir)/mysys/libmysys.a -mysqltest_SOURCES= mysqltest.c \ - $(top_srcdir)/mysys/my_getsystime.c \ - $(top_srcdir)/mysys/my_copy.c \ - $(top_srcdir)/mysys/my_mkdir.c -mysqltest_LDADD = $(top_builddir)/regex/libregex.a $(LDADD) +mysqltest_SOURCES= mysqltest.c +mysqltest_CFLAGS= -DTHREAD -UUNDEF_THREADS_HACK +mysqltest_LDADD = $(CXXLDFLAGS) \ + @CLIENT_EXTRA_LDFLAGS@ \ + $(LIBMYSQLCLIENT_LA) \ + $(top_builddir)/mysys/libmysys.a \ + $(top_builddir)/regex/libregex.a \ + $(CLIENT_THREAD_LIBS) mysql_upgrade_SOURCES= mysql_upgrade.c \ $(top_srcdir)/mysys/my_getpagesize.c @@ -101,6 +104,7 @@ DEFS = -DUNDEF_THREADS_HACK \ -DDATADIR="\"$(localstatedir)\"" sql_src=log_event.h mysql_priv.h rpl_constants.h \ + rpl_utility.h rpl_tblmap.h rpl_tblmap.cc \ log_event.cc my_decimal.h my_decimal.cc \ log_event_old.h log_event_old.cc \ rpl_record_old.h rpl_record_old.cc diff --git a/client/mysql.cc b/client/mysql.cc index 234180c3c75..024194d81f6 100644 --- a/client/mysql.cc +++ b/client/mysql.cc @@ -1821,7 +1821,7 @@ static int read_and_execute(bool interactive) the very beginning of a text file when you save the file using "Unicode UTF-8" format. */ - if (!line_number && + if (line && !line_number && (uchar) line[0] == 0xEF && (uchar) line[1] == 0xBB && (uchar) line[2] == 0xBF) @@ -2176,7 +2176,14 @@ static bool add_line(String &buffer,char *line,char *in_string, } else if (!*ml_comment && (!*in_string && (inchar == '#' || inchar == '-' && pos[1] == '-' && - my_isspace(charset_info,pos[2])))) + /* + The third byte is either whitespace or is the + end of the line -- which would occur only + because of the user sending newline -- which is + itself whitespace and should also match. + */ + (my_isspace(charset_info,pos[2]) || + !pos[2])))) { // Flush previously accepted characters if (out != line) diff --git a/client/mysql_upgrade.c b/client/mysql_upgrade.c index 6c5ca039a41..4d2460dc4e7 100644 --- a/client/mysql_upgrade.c +++ b/client/mysql_upgrade.c @@ -269,6 +269,10 @@ get_one_option(int optid, const struct my_option *opt, } +/** + Run a command using the shell, storing its output in the supplied dynamic + string. +*/ static int run_command(char* cmd, DYNAMIC_STRING *ds_res) { @@ -341,37 +345,15 @@ static int run_tool(char *tool_path, DYNAMIC_STRING *ds_res, ...) } -/* - Try to get the full path to this exceutable - - Return 0 if path found - +/** + Look for the filename of given tool, with the presumption that it is in the + same directory as mysql_upgrade and that the same executable-searching + mechanism will be used when we run our sub-shells with popen() later. */ - -static my_bool get_full_path_to_executable(char* path) +static void find_tool(char *tool_executable_name, const char *tool_name, + const char *self_name) { - my_bool ret; - DBUG_ENTER("get_full_path_to_executable"); -#ifdef __WIN__ - ret= (GetModuleFileName(NULL, path, FN_REFLEN) == 0); -#else - /* my_readlink returns 0 if a symlink was read */ - ret= (my_readlink(path, "/proc/self/exe", MYF(0)) != 0); - /* Might also want to try with /proc/$$/exe if the above fails */ -#endif - DBUG_PRINT("exit", ("path: %s", path)); - DBUG_RETURN(ret); -} - - -/* - Look for the tool in the same directory as mysql_upgrade. -*/ - -static void find_tool(char *tool_path, const char *tool_name) -{ - size_t path_len; - char path[FN_REFLEN]; + char *last_fn_libchar; DYNAMIC_STRING ds_tmp; DBUG_ENTER("find_tool"); DBUG_PRINT("enter", ("progname: %s", my_progname)); @@ -379,77 +361,59 @@ static void find_tool(char *tool_path, const char *tool_name) if (init_dynamic_string(&ds_tmp, "", 32, 32)) die("Out of memory"); - /* Initialize path with the full path to this program */ - if (get_full_path_to_executable(path)) + last_fn_libchar= strrchr(self_name, FN_LIBCHAR); + + if (last_fn_libchar == NULL) { /* - Easy way to get full executable path failed, try - other methods + mysql_upgrade was found by the shell searching the path. A sibling + next to us should be found the same way. */ - if (my_progname[0] == FN_LIBCHAR) - { - /* 1. my_progname contains full path */ - strmake(path, my_progname, FN_REFLEN); - } - else if (my_progname[0] == '.') - { - /* 2. my_progname contains relative path, prepend wd */ - char buf[FN_REFLEN]; - my_getwd(buf, FN_REFLEN, MYF(0)); - my_snprintf(path, FN_REFLEN, "%s%s", buf, my_progname); - } - else - { - /* 3. Just go for it and hope tool is in path */ - path[0]= 0; - } + strncpy(tool_executable_name, tool_name, FN_REFLEN); } - - DBUG_PRINT("info", ("path: '%s'", path)); - - /* Chop off binary name (i.e mysql-upgrade) from path */ - dirname_part(path, path, &path_len); - - /* - When running in a not yet installed build and using libtool, - the program(mysql_upgrade) will be in .libs/ and executed - through a libtool wrapper in order to use the dynamic libraries - from this build. The same must be done for the tools(mysql and - mysqlcheck). Thus if path ends in .libs/, step up one directory - and execute the tools from there - */ - path[max(path_len-1, 0)]= 0; /* Chop off last / */ - if (strncmp(path + dirname_length(path), ".libs", 5) == 0) + else { - DBUG_PRINT("info", ("Chopping off .libs from '%s'", path)); + int len; - /* Chop off .libs */ - dirname_part(path, path, &path_len); + /* + mysql_upgrade was run absolutely or relatively. We can find a sibling + by replacing our name after the LIBCHAR with the new tool name. + */ + + /* + When running in a not yet installed build and using libtool, + the program(mysql_upgrade) will be in .libs/ and executed + through a libtool wrapper in order to use the dynamic libraries + from this build. The same must be done for the tools(mysql and + mysqlcheck). Thus if path ends in .libs/, step up one directory + and execute the tools from there + */ + if (((last_fn_libchar - 6) >= self_name) && + (strncmp(last_fn_libchar - 5, ".libs", 5) == 0) && + (*(last_fn_libchar - 6) == FN_LIBCHAR)) + { + DBUG_PRINT("info", ("Chopping off \".libs\" from end of path")); + last_fn_libchar -= 6; + } + + len= last_fn_libchar - self_name; + + my_snprintf(tool_executable_name, FN_REFLEN, "%.*s%c%s", + len, self_name, FN_LIBCHAR, tool_name); } - - DBUG_PRINT("info", ("path: '%s'", path)); - - /* Format name of the tool to search for */ - fn_format(tool_path, tool_name, - path, "", MYF(MY_REPLACE_DIR)); - - verbose("Looking for '%s' in: %s", tool_name, tool_path); - - /* Make sure the tool exists */ - if (my_access(tool_path, F_OK) != 0) - die("Can't find '%s'", tool_path); + verbose("Looking for '%s' as: %s", tool_name, tool_executable_name); /* Make sure it can be executed */ - if (run_tool(tool_path, + if (run_tool(tool_executable_name, &ds_tmp, /* Get output from command, discard*/ "--help", "2>&1", IF_WIN("> NUL", "> /dev/null"), NULL)) - die("Can't execute '%s'", tool_path); + die("Can't execute '%s'", tool_executable_name); dynstr_free(&ds_tmp); @@ -759,11 +723,20 @@ static const char *load_default_groups[]= int main(int argc, char **argv) { + char self_name[FN_REFLEN]; + MY_INIT(argv[0]); #ifdef __NETWARE__ setscreenmode(SCR_AUTOCLOSE_ON_EXIT); #endif +#if __WIN__ + if (GetModuleFileName(NULL, self_name, FN_REFLEN) == 0) +#endif + { + strncpy(self_name, argv[0], FN_REFLEN); + } + if (init_dynamic_string(&ds_args, "", 512, 256)) die("Out of memory"); @@ -789,10 +762,10 @@ int main(int argc, char **argv) dynstr_append(&ds_args, " "); /* Find mysql */ - find_tool(mysql_path, IF_WIN("mysql.exe", "mysql")); + find_tool(mysql_path, IF_WIN("mysql.exe", "mysql"), self_name); /* Find mysqlcheck */ - find_tool(mysqlcheck_path, IF_WIN("mysqlcheck.exe", "mysqlcheck")); + find_tool(mysqlcheck_path, IF_WIN("mysqlcheck.exe", "mysqlcheck"), self_name); /* Read the mysql_upgrade_info file to check if mysql_upgrade diff --git a/client/mysqlbinlog.cc b/client/mysqlbinlog.cc index 9f021115d5d..0b8e843887d 100644 --- a/client/mysqlbinlog.cc +++ b/client/mysqlbinlog.cc @@ -64,7 +64,8 @@ static void warning(const char *format, ...) ATTRIBUTE_FORMAT(printf, 1, 2); static bool one_database=0, to_last_remote_log= 0, disable_log_bin= 0; static bool opt_hexdump= 0; -const char *base64_output_mode_names[]= {"NEVER", "AUTO", "ALWAYS", NullS}; +const char *base64_output_mode_names[]= +{"NEVER", "AUTO", "ALWAYS", "UNSPEC", "DECODE-ROWS", NullS}; TYPELIB base64_output_mode_typelib= { array_elements(base64_output_mode_names) - 1, "", base64_output_mode_names, NULL }; @@ -83,6 +84,8 @@ static const char* user = 0; static char* pass = 0; static char *charset= 0; +static uint verbose= 0; + static ulonglong start_position, stop_position; #define start_position_mot ((my_off_t)start_position) #define stop_position_mot ((my_off_t)stop_position) @@ -1063,6 +1066,9 @@ that may lead to an endless loop.", {"user", 'u', "Connect to the remote server as username.", (uchar**) &user, (uchar**) &user, 0, GET_STR_ALLOC, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, + {"verbose", 'v', "Reconstruct SQL statements out of row events. " + "-v -v adds comments on column data types", + 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}, {"version", 'V', "Print version and exit.", 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}, {"open_files_limit", OPT_OPEN_FILES_LIMIT, @@ -1258,6 +1264,12 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)), (find_type_or_exit(argument, &base64_output_mode_typelib, opt->name)-1); } break; + case 'v': + if (argument == disabled_my_option) + verbose= 0; + else + verbose++; + break; case 'V': print_version(); exit(0); @@ -1343,6 +1355,8 @@ static Exit_status dump_log_entries(const char* logname) */ fprintf(result_file, "DELIMITER /*!*/;\n"); strmov(print_event_info.delimiter, "/*!*/;"); + + print_event_info.verbose= short_form ? 0 : verbose; rc= (remote_opt ? dump_remote_log_entries(&print_event_info, logname) : dump_local_log_entries(&print_event_info, logname)); diff --git a/client/mysqldump.c b/client/mysqldump.c index 58959f56a89..c068b2ff16e 100644 --- a/client/mysqldump.c +++ b/client/mysqldump.c @@ -2396,8 +2396,15 @@ static uint get_table_structure(char *table, char *db, char *table_type, fprintf(sql_file, ",\n %s %s", quote_name(row[0], name_buff, 0), row[1]); } + + /* + Stand-in tables are always MyISAM tables as the default + engine might have a column-limit that's lower than the + number of columns in the view, and MyISAM support is + guaranteed to be in the server anyway. + */ fprintf(sql_file, - "\n) */;\n" + "\n) ENGINE=MyISAM */;\n" "SET character_set_client = @saved_cs_client;\n"); check_io(sql_file); diff --git a/client/mysqltest.c b/client/mysqltest.c index bd7a84e2d6a..6babc42bcd0 100644 --- a/client/mysqltest.c +++ b/client/mysqltest.c @@ -48,7 +48,15 @@ #ifdef __WIN__ #include #endif +#include +#include +#ifdef __WIN__ +#include +#define SIGNAL_FMT "exception 0x%x" +#else +#define SIGNAL_FMT "signal %d" +#endif /* Use cygwin for --exec and --system before 5.0 */ #if MYSQL_VERSION_ID < 50000 @@ -163,6 +171,8 @@ static ulonglong timer_now(void); static ulonglong progress_start= 0; +static ulong connection_retry_sleep= 100000; /* Microseconds */ + /* Precompiled re's */ static my_regex_t ps_re; /* the query can be run using PS protocol */ static my_regex_t sp_re; /* the query can be run as a SP */ @@ -214,6 +224,7 @@ struct st_connection /* Used when creating views and sp, to avoid implicit commit */ MYSQL* util_mysql; char *name; + size_t name_len; MYSQL_STMT* stmt; #ifdef EMBEDDED_LIBRARY @@ -267,7 +278,8 @@ enum enum_commands { Q_REPLACE_REGEX, Q_REMOVE_FILE, Q_FILE_EXIST, Q_WRITE_FILE, Q_COPY_FILE, Q_PERL, Q_DIE, Q_EXIT, Q_SKIP, Q_CHMOD_FILE, Q_APPEND_FILE, Q_CAT_FILE, Q_DIFF_FILES, - Q_SEND_QUIT, Q_CHANGE_USER, Q_MKDIR, Q_RMDIR, + Q_SEND_QUIT, Q_CHANGE_USER, Q_MKDIR, Q_RMDIR, Q_LIST_FILES, + Q_LIST_FILES_WRITE_FILE, Q_LIST_FILES_APPEND_FILE, Q_UNKNOWN, /* Unknown command. */ Q_COMMENT, /* Comments, ignored. */ @@ -359,6 +371,9 @@ const char *command_names[]= "change_user", "mkdir", "rmdir", + "list_files", + "list_files_write_file", + "list_files_append_file", 0 }; @@ -482,6 +497,9 @@ void replace_dynstr_append(DYNAMIC_STRING *ds, const char *val); void replace_dynstr_append_uint(DYNAMIC_STRING *ds, uint val); void dynstr_append_sorted(DYNAMIC_STRING* ds, DYNAMIC_STRING* ds_input); +static int match_expected_error(struct st_command *command, + unsigned int err_errno, + const char *err_sqlstate); void handle_error(struct st_command*, unsigned int err_errno, const char *err_error, const char *err_sqlstate, DYNAMIC_STRING *ds); @@ -835,29 +853,25 @@ void check_command_args(struct st_command *command, DBUG_VOID_RETURN; } - void handle_command_error(struct st_command *command, uint error) { DBUG_ENTER("handle_command_error"); DBUG_PRINT("enter", ("error: %d", error)); if (error != 0) { - uint i; + int i; if (command->abort_on_error) die("command \"%.*s\" failed with error %d", command->first_word_len, command->query, error); - for (i= 0; i < command->expected_errors.count; i++) + + i= match_expected_error(command, error, NULL); + + if (i >= 0) { - DBUG_PRINT("info", ("expected error: %d", - command->expected_errors.err[i].code.errnum)); - if ((command->expected_errors.err[i].type == ERR_ERRNO) && - (command->expected_errors.err[i].code.errnum == error)) - { - DBUG_PRINT("info", ("command \"%.*s\" failed with expected error: %d", - command->first_word_len, command->query, error)); - DBUG_VOID_RETURN; - } + DBUG_PRINT("info", ("command \"%.*s\" failed with expected error: %d", + command->first_word_len, command->query, error)); + DBUG_VOID_RETURN; } die("command \"%.*s\" failed with wrong error: %d", command->first_word_len, command->query, error); @@ -2452,8 +2466,8 @@ void do_exec(struct st_command *command) error= pclose(res_file); if (error > 0) { - uint status= WEXITSTATUS(error), i; - my_bool ok= 0; + uint status= WEXITSTATUS(error); + int i; if (command->abort_on_error) { @@ -2465,19 +2479,13 @@ void do_exec(struct st_command *command) DBUG_PRINT("info", ("error: %d, status: %d", error, status)); - for (i= 0; i < command->expected_errors.count; i++) - { - DBUG_PRINT("info", ("expected error: %d", - command->expected_errors.err[i].code.errnum)); - if ((command->expected_errors.err[i].type == ERR_ERRNO) && - (command->expected_errors.err[i].code.errnum == status)) - { - ok= 1; - DBUG_PRINT("info", ("command \"%s\" failed with expected error: %d", - command->first_argument, status)); - } - } - if (!ok) + + i= match_expected_error(command, status, NULL); + + if (i >= 0) + DBUG_PRINT("info", ("command \"%s\" failed with expected error: %d", + command->first_argument, status)); + else { dynstr_free(&ds_cmd); die("command \"%s\" failed with wrong error: %d", @@ -2827,6 +2835,126 @@ void do_rmdir(struct st_command *command) } +/* + SYNOPSIS + get_list_files + ds output + ds_dirname dir to list + ds_wild wild-card file pattern (can be empty) + + DESCRIPTION + list all entries in directory (matching ds_wild if given) +*/ + +static int get_list_files(DYNAMIC_STRING *ds, const DYNAMIC_STRING *ds_dirname, + const DYNAMIC_STRING *ds_wild) +{ + uint i; + MY_DIR *dir_info; + FILEINFO *file; + DBUG_ENTER("get_list_files"); + + DBUG_PRINT("info", ("listing directory: %s", ds_dirname->str)); + /* Note that my_dir sorts the list if not given any flags */ + if (!(dir_info= my_dir(ds_dirname->str, MYF(0)))) + DBUG_RETURN(1); + for (i= 0; i < (uint) dir_info->number_off_files; i++) + { + file= dir_info->dir_entry + i; + if (file->name[0] == '.' && + (file->name[1] == '\0' || + (file->name[1] == '.' && file->name[2] == '\0'))) + continue; /* . or .. */ + if (ds_wild && ds_wild->length && + wild_compare(file->name, ds_wild->str, 0)) + continue; + dynstr_append(ds, file->name); + dynstr_append(ds, "\n"); + } + my_dirend(dir_info); + DBUG_RETURN(0); +} + + +/* + SYNOPSIS + do_list_files + command called command + + DESCRIPTION + list_files [] + List files and directories in directory (like `ls`) + [Matching , where wild-cards are allowed] +*/ + +static void do_list_files(struct st_command *command) +{ + int error; + static DYNAMIC_STRING ds_dirname; + static DYNAMIC_STRING ds_wild; + const struct command_arg list_files_args[] = { + {"dirname", ARG_STRING, TRUE, &ds_dirname, "Directory to list"}, + {"file", ARG_STRING, FALSE, &ds_wild, "Filename (incl. wildcard)"} + }; + DBUG_ENTER("do_list_files"); + + check_command_args(command, command->first_argument, + list_files_args, + sizeof(list_files_args)/sizeof(struct command_arg), ' '); + + error= get_list_files(&ds_res, &ds_dirname, &ds_wild); + handle_command_error(command, error); + dynstr_free(&ds_dirname); + dynstr_free(&ds_wild); + DBUG_VOID_RETURN; +} + + +/* + SYNOPSIS + do_list_files_write_file_command + command called command + append append file, or create new + + DESCRIPTION + list_files_{write|append}_file [] + List files and directories in directory (like `ls`) + [Matching , where wild-cards are allowed] + + Note: File will be truncated if exists and append is not true. +*/ + +static void do_list_files_write_file_command(struct st_command *command, + my_bool append) +{ + int error; + static DYNAMIC_STRING ds_content; + static DYNAMIC_STRING ds_filename; + static DYNAMIC_STRING ds_dirname; + static DYNAMIC_STRING ds_wild; + const struct command_arg list_files_args[] = { + {"filename", ARG_STRING, TRUE, &ds_filename, "Filename for write"}, + {"dirname", ARG_STRING, TRUE, &ds_dirname, "Directory to list"}, + {"file", ARG_STRING, FALSE, &ds_wild, "Filename (incl. wildcard)"} + }; + DBUG_ENTER("do_list_files_write_file"); + + check_command_args(command, command->first_argument, + list_files_args, + sizeof(list_files_args)/sizeof(struct command_arg), ' '); + + init_dynamic_string(&ds_content, "", 1024, 1024); + error= get_list_files(&ds_content, &ds_dirname, &ds_wild); + handle_command_error(command, error); + str_to_file2(ds_filename.str, ds_content.str, ds_content.length, append); + dynstr_free(&ds_content); + dynstr_free(&ds_filename); + dynstr_free(&ds_dirname); + dynstr_free(&ds_wild); + DBUG_VOID_RETURN; +} + + /* Read characters from line buffer or file. This is needed to allow my_ungetc() to buffer MAX_DELIMITER_LENGTH characters for a file @@ -4157,7 +4285,6 @@ void safe_connect(MYSQL* mysql, const char *name, const char *host, int port, const char *sock) { int failed_attempts= 0; - static ulong connection_retry_sleep= 100000; /* Microseconds */ DBUG_ENTER("safe_connect"); while(!mysql_real_connect(mysql, host,user, pass, db, port, sock, @@ -4224,6 +4351,7 @@ int connect_n_handle_errors(struct st_command *command, const char* db, int port, const char* sock) { DYNAMIC_STRING *ds; + int failed_attempts= 0; ds= &ds_res; @@ -4252,9 +4380,41 @@ int connect_n_handle_errors(struct st_command *command, dynstr_append_mem(ds, delimiter, delimiter_length); dynstr_append_mem(ds, "\n", 1); } - if (!mysql_real_connect(con, host, user, pass, db, port, sock ? sock: 0, + while (!mysql_real_connect(con, host, user, pass, db, port, sock ? sock: 0, CLIENT_MULTI_STATEMENTS)) { + /* + If we have used up all our connections check whether this + is expected (by --error). If so, handle the error right away. + Otherwise, give it some extra time to rule out race-conditions. + If extra-time doesn't help, we have an unexpected error and + must abort -- just proceeding to handle_error() when second + and third chances are used up will handle that for us. + + There are various user-limits of which only max_user_connections + and max_connections_per_hour apply at connect time. For the + the second to create a race in our logic, we'd need a limits + test that runs without a FLUSH for longer than an hour, so we'll + stay clear of trying to work out which exact user-limit was + exceeded. + */ + + if (((mysql_errno(con) == ER_TOO_MANY_USER_CONNECTIONS) || + (mysql_errno(con) == ER_USER_LIMIT_REACHED)) && + (failed_attempts++ < opt_max_connect_retries)) + { + int i; + + i= match_expected_error(command, mysql_errno(con), mysql_sqlstate(con)); + + if (i >= 0) + goto do_handle_error; /* expected error, handle */ + + my_sleep(connection_retry_sleep); /* unexpected error, wait */ + continue; /* and give it 1 more chance */ + } + +do_handle_error: var_set_errno(mysql_errno(con)); handle_error(command, mysql_errno(con), mysql_error(con), mysql_sqlstate(con), ds); @@ -4436,6 +4596,7 @@ void do_connect(struct st_command *command) ds_connection_name.str)); if (!(con_slot->name= my_strdup(ds_connection_name.str, MYF(MY_WME)))) die("Out of memory"); + con_slot->name_len= strlen(con_slot->name); cur_con= con_slot; if (con_slot == next_con) @@ -6015,6 +6176,56 @@ end: } +/* + Check whether given error is in list of expected errors + + SYNOPSIS + match_expected_error() + + PARAMETERS + command the current command (and its expect-list) + err_errno error number of the error that actually occurred + err_sqlstate SQL-state that was thrown, or NULL for impossible + (file-ops, diff, etc.) + + RETURNS + -1 for not in list, index in list of expected errors otherwise + + NOTE + If caller needs to know whether the list was empty, they should + check command->expected_errors.count. +*/ + +static int match_expected_error(struct st_command *command, + unsigned int err_errno, + const char *err_sqlstate) +{ + uint i; + + for (i= 0 ; (uint) i < command->expected_errors.count ; i++) + { + if ((command->expected_errors.err[i].type == ERR_ERRNO) && + (command->expected_errors.err[i].code.errnum == err_errno)) + return i; + + if (command->expected_errors.err[i].type == ERR_SQLSTATE) + { + /* + NULL is quite likely, but not in conjunction with a SQL-state expect! + */ + if (unlikely(err_sqlstate == NULL)) + die("expecting a SQL-state (%s) from query '%s' which cannot produce one...", + command->expected_errors.err[i].code.sqlstate, command->query); + + if (strncmp(command->expected_errors.err[i].code.sqlstate, + err_sqlstate, SQLSTATE_LENGTH) == 0) + return i; + } + } + return -1; +} + + /* Handle errors which occurred during execution @@ -6035,7 +6246,7 @@ void handle_error(struct st_command *command, unsigned int err_errno, const char *err_error, const char *err_sqlstate, DYNAMIC_STRING *ds) { - uint i; + int i; DBUG_ENTER("handle_error"); @@ -6061,34 +6272,30 @@ void handle_error(struct st_command *command, DBUG_PRINT("info", ("expected_errors.count: %d", command->expected_errors.count)); - for (i= 0 ; (uint) i < command->expected_errors.count ; i++) + + i= match_expected_error(command, err_errno, err_sqlstate); + + if (i >= 0) { - if (((command->expected_errors.err[i].type == ERR_ERRNO) && - (command->expected_errors.err[i].code.errnum == err_errno)) || - ((command->expected_errors.err[i].type == ERR_SQLSTATE) && - (strncmp(command->expected_errors.err[i].code.sqlstate, - err_sqlstate, SQLSTATE_LENGTH) == 0))) + if (!disable_result_log) { - if (!disable_result_log) + if (command->expected_errors.count == 1) { - if (command->expected_errors.count == 1) - { - /* Only log error if there is one possible error */ - dynstr_append_mem(ds, "ERROR ", 6); - replace_dynstr_append(ds, err_sqlstate); - dynstr_append_mem(ds, ": ", 2); - replace_dynstr_append(ds, err_error); - dynstr_append_mem(ds,"\n",1); - } - /* Don't log error if we may not get an error */ - else if (command->expected_errors.err[0].type == ERR_SQLSTATE || - (command->expected_errors.err[0].type == ERR_ERRNO && - command->expected_errors.err[0].code.errnum != 0)) - dynstr_append(ds,"Got one of the listed errors\n"); + /* Only log error if there is one possible error */ + dynstr_append_mem(ds, "ERROR ", 6); + replace_dynstr_append(ds, err_sqlstate); + dynstr_append_mem(ds, ": ", 2); + replace_dynstr_append(ds, err_error); + dynstr_append_mem(ds,"\n",1); } - /* OK */ - DBUG_VOID_RETURN; + /* Don't log error if we may not get an error */ + else if (command->expected_errors.err[0].type == ERR_SQLSTATE || + (command->expected_errors.err[0].type == ERR_ERRNO && + command->expected_errors.err[0].code.errnum != 0)) + dynstr_append(ds,"Got one of the listed errors\n"); } + /* OK */ + DBUG_VOID_RETURN; } DBUG_PRINT("info",("i: %d expected_errors: %d", i, @@ -6103,7 +6310,7 @@ void handle_error(struct st_command *command, dynstr_append_mem(ds, "\n", 1); } - if (i) + if (command->expected_errors.count > 0) { if (command->expected_errors.err[0].type == ERR_ERRNO) die("query '%s' failed with wrong errno %d: '%s', instead of %d...", @@ -6838,6 +7045,104 @@ void mark_progress(struct st_command* command __attribute__((unused)), } +#ifdef HAVE_STACKTRACE + +static void dump_backtrace(void) +{ + struct st_connection *conn= cur_con; + + my_safe_print_str("read_command_buf", read_command_buf, + sizeof(read_command_buf)); + if (conn) + { + my_safe_print_str("conn->name", conn->name, conn->name_len); +#ifdef EMBEDDED_LIBRARY + my_safe_print_str("conn->cur_query", conn->cur_query, conn->cur_query_len); +#endif + } + fputs("Attempting backtrace...\n", stderr); + my_print_stacktrace(NULL, my_thread_stack_size); +} + +#else + +static void dump_backtrace(void) +{ + fputs("Backtrace not available.\n", stderr); +} + +#endif + +static sig_handler signal_handler(int sig) +{ + fprintf(stderr, "mysqltest got " SIGNAL_FMT "\n", sig); + dump_backtrace(); +} + +#ifdef __WIN__ + +LONG WINAPI exception_filter(EXCEPTION_POINTERS *exp) +{ + __try + { + my_set_exception_pointers(exp); + signal_handler(exp->ExceptionRecord->ExceptionCode); + } + __except(EXCEPTION_EXECUTE_HANDLER) + { + fputs("Got exception in exception handler!\n", stderr); + } + + return EXCEPTION_CONTINUE_SEARCH; +} + + +static void init_signal_handling(void) +{ + UINT mode; + + /* Set output destination of messages to the standard error stream. */ + _CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_FILE); + _CrtSetReportFile(_CRT_WARN, _CRTDBG_FILE_STDERR); + _CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_FILE); + _CrtSetReportFile(_CRT_ERROR, _CRTDBG_FILE_STDERR); + _CrtSetReportMode(_CRT_ASSERT, _CRTDBG_MODE_FILE); + _CrtSetReportFile(_CRT_ASSERT, _CRTDBG_FILE_STDERR); + + /* Do not not display the a error message box. */ + mode= SetErrorMode(0) | SEM_FAILCRITICALERRORS | SEM_NOOPENFILEERRORBOX; + SetErrorMode(mode); + + SetUnhandledExceptionFilter(exception_filter); +} + +#else /* __WIN__ */ + +static void init_signal_handling(void) +{ + struct sigaction sa; + DBUG_ENTER("init_signal_handling"); + +#ifdef HAVE_STACKTRACE + my_init_stacktrace(); +#endif + + sa.sa_flags = SA_RESETHAND | SA_NODEFER; + sigemptyset(&sa.sa_mask); + sigprocmask(SIG_SETMASK, &sa.sa_mask, NULL); + + sa.sa_handler= signal_handler; + + sigaction(SIGSEGV, &sa, NULL); + sigaction(SIGABRT, &sa, NULL); +#ifdef SIGBUS + sigaction(SIGBUS, &sa, NULL); +#endif + sigaction(SIGILL, &sa, NULL); + sigaction(SIGFPE, &sa, NULL); +} + +#endif /* !__WIN__ */ int main(int argc, char **argv) { @@ -6851,6 +7156,8 @@ int main(int argc, char **argv) save_file[0]= 0; TMPDIR[0]= 0; + init_signal_handling(); + /* Init expected errors */ memset(&saved_expected_errors, 0, sizeof(saved_expected_errors)); @@ -7037,6 +7344,13 @@ int main(int argc, char **argv) case Q_REMOVE_FILE: do_remove_file(command); break; case Q_MKDIR: do_mkdir(command); break; case Q_RMDIR: do_rmdir(command); break; + case Q_LIST_FILES: do_list_files(command); break; + case Q_LIST_FILES_WRITE_FILE: + do_list_files_write_file_command(command, FALSE); + break; + case Q_LIST_FILES_APPEND_FILE: + do_list_files_write_file_command(command, TRUE); + break; case Q_FILE_EXIST: do_file_exist(command); break; case Q_WRITE_FILE: do_write_file(command); break; case Q_APPEND_FILE: do_append_file(command); break; diff --git a/config/ac-macros/character_sets.m4 b/config/ac-macros/character_sets.m4 index ea2763a1cd4..a9f7bd73858 100644 --- a/config/ac-macros/character_sets.m4 +++ b/config/ac-macros/character_sets.m4 @@ -343,8 +343,8 @@ case $default_charset in default_charset_default_collation="ucs2_general_ci" define(UCSC1, ucs2_general_ci ucs2_bin) define(UCSC2, ucs2_czech_ci ucs2_danish_ci) - define(UCSC3, ucs2_esperanto_ci ucs2_estonian_ci ucs2_icelandic_ci) - define(UCSC4, ucs2_latvian_ci ucs2_lithuanian_ci) + define(UCSC3, ucs2_esperanto_ci ucs2_estonian_ci ucs2_hungarian_ci) + define(UCSC4, ucs2_icelandic_ci ucs2_latvian_ci ucs2_lithuanian_ci) define(UCSC5, ucs2_persian_ci ucs2_polish_ci ucs2_romanian_ci) define(UCSC6, ucs2_slovak_ci ucs2_slovenian_ci) define(UCSC7, ucs2_spanish2_ci ucs2_spanish_ci) @@ -367,8 +367,8 @@ case $default_charset in else define(UTFC1, utf8_general_ci utf8_bin) define(UTFC2, utf8_czech_ci utf8_danish_ci) - define(UTFC3, utf8_esperanto_ci utf8_estonian_ci utf8_icelandic_ci) - define(UTFC4, utf8_latvian_ci utf8_lithuanian_ci) + define(UTFC3, utf8_esperanto_ci utf8_estonian_ci utf8_hungarian_ci) + define(UTFC4, utf8_icelandic_ci utf8_latvian_ci utf8_lithuanian_ci) define(UTFC5, utf8_persian_ci utf8_polish_ci utf8_romanian_ci) define(UTFC6, utf8_slovak_ci utf8_slovenian_ci) define(UTFC7, utf8_spanish2_ci utf8_spanish_ci) diff --git a/configure.in b/configure.in index af23b6035eb..c75bd617f8f 100644 --- a/configure.in +++ b/configure.in @@ -10,7 +10,7 @@ AC_CANONICAL_SYSTEM # # When changing major version number please also check switch statement # in mysqlbinlog::check_master_version(). -AM_INIT_AUTOMAKE(mysql, 5.1.26-rc) +AM_INIT_AUTOMAKE(mysql, 5.1.30) AM_CONFIG_HEADER([include/config.h:config.h.in]) PROTOCOL_VERSION=10 @@ -419,6 +419,7 @@ AC_PATH_PROG(SED, sed, sed) AC_PATH_PROG(CMP, cmp, cmp) AC_PATH_PROG(CHMOD, chmod, chmod) AC_PATH_PROG(HOSTNAME, hostname, hostname) +AC_PATH_PROG(DIFF, diff, diff) # Check for a GNU tar named 'gtar', or 'gnutar' (MacOS X) and # fall back to 'tar' otherwise and hope that it's a GNU tar as well AC_CHECK_PROGS(TAR, gnutar gtar tar) @@ -443,66 +444,61 @@ AC_SUBST(HOSTNAME) AC_SUBST(PERL) AC_SUBST(PERL5) -# icheck, used for ABI check -AC_PATH_PROG(ICHECK, icheck, no) -# "icheck" is also the name of a file system check program on Tru64. -# Verify the program found is really the interface checker. -if test "x$ICHECK" != "xno" -then - AC_MSG_CHECKING(if $ICHECK works as expected) - echo "int foo;" > conftest.h - $ICHECK --canonify -o conftest.ic conftest.h 2>/dev/null - if test -f "conftest.ic" - then - AC_MSG_RESULT(yes) - else - AC_MSG_RESULT(no) - ICHECK=no - fi - rm -f conftest.ic conftest.h -fi -AC_SUBST(ICHECK) +# Enable the abi_check rule only if gcc is available -# Lock for PS +if expr "$CC" : ".*gcc.*" +then + ABI_CHECK="abi_check" +else + ABI_CHECK="" +fi + +AC_SUBST(ABI_CHECK) + +# Look for PS usage. We use double dollar-signs in FIND_PROC because this +# value is written to a makefile, which interprets away one level of +# dollar-signs. So, interpretation stages are m4 and then shell in autoconf, +# then Make, then shell. The autoconf substitution uses single quotes, so +# no unprotected single quotes should appear in the expression. AC_PATH_PROG(PS, ps, ps) AC_MSG_CHECKING("how to check if pid exists") PS=$ac_cv_path_PS # Linux style -if $PS p $$ 2> /dev/null | grep `echo $0 | sed s/\-//` > /dev/null +if $PS wwwp $$ 2> /dev/null | grep -- "$0" > /dev/null then - FIND_PROC="$PS p \$\$PID | grep -v grep | grep \$\$MYSQLD > /dev/null" + FIND_PROC="$PS wwwp \$\$PID | grep -v \" grep\" | grep -v mysqld_safe | grep -- \"\$\$MYSQLD\" > /dev/null" # Solaris -elif $PS -fp $$ 2> /dev/null | grep $0 > /dev/null +elif $PS -fp $$ 2> /dev/null | grep -- $0 > /dev/null then - FIND_PROC="$PS -p \$\$PID | grep -v grep | grep \$\$MYSQLD > /dev/null" + FIND_PROC="$PS -p \$\$PID | grep -v \" grep\" | grep -v mysqld_safe | grep -- \"\$\$MYSQLD\" > /dev/null" # BSD style -elif $PS -uaxww 2> /dev/null | grep $0 > /dev/null +elif $PS -uaxww 2> /dev/null | grep -- $0 > /dev/null then - FIND_PROC="$PS -uaxww | grep -v grep | grep \$\$MYSQLD | grep \" \$\$PID \" > /dev/null" + FIND_PROC="$PS -uaxww | grep -v \" grep\" | grep -v mysqld_safe | grep -- \"\$\$MYSQLD\" | grep \" \$\$PID \" > /dev/null" # SysV style -elif $PS -ef 2> /dev/null | grep $0 > /dev/null +elif $PS -ef 2> /dev/null | grep -- $0 > /dev/null then - FIND_PROC="$PS -ef | grep -v grep | grep \$\$MYSQLD | grep \" \$\$PID \" > /dev/null" + FIND_PROC="$PS -ef | grep -v \" grep\" | grep -v mysqld_safe | grep -- \"\$\$MYSQLD\" | grep \" \$\$PID \" > /dev/null" # Do anybody use this? -elif $PS $$ 2> /dev/null | grep $0 > /dev/null +elif $PS $$ 2> /dev/null | grep -- $0 > /dev/null then - FIND_PROC="$PS \$\$PID | grep -v grep | grep \$\$MYSQLD > /dev/null" + FIND_PROC="$PS \$\$PID | grep -v \" grep\" | grep -v mysqld_safe | grep -- \"\$\$MYSQLD\" > /dev/null" else case $SYSTEM_TYPE in *freebsd*|*dragonfly*) - FIND_PROC="$PS p \$\$PID | grep -v grep | grep \$\$MYSQLD > /dev/null" + FIND_PROC="$PS p \$\$PID | grep -v \" grep\" | grep -v mysqld_safe | grep -- \"\$\$MYSQLD\" > /dev/null" ;; *darwin*) - FIND_PROC="$PS -uaxww | grep -v grep | grep \$\$MYSQLD | grep \" \$\$PID \" > /dev/null" + FIND_PROC="$PS -uaxww | grep -v \" grep\" | grep -v mysqld_safe | grep -- \"\$\$MYSQLD\" | grep \" \$\$PID \" > /dev/null" ;; *cygwin*) - FIND_PROC="$PS -e | grep -v grep | grep \$\$MYSQLD | grep \" \$\$PID \" > /dev/null" + FIND_PROC="$PS -e | grep -v \" grep\" | grep -v mysqld_safe | grep -- \"\$\$MYSQLD\" | grep \" \$\$PID \" > /dev/null" ;; *netware*) FIND_PROC= ;; *) - AC_MSG_ERROR([Could not find the right ps switches. Which OS is this ?. See the Installation chapter in the Reference Manual.]) + AC_MSG_ERROR([Could not find the right ps and/or grep switches. Which OS is this? See the Installation chapter in the Reference Manual.]) esac fi AC_SUBST(FIND_PROC) @@ -617,19 +613,19 @@ fi AC_MSG_CHECKING(whether features provided by the user community should be included.) AC_ARG_ENABLE(community-features, AC_HELP_STRING( - [--enable-community-features], - [Enable additional features provided by the user community.]), + [--disable-community-features], + [Disable additional features provided by the user community.]), [ ENABLE_COMMUNITY_FEATURES=$enableval ], - [ ENABLE_COMMUNITY_FEATURES=no ] + [ ENABLE_COMMUNITY_FEATURES=yes ] ) if test "$ENABLE_COMMUNITY_FEATURES" = "yes" then AC_DEFINE([COMMUNITY_SERVER], [1], [Whether features provided by the user community should be included]) - AC_MSG_RESULT([yes, community server]) + AC_MSG_RESULT([yes]) else - AC_MSG_RESULT([no, enterprise server]) + AC_MSG_RESULT([no]) fi AC_ARG_WITH(server-suffix, @@ -2341,10 +2337,31 @@ then fi AC_MSG_RESULT("$netinet_inc") +AC_CACHE_CHECK([support for weak symbols], mysql_cv_weak_symbol, +[AC_TRY_LINK([],[ + extern void __attribute__((weak)) foo(void); +], [mysql_cv_weak_symbol=yes], [mysql_cv_weak_symbol=no])]) + +if test "x$mysql_cv_weak_symbol" = xyes; then + AC_DEFINE(HAVE_WEAK_SYMBOL, 1, + [Define to 1 if compiler supports weak symbol attribute.]) +fi + +AC_CACHE_CHECK([whether __bss_start is defined], mysql_cv_bss_start, +[AC_TRY_LINK([],[ + extern char *__bss_start; + return __bss_start ? 1 : 0; +], [mysql_cv_bss_start=yes], [mysql_cv_bss_start=no])]) + +if test "x$mysql_cv_bss_start" = xyes; then + AC_DEFINE(HAVE_BSS_START, 1, + [Define to 1 if compiler defines __bss_start.]) +fi + AC_LANG_SAVE AC_LANG_CPLUSPLUS AC_CHECK_HEADERS(cxxabi.h) -AC_CACHE_CHECK([checking for abi::__cxa_demangle], mysql_cv_cxa_demangle, +AC_CACHE_CHECK([for abi::__cxa_demangle], mysql_cv_cxa_demangle, [AC_TRY_LINK([#include ], [ char *foo= 0; int bar= 0; foo= abi::__cxa_demangle(foo, foo, 0, &bar); @@ -2701,6 +2718,9 @@ then sql_server="vio sql" fi +# "innochecksum" is not in the "innobase/" subdirectory, but should be switched +AM_CONDITIONAL([BUILD_INNODB_TOOLS], [test X"$with_plugin_innobase" = Xyes]) + # IMPORTANT - do not modify LIBS past this line - this hack is the only way # I know to add the static NSS magic if we have static NSS libraries with # glibc - Sasha diff --git a/extra/Makefile.am b/extra/Makefile.am index bc7289c7f7d..75422c4ee11 100644 --- a/extra/Makefile.am +++ b/extra/Makefile.am @@ -43,7 +43,12 @@ $(top_builddir)/include/mysqld_ername.h: $(top_builddir)/include/mysqld_error.h $(top_builddir)/include/sql_state.h: $(top_builddir)/include/mysqld_error.h bin_PROGRAMS = replace perror resolveip my_print_defaults \ - resolve_stack_dump mysql_waitpid innochecksum + resolve_stack_dump mysql_waitpid +# "innochecksum" should be switched +if BUILD_INNODB_TOOLS +bin_PROGRAMS += innochecksum +endif + noinst_PROGRAMS = charset2html EXTRA_PROGRAMS = comp_err EXTRA_DIST = CMakeLists.txt diff --git a/extra/yassl/Makefile.am b/extra/yassl/Makefile.am index 1c0e13c511a..ddd57d60a99 100644 --- a/extra/yassl/Makefile.am +++ b/extra/yassl/Makefile.am @@ -1,6 +1,5 @@ SUBDIRS = taocrypt src testsuite -EXTRA_DIST = yassl.dsp yassl.dsw yassl.vcproj \ - CMakeLists.txt +EXTRA_DIST = CMakeLists.txt # Don't update the files from bitkeeper %::SCCS/s.% diff --git a/extra/yassl/taocrypt/Makefile.am b/extra/yassl/taocrypt/Makefile.am index ac56cfdcf09..11fea2064f0 100644 --- a/extra/yassl/taocrypt/Makefile.am +++ b/extra/yassl/taocrypt/Makefile.am @@ -1,5 +1,5 @@ SUBDIRS = src test benchmark -EXTRA_DIST = taocrypt.dsw taocrypt.dsp taocrypt.vcproj CMakeLists.txt $(wildcard mySTL/*.hpp) +EXTRA_DIST = CMakeLists.txt $(wildcard mySTL/*.hpp) # Don't update the files from bitkeeper %::SCCS/s.% diff --git a/extra/yassl/taocrypt/taocrypt.vcproj b/extra/yassl/taocrypt/taocrypt.vcproj deleted file mode 100755 index bcbc0f82192..00000000000 --- a/extra/yassl/taocrypt/taocrypt.vcproj +++ /dev/null @@ -1,268 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/extra/yassl/yassl.vcproj b/extra/yassl/yassl.vcproj deleted file mode 100755 index bc020747096..00000000000 --- a/extra/yassl/yassl.vcproj +++ /dev/null @@ -1,211 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/include/Makefile.am b/include/Makefile.am index 6f3e559cb23..9438f0d0f25 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -36,12 +36,13 @@ noinst_HEADERS = config-win.h config-netware.h my_bit.h \ mysql_version.h.in my_handler.h my_time.h \ my_vle.h my_user.h my_atomic.h atomic/nolock.h \ atomic/rwlock.h atomic/x86-gcc.h atomic/x86-msvc.h \ - atomic/gcc_builtins.h my_libwrap.h + atomic/gcc_builtins.h my_libwrap.h my_stacktrace.h + +EXTRA_DIST = mysql.h.pp mysql/plugin.h.pp # Remove built files and the symlinked directories CLEANFILES = $(BUILT_SOURCES) readline openssl -EXTRA_DIST = mysql_h.ic # Some include files that may be moved and patched by configure DISTCLEANFILES = sched.h $(CLEANFILES) @@ -63,18 +64,5 @@ my_config.h: config.h dist-hook: $(RM) -f $(distdir)/mysql_version.h $(distdir)/my_config.h -# -# Rules for checking that ABI has not changed -# - -# Create a icheck file and compare it to the reference -abi_check: $(HEADERS_ABI) mysql_version.h mysql_h.ic - @set -ex; \ - if [ @ICHECK@ != no ] ; then \ - @ICHECK@ --canonify --skip-from-re /usr/ -o $@ $(HEADERS_ABI); \ - @ICHECK@ --compare mysql_h.ic $@; \ - fi; \ - touch abi_check; - # Don't update the files from bitkeeper %::SCCS/s.% diff --git a/include/hash.h b/include/hash.h index 4ca8dc0e8bf..1f094d48585 100644 --- a/include/hash.h +++ b/include/hash.h @@ -21,6 +21,40 @@ extern "C" { #endif +/* + There was a problem on MacOSX with a shared object ha_example.so. + It used hash_search(). During build of ha_example.so no libmysys + was specified. Since MacOSX had a hash_search() in the system + library, it built the shared object so that the dynamic linker + linked hash_search() to the system library, which caused a crash + when called. To come around this, we renamed hash_search() to + my_hash_search(), as we did long ago with hash_insert() and + hash_reset(). However, this time we made the move complete with + all names. To keep compatibility, we redefine the old names. + Since every C and C++ file, that uses HASH, needs to include + this file, the change is complete. Both names could be used + in the code, but the my_* versions are recommended now. +*/ +#define hash_get_key my_hash_get_key +#define hash_free_key my_hash_free_key +#define hash_init my_hash_init +#define hash_init2 my_hash_init2 +#define _hash_init _my_hash_init +#define hash_free my_hash_free +#define hash_reset my_hash_reset +#define hash_element my_hash_element +#define hash_search my_hash_search +#define hash_first my_hash_first +#define hash_next my_hash_next +#define hash_insert my_hash_insert +#define hash_delete my_hash_delete +#define hash_update my_hash_update +#define hash_replace my_hash_replace +#define hash_check my_hash_check +#define hash_clear my_hash_clear +#define hash_inited my_hash_inited +#define hash_init_opt my_hash_init_opt + /* Overhead to store an element in hash Can be used to approximate memory consumption for a hash @@ -30,8 +64,8 @@ extern "C" { /* flags for hash_init */ #define HASH_UNIQUE 1 /* hash_insert fails on duplicate key */ -typedef uchar *(*hash_get_key)(const uchar *,size_t*,my_bool); -typedef void (*hash_free_key)(void *); +typedef uchar *(*my_hash_get_key)(const uchar *,size_t*,my_bool); +typedef void (*my_hash_free_key)(void *); typedef struct st_hash { size_t key_offset,key_length; /* Length of key if const length */ @@ -39,7 +73,7 @@ typedef struct st_hash { ulong records; uint flags; DYNAMIC_ARRAY array; /* Place for hash_keys */ - hash_get_key get_key; + my_hash_get_key get_key; void (*free)(void *); CHARSET_INFO *charset; } HASH; @@ -47,30 +81,34 @@ typedef struct st_hash { /* A search iterator state */ typedef uint HASH_SEARCH_STATE; -#define hash_init(A,B,C,D,E,F,G,H) _hash_init(A,0,B,C,D,E,F,G,H CALLER_INFO) -#define hash_init2(A,B,C,D,E,F,G,H,I) _hash_init(A,B,C,D,E,F,G,H,I CALLER_INFO) -my_bool _hash_init(HASH *hash, uint growth_size,CHARSET_INFO *charset, - ulong default_array_elements, size_t key_offset, - size_t key_length, hash_get_key get_key, - void (*free_element)(void*), uint flags CALLER_INFO_PROTO); -void hash_free(HASH *tree); +#define my_hash_init(A,B,C,D,E,F,G,H) \ + _my_hash_init(A,0,B,C,D,E,F,G,H CALLER_INFO) +#define my_hash_init2(A,B,C,D,E,F,G,H,I) \ + _my_hash_init(A,B,C,D,E,F,G,H,I CALLER_INFO) +my_bool _my_hash_init(HASH *hash, uint growth_size, CHARSET_INFO *charset, + ulong default_array_elements, size_t key_offset, + size_t key_length, my_hash_get_key get_key, + void (*free_element)(void*), + uint flags CALLER_INFO_PROTO); +void my_hash_free(HASH *tree); void my_hash_reset(HASH *hash); -uchar *hash_element(HASH *hash,ulong idx); -uchar *hash_search(const HASH *info, const uchar *key, size_t length); -uchar *hash_first(const HASH *info, const uchar *key, size_t length, - HASH_SEARCH_STATE *state); -uchar *hash_next(const HASH *info, const uchar *key, size_t length, - HASH_SEARCH_STATE *state); -my_bool my_hash_insert(HASH *info,const uchar *data); -my_bool hash_delete(HASH *hash,uchar *record); -my_bool hash_update(HASH *hash,uchar *record,uchar *old_key,size_t old_key_length); -void hash_replace(HASH *hash, HASH_SEARCH_STATE *state, uchar *new_row); -my_bool hash_check(HASH *hash); /* Only in debug library */ +uchar *my_hash_element(HASH *hash, ulong idx); +uchar *my_hash_search(const HASH *info, const uchar *key, size_t length); +uchar *my_hash_first(const HASH *info, const uchar *key, size_t length, + HASH_SEARCH_STATE *state); +uchar *my_hash_next(const HASH *info, const uchar *key, size_t length, + HASH_SEARCH_STATE *state); +my_bool my_hash_insert(HASH *info, const uchar *data); +my_bool my_hash_delete(HASH *hash, uchar *record); +my_bool my_hash_update(HASH *hash, uchar *record, uchar *old_key, + size_t old_key_length); +void my_hash_replace(HASH *hash, HASH_SEARCH_STATE *state, uchar *new_row); +my_bool my_hash_check(HASH *hash); /* Only in debug library */ -#define hash_clear(H) bzero((char*) (H),sizeof(*(H))) -#define hash_inited(H) ((H)->array.buffer != 0) -#define hash_init_opt(A,B,C,D,E,F,G,H) \ - (!hash_inited(A) && _hash_init(A,0,B,C,D,E,F,G, H CALLER_INFO)) +#define my_hash_clear(H) bzero((char*) (H), sizeof(*(H))) +#define my_hash_inited(H) ((H)->array.buffer != 0) +#define my_hash_init_opt(A,B,C,D,E,F,G,H) \ + (!my_hash_inited(A) && _my_hash_init(A,0,B,C,D,E,F,G, H CALLER_INFO)) #ifdef __cplusplus } diff --git a/include/my_stacktrace.h b/include/my_stacktrace.h new file mode 100644 index 00000000000..e7ce42c1f4f --- /dev/null +++ b/include/my_stacktrace.h @@ -0,0 +1,66 @@ +/* Copyright (C) 2000 MySQL AB + + 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 */ + +#ifndef _my_stacktrace_h_ +#define _my_stacktrace_h_ + +#include + +#ifdef TARGET_OS_LINUX +#if defined (__x86_64__) || defined (__i386__) || \ + (defined(__alpha__) && defined(__GNUC__)) +#define HAVE_STACKTRACE 1 +#endif +#elif defined(__WIN__) +#define HAVE_STACKTRACE 1 +#endif + +#if HAVE_BACKTRACE && (HAVE_BACKTRACE_SYMBOLS || HAVE_BACKTRACE_SYMBOLS_FD) +#undef HAVE_STACKTRACE +#define HAVE_STACKTRACE 1 +#endif + +#if !defined(__NETWARE__) +#define HAVE_WRITE_CORE +#endif + +#if HAVE_BACKTRACE && HAVE_BACKTRACE_SYMBOLS && \ + HAVE_CXXABI_H && HAVE_ABI_CXA_DEMANGLE && \ + HAVE_WEAK_SYMBOL +#define BACKTRACE_DEMANGLE 1 +#endif + +C_MODE_START + +#if defined(HAVE_STACKTRACE) || defined(HAVE_BACKTRACE) +void my_init_stacktrace(); +void my_print_stacktrace(uchar* stack_bottom, ulong thread_stack); +void my_safe_print_str(const char* name, const char* val, int max_len); +void my_write_core(int sig); +#if BACKTRACE_DEMANGLE +char *my_demangle(const char *mangled_name, int *status); +#endif +#ifdef __WIN__ +void my_set_exception_pointers(EXCEPTION_POINTERS *ep); +#endif +#endif + +#ifdef HAVE_WRITE_CORE +void my_write_core(int sig); +#endif + +C_MODE_END + +#endif /* _my_stacktrace_h_ */ diff --git a/include/my_sys.h b/include/my_sys.h index 09c768cadb7..60122eab94e 100644 --- a/include/my_sys.h +++ b/include/my_sys.h @@ -246,7 +246,7 @@ extern int NEAR my_umask, /* Default creation mask */ NEAR my_safe_to_handle_signal, /* Set when allowed to SIGTSTP */ NEAR my_dont_interrupt; /* call remember_intr when set */ extern my_bool NEAR mysys_uses_curses, my_use_symdir; -extern ulong sf_malloc_cur_memory, sf_malloc_max_memory; +extern size_t sf_malloc_cur_memory, sf_malloc_max_memory; extern ulong my_default_record_cache_size; extern my_bool NEAR my_disable_locking,NEAR my_disable_async_io, @@ -577,6 +577,7 @@ extern int my_close(File Filedes,myf MyFlags); extern File my_dup(File file, myf MyFlags); extern int my_mkdir(const char *dir, int Flags, myf MyFlags); extern int my_readlink(char *to, const char *filename, myf MyFlags); +extern int my_is_symlink(const char *filename); extern int my_realpath(char *to, const char *filename, myf MyFlags); extern File my_create_with_symlink(const char *linkname, const char *filename, int createflags, int access_flags, @@ -693,6 +694,7 @@ extern char * fn_format(char * to,const char *name,const char *dir, const char *form, uint flag); extern size_t strlength(const char *str); extern void pack_dirname(char * to,const char *from); +extern size_t normalize_dirname(char * to, const char *from); extern size_t unpack_dirname(char * to,const char *from); extern size_t cleanup_dirname(char * to,const char *from); extern size_t system_filename(char * to,const char *from); diff --git a/include/myisam.h b/include/myisam.h index e49446769dc..16175547367 100644 --- a/include/myisam.h +++ b/include/myisam.h @@ -256,6 +256,10 @@ extern my_bool myisam_flush,myisam_delay_key_write,myisam_single_user; extern my_off_t myisam_max_temp_length; extern ulong myisam_bulk_insert_tree_size, myisam_data_pointer_size; +/* usually used to check if a symlink points into the mysql data home */ +/* which is normally forbidden */ +extern int (*myisam_test_invalid_symlink)(const char *filename); + /* Prototypes for myisam-functions */ extern int mi_close(struct st_myisam_info *file); diff --git a/include/mysql.h.pp b/include/mysql.h.pp new file mode 100644 index 00000000000..633cde41130 --- /dev/null +++ b/include/mysql.h.pp @@ -0,0 +1,674 @@ +#include +typedef char my_bool; +typedef int my_socket; +#include "mysql_version.h" +#include "mysql_com.h" +enum enum_server_command +{ + COM_SLEEP, COM_QUIT, COM_INIT_DB, COM_QUERY, COM_FIELD_LIST, + COM_CREATE_DB, COM_DROP_DB, COM_REFRESH, COM_SHUTDOWN, COM_STATISTICS, + COM_PROCESS_INFO, COM_CONNECT, COM_PROCESS_KILL, COM_DEBUG, COM_PING, + COM_TIME, COM_DELAYED_INSERT, COM_CHANGE_USER, COM_BINLOG_DUMP, + COM_TABLE_DUMP, COM_CONNECT_OUT, COM_REGISTER_SLAVE, + COM_STMT_PREPARE, COM_STMT_EXECUTE, COM_STMT_SEND_LONG_DATA, COM_STMT_CLOSE, + COM_STMT_RESET, COM_SET_OPTION, COM_STMT_FETCH, COM_DAEMON, + COM_END +}; +struct st_vio; +typedef struct st_vio Vio; +typedef struct st_net { + Vio *vio; + unsigned char *buff,*buff_end,*write_pos,*read_pos; + my_socket fd; + unsigned long remain_in_buf,length, buf_length, where_b; + unsigned long max_packet,max_packet_size; + unsigned int pkt_nr,compress_pkt_nr; + unsigned int write_timeout, read_timeout, retry_count; + int fcntl; + unsigned int *return_status; + unsigned char reading_or_writing; + char save_char; + my_bool unused0; + my_bool unused; + my_bool compress; + my_bool unused1; + unsigned char *query_cache_query; + unsigned int last_errno; + unsigned char error; + my_bool unused2; + my_bool return_errno; + char last_error[512]; + char sqlstate[5 +1]; + void *extension; +} NET; +enum enum_field_types { MYSQL_TYPE_DECIMAL, MYSQL_TYPE_TINY, + MYSQL_TYPE_SHORT, MYSQL_TYPE_LONG, + MYSQL_TYPE_FLOAT, MYSQL_TYPE_DOUBLE, + MYSQL_TYPE_NULL, MYSQL_TYPE_TIMESTAMP, + MYSQL_TYPE_LONGLONG,MYSQL_TYPE_INT24, + MYSQL_TYPE_DATE, MYSQL_TYPE_TIME, + MYSQL_TYPE_DATETIME, MYSQL_TYPE_YEAR, + MYSQL_TYPE_NEWDATE, MYSQL_TYPE_VARCHAR, + MYSQL_TYPE_BIT, + MYSQL_TYPE_NEWDECIMAL=246, + MYSQL_TYPE_ENUM=247, + MYSQL_TYPE_SET=248, + MYSQL_TYPE_TINY_BLOB=249, + MYSQL_TYPE_MEDIUM_BLOB=250, + MYSQL_TYPE_LONG_BLOB=251, + MYSQL_TYPE_BLOB=252, + MYSQL_TYPE_VAR_STRING=253, + MYSQL_TYPE_STRING=254, + MYSQL_TYPE_GEOMETRY=255 +}; +enum mysql_enum_shutdown_level { + SHUTDOWN_DEFAULT = 0, + SHUTDOWN_WAIT_CONNECTIONS= (unsigned char)(1 << 0), + SHUTDOWN_WAIT_TRANSACTIONS= (unsigned char)(1 << 1), + SHUTDOWN_WAIT_UPDATES= (unsigned char)(1 << 3), + SHUTDOWN_WAIT_ALL_BUFFERS= ((unsigned char)(1 << 3) << 1), + SHUTDOWN_WAIT_CRITICAL_BUFFERS= ((unsigned char)(1 << 3) << 1) + 1, + KILL_QUERY= 254, + KILL_CONNECTION= 255 +}; +enum enum_cursor_type +{ + CURSOR_TYPE_NO_CURSOR= 0, + CURSOR_TYPE_READ_ONLY= 1, + CURSOR_TYPE_FOR_UPDATE= 2, + CURSOR_TYPE_SCROLLABLE= 4 +}; +enum enum_mysql_set_option +{ + MYSQL_OPTION_MULTI_STATEMENTS_ON, + MYSQL_OPTION_MULTI_STATEMENTS_OFF +}; +my_bool my_net_init(NET *net, Vio* vio); +void my_net_local_init(NET *net); +void net_end(NET *net); + void net_clear(NET *net, my_bool clear_buffer); +my_bool net_realloc(NET *net, size_t length); +my_bool net_flush(NET *net); +my_bool my_net_write(NET *net,const unsigned char *packet, size_t len); +my_bool net_write_command(NET *net,unsigned char command, + const unsigned char *header, size_t head_len, + const unsigned char *packet, size_t len); +int net_real_write(NET *net,const unsigned char *packet, size_t len); +unsigned long my_net_read(NET *net); +struct sockaddr; +int my_connect(my_socket s, const struct sockaddr *name, unsigned int namelen, + unsigned int timeout); +struct rand_struct { + unsigned long seed1,seed2,max_value; + double max_value_dbl; +}; +enum Item_result {STRING_RESULT=0, REAL_RESULT, INT_RESULT, ROW_RESULT, + DECIMAL_RESULT}; +typedef struct st_udf_args +{ + unsigned int arg_count; + enum Item_result *arg_type; + char **args; + unsigned long *lengths; + char *maybe_null; + char **attributes; + unsigned long *attribute_lengths; + void *extension; +} UDF_ARGS; +typedef struct st_udf_init +{ + my_bool maybe_null; + unsigned int decimals; + unsigned long max_length; + char *ptr; + my_bool const_item; + void *extension; +} UDF_INIT; +void randominit(struct rand_struct *, unsigned long seed1, + unsigned long seed2); +double my_rnd(struct rand_struct *); +void create_random_string(char *to, unsigned int length, struct rand_struct *rand_st); +void hash_password(unsigned long *to, const char *password, unsigned int password_len); +void make_scrambled_password_323(char *to, const char *password); +void scramble_323(char *to, const char *message, const char *password); +my_bool check_scramble_323(const char *, const char *message, + unsigned long *salt); +void get_salt_from_password_323(unsigned long *res, const char *password); +void make_password_from_salt_323(char *to, const unsigned long *salt); +void make_scrambled_password(char *to, const char *password); +void scramble(char *to, const char *message, const char *password); +my_bool check_scramble(const char *reply, const char *message, + const unsigned char *hash_stage2); +void get_salt_from_password(unsigned char *res, const char *password); +void make_password_from_salt(char *to, const unsigned char *hash_stage2); +char *octet2hex(char *to, const char *str, unsigned int len); +char *get_tty_password(const char *opt_message); +const char *mysql_errno_to_sqlstate(unsigned int mysql_errno); +my_bool my_thread_init(void); +void my_thread_end(void); +#include "mysql_time.h" +enum enum_mysql_timestamp_type +{ + MYSQL_TIMESTAMP_NONE= -2, MYSQL_TIMESTAMP_ERROR= -1, + MYSQL_TIMESTAMP_DATE= 0, MYSQL_TIMESTAMP_DATETIME= 1, MYSQL_TIMESTAMP_TIME= 2 +}; +typedef struct st_mysql_time +{ + unsigned int year, month, day, hour, minute, second; + unsigned long second_part; + my_bool neg; + enum enum_mysql_timestamp_type time_type; +} MYSQL_TIME; +#include "my_list.h" +typedef struct st_list { + struct st_list *prev,*next; + void *data; +} LIST; +typedef int (*list_walk_action)(void *,void *); +extern LIST *list_add(LIST *root,LIST *element); +extern LIST *list_delete(LIST *root,LIST *element); +extern LIST *list_cons(void *data,LIST *root); +extern LIST *list_reverse(LIST *root); +extern void list_free(LIST *root,unsigned int free_data); +extern unsigned int list_length(LIST *); +extern int list_walk(LIST *,list_walk_action action,unsigned char * argument); +extern unsigned int mysql_port; +extern char *mysql_unix_port; +typedef struct st_mysql_field { + char *name; + char *org_name; + char *table; + char *org_table; + char *db; + char *catalog; + char *def; + unsigned long length; + unsigned long max_length; + unsigned int name_length; + unsigned int org_name_length; + unsigned int table_length; + unsigned int org_table_length; + unsigned int db_length; + unsigned int catalog_length; + unsigned int def_length; + unsigned int flags; + unsigned int decimals; + unsigned int charsetnr; + enum enum_field_types type; + void *extension; +} MYSQL_FIELD; +typedef char **MYSQL_ROW; +typedef unsigned int MYSQL_FIELD_OFFSET; +typedef unsigned long long my_ulonglong; +#include "typelib.h" +#include "my_alloc.h" +typedef struct st_used_mem +{ + struct st_used_mem *next; + unsigned int left; + unsigned int size; +} USED_MEM; +typedef struct st_mem_root +{ + USED_MEM *free; + USED_MEM *used; + USED_MEM *pre_alloc; + size_t min_malloc; + size_t block_size; + unsigned int block_num; + unsigned int first_block_usage; + void (*error_handler)(void); +} MEM_ROOT; +typedef struct st_typelib { + unsigned int count; + const char *name; + const char **type_names; + unsigned int *type_lengths; +} TYPELIB; +extern my_ulonglong find_typeset(char *x, TYPELIB *typelib,int *error_position); +extern int find_type_or_exit(const char *x, TYPELIB *typelib, + const char *option); +extern int find_type(char *x, const TYPELIB *typelib, unsigned int full_name); +extern void make_type(char *to,unsigned int nr,TYPELIB *typelib); +extern const char *get_type(TYPELIB *typelib,unsigned int nr); +extern TYPELIB *copy_typelib(MEM_ROOT *root, TYPELIB *from); +extern TYPELIB sql_protocol_typelib; +typedef struct st_mysql_rows { + struct st_mysql_rows *next; + MYSQL_ROW data; + unsigned long length; +} MYSQL_ROWS; +typedef MYSQL_ROWS *MYSQL_ROW_OFFSET; +#include "my_alloc.h" +typedef struct embedded_query_result EMBEDDED_QUERY_RESULT; +typedef struct st_mysql_data { + MYSQL_ROWS *data; + struct embedded_query_result *embedded_info; + MEM_ROOT alloc; + my_ulonglong rows; + unsigned int fields; + void *extension; +} MYSQL_DATA; +enum mysql_option +{ + MYSQL_OPT_CONNECT_TIMEOUT, MYSQL_OPT_COMPRESS, MYSQL_OPT_NAMED_PIPE, + MYSQL_INIT_COMMAND, MYSQL_READ_DEFAULT_FILE, MYSQL_READ_DEFAULT_GROUP, + MYSQL_SET_CHARSET_DIR, MYSQL_SET_CHARSET_NAME, MYSQL_OPT_LOCAL_INFILE, + MYSQL_OPT_PROTOCOL, MYSQL_SHARED_MEMORY_BASE_NAME, MYSQL_OPT_READ_TIMEOUT, + MYSQL_OPT_WRITE_TIMEOUT, MYSQL_OPT_USE_RESULT, + MYSQL_OPT_USE_REMOTE_CONNECTION, MYSQL_OPT_USE_EMBEDDED_CONNECTION, + MYSQL_OPT_GUESS_CONNECTION, MYSQL_SET_CLIENT_IP, MYSQL_SECURE_AUTH, + MYSQL_REPORT_DATA_TRUNCATION, MYSQL_OPT_RECONNECT, + MYSQL_OPT_SSL_VERIFY_SERVER_CERT +}; +struct st_mysql_options { + unsigned int connect_timeout, read_timeout, write_timeout; + unsigned int port, protocol; + unsigned long client_flag; + char *host,*user,*password,*unix_socket,*db; + struct st_dynamic_array *init_commands; + char *my_cnf_file,*my_cnf_group, *charset_dir, *charset_name; + char *ssl_key; + char *ssl_cert; + char *ssl_ca; + char *ssl_capath; + char *ssl_cipher; + char *shared_memory_base_name; + unsigned long max_allowed_packet; + my_bool use_ssl; + my_bool compress,named_pipe; + my_bool rpl_probe; + my_bool rpl_parse; + my_bool no_master_reads; + my_bool separate_thread; + enum mysql_option methods_to_use; + char *client_ip; + my_bool secure_auth; + my_bool report_data_truncation; + int (*local_infile_init)(void **, const char *, void *); + int (*local_infile_read)(void *, char *, unsigned int); + void (*local_infile_end)(void *); + int (*local_infile_error)(void *, char *, unsigned int); + void *local_infile_userdata; + void *extension; +}; +enum mysql_status +{ + MYSQL_STATUS_READY,MYSQL_STATUS_GET_RESULT,MYSQL_STATUS_USE_RESULT +}; +enum mysql_protocol_type +{ + MYSQL_PROTOCOL_DEFAULT, MYSQL_PROTOCOL_TCP, MYSQL_PROTOCOL_SOCKET, + MYSQL_PROTOCOL_PIPE, MYSQL_PROTOCOL_MEMORY +}; +enum mysql_rpl_type +{ + MYSQL_RPL_MASTER, MYSQL_RPL_SLAVE, MYSQL_RPL_ADMIN +}; +typedef struct character_set +{ + unsigned int number; + unsigned int state; + const char *csname; + const char *name; + const char *comment; + const char *dir; + unsigned int mbminlen; + unsigned int mbmaxlen; +} MY_CHARSET_INFO; +struct st_mysql_methods; +struct st_mysql_stmt; +typedef struct st_mysql +{ + NET net; + unsigned char *connector_fd; + char *host,*user,*passwd,*unix_socket,*server_version,*host_info; + char *info, *db; + struct charset_info_st *charset; + MYSQL_FIELD *fields; + MEM_ROOT field_alloc; + my_ulonglong affected_rows; + my_ulonglong insert_id; + my_ulonglong extra_info; + unsigned long thread_id; + unsigned long packet_length; + unsigned int port; + unsigned long client_flag,server_capabilities; + unsigned int protocol_version; + unsigned int field_count; + unsigned int server_status; + unsigned int server_language; + unsigned int warning_count; + struct st_mysql_options options; + enum mysql_status status; + my_bool free_me; + my_bool reconnect; + char scramble[20 +1]; + my_bool rpl_pivot; + struct st_mysql* master, *next_slave; + struct st_mysql* last_used_slave; + struct st_mysql* last_used_con; + LIST *stmts; + const struct st_mysql_methods *methods; + void *thd; + my_bool *unbuffered_fetch_owner; + char *info_buffer; + void *extension; +} MYSQL; +typedef struct st_mysql_res { + my_ulonglong row_count; + MYSQL_FIELD *fields; + MYSQL_DATA *data; + MYSQL_ROWS *data_cursor; + unsigned long *lengths; + MYSQL *handle; + const struct st_mysql_methods *methods; + MYSQL_ROW row; + MYSQL_ROW current_row; + MEM_ROOT field_alloc; + unsigned int field_count, current_field; + my_bool eof; + my_bool unbuffered_fetch_cancelled; + void *extension; +} MYSQL_RES; +typedef struct st_mysql_manager +{ + NET net; + char *host, *user, *passwd; + char *net_buf, *net_buf_pos, *net_data_end; + unsigned int port; + int cmd_status; + int last_errno; + int net_buf_size; + my_bool free_me; + my_bool eof; + char last_error[256]; + void *extension; +} MYSQL_MANAGER; +typedef struct st_mysql_parameters +{ + unsigned long *p_max_allowed_packet; + unsigned long *p_net_buffer_length; + void *extension; +} MYSQL_PARAMETERS; +int mysql_server_init(int argc, char **argv, char **groups); +void mysql_server_end(void); +MYSQL_PARAMETERS * mysql_get_parameters(void); +my_bool mysql_thread_init(void); +void mysql_thread_end(void); +my_ulonglong mysql_num_rows(MYSQL_RES *res); +unsigned int mysql_num_fields(MYSQL_RES *res); +my_bool mysql_eof(MYSQL_RES *res); +MYSQL_FIELD * mysql_fetch_field_direct(MYSQL_RES *res, + unsigned int fieldnr); +MYSQL_FIELD * mysql_fetch_fields(MYSQL_RES *res); +MYSQL_ROW_OFFSET mysql_row_tell(MYSQL_RES *res); +MYSQL_FIELD_OFFSET mysql_field_tell(MYSQL_RES *res); +unsigned int mysql_field_count(MYSQL *mysql); +my_ulonglong mysql_affected_rows(MYSQL *mysql); +my_ulonglong mysql_insert_id(MYSQL *mysql); +unsigned int mysql_errno(MYSQL *mysql); +const char * mysql_error(MYSQL *mysql); +const char * mysql_sqlstate(MYSQL *mysql); +unsigned int mysql_warning_count(MYSQL *mysql); +const char * mysql_info(MYSQL *mysql); +unsigned long mysql_thread_id(MYSQL *mysql); +const char * mysql_character_set_name(MYSQL *mysql); +int mysql_set_character_set(MYSQL *mysql, const char *csname); +MYSQL * mysql_init(MYSQL *mysql); +my_bool mysql_ssl_set(MYSQL *mysql, const char *key, + const char *cert, const char *ca, + const char *capath, const char *cipher); +const char * mysql_get_ssl_cipher(MYSQL *mysql); +my_bool mysql_change_user(MYSQL *mysql, const char *user, + const char *passwd, const char *db); +MYSQL * mysql_real_connect(MYSQL *mysql, const char *host, + const char *user, + const char *passwd, + const char *db, + unsigned int port, + const char *unix_socket, + unsigned long clientflag); +int mysql_select_db(MYSQL *mysql, const char *db); +int mysql_query(MYSQL *mysql, const char *q); +int mysql_send_query(MYSQL *mysql, const char *q, + unsigned long length); +int mysql_real_query(MYSQL *mysql, const char *q, + unsigned long length); +MYSQL_RES * mysql_store_result(MYSQL *mysql); +MYSQL_RES * mysql_use_result(MYSQL *mysql); +my_bool mysql_master_query(MYSQL *mysql, const char *q, + unsigned long length); +my_bool mysql_master_send_query(MYSQL *mysql, const char *q, + unsigned long length); +my_bool mysql_slave_query(MYSQL *mysql, const char *q, + unsigned long length); +my_bool mysql_slave_send_query(MYSQL *mysql, const char *q, + unsigned long length); +void mysql_get_character_set_info(MYSQL *mysql, + MY_CHARSET_INFO *charset); +void +mysql_set_local_infile_handler(MYSQL *mysql, + int (*local_infile_init)(void **, const char *, + void *), + int (*local_infile_read)(void *, char *, + unsigned int), + void (*local_infile_end)(void *), + int (*local_infile_error)(void *, char*, + unsigned int), + void *); +void +mysql_set_local_infile_default(MYSQL *mysql); +void mysql_enable_rpl_parse(MYSQL* mysql); +void mysql_disable_rpl_parse(MYSQL* mysql); +int mysql_rpl_parse_enabled(MYSQL* mysql); +void mysql_enable_reads_from_master(MYSQL* mysql); +void mysql_disable_reads_from_master(MYSQL* mysql); +my_bool mysql_reads_from_master_enabled(MYSQL* mysql); +enum mysql_rpl_type mysql_rpl_query_type(const char* q, int len); +my_bool mysql_rpl_probe(MYSQL* mysql); +int mysql_set_master(MYSQL* mysql, const char* host, + unsigned int port, + const char* user, + const char* passwd); +int mysql_add_slave(MYSQL* mysql, const char* host, + unsigned int port, + const char* user, + const char* passwd); +int mysql_shutdown(MYSQL *mysql, + enum mysql_enum_shutdown_level + shutdown_level); +int mysql_dump_debug_info(MYSQL *mysql); +int mysql_refresh(MYSQL *mysql, + unsigned int refresh_options); +int mysql_kill(MYSQL *mysql,unsigned long pid); +int mysql_set_server_option(MYSQL *mysql, + enum enum_mysql_set_option + option); +int mysql_ping(MYSQL *mysql); +const char * mysql_stat(MYSQL *mysql); +const char * mysql_get_server_info(MYSQL *mysql); +const char * mysql_get_client_info(void); +unsigned long mysql_get_client_version(void); +const char * mysql_get_host_info(MYSQL *mysql); +unsigned long mysql_get_server_version(MYSQL *mysql); +unsigned int mysql_get_proto_info(MYSQL *mysql); +MYSQL_RES * mysql_list_dbs(MYSQL *mysql,const char *wild); +MYSQL_RES * mysql_list_tables(MYSQL *mysql,const char *wild); +MYSQL_RES * mysql_list_processes(MYSQL *mysql); +int mysql_options(MYSQL *mysql,enum mysql_option option, + const void *arg); +void mysql_free_result(MYSQL_RES *result); +void mysql_data_seek(MYSQL_RES *result, + my_ulonglong offset); +MYSQL_ROW_OFFSET mysql_row_seek(MYSQL_RES *result, + MYSQL_ROW_OFFSET offset); +MYSQL_FIELD_OFFSET mysql_field_seek(MYSQL_RES *result, + MYSQL_FIELD_OFFSET offset); +MYSQL_ROW mysql_fetch_row(MYSQL_RES *result); +unsigned long * mysql_fetch_lengths(MYSQL_RES *result); +MYSQL_FIELD * mysql_fetch_field(MYSQL_RES *result); +MYSQL_RES * mysql_list_fields(MYSQL *mysql, const char *table, + const char *wild); +unsigned long mysql_escape_string(char *to,const char *from, + unsigned long from_length); +unsigned long mysql_hex_string(char *to,const char *from, + unsigned long from_length); +unsigned long mysql_real_escape_string(MYSQL *mysql, + char *to,const char *from, + unsigned long length); +void mysql_debug(const char *debug); +void myodbc_remove_escape(MYSQL *mysql,char *name); +unsigned int mysql_thread_safe(void); +my_bool mysql_embedded(void); +MYSQL_MANAGER* mysql_manager_init(MYSQL_MANAGER* con); +MYSQL_MANAGER* mysql_manager_connect(MYSQL_MANAGER* con, + const char* host, + const char* user, + const char* passwd, + unsigned int port); +void mysql_manager_close(MYSQL_MANAGER* con); +int mysql_manager_command(MYSQL_MANAGER* con, + const char* cmd, int cmd_len); +int mysql_manager_fetch_line(MYSQL_MANAGER* con, + char* res_buf, + int res_buf_size); +my_bool mysql_read_query_result(MYSQL *mysql); +enum enum_mysql_stmt_state +{ + MYSQL_STMT_INIT_DONE= 1, MYSQL_STMT_PREPARE_DONE, MYSQL_STMT_EXECUTE_DONE, + MYSQL_STMT_FETCH_DONE +}; +typedef struct st_mysql_bind +{ + unsigned long *length; + my_bool *is_null; + void *buffer; + my_bool *error; + unsigned char *row_ptr; + void (*store_param_func)(NET *net, struct st_mysql_bind *param); + void (*fetch_result)(struct st_mysql_bind *, MYSQL_FIELD *, + unsigned char **row); + void (*skip_result)(struct st_mysql_bind *, MYSQL_FIELD *, + unsigned char **row); + unsigned long buffer_length; + unsigned long offset; + unsigned long length_value; + unsigned int param_number; + unsigned int pack_length; + enum enum_field_types buffer_type; + my_bool error_value; + my_bool is_unsigned; + my_bool long_data_used; + my_bool is_null_value; + void *extension; +} MYSQL_BIND; +typedef struct st_mysql_stmt +{ + MEM_ROOT mem_root; + LIST list; + MYSQL *mysql; + MYSQL_BIND *params; + MYSQL_BIND *bind; + MYSQL_FIELD *fields; + MYSQL_DATA result; + MYSQL_ROWS *data_cursor; + int (*read_row_func)(struct st_mysql_stmt *stmt, + unsigned char **row); + my_ulonglong affected_rows; + my_ulonglong insert_id; + unsigned long stmt_id; + unsigned long flags; + unsigned long prefetch_rows; + unsigned int server_status; + unsigned int last_errno; + unsigned int param_count; + unsigned int field_count; + enum enum_mysql_stmt_state state; + char last_error[512]; + char sqlstate[5 +1]; + my_bool send_types_to_server; + my_bool bind_param_done; + unsigned char bind_result_done; + my_bool unbuffered_fetch_cancelled; + my_bool update_max_length; + void *extension; +} MYSQL_STMT; +enum enum_stmt_attr_type +{ + STMT_ATTR_UPDATE_MAX_LENGTH, + STMT_ATTR_CURSOR_TYPE, + STMT_ATTR_PREFETCH_ROWS +}; +typedef struct st_mysql_methods +{ + my_bool (*read_query_result)(MYSQL *mysql); + my_bool (*advanced_command)(MYSQL *mysql, + enum enum_server_command command, + const unsigned char *header, + unsigned long header_length, + const unsigned char *arg, + unsigned long arg_length, + my_bool skip_check, + MYSQL_STMT *stmt); + MYSQL_DATA *(*read_rows)(MYSQL *mysql,MYSQL_FIELD *mysql_fields, + unsigned int fields); + MYSQL_RES * (*use_result)(MYSQL *mysql); + void (*fetch_lengths)(unsigned long *to, + MYSQL_ROW column, unsigned int field_count); + void (*flush_use_result)(MYSQL *mysql); + MYSQL_FIELD * (*list_fields)(MYSQL *mysql); + my_bool (*read_prepare_result)(MYSQL *mysql, MYSQL_STMT *stmt); + int (*stmt_execute)(MYSQL_STMT *stmt); + int (*read_binary_rows)(MYSQL_STMT *stmt); + int (*unbuffered_fetch)(MYSQL *mysql, char **row); + void (*free_embedded_thd)(MYSQL *mysql); + const char *(*read_statistics)(MYSQL *mysql); + my_bool (*next_result)(MYSQL *mysql); + int (*read_change_user_result)(MYSQL *mysql, char *buff, const char *passwd); + int (*read_rows_from_cursor)(MYSQL_STMT *stmt); +} MYSQL_METHODS; +MYSQL_STMT * mysql_stmt_init(MYSQL *mysql); +int mysql_stmt_prepare(MYSQL_STMT *stmt, const char *query, + unsigned long length); +int mysql_stmt_execute(MYSQL_STMT *stmt); +int mysql_stmt_fetch(MYSQL_STMT *stmt); +int mysql_stmt_fetch_column(MYSQL_STMT *stmt, MYSQL_BIND *bind_arg, + unsigned int column, + unsigned long offset); +int mysql_stmt_store_result(MYSQL_STMT *stmt); +unsigned long mysql_stmt_param_count(MYSQL_STMT * stmt); +my_bool mysql_stmt_attr_set(MYSQL_STMT *stmt, + enum enum_stmt_attr_type attr_type, + const void *attr); +my_bool mysql_stmt_attr_get(MYSQL_STMT *stmt, + enum enum_stmt_attr_type attr_type, + void *attr); +my_bool mysql_stmt_bind_param(MYSQL_STMT * stmt, MYSQL_BIND * bnd); +my_bool mysql_stmt_bind_result(MYSQL_STMT * stmt, MYSQL_BIND * bnd); +my_bool mysql_stmt_close(MYSQL_STMT * stmt); +my_bool mysql_stmt_reset(MYSQL_STMT * stmt); +my_bool mysql_stmt_free_result(MYSQL_STMT *stmt); +my_bool mysql_stmt_send_long_data(MYSQL_STMT *stmt, + unsigned int param_number, + const char *data, + unsigned long length); +MYSQL_RES * mysql_stmt_result_metadata(MYSQL_STMT *stmt); +MYSQL_RES * mysql_stmt_param_metadata(MYSQL_STMT *stmt); +unsigned int mysql_stmt_errno(MYSQL_STMT * stmt); +const char * mysql_stmt_error(MYSQL_STMT * stmt); +const char * mysql_stmt_sqlstate(MYSQL_STMT * stmt); +MYSQL_ROW_OFFSET mysql_stmt_row_seek(MYSQL_STMT *stmt, + MYSQL_ROW_OFFSET offset); +MYSQL_ROW_OFFSET mysql_stmt_row_tell(MYSQL_STMT *stmt); +void mysql_stmt_data_seek(MYSQL_STMT *stmt, my_ulonglong offset); +my_ulonglong mysql_stmt_num_rows(MYSQL_STMT *stmt); +my_ulonglong mysql_stmt_affected_rows(MYSQL_STMT *stmt); +my_ulonglong mysql_stmt_insert_id(MYSQL_STMT *stmt); +unsigned int mysql_stmt_field_count(MYSQL_STMT *stmt); +my_bool mysql_commit(MYSQL * mysql); +my_bool mysql_rollback(MYSQL * mysql); +my_bool mysql_autocommit(MYSQL * mysql, my_bool auto_mode); +my_bool mysql_more_results(MYSQL *mysql); +int mysql_next_result(MYSQL *mysql); +void mysql_close(MYSQL *sock); diff --git a/include/mysql/plugin.h.pp b/include/mysql/plugin.h.pp new file mode 100644 index 00000000000..50511f515ab --- /dev/null +++ b/include/mysql/plugin.h.pp @@ -0,0 +1,139 @@ +struct st_mysql_lex_string +{ + char *str; + unsigned int length; +}; +typedef struct st_mysql_lex_string MYSQL_LEX_STRING; +struct st_mysql_xid { + long formatID; + long gtrid_length; + long bqual_length; + char data[128]; +}; +typedef struct st_mysql_xid MYSQL_XID; +enum enum_mysql_show_type +{ + SHOW_UNDEF, SHOW_BOOL, SHOW_INT, SHOW_LONG, + SHOW_LONGLONG, SHOW_CHAR, SHOW_CHAR_PTR, + SHOW_ARRAY, SHOW_FUNC, SHOW_DOUBLE +}; +struct st_mysql_show_var { + const char *name; + char *value; + enum enum_mysql_show_type type; +}; +typedef int (*mysql_show_var_func)(void*, struct st_mysql_show_var*, char *); +struct st_mysql_sys_var; +struct st_mysql_value; +typedef int (*mysql_var_check_func)(void* thd, + struct st_mysql_sys_var *var, + void *save, struct st_mysql_value *value); +typedef void (*mysql_var_update_func)(void* thd, + struct st_mysql_sys_var *var, + void *var_ptr, const void *save); +struct st_mysql_plugin +{ + int type; + void *info; + const char *name; + const char *author; + const char *descr; + int license; + int (*init)(void *); + int (*deinit)(void *); + unsigned int version; + struct st_mysql_show_var *status_vars; + struct st_mysql_sys_var **system_vars; + void * __reserved1; +}; +enum enum_ftparser_mode +{ + MYSQL_FTPARSER_SIMPLE_MODE= 0, + MYSQL_FTPARSER_WITH_STOPWORDS= 1, + MYSQL_FTPARSER_FULL_BOOLEAN_INFO= 2 +}; +enum enum_ft_token_type +{ + FT_TOKEN_EOF= 0, + FT_TOKEN_WORD= 1, + FT_TOKEN_LEFT_PAREN= 2, + FT_TOKEN_RIGHT_PAREN= 3, + FT_TOKEN_STOPWORD= 4 +}; +typedef struct st_mysql_ftparser_boolean_info +{ + enum enum_ft_token_type type; + int yesno; + int weight_adjust; + char wasign; + char trunc; + char prev; + char *quot; +} MYSQL_FTPARSER_BOOLEAN_INFO; +typedef struct st_mysql_ftparser_param +{ + int (*mysql_parse)(struct st_mysql_ftparser_param *, + char *doc, int doc_len); + int (*mysql_add_word)(struct st_mysql_ftparser_param *, + char *word, int word_len, + MYSQL_FTPARSER_BOOLEAN_INFO *boolean_info); + void *ftparser_state; + void *mysql_ftparam; + struct charset_info_st *cs; + char *doc; + int length; + int flags; + enum enum_ftparser_mode mode; +} MYSQL_FTPARSER_PARAM; +struct st_mysql_ftparser +{ + int interface_version; + int (*parse)(MYSQL_FTPARSER_PARAM *param); + int (*init)(MYSQL_FTPARSER_PARAM *param); + int (*deinit)(MYSQL_FTPARSER_PARAM *param); +}; +struct st_mysql_storage_engine +{ + int interface_version; +}; +struct handlerton; +struct st_mysql_daemon +{ + int interface_version; +}; +struct st_mysql_information_schema +{ + int interface_version; +}; +struct st_mysql_value +{ + int (*value_type)(struct st_mysql_value *); + const char *(*val_str)(struct st_mysql_value *, char *buffer, int *length); + int (*val_real)(struct st_mysql_value *, double *realbuf); + int (*val_int)(struct st_mysql_value *, long long *intbuf); +}; +int thd_in_lock_tables(const void* thd); +int thd_tablespace_op(const void* thd); +long long thd_test_options(const void* thd, long long test_options); +int thd_sql_command(const void* thd); +const char *thd_proc_info(void* thd, const char *info); +void **thd_ha_data(const void* thd, const struct handlerton *hton); +int thd_tx_isolation(const void* thd); +char *thd_security_context(void* thd, char *buffer, unsigned int length, + unsigned int max_query_len); +void thd_inc_row_count(void* thd); +int mysql_tmpfile(const char *prefix); +int thd_killed(const void* thd); +unsigned long thd_get_thread_id(const void* thd); +void *thd_alloc(void* thd, unsigned int size); +void *thd_calloc(void* thd, unsigned int size); +char *thd_strdup(void* thd, const char *str); +char *thd_strmake(void* thd, const char *str, unsigned int size); +void *thd_memdup(void* thd, const void* str, unsigned int size); +MYSQL_LEX_STRING *thd_make_lex_string(void* thd, MYSQL_LEX_STRING *lex_str, + const char *str, unsigned int size, + int allocate_lex_string); +void thd_get_xid(const void* thd, MYSQL_XID *xid); +void mysql_query_cache_invalidate4(void* thd, + const char *key, unsigned int key_length, + int using_trx); diff --git a/include/mysql_h.ic b/include/mysql_h.ic deleted file mode 100644 index 832678a106b..00000000000 --- a/include/mysql_h.ic +++ /dev/null @@ -1,1166 +0,0 @@ -struct character_set; -struct rand_struct; -struct st_list; -struct st_mem_root; -struct st_mysql; -struct st_mysql_bind; -struct st_mysql_daemon; -struct st_mysql_data; -struct st_mysql_field; -struct st_mysql_ftparser; -struct st_mysql_ftparser_boolean_info; -struct st_mysql_ftparser_param; -struct st_mysql_information_schema; -struct st_mysql_lex_string; -struct st_mysql_manager; -struct st_mysql_methods; -struct st_mysql_options; -struct st_mysql_parameters; -struct st_mysql_plugin; -struct st_mysql_res; -struct st_mysql_rows; -struct st_mysql_show_var; -struct st_mysql_stmt; -struct st_mysql_storage_engine; -struct st_mysql_time; -struct st_mysql_value; -struct st_mysql_xid; -struct st_net; -struct st_typelib; -struct st_udf_args; -struct st_udf_init; -struct st_used_mem; -enum Item_result; -enum enum_cursor_type; -enum enum_field_types; -enum enum_ft_token_type; -enum enum_ftparser_mode; -enum enum_mysql_set_option; -enum enum_mysql_show_type; -enum enum_mysql_stmt_state; -enum enum_mysql_timestamp_type; -enum enum_server_command; -enum enum_stmt_attr_type; -enum mysql_enum_shutdown_level; -enum mysql_option; -enum mysql_protocol_type; -enum mysql_rpl_type; -enum mysql_status; -# 139 "mysql.h" -typedef struct st_mysql_rows MYSQL_ROWS; -# 23 "my_list.h" -typedef struct st_list LIST; -# 34 "my_alloc.h" -typedef struct st_mem_root MEM_ROOT; -# 258 "mysql.h" -typedef struct st_mysql MYSQL; -# 654 "mysql.h" -typedef struct st_mysql_bind MYSQL_BIND; -# 95 "mysql.h" -typedef struct st_mysql_field MYSQL_FIELD; -# 120 "mysql.h" -typedef unsigned int MYSQL_FIELD_OFFSET; -# 35 "mysql/plugin.h" -typedef struct st_mysql_lex_string MYSQL_LEX_STRING; -# 348 "mysql.h" -typedef struct st_mysql_manager MYSQL_MANAGER; -# 363 "mysql.h" -typedef struct st_mysql_parameters MYSQL_PARAMETERS; -# 316 "mysql.h" -typedef struct st_mysql_res MYSQL_RES; -# 119 "mysql.h" -typedef char * * MYSQL_ROW; -# 145 "mysql.h" -typedef MYSQL_ROWS * MYSQL_ROW_OFFSET; -# 683 "mysql.h" -typedef struct st_mysql_stmt MYSQL_STMT; -# 52 "mysql/plugin.h" -typedef struct st_mysql_xid MYSQL_XID; -# 243 "mysql.h" -typedef struct character_set MY_CHARSET_INFO; -# 188 "mysql_com.h" -typedef struct st_net NET; -# 22 "typelib.h" -typedef struct st_typelib TYPELIB; -# 178 "mysql_com.h" -typedef struct st_vio Vio; -# 28 "my_list.h" -typedef int (* list_walk_action)(void *, void *); -# 51 "mysql.h" -typedef char my_bool; -# 65 "mysql.h" -typedef int my_socket; -# 128 "mysql.h" -typedef unsigned long long int my_ulonglong; -# 214 "/usr/lib/gcc/i486-linux-gnu/4.1.3/include/stddef.h" -typedef unsigned int size_t; -# 149 "mysql.h" -typedef struct embedded_query_result EMBEDDED_QUERY_RESULT; -# 150 "mysql.h" -typedef struct st_mysql_data MYSQL_DATA; -# 495 "mysql/plugin.h" -typedef struct st_mysql_ftparser_boolean_info MYSQL_FTPARSER_BOOLEAN_INFO; -# 557 "mysql/plugin.h" -typedef struct st_mysql_ftparser_param MYSQL_FTPARSER_PARAM; -# 753 "mysql.h" -typedef struct st_mysql_methods MYSQL_METHODS; -# 47 "mysql_time.h" -typedef struct st_mysql_time MYSQL_TIME; -# 383 "mysql_com.h" -typedef struct st_udf_args UDF_ARGS; -# 397 "mysql_com.h" -typedef struct st_udf_init UDF_INIT; -# 26 "my_alloc.h" -typedef struct st_used_mem USED_MEM; -# 123 "mysql/plugin.h" -typedef int (* mysql_show_var_func)(void *, struct st_mysql_show_var *, char *); -# 170 "mysql/plugin.h" -typedef int (* mysql_var_check_func)(void * thd, struct st_mysql_sys_var * var, void * save, struct st_mysql_value * value); -# 188 "mysql/plugin.h" -typedef void (* mysql_var_update_func)(void * thd, struct st_mysql_sys_var * var, void * var_ptr, void * save); -# 243 "mysql.h" -struct __attribute__((aligned(__alignof__(unsigned int)), aligned(__alignof__(void *)))) character_set - { - unsigned int number; - unsigned int state; - char const * csname; - char const * name; - char const * comment; - char const * dir; - unsigned int mbminlen; - unsigned int mbmaxlen; - }; -# 369 "mysql_com.h" -struct __attribute__((aligned(__alignof__(unsigned long int)), aligned(__alignof__(double)))) rand_struct - { - unsigned long int seed1; - unsigned long int seed2; - unsigned long int max_value; - double max_value_dbl; - }; -# 23 "my_list.h" -struct __attribute__((aligned(__alignof__(void *)))) st_list - { - struct st_list * prev; - struct st_list * next; - void * data; - }; -# 34 "my_alloc.h" -struct __attribute__((aligned(__alignof__(void *)), aligned(__alignof__(unsigned int)))) st_mem_root - { - USED_MEM * free; - USED_MEM * used; - USED_MEM * pre_alloc; - size_t min_malloc; - size_t block_size; - unsigned int block_num; - unsigned int first_block_usage; - void (* error_handler)(void); - }; -# 258 "mysql.h" -struct __attribute__((aligned(__alignof__(void *)), aligned(__alignof__(unsigned long long int)))) st_mysql - { - NET net; - unsigned char * connector_fd; - char * host; - char * user; - char * passwd; - char * unix_socket; - char * server_version; - char * host_info; - char * info; - char * db; - struct charset_info_st * charset; - MYSQL_FIELD * fields; - MEM_ROOT field_alloc; - my_ulonglong affected_rows; - my_ulonglong insert_id; - my_ulonglong extra_info; - unsigned long int thread_id; - unsigned long int packet_length; - unsigned int port; - unsigned long int client_flag; - unsigned long int server_capabilities; - unsigned int protocol_version; - unsigned int field_count; - unsigned int server_status; - unsigned int server_language; - unsigned int warning_count; - struct st_mysql_options options; - enum mysql_status status; - my_bool free_me; - my_bool reconnect; - char scramble[(20 + 1)]; - my_bool rpl_pivot; - struct st_mysql * master; - struct st_mysql * next_slave; - struct st_mysql * last_used_slave; - struct st_mysql * last_used_con; - LIST * stmts; - struct st_mysql_methods const * methods; - void * thd; - my_bool * unbuffered_fetch_owner; - char * info_buffer; - void * extension; - }; -# 654 "mysql.h" -struct __attribute__((aligned(__alignof__(void *)), aligned(__alignof__(unsigned long int)))) st_mysql_bind - { - unsigned long int * length; - my_bool * is_null; - void * buffer; - my_bool * error; - unsigned char * row_ptr; - void (* store_param_func)(NET * net, struct st_mysql_bind * param); - void (* fetch_result)(struct st_mysql_bind *, MYSQL_FIELD *, unsigned char * * row); - void (* skip_result)(struct st_mysql_bind *, MYSQL_FIELD *, unsigned char * * row); - unsigned long int buffer_length; - unsigned long int offset; - unsigned long int length_value; - unsigned int param_number; - unsigned int pack_length; - enum enum_field_types buffer_type; - my_bool error_value; - my_bool is_unsigned; - my_bool long_data_used; - my_bool is_null_value; - void * extension; - }; -# 628 "mysql/plugin.h" -struct __attribute__((aligned(__alignof__(int)))) st_mysql_daemon - { - int interface_version; - }; -# 150 "mysql.h" -struct __attribute__((aligned(__alignof__(void *)), aligned(__alignof__(unsigned long long int)))) st_mysql_data - { - MYSQL_ROWS * data; - struct embedded_query_result * embedded_info; - MEM_ROOT alloc; - my_ulonglong rows; - unsigned int fields; - void * extension; - }; -# 95 "mysql.h" -struct __attribute__((aligned(__alignof__(void *)), aligned(__alignof__(unsigned long int)))) st_mysql_field - { - char * name; - char * org_name; - char * table; - char * org_table; - char * db; - char * catalog; - char * def; - unsigned long int length; - unsigned long int max_length; - unsigned int name_length; - unsigned int org_name_length; - unsigned int table_length; - unsigned int org_table_length; - unsigned int db_length; - unsigned int catalog_length; - unsigned int def_length; - unsigned int flags; - unsigned int decimals; - unsigned int charsetnr; - enum enum_field_types type; - void * extension; - }; -# 581 "mysql/plugin.h" -struct __attribute__((aligned(__alignof__(int)), aligned(__alignof__(void *)))) st_mysql_ftparser - { - int interface_version; - int (* parse)(MYSQL_FTPARSER_PARAM * param); - int (* init)(MYSQL_FTPARSER_PARAM * param); - int (* deinit)(MYSQL_FTPARSER_PARAM * param); - }; -# 495 "mysql/plugin.h" -struct __attribute__((aligned(__alignof__(int)), aligned(__alignof__(void *)))) st_mysql_ftparser_boolean_info - { - enum enum_ft_token_type type; - int yesno; - int weight_adjust; - char wasign; - char trunc; - char prev; - char * quot; - }; -# 557 "mysql/plugin.h" -struct __attribute__((aligned(__alignof__(void *)), aligned(__alignof__(int)))) st_mysql_ftparser_param - { - int (* mysql_parse)(struct st_mysql_ftparser_param *, char * doc, int); - int (* mysql_add_word)(struct st_mysql_ftparser_param *, char * word, int, MYSQL_FTPARSER_BOOLEAN_INFO * boolean_info); - void * ftparser_state; - void * mysql_ftparam; - struct charset_info_st * cs; - char * doc; - int length; - int flags; - enum enum_ftparser_mode mode; - }; -# 638 "mysql/plugin.h" -struct __attribute__((aligned(__alignof__(int)))) st_mysql_information_schema - { - int interface_version; - }; -# 29 "mysql/plugin.h" -struct __attribute__((aligned(__alignof__(void *)), aligned(__alignof__(unsigned int)))) st_mysql_lex_string - { - char * str; - unsigned int length; - }; -# 348 "mysql.h" -struct __attribute__((aligned(__alignof__(void *)), aligned(__alignof__(unsigned long int)))) st_mysql_manager - { - NET net; - char * host; - char * user; - char * passwd; - char * net_buf; - char * net_buf_pos; - char * net_data_end; - unsigned int port; - int cmd_status; - int last_errno; - int net_buf_size; - my_bool free_me; - my_bool eof; - char last_error[256]; - void * extension; - }; -# 753 "mysql.h" -struct __attribute__((aligned(__alignof__(void *)))) st_mysql_methods - { - my_bool (* read_query_result)(MYSQL * mysql); - my_bool (* advanced_command)(MYSQL * mysql, enum enum_server_command, unsigned char const * header, unsigned long int, unsigned char const * arg, unsigned long int, my_bool, MYSQL_STMT * stmt); - MYSQL_DATA * (* read_rows)(MYSQL * mysql, MYSQL_FIELD * mysql_fields, unsigned int); - MYSQL_RES * (* use_result)(MYSQL * mysql); - void (* fetch_lengths)(unsigned long int * to, MYSQL_ROW, unsigned int); - void (* flush_use_result)(MYSQL * mysql); - MYSQL_FIELD * (* list_fields)(MYSQL * mysql); - my_bool (* read_prepare_result)(MYSQL * mysql, MYSQL_STMT * stmt); - int (* stmt_execute)(MYSQL_STMT * stmt); - int (* read_binary_rows)(MYSQL_STMT * stmt); - int (* unbuffered_fetch)(MYSQL * mysql, char * * row); - void (* free_embedded_thd)(MYSQL * mysql); - char const * (* read_statistics)(MYSQL * mysql); - my_bool (* next_result)(MYSQL * mysql); - int (* read_change_user_result)(MYSQL * mysql, char * buff, char const * passwd); - int (* read_rows_from_cursor)(MYSQL_STMT * stmt); - }; -# 173 "mysql.h" -struct __attribute__((aligned(__alignof__(unsigned long int)), aligned(__alignof__(void *)))) st_mysql_options - { - unsigned int connect_timeout; - unsigned int read_timeout; - unsigned int write_timeout; - unsigned int port; - unsigned int protocol; - unsigned long int client_flag; - char * host; - char * user; - char * password; - char * unix_socket; - char * db; - struct st_dynamic_array * init_commands; - char * my_cnf_file; - char * my_cnf_group; - char * charset_dir; - char * charset_name; - char * ssl_key; - char * ssl_cert; - char * ssl_ca; - char * ssl_capath; - char * ssl_cipher; - char * shared_memory_base_name; - unsigned long int max_allowed_packet; - my_bool use_ssl; - my_bool compress; - my_bool named_pipe; - my_bool rpl_probe; - my_bool rpl_parse; - my_bool no_master_reads; - my_bool separate_thread; - enum mysql_option methods_to_use; - char * client_ip; - my_bool secure_auth; - my_bool report_data_truncation; - int (* local_infile_init)(void * *, char const *, void *); - int (* local_infile_read)(void *, char *, unsigned int); - void (* local_infile_end)(void); - int (* local_infile_error)(void *, char *, unsigned int); - void * local_infile_userdata; - void * extension; - }; -# 363 "mysql.h" -struct __attribute__((aligned(__alignof__(void *)))) st_mysql_parameters - { - unsigned long int * p_max_allowed_packet; - unsigned long int * p_net_buffer_length; - void * extension; - }; -# 384 "mysql/plugin.h" -struct __attribute__((aligned(__alignof__(int)), aligned(__alignof__(void *)))) st_mysql_plugin - { - int type; - void * info; - char const * name; - char const * author; - char const * descr; - int license; - int (* init)(void); - int (* deinit)(void); - unsigned int version; - struct st_mysql_show_var * status_vars; - struct st_mysql_sys_var * * system_vars; - void * __reserved1; - }; -# 316 "mysql.h" -struct __attribute__((aligned(__alignof__(unsigned long long int)), aligned(__alignof__(void *)))) st_mysql_res - { - my_ulonglong row_count; - MYSQL_FIELD * fields; - MYSQL_DATA * data; - MYSQL_ROWS * data_cursor; - unsigned long int * lengths; - MYSQL * handle; - struct st_mysql_methods const * methods; - MYSQL_ROW row; - MYSQL_ROW current_row; - MEM_ROOT field_alloc; - unsigned int field_count; - unsigned int current_field; - my_bool eof; - my_bool unbuffered_fetch_cancelled; - void * extension; - }; -# 139 "mysql.h" -struct __attribute__((aligned(__alignof__(void *)), aligned(__alignof__(unsigned long int)))) st_mysql_rows - { - struct st_mysql_rows * next; - MYSQL_ROW data; - unsigned long int length; - }; -# 116 "mysql/plugin.h" -struct __attribute__((aligned(__alignof__(void *)))) st_mysql_show_var - { - char const * name; - char * value; - enum enum_mysql_show_type type; - }; -# 683 "mysql.h" -struct __attribute__((aligned(__alignof__(void *)), aligned(__alignof__(unsigned long long int)))) st_mysql_stmt - { - MEM_ROOT mem_root; - LIST list; - MYSQL * mysql; - MYSQL_BIND * params; - MYSQL_BIND * bind; - MYSQL_FIELD * fields; - MYSQL_DATA result; - MYSQL_ROWS * data_cursor; - int (* read_row_func)(struct st_mysql_stmt * stmt, unsigned char * * row); - my_ulonglong affected_rows; - my_ulonglong insert_id; - unsigned long int stmt_id; - unsigned long int flags; - unsigned long int prefetch_rows; - unsigned int server_status; - unsigned int last_errno; - unsigned int param_count; - unsigned int field_count; - enum enum_mysql_stmt_state state; - char last_error[512]; - char sqlstate[(5 + 1)]; - my_bool send_types_to_server; - my_bool bind_param_done; - unsigned char bind_result_done; - my_bool unbuffered_fetch_cancelled; - my_bool update_max_length; - void * extension; - }; -# 616 "mysql/plugin.h" -struct __attribute__((aligned(__alignof__(int)))) st_mysql_storage_engine - { - int interface_version; - }; -# 47 "mysql_time.h" -struct __attribute__((aligned(__alignof__(unsigned long int)))) st_mysql_time - { - unsigned int year; - unsigned int month; - unsigned int day; - unsigned int hour; - unsigned int minute; - unsigned int second; - unsigned long int second_part; - my_bool neg; - enum enum_mysql_timestamp_type time_type; - }; -# 658 "mysql/plugin.h" -struct __attribute__((aligned(__alignof__(void *)))) st_mysql_value - { - int (* value_type)(struct st_mysql_value *); - char const * (* val_str)(struct st_mysql_value *, char * buffer, int * length); - int (* val_real)(struct st_mysql_value *, double * realbuf); - int (* val_int)(struct st_mysql_value *, long long int * intbuf); - }; -# 46 "mysql/plugin.h" -struct __attribute__((aligned(__alignof__(long int)))) st_mysql_xid - { - long int formatID; - long int gtrid_length; - long int bqual_length; - char data[128]; - }; -# 188 "mysql_com.h" -struct __attribute__((aligned(__alignof__(void *)), aligned(__alignof__(unsigned long int)))) st_net - { - Vio * vio; - unsigned char * buff; - unsigned char * buff_end; - unsigned char * write_pos; - unsigned char * read_pos; - my_socket fd; - unsigned long int remain_in_buf; - unsigned long int length; - unsigned long int buf_length; - unsigned long int where_b; - unsigned long int max_packet; - unsigned long int max_packet_size; - unsigned int pkt_nr; - unsigned int compress_pkt_nr; - unsigned int write_timeout; - unsigned int read_timeout; - unsigned int retry_count; - int fcntl; - unsigned int * return_status; - unsigned char reading_or_writing; - char save_char; - my_bool unused0; - my_bool unused; - my_bool compress; - my_bool unused1; - unsigned char * query_cache_query; - unsigned int last_errno; - unsigned char error; - my_bool unused2; - my_bool return_errno; - char last_error[512]; - char sqlstate[(5 + 1)]; - void * extension; - }; -# 22 "typelib.h" -struct __attribute__((aligned(__alignof__(unsigned int)), aligned(__alignof__(void *)))) st_typelib - { - unsigned int count; - char const * name; - char const * * type_names; - unsigned int * type_lengths; - }; -# 383 "mysql_com.h" -struct __attribute__((aligned(__alignof__(unsigned int)), aligned(__alignof__(void *)))) st_udf_args - { - unsigned int arg_count; - enum Item_result * arg_type; - char * * args; - unsigned long int * lengths; - char * maybe_null; - char * * attributes; - unsigned long int * attribute_lengths; - void * extension; - }; -# 397 "mysql_com.h" -struct __attribute__((aligned(__alignof__(unsigned long int)), aligned(__alignof__(void *)))) st_udf_init - { - my_bool maybe_null; - unsigned int decimals; - unsigned long int max_length; - char * ptr; - my_bool const_item; - void * extension; - }; -# 26 "my_alloc.h" -struct __attribute__((aligned(__alignof__(void *)), aligned(__alignof__(unsigned int)))) st_used_mem - { - struct st_used_mem * next; - unsigned int left; - unsigned int size; - }; -# 380 "mysql_com.h" -enum Item_result - { - STRING_RESULT = 0, - REAL_RESULT = 1, - INT_RESULT = 2, - ROW_RESULT = 3, - DECIMAL_RESULT = 4, - }; -# 321 "mysql_com.h" -enum enum_cursor_type - { - CURSOR_TYPE_NO_CURSOR = 0, - CURSOR_TYPE_READ_ONLY = 1, - CURSOR_TYPE_FOR_UPDATE = 2, - CURSOR_TYPE_SCROLLABLE = 4, - }; -# 234 "mysql_com.h" -enum enum_field_types - { - MYSQL_TYPE_DECIMAL = 0, - MYSQL_TYPE_TINY = 1, - MYSQL_TYPE_SHORT = 2, - MYSQL_TYPE_LONG = 3, - MYSQL_TYPE_FLOAT = 4, - MYSQL_TYPE_DOUBLE = 5, - MYSQL_TYPE_NULL = 6, - MYSQL_TYPE_TIMESTAMP = 7, - MYSQL_TYPE_LONGLONG = 8, - MYSQL_TYPE_INT24 = 9, - MYSQL_TYPE_DATE = 10, - MYSQL_TYPE_TIME = 11, - MYSQL_TYPE_DATETIME = 12, - MYSQL_TYPE_YEAR = 13, - MYSQL_TYPE_NEWDATE = 14, - MYSQL_TYPE_VARCHAR = 15, - MYSQL_TYPE_BIT = 16, - MYSQL_TYPE_NEWDECIMAL = 246, - MYSQL_TYPE_ENUM = 247, - MYSQL_TYPE_SET = 248, - MYSQL_TYPE_TINY_BLOB = 249, - MYSQL_TYPE_MEDIUM_BLOB = 250, - MYSQL_TYPE_LONG_BLOB = 251, - MYSQL_TYPE_BLOB = 252, - MYSQL_TYPE_VAR_STRING = 253, - MYSQL_TYPE_STRING = 254, - MYSQL_TYPE_GEOMETRY = 255, - }; -# 455 "mysql/plugin.h" -enum enum_ft_token_type - { - FT_TOKEN_EOF = 0, - FT_TOKEN_WORD = 1, - FT_TOKEN_LEFT_PAREN = 2, - FT_TOKEN_RIGHT_PAREN = 3, - FT_TOKEN_STOPWORD = 4, - }; -# 407 "mysql/plugin.h" -enum enum_ftparser_mode - { - MYSQL_FTPARSER_SIMPLE_MODE = 0, - MYSQL_FTPARSER_WITH_STOPWORDS = 1, - MYSQL_FTPARSER_FULL_BOOLEAN_INFO = 2, - }; -# 331 "mysql_com.h" -enum enum_mysql_set_option - { - MYSQL_OPTION_MULTI_STATEMENTS_ON = 0, - MYSQL_OPTION_MULTI_STATEMENTS_OFF = 1, - }; -# 109 "mysql/plugin.h" -enum enum_mysql_show_type - { - SHOW_UNDEF = 0, - SHOW_BOOL = 1, - SHOW_INT = 2, - SHOW_LONG = 3, - SHOW_LONGLONG = 4, - SHOW_CHAR = 5, - SHOW_CHAR_PTR = 6, - SHOW_ARRAY = 7, - SHOW_FUNC = 8, - SHOW_DOUBLE = 9, - }; -# 584 "mysql.h" -enum enum_mysql_stmt_state - { - MYSQL_STMT_INIT_DONE = 1, - MYSQL_STMT_PREPARE_DONE = 2, - MYSQL_STMT_EXECUTE_DONE = 3, - MYSQL_STMT_FETCH_DONE = 4, - }; -# 28 "mysql_time.h" -enum enum_mysql_timestamp_type - { - MYSQL_TIMESTAMP_NONE = -(2), - MYSQL_TIMESTAMP_ERROR = -(1), - MYSQL_TIMESTAMP_DATE = 0, - MYSQL_TIMESTAMP_DATETIME = 1, - MYSQL_TIMESTAMP_TIME = 2, - }; -# 55 "mysql_com.h" -enum enum_server_command - { - COM_SLEEP = 0, - COM_QUIT = 1, - COM_INIT_DB = 2, - COM_QUERY = 3, - COM_FIELD_LIST = 4, - COM_CREATE_DB = 5, - COM_DROP_DB = 6, - COM_REFRESH = 7, - COM_SHUTDOWN = 8, - COM_STATISTICS = 9, - COM_PROCESS_INFO = 10, - COM_CONNECT = 11, - COM_PROCESS_KILL = 12, - COM_DEBUG = 13, - COM_PING = 14, - COM_TIME = 15, - COM_DELAYED_INSERT = 16, - COM_CHANGE_USER = 17, - COM_BINLOG_DUMP = 18, - COM_TABLE_DUMP = 19, - COM_CONNECT_OUT = 20, - COM_REGISTER_SLAVE = 21, - COM_STMT_PREPARE = 22, - COM_STMT_EXECUTE = 23, - COM_STMT_SEND_LONG_DATA = 24, - COM_STMT_CLOSE = 25, - COM_STMT_RESET = 26, - COM_SET_OPTION = 27, - COM_STMT_FETCH = 28, - COM_DAEMON = 29, - COM_END = 30, - }; -# 730 "mysql.h" -enum enum_stmt_attr_type - { - STMT_ATTR_UPDATE_MAX_LENGTH = 0, - STMT_ATTR_CURSOR_TYPE = 1, - STMT_ATTR_PREFETCH_ROWS = 2, - }; -# 296 "mysql_com.h" -enum mysql_enum_shutdown_level - { - SHUTDOWN_DEFAULT = 0, - SHUTDOWN_WAIT_CONNECTIONS = (unsigned char)((1 << 0)), - SHUTDOWN_WAIT_TRANSACTIONS = (unsigned char)((1 << 1)), - SHUTDOWN_WAIT_UPDATES = (unsigned char)((1 << 3)), - SHUTDOWN_WAIT_ALL_BUFFERS = ((unsigned char)((1 << 3)) << 1), - SHUTDOWN_WAIT_CRITICAL_BUFFERS = (((unsigned char)((1 << 3)) << 1) + 1), - KILL_CONNECTION = 255, - }; -# 160 "mysql.h" -enum mysql_option - { - MYSQL_OPT_CONNECT_TIMEOUT = 0, - MYSQL_OPT_COMPRESS = 1, - MYSQL_OPT_NAMED_PIPE = 2, - MYSQL_INIT_COMMAND = 3, - MYSQL_READ_DEFAULT_FILE = 4, - MYSQL_READ_DEFAULT_GROUP = 5, - MYSQL_SET_CHARSET_DIR = 6, - MYSQL_SET_CHARSET_NAME = 7, - MYSQL_OPT_LOCAL_INFILE = 8, - MYSQL_OPT_PROTOCOL = 9, - MYSQL_SHARED_MEMORY_BASE_NAME = 10, - MYSQL_OPT_READ_TIMEOUT = 11, - MYSQL_OPT_WRITE_TIMEOUT = 12, - MYSQL_OPT_USE_RESULT = 13, - MYSQL_OPT_USE_REMOTE_CONNECTION = 14, - MYSQL_OPT_USE_EMBEDDED_CONNECTION = 15, - MYSQL_OPT_GUESS_CONNECTION = 16, - MYSQL_SET_CLIENT_IP = 17, - MYSQL_SECURE_AUTH = 18, - MYSQL_REPORT_DATA_TRUNCATION = 19, - MYSQL_OPT_RECONNECT = 20, - MYSQL_OPT_SSL_VERIFY_SERVER_CERT = 21, - }; -# 228 "mysql.h" -enum mysql_protocol_type - { - MYSQL_PROTOCOL_DEFAULT = 0, - MYSQL_PROTOCOL_TCP = 1, - MYSQL_PROTOCOL_SOCKET = 2, - MYSQL_PROTOCOL_PIPE = 3, - MYSQL_PROTOCOL_MEMORY = 4, - }; -# 238 "mysql.h" -enum mysql_rpl_type - { - MYSQL_RPL_MASTER = 0, - MYSQL_RPL_SLAVE = 1, - MYSQL_RPL_ADMIN = 2, - }; -# 223 "mysql.h" -enum mysql_status - { - MYSQL_STATUS_READY = 0, - MYSQL_STATUS_GET_RESULT = 1, - MYSQL_STATUS_USE_RESULT = 2, - }; -# 441 "mysql_com.h" -extern my_bool check_scramble(char const * reply, char const * message, unsigned char const * hash_stage2); -# 434 "mysql_com.h" -extern my_bool check_scramble_323(char const *, char const * message, unsigned long int * salt); -# 35 "typelib.h" -extern TYPELIB * copy_typelib(MEM_ROOT * root, TYPELIB * from); -# 429 "mysql_com.h" -extern void create_random_string(char * to, unsigned int, struct rand_struct * rand_st); -# 32 "typelib.h" -extern int find_type(char * x, TYPELIB const * typelib, unsigned int); -# 30 "typelib.h" -extern int find_type_or_exit(char const * x, TYPELIB * typelib, char const * option); -# 29 "typelib.h" -extern my_ulonglong find_typeset(char * x, TYPELIB * typelib, int * error_position); -# 443 "mysql_com.h" -extern void get_salt_from_password(unsigned char * res, char const * password); -# 436 "mysql_com.h" -extern void get_salt_from_password_323(unsigned long int * res, char const * password); -# 449 "mysql_com.h" -extern char * get_tty_password(char const * opt_message); -# 34 "typelib.h" -extern char const * get_type(TYPELIB * typelib, unsigned int); -# 431 "mysql_com.h" -extern void hash_password(unsigned long int * to, char const * password, unsigned int); -# 30 "my_list.h" -extern LIST * list_add(LIST * root, LIST * element); -# 32 "my_list.h" -extern LIST * list_cons(void * data, LIST * root); -# 31 "my_list.h" -extern LIST * list_delete(LIST * root, LIST * element); -# 34 "my_list.h" -extern void list_free(LIST * root, unsigned int); -# 35 "my_list.h" -extern unsigned int list_length(LIST *); -# 33 "my_list.h" -extern LIST * list_reverse(LIST * root); -# 36 "my_list.h" -extern int list_walk(LIST *, list_walk_action, unsigned char * argument); -# 444 "mysql_com.h" -extern void make_password_from_salt(char * to, unsigned char const * hash_stage2); -# 437 "mysql_com.h" -extern void make_password_from_salt_323(char * to, unsigned long int const * salt); -# 439 "mysql_com.h" -extern void make_scrambled_password(char * to, char const * password); -# 432 "mysql_com.h" -extern void make_scrambled_password_323(char * to, char const * password); -# 33 "typelib.h" -extern void make_type(char * to, unsigned int, TYPELIB * typelib); -# 366 "mysql_com.h" -extern int my_connect(my_socket, struct sockaddr const * name, unsigned int, unsigned int); -# 343 "mysql_com.h" -extern my_bool my_net_init(NET * net, Vio * vio); -# 344 "mysql_com.h" -extern void my_net_local_init(NET * net); -# 354 "mysql_com.h" -extern unsigned long int my_net_read(NET * net); -# 349 "mysql_com.h" -extern my_bool my_net_write(NET * net, unsigned char const * packet, size_t); -# 428 "mysql_com.h" -extern double my_rnd(struct rand_struct *); -# 455 "mysql_com.h" -extern void my_thread_end(void); -# 454 "mysql_com.h" -extern my_bool my_thread_init(void); -# 560 "mysql.h" -extern void myodbc_remove_escape(MYSQL * mysql, char * name); -# 512 "mysql.h" -extern int mysql_add_slave(MYSQL * mysql, char const * host, unsigned int, char const * user, char const * passwd); -# 421 "mysql.h" -extern my_ulonglong mysql_affected_rows(MYSQL * mysql); -# 826 "mysql.h" -extern my_bool mysql_autocommit(MYSQL * mysql, my_bool); -# 437 "mysql.h" -extern my_bool mysql_change_user(MYSQL * mysql, char const * user, char const * passwd, char const * db); -# 429 "mysql.h" -extern char const * mysql_character_set_name(MYSQL * mysql); -# 829 "mysql.h" -extern void mysql_close(MYSQL * sock); -# 824 "mysql.h" -extern my_bool mysql_commit(MYSQL * mysql); -# 541 "mysql.h" -extern void mysql_data_seek(MYSQL_RES * result, my_ulonglong); -# 559 "mysql.h" -extern void mysql_debug(char const * debug); -# 498 "mysql.h" -extern void mysql_disable_reads_from_master(MYSQL * mysql); -# 492 "mysql.h" -extern void mysql_disable_rpl_parse(MYSQL * mysql); -# 520 "mysql.h" -extern int mysql_dump_debug_info(MYSQL * mysql); -# 562 "mysql.h" -extern my_bool mysql_embedded(void); -# 497 "mysql.h" -extern void mysql_enable_reads_from_master(MYSQL * mysql); -# 491 "mysql.h" -extern void mysql_enable_rpl_parse(MYSQL * mysql); -# 413 "mysql.h" -extern my_bool mysql_eof(MYSQL_RES * res); -# 423 "mysql.h" -extern unsigned int mysql_errno(MYSQL * mysql); -# 450 "mysql_com.h" -extern char const * mysql_errno_to_sqlstate(unsigned int); -# 424 "mysql.h" -extern char const * mysql_error(MYSQL * mysql); -# 552 "mysql.h" -extern unsigned long int mysql_escape_string(char * to, char const * from, unsigned long int); -# 549 "mysql.h" -extern MYSQL_FIELD * mysql_fetch_field(MYSQL_RES * result); -# 414 "mysql.h" -extern MYSQL_FIELD * mysql_fetch_field_direct(MYSQL_RES * res, unsigned int); -# 416 "mysql.h" -extern MYSQL_FIELD * mysql_fetch_fields(MYSQL_RES * res); -# 548 "mysql.h" -extern unsigned long int * mysql_fetch_lengths(MYSQL_RES * result); -# 547 "mysql.h" -extern MYSQL_ROW mysql_fetch_row(MYSQL_RES * result); -# 420 "mysql.h" -extern unsigned int mysql_field_count(MYSQL * mysql); -# 545 "mysql.h" -extern MYSQL_FIELD_OFFSET mysql_field_seek(MYSQL_RES * result, MYSQL_FIELD_OFFSET); -# 418 "mysql.h" -extern MYSQL_FIELD_OFFSET mysql_field_tell(MYSQL_RES * res); -# 540 "mysql.h" -extern void mysql_free_result(MYSQL_RES * result); -# 465 "mysql.h" -extern void mysql_get_character_set_info(MYSQL * mysql, MY_CHARSET_INFO * charset); -# 530 "mysql.h" -extern char const * mysql_get_client_info(void); -# 531 "mysql.h" -extern unsigned long int mysql_get_client_version(void); -# 532 "mysql.h" -extern char const * mysql_get_host_info(MYSQL * mysql); -# 395 "mysql.h" -extern MYSQL_PARAMETERS * mysql_get_parameters(void); -# 534 "mysql.h" -extern unsigned int mysql_get_proto_info(MYSQL * mysql); -# 529 "mysql.h" -extern char const * mysql_get_server_info(MYSQL * mysql); -# 533 "mysql.h" -extern unsigned long int mysql_get_server_version(MYSQL * mysql); -# 436 "mysql.h" -extern char const * mysql_get_ssl_cipher(MYSQL * mysql); -# 554 "mysql.h" -extern unsigned long int mysql_hex_string(char * to, char const * from, unsigned long int); -# 427 "mysql.h" -extern char const * mysql_info(MYSQL * mysql); -# 432 "mysql.h" -extern MYSQL * mysql_init(MYSQL * mysql); -# 422 "mysql.h" -extern my_ulonglong mysql_insert_id(MYSQL * mysql); -# 523 "mysql.h" -extern int mysql_kill(MYSQL * mysql, unsigned long int); -# 535 "mysql.h" -extern MYSQL_RES * mysql_list_dbs(MYSQL * mysql, char const * wild); -# 550 "mysql.h" -extern MYSQL_RES * mysql_list_fields(MYSQL * mysql, char const * table, char const * wild); -# 537 "mysql.h" -extern MYSQL_RES * mysql_list_processes(MYSQL * mysql); -# 536 "mysql.h" -extern MYSQL_RES * mysql_list_tables(MYSQL * mysql, char const * wild); -# 569 "mysql.h" -extern void mysql_manager_close(MYSQL_MANAGER * con); -# 570 "mysql.h" -extern int mysql_manager_command(MYSQL_MANAGER * con, char const * cmd, int); -# 564 "mysql.h" -extern MYSQL_MANAGER * mysql_manager_connect(MYSQL_MANAGER * con, char const * host, char const * user, char const * passwd, unsigned int); -# 572 "mysql.h" -extern int mysql_manager_fetch_line(MYSQL_MANAGER * con, char * res_buf, int); -# 563 "mysql.h" -extern MYSQL_MANAGER * mysql_manager_init(MYSQL_MANAGER * con); -# 456 "mysql.h" -extern my_bool mysql_master_query(MYSQL * mysql, char const * q, unsigned long int); -# 458 "mysql.h" -extern my_bool mysql_master_send_query(MYSQL * mysql, char const * q, unsigned long int); -# 827 "mysql.h" -extern my_bool mysql_more_results(MYSQL * mysql); -# 828 "mysql.h" -extern int mysql_next_result(MYSQL * mysql); -# 412 "mysql.h" -extern unsigned int mysql_num_fields(MYSQL_RES * res); -# 411 "mysql.h" -extern my_ulonglong mysql_num_rows(MYSQL_RES * res); -# 538 "mysql.h" -extern int mysql_options(MYSQL * mysql, enum mysql_option, void const * arg); -# 527 "mysql.h" -extern int mysql_ping(MYSQL * mysql); -# 76 "mysql.h" -extern unsigned int mysql_port; -# 447 "mysql.h" -extern int mysql_query(MYSQL * mysql, char const * q); -# 780 "mysql/plugin.h" -extern void mysql_query_cache_invalidate4(void * thd, char const * key, unsigned int, int); -# 575 "mysql.h" -extern my_bool mysql_read_query_result(MYSQL * mysql); -# 500 "mysql.h" -extern my_bool mysql_reads_from_master_enabled(MYSQL * mysql); -# 439 "mysql.h" -extern MYSQL * mysql_real_connect(MYSQL * mysql, char const * host, char const * user, char const * passwd, char const * db, unsigned int, char const * unix_socket, unsigned long int); -# 556 "mysql.h" -extern unsigned long int mysql_real_escape_string(MYSQL * mysql, char * to, char const * from, unsigned long int); -# 450 "mysql.h" -extern int mysql_real_query(MYSQL * mysql, char const * q, unsigned long int); -# 521 "mysql.h" -extern int mysql_refresh(MYSQL * mysql, unsigned int); -# 825 "mysql.h" -extern my_bool mysql_rollback(MYSQL * mysql); -# 543 "mysql.h" -extern MYSQL_ROW_OFFSET mysql_row_seek(MYSQL_RES * result, MYSQL_ROW_OFFSET); -# 417 "mysql.h" -extern MYSQL_ROW_OFFSET mysql_row_tell(MYSQL_RES * res); -# 494 "mysql.h" -extern int mysql_rpl_parse_enabled(MYSQL * mysql); -# 505 "mysql.h" -extern my_bool mysql_rpl_probe(MYSQL * mysql); -# 502 "mysql.h" -extern enum mysql_rpl_type mysql_rpl_query_type(char const * q, int); -# 446 "mysql.h" -extern int mysql_select_db(MYSQL * mysql, char const * db); -# 448 "mysql.h" -extern int mysql_send_query(MYSQL * mysql, char const * q, unsigned long int); -# 381 "mysql.h" -extern void mysql_server_end(void); -# 380 "mysql.h" -extern int mysql_server_init(int, char * * argv, char * * groups); -# 430 "mysql.h" -extern int mysql_set_character_set(MYSQL * mysql, char const * csname); -# 483 "mysql.h" -extern void mysql_set_local_infile_default(MYSQL * mysql); -# 472 "mysql.h" -extern void mysql_set_local_infile_handler(MYSQL * mysql, int (* local_infile_init)(void * *, char const *, void *), int (* local_infile_read)(void *, char *, unsigned int), void (* local_infile_end)(void), int (* local_infile_error)(void *, char *, unsigned int), void *); -# 508 "mysql.h" -extern int mysql_set_master(MYSQL * mysql, char const * host, unsigned int, char const * user, char const * passwd); -# 524 "mysql.h" -extern int mysql_set_server_option(MYSQL * mysql, enum enum_mysql_set_option); -# 517 "mysql.h" -extern int mysql_shutdown(MYSQL * mysql, enum mysql_enum_shutdown_level); -# 461 "mysql.h" -extern my_bool mysql_slave_query(MYSQL * mysql, char const * q, unsigned long int); -# 463 "mysql.h" -extern my_bool mysql_slave_send_query(MYSQL * mysql, char const * q, unsigned long int); -# 425 "mysql.h" -extern char const * mysql_sqlstate(MYSQL * mysql); -# 433 "mysql.h" -extern my_bool mysql_ssl_set(MYSQL * mysql, char const * key, char const * cert, char const * ca, char const * capath, char const * cipher); -# 528 "mysql.h" -extern char const * mysql_stat(MYSQL * mysql); -# 820 "mysql.h" -extern my_ulonglong mysql_stmt_affected_rows(MYSQL_STMT * stmt); -# 798 "mysql.h" -extern my_bool mysql_stmt_attr_get(MYSQL_STMT * stmt, enum enum_stmt_attr_type, void * attr); -# 795 "mysql.h" -extern my_bool mysql_stmt_attr_set(MYSQL_STMT * stmt, enum enum_stmt_attr_type, void const * attr); -# 801 "mysql.h" -extern my_bool mysql_stmt_bind_param(MYSQL_STMT * stmt, MYSQL_BIND * bnd); -# 802 "mysql.h" -extern my_bool mysql_stmt_bind_result(MYSQL_STMT * stmt, MYSQL_BIND * bnd); -# 803 "mysql.h" -extern my_bool mysql_stmt_close(MYSQL_STMT * stmt); -# 818 "mysql.h" -extern void mysql_stmt_data_seek(MYSQL_STMT * stmt, my_ulonglong); -# 812 "mysql.h" -extern unsigned int mysql_stmt_errno(MYSQL_STMT * stmt); -# 813 "mysql.h" -extern char const * mysql_stmt_error(MYSQL_STMT * stmt); -# 788 "mysql.h" -extern int mysql_stmt_execute(MYSQL_STMT * stmt); -# 789 "mysql.h" -extern int mysql_stmt_fetch(MYSQL_STMT * stmt); -# 790 "mysql.h" -extern int mysql_stmt_fetch_column(MYSQL_STMT * stmt, MYSQL_BIND * bind_arg, unsigned int, unsigned long int); -# 822 "mysql.h" -extern unsigned int mysql_stmt_field_count(MYSQL_STMT * stmt); -# 805 "mysql.h" -extern my_bool mysql_stmt_free_result(MYSQL_STMT * stmt); -# 785 "mysql.h" -extern MYSQL_STMT * mysql_stmt_init(MYSQL * mysql); -# 821 "mysql.h" -extern my_ulonglong mysql_stmt_insert_id(MYSQL_STMT * stmt); -# 819 "mysql.h" -extern my_ulonglong mysql_stmt_num_rows(MYSQL_STMT * stmt); -# 794 "mysql.h" -extern unsigned long int mysql_stmt_param_count(MYSQL_STMT * stmt); -# 811 "mysql.h" -extern MYSQL_RES * mysql_stmt_param_metadata(MYSQL_STMT * stmt); -# 786 "mysql.h" -extern int mysql_stmt_prepare(MYSQL_STMT * stmt, char const * query, unsigned long int); -# 804 "mysql.h" -extern my_bool mysql_stmt_reset(MYSQL_STMT * stmt); -# 810 "mysql.h" -extern MYSQL_RES * mysql_stmt_result_metadata(MYSQL_STMT * stmt); -# 815 "mysql.h" -extern MYSQL_ROW_OFFSET mysql_stmt_row_seek(MYSQL_STMT * stmt, MYSQL_ROW_OFFSET); -# 817 "mysql.h" -extern MYSQL_ROW_OFFSET mysql_stmt_row_tell(MYSQL_STMT * stmt); -# 806 "mysql.h" -extern my_bool mysql_stmt_send_long_data(MYSQL_STMT * stmt, unsigned int, char const * data, unsigned long int); -# 814 "mysql.h" -extern char const * mysql_stmt_sqlstate(MYSQL_STMT * stmt); -# 793 "mysql.h" -extern int mysql_stmt_store_result(MYSQL_STMT * stmt); -# 452 "mysql.h" -extern MYSQL_RES * mysql_store_result(MYSQL * mysql); -# 404 "mysql.h" -extern void mysql_thread_end(void); -# 428 "mysql.h" -extern unsigned long int mysql_thread_id(MYSQL * mysql); -# 403 "mysql.h" -extern my_bool mysql_thread_init(void); -# 561 "mysql.h" -extern unsigned int mysql_thread_safe(void); -# 699 "mysql/plugin.h" -extern int mysql_tmpfile(char const * prefix); -# 77 "mysql.h" -extern char * mysql_unix_port; -# 453 "mysql.h" -extern MYSQL_RES * mysql_use_result(MYSQL * mysql); -# 426 "mysql.h" -extern unsigned int mysql_warning_count(MYSQL * mysql); -# 346 "mysql_com.h" -extern void net_clear(NET * net, my_bool); -# 345 "mysql_com.h" -extern void net_end(NET * net); -# 348 "mysql_com.h" -extern my_bool net_flush(NET * net); -# 353 "mysql_com.h" -extern int net_real_write(NET * net, unsigned char const * packet, size_t); -# 347 "mysql_com.h" -extern my_bool net_realloc(NET * net, size_t); -# 350 "mysql_com.h" -extern my_bool net_write_command(NET * net, unsigned char, unsigned char const * header, size_t, unsigned char const * packet, size_t); -# 445 "mysql_com.h" -extern char * octet2hex(char * to, char const * str, unsigned int); -# 426 "mysql_com.h" -extern void randominit(struct rand_struct *, unsigned long int, unsigned long int); -# 440 "mysql_com.h" -extern void scramble(char * to, char const * message, char const * password); -# 433 "mysql_com.h" -extern void scramble_323(char * to, char const * message, char const * password); -# 37 "typelib.h" -extern TYPELIB sql_protocol_typelib; -# 729 "mysql/plugin.h" -extern void * thd_alloc(void * thd, unsigned int); -# 733 "mysql/plugin.h" -extern void * thd_calloc(void * thd, unsigned int); -# 770 "mysql/plugin.h" -extern void thd_get_xid(void const * thd, MYSQL_XID * xid); -# 680 "mysql/plugin.h" -extern void * * thd_ha_data(void const * thd, struct handlerton const * hton); -# 675 "mysql/plugin.h" -extern int thd_in_lock_tables(void const * thd); -# 685 "mysql/plugin.h" -extern void thd_inc_row_count(void); -# 715 "mysql/plugin.h" -extern int thd_killed(void const * thd); -# 760 "mysql/plugin.h" -extern MYSQL_LEX_STRING * thd_make_lex_string(void * thd, MYSQL_LEX_STRING * lex_str, char const * str, unsigned int, int); -# 745 "mysql/plugin.h" -extern void * thd_memdup(void * thd, void const * str, unsigned int); -# 679 "mysql/plugin.h" -extern char const * thd_proc_info(void * thd, char const * info); -# 682 "mysql/plugin.h" -extern char * thd_security_context(void * thd, char * buffer, unsigned int, unsigned int); -# 678 "mysql/plugin.h" -extern int thd_sql_command(void const * thd); -# 737 "mysql/plugin.h" -extern char * thd_strdup(void * thd, char const * str); -# 741 "mysql/plugin.h" -extern char * thd_strmake(void * thd, char const * str, unsigned int); -# 676 "mysql/plugin.h" -extern int thd_tablespace_op(void const * thd); -# 677 "mysql/plugin.h" -extern long long int thd_test_options(void const * thd, long long int); -# 681 "mysql/plugin.h" -extern int thd_tx_isolation(void const * thd); diff --git a/include/thr_lock.h b/include/thr_lock.h index a4ca6e6ddf2..77d428d1805 100644 --- a/include/thr_lock.h +++ b/include/thr_lock.h @@ -29,6 +29,14 @@ extern ulong locks_immediate,locks_waited ; enum thr_lock_type { TL_IGNORE=-1, TL_UNLOCK, /* UNLOCK ANY LOCK */ + /* + Parser only! At open_tables() becomes TL_READ or + TL_READ_NO_INSERT depending on the binary log format + (SBR/RBR) and on the table category (log table). + Used for tables that are read by statements which + modify tables. + */ + TL_READ_DEFAULT, TL_READ, /* Read lock */ TL_READ_WITH_SHARED_LOCKS, /* High prior. than TL_WRITE. Allow concurrent insert */ diff --git a/libmysql/dll.c b/libmysql/dll.c index 7aa3b5bf96f..8fcf41c792c 100644 --- a/libmysql/dll.c +++ b/libmysql/dll.c @@ -89,9 +89,20 @@ BOOL APIENTRY LibMain(HANDLE hInst,DWORD ul_reason_being_called, UNREFERENCED_PARAMETER(lpReserved); } /* LibMain */ + +static BOOL do_libmain; int __stdcall DllMain(HANDLE hInst,DWORD ul_reason_being_called,LPVOID lpReserved) { - return LibMain(hInst,ul_reason_being_called,lpReserved); + /* + Unless environment variable LIBMYSQL_DLLINIT is set, do nothing. + The environment variable is checked once, during the first call to DllMain() + (in DLL_PROCESS_ATTACH hook). + */ + if (ul_reason_being_called == DLL_PROCESS_ATTACH) + do_libmain = (getenv("LIBMYSQL_DLLINIT") != NULL); + if (do_libmain) + return LibMain(hInst,ul_reason_being_called,lpReserved); + return TRUE; } #elif defined(WINDOWS) diff --git a/libmysqld/CMakeLists.txt b/libmysqld/CMakeLists.txt index 97c718627d1..1582f0898d8 100644 --- a/libmysqld/CMakeLists.txt +++ b/libmysqld/CMakeLists.txt @@ -185,8 +185,7 @@ SET(LIBMYSQLD_SOURCES emb_qcache.cc libmysqld.c lib_sql.cc ../sql/strfunc.cc ../sql/table.cc ../sql/thr_malloc.cc ../sql/time.cc ../sql/tztime.cc ../sql/uniques.cc ../sql/unireg.cc ../sql/partition_info.cc ../sql/sql_connect.cc - ../sql/scheduler.cc ../sql/stacktrace.c - ../sql/event_parse_data.cc + ../sql/scheduler.cc ../sql/event_parse_data.cc ${GEN_SOURCES} ${LIB_SOURCES}) diff --git a/libmysqld/Makefile.am b/libmysqld/Makefile.am index 504980cbd07..ef2fab2da6d 100644 --- a/libmysqld/Makefile.am +++ b/libmysqld/Makefile.am @@ -69,7 +69,7 @@ sqlsources = derror.cc field.cc field_conv.cc strfunc.cc filesort.cc \ sql_select.cc sql_do.cc sql_show.cc set_var.cc \ sql_string.cc sql_table.cc sql_test.cc sql_udf.cc \ sql_update.cc sql_yacc.cc table.cc thr_malloc.cc time.cc \ - unireg.cc uniques.cc stacktrace.c sql_union.cc hash_filo.cc \ + unireg.cc uniques.cc sql_union.cc hash_filo.cc \ spatial.cc gstream.cc sql_help.cc tztime.cc sql_cursor.cc \ sp_head.cc sp_pcontext.cc sp.cc sp_cache.cc sp_rcontext.cc \ parse_file.cc sql_view.cc sql_trigger.cc my_decimal.cc \ diff --git a/libmysqld/emb_qcache.cc b/libmysqld/emb_qcache.cc index fdd7f8ed776..b4eddf39c1f 100644 --- a/libmysqld/emb_qcache.cc +++ b/libmysqld/emb_qcache.cc @@ -447,7 +447,8 @@ int emb_load_querycache_result(THD *thd, Querycache_stream *src) if (thd->protocol == &thd->protocol_binary) { uint length; - row= (MYSQL_ROWS *)alloc_root(&data->alloc, rows * sizeof(MYSQL_ROWS)); + row= (MYSQL_ROWS *)alloc_root(&data->alloc, + (size_t) (rows * sizeof(MYSQL_ROWS))); end_row= row + rows; data->data= row; diff --git a/libmysqld/lib_sql.cc b/libmysqld/lib_sql.cc index 591b76f61ad..6e82812239e 100644 --- a/libmysqld/lib_sql.cc +++ b/libmysqld/lib_sql.cc @@ -79,6 +79,15 @@ emb_advanced_command(MYSQL *mysql, enum enum_server_command command, my_bool result= 1; THD *thd=(THD *) mysql->thd; NET *net= &mysql->net; + my_bool stmt_skip= stmt ? stmt->state != MYSQL_STMT_INIT_DONE : FALSE; + + if (!thd) + { + /* Do "reconnect" if possible */ + if (mysql_reconnect(mysql) || stmt_skip) + return 1; + thd= (THD *) mysql->thd; + } #if defined(ENABLED_PROFILING) && defined(COMMUNITY_SERVER) thd->profiling.start_new_query(); @@ -1094,6 +1103,9 @@ void Protocol_text::prepare_for_resend() data->embedded_info->prev_ptr= &cur->next; next_field=cur->data; next_mysql_field= data->embedded_info->fields_list; +#ifndef DBUG_OFF + field_pos= 0; +#endif DBUG_VOID_RETURN; } diff --git a/man/Makefile.am b/man/Makefile.am index 2d47a1ad9ba..f21034d5535 100644 --- a/man/Makefile.am +++ b/man/Makefile.am @@ -21,5 +21,9 @@ man1_MANS = @man1_files@ man8_MANS = @man8_files@ EXTRA_DIST = $(man1_MANS) $(man8_MANS) +# "make_win_*" are not needed in Unix binary packages, +install-data-hook: + rm -f $(DESTDIR)$(manlibdir)/man1/make_win_* + # Don't update the files from bitkeeper %::SCCS/s.% diff --git a/mysql-test/Makefile.am b/mysql-test/Makefile.am index e7cdf2c3469..4d321f53ffa 100644 --- a/mysql-test/Makefile.am +++ b/mysql-test/Makefile.am @@ -77,6 +77,7 @@ dist-hook: $(INSTALL_DATA) $(srcdir)/std_data/ndb_backup51_data_be/BACKUP* $(distdir)/std_data/ndb_backup51_data_be $(INSTALL_DATA) $(srcdir)/std_data/ndb_backup51_data_le/BACKUP* $(distdir)/std_data/ndb_backup51_data_le $(INSTALL_DATA) $(srcdir)/std_data/parts/part_* $(distdir)/std_data/parts + $(INSTALL_DATA) $(srcdir)/std_data/parts/*.MY* $(distdir)/std_data/parts $(INSTALL_DATA) $(srcdir)/std_data/funcs_1/* $(distdir)/std_data/funcs_1 $(INSTALL_DATA) $(srcdir)/lib/*.pl $(distdir)/lib $(INSTALL_DATA) $(srcdir)/lib/My/*.pm $(distdir)/lib/My @@ -132,6 +133,7 @@ install-data-local: $(INSTALL_DATA) $(srcdir)/std_data/ndb_backup51_data_be/BACKUP* $(DESTDIR)$(testdir)/std_data/ndb_backup51_data_be $(INSTALL_DATA) $(srcdir)/std_data/ndb_backup51_data_le/BACKUP* $(DESTDIR)$(testdir)/std_data/ndb_backup51_data_le $(INSTALL_DATA) $(srcdir)/std_data/parts/part_* $(DESTDIR)$(testdir)/std_data/parts + $(INSTALL_DATA) $(srcdir)/std_data/parts/*.MY* $(DESTDIR)$(testdir)/std_data/parts $(INSTALL_DATA) $(srcdir)/std_data/funcs_1/* $(DESTDIR)$(testdir)/std_data/funcs_1 $(INSTALL_DATA) $(srcdir)/lib/*.pl $(DESTDIR)$(testdir)/lib $(INSTALL_DATA) $(srcdir)/lib/My/*.pm $(DESTDIR)$(testdir)/lib/My diff --git a/mysql-test/extra/binlog_tests/binlog.test b/mysql-test/extra/binlog_tests/binlog.test index 48fc5a81c7b..98bd116ba29 100644 --- a/mysql-test/extra/binlog_tests/binlog.test +++ b/mysql-test/extra/binlog_tests/binlog.test @@ -125,6 +125,45 @@ drop table t1; --replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/ /Server ver: [^,]*,/Server version,/ show binlog events from 0; + +# +# Bug #39182: Binary log producing incompatible character set query from +# stored procedure. +# +reset master; +CREATE DATABASE bug39182 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; +USE bug39182; +CREATE TABLE t1 (a VARCHAR(255) COLLATE utf8_unicode_ci) + DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +DELIMITER //; + +CREATE PROCEDURE p1() +BEGIN + DECLARE s1 VARCHAR(255); + SET s1= "test"; + CREATE TEMPORARY TABLE tmp1 + SELECT * FROM t1 WHERE a LIKE CONCAT("%", s1, "%"); + SELECT + COLLATION(NAME_CONST('s1', _utf8'test')) c1, + COLLATION(NAME_CONST('s1', _utf8'test' COLLATE utf8_unicode_ci)) c2, + COLLATION(s1) c3, + COERCIBILITY(NAME_CONST('s1', _utf8'test')) d1, + COERCIBILITY(NAME_CONST('s1', _utf8'test' COLLATE utf8_unicode_ci)) d2, + COERCIBILITY(s1) d3; + DROP TEMPORARY TABLE tmp1; +END// + +DELIMITER ;// + +CALL p1(); +source include/show_binlog_events.inc; + +DROP PROCEDURE p1; +DROP TABLE t1; +DROP DATABASE bug39182; +USE test; + --echo End of 5.0 tests # Test of a too big SET INSERT_ID: see if the truncated value goes diff --git a/mysql-test/extra/binlog_tests/binlog_insert_delayed.test b/mysql-test/extra/binlog_tests/binlog_insert_delayed.test index d073c8ef227..c99d0b86be3 100644 --- a/mysql-test/extra/binlog_tests/binlog_insert_delayed.test +++ b/mysql-test/extra/binlog_tests/binlog_insert_delayed.test @@ -1,17 +1,43 @@ -# Test of binlogging of INSERT_ID with INSERT DELAYED +# ==== Purpose ==== +# +# Verify that INSERT DELAYED in mixed or row mode writes events to the +# binlog, and that AUTO_INCREMENT works correctly. +# +# ==== Method ==== +# +# Insert both single and multiple rows into an autoincrement column, +# both with specified value and with NULL. +# +# With INSERT DELAYED, the rows do not show up in the table +# immediately, so we must do source include/wait_until_rows_count.inc +# between any two INSERT DELAYED statements. Moreover, if mixed or +# row-based logging is used, there is also a delay between when rows +# show up in the table and when they show up in the binlog. To ensure +# that the rows show up in the binlog, we call FLUSH TABLES, which +# waits until the delayed_insert thread has finished. +# +# We cannot read the binlog after executing INSERT DELAYED statements +# that insert multiple rows, because that is nondeterministic. More +# precisely, rows may be written in batches to the binlog, where each +# batch has one Table_map_log_event and one or more +# Write_rows_log_event. The number of rows included in each batch is +# nondeterministic. +# +# ==== Related bugs ==== +# +# BUG#20627: INSERT DELAYED does not honour auto_increment_* variables +# Bug in this test: BUG#38068: binlog_stm_binlog fails sporadically in pushbuild + + create table t1 (a int not null auto_increment, primary key (a)) engine=myisam; -# First, avoid BUG#20627: -set @@session.auto_increment_increment=1, @@session.auto_increment_offset=1; -# Verify that only one INSERT_ID event is binlogged. -# Note, that because of WL#3368 mixed mode binlog records RBR events for the delayed + let $table=t1; -let $rows_inserted=11; # total number of inserted rows in this test +let $count=0; + insert delayed into t1 values (207); -let $count=1; - -# use this macro instead of sleeps. - +inc $count; --source include/wait_until_rows_count.inc + insert delayed into t1 values (null); inc $count; --source include/wait_until_rows_count.inc @@ -20,9 +46,10 @@ insert delayed into t1 values (300); inc $count; --source include/wait_until_rows_count.inc -# moving binlog check affront of multi-rows queries which work is indeterministic (extra table_maps) -# todo: better check is to substitute SHOW BINLOG with reading from binlog, probably bug#19459 is in -# the way +# It is not enough to wait until all rows have been inserted into the +# table. FLUSH TABLES ensures that they are in the binlog too. See +# comment above. +FLUSH TABLES; source include/show_binlog_events.inc; insert delayed into t1 values (null),(null),(null),(null); @@ -33,8 +60,5 @@ insert delayed into t1 values (null),(null),(400),(null); inc $count; inc $count; inc $count; inc $count; --source include/wait_until_rows_count.inc -#check this assertion about $count calculation ---echo $count == $rows_inserted - select * from t1; drop table t1; diff --git a/mysql-test/extra/binlog_tests/blackhole.test b/mysql-test/extra/binlog_tests/blackhole.test index 2d63ae27aa3..e8671ed2da0 100644 --- a/mysql-test/extra/binlog_tests/blackhole.test +++ b/mysql-test/extra/binlog_tests/blackhole.test @@ -139,15 +139,6 @@ drop table t1,t2,t3; # table # CREATE TABLE t1(a INT) ENGINE=BLACKHOLE; -# NOTE: After exchanging open_ltable() by open_and_lock_tables() in -# handle_delayed_insert() to fix problems with MERGE tables (Bug#26379), -# problems with INSERT DELAYED and BLACKHOLE popped up. open_ltable() -# does not check if the binlogging capabilities of the statement and the -# table match. So the below used to succeed. But since INSERT DELAYED -# switches to row-based logging in mixed-mode and BLACKHOLE cannot do -# row-based logging, it could not really work. Until this problem is -# correctly fixed, we have that error here. ---error ER_BINLOG_LOGGING_IMPOSSIBLE INSERT DELAYED INTO t1 VALUES(1); DROP TABLE t1; diff --git a/mysql-test/extra/binlog_tests/database.test b/mysql-test/extra/binlog_tests/database.test index 11a8f53a6d7..2e445f98adf 100644 --- a/mysql-test/extra/binlog_tests/database.test +++ b/mysql-test/extra/binlog_tests/database.test @@ -13,3 +13,18 @@ create trigger tr1 before insert on t1 for each row insert into t2 values (2*new create procedure sp1 (a int) insert into t1 values(a); drop database testing_1; source include/show_binlog_events.inc; + +# BUG#38773: DROP DATABASE cause switch to stmt-mode when there are +# temporary tables open + +use test; +reset master; +create temporary table tt1 (a int); +create table t1 (a int); +insert into t1 values (1); +disable_warnings; +drop database if exists mysqltest1; +enable_warnings; +insert into t1 values (1); +drop table tt1, t1; +source include/show_binlog_events.inc; diff --git a/mysql-test/extra/binlog_tests/innodb_stat.test b/mysql-test/extra/binlog_tests/innodb_stat.test index 4638dfcd2f7..b31e99dfe71 100644 --- a/mysql-test/extra/binlog_tests/innodb_stat.test +++ b/mysql-test/extra/binlog_tests/innodb_stat.test @@ -7,6 +7,7 @@ # Actually this test has nothing to do with innodb per se, it just requires # transactional table. # +flush status; show status like "binlog_cache_use"; show status like "binlog_cache_disk_use"; --disable_warnings @@ -38,12 +39,3 @@ commit; show status like "binlog_cache_use"; show status like "binlog_cache_disk_use"; drop table t1; - -# Test for testable InnoDB status variables. This test -# uses previous ones(pages_created, rows_deleted, ...). -show status like "Innodb_buffer_pool_pages_total"; -show status like "Innodb_page_size"; -show status like "Innodb_rows_deleted"; -show status like "Innodb_rows_inserted"; -show status like "Innodb_rows_updated"; - diff --git a/mysql-test/extra/rpl_tests/rpl_EE_err.test b/mysql-test/extra/rpl_tests/rpl_EE_err.test index 3dce12b3f4e..b7b393c3d6f 100644 --- a/mysql-test/extra/rpl_tests/rpl_EE_err.test +++ b/mysql-test/extra/rpl_tests/rpl_EE_err.test @@ -20,7 +20,7 @@ eval create table t1 (a int) engine=$engine_type; flush tables; -system rm $MYSQLTEST_VARDIR/master-data/test/t1.MYI ; +remove_file $MYSQLTEST_VARDIR/master-data/test/t1.MYI ; drop table if exists t1; save_master_pos; connection slave; diff --git a/mysql-test/extra/rpl_tests/rpl_blackhole.test b/mysql-test/extra/rpl_tests/rpl_blackhole.test new file mode 100644 index 00000000000..1a0eeb3cf15 --- /dev/null +++ b/mysql-test/extra/rpl_tests/rpl_blackhole.test @@ -0,0 +1,32 @@ +# Check replication of one statement assuming that the engine on the +# slave is a blackhole engine. + +# Input: +# $statement Statement to evaluate, it is assumed to change t1 + +# 1. Evaluate statement on master, it is assumed to change t1 +# 2. Wait for statement to be processed on slave +# 3. SELECT from table t1 to see what was written +# 4. Compare position on slave before executing statement and after +# executing statement. If difference is >0, then something was +# written to the binary log on the slave. + +connection slave; +let $before = query_get_value("SHOW MASTER STATUS", Position, 1); + +--echo [on master] +connection master; +eval $statement; + +--echo [on slave] +sync_slave_with_master; +--echo # Expect 0 +SELECT COUNT(*) FROM t1; +let $after = query_get_value("SHOW MASTER STATUS", Position, 1); +let $something_written = `select $after - $before != 0`; +if ($something_written) { + --echo >>> Something was written to binary log <<< +} +if (!$something_written) { + --echo >>> Nothing was written to binary log <<< +} diff --git a/mysql-test/extra/rpl_tests/rpl_ddl.test b/mysql-test/extra/rpl_tests/rpl_ddl.test index e40532f005f..f1064dc268f 100644 --- a/mysql-test/extra/rpl_tests/rpl_ddl.test +++ b/mysql-test/extra/rpl_tests/rpl_ddl.test @@ -151,6 +151,20 @@ DROP DATABASE IF EXISTS mysqltest3; CREATE DATABASE mysqltest1; CREATE DATABASE mysqltest2; eval CREATE TABLE mysqltest1.t1 (f1 BIGINT) ENGINE=$engine_type; +# Prevent Bug#26687 rpl_ddl test fails if run with --innodb option +# The testscript (suite/rpl/rpl_ddl.test) + the expected result need that the +# slave uses MyISAM for the table mysqltest.t1. +# This is not valid in case of suite/rpl_ndb/rpl_ndb_ddl.test which sources +# also this script. +sync_slave_with_master; +connection slave; +if (`SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES + WHERE TABLE_SCHEMA = 'mysqltest1' AND TABLE_NAME = 't1' + AND ENGINE <> 'MyISAM' AND '$engine_type' <> 'NDB'`) +{ + skip This test needs on slave side: InnoDB disabled, default engine: MyISAM; +} +connection master; INSERT INTO mysqltest1.t1 SET f1= 0; eval CREATE TABLE mysqltest1.t2 (f1 BIGINT) ENGINE=$engine_type; eval CREATE TABLE mysqltest1.t3 (f1 BIGINT) ENGINE=$engine_type; diff --git a/mysql-test/extra/rpl_tests/rpl_insert_id.test b/mysql-test/extra/rpl_tests/rpl_insert_id.test index d8ea267d62b..bd815d9de02 100644 --- a/mysql-test/extra/rpl_tests/rpl_insert_id.test +++ b/mysql-test/extra/rpl_tests/rpl_insert_id.test @@ -442,8 +442,6 @@ SELECT f1(); INSERT INTO t1 VALUES (NULL, f2()), (NULL, LAST_INSERT_ID()), (NULL, LAST_INSERT_ID()), (NULL, f2()), (NULL, f2()); INSERT INTO t1 VALUES (NULL, f2()); -INSERT INTO t1 VALUES (NULL, LAST_INSERT_ID()), (NULL, LAST_INSERT_ID(5)), - (NULL, @@LAST_INSERT_ID); # Test replication of substitution "IS NULL" -> "= LAST_INSERT_ID". INSERT INTO t1 VALUES (NULL, 0), (NULL, LAST_INSERT_ID()); UPDATE t1 SET j= -1 WHERE i IS NULL; diff --git a/mysql-test/extra/rpl_tests/rpl_log.test b/mysql-test/extra/rpl_tests/rpl_log.test index 078d3d4557d..60ffab316cf 100644 --- a/mysql-test/extra/rpl_tests/rpl_log.test +++ b/mysql-test/extra/rpl_tests/rpl_log.test @@ -13,22 +13,15 @@ save_master_pos; connection slave; sync_with_master; stop slave; +--source include/wait_for_slave_to_stop.inc reset master; reset slave; -# We are going to read the slave's binlog which contains file_id (for some LOAD -# DATA INFILE); to make it repeatable (not influenced by other tests), we need -# to stop and start the slave, to be sure file_id will start from 1. -# This can be done with 'server_stop slave', but -# this would require the manager, so most of the time the test will be skipped -# :( -# To workaround this, I (Guilhem) add a (empty) rpl_log-slave.opt (because when -# mysql-test-run finds such a file it restarts the slave before doing the -# test). That's not very elegant but I could find no better way, sorry. +start slave; +--source include/wait_for_slave_to_start.inc let $VERSION=`select version()`; connection master; -reset master; eval create table t1(n int not null auto_increment primary key)ENGINE=$engine_type; insert into t1 values (NULL); drop table t1; @@ -79,7 +72,6 @@ connection slave; # Note that the above 'slave start' will cause a 3rd rotate event (a fake one) # to go into the relay log (the master always sends a fake one when replication # starts). -start slave; let $result_pattern= '%127.0.0.1%root%master-bin.000002%slave-relay-bin.000005%Yes%Yes%0%0%None%'; --source include/wait_slave_status.inc sync_with_master; @@ -87,6 +79,7 @@ sync_with_master; select * from t1 order by 1 asc; flush logs; stop slave; +--source include/wait_for_slave_to_stop.inc connection master; # Create some entries for second log @@ -95,6 +88,7 @@ eval create table t2 (n int)ENGINE=$engine_type; insert into t2 values (1); source include/show_binlog_events.inc; --replace_result $VERSION VERSION +--replace_regex /file_id=[0-9]+/file_id=#/ /block_len=[0-9]+/block_len=#/ /infile '.+'/infile 'words.dat'/ --replace_column 2 # 5 # --replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/ show binlog events in 'master-bin.000002'; @@ -102,10 +96,12 @@ show binary logs; save_master_pos; connection slave; start slave; +--source include/wait_for_slave_to_start.inc sync_with_master; show binary logs; --replace_result $MASTER_MYPORT MASTER_PORT $VERSION VERSION --replace_column 2 # 5 # +--replace_regex /file_id=[0-9]+/file_id=#/ /block_len=[0-9]+/block_len=#/ /INFILE '.+'/INFILE 'words.dat'/ --replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/ show binlog events in 'slave-bin.000001' from 4; --replace_result $MASTER_MYPORT MASTER_PORT $VERSION VERSION diff --git a/mysql-test/extra/rpl_tests/rpl_row_basic.test b/mysql-test/extra/rpl_tests/rpl_row_basic.test index 48ddbaf244a..7cfbcdb4437 100644 --- a/mysql-test/extra/rpl_tests/rpl_row_basic.test +++ b/mysql-test/extra/rpl_tests/rpl_row_basic.test @@ -259,12 +259,28 @@ DELETE FROM t1; query_vertical SELECT COUNT(*) FROM t1 ORDER BY c1,c2; sync_slave_with_master; set @@global.slave_exec_mode= default; -let $last_error = query_get_value("SHOW SLAVE STATUS", Last_SQL_Errno, 1); +let $last_error = query_get_value("SHOW SLAVE STATUS", Last_SQL_Error, 1); disable_query_log; eval SELECT "$last_error" AS Last_SQL_Error; enable_query_log; query_vertical SELECT COUNT(*) FROM t1 ORDER BY c1,c2; +# BUG#37076: TIMESTAMP/DATETIME values are not replicated correctly +# between machines with mixed endiannes +# (regression test) + +--echo **** Test for BUG#37076 **** +--echo **** On Master **** +connection master; +DROP TABLE IF EXISTS t1; +CREATE TABLE t1 (a TIMESTAMP, b DATETIME, c DATE); +INSERT INTO t1 VALUES( + '2005-11-14 01:01:01', '2005-11-14 01:01:02', '2005-11-14'); + +--echo **** On Slave **** +sync_slave_with_master slave; +SELECT * FROM t1; + # # cleanup # @@ -272,3 +288,186 @@ query_vertical SELECT COUNT(*) FROM t1 ORDER BY c1,c2; connection master; DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7,t8; sync_slave_with_master; + +# +# BUG#37426: RBR breaks for CHAR() UTF8 fields > 85 chars +# + +# We have 4 combinations to test with respect to the field length +# (i.e., the number of bytes) of the CHAR fields: +# +# 1. Replicating from CHAR<256 to CHAR<256 +# 2. Replicating from CHAR<256 to CHAR>255 +# 3. Replicating from CHAR>255 to CHAR<256 +# 4. Replicating from CHAR>255 to CHAR>255 + +# We also make a special case of using the max size of a field on the +# master, i.e. CHAR(255) in UTF-8, giving another three cases. +# +# 5. Replicating UTF-8 CHAR(255) to CHAR(<256) +# 6. Replicating UTF-8 CHAR(255) to CHAR(>255) +# 7. Replicating UTF-8 CHAR(255) to CHAR(255) UTF-8 + +connection master; +eval CREATE TABLE t1 (i INT NOT NULL, + c CHAR(16) CHARACTER SET utf8 NOT NULL, + j INT NOT NULL) ENGINE = $type ; + +eval CREATE TABLE t2 (i INT NOT NULL, + c CHAR(16) CHARACTER SET utf8 NOT NULL, + j INT NOT NULL) ENGINE = $type ; + +sync_slave_with_master; +ALTER TABLE t2 MODIFY c CHAR(128) CHARACTER SET utf8 NOT NULL; + +connection master; +eval CREATE TABLE t3 (i INT NOT NULL, + c CHAR(128) CHARACTER SET utf8 NOT NULL, + j INT NOT NULL) ENGINE = $type ; +sync_slave_with_master; +ALTER TABLE t3 MODIFY c CHAR(16) CHARACTER SET utf8 NOT NULL; + +connection master; +eval CREATE TABLE t4 (i INT NOT NULL, + c CHAR(128) CHARACTER SET utf8 NOT NULL, + j INT NOT NULL) ENGINE = $type ; + +eval CREATE TABLE t5 (i INT NOT NULL, + c CHAR(255) CHARACTER SET utf8 NOT NULL, + j INT NOT NULL) ENGINE = $type ; +sync_slave_with_master; +ALTER TABLE t5 MODIFY c CHAR(16) CHARACTER SET utf8 NOT NULL; + +connection master; +eval CREATE TABLE t6 (i INT NOT NULL, + c CHAR(255) CHARACTER SET utf8 NOT NULL, + j INT NOT NULL) ENGINE = $type ; +sync_slave_with_master; +ALTER TABLE t6 MODIFY c CHAR(128) CHARACTER SET utf8 NOT NULL; + +connection master; +eval CREATE TABLE t7 (i INT NOT NULL, + c CHAR(255) CHARACTER SET utf8 NOT NULL, + j INT NOT NULL) ENGINE = $type ; + +--echo [expecting slave to replicate correctly] +connection master; +INSERT INTO t1 VALUES (1, "", 1); +INSERT INTO t1 VALUES (2, repeat(_utf8'a', 16), 2); +sync_slave_with_master; + +let $diff_table_1=master:test.t1; +let $diff_table_2=slave:test.t1; +source include/diff_tables.inc; + +--echo [expecting slave to replicate correctly] +connection master; +INSERT INTO t2 VALUES (1, "", 1); +INSERT INTO t2 VALUES (2, repeat(_utf8'a', 16), 2); +sync_slave_with_master; + +let $diff_table_1=master:test.t2; +let $diff_table_2=slave:test.t2; +source include/diff_tables.inc; + +--echo [expecting slave to stop] +connection master; +INSERT INTO t3 VALUES (1, "", 1); +INSERT INTO t3 VALUES (2, repeat(_utf8'a', 128), 2); + +connection slave; +source include/wait_for_slave_sql_to_stop.inc; +let $last_error = query_get_value("SHOW SLAVE STATUS", Last_SQL_Error, 1); +disable_query_log; +eval SELECT "$last_error" AS Last_SQL_Error; +enable_query_log; +connection master; +RESET MASTER; +connection slave; +STOP SLAVE; +RESET SLAVE; +START SLAVE; +source include/wait_for_slave_to_start.inc; + +--echo [expecting slave to replicate correctly] +connection master; +INSERT INTO t4 VALUES (1, "", 1); +INSERT INTO t4 VALUES (2, repeat(_utf8'a', 128), 2); +sync_slave_with_master; + +let $diff_table_1=master:test.t4; +let $diff_table_2=slave:test.t4; +source include/diff_tables.inc; + +--echo [expecting slave to stop] +connection master; +INSERT INTO t5 VALUES (1, "", 1); +INSERT INTO t5 VALUES (2, repeat(_utf8'a', 255), 2); + +connection slave; +source include/wait_for_slave_sql_to_stop.inc; +let $last_error = query_get_value("SHOW SLAVE STATUS", Last_SQL_Error, 1); +disable_query_log; +eval SELECT "$last_error" AS Last_SQL_Error; +enable_query_log; +connection master; +RESET MASTER; +connection slave; +STOP SLAVE; +RESET SLAVE; +START SLAVE; +source include/wait_for_slave_to_start.inc; + +--echo [expecting slave to stop] +connection master; +INSERT INTO t6 VALUES (1, "", 1); +INSERT INTO t6 VALUES (2, repeat(_utf8'a', 255), 2); + +connection slave; +source include/wait_for_slave_sql_to_stop.inc; +let $last_error = query_get_value("SHOW SLAVE STATUS", Last_SQL_Error, 1); +disable_query_log; +eval SELECT "$last_error" AS Last_SQL_Error; +enable_query_log; +connection master; +RESET MASTER; +connection slave; +STOP SLAVE; +RESET SLAVE; +START SLAVE; +source include/wait_for_slave_to_start.inc; + +--echo [expecting slave to replicate correctly] +connection master; +INSERT INTO t7 VALUES (1, "", 1); +INSERT INTO t7 VALUES (2, repeat(_utf8'a', 255), 2); +sync_slave_with_master; + +let $diff_table_1=master:test.t7; +let $diff_table_2=slave:test.t7; +source include/diff_tables.inc; + +connection master; +drop table t1, t2, t3, t4, t5, t6, t7; +sync_slave_with_master; + +# +# BUG#32709: Assertion failed: trx_data->empty(), file .\log.cc, line 1293 +# + +connection master; +eval CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=$type; + +INSERT INTO t1 VALUES (1), (2), (3); +--error ER_DUP_ENTRY +UPDATE t1 SET a = 10; +INSERT INTO t1 VALUES (4); +sync_slave_with_master; + +let $diff_table_1=master:test.t1; +let $diff_table_2=slave:test.t1; +source include/diff_tables.inc; + +connection master; +drop table t1; +sync_slave_with_master; diff --git a/mysql-test/include/concurrent.inc b/mysql-test/include/concurrent.inc index 7eee50c52e6..febab1eceb4 100644 --- a/mysql-test/include/concurrent.inc +++ b/mysql-test/include/concurrent.inc @@ -4,354 +4,641 @@ # Bug#3300 # Designed and tested by Sinisa Milivojevic, sinisa@mysql.com # -# two non-interfering UPDATE's not changing result set -# -# The variable -# $engine_type -- storage engine to be tested -# has to be set before sourcing this script. +# These variables have to be set before sourcing this script: +# TRANSACTION ISOLATION LEVEL REPEATABLE READ +# innodb_locks_unsafe_for_binlog 0 (default) or 1 (by +# --innodb_locks_unsafe_for_binlog) +# $engine_type storage engine to be tested # # Last update: # 2006-08-02 ML test refactored # old name was t/innodb_concurrent.test # main code went into include/concurrent.inc +# 2008-06-03 KP test refactored; removed name locks, added comments. +# renamed wrapper t/concurrent_innodb.test -> +# t/concurrent_innodb_unsafelog.test +# new wrapper t/concurrent_innodb_safelog.test # connection default; -eval SET SESSION STORAGE_ENGINE = $engine_type; + +# +# Show prerequisites for this test. +# +SELECT @@global.tx_isolation; +SELECT @@global.innodb_locks_unsafe_for_binlog; +# +# When innodb_locks_unsafe_for_binlog is not set (zero), which is the +# default, InnoDB takes "next-key locks"/"gap locks". This means it +# locks the gap before the keys that it accessed to find the rows to +# use for a statement. In this case we have to expect some more lock +# wait timeouts in the tests below as if innodb_locks_unsafe_for_binlog +# is set (non-zero). In the latter case no "next-key locks"/"gap locks" +# are taken and locks on keys that do not match the WHERE conditon are +# released. Hence less lock collisions occur. +# We use the variable $keep_locks to set the expectations for +# lock wait timeouts accordingly. +# +let $keep_locks= `SELECT NOT @@global.innodb_locks_unsafe_for_binlog`; +--echo # keep_locks == $keep_locks + +# +# Set up privileges and remove user level locks, if exist. +# +GRANT USAGE ON test.* TO mysqltest@localhost; + +# +# Preparatory cleanup. +# +DO release_lock("hello"); +DO release_lock("hello2"); --disable_warnings drop table if exists t1; --enable_warnings -create table t1(eta int(11) not null, tipo int(11), c varchar(255)); -connect (thread1, localhost, mysqltest,,); -connection thread1; -eval SET SESSION STORAGE_ENGINE = $engine_type; -insert into t1 values (7,7, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"); -insert into t1 values (8,8, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"); -insert into t1 values (10,1,"ccccccccccccccccccccccccccccccccccccccccccc"); -insert into t1 values (20,2,"ddddddddddddddddddddddddddddddddddddddddddd"); -insert into t1 values (30,1,"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"); -insert into t1 values (40,2,"fffffffffffffffffffffffffffffffffffffffffff"); -insert into t1 values (50,1,"ggggggggggggggggggggggggggggggggggggggggggg"); -insert into t1 values (60,2,"hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh"); -insert into t1 values (70,1,"iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii"); -insert into t1 values (80,22,"jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj"); -insert into t1 values (90,11,"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); -select get_lock("hello",1); -connect (thread2, localhost, mysqltest,,); -connection thread2; -begin; -send update t1 set eta=1+get_lock("hello",1)*0 where tipo=11; -sleep 1; -connection thread1; -begin; -update t1 set eta=2 where tipo=22; -select release_lock("hello"); -select * from t1; -connection thread2; -reap; -select * from t1; -send commit; -connection thread1; -select * from t1; -commit; -select * from t1; -connection thread2; -reap; -select * from t1; -connection thread1; -select * from t1; -connection default; -drop table t1; -# -# two UPDATE's running and one changing result set -# -#connect (thread1, localhost, mysqltest,,); -connection thread1; -create table t1(eta int(11) not null, tipo int(11), c varchar(255)); -insert into t1 values (7,7, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"); -insert into t1 values (8,8, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"); -insert into t1 values (10,1,"ccccccccccccccccccccccccccccccccccccccccccc"); -insert into t1 values (20,2,"ddddddddddddddddddddddddddddddddddddddddddd"); -insert into t1 values (30,1,"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"); -insert into t1 values (40,2,"fffffffffffffffffffffffffffffffffffffffffff"); -insert into t1 values (50,1,"ggggggggggggggggggggggggggggggggggggggggggg"); -insert into t1 values (60,2,"hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh"); -insert into t1 values (70,1,"iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii"); -insert into t1 values (80,22,"jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj"); -insert into t1 values (90,11,"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); -select get_lock("hello",10); -#connect (thread2, localhost, mysqltest,,); -connection thread2; -begin; -send update t1 set eta=1+get_lock("hello",10)*0 where tipo=1; -sleep 1; -connection thread1; -begin; -update t1 set tipo=1 where tipo=2; -select release_lock("hello"); -select * from t1; -connection thread2; -reap; -select * from t1; -send commit; -connection thread1; -select * from t1; -commit; -select * from t1; -connection thread2; -reap; -select * from t1; -connection thread1; -select * from t1; + +--echo +--echo ** +--echo ** two UPDATE's running and both changing distinct result sets +--echo ** + --echo ** connection thread1 + connect (thread1, localhost, mysqltest,,); + connection thread1; + --echo ** Set up table + eval SET SESSION STORAGE_ENGINE = $engine_type; + create table t1(eta int(11) not null, tipo int(11), c varchar(255)); + insert into t1 values (7,7, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"); + insert into t1 values (8,8, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"); + insert into t1 values (10,1,"ccccccccccccccccccccccccccccccccccccccccccc"); + insert into t1 values (20,2,"ddddddddddddddddddddddddddddddddddddddddddd"); + insert into t1 values (30,1,"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"); + insert into t1 values (40,2,"fffffffffffffffffffffffffffffffffffffffffff"); + insert into t1 values (50,1,"ggggggggggggggggggggggggggggggggggggggggggg"); + insert into t1 values (60,2,"hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh"); + insert into t1 values (70,1,"iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii"); + insert into t1 values (80,22,"jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj"); + insert into t1 values (90,11,"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); + --echo ** Get user level lock (ULL) for thread 1 + select get_lock("hello",10); + + --echo ** connection thread2 + connect (thread2, localhost, mysqltest,,); + connection thread2; + --echo ** Start transaction for thread 2 + begin; + --echo ** Update will cause a table scan and a new ULL will + --echo ** be created and blocked on the first row where tipo=11. + send update t1 set eta=1+get_lock("hello",10)*0 where tipo=11; + sleep 1; + + --echo ** connection thread1 + connection thread1; + --echo ** Start new transaction for thread 1 + begin; + --echo ** Update on t1 will cause a table scan which will be blocked because + --echo ** the previously initiated table scan applied exclusive key locks on + --echo ** all primary keys. + --echo ** Not so if innodb_locks_unsafe_for_binlog is set. The locks that + --echo ** do not match the WHERE condition are released. + if ($keep_locks) + { + --error ER_LOCK_WAIT_TIMEOUT + update t1 set eta=2 where tipo=22; + } + if (!$keep_locks) + { + update t1 set eta=2 where tipo=22; + } + --echo ** Release user level name lock from thread 1. This will cause the ULL + --echo ** on thread 2 to end its wait. + select release_lock("hello"); + --echo ** Table is now updated with a new eta on tipo=22 for thread 1. + select * from t1; + + --echo ** connection thread2 + connection thread2; + --echo ** Release the lock and collect result from update on thread 2 + reap; + select release_lock("hello"); + --echo ** Table should have eta updates where tipo=11 but updates made by + --echo ** thread 1 shouldn't be visible yet. + select * from t1; + --echo ** Sending commit on thread 2. + commit; + + --echo ** connection thread1 + connection thread1; + --echo ** Make sure table reads didn't change yet on thread 1. + select * from t1; + --echo ** And send final commit on thread 1. + commit; + --echo ** Table should now be updated by both updates in the order of + --echo ** thread 1,2. + select * from t1; + + --echo ** connection thread2 + connection thread2; + --echo ** Make sure the output is similar for t1. + select * from t1; + + --echo ** connection thread1 + connection thread1; + select * from t1; + +--echo ** connection default connection default; drop table t1; -# -# One UPDATE and one INSERT .... Monty's test -# +--echo +--echo ** +--echo ** two UPDATE's running and one changing result set +--echo ** + --echo ** connection thread1 + #connect (thread1, localhost, mysqltest,,); + connection thread1; + --echo ** Set up table + eval SET SESSION STORAGE_ENGINE = $engine_type; + create table t1(eta int(11) not null, tipo int(11), c varchar(255)); + insert into t1 values (7,7, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"); + insert into t1 values (8,8, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"); + insert into t1 values (10,1,"ccccccccccccccccccccccccccccccccccccccccccc"); + insert into t1 values (20,2,"ddddddddddddddddddddddddddddddddddddddddddd"); + insert into t1 values (30,1,"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"); + insert into t1 values (40,2,"fffffffffffffffffffffffffffffffffffffffffff"); + insert into t1 values (50,1,"ggggggggggggggggggggggggggggggggggggggggggg"); + insert into t1 values (60,2,"hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh"); + insert into t1 values (70,1,"iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii"); + insert into t1 values (80,22,"jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj"); + insert into t1 values (90,11,"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); + --echo ** Get ULL "hello" on thread 1 + select get_lock("hello",10); -#connect (thread1, localhost, mysqltest,,); -connection thread1; -create table t1 (a int not null, b int not null); -insert into t1 values (1,1),(2,1),(3,1),(4,1); -select get_lock("hello2",1000); -#connect (thread2, localhost, mysqltest,,); -connection thread2; -begin; -send update t1 set b=10+get_lock(concat("hello",a),1000)*0 where -a=2; -sleep 1; -connection thread1; -insert into t1 values (1,1); -select release_lock("hello2"); -select * from t1; -connection thread2; -reap; -select * from t1; -send commit; -connection thread1; -sleep 1; -connection thread2; -reap; -connection default; -drop table t1; + --echo ** connection thread2 + #connect (thread2, localhost, mysqltest,,); + connection thread2; + --echo ** Start transaction on thread 2 + begin; + --echo ** Update will cause a table scan. + --echo ** This will cause a hang on the first row where tipo=1 until the + --echo ** blocking ULL is released. + send update t1 set eta=1+get_lock("hello",10)*0 where tipo=1; + sleep 1; -# -# one UPDATE changing result set and SELECT ... FOR UPDATE -# -#connect (thread1, localhost, mysqltest,,); -connection thread1; -create table t1(eta int(11) not null, tipo int(11), c varchar(255)); -insert into t1 values (7,7, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"); -insert into t1 values (8,8, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"); -insert into t1 values (10,1,"ccccccccccccccccccccccccccccccccccccccccccc"); -insert into t1 values (20,2,"ddddddddddddddddddddddddddddddddddddddddddd"); -insert into t1 values (30,1,"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"); -insert into t1 values (40,2,"fffffffffffffffffffffffffffffffffffffffffff"); -insert into t1 values (50,1,"ggggggggggggggggggggggggggggggggggggggggggg"); -insert into t1 values (60,2,"hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh"); -insert into t1 values (70,1,"iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii"); -insert into t1 values (80,22,"jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj"); -insert into t1 values (90,11,"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); -select get_lock("hello",10); -#connect (thread2, localhost, mysqltest,,); -connection thread2; -begin; -send select * from t1 where tipo=2 FOR UPDATE; -sleep 1; -connection thread1; -begin; -select release_lock("hello"); ---error 1205 -update t1 set tipo=1+get_lock("hello",10)*0 where tipo=2; -select * from t1; -connection thread2; -reap; -select * from t1; -send commit; -connection thread1; -commit; -connection thread2; -reap; -select * from t1; -connection thread1; -select * from t1; -connection default; -drop table t1; + --echo ** connection thread1 + connection thread1; + --echo ** Start transaction on thread 1 + begin; + --echo ** Update on t1 will cause a table scan which will be blocked because + --echo ** the previously initiated table scan applied exclusive key locks on + --echo ** all primary keys. + --echo ** Not so if innodb_locks_unsafe_for_binlog is set. The locks that + --echo ** do not match the WHERE condition are released. + if ($keep_locks) + { + --error ER_LOCK_WAIT_TIMEOUT + update t1 set tipo=1 where tipo=2; + } + if (!$keep_locks) + { + update t1 set tipo=1 where tipo=2; + } + --echo ** Release ULL. This will release the next waiting ULL on thread 2. + select release_lock("hello"); + --echo ** The table should still be updated with updates for thread 1 only: + select * from t1; -# -# one UPDATE not changing result set and SELECT ... FOR UPDATE -# -#connect (thread1, localhost, mysqltest,,); -connection thread1; -create table t1(eta int(11) not null, tipo int(11), c varchar(255)); -insert into t1 values (7,7, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"); -insert into t1 values (8,8, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"); -insert into t1 values (10,1,"ccccccccccccccccccccccccccccccccccccccccccc"); -insert into t1 values (20,2,"ddddddddddddddddddddddddddddddddddddddddddd"); -insert into t1 values (30,1,"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"); -insert into t1 values (40,2,"fffffffffffffffffffffffffffffffffffffffffff"); -insert into t1 values (50,1,"ggggggggggggggggggggggggggggggggggggggggggg"); -insert into t1 values (60,2,"hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh"); -insert into t1 values (70,1,"iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii"); -insert into t1 values (80,22,"jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj"); -insert into t1 values (90,11,"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); -select get_lock("hello",10); -#connect (thread2, localhost, mysqltest,,); -connection thread2; -begin; -send select * from t1 where tipo=2 FOR UPDATE; -sleep 1; -connection thread1; -begin; -select release_lock("hello"); ---error 1205 -update t1 set tipo=11+get_lock("hello",10)*0 where tipo=22; -select * from t1; -connection thread2; -reap; -select * from t1; -send commit; -connection thread1; -commit; -connection thread2; -reap; -select * from t1; -connection thread1; -select * from t1; -connection default; -drop table t1; + --echo ** connection thread2 + connection thread2; + --echo ** Release the lock and collect result from thread 2: + reap; + select release_lock("hello"); + --echo ** Seen from thread 2 the table should have been updated on four + --echo ** places. + select * from t1; + commit; -# -# two SELECT ... FOR UPDATE -# -#connect (thread1, localhost, mysqltest,,); -connection thread1; -create table t1(eta int(11) not null, tipo int(11), c varchar(255)); -insert into t1 values (7,7, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"); -insert into t1 values (8,8, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"); -insert into t1 values (10,1,"ccccccccccccccccccccccccccccccccccccccccccc"); -insert into t1 values (20,2,"ddddddddddddddddddddddddddddddddddddddddddd"); -insert into t1 values (30,1,"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"); -insert into t1 values (40,2,"fffffffffffffffffffffffffffffffffffffffffff"); -insert into t1 values (50,1,"ggggggggggggggggggggggggggggggggggggggggggg"); -insert into t1 values (60,2,"hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh"); -insert into t1 values (70,1,"iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii"); -insert into t1 values (80,22,"jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj"); -insert into t1 values (90,11,"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); -select get_lock("hello",10); -#connect (thread2, localhost, mysqltest,,); -connection thread2; -begin; -send select * from t1 where tipo=2 FOR UPDATE; -sleep 1; -connection thread1; -begin; -select release_lock("hello"); ---error 1205 -select * from t1 where tipo=1 FOR UPDATE; -connection thread2; -reap; -select * from t1; -send commit; -connection thread1; -commit; -connection thread2; -reap; -select * from t1; -connection thread1; -select * from t1; + --echo ** connection thread1 + connection thread1; + --echo ** Thread 2 has committed but the result should remain the same for + --echo ** thread 1 (updated on three places): + select * from t1; + commit; + --echo ** After a commit the table should be merged with the previous + --echo ** commit. + --echo ** This select should show both updates: + select * from t1; + + --echo ** connection thread2 + connection thread2; + select * from t1; + + --echo ** connection thread1 + connection thread1; + select * from t1; + +--echo ** connection default connection default; drop table t1; -# -# one UPDATE changing result set and DELETE -# -#connect (thread1, localhost, mysqltest,,); -connection thread1; -create table t1(eta int(11) not null, tipo int(11), c varchar(255)); -insert into t1 values (7,7, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"); -insert into t1 values (8,8, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"); -insert into t1 values (10,1,"ccccccccccccccccccccccccccccccccccccccccccc"); -insert into t1 values (20,2,"ddddddddddddddddddddddddddddddddddddddddddd"); -insert into t1 values (30,1,"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"); -insert into t1 values (40,2,"fffffffffffffffffffffffffffffffffffffffffff"); -insert into t1 values (50,1,"ggggggggggggggggggggggggggggggggggggggggggg"); -insert into t1 values (60,2,"hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh"); -insert into t1 values (70,1,"iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii"); -insert into t1 values (80,22,"jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj"); -insert into t1 values (90,11,"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); -select get_lock("hello",10); -#connect (thread2, localhost, mysqltest,,); -connection thread2; -begin; -send delete from t1 where tipo=2; -sleep 1; -connection thread1; -begin; -select release_lock("hello"); ---error 1205 -update t1 set tipo=1+get_lock("hello",10)*0 where tipo=2; -select * from t1; -connection thread2; -reap; -select * from t1; -send commit; -connection thread1; -commit; -connection thread2; -reap; -select * from t1; -connection thread1; -select * from t1; +--echo +--echo ** +--echo ** One UPDATE and one INSERT .... Monty's test +--echo ** + --echo ** connection thread1 + #connect (thread1, localhost, mysqltest,,); + connection thread1; + --echo ** Set up table + eval SET SESSION STORAGE_ENGINE = $engine_type; + create table t1 (a int not null, b int not null); + insert into t1 values (1,1),(2,1),(3,1),(4,1); + --echo ** Create ULL 'hello2' + select get_lock("hello2",10); + + --echo ** connection thread2 + #connect (thread2, localhost, mysqltest,,); + connection thread2; + --echo ** Begin a new transaction on thread 2 + begin; + --echo ** Update will create a table scan which creates a ULL where a=2; + --echo ** this will hang waiting on thread 1. + send update t1 set b=10+get_lock(concat("hello",a),10)*0 where a=2; + sleep 1; + + --echo ** connection thread1 + connection thread1; + --echo ** Insert new values to t1 from thread 1; this created an implicit + --echo ** commit since there are no on-going transactions. + insert into t1 values (1,1); + --echo ** Release the ULL (thread 2 updates will finish). + select release_lock("hello2"); + --echo ** ..but thread 1 will still see t1 as if nothing has happend: + select * from t1; + + --echo ** connection thread2 + connection thread2; + --echo ** Collect results from thread 2 and release the lock. + reap; + select release_lock("hello2"); + --echo ** The table should look like the original+updates for thread 2, + --echo ** and consist of new rows: + select * from t1; + --echo ** Commit changes from thread 2 + commit; + +--echo ** connection default connection default; drop table t1; -# -# one UPDATE not changing result set and DELETE -# -#connect (thread1, localhost, mysqltest,,); -connection thread1; -create table t1(eta int(11) not null, tipo int(11), c varchar(255)); -insert into t1 values (7,7, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"); -insert into t1 values (8,8, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"); -insert into t1 values (10,1,"ccccccccccccccccccccccccccccccccccccccccccc"); -insert into t1 values (20,2,"ddddddddddddddddddddddddddddddddddddddddddd"); -insert into t1 values (30,1,"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"); -insert into t1 values (40,2,"fffffffffffffffffffffffffffffffffffffffffff"); -insert into t1 values (50,1,"ggggggggggggggggggggggggggggggggggggggggggg"); -insert into t1 values (60,2,"hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh"); -insert into t1 values (70,1,"iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii"); -insert into t1 values (80,22,"jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj"); -insert into t1 values (90,11,"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); -select get_lock("hello",10); -#connect (thread2, localhost, mysqltest,,); -connection thread2; -begin; -send delete from t1 where tipo=2; -sleep 1; -connection thread1; -begin; -select release_lock("hello"); -update t1 set tipo=1+get_lock("hello",10)*0 where tipo=22; -select * from t1; -connection thread2; -reap; -select * from t1; -send commit; -connection thread1; -commit; -connection thread2; -reap; -select * from t1; -connection thread1; -select * from t1; +--echo +--echo ** +--echo ** one UPDATE changing result set and SELECT ... FOR UPDATE +--echo ** + --echo ** connection thread1 + #connect (thread1, localhost, mysqltest,,); + connection thread1; + --echo ** Set up table + eval SET SESSION STORAGE_ENGINE = $engine_type; + create table t1(eta int(11) not null, tipo int(11), c varchar(255)); + insert into t1 values (7,7, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"); + insert into t1 values (8,8, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"); + insert into t1 values (10,1,"ccccccccccccccccccccccccccccccccccccccccccc"); + insert into t1 values (20,2,"ddddddddddddddddddddddddddddddddddddddddddd"); + insert into t1 values (30,1,"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"); + insert into t1 values (40,2,"fffffffffffffffffffffffffffffffffffffffffff"); + insert into t1 values (50,1,"ggggggggggggggggggggggggggggggggggggggggggg"); + insert into t1 values (60,2,"hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh"); + insert into t1 values (70,1,"iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii"); + insert into t1 values (80,22,"jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj"); + insert into t1 values (90,11,"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); + + --echo ** connection thread2 + #connect (thread2, localhost, mysqltest,,); + connection thread2; + --echo ** Begin a new transaction on thread 2 + begin; + --echo ** Select a range for update. + select * from t1 where tipo=2 FOR UPDATE; + + --echo ** connection thread1 + connection thread1; + --echo ** Begin a new transaction on thread 1 + begin; + --echo ** Update the same range which is marked for update on thread 2; this + --echo ** will hang because of row locks. + --error ER_LOCK_WAIT_TIMEOUT + update t1 set tipo=1 where tipo=2; + --echo ** After the update the table will be unmodified because the previous + --echo ** transaction failed and was rolled back. + select * from t1; + + --echo ** connection thread2 + connection thread2; + --echo ** The table should look unmodified from thread 2. + select * from t1; + --echo ** Sending a commit should release the row locks and enable + --echo ** thread 1 to complete the transaction. + commit; + + --echo ** connection thread1 + connection thread1; + --echo ** Commit on thread 1. + commit; + + --echo ** connection thread2 + connection thread2; + --echo ** The table should not have been changed. + select * from t1; + + --echo ** connection thread1 + connection thread1; + --echo ** Even on thread 1: + select * from t1; + +--echo ** connection default connection default; -sleep 1; drop table t1; + + +--echo +--echo ** +--echo ** one UPDATE not changing result set and SELECT ... FOR UPDATE +--echo ** + --echo ** connection thread1 + #connect (thread1, localhost, mysqltest,,); + connection thread1; + --echo ** Set up table + eval SET SESSION STORAGE_ENGINE = $engine_type; + create table t1(eta int(11) not null, tipo int(11), c varchar(255)); + insert into t1 values (7,7, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"); + insert into t1 values (8,8, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"); + insert into t1 values (10,1,"ccccccccccccccccccccccccccccccccccccccccccc"); + insert into t1 values (20,2,"ddddddddddddddddddddddddddddddddddddddddddd"); + insert into t1 values (30,1,"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"); + insert into t1 values (40,2,"fffffffffffffffffffffffffffffffffffffffffff"); + insert into t1 values (50,1,"ggggggggggggggggggggggggggggggggggggggggggg"); + insert into t1 values (60,2,"hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh"); + insert into t1 values (70,1,"iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii"); + insert into t1 values (80,22,"jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj"); + insert into t1 values (90,11,"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); + + --echo ** connection thread2 + #connect (thread2, localhost, mysqltest,,); + connection thread2; + --echo ** Starting new transaction on thread 2. + begin; + --echo ** Starting SELECT .. FOR UPDATE + select * from t1 where tipo=2 FOR UPDATE; + + --echo ** connection thread1 + connection thread1; + --echo + --echo ** Starting new transaction on thread 1 + begin; + --echo ** Updating single row using a table scan. This will time out + --echo ** because of ongoing transaction on thread 1 holding lock on + --echo ** all primary keys in the scan. + --echo ** Not so if innodb_locks_unsafe_for_binlog is set. The locks that + --echo ** do not match the WHERE condition are released. + if ($keep_locks) + { + --error ER_LOCK_WAIT_TIMEOUT + update t1 set tipo=11 where tipo=22; + } + if (!$keep_locks) + { + update t1 set tipo=11 where tipo=22; + } + --echo ** After the time out the transaction is aborted; no rows should + --echo ** have changed. + select * from t1; + + --echo ** connection thread2 + connection thread2; + --echo ** The same thing should hold true for the transaction on + --echo ** thread 2 + select * from t1; + send commit; + + --echo ** connection thread1 + connection thread1; + commit; + + --echo ** connection thread2 + connection thread2; + --echo ** Even after committing: + reap; + select * from t1; + + --echo ** connection thread1 + connection thread1; + select * from t1; + +--echo ** connection default +connection default; +drop table t1; + + +--echo +--echo ** +--echo ** two SELECT ... FOR UPDATE +--echo ** + --echo ** connection thread1 + #connect (thread1, localhost, mysqltest,,); + connection thread1; + --echo ** Set up table + eval SET SESSION STORAGE_ENGINE = $engine_type; + create table t1(eta int(11) not null, tipo int(11), c varchar(255)); + insert into t1 values (7,7, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"); + insert into t1 values (8,8, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"); + insert into t1 values (10,1,"ccccccccccccccccccccccccccccccccccccccccccc"); + insert into t1 values (20,2,"ddddddddddddddddddddddddddddddddddddddddddd"); + insert into t1 values (30,1,"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"); + insert into t1 values (40,2,"fffffffffffffffffffffffffffffffffffffffffff"); + insert into t1 values (50,1,"ggggggggggggggggggggggggggggggggggggggggggg"); + insert into t1 values (60,2,"hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh"); + insert into t1 values (70,1,"iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii"); + insert into t1 values (80,22,"jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj"); + insert into t1 values (90,11,"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); + + --echo ** connection thread2 + #connect (thread2, localhost, mysqltest,,); + connection thread2; + --echo ** Begin a new transaction on thread 2 + begin; + select * from t1 where tipo=2 FOR UPDATE; + + --echo ** connection thread1 + connection thread1; + --echo ** Begin a new transaction on thread 1 + begin; + --echo ** Selecting a range for update by table scan will be blocked + --echo ** because of on-going transaction on thread 2. + --error ER_LOCK_WAIT_TIMEOUT + select * from t1 where tipo=1 FOR UPDATE; + + --echo ** connection thread2 + connection thread2; + --echo ** Table will be unchanged and the select command will not be + --echo ** blocked: + select * from t1; + --echo ** Commit transacton on thread 2. + commit; + + --echo ** connection thread1 + connection thread1; + --echo ** Commit transaction on thread 1. + commit; + + --echo ** connection thread2 + connection thread2; + --echo ** Make sure table isn't blocked on thread 2: + select * from t1; + + --echo ** connection thread1 + connection thread1; + --echo ** Make sure table isn't blocked on thread 1: + select * from t1; + +--echo ** connection default +connection default; +drop table t1; + + +--echo +--echo ** +--echo ** one UPDATE changing result set and DELETE +--echo ** + --echo ** connection thread1 + #connect (thread1, localhost, mysqltest,,); + connection thread1; + --echo ** Set up table + eval SET SESSION STORAGE_ENGINE = $engine_type; + create table t1(eta int(11) not null, tipo int(11), c varchar(255)); + insert into t1 values (7,7, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"); + insert into t1 values (8,8, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"); + insert into t1 values (10,1,"ccccccccccccccccccccccccccccccccccccccccccc"); + insert into t1 values (20,2,"ddddddddddddddddddddddddddddddddddddddddddd"); + insert into t1 values (30,1,"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"); + insert into t1 values (40,2,"fffffffffffffffffffffffffffffffffffffffffff"); + insert into t1 values (50,1,"ggggggggggggggggggggggggggggggggggggggggggg"); + insert into t1 values (60,2,"hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh"); + insert into t1 values (70,1,"iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii"); + insert into t1 values (80,22,"jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj"); + insert into t1 values (90,11,"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); + + --echo ** connection thread2 + #connect (thread2, localhost, mysqltest,,); + connection thread2; + begin; + send delete from t1 where tipo=2; + sleep 1; + + --echo ** connection thread1 + connection thread1; + begin; + --error ER_LOCK_WAIT_TIMEOUT + update t1 set tipo=1 where tipo=2; + select * from t1; + + --echo ** connection thread2 + connection thread2; + reap; + select * from t1; + send commit; + + --echo ** connection thread1 + connection thread1; + commit; + + --echo ** connection thread2 + connection thread2; + reap; + select * from t1; + + --echo ** connection thread1 + connection thread1; + select * from t1; + +--echo ** connection default +connection default; +drop table t1; + + +--echo +--echo ** +--echo ** one UPDATE not changing result set and DELETE +--echo ** + --echo ** connection thread1 + #connect (thread1, localhost, mysqltest,,); + connection thread1; + --echo ** Set up table + eval SET SESSION STORAGE_ENGINE = $engine_type; + create table t1(eta int(11) not null, tipo int(11), c varchar(255)); + insert into t1 values (7,7, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"); + insert into t1 values (8,8, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"); + insert into t1 values (10,1,"ccccccccccccccccccccccccccccccccccccccccccc"); + insert into t1 values (20,2,"ddddddddddddddddddddddddddddddddddddddddddd"); + insert into t1 values (30,1,"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"); + insert into t1 values (40,2,"fffffffffffffffffffffffffffffffffffffffffff"); + insert into t1 values (50,1,"ggggggggggggggggggggggggggggggggggggggggggg"); + insert into t1 values (60,2,"hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh"); + insert into t1 values (70,1,"iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii"); + insert into t1 values (80,22,"jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj"); + insert into t1 values (90,11,"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); + + --echo ** connection thread2 + #connect (thread2, localhost, mysqltest,,); + connection thread2; + begin; + send delete from t1 where tipo=2; + sleep 1; + + --echo ** connection thread1 + connection thread1; + begin; + --echo ** Update on t1 will cause a table scan which will be blocked because + --echo ** the previously initiated table scan applied exclusive key locks on + --echo ** all primary keys. + --echo ** Not so if innodb_locks_unsafe_for_binlog is set. The locks that + --echo ** do not match the WHERE condition are released. + if ($keep_locks) + { + --error ER_LOCK_WAIT_TIMEOUT + update t1 set tipo=1 where tipo=22; + } + if (!$keep_locks) + { + update t1 set tipo=1 where tipo=22; + } + select * from t1; + + --echo ** connection thread2 + connection thread2; + reap; + select * from t1; + send commit; + + --echo ** connection thread1 + connection thread1; + commit; + + --echo ** connection thread2 + connection thread2; + reap; + select * from t1; + + --echo ** connection thread1 + connection thread1; + select * from t1; + +--echo ** connection default +connection default; +drop table t1; + + disconnect thread1; disconnect thread2; + diff --git a/mysql-test/include/grant_cache.inc b/mysql-test/include/grant_cache.inc index dd65d1ed726..501e115f0ee 100644 --- a/mysql-test/include/grant_cache.inc +++ b/mysql-test/include/grant_cache.inc @@ -136,7 +136,7 @@ connect (user3,localhost,mysqltest_3,,mysqltest,$MASTER_MYPORT,$MASTER_MYSOCK); connection user3; select "user3"; --replace_result 127.0.0.1 localhost ---error ER_COLUMNACCESS_DENIED_ERROR +--error ER_TABLEACCESS_DENIED_ERROR select * from t1; select a from t1; --replace_result 127.0.0.1 localhost diff --git a/mysql-test/include/have_big5.inc b/mysql-test/include/have_big5.inc index 790e8085e1a..dad4a0a8eeb 100644 --- a/mysql-test/include/have_big5.inc +++ b/mysql-test/include/have_big5.inc @@ -1,4 +1,4 @@ -- require r/have_big5.require disable_query_log; -show collation like "big5_chinese_ci"; +show collation like 'big5_chinese_ci'; enable_query_log; diff --git a/mysql-test/include/have_binlog_format_mixed.inc b/mysql-test/include/have_binlog_format_mixed.inc index fc1dc8324c6..f3e09f8649b 100644 --- a/mysql-test/include/have_binlog_format_mixed.inc +++ b/mysql-test/include/have_binlog_format_mixed.inc @@ -2,5 +2,5 @@ -- require r/have_binlog_format_mixed.require disable_query_log; -show variables like "binlog_format"; +show variables like 'binlog_format'; enable_query_log; diff --git a/mysql-test/include/have_binlog_format_mixed_or_row.inc b/mysql-test/include/have_binlog_format_mixed_or_row.inc index fcba9eef883..9217b607bb7 100644 --- a/mysql-test/include/have_binlog_format_mixed_or_row.inc +++ b/mysql-test/include/have_binlog_format_mixed_or_row.inc @@ -3,5 +3,5 @@ --require r/have_binlog_format_row.require --disable_query_log --replace_result MIXED ROW -show variables like "binlog_format"; +show variables like 'binlog_format'; --enable_query_log diff --git a/mysql-test/include/have_binlog_format_mixed_or_statement.inc b/mysql-test/include/have_binlog_format_mixed_or_statement.inc index 700b58a77fb..6010d1ee7a8 100644 --- a/mysql-test/include/have_binlog_format_mixed_or_statement.inc +++ b/mysql-test/include/have_binlog_format_mixed_or_statement.inc @@ -4,5 +4,5 @@ source include/have_log_bin.inc; --require r/have_binlog_format_statement.require --disable_query_log --replace_result MIXED STATEMENT -show variables like "binlog_format"; +show variables like 'binlog_format'; --enable_query_log diff --git a/mysql-test/include/have_binlog_format_row.inc b/mysql-test/include/have_binlog_format_row.inc index f24bca52b5a..e3d40ae76a8 100644 --- a/mysql-test/include/have_binlog_format_row.inc +++ b/mysql-test/include/have_binlog_format_row.inc @@ -2,5 +2,5 @@ -- require r/have_binlog_format_row.require disable_query_log; -show variables like "binlog_format"; +show variables like 'binlog_format'; enable_query_log; diff --git a/mysql-test/include/have_binlog_format_row_or_statement.inc b/mysql-test/include/have_binlog_format_row_or_statement.inc index c89df82eb80..4b6413d062b 100644 --- a/mysql-test/include/have_binlog_format_row_or_statement.inc +++ b/mysql-test/include/have_binlog_format_row_or_statement.inc @@ -3,5 +3,5 @@ -- require r/have_binlog_format_statement.require --disable_query_log --replace_result ROW STATEMENT -show variables like "binlog_format"; +show variables like 'binlog_format'; --enable_query_log diff --git a/mysql-test/include/have_binlog_format_statement.inc b/mysql-test/include/have_binlog_format_statement.inc index ca863293d1d..1624773ec81 100644 --- a/mysql-test/include/have_binlog_format_statement.inc +++ b/mysql-test/include/have_binlog_format_statement.inc @@ -2,5 +2,5 @@ -- require r/have_binlog_format_statement.require disable_query_log; -show variables like "binlog_format"; +show variables like 'binlog_format'; enable_query_log; diff --git a/mysql-test/include/have_bug25714.inc b/mysql-test/include/have_bug25714.inc index 0c09ae1a035..1d957bec2ec 100644 --- a/mysql-test/include/have_bug25714.inc +++ b/mysql-test/include/have_bug25714.inc @@ -3,5 +3,5 @@ # --require r/have_bug25714.require disable_query_log; -eval select LENGTH("$MYSQL_BUG25714") > 0 as "have_bug25714_exe"; +eval select LENGTH('$MYSQL_BUG25714') > 0 as 'have_bug25714_exe'; enable_query_log; diff --git a/mysql-test/include/have_case_insensitive_file_system.inc b/mysql-test/include/have_case_insensitive_file_system.inc new file mode 100644 index 00000000000..78bb7c229ca --- /dev/null +++ b/mysql-test/include/have_case_insensitive_file_system.inc @@ -0,0 +1,4 @@ +--require r/case_insensitive_file_system.require +--disable_query_log +show variables like "lower_case_file_system"; +--enable_query_log diff --git a/mysql-test/include/have_case_sensitive_file_system.inc b/mysql-test/include/have_case_sensitive_file_system.inc index 730af975497..7bb1bef93fd 100644 --- a/mysql-test/include/have_case_sensitive_file_system.inc +++ b/mysql-test/include/have_case_sensitive_file_system.inc @@ -1,4 +1,4 @@ --require r/case_sensitive_file_system.require --disable_query_log -show variables like "lower_case_file_system"; +show variables like 'lower_case_file_system'; --enable_query_log diff --git a/mysql-test/include/have_community_features.inc b/mysql-test/include/have_community_features.inc index 01ed6142500..66697d8dd00 100644 --- a/mysql-test/include/have_community_features.inc +++ b/mysql-test/include/have_community_features.inc @@ -1,4 +1,4 @@ --require r/have_community_features.require --disable_query_log -show variables like "have_community_features"; +show variables like 'have_community_features'; --enable_query_log diff --git a/mysql-test/include/have_compress.inc b/mysql-test/include/have_compress.inc index c042cd7452a..150c7f3448d 100644 --- a/mysql-test/include/have_compress.inc +++ b/mysql-test/include/have_compress.inc @@ -1,4 +1,4 @@ -- require r/have_compress.require disable_query_log; -show variables like "have_compress"; +show variables like 'have_compress'; enable_query_log; diff --git a/mysql-test/include/have_cp1250_ch.inc b/mysql-test/include/have_cp1250_ch.inc index eec5d69fbd6..426fa658597 100644 --- a/mysql-test/include/have_cp1250_ch.inc +++ b/mysql-test/include/have_cp1250_ch.inc @@ -1,4 +1,4 @@ -- require r/have_cp1250_ch.require disable_query_log; -show collation like "cp1250_czech_cs"; +show collation like 'cp1250_czech_cs'; enable_query_log; diff --git a/mysql-test/include/have_cp932.inc b/mysql-test/include/have_cp932.inc index b500dac0bbe..ecad979c02a 100644 --- a/mysql-test/include/have_cp932.inc +++ b/mysql-test/include/have_cp932.inc @@ -1,4 +1,4 @@ -- require r/have_cp932.require disable_query_log; -show collation like "cp932_japanese_ci"; +show collation like 'cp932_japanese_ci'; enable_query_log; diff --git a/mysql-test/include/have_crypt.inc b/mysql-test/include/have_crypt.inc index fe1f974bffd..cbf0a7ac876 100644 --- a/mysql-test/include/have_crypt.inc +++ b/mysql-test/include/have_crypt.inc @@ -1,4 +1,4 @@ -- require r/have_crypt.require disable_query_log; -show variables like "have_crypt"; +show variables like 'have_crypt'; enable_query_log; diff --git a/mysql-test/include/have_debug.inc b/mysql-test/include/have_debug.inc index ff59037b6eb..6f3a82881f5 100644 --- a/mysql-test/include/have_debug.inc +++ b/mysql-test/include/have_debug.inc @@ -1,4 +1,4 @@ -- require r/have_debug.require disable_query_log; -select (version() like "%debug%") as debug; +select (version() like '%debug%') as debug; enable_query_log; diff --git a/mysql-test/include/have_eucjpms.inc b/mysql-test/include/have_eucjpms.inc index a5e1a5ac547..6d96eefcc31 100644 --- a/mysql-test/include/have_eucjpms.inc +++ b/mysql-test/include/have_eucjpms.inc @@ -1,4 +1,4 @@ -- require r/have_eucjpms.require disable_query_log; -show collation like "eucjpms_japanese_ci"; +show collation like 'eucjpms_japanese_ci'; enable_query_log; diff --git a/mysql-test/include/have_euckr.inc b/mysql-test/include/have_euckr.inc index af794aafc04..4b4e870cf47 100644 --- a/mysql-test/include/have_euckr.inc +++ b/mysql-test/include/have_euckr.inc @@ -1,4 +1,4 @@ -- require r/have_euckr.require disable_query_log; -show collation like "euckr_korean_ci"; +show collation like 'euckr_korean_ci'; enable_query_log; diff --git a/mysql-test/include/have_example_plugin.inc b/mysql-test/include/have_example_plugin.inc index b84f6d2f161..8e57c725eb5 100644 --- a/mysql-test/include/have_example_plugin.inc +++ b/mysql-test/include/have_example_plugin.inc @@ -4,7 +4,7 @@ # --require r/have_dynamic_loading.require disable_query_log; -show variables like "have_dynamic_loading"; +show variables like 'have_dynamic_loading'; enable_query_log; # @@ -12,5 +12,5 @@ enable_query_log; # --require r/have_example_plugin.require disable_query_log; -eval select LENGTH("$EXAMPLE_PLUGIN") > 0 as "have_example_plugin"; +eval select LENGTH('$EXAMPLE_PLUGIN') > 0 as 'have_example_plugin'; enable_query_log; diff --git a/mysql-test/include/have_gb2312.inc b/mysql-test/include/have_gb2312.inc index 4328bc67639..27591c01b6c 100644 --- a/mysql-test/include/have_gb2312.inc +++ b/mysql-test/include/have_gb2312.inc @@ -1,4 +1,4 @@ -- require r/have_gb2312.require disable_query_log; -show collation like "gb2312_chinese_ci"; +show collation like 'gb2312_chinese_ci'; enable_query_log; diff --git a/mysql-test/include/have_gbk.inc b/mysql-test/include/have_gbk.inc index 55805da0495..72252d6b00d 100644 --- a/mysql-test/include/have_gbk.inc +++ b/mysql-test/include/have_gbk.inc @@ -1,4 +1,4 @@ -- require r/have_gbk.require disable_query_log; -show collation like "gbk_chinese_ci"; +show collation like 'gbk_chinese_ci'; enable_query_log; diff --git a/mysql-test/include/have_geometry.inc b/mysql-test/include/have_geometry.inc index f0ec22af172..f1836469017 100644 --- a/mysql-test/include/have_geometry.inc +++ b/mysql-test/include/have_geometry.inc @@ -1,4 +1,4 @@ --require r/have_geometry.require --disable_query_log -show variables like "have_geometry"; +show variables like 'have_geometry'; --enable_query_log diff --git a/mysql-test/include/have_latin2_ch.inc b/mysql-test/include/have_latin2_ch.inc index 9d3ee6b341c..215715a6aaf 100644 --- a/mysql-test/include/have_latin2_ch.inc +++ b/mysql-test/include/have_latin2_ch.inc @@ -1,4 +1,4 @@ -- require r/have_latin2_ch.require disable_query_log; -show collation like "latin2_czech_cs"; +show collation like 'latin2_czech_cs'; enable_query_log; diff --git a/mysql-test/include/have_log_bin.inc b/mysql-test/include/have_log_bin.inc index 11530dc953e..5bcdb30b3e0 100644 --- a/mysql-test/include/have_log_bin.inc +++ b/mysql-test/include/have_log_bin.inc @@ -1,4 +1,4 @@ -- require r/have_log_bin.require disable_query_log; -show variables like "log_bin"; +show variables like 'log_bin'; enable_query_log; diff --git a/mysql-test/include/have_lowercase0.inc b/mysql-test/include/have_lowercase0.inc index 8d3ae02f61e..9cd21a42f6a 100644 --- a/mysql-test/include/have_lowercase0.inc +++ b/mysql-test/include/have_lowercase0.inc @@ -1,4 +1,4 @@ --require r/lowercase0.require --disable_query_log -show variables like "lower_case_%"; +show variables like "lower_case_table_names"; --enable_query_log diff --git a/mysql-test/include/have_lowercase2.inc b/mysql-test/include/have_lowercase2.inc new file mode 100644 index 00000000000..43b34653f54 --- /dev/null +++ b/mysql-test/include/have_lowercase2.inc @@ -0,0 +1,4 @@ +--require r/lowercase2.require +--disable_query_log +show variables like 'lower_case_table_names'; +--enable_query_log diff --git a/mysql-test/include/have_ndbapi_examples.inc b/mysql-test/include/have_ndbapi_examples.inc index 3ab1f063b61..df7aa41ec5d 100644 --- a/mysql-test/include/have_ndbapi_examples.inc +++ b/mysql-test/include/have_ndbapi_examples.inc @@ -1,4 +1,4 @@ --require r/have_ndbapi_examples.require disable_query_log; -eval select LENGTH("$MY_NDB_EXAMPLES_BINARY") > 0 as "have_ndb_example"; +eval select LENGTH('$MY_NDB_EXAMPLES_BINARY') > 0 as 'have_ndb_example'; enable_query_log; diff --git a/mysql-test/include/have_outfile.inc b/mysql-test/include/have_outfile.inc index ae4a2723840..d1d4e1a0fee 100644 --- a/mysql-test/include/have_outfile.inc +++ b/mysql-test/include/have_outfile.inc @@ -1,5 +1,5 @@ -- require r/have_outfile.require disable_query_log; -select load_file(concat(@tmpdir,"/outfile.test")); +select load_file(concat(@tmpdir,'/outfile.test')); --remove_file $MYSQLTEST_VARDIR/tmp/outfile.test enable_query_log; diff --git a/mysql-test/include/have_partition.inc b/mysql-test/include/have_partition.inc index 898b9c51773..b45572ad31e 100644 --- a/mysql-test/include/have_partition.inc +++ b/mysql-test/include/have_partition.inc @@ -1,4 +1,4 @@ -- require r/have_partition.require disable_query_log; -show variables like "have_partitioning"; +show variables like 'have_partitioning'; enable_query_log; diff --git a/mysql-test/include/have_query_cache.inc b/mysql-test/include/have_query_cache.inc index e5e6052c9a7..09602fd2dd5 100644 --- a/mysql-test/include/have_query_cache.inc +++ b/mysql-test/include/have_query_cache.inc @@ -1,4 +1,4 @@ -- require r/have_query_cache.require disable_query_log; -show variables like "have_query_cache"; +show variables like 'have_query_cache'; enable_query_log; diff --git a/mysql-test/include/have_sjis.inc b/mysql-test/include/have_sjis.inc index 0d580a3a232..ac6531ca868 100644 --- a/mysql-test/include/have_sjis.inc +++ b/mysql-test/include/have_sjis.inc @@ -1,4 +1,4 @@ -- require r/have_sjis.require disable_query_log; -show collation like "sjis_japanese_ci"; +show collation like 'sjis_japanese_ci'; enable_query_log; diff --git a/mysql-test/include/have_ssl.inc b/mysql-test/include/have_ssl.inc index fab57d630e5..6f2d5587a75 100644 --- a/mysql-test/include/have_ssl.inc +++ b/mysql-test/include/have_ssl.inc @@ -1,4 +1,4 @@ -- require r/have_ssl.require disable_query_log; -show variables like "have_ssl"; +show variables like 'have_ssl'; enable_query_log; diff --git a/mysql-test/include/have_symlink.inc b/mysql-test/include/have_symlink.inc index 11060536b0d..ec4743531fd 100644 --- a/mysql-test/include/have_symlink.inc +++ b/mysql-test/include/have_symlink.inc @@ -6,5 +6,5 @@ -- require r/have_symlink.require disable_query_log; -show variables like "have_symlink"; +show variables like 'have_symlink'; enable_query_log; diff --git a/mysql-test/include/have_tis620.inc b/mysql-test/include/have_tis620.inc index c1e775681b0..ad5ba9dea69 100644 --- a/mysql-test/include/have_tis620.inc +++ b/mysql-test/include/have_tis620.inc @@ -1,4 +1,4 @@ -- require r/have_tis620.require disable_query_log; -show collation like "tis620_thai_ci"; +show collation like 'tis620_thai_ci'; enable_query_log; diff --git a/mysql-test/include/have_ucs2.inc b/mysql-test/include/have_ucs2.inc index 92ec9b5fb44..324ed52dd02 100644 --- a/mysql-test/include/have_ucs2.inc +++ b/mysql-test/include/have_ucs2.inc @@ -1,4 +1,4 @@ -- require r/have_ucs2.require disable_query_log; -show collation like "ucs2_general_ci"; +show collation like 'ucs2_general_ci'; enable_query_log; diff --git a/mysql-test/include/have_udf.inc b/mysql-test/include/have_udf.inc index 068ce9026e0..3f7e260c5ba 100644 --- a/mysql-test/include/have_udf.inc +++ b/mysql-test/include/have_udf.inc @@ -4,7 +4,7 @@ # --require r/have_dynamic_loading.require disable_query_log; -show variables like "have_dynamic_loading"; +show variables like 'have_dynamic_loading'; enable_query_log; # @@ -12,5 +12,5 @@ enable_query_log; # --require r/have_udf_example.require disable_query_log; -eval select LENGTH("$UDF_EXAMPLE_LIB") > 0 as "have_udf_example_lib"; +eval select LENGTH('$UDF_EXAMPLE_LIB') > 0 as 'have_udf_example_lib'; enable_query_log; diff --git a/mysql-test/include/have_ujis.inc b/mysql-test/include/have_ujis.inc index ecceb7a8408..e4b2f50cf93 100644 --- a/mysql-test/include/have_ujis.inc +++ b/mysql-test/include/have_ujis.inc @@ -1,4 +1,4 @@ -- require r/have_ujis.require disable_query_log; -show collation like "ujis_japanese_ci"; +show collation like 'ujis_japanese_ci'; enable_query_log; diff --git a/mysql-test/include/index_merge1.inc b/mysql-test/include/index_merge1.inc index 2ecdbe583c2..023d582065e 100644 --- a/mysql-test/include/index_merge1.inc +++ b/mysql-test/include/index_merge1.inc @@ -487,3 +487,18 @@ select * from t2 where a=4 or b=4; drop table t1, t2; +# +# Bug #37943: Reproducible mysqld crash/sigsegv in sel_trees_can_be_ored +# + +CREATE TABLE t1 (a varchar(8), b set('a','b','c','d','e','f','g','h'), + KEY b(b), KEY a(a)); +INSERT INTO t1 VALUES ('y',''), ('z',''); + +#should not crash +SELECT b,a from t1 WHERE (b!='c' AND b!='f' && b!='h') OR + (a='pure-S') OR (a='DE80337a') OR (a='DE80799'); + +DROP TABLE t1; + +--echo End of 5.0 tests diff --git a/mysql-test/include/mix1.inc b/mysql-test/include/mix1.inc index fdac8deb87e..d2332edd5dc 100644 --- a/mysql-test/include/mix1.inc +++ b/mysql-test/include/mix1.inc @@ -1103,6 +1103,24 @@ set @my_innodb_commit_concurrency=@@global.innodb_commit_concurrency; set global innodb_commit_concurrency=0; set global innodb_commit_concurrency=@my_innodb_commit_concurrency; +# +# Bug #37830: ORDER BY ASC/DESC - no difference +# + +CREATE TABLE t1 (a int, b int, c int, PRIMARY KEY (a), KEY t1_b (b)) + ENGINE=InnoDB; + +INSERT INTO t1 (a,b,c) VALUES (1,1,1), (2,1,1), (3,1,1), (4,1,1); +INSERT INTO t1 (a,b,c) SELECT a+4,b,c FROM t1; + +# should be range access +EXPLAIN SELECT a, b, c FROM t1 WHERE b = 1 ORDER BY a DESC LIMIT 5; + +# should produce '8 7 6 5 4' for a +SELECT a, b, c FROM t1 WHERE b = 1 ORDER BY a DESC LIMIT 5; + +DROP TABLE t1; + --echo End of 5.0 tests # Fix for BUG#19243 "wrong LAST_INSERT_ID() after ON DUPLICATE KEY @@ -1238,6 +1256,7 @@ connect (con1,localhost,root,,); connect (con2,localhost,root,,); SET SESSION AUTOCOMMIT = 0; SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED; +set binlog_format=mixed; --echo # Switch to connection con1 connection con1; @@ -1428,29 +1447,31 @@ DROP TABLE t1; # Bug#21704: Renaming column does not update FK definition. # ---disable_warnings -DROP TABLE IF EXISTS t1; -DROP TABLE IF EXISTS t2; ---enable_warnings - -CREATE TABLE t1(id INT PRIMARY KEY) - ENGINE=innodb; - -CREATE TABLE t2( - t1_id INT PRIMARY KEY, - CONSTRAINT fk1 FOREIGN KEY (t1_id) REFERENCES t1(id)) - ENGINE=innodb; - ---echo - ---disable_result_log ---error ER_ERROR_ON_RENAME -ALTER TABLE t1 CHANGE id id2 INT; ---enable_result_log - ---echo - -DROP TABLE t2; -DROP TABLE t1; +# +# --disable_warnings +# DROP TABLE IF EXISTS t1; +# DROP TABLE IF EXISTS t2; +# --enable_warnings +# +# CREATE TABLE t1(id INT PRIMARY KEY) +# ENGINE=innodb; +# +# CREATE TABLE t2( +# t1_id INT PRIMARY KEY, +# CONSTRAINT fk1 FOREIGN KEY (t1_id) REFERENCES t1(id)) +# ENGINE=innodb; +# +# --echo +# +# --disable_result_log +# --error ER_ERROR_ON_RENAME +# ALTER TABLE t1 CHANGE id id2 INT; +# --enable_result_log +# +# --echo +# +# DROP TABLE t2; +# DROP TABLE t1; +# --echo End of 5.1 tests diff --git a/mysql-test/include/mysqlbinlog_row_engine.inc b/mysql-test/include/mysqlbinlog_row_engine.inc new file mode 100644 index 00000000000..8211baea22c --- /dev/null +++ b/mysql-test/include/mysqlbinlog_row_engine.inc @@ -0,0 +1,1922 @@ +# mysqlbinlog_row.test +# +# Show that mysqlbinlog displays human readable comments to +# row-based log events. +# +# Procedure: +# Create a table that represents all-known types in 5.1. +# Write rows that contain the mins, maxes, and NULL for each type. +# Write a random or "problematic" value (i.e. one that might require +# escaping if it's represented as a string-y type) for each type. +# Update each of these rows. +# Delete each of these rows. +# Inspect the binlog. +# +# Bug#31455 - mysqlbinlog don't print user readable info about RBR events +# + +--source include/have_log_bin.inc + +SET NAMES 'utf8'; +#SHOW VARIABLES LIKE 'character_set%'; + + +--echo # +--echo # Preparatory cleanup. +--echo # +--disable_warnings +DROP TABLE IF EXISTS t1, t2, t3; +--enable_warnings + +--echo # +--echo # We need a fixed timestamp to avoid varying results. +--echo # +SET timestamp=1000000000; + +--echo # +--echo # =================================================== +--echo # Test #1 - Insert/update/delete with all data types. +--echo # =================================================== +--echo # +--echo # Delete all existing binary logs. +--echo # +RESET MASTER; + +--echo # +--echo # Create a test table with all data types. +--echo # +eval CREATE TABLE t1 ( + c01 BIT, + c02 BIT(64), + c03 TINYINT, + c04 TINYINT UNSIGNED, + c05 TINYINT ZEROFILL, + c06 BOOL, + c07 SMALLINT, + c08 SMALLINT UNSIGNED, + c09 SMALLINT ZEROFILL, + c10 MEDIUMINT, + c11 MEDIUMINT UNSIGNED, + c12 MEDIUMINT ZEROFILL, + c13 INT, + c14 INT UNSIGNED, + c15 INT ZEROFILL, + c16 BIGINT, + c17 BIGINT UNSIGNED, + c18 BIGINT ZEROFILL, + c19 FLOAT, + c20 FLOAT UNSIGNED, + c21 FLOAT ZEROFILL, + c22 DOUBLE, + c23 DOUBLE UNSIGNED, + c24 DOUBLE ZEROFILL, + c25 DECIMAL, + c26 DECIMAL UNSIGNED, + c27 DECIMAL ZEROFILL, + # + c28 DATE, + c29 DATETIME, + c30 TIMESTAMP, + c31 TIME, + c32 YEAR, + # + c33 CHAR, + c34 CHAR(0), + c35 CHAR(1), + c36 CHAR(255), + c37 NATIONAL CHAR, + c38 NATIONAL CHAR(0), + c39 NATIONAL CHAR(1), + c40 NATIONAL CHAR(255), + c41 CHAR CHARACTER SET UCS2, + c42 CHAR(0) CHARACTER SET UCS2, + c43 CHAR(1) CHARACTER SET UCS2, + c44 CHAR(255) CHARACTER SET UCS2, + # + c45 VARCHAR(0), + c46 VARCHAR(1), + c47 VARCHAR(255), + c48 VARCHAR(261), + c49 NATIONAL VARCHAR(0), + c50 NATIONAL VARCHAR(1), + c51 NATIONAL VARCHAR(255), + c52 NATIONAL VARCHAR(261), + c53 VARCHAR(0) CHARACTER SET UCS2, + c54 VARCHAR(1) CHARACTER SET UCS2, + c55 VARCHAR(255) CHARACTER SET UCS2, + c56 VARCHAR(261) CHARACTER SET UCS2, + # + c57 BINARY, + c58 BINARY(0), + c59 BINARY(1), + c60 BINARY(255), + # + c61 VARBINARY(0), + c62 VARBINARY(1), + c63 VARBINARY(255), + c64 VARBINARY(261), + # + c65 TINYBLOB, + c66 TINYTEXT, + c67 TINYTEXT CHARACTER SET UCS2, + c68 BLOB, + c69 TEXT, + c70 TEXT CHARACTER SET UCS2, + c71 MEDIUMBLOB, + c72 MEDIUMTEXT, + c73 MEDIUMTEXT CHARACTER SET UCS2, + c74 LONGBLOB, + c75 LONGTEXT, + c76 LONGTEXT CHARACTER SET UCS2, + # + c77 ENUM('a','b','c'), + c78 SET('a','b','c'), + # + crn INT -- row number + ) ENGINE=$engine_type DEFAULT CHARSET latin1; + +--echo # +--echo # Insert minimum values. +--echo # +INSERT INTO t1 VALUES ( + b'0', -- c01 + b'0000000000000000000000000000000000000000000000000000000000000000', -- c02 + -128, -- c03 + 0, -- c04 + 000, -- c05 + false, -- c06 + -32768, -- c07 + 0, -- c08 + 00000, -- c09 + -8388608, -- c10 + 0, -- c11 + 00000000, -- c12 + -2147483648, -- c13 + 0, -- c14 + 0000000000, -- c15 + -9223372036854775808, -- c16 + 0, -- c17 + 00000000000000000000, -- c18 + -3.402823466E+38, -- c19 + 1.175494351E-38, -- c20 + 000000000000, -- c21 + -1.7976931348623E+308, -- c22 three digits cut for ps-protocol + 2.2250738585072E-308, -- c23 three digits cut for ps-protocol + 0000000000000000000000, -- c24 + -9999999999, -- c25 + 0, -- c26 + 0000000000, -- c27 + # + '1000-01-01', -- c28 + '1000-01-01 00:00:00', -- c29 + '1970-01-02 00:00:01', -- c30 one day later due to timezone issues + '-838:59:59', -- c31 + '1901', -- c32 + # + '', -- c33 + '', -- c34 + '', -- c35 + '', -- c36 + '', -- c37 + '', -- c38 + '', -- c39 + '', -- c40 + '', -- c41 + '', -- c42 + '', -- c43 + '', -- c44 + # + '', -- c45 + '', -- c46 + '', -- c47 + '', -- c48 + '', -- c49 + '', -- c50 + '', -- c51 + '', -- c52 + '', -- c53 + '', -- c54 + '', -- c55 + '', -- c56 + # + '', -- c57 + '', -- c58 + '', -- c59 + '', -- c60 + # + '', -- c61 + '', -- c62 + '', -- c63 + '', -- c64 + # + '', -- c65 + '', -- c66 + '', -- c67 + '', -- c68 + '', -- c69 + '', -- c70 + '', -- c71 + '', -- c72 + '', -- c73 + '', -- c74 + '', -- c75 + '', -- c76 + # + 'a', -- c77 + '', -- c78 + # + 1 -- crn -- row number + ); + +--echo # +--echo # Insert maximum values. +--echo # +INSERT INTO t1 VALUES ( + b'1', -- c01 + b'1111111111111111111111111111111111111111111111111111111111111111', -- c02 + 127, -- c03 + 255, -- c04 + 255, -- c05 + true, -- c06 + 32767, -- c07 + 65535, -- c08 + 65535, -- c09 + 8388607, -- c10 + 16777215, -- c11 + 16777215, -- c12 + 2147483647, -- c13 + 4294967295, -- c14 + 4294967295, -- c15 + 9223372036854775807, -- c16 + 18446744073709551615, -- c17 + 18446744073709551615, -- c18 + 3.402823466E+38, -- c19 + 3.402823466E+38, -- c20 + 3.402823466E+38, -- c21 + 1.7976931348623E+308, -- c22 three digits cut for ps-protocol + 1.7976931348623E+308, -- c23 three digits cut for ps-protocol + 1.7976931348623E+308, -- c24 three digits cut for ps-protocol + 9999999999, -- c25 + 9999999999, -- c26 + 9999999999, -- c27 + # + '9999-12-31', -- c28 + '9999-12-31 23:59:59', -- c29 + '2038-01-08 03:14:07', -- c30 one day earlier due to timezone issues + '838:59:59', -- c31 + '2155', -- c32 + # + x'ff', -- c33 + '', -- c34 + x'ff', -- c35 + REPEAT(x'ff',255), -- c36 + _utf8 x'efbfbf', -- c37 + '', -- c38 + _utf8 x'efbfbf', -- c39 + REPEAT(_utf8 x'efbfbf',255), -- c40 + _ucs2 x'ffff', -- c41 + '', -- c42 + _ucs2 x'ffff', -- c43 + REPEAT(_ucs2 x'ffff',255), -- c44 + # + '', -- c45 + x'ff', -- c46 + REPEAT(x'ff',255), -- c47 + REPEAT(x'ff',261), -- c48 + '', -- c49 + _utf8 x'efbfbf', -- c50 + REPEAT(_utf8 x'efbfbf',255), -- c51 + REPEAT(_utf8 x'efbfbf',261), -- c52 + '', -- c53 + _ucs2 x'ffff', -- c54 + REPEAT(_ucs2 x'ffff',255), -- c55 + REPEAT(_ucs2 x'ffff',261), -- c56 + # + x'ff', -- c57 + '', -- c58 + x'ff', -- c59 + REPEAT(x'ff',255), -- c60 + # + '', -- c61 + x'ff', -- c62 + REPEAT(x'ff',255), -- c63 + REPEAT(x'ff',261), -- c64 + # + 'tinyblob', -- c65 not using maximum value here + 'tinytext', -- c66 not using maximum value here + 'tinytext-ucs2', -- c67 not using maximum value here + 'blob', -- c68 not using maximum value here + 'text', -- c69 not using maximum value here + 'text-ucs2', -- c70 not using maximum value here + 'mediumblob', -- c71 not using maximum value here + 'mediumtext', -- c72 not using maximum value here + 'mediumtext-ucs2', -- c73 not using maximum value here + 'longblob', -- c74 not using maximum value here + 'longtext', -- c75 not using maximum value here + 'longtext-ucs2', -- c76 not using maximum value here + # + 'c', -- c77 + 'a,b,c', -- c78 + # + 2 -- crn -- row number + ); + +--echo # +--echo # Insert a row with NULL values and one with arbitrary values. +--echo # +INSERT INTO t1 VALUES ( + NULL, -- c01 + NULL, -- c02 + NULL, -- c03 + NULL, -- c04 + NULL, -- c05 + NULL, -- c06 + NULL, -- c07 + NULL, -- c08 + NULL, -- c09 + NULL, -- c10 + NULL, -- c11 + NULL, -- c12 + NULL, -- c13 + NULL, -- c14 + NULL, -- c15 + NULL, -- c16 + NULL, -- c17 + NULL, -- c18 + NULL, -- c19 + NULL, -- c20 + NULL, -- c21 + NULL, -- c22 + NULL, -- c23 + NULL, -- c24 + NULL, -- c25 + NULL, -- c26 + NULL, -- c27 + # + NULL, -- c28 + NULL, -- c29 + NULL, -- c30 + NULL, -- c31 + NULL, -- c32 + # + NULL, -- c33 + NULL, -- c34 + NULL, -- c35 + NULL, -- c36 + NULL, -- c37 + NULL, -- c38 + NULL, -- c39 + NULL, -- c40 + NULL, -- c41 + NULL, -- c42 + NULL, -- c43 + NULL, -- c44 + # + NULL, -- c45 + NULL, -- c46 + NULL, -- c47 + NULL, -- c48 + NULL, -- c49 + NULL, -- c50 + NULL, -- c51 + NULL, -- c52 + NULL, -- c53 + NULL, -- c54 + NULL, -- c55 + NULL, -- c56 + # + NULL, -- c57 + NULL, -- c58 + NULL, -- c59 + NULL, -- c60 + # + NULL, -- c61 + NULL, -- c62 + NULL, -- c63 + NULL, -- c64 + # + NULL, -- c65 + NULL, -- c66 + NULL, -- c67 + NULL, -- c68 + NULL, -- c69 + NULL, -- c70 + NULL, -- c71 + NULL, -- c72 + NULL, -- c73 + NULL, -- c74 + NULL, -- c75 + NULL, -- c76 + # + NULL, -- c77 + NULL, -- c78 + # + 3 -- crn -- row number + ), ( + b'1', -- c01 + b'1111111111111111111111111111111111111111111111111111111111111111', -- c02 + 127, -- c03 + 0, -- c04 + 001, -- c05 + true, -- c06 + 32767, -- c07 + 0, -- c08 + 00001, -- c09 + 8388607, -- c10 + 0, -- c11 + 00000001, -- c12 + 2147483647, -- c13 + 0, -- c14 + 0000000001, -- c15 + 9223372036854775807, -- c16 + 0, -- c17 + 00000000000000000001, -- c18 + -1.175494351E-38, -- c19 + 1.175494351E-38, -- c20 + 000000000000001, -- c21 + -2.2250738585072E-308, -- c22 + 2.2250738585072E-308, -- c23 + 00000000000000000000001, -- c24 + -9999999999, -- c25 + 9999999999, -- c26 + 0000000001, -- c27 + # + '2008-08-04', -- c28 + '2008-08-04 16:18:06', -- c29 + '2008-08-04 16:18:24', -- c30 + '16:18:47', -- c31 + '2008', -- c32 + # + 'a', -- c33 + '', -- c34 + 'e', -- c35 + REPEAT('i',255), -- c36 + _utf8 x'c3a4', -- c37 + '', -- c38 + _utf8 x'c3b6', -- c39 + REPEAT(_utf8 x'c3bc',255), -- c40 + _ucs2 x'00e4', -- c41 + '', -- c42 + _ucs2 x'00f6', -- c43 + REPEAT(_ucs2 x'00fc',255), -- c44 + # + '', -- c45 + 'a', -- c46 + REPEAT('e',255), -- c47 + REPEAT('i',261), -- c48 + '', -- c49 + _utf8 x'c3a4', -- c50 + REPEAT(_utf8 x'c3b6',255), -- c51 + REPEAT(_utf8 x'c3bc',261), -- c52 + '', -- c53 + _ucs2 x'00e4', -- c54 + REPEAT(_ucs2 x'00f6',255), -- c55 + REPEAT(_ucs2 x'00fc',261), -- c56 + # + '0', -- c57 + '', -- c58 + '1', -- c59 + REPEAT('1',255), -- c60 + # + '', -- c61 + 'b', -- c62 + REPEAT('c',255), -- c63 + REPEAT('\'',261), -- c64 + # + 'tinyblob', -- c65 + 'tinytext', -- c66 + 'tinytext-ucs2', -- c67 + 'blob', -- c68 + 'text', -- c69 + 'text-ucs2', -- c70 + 'mediumblob', -- c71 + 'mediumtext', -- c72 + 'mediumtext-ucs2', -- c73 + 'longblob', -- c74 + 'longtext', -- c75 + 'longtext-ucs2', -- c76 + # + 'b', -- c77 + 'b,c', -- c78 + # + 4 -- crn -- row number + ); + +--echo # +--echo # Show what we have in the table. +--echo # Do not display bit type output. It's binary and confuses diff. +--echo # Also BINARY with nul-bytes should be avoided. +--echo # +--replace_column 1 # 2 # 57 # 58 # 59 # 60 # +query_vertical SELECT * FROM t1; + +--echo # +--echo # NOTE: For matching FLOAT and DOUBLE values in WHERE conditions, +--echo # don't use exact match, but < or > and tweak the numbers a bit. +--echo # +--echo # Show how much rows are affected by each statement. +--echo # +--enable_info + +--echo # +--echo # Update min values to max values. +--echo # +UPDATE t1 SET + c01 = b'1', + c02 = b'1111111111111111111111111111111111111111111111111111111111111111', + c03 = 127, + c04 = 255, + c05 = 255, + c06 = true, + c07 = 32767, + c08 = 65535, + c09 = 65535, + c10 = 8388607, + c11 = 16777215, + c12 = 16777215, + c13 = 2147483647, + c14 = 4294967295, + c15 = 4294967295, + c16 = 9223372036854775807, + c17 = 18446744073709551615, + c18 = 18446744073709551615, + c19 = 3.402823466E+38, + c20 = 3.402823466E+38, + c21 = 3.402823466E+38, + c22 = 1.7976931348623E+308, + c23 = 1.7976931348623E+308, + c24 = 1.7976931348623E+308, + c25 = 9999999999, + c26 = 9999999999, + c27 = 9999999999, + # + c28 = '9999-12-31', + c29 = '9999-12-31 23:59:59', + c30 = '2038-01-08 03:14:07', + c31 = '838:59:59', + c32 = '2155', + # + c33 = x'ff', + c34 = '', + c35 = x'ff', + c36 = REPEAT(x'ff',255), + c37 = _utf8 x'efbfbf', + c38 = '', + c39 = _utf8 x'efbfbf', + c40 = REPEAT(_utf8 x'efbfbf',255), + c41 = _ucs2 x'ffff', + c42 = '', + c43 = _ucs2 x'ffff', + c44 = REPEAT(_ucs2 x'ffff',255), + # + c45 = '', + c46 = x'ff', + c47 = REPEAT(x'ff',255), + c48 = REPEAT(x'ff',261), + c49 = '', + c50 = _utf8 x'efbfbf', + c51 = REPEAT(_utf8 x'efbfbf',255), + c52 = REPEAT(_utf8 x'efbfbf',261), + c53 = '', + c54 = _ucs2 x'ffff', + c55 = REPEAT(_ucs2 x'ffff',255), + c56 = REPEAT(_ucs2 x'ffff',261), + # + c57 = x'ff', + c58 = '', + c59 = x'ff', + c60 = REPEAT(x'ff',255), + # + c61 = '', + c62 = x'ff', + c63 = REPEAT(x'ff',255), + c64 = REPEAT(x'ff',261), + # + c65 = 'tinyblob', + c66 = 'tinytext', + c67 = 'tinytext-ucs2', + c68 = 'blob', + c69 = 'text', + c70 = 'text-ucs2', + c71 = 'mediumblob', + c72 = 'mediumtext', + c73 = 'mediumtext-ucs2', + c74 = 'longblob', + c75 = 'longtext', + c76 = 'longtext-ucs2', + # + c77 = 'c', + c78 = 'a,b,c', + # + crn = crn + # + WHERE + # + c01 = b'0' AND + c02 = b'0000000000000000000000000000000000000000000000000000000000000000' AND + c03 = -128 AND + c04 = 0 AND + c05 = 000 AND + c06 = false AND + c07 = -32768 AND + c08 = 0 AND + c09 = 00000 AND + c10 = -8388608 AND + c11 = 0 AND + c12 = 00000000 AND + c13 = -2147483648 AND + c14 = 0 AND + c15 = 0000000000 AND + c16 = -9223372036854775808 AND + c17 = 0 AND + c18 = 00000000000000000000 AND + c19 < -3.402823465E+38 AND + c20 < 1.175494352E-38 AND + c21 = 000000000000 AND + c22 < -1.7976931348622E+308 AND + c23 < 2.2250738585073E-308 AND + c24 = 0000000000000000000000 AND + c25 = -9999999999 AND + c26 = 0 AND + c27 = 0000000000 AND + # + c28 = '1000-01-01' AND + c29 = '1000-01-01 00:00:00' AND + c30 = '1970-01-02 00:00:01' AND + c31 = '-838:59:59' AND + c32 = '1901' AND + # + c33 = '' AND + c34 = '' AND + c35 = '' AND + c36 = '' AND + c37 = '' AND + c38 = '' AND + c39 = '' AND + c40 = '' AND + c41 = '' AND + c42 = '' AND + c43 = '' AND + c44 = '' AND + # + c45 = '' AND + c46 = '' AND + c47 = '' AND + c48 = '' AND + c49 = '' AND + c50 = '' AND + c51 = '' AND + c52 = '' AND + c53 = '' AND + c54 = '' AND + c55 = '' AND + c56 = '' AND + # + # this does not reproduce the inserted value: c57 = '' AND + c58 = '' AND + # this does not reproduce the inserted value: c59 = '' AND + # this does not reproduce the inserted value: c60 = '' AND + # + c61 = '' AND + c62 = '' AND + c63 = '' AND + c64 = '' AND + # + c65 = '' AND + c66 = '' AND + c67 = '' AND + c68 = '' AND + c69 = '' AND + c70 = '' AND + c71 = '' AND + c72 = '' AND + c73 = '' AND + c74 = '' AND + c75 = '' AND + c76 = '' AND + # + c77 = 'a' AND + c78 = '' AND + # + crn = 1; + +--echo # +--echo # Update max values to min values. +--echo # +UPDATE t1 SET + c01 = b'0', + c02 = b'0000000000000000000000000000000000000000000000000000000000000000', + c03 = -128, + c04 = 0, + c05 = 000, + c06 = false, + c07 = -32768, + c08 = 0, + c09 = 00000, + c10 = -8388608, + c11 = 0, + c12 = 00000000, + c13 = -2147483648, + c14 = 0, + c15 = 0000000000, + c16 = -9223372036854775808, + c17 = 0, + c18 = 00000000000000000000, + c19 = -3.402823466E+38, + c20 = 1.175494351E-38, + c21 = 000000000000, + c22 = -1.7976931348623E+308, + c23 = 2.2250738585072E-308, + c24 = 0000000000000000000000, + c25 = -9999999999, + c26 = 0, + c27 = 0000000000, + # + c28 = '1000-01-01', + c29 = '1000-01-01 00:00:00', + c30 = '1970-01-02 00:00:01', + c31 = '-838:59:59', + c32 = '1901', + # + c33 = '', + c34 = '', + c35 = '', + c36 = '', + c37 = '', + c38 = '', + c39 = '', + c40 = '', + c41 = '', + c42 = '', + c43 = '', + c44 = '', + # + c45 = '', + c46 = '', + c47 = '', + c48 = '', + c49 = '', + c50 = '', + c51 = '', + c52 = '', + c53 = '', + c54 = '', + c55 = '', + c56 = '', + # + c57 = '', + c58 = '', + c59 = '', + c60 = '', + # + c61 = '', + c62 = '', + c63 = '', + c64 = '', + # + c65 = '', + c66 = '', + c67 = '', + c68 = '', + c69 = '', + c70 = '', + c71 = '', + c72 = '', + c73 = '', + c74 = '', + c75 = '', + c76 = '', + # + c77 = 'a', + c78 = '', + # + crn = crn + # + WHERE + # + c01 = b'1' AND + # the below does not reproduce the inserted value: + #c02 = b'1111111111111111111111111111111111111111111111111111111111111111' AND + c03 = 127 AND + c04 = 255 AND + c05 = 255 AND + c06 = true AND + c07 = 32767 AND + c08 = 65535 AND + c09 = 65535 AND + c10 = 8388607 AND + c11 = 16777215 AND + c12 = 16777215 AND + c13 = 2147483647 AND + c14 = 4294967295 AND + c15 = 4294967295 AND + c16 = 9223372036854775807 AND + c17 = 18446744073709551615 AND + c18 = 18446744073709551615 AND + c19 > 3.402823465E+38 AND + c20 > 3.402823465E+38 AND + c21 > 3.402823465E+38 AND + c22 > 1.7976931348622E+308 AND + c23 > 1.7976931348622E+308 AND + c24 > 1.7976931348622E+308 AND + c25 = 9999999999 AND + c26 = 9999999999 AND + c27 = 9999999999 AND + # + c28 = '9999-12-31' AND + c29 = '9999-12-31 23:59:59' AND + c30 = '2038-01-08 03:14:07' AND + c31 = '838:59:59' AND + c32 = '2155' AND + # + c33 = x'ff' AND + c34 = '' AND + c35 = x'ff' AND + c36 = REPEAT(x'ff',255) AND + c37 = _utf8 x'efbfbf' AND + c38 = '' AND + c39 = _utf8 x'efbfbf' AND + c40 = REPEAT(_utf8 x'efbfbf',255) AND + c41 = _ucs2 x'ffff' AND + c42 = '' AND + c43 = _ucs2 x'ffff' AND + c44 = REPEAT(_ucs2 x'ffff',255) AND + # + c45 = '' AND + c46 = x'ff' AND + c47 = REPEAT(x'ff',255) AND + c48 = REPEAT(x'ff',261) AND + c49 = '' AND + c50 = _utf8 x'efbfbf' AND + c51 = REPEAT(_utf8 x'efbfbf',255) AND + c52 = REPEAT(_utf8 x'efbfbf',261) AND + c53 = '' AND + c54 = _ucs2 x'ffff' AND + c55 = REPEAT(_ucs2 x'ffff',255) AND + c56 = REPEAT(_ucs2 x'ffff',261) AND + # + c57 = x'ff' AND + c58 = '' AND + c59 = x'ff' AND + c60 = REPEAT(x'ff',255) AND + # + c61 = '' AND + c62 = x'ff' AND + c63 = REPEAT(x'ff',255) AND + c64 = REPEAT(x'ff',261) AND + # + c65 = 'tinyblob' AND + c66 = 'tinytext' AND + c67 = 'tinytext-ucs2' AND + c68 = 'blob' AND + c69 = 'text' AND + c70 = 'text-ucs2' AND + c71 = 'mediumblob' AND + c72 = 'mediumtext' AND + c73 = 'mediumtext-ucs2' AND + c74 = 'longblob' AND + c75 = 'longtext' AND + c76 = 'longtext-ucs2' AND + # + c77 = 'c' AND + c78 = 'a,b,c' AND + # + crn = 2; + +--echo # +--echo # Update NULL values to arbitrary values. +--echo # +UPDATE t1 SET + c01 = b'1', + c02 = b'1111111111111111111111111111111111111111111111111111111111111111', + c03 = 127, + c04 = 0, + c05 = 001, + c06 = true, + c07 = 32767, + c08 = 0, + c09 = 00001, + c10 = 8388607, + c11 = 0, + c12 = 00000001, + c13 = 2147483647, + c14 = 0, + c15 = 0000000001, + c16 = 9223372036854775807, + c17 = 0, + c18 = 00000000000000000001, + c19 = -1.175494351E-38, + c20 = 1.175494351E-38, + c21 = 000000000000001, + c22 = -2.2250738585072E-308, + c23 = 2.2250738585072E-308, + c24 = 00000000000000000000001, + c25 = -9999999999, + c26 = 9999999999, + c27 = 0000000001, + # + c28 = '2008-08-04', + c29 = '2008-08-04 16:18:06', + c30 = '2008-08-04 16:18:24', + c31 = '16:18:47', + c32 = '2008', + # + c33 = 'a', + c34 = '', + c35 = 'e', + c36 = REPEAT('i',255), + c37 = _utf8 x'c3a4', + c38 = '', + c39 = _utf8 x'c3b6', + c40 = REPEAT(_utf8 x'c3bc',255), + c41 = _ucs2 x'00e4', + c42 = '', + c43 = _ucs2 x'00f6', + c44 = REPEAT(_ucs2 x'00fc',255), + # + c45 = '', + c46 = 'a', + c47 = REPEAT('e',255), + c48 = REPEAT('i',261), + c49 = '', + c50 = _utf8 x'c3a4', + c51 = REPEAT(_utf8 x'c3b6',255), + c52 = REPEAT(_utf8 x'c3bc',261), + c53 = '', + c54 = _ucs2 x'00e4', + c55 = REPEAT(_ucs2 x'00f6',255), + c56 = REPEAT(_ucs2 x'00fc',261), + # + c57 = '0', + c58 = '', + c59 = '1', + c60 = REPEAT('1',255), + # + c61 = '', + c62 = 'b', + c63 = REPEAT('c',255), + c64 = REPEAT('\'',261), + # + c65 = 'tinyblob', + c66 = 'tinytext', + c67 = 'tinytext-ucs2', + c68 = 'blob', + c69 = 'text', + c70 = 'text-ucs2', + c71 = 'mediumblob', + c72 = 'mediumtext', + c73 = 'mediumtext-ucs2', + c74 = 'longblob', + c75 = 'longtext', + c76 = 'longtext-ucs2', + # + c77 = 'b', + c78 = 'b,c', + # + crn = crn + # + WHERE + # + c01 IS NULL AND + c02 IS NULL AND + c03 IS NULL AND + c04 IS NULL AND + c05 IS NULL AND + c06 IS NULL AND + c07 IS NULL AND + c08 IS NULL AND + c09 IS NULL AND + c10 IS NULL AND + c11 IS NULL AND + c12 IS NULL AND + c13 IS NULL AND + c14 IS NULL AND + c15 IS NULL AND + c16 IS NULL AND + c17 IS NULL AND + c18 IS NULL AND + c19 IS NULL AND + c20 IS NULL AND + c21 IS NULL AND + c22 IS NULL AND + c23 IS NULL AND + c24 IS NULL AND + c25 IS NULL AND + c26 IS NULL AND + c27 IS NULL AND + # + c28 IS NULL AND + c29 IS NULL AND + # this got a timestamp instead of NULL: c30 IS NULL AND + c31 IS NULL AND + c32 IS NULL AND + # + c33 IS NULL AND + c34 IS NULL AND + c35 IS NULL AND + c36 IS NULL AND + c37 IS NULL AND + c38 IS NULL AND + c39 IS NULL AND + c40 IS NULL AND + c41 IS NULL AND + c42 IS NULL AND + c43 IS NULL AND + c44 IS NULL AND + # + c45 IS NULL AND + c46 IS NULL AND + c47 IS NULL AND + c48 IS NULL AND + c49 IS NULL AND + c50 IS NULL AND + c51 IS NULL AND + c52 IS NULL AND + c53 IS NULL AND + c54 IS NULL AND + c55 IS NULL AND + c56 IS NULL AND + # + c57 IS NULL AND + c58 IS NULL AND + c59 IS NULL AND + c60 IS NULL AND + # + c61 IS NULL AND + c62 IS NULL AND + c63 IS NULL AND + c64 IS NULL AND + # + c65 IS NULL AND + c66 IS NULL AND + c67 IS NULL AND + c68 IS NULL AND + c69 IS NULL AND + c70 IS NULL AND + c71 IS NULL AND + c72 IS NULL AND + c73 IS NULL AND + c74 IS NULL AND + c75 IS NULL AND + c76 IS NULL AND + # + c77 IS NULL AND + c78 IS NULL AND + # + crn = 3; + +--echo # +--echo # Update arbitrary values to NULL values. +--echo # +UPDATE t1 SET + c01 = NULL, + c02 = NULL, + c03 = NULL, + c04 = NULL, + c05 = NULL, + c06 = NULL, + c07 = NULL, + c08 = NULL, + c09 = NULL, + c10 = NULL, + c11 = NULL, + c12 = NULL, + c13 = NULL, + c14 = NULL, + c15 = NULL, + c16 = NULL, + c17 = NULL, + c18 = NULL, + c19 = NULL, + c20 = NULL, + c21 = NULL, + c22 = NULL, + c23 = NULL, + c24 = NULL, + c25 = NULL, + c26 = NULL, + c27 = NULL, + # + c28 = NULL, + c29 = NULL, + c30 = NULL, + c31 = NULL, + c32 = NULL, + # + c33 = NULL, + c34 = NULL, + c35 = NULL, + c36 = NULL, + c37 = NULL, + c38 = NULL, + c39 = NULL, + c40 = NULL, + c41 = NULL, + c42 = NULL, + c43 = NULL, + c44 = NULL, + # + c45 = NULL, + c46 = NULL, + c47 = NULL, + c48 = NULL, + c49 = NULL, + c50 = NULL, + c51 = NULL, + c52 = NULL, + c53 = NULL, + c54 = NULL, + c55 = NULL, + c56 = NULL, + # + c57 = NULL, + c58 = NULL, + c59 = NULL, + c60 = NULL, + # + c61 = NULL, + c62 = NULL, + c63 = NULL, + c64 = NULL, + # + c65 = NULL, + c66 = NULL, + c67 = NULL, + c68 = NULL, + c69 = NULL, + c70 = NULL, + c71 = NULL, + c72 = NULL, + c73 = NULL, + c74 = NULL, + c75 = NULL, + c76 = NULL, + # + c77 = NULL, + c78 = NULL, + # + crn = crn + # + WHERE + # + c01 = b'1' AND + # the below does not reproduce the inserted value: + #c02 = b'1111111111111111111111111111111111111111111111111111111111111111' AND + c03 = 127 AND + c04 = 0 AND + c05 = 001 AND + c06 = true AND + c07 = 32767 AND + c08 = 0 AND + c09 = 00001 AND + c10 = 8388607 AND + c11 = 0 AND + c12 = 00000001 AND + c13 = 2147483647 AND + c14 = 0 AND + c15 = 0000000001 AND + c16 = 9223372036854775807 AND + c17 = 0 AND + c18 = 00000000000000000001 AND + c19 > -1.175494352E-38 AND + c20 < 1.175494352E-38 AND + c21 = 000000000000001 AND + c22 > -2.2250738585073E-308 AND + c23 < 2.2250738585073E-308 AND + c24 = 00000000000000000000001 AND + c25 = -9999999999 AND + c26 = 9999999999 AND + c27 = 0000000001 AND + # + c28 = '2008-08-04' AND + c29 = '2008-08-04 16:18:06' AND + c30 = '2008-08-04 16:18:24' AND + c31 = '16:18:47' AND + c32 = '2008' AND + # + c33 = 'a' AND + c34 = '' AND + c35 = 'e' AND + c36 = REPEAT('i',255) AND + c37 = _utf8 x'c3a4' AND + c38 = '' AND + c39 = _utf8 x'c3b6' AND + c40 = REPEAT(_utf8 x'c3bc',255) AND + c41 = _ucs2 x'00e4' AND + c42 = '' AND + c43 = _ucs2 x'00f6' AND + c44 = REPEAT(_ucs2 x'00fc',255) AND + # + c45 = '' AND + c46 = 'a' AND + c47 = REPEAT('e',255) AND + c48 = REPEAT('i',261) AND + c49 = '' AND + c50 = _utf8 x'c3a4' AND + c51 = REPEAT(_utf8 x'c3b6',255) AND + c52 = REPEAT(_utf8 x'c3bc',261) AND + c53 = '' AND + c54 = _ucs2 x'00e4' AND + c55 = REPEAT(_ucs2 x'00f6',255) AND + c56 = REPEAT(_ucs2 x'00fc',261) AND + # + c57 = '0' AND + c58 = '' AND + c59 = '1' AND + c60 = REPEAT('1',255) AND + # + c61 = '' AND + c62 = 'b' AND + c63 = REPEAT('c',255) AND + c64 = REPEAT('\'',261) AND + # + c65 = 'tinyblob' AND + c66 = 'tinytext' AND + c67 = 'tinytext-ucs2' AND + c68 = 'blob' AND + c69 = 'text' AND + c70 = 'text-ucs2' AND + c71 = 'mediumblob' AND + c72 = 'mediumtext' AND + c73 = 'mediumtext-ucs2' AND + c74 = 'longblob' AND + c75 = 'longtext' AND + c76 = 'longtext-ucs2' AND + # + c77 = 'b' AND + c78 = 'b,c' AND + # + crn = 4; + +--echo # +--echo # Show what we have in the table. +--echo # Do not display bit type output. It's binary and confuses diff. +--echo # Also BINARY with nul-bytes should be avoided. +--echo # +--replace_column 1 # 2 # 57 # 58 # 59 # 60 # +query_vertical SELECT * FROM t1; + +--echo # +--echo # Delete the row that has max values now. +--echo # +DELETE FROM t1 WHERE + # + c01 = b'1' AND + # the below does not reproduce the inserted value: + #c02 = b'1111111111111111111111111111111111111111111111111111111111111111' AND + c03 = 127 AND + c04 = 255 AND + c05 = 255 AND + c06 = true AND + c07 = 32767 AND + c08 = 65535 AND + c09 = 65535 AND + c10 = 8388607 AND + c11 = 16777215 AND + c12 = 16777215 AND + c13 = 2147483647 AND + c14 = 4294967295 AND + c15 = 4294967295 AND + c16 = 9223372036854775807 AND + c17 = 18446744073709551615 AND + c18 = 18446744073709551615 AND + c19 > 3.402823465E+38 AND + c20 > 3.402823465E+38 AND + c21 > 3.402823465E+38 AND + c22 > 1.7976931348622E+308 AND + c23 > 1.7976931348622E+308 AND + c24 > 1.7976931348622E+308 AND + c25 = 9999999999 AND + c26 = 9999999999 AND + c27 = 9999999999 AND + # + c28 = '9999-12-31' AND + c29 = '9999-12-31 23:59:59' AND + c30 = '2038-01-08 03:14:07' AND + c31 = '838:59:59' AND + c32 = '2155' AND + # + c33 = x'ff' AND + c34 = '' AND + c35 = x'ff' AND + c36 = REPEAT(x'ff',255) AND + c37 = _utf8 x'efbfbf' AND + c38 = '' AND + c39 = _utf8 x'efbfbf' AND + c40 = REPEAT(_utf8 x'efbfbf',255) AND + c41 = _ucs2 x'ffff' AND + c42 = '' AND + c43 = _ucs2 x'ffff' AND + c44 = REPEAT(_ucs2 x'ffff',255) AND + # + c45 = '' AND + c46 = x'ff' AND + c47 = REPEAT(x'ff',255) AND + c48 = REPEAT(x'ff',261) AND + c49 = '' AND + c50 = _utf8 x'efbfbf' AND + c51 = REPEAT(_utf8 x'efbfbf',255) AND + c52 = REPEAT(_utf8 x'efbfbf',261) AND + c53 = '' AND + c54 = _ucs2 x'ffff' AND + c55 = REPEAT(_ucs2 x'ffff',255) AND + c56 = REPEAT(_ucs2 x'ffff',261) AND + # + c57 = x'ff' AND + c58 = '' AND + c59 = x'ff' AND + c60 = REPEAT(x'ff',255) AND + # + c61 = '' AND + c62 = x'ff' AND + c63 = REPEAT(x'ff',255) AND + c64 = REPEAT(x'ff',261) AND + # + c65 = 'tinyblob' AND + c66 = 'tinytext' AND + c67 = 'tinytext-ucs2' AND + c68 = 'blob' AND + c69 = 'text' AND + c70 = 'text-ucs2' AND + c71 = 'mediumblob' AND + c72 = 'mediumtext' AND + c73 = 'mediumtext-ucs2' AND + c74 = 'longblob' AND + c75 = 'longtext' AND + c76 = 'longtext-ucs2' AND + # + c77 = 'c' AND + c78 = 'a,b,c' AND + # + crn = 1; + +--echo # +--echo # Delete the row that has min values now. +--echo # +DELETE FROM t1 WHERE + # + c01 = b'0' AND + c02 = b'0000000000000000000000000000000000000000000000000000000000000000' AND + c03 = -128 AND + c04 = 0 AND + c05 = 000 AND + c06 = false AND + c07 = -32768 AND + c08 = 0 AND + c09 = 00000 AND + c10 = -8388608 AND + c11 = 0 AND + c12 = 00000000 AND + c13 = -2147483648 AND + c14 = 0 AND + c15 = 0000000000 AND + c16 = -9223372036854775808 AND + c17 = 0 AND + c18 = 00000000000000000000 AND + c19 < -3.402823465E+38 AND + c20 < 1.175494352E-38 AND + c21 = 000000000000 AND + c22 < -1.7976931348622E+308 AND + c23 < 2.2250738585073E-308 AND + c24 = 0000000000000000000000 AND + c25 = -9999999999 AND + c26 = 0 AND + c27 = 0000000000 AND + # + c28 = '1000-01-01' AND + c29 = '1000-01-01 00:00:00' AND + c30 = '1970-01-02 00:00:01' AND + c31 = '-838:59:59' AND + c32 = '1901' AND + # + c33 = '' AND + c34 = '' AND + c35 = '' AND + c36 = '' AND + c37 = '' AND + c38 = '' AND + c39 = '' AND + c40 = '' AND + c41 = '' AND + c42 = '' AND + c43 = '' AND + c44 = '' AND + # + c45 = '' AND + c46 = '' AND + c47 = '' AND + c48 = '' AND + c49 = '' AND + c50 = '' AND + c51 = '' AND + c52 = '' AND + c53 = '' AND + c54 = '' AND + c55 = '' AND + c56 = '' AND + # + # this does not reproduce the inserted value: c57 = '' AND + c58 = '' AND + # this does not reproduce the inserted value: c59 = '' AND + # this does not reproduce the inserted value: c60 = '' AND + # + c61 = '' AND + c62 = '' AND + c63 = '' AND + c64 = '' AND + # + c65 = '' AND + c66 = '' AND + c67 = '' AND + c68 = '' AND + c69 = '' AND + c70 = '' AND + c71 = '' AND + c72 = '' AND + c73 = '' AND + c74 = '' AND + c75 = '' AND + c76 = '' AND + # + c77 = 'a' AND + c78 = '' AND + # + crn = 2; + +--echo # +--echo # Delete the row that has arbitrary values now. +--echo # +DELETE FROM t1 WHERE + # + c01 = b'1' AND + # the below does not reproduce the inserted value: + #c02 = b'1111111111111111111111111111111111111111111111111111111111111111' AND + c03 = 127 AND + c04 = 0 AND + c05 = 001 AND + c06 = true AND + c07 = 32767 AND + c08 = 0 AND + c09 = 00001 AND + c10 = 8388607 AND + c11 = 0 AND + c12 = 00000001 AND + c13 = 2147483647 AND + c14 = 0 AND + c15 = 0000000001 AND + c16 = 9223372036854775807 AND + c17 = 0 AND + c18 = 00000000000000000001 AND + c19 > -1.175494352E-38 AND + c20 < 1.175494352E-38 AND + c21 = 000000000000001 AND + c22 > -2.2250738585073E-308 AND + c23 < 2.2250738585073E-308 AND + c24 = 00000000000000000000001 AND + c25 = -9999999999 AND + c26 = 9999999999 AND + c27 = 0000000001 AND + # + c28 = '2008-08-04' AND + c29 = '2008-08-04 16:18:06' AND + c30 = '2008-08-04 16:18:24' AND + c31 = '16:18:47' AND + c32 = '2008' AND + # + c33 = 'a' AND + c34 = '' AND + c35 = 'e' AND + c36 = REPEAT('i',255) AND + c37 = _utf8 x'c3a4' AND + c38 = '' AND + c39 = _utf8 x'c3b6' AND + c40 = REPEAT(_utf8 x'c3bc',255) AND + c41 = _ucs2 x'00e4' AND + c42 = '' AND + c43 = _ucs2 x'00f6' AND + c44 = REPEAT(_ucs2 x'00fc',255) AND + # + c45 = '' AND + c46 = 'a' AND + c47 = REPEAT('e',255) AND + c48 = REPEAT('i',261) AND + c49 = '' AND + c50 = _utf8 x'c3a4' AND + c51 = REPEAT(_utf8 x'c3b6',255) AND + c52 = REPEAT(_utf8 x'c3bc',261) AND + c53 = '' AND + c54 = _ucs2 x'00e4' AND + c55 = REPEAT(_ucs2 x'00f6',255) AND + c56 = REPEAT(_ucs2 x'00fc',261) AND + # + c57 = '0' AND + c58 = '' AND + c59 = '1' AND + c60 = REPEAT('1',255) AND + # + c61 = '' AND + c62 = 'b' AND + c63 = REPEAT('c',255) AND + c64 = REPEAT('\'',261) AND + # + c65 = 'tinyblob' AND + c66 = 'tinytext' AND + c67 = 'tinytext-ucs2' AND + c68 = 'blob' AND + c69 = 'text' AND + c70 = 'text-ucs2' AND + c71 = 'mediumblob' AND + c72 = 'mediumtext' AND + c73 = 'mediumtext-ucs2' AND + c74 = 'longblob' AND + c75 = 'longtext' AND + c76 = 'longtext-ucs2' AND + # + c77 = 'b' AND + c78 = 'b,c' AND + # + crn = 3; + +--echo # +--echo # Delete the row that has NULL values now. +--echo # +DELETE FROM t1 WHERE + # + c01 IS NULL AND + c02 IS NULL AND + c03 IS NULL AND + c04 IS NULL AND + c05 IS NULL AND + c06 IS NULL AND + c07 IS NULL AND + c08 IS NULL AND + c09 IS NULL AND + c10 IS NULL AND + c11 IS NULL AND + c12 IS NULL AND + c13 IS NULL AND + c14 IS NULL AND + c15 IS NULL AND + c16 IS NULL AND + c17 IS NULL AND + c18 IS NULL AND + c19 IS NULL AND + c20 IS NULL AND + c21 IS NULL AND + c22 IS NULL AND + c23 IS NULL AND + c24 IS NULL AND + c25 IS NULL AND + c26 IS NULL AND + c27 IS NULL AND + # + c28 IS NULL AND + c29 IS NULL AND + # this got a timestamp instead of NULL: c30 IS NULL AND + c31 IS NULL AND + c32 IS NULL AND + # + c33 IS NULL AND + c34 IS NULL AND + c35 IS NULL AND + c36 IS NULL AND + c37 IS NULL AND + c38 IS NULL AND + c39 IS NULL AND + c40 IS NULL AND + c41 IS NULL AND + c42 IS NULL AND + c43 IS NULL AND + c44 IS NULL AND + # + c45 IS NULL AND + c46 IS NULL AND + c47 IS NULL AND + c48 IS NULL AND + c49 IS NULL AND + c50 IS NULL AND + c51 IS NULL AND + c52 IS NULL AND + c53 IS NULL AND + c54 IS NULL AND + c55 IS NULL AND + c56 IS NULL AND + # + c57 IS NULL AND + c58 IS NULL AND + c59 IS NULL AND + c60 IS NULL AND + # + c61 IS NULL AND + c62 IS NULL AND + c63 IS NULL AND + c64 IS NULL AND + # + c65 IS NULL AND + c66 IS NULL AND + c67 IS NULL AND + c68 IS NULL AND + c69 IS NULL AND + c70 IS NULL AND + c71 IS NULL AND + c72 IS NULL AND + c73 IS NULL AND + c74 IS NULL AND + c75 IS NULL AND + c76 IS NULL AND + # + c77 IS NULL AND + c78 IS NULL AND + # + crn = 4; + +--echo # +--echo # Show what we have in the table. Should be empty now. +--echo # +query_vertical SELECT * FROM t1; + +--echo # +--echo # Hide how much rows are affected by each statement. +--echo # +--disable_info + +--echo # +--echo # Flush all log buffers to the log file. +--echo # +FLUSH LOGS; + +--echo # +--echo # Call mysqlbinlog to display the log file contents. +--echo # +let $MYSQLD_DATADIR= `select @@datadir`; +--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR +--replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/ /exec_time=[0-9]*/exec_time=#/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/ /Xid = [0-9]*/Xid = #/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /server v [^ ]*/server v #.##.##/ /(@[0-9]*=[0-9-]*[.][0-9]{1,3})[0-9e+-]*[^ ]*[ ]*(.*(FLOAT|DOUBLE).*[*].)/\1... \2/ +--exec $MYSQL_BINLOG --base64-output=decode-rows -v -v $MYSQLTEST_VARDIR/log/master-bin.000001 + +--echo # +--echo # Cleanup. +--echo # +DROP TABLE t1; + +--echo # +--echo # ========================================= +--echo # Test #2 - Multi-row insert/update/delete. +--echo # ========================================= +--echo # +--echo # Delete all existing binary logs. +--echo # +RESET MASTER; + +--echo # +--echo # Create a test table with selected data types. +--echo # +eval CREATE TABLE t1 ( + c28 DATE, + c47 VARCHAR(24), + crn INT -- row number + ) ENGINE=$engine_type DEFAULT CHARSET latin1; + +--echo # +--echo # Show how much rows are affected by each statement. +--echo # +--enable_info + +--echo # +--echo # Multi-row insert. +--echo # +INSERT INTO t1 VALUES + ('2008-08-01','VARCHAR-01',1), + ('2008-08-02','VARCHAR-02',2), + ('2008-08-03','VARCHAR-03',3), + ('2008-08-04','VARCHAR-04',4), + ('2008-08-05','VARCHAR-05',5), + ('2008-08-06','VARCHAR-06',6), + ('2008-08-07','VARCHAR-07',7), + ('2008-08-08','VARCHAR-08',8), + ('2008-08-09','VARCHAR-09',9); + +--echo # +--echo # Multi-row update. +--echo # +UPDATE t1 SET c28 = ADDDATE(c28,10) WHERE crn < 8; + +--echo # +--echo # Show what we have in the table. +--echo # +SELECT * FROM t1; + +--echo # +--echo # Multi-row delete. +--echo # +DELETE FROM t1 WHERE crn < 8; + +--echo # +--echo # Show what we have in the table. +--echo # +SELECT * FROM t1; + +--echo # +--echo # Hide how much rows are affected by each statement. +--echo # +--disable_info + +--echo # +--echo # Flush all log buffers to the log file. +--echo # +FLUSH LOGS; + +--echo # +--echo # Call mysqlbinlog to display the log file contents. +--echo # +let $MYSQLD_DATADIR= `select @@datadir`; +--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR +--replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/ /exec_time=[0-9]*/exec_time=#/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/ /Xid = [0-9]*/Xid = #/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /server v [^ ]*/server v #.##.##/ /(@[0-9]*=[0-9-]*[.][0-9]{1,3})[0-9e+-]*[^ ]*[ ]*(.*(FLOAT|DOUBLE).*[*].)/\1... \2/ +--exec $MYSQL_BINLOG --base64-output=decode-rows -v -v $MYSQLTEST_VARDIR/log/master-bin.000001 + +--echo # +--echo # Cleanup. +--echo # +DROP TABLE t1; + +--echo # +--echo # ==================================== +--echo # Test #3 - Multi-table update/delete. +--echo # ==================================== +--echo # +--echo # Delete all existing binary logs. +--echo # +RESET MASTER; + +--echo # +--echo # Create test tables with selected data types. +--echo # +eval CREATE TABLE t1 ( + c_1_1 DATE, + c_1_2 VARCHAR(255), + c_1_n INT -- row number + ) ENGINE=$engine_type DEFAULT CHARSET latin1; +# +eval CREATE TABLE t2 ( + c_2_1 DATE, + c_2_2 VARCHAR(255), + c_2_n INT -- row number + ) ENGINE=$engine_type DEFAULT CHARSET latin1; +# +eval CREATE TABLE t3 ( + c_3_1 DATE, + c_3_2 VARCHAR(255), + c_3_n INT -- row number + ) ENGINE=$engine_type DEFAULT CHARSET latin1; + +--echo # +--echo # Show how much rows are affected by each statement. +--echo # +--enable_info + +--echo # +--echo # Insert data. +--echo # +INSERT INTO t1 VALUES + ('2008-01-01','VARCHAR-01-01',11), + ('2008-01-02','VARCHAR-01-02',2), + ('2008-01-03','VARCHAR-01-03',3), + ('2008-01-04','VARCHAR-01-04',4), + ('2008-01-05','VARCHAR-01-05',5), + ('2008-01-06','VARCHAR-01-06',6), + ('2008-01-07','VARCHAR-01-07',7), + ('2008-01-08','VARCHAR-01-08',18), + ('2008-01-09','VARCHAR-01-09',19); +# +INSERT INTO t2 VALUES + ('2008-02-01','VARCHAR-02-01',21), + ('2008-02-02','VARCHAR-02-02',2), + ('2008-02-03','VARCHAR-02-03',3), + ('2008-02-04','VARCHAR-02-04',4), + ('2008-02-05','VARCHAR-02-05',5), + ('2008-02-06','VARCHAR-02-06',6), + ('2008-02-07','VARCHAR-02-07',7), + ('2008-02-08','VARCHAR-02-08',28), + ('2008-02-09','VARCHAR-02-09',29); +# +INSERT INTO t3 VALUES + ('2008-03-01','VARCHAR-03-01',31), + ('2008-03-02','VARCHAR-03-02',2), + ('2008-03-03','VARCHAR-03-03',3), + ('2008-03-04','VARCHAR-03-04',4), + ('2008-03-05','VARCHAR-03-05',5), + ('2008-03-06','VARCHAR-03-06',6), + ('2008-03-07','VARCHAR-03-07',7), + ('2008-03-08','VARCHAR-03-08',38), + ('2008-03-09','VARCHAR-03-09',39); + +--echo # +--echo # Multi-table update. +--echo # +UPDATE t1,t2,t3 SET + c_1_1 = ADDDATE(c_1_1,INTERVAL 10 YEAR), + c_2_1 = ADDDATE(c_2_1,INTERVAL 20 YEAR), + c_3_1 = ADDDATE(c_3_1,INTERVAL 30 YEAR) + WHERE c_1_n = c_2_n AND c_2_n = c_3_n; + +--echo # +--echo # Show what we have in the tables. +--echo # +SELECT * FROM t1; +SELECT * FROM t2; +SELECT * FROM t3; + +--echo # +--echo # Multi-table delete. +--echo # +DELETE FROM t1,t2,t3 USING t1 INNER JOIN t2 INNER JOIN t3 + WHERE c_1_n = c_2_n AND c_2_n = c_3_n; + +--echo # +--echo # Show what we have in the tables. +--echo # +SELECT * FROM t1; +SELECT * FROM t2; +SELECT * FROM t3; + +--echo # +--echo # Hide how much rows are affected by each statement. +--echo # +--disable_info + +--echo # +--echo # Flush all log buffers to the log file. +--echo # +FLUSH LOGS; + +--echo # +--echo # Call mysqlbinlog to display the log file contents. +--echo # +let $MYSQLD_DATADIR= `select @@datadir`; +--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR +--replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/ /exec_time=[0-9]*/exec_time=#/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/ /Xid = [0-9]*/Xid = #/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /server v [^ ]*/server v #.##.##/ /(@[0-9]*=[0-9-]*[.][0-9]{1,3})[0-9e+-]*[^ ]*[ ]*(.*(FLOAT|DOUBLE).*[*].)/\1... \2/ +--exec $MYSQL_BINLOG --base64-output=decode-rows -v -v $MYSQLTEST_VARDIR/log/master-bin.000001 + +--echo # +--echo # Cleanup. +--echo # +DROP TABLE t1, t2, t3; + +--echo # +--echo # =========================== +--echo # Test #4 - LOAD DATA INFILE. +--echo # =========================== +--echo # +--echo # Delete all existing binary logs. +--echo # +RESET MASTER; + +--echo # +--echo # Create a test table with selected data types. +--echo # +eval CREATE TABLE t1 ( + c1 INT DEFAULT 100, + c2 INT, + c3 VARCHAR(60) + ) ENGINE=$engine_type DEFAULT CHARSET latin1; + +--echo # +--echo # Show how much rows are affected by each statement. +--echo # +--enable_info + +--echo # +--echo # Load data. +--echo # +LOAD DATA INFILE '../std_data_ln/loaddata5.dat' + INTO TABLE t1 FIELDS TERMINATED BY '' ENCLOSED BY '' (c1,c2) + SET c3 = 'Wow'; + +--echo # +--echo # Show what we have in the table. +--echo # +SELECT * FROM t1; + +--echo # +--echo # Hide how much rows are affected by each statement. +--echo # +--disable_info + +--echo # +--echo # Flush all log buffers to the log file. +--echo # +FLUSH LOGS; + +--echo # +--echo # Call mysqlbinlog to display the log file contents. +--echo # +let $MYSQLD_DATADIR= `select @@datadir`; +--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR +--replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/ /exec_time=[0-9]*/exec_time=#/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/ /Xid = [0-9]*/Xid = #/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /server v [^ ]*/server v #.##.##/ /(@[0-9]*=[0-9-]*[.][0-9]{1,3})[0-9e+-]*[^ ]*[ ]*(.*(FLOAT|DOUBLE).*[*].)/\1... \2/ +--exec $MYSQL_BINLOG --base64-output=decode-rows -v -v $MYSQLTEST_VARDIR/log/master-bin.000001 + +--echo # +--echo # Cleanup. +--echo # +DROP TABLE t1; + + diff --git a/mysql-test/include/ndb_backup_print.inc b/mysql-test/include/ndb_backup_print.inc index 57fb279491c..7527f125686 100644 --- a/mysql-test/include/ndb_backup_print.inc +++ b/mysql-test/include/ndb_backup_print.inc @@ -1,6 +1,7 @@ --exec $NDB_TOOLS_DIR/ndb_restore --no-defaults $ndb_restore_opts -b $the_backup_id -n 1 $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id $ndb_restore_filter > $MYSQLTEST_VARDIR/tmp/tmp.dat --exec $NDB_TOOLS_DIR/ndb_restore --no-defaults $ndb_restore_opts -b $the_backup_id -n 2 $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id $ndb_restore_filter >> $MYSQLTEST_VARDIR/tmp/tmp.dat --exec sort $MYSQLTEST_VARDIR/tmp/tmp.dat ---exec rm -f $MYSQLTEST_VARDIR/tmp/tmp.dat +--error 0,1 +--remove_file $MYSQLTEST_VARDIR/tmp/tmp.dat --let ndb_restore_opts= --let ndb_restore_filter= diff --git a/mysql-test/include/ps_ddl_1.inc b/mysql-test/include/ps_ddl_1.inc new file mode 100644 index 00000000000..f6b4c8108a1 --- /dev/null +++ b/mysql-test/include/ps_ddl_1.inc @@ -0,0 +1,25 @@ +# include/ps_ddl_1.inc +# +# Auxiliary script to be used in ps_ddl.test +# + +prepare stmt_sf from 'select f_12093();'; +prepare stmt_sp from 'call p_12093(f_12093())'; +execute stmt_sf; +execute stmt_sp; + +connection con1; +eval $my_drop; +# +connection default; +--echo # XXX: used to be a bug +execute stmt_sf; +--echo # XXX: used to be a bug +execute stmt_sp; +# +--echo # XXX: used to be a bug +execute stmt_sf; +--echo # XXX: used to be a bug +execute stmt_sp; + +connection default; diff --git a/mysql-test/include/show_binlog_events.inc b/mysql-test/include/show_binlog_events.inc index a80dc75df7d..68f913a16a3 100644 --- a/mysql-test/include/show_binlog_events.inc +++ b/mysql-test/include/show_binlog_events.inc @@ -4,7 +4,7 @@ if (!$binlog_start) { let $binlog_start=106; } ---replace_result $binlog_start +--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR $binlog_start --replace_column 2 # 4 # 5 # ---replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/ /file_id=[0-9]+/file_id=#/ +--replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/ /file_id=[0-9]+/file_id=#/ /block_len=[0-9]+/block_len=#/ --eval show binlog events from $binlog_start diff --git a/mysql-test/include/wait_condition.inc.moved b/mysql-test/include/wait_condition.inc.moved new file mode 100644 index 00000000000..a41d8080c9b --- /dev/null +++ b/mysql-test/include/wait_condition.inc.moved @@ -0,0 +1,59 @@ +# include/wait_condition.inc +# +# SUMMARY +# +# Waits until the passed statement returns true, or the operation +# times out. +# +# USAGE +# +# let $wait_condition= +# SELECT c = 3 FROM t; +# --source include/wait_condition.inc +# +# OR +# +# let $wait_timeout= 60; # Override default 30 seconds with 60. +# let $wait_condition= +# SELECT c = 3 FROM t; +# --source include/wait_condition.inc +# --echo Executed the test condition $wait_condition_reps times +# +# EXAMPLE +# events_bugs.test, events_time_zone.test +# + +--disable_query_log + +let $wait_counter= 300; +if ($wait_timeout) +{ + let $wait_counter= `SELECT $wait_timeout * 10`; +} +# Reset $wait_timeout so that its value won't be used on subsequent +# calls, and default will be used instead. +let $wait_timeout= 0; + +# Keep track of how many times the wait condition is tested +# This is used by some tests (e.g., main.status) +let $wait_condition_reps= 0; +while ($wait_counter) +{ + let $success= `$wait_condition`; + inc $wait_condition_reps; + if ($success) + { + let $wait_counter= 0; + } + if (!$success) + { + real_sleep 0.1; + dec $wait_counter; + } +} +if (!$success) +{ + echo Timeout in wait_condition.inc for $wait_condition; +} + +--enable_query_log diff --git a/mysql-test/include/wait_for_slave_sql_error_and_skip.inc b/mysql-test/include/wait_for_slave_sql_error_and_skip.inc new file mode 100644 index 00000000000..4b4776d2923 --- /dev/null +++ b/mysql-test/include/wait_for_slave_sql_error_and_skip.inc @@ -0,0 +1,27 @@ +# ==== Purpose ==== +# +# Wait for slave SQL error, skip the erroneous statement and restart +# slave +# +# ==== Usage ==== +# +# let show_sql_error=0|1; +# source include/wait_for_slave_sql_error_and_skip.inc; + +echo --source include/wait_for_slave_sql_error_and_skip.inc; +connection slave; +source include/wait_for_slave_sql_error.inc; +if ($show_sql_error) +{ + let $error= query_get_value("SHOW SLAVE STATUS", Last_SQL_Error, 1); + echo Last_SQL_Error = $error; +} + +# wait for SQL thread to stop after the error +source include/wait_for_slave_sql_to_stop.inc; + +# skip the erroneous statement +set global sql_slave_skip_counter=1; +start slave; +source include/wait_for_slave_to_start.inc; +connection master; diff --git a/mysql-test/lib/mtr_cases.pl b/mysql-test/lib/mtr_cases.pl index 2ca2669eb7f..3b47a89d3d2 100644 --- a/mysql-test/lib/mtr_cases.pl +++ b/mysql-test/lib/mtr_cases.pl @@ -433,41 +433,51 @@ sub optimize_cases { # Skip processing if already marked as skipped next if $tinfo->{skip}; - # Replication test needs an adjustment of binlog format - if (mtr_match_prefix($tinfo->{'name'}, "rpl")) + # ======================================================= + # If a special binlog format was selected with + # --mysqld=--binlog-format=x, skip all test that does not + # support it + # ======================================================= + #print "used_binlog_format: $::used_binlog_format\n"; + if (defined $::used_binlog_format ) { + # ======================================================= + # Fixed --binlog-format=x specified on command line + # ======================================================= + if ( defined $tinfo->{'binlog_formats'} ) + { + #print "binlog_formats: ". join(", ", @{$tinfo->{binlog_formats}})."\n"; + # The test supports different binlog formats + # check if the selected one is ok + my $supported= + grep { $_ eq $::used_binlog_format } @{$tinfo->{'binlog_formats'}}; + if ( !$supported ) + { + $tinfo->{'skip'}= 1; + $tinfo->{'comment'}= + "Doesn't support --binlog-format='$::used_binlog_format'"; + } + } + } + else + { # ======================================================= + # Use dynamic switching of binlog format + # ======================================================= + # Get binlog-format used by this test from master_opt - # ======================================================= my $test_binlog_format; foreach my $opt ( @{$tinfo->{master_opt}} ) { - $test_binlog_format= $test_binlog_format || - mtr_match_prefix($opt, "--binlog-format="); - } - # print $tinfo->{name}." uses ".$test_binlog_format."\n"; - - # ======================================================= - # If a special binlog format was selected with - # --mysqld=--binlog-format=x, skip all test with different - # binlog-format - # ======================================================= - if (defined $::used_binlog_format and - $test_binlog_format and - $::used_binlog_format ne $test_binlog_format) - { - $tinfo->{'skip'}= 1; - $tinfo->{'comment'}= "Requires --binlog-format='$test_binlog_format'"; - next; + $test_binlog_format= + mtr_match_prefix($opt, "--binlog-format=") || $test_binlog_format; } - # ======================================================= - # Check that testcase supports the designated binlog-format - # ======================================================= - if ($test_binlog_format and defined $tinfo->{'sup_binlog_formats'} ) + if (defined $test_binlog_format and + defined $tinfo->{binlog_formats} ) { my $supported= - grep { $_ eq $test_binlog_format } @{$tinfo->{'sup_binlog_formats'}}; + grep { $_ eq $test_binlog_format } @{$tinfo->{'binlog_formats'}}; if ( !$supported ) { $tinfo->{'skip'}= 1; @@ -476,20 +486,8 @@ sub optimize_cases { next; } } - - # ======================================================= - # Use dynamic switching of binlog-format if mtr started - # w/o --mysqld=--binlog-format=xxx and combinations. - # ======================================================= - if (!defined $tinfo->{'combination'} and - !defined $::used_binlog_format) - { - $test_binlog_format= $tinfo->{'sup_binlog_formats'}->[0]; - } - - # Save binlog format for dynamic switching - $tinfo->{binlog_format}= $test_binlog_format; } + } } @@ -773,6 +771,13 @@ sub collect_one_test_case($$$$$$$$$) { if ( $::used_default_engine =~ /^innodb/i ); } + #enable federated for this test + if ($tinfo->{'federated_test'}) + { + push(@{$tinfo->{'master_opt'}}, "--loose-federated"); + push(@{$tinfo->{'slave_opt'}}, "--loose-federated"); + } + if ( $tinfo->{'big_test'} and ! $::opt_big_test ) { $tinfo->{'skip'}= 1; @@ -872,18 +877,19 @@ sub collect_one_test_case($$$$$$$$$) { # the specified value in "tinfo" our @tags= ( - ["include/have_innodb.inc", "innodb_test", 1], - ["include/have_binlog_format_row.inc", "sup_binlog_formats", ["row"]], - ["include/have_log_bin.inc", "need_binlog", 1], - ["include/have_binlog_format_statement.inc", - "sup_binlog_formats", ["statement"]], - ["include/have_binlog_format_mixed.inc", "sup_binlog_formats", ["mixed"]], + + ["include/have_binlog_format_row.inc", "binlog_formats", ["row"]], + ["include/have_binlog_format_statement.inc", "binlog_formats", ["statement"]], + ["include/have_binlog_format_mixed.inc", "binlog_formats", ["mixed"]], ["include/have_binlog_format_mixed_or_row.inc", - "sup_binlog_formats", ["mixed","row"]], + "binlog_formats", ["mixed", "row"]], ["include/have_binlog_format_mixed_or_statement.inc", - "sup_binlog_formats", ["mixed","statement"]], + "binlog_formats", ["mixed", "statement"]], ["include/have_binlog_format_row_or_statement.inc", - "sup_binlog_formats", ["row","statement"]], + "binlog_formats", ["row", "statement"]], + + ["include/have_innodb.inc", "innodb_test", 1], + ["include/have_log_bin.inc", "need_binlog", 1], ["include/big_test.inc", "big_test", 1], ["include/have_debug.inc", "need_debug", 1], ["include/have_ndb.inc", "ndb_test", 1], @@ -891,6 +897,8 @@ our @tags= ["include/have_ndb_extra.inc", "ndb_extra", 1], ["include/ndb_master-slave.inc", "ndb_test", 1], ["require_manager", "require_manager", 1], + ["include/federated.inc", "federated_test", 1], + ["include/have_federated_db.inc", "federated_test", 1], ); sub mtr_options_from_test_file($$) { diff --git a/mysql-test/lib/mtr_report.pl b/mysql-test/lib/mtr_report.pl index b83f40626aa..3c78c3ca064 100644 --- a/mysql-test/lib/mtr_report.pl +++ b/mysql-test/lib/mtr_report.pl @@ -312,7 +312,7 @@ sub mtr_report_stats ($) { /Slave: According to the master's version/ or /Slave: Column [0-9]* type mismatch/ or /Slave: Error .* doesn't exist/ or - /Slave: Error .*Deadlock found/ or + /Slave: Deadlock found/ or /Slave: Error .*Unknown table/ or /Slave: Error in Write_rows event: / or /Slave: Field .* of table .* has no default value/ or @@ -327,7 +327,6 @@ sub mtr_report_stats ($) { /Sort aborted/ or /Time-out in NDB/ or /One can only use the --user.*root/ or - /Setting lower_case_table_names=2/ or /Table:.* on (delete|rename)/ or /You have an error in your SQL syntax/ or /deprecated/ or @@ -402,7 +401,18 @@ sub mtr_report_stats ($) { )) or # Test case for Bug#31590 produces the following error: - /Out of sort memory; increase server sort buffer size/ + /Out of sort memory; increase server sort buffer size/ or + + # Bug#35161, test of auto repair --myisam-recover + /able.*_will_crash/ or + + # lowercase_table3 using case sensitive option on + # case insensitive filesystem (InnoDB error). + /Cannot find or open table test\/BUG29839 from/ or + + # When trying to set lower_case_table_names = 2 + # on a case sensitive file system. Bug#37402. + /lower_case_table_names was set to 2, even though your the file system '.*' is case sensitive. Now setting lower_case_table_names to 0 to avoid future problems./ ) { next; # Skip these lines diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl index 37b11c97990..f67ce4db761 100755 --- a/mysql-test/mysql-test-run.pl +++ b/mysql-test/mysql-test-run.pl @@ -112,6 +112,7 @@ our $glob_basedir; our $path_charsetsdir; our $path_client_bindir; +our $path_client_libdir; our $path_share; our $path_language; our $path_timefile; @@ -250,7 +251,7 @@ our $opt_sleep; our $opt_testcase_timeout; our $opt_suite_timeout; my $default_testcase_timeout= 15; # 15 min max -my $default_suite_timeout= 180; # 3 hours max +my $default_suite_timeout= 300; # 5 hours max our $opt_start_and_exit; our $opt_start_dirty; @@ -657,6 +658,8 @@ sub command_line_setup () { 'vardir=s' => \$opt_vardir, 'benchdir=s' => \$glob_mysql_bench_dir, 'mem' => \$opt_mem, + 'client-bindir=s' => \$path_client_bindir, + 'client-libdir=s' => \$path_client_libdir, # Misc 'report-features' => \$opt_report_features, @@ -783,12 +786,20 @@ sub command_line_setup () { # # Look for the client binaries directory - $path_client_bindir= mtr_path_exists("$glob_basedir/client_release", - "$glob_basedir/client_debug", - vs_config_dirs('client', ''), - "$glob_basedir/client", - "$glob_basedir/bin"); - + if ($path_client_bindir) + { + # --client-bindir=path set on command line, check that the path exists + $path_client_bindir= mtr_path_exists($path_client_bindir); + } + else + { + $path_client_bindir= mtr_path_exists("$glob_basedir/client_release", + "$glob_basedir/client_debug", + vs_config_dirs('client', ''), + "$glob_basedir/client", + "$glob_basedir/bin"); + } + # Look for language files and charsetsdir, use same share $path_share= mtr_path_exists("$glob_basedir/share/mysql", "$glob_basedir/sql/share", @@ -1568,13 +1579,15 @@ sub executable_setup_ndb () { $exe_ndbd= mtr_exe_maybe_exists("$ndb_path/src/kernel/ndbd", - "$ndb_path/ndbd"); + "$ndb_path/ndbd", + "$glob_basedir/libexec/ndbd"); $exe_ndb_mgm= mtr_exe_maybe_exists("$ndb_path/src/mgmclient/ndb_mgm", "$ndb_path/ndb_mgm"); $exe_ndb_mgmd= mtr_exe_maybe_exists("$ndb_path/src/mgmsrv/ndb_mgmd", - "$ndb_path/ndb_mgmd"); + "$ndb_path/ndb_mgmd", + "$glob_basedir/libexec/ndb_mgmd"); $exe_ndb_waiter= mtr_exe_maybe_exists("$ndb_path/tools/ndb_waiter", "$ndb_path/ndb_waiter"); @@ -1671,7 +1684,8 @@ sub executable_setup () { # Look for mysql_fix_privilege_tables.sql script $file_mysql_fix_privilege_tables= mtr_file_exists("$glob_basedir/scripts/mysql_fix_privilege_tables.sql", - "$glob_basedir/share/mysql_fix_privilege_tables.sql"); + "$glob_basedir/share/mysql_fix_privilege_tables.sql", + "$glob_basedir/share/mysql/mysql_fix_privilege_tables.sql"); if ( ! $opt_skip_ndbcluster and executable_setup_ndb()) { @@ -1837,19 +1851,25 @@ sub environment_setup () { my @ld_library_paths; - # -------------------------------------------------------------------------- - # Setup LD_LIBRARY_PATH so the libraries from this distro/clone - # are used in favor of the system installed ones - # -------------------------------------------------------------------------- - if ( $source_dist ) + if ($path_client_libdir) { - push(@ld_library_paths, "$glob_basedir/libmysql/.libs/", - "$glob_basedir/libmysql_r/.libs/", - "$glob_basedir/zlib.libs/"); + # Use the --client-libdir passed on commandline + push(@ld_library_paths, "$path_client_libdir"); } else { - push(@ld_library_paths, "$glob_basedir/lib"); + # Setup LD_LIBRARY_PATH so the libraries from this distro/clone + # are used in favor of the system installed ones + if ( $source_dist ) + { + push(@ld_library_paths, "$glob_basedir/libmysql/.libs/", + "$glob_basedir/libmysql_r/.libs/", + "$glob_basedir/zlib.libs/"); + } + else + { + push(@ld_library_paths, "$glob_basedir/lib"); + } } # -------------------------------------------------------------------------- @@ -2091,6 +2111,9 @@ sub environment_setup () { { $cmdline_mysqlbinlog .=" --character-sets-dir=$path_charsetsdir"; } + # Always use the given tmpdir for the LOAD files created + # by mysqlbinlog + $cmdline_mysqlbinlog .=" --local-load=$opt_tmpdir"; if ( $opt_debug ) { @@ -3578,7 +3601,16 @@ sub run_testcase ($) { { mtr_timer_stop_all($glob_timers); mtr_report("\nServers started, exiting"); - exit(0); + if ($glob_win32_perl) + { + #ActiveState perl hangs when using normal exit, use POSIX::_exit instead + use POSIX qw[ _exit ]; + POSIX::_exit(0); + } + else + { + exit(0); + } } { @@ -4334,19 +4366,10 @@ sub run_testcase_need_master_restart($) elsif (! mtr_same_opts($master->[0]->{'start_opts'}, $tinfo->{'master_opt'}) ) { - # Chech that diff is binlog format only - my $diff_opts= mtr_diff_opts($master->[0]->{'start_opts'},$tinfo->{'master_opt'}); - if (scalar(@$diff_opts) eq 2) - { - $do_restart= 1 unless ($diff_opts->[0] =~/^--binlog-format=/ and $diff_opts->[1] =~/^--binlog-format=/); - } - else - { - $do_restart= 1; - mtr_verbose("Restart master: running with different options '" . - join(" ", @{$tinfo->{'master_opt'}}) . "' != '" . + $do_restart= 1; + mtr_verbose("Restart master: running with different options '" . + join(" ", @{$tinfo->{'master_opt'}}) . "' != '" . join(" ", @{$master->[0]->{'start_opts'}}) . "'" ); - } } elsif( ! $master->[0]->{'pid'} ) { @@ -5357,6 +5380,8 @@ Misc options warnings | log-warnings Pass --log-warnings to mysqld sleep=SECONDS Passed to mysqltest, will be used as fixed sleep time + client-bindir=PATH Path to the directory where client binaries are located + client-libdir=PATH Path to the directory where client libraries are located Deprecated options with-openssl Deprecated option for ssl diff --git a/mysql-test/r/alter_table.result b/mysql-test/r/alter_table.result index 3cec1f546d2..e01f4fa047b 100644 --- a/mysql-test/r/alter_table.result +++ b/mysql-test/r/alter_table.result @@ -1184,3 +1184,60 @@ check table t1; Table Op Msg_type Msg_text test.t1 check status OK drop table t1; +DROP TABLE IF EXISTS t1; +CREATE TABLE t1 (id int, c int) character set latin1; +INSERT INTO t1 VALUES (1,1); +ALTER TABLE t1 CHANGE c d int; +affected rows: 0 +info: Records: 0 Duplicates: 0 Warnings: 0 +ALTER TABLE t1 CHANGE d c int; +affected rows: 0 +info: Records: 0 Duplicates: 0 Warnings: 0 +ALTER TABLE t1 MODIFY c VARCHAR(10); +affected rows: 1 +info: Records: 1 Duplicates: 0 Warnings: 0 +ALTER TABLE t1 CHANGE c d varchar(10); +affected rows: 0 +info: Records: 0 Duplicates: 0 Warnings: 0 +ALTER TABLE t1 CHANGE d c varchar(10); +affected rows: 0 +info: Records: 0 Duplicates: 0 Warnings: 0 +DROP TABLE t1; +DROP TABLE IF EXISTS t1; +CREATE TABLE t1 (id int, c int) character set utf8; +INSERT INTO t1 VALUES (1,1); +ALTER TABLE t1 CHANGE c d int; +affected rows: 0 +info: Records: 0 Duplicates: 0 Warnings: 0 +ALTER TABLE t1 CHANGE d c int; +affected rows: 0 +info: Records: 0 Duplicates: 0 Warnings: 0 +ALTER TABLE t1 MODIFY c VARCHAR(10); +affected rows: 1 +info: Records: 1 Duplicates: 0 Warnings: 0 +ALTER TABLE t1 CHANGE c d varchar(10); +affected rows: 0 +info: Records: 0 Duplicates: 0 Warnings: 0 +ALTER TABLE t1 CHANGE d c varchar(10); +affected rows: 0 +info: Records: 0 Duplicates: 0 Warnings: 0 +DROP TABLE t1; +create table t1(f1 int not null, f2 int not null, key (f1), key (f2)); +select index_length into @unpaked_keys_size from +information_schema.tables where table_name='t1'; +alter table t1 pack_keys=1; +select index_length into @paked_keys_size from +information_schema.tables where table_name='t1'; +select (@unpaked_keys_size > @paked_keys_size); +(@unpaked_keys_size > @paked_keys_size) +1 +select max_data_length into @orig_max_data_length from +information_schema.tables where table_name='t1'; +alter table t1 max_rows=100; +select max_data_length into @changed_max_data_length from +information_schema.tables where table_name='t1'; +select (@orig_max_data_length > @changed_max_data_length); +(@orig_max_data_length > @changed_max_data_length) +1 +drop table t1; +End of 5.1 tests diff --git a/mysql-test/r/auto_increment.result b/mysql-test/r/auto_increment.result index bc9daf43f14..a39b424827c 100644 --- a/mysql-test/r/auto_increment.result +++ b/mysql-test/r/auto_increment.result @@ -454,3 +454,11 @@ select last_insert_id(); last_insert_id() 3 drop table t1; +create table t1 (a int primary key auto_increment, b int, c int, e int, d timestamp default current_timestamp, unique(b),unique(c),unique(e)); +insert into t1 values(null,1,1,1,now()); +insert into t1 values(null,0,0,0,null); +replace into t1 values(null,1,0,2,null); +select last_insert_id(); +last_insert_id() +3 +drop table t1; diff --git a/mysql-test/r/case_insensitive_file_system.require b/mysql-test/r/case_insensitive_file_system.require new file mode 100644 index 00000000000..062ac610ddd --- /dev/null +++ b/mysql-test/r/case_insensitive_file_system.require @@ -0,0 +1,2 @@ +Variable_name Value +lower_case_file_system ON diff --git a/mysql-test/r/client_xml.result b/mysql-test/r/client_xml.result index 6e9857c2d6d..aa4bdb2bd61 100644 --- a/mysql-test/r/client_xml.result +++ b/mysql-test/r/client_xml.result @@ -1,5 +1,6 @@ set @old_concurrent_insert= @@global.concurrent_insert; set @@global.concurrent_insert= 0; +drop table if exists t1; create table t1 ( `a&b` int, `a '2008-01-01' AND a = '0000-00-00'; +a +DROP TABLE t1; End of 5.0 tests diff --git a/mysql-test/r/concurrent_innodb_safelog.result b/mysql-test/r/concurrent_innodb_safelog.result new file mode 100644 index 00000000000..98e1205901a --- /dev/null +++ b/mysql-test/r/concurrent_innodb_safelog.result @@ -0,0 +1,803 @@ +SET GLOBAL TRANSACTION ISOLATION LEVEL REPEATABLE READ; +SELECT @@global.tx_isolation; +@@global.tx_isolation +REPEATABLE-READ +SELECT @@global.innodb_locks_unsafe_for_binlog; +@@global.innodb_locks_unsafe_for_binlog +0 +# keep_locks == 1 +GRANT USAGE ON test.* TO mysqltest@localhost; +DO release_lock("hello"); +DO release_lock("hello2"); +drop table if exists t1; + +** +** two UPDATE's running and both changing distinct result sets +** +** connection thread1 +** Set up table +SET SESSION STORAGE_ENGINE = InnoDB; +create table t1(eta int(11) not null, tipo int(11), c varchar(255)); +insert into t1 values (7,7, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"); +insert into t1 values (8,8, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"); +insert into t1 values (10,1,"ccccccccccccccccccccccccccccccccccccccccccc"); +insert into t1 values (20,2,"ddddddddddddddddddddddddddddddddddddddddddd"); +insert into t1 values (30,1,"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"); +insert into t1 values (40,2,"fffffffffffffffffffffffffffffffffffffffffff"); +insert into t1 values (50,1,"ggggggggggggggggggggggggggggggggggggggggggg"); +insert into t1 values (60,2,"hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh"); +insert into t1 values (70,1,"iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii"); +insert into t1 values (80,22,"jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj"); +insert into t1 values (90,11,"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +** Get user level lock (ULL) for thread 1 +select get_lock("hello",10); +get_lock("hello",10) +1 +** connection thread2 +** Start transaction for thread 2 +begin; +** Update will cause a table scan and a new ULL will +** be created and blocked on the first row where tipo=11. +update t1 set eta=1+get_lock("hello",10)*0 where tipo=11; +** connection thread1 +** Start new transaction for thread 1 +begin; +** Update on t1 will cause a table scan which will be blocked because +** the previously initiated table scan applied exclusive key locks on +** all primary keys. +** Not so if innodb_locks_unsafe_for_binlog is set. The locks that +** do not match the WHERE condition are released. +update t1 set eta=2 where tipo=22; +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +** Release user level name lock from thread 1. This will cause the ULL +** on thread 2 to end its wait. +select release_lock("hello"); +release_lock("hello") +1 +** Table is now updated with a new eta on tipo=22 for thread 1. +select * from t1; +eta tipo c +7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +10 1 ccccccccccccccccccccccccccccccccccccccccccc +20 2 ddddddddddddddddddddddddddddddddddddddddddd +30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +40 2 fffffffffffffffffffffffffffffffffffffffffff +50 1 ggggggggggggggggggggggggggggggggggggggggggg +60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii +80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj +90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +** connection thread2 +** Release the lock and collect result from update on thread 2 +select release_lock("hello"); +release_lock("hello") +1 +** Table should have eta updates where tipo=11 but updates made by +** thread 1 shouldn't be visible yet. +select * from t1; +eta tipo c +7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +10 1 ccccccccccccccccccccccccccccccccccccccccccc +20 2 ddddddddddddddddddddddddddddddddddddddddddd +30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +40 2 fffffffffffffffffffffffffffffffffffffffffff +50 1 ggggggggggggggggggggggggggggggggggggggggggg +60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii +80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj +1 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +** Sending commit on thread 2. +commit; +** connection thread1 +** Make sure table reads didn't change yet on thread 1. +select * from t1; +eta tipo c +7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +10 1 ccccccccccccccccccccccccccccccccccccccccccc +20 2 ddddddddddddddddddddddddddddddddddddddddddd +30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +40 2 fffffffffffffffffffffffffffffffffffffffffff +50 1 ggggggggggggggggggggggggggggggggggggggggggg +60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii +80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj +90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +** And send final commit on thread 1. +commit; +** Table should now be updated by both updates in the order of +** thread 1,2. +select * from t1; +eta tipo c +7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +10 1 ccccccccccccccccccccccccccccccccccccccccccc +20 2 ddddddddddddddddddddddddddddddddddddddddddd +30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +40 2 fffffffffffffffffffffffffffffffffffffffffff +50 1 ggggggggggggggggggggggggggggggggggggggggggg +60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii +80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj +1 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +** connection thread2 +** Make sure the output is similar for t1. +select * from t1; +eta tipo c +7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +10 1 ccccccccccccccccccccccccccccccccccccccccccc +20 2 ddddddddddddddddddddddddddddddddddddddddddd +30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +40 2 fffffffffffffffffffffffffffffffffffffffffff +50 1 ggggggggggggggggggggggggggggggggggggggggggg +60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii +80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj +1 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +** connection thread1 +select * from t1; +eta tipo c +7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +10 1 ccccccccccccccccccccccccccccccccccccccccccc +20 2 ddddddddddddddddddddddddddddddddddddddddddd +30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +40 2 fffffffffffffffffffffffffffffffffffffffffff +50 1 ggggggggggggggggggggggggggggggggggggggggggg +60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii +80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj +1 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +** connection default +drop table t1; + +** +** two UPDATE's running and one changing result set +** +** connection thread1 +** Set up table +SET SESSION STORAGE_ENGINE = InnoDB; +create table t1(eta int(11) not null, tipo int(11), c varchar(255)); +insert into t1 values (7,7, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"); +insert into t1 values (8,8, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"); +insert into t1 values (10,1,"ccccccccccccccccccccccccccccccccccccccccccc"); +insert into t1 values (20,2,"ddddddddddddddddddddddddddddddddddddddddddd"); +insert into t1 values (30,1,"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"); +insert into t1 values (40,2,"fffffffffffffffffffffffffffffffffffffffffff"); +insert into t1 values (50,1,"ggggggggggggggggggggggggggggggggggggggggggg"); +insert into t1 values (60,2,"hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh"); +insert into t1 values (70,1,"iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii"); +insert into t1 values (80,22,"jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj"); +insert into t1 values (90,11,"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +** Get ULL "hello" on thread 1 +select get_lock("hello",10); +get_lock("hello",10) +1 +** connection thread2 +** Start transaction on thread 2 +begin; +** Update will cause a table scan. +** This will cause a hang on the first row where tipo=1 until the +** blocking ULL is released. +update t1 set eta=1+get_lock("hello",10)*0 where tipo=1; +** connection thread1 +** Start transaction on thread 1 +begin; +** Update on t1 will cause a table scan which will be blocked because +** the previously initiated table scan applied exclusive key locks on +** all primary keys. +** Not so if innodb_locks_unsafe_for_binlog is set. The locks that +** do not match the WHERE condition are released. +update t1 set tipo=1 where tipo=2; +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +** Release ULL. This will release the next waiting ULL on thread 2. +select release_lock("hello"); +release_lock("hello") +1 +** The table should still be updated with updates for thread 1 only: +select * from t1; +eta tipo c +7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +10 1 ccccccccccccccccccccccccccccccccccccccccccc +20 2 ddddddddddddddddddddddddddddddddddddddddddd +30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +40 2 fffffffffffffffffffffffffffffffffffffffffff +50 1 ggggggggggggggggggggggggggggggggggggggggggg +60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii +80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj +90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +** connection thread2 +** Release the lock and collect result from thread 2: +select release_lock("hello"); +release_lock("hello") +1 +** Seen from thread 2 the table should have been updated on four +** places. +select * from t1; +eta tipo c +7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +1 1 ccccccccccccccccccccccccccccccccccccccccccc +20 2 ddddddddddddddddddddddddddddddddddddddddddd +1 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +40 2 fffffffffffffffffffffffffffffffffffffffffff +1 1 ggggggggggggggggggggggggggggggggggggggggggg +60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +1 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii +80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj +90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +commit; +** connection thread1 +** Thread 2 has committed but the result should remain the same for +** thread 1 (updated on three places): +select * from t1; +eta tipo c +7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +10 1 ccccccccccccccccccccccccccccccccccccccccccc +20 2 ddddddddddddddddddddddddddddddddddddddddddd +30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +40 2 fffffffffffffffffffffffffffffffffffffffffff +50 1 ggggggggggggggggggggggggggggggggggggggggggg +60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii +80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj +90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +commit; +** After a commit the table should be merged with the previous +** commit. +** This select should show both updates: +select * from t1; +eta tipo c +7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +1 1 ccccccccccccccccccccccccccccccccccccccccccc +20 2 ddddddddddddddddddddddddddddddddddddddddddd +1 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +40 2 fffffffffffffffffffffffffffffffffffffffffff +1 1 ggggggggggggggggggggggggggggggggggggggggggg +60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +1 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii +80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj +90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +** connection thread2 +select * from t1; +eta tipo c +7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +1 1 ccccccccccccccccccccccccccccccccccccccccccc +20 2 ddddddddddddddddddddddddddddddddddddddddddd +1 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +40 2 fffffffffffffffffffffffffffffffffffffffffff +1 1 ggggggggggggggggggggggggggggggggggggggggggg +60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +1 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii +80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj +90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +** connection thread1 +select * from t1; +eta tipo c +7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +1 1 ccccccccccccccccccccccccccccccccccccccccccc +20 2 ddddddddddddddddddddddddddddddddddddddddddd +1 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +40 2 fffffffffffffffffffffffffffffffffffffffffff +1 1 ggggggggggggggggggggggggggggggggggggggggggg +60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +1 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii +80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj +90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +** connection default +drop table t1; + +** +** One UPDATE and one INSERT .... Monty's test +** +** connection thread1 +** Set up table +SET SESSION STORAGE_ENGINE = InnoDB; +create table t1 (a int not null, b int not null); +insert into t1 values (1,1),(2,1),(3,1),(4,1); +** Create ULL 'hello2' +select get_lock("hello2",10); +get_lock("hello2",10) +1 +** connection thread2 +** Begin a new transaction on thread 2 +begin; +** Update will create a table scan which creates a ULL where a=2; +** this will hang waiting on thread 1. +update t1 set b=10+get_lock(concat("hello",a),10)*0 where a=2; +** connection thread1 +** Insert new values to t1 from thread 1; this created an implicit +** commit since there are no on-going transactions. +insert into t1 values (1,1); +** Release the ULL (thread 2 updates will finish). +select release_lock("hello2"); +release_lock("hello2") +1 +** ..but thread 1 will still see t1 as if nothing has happend: +select * from t1; +a b +1 1 +2 1 +3 1 +4 1 +1 1 +** connection thread2 +** Collect results from thread 2 and release the lock. +select release_lock("hello2"); +release_lock("hello2") +1 +** The table should look like the original+updates for thread 2, +** and consist of new rows: +select * from t1; +a b +1 1 +2 10 +3 1 +4 1 +1 1 +** Commit changes from thread 2 +commit; +** connection default +drop table t1; + +** +** one UPDATE changing result set and SELECT ... FOR UPDATE +** +** connection thread1 +** Set up table +SET SESSION STORAGE_ENGINE = InnoDB; +create table t1(eta int(11) not null, tipo int(11), c varchar(255)); +insert into t1 values (7,7, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"); +insert into t1 values (8,8, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"); +insert into t1 values (10,1,"ccccccccccccccccccccccccccccccccccccccccccc"); +insert into t1 values (20,2,"ddddddddddddddddddddddddddddddddddddddddddd"); +insert into t1 values (30,1,"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"); +insert into t1 values (40,2,"fffffffffffffffffffffffffffffffffffffffffff"); +insert into t1 values (50,1,"ggggggggggggggggggggggggggggggggggggggggggg"); +insert into t1 values (60,2,"hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh"); +insert into t1 values (70,1,"iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii"); +insert into t1 values (80,22,"jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj"); +insert into t1 values (90,11,"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +** connection thread2 +** Begin a new transaction on thread 2 +begin; +** Select a range for update. +select * from t1 where tipo=2 FOR UPDATE; +eta tipo c +20 2 ddddddddddddddddddddddddddddddddddddddddddd +40 2 fffffffffffffffffffffffffffffffffffffffffff +60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +** connection thread1 +** Begin a new transaction on thread 1 +begin; +** Update the same range which is marked for update on thread 2; this +** will hang because of row locks. +update t1 set tipo=1 where tipo=2; +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +** After the update the table will be unmodified because the previous +** transaction failed and was rolled back. +select * from t1; +eta tipo c +7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +10 1 ccccccccccccccccccccccccccccccccccccccccccc +20 2 ddddddddddddddddddddddddddddddddddddddddddd +30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +40 2 fffffffffffffffffffffffffffffffffffffffffff +50 1 ggggggggggggggggggggggggggggggggggggggggggg +60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii +80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj +90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +** connection thread2 +** The table should look unmodified from thread 2. +select * from t1; +eta tipo c +7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +10 1 ccccccccccccccccccccccccccccccccccccccccccc +20 2 ddddddddddddddddddddddddddddddddddddddddddd +30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +40 2 fffffffffffffffffffffffffffffffffffffffffff +50 1 ggggggggggggggggggggggggggggggggggggggggggg +60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii +80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj +90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +** Sending a commit should release the row locks and enable +** thread 1 to complete the transaction. +commit; +** connection thread1 +** Commit on thread 1. +commit; +** connection thread2 +** The table should not have been changed. +select * from t1; +eta tipo c +7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +10 1 ccccccccccccccccccccccccccccccccccccccccccc +20 2 ddddddddddddddddddddddddddddddddddddddddddd +30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +40 2 fffffffffffffffffffffffffffffffffffffffffff +50 1 ggggggggggggggggggggggggggggggggggggggggggg +60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii +80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj +90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +** connection thread1 +** Even on thread 1: +select * from t1; +eta tipo c +7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +10 1 ccccccccccccccccccccccccccccccccccccccccccc +20 2 ddddddddddddddddddddddddddddddddddddddddddd +30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +40 2 fffffffffffffffffffffffffffffffffffffffffff +50 1 ggggggggggggggggggggggggggggggggggggggggggg +60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii +80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj +90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +** connection default +drop table t1; + +** +** one UPDATE not changing result set and SELECT ... FOR UPDATE +** +** connection thread1 +** Set up table +SET SESSION STORAGE_ENGINE = InnoDB; +create table t1(eta int(11) not null, tipo int(11), c varchar(255)); +insert into t1 values (7,7, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"); +insert into t1 values (8,8, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"); +insert into t1 values (10,1,"ccccccccccccccccccccccccccccccccccccccccccc"); +insert into t1 values (20,2,"ddddddddddddddddddddddddddddddddddddddddddd"); +insert into t1 values (30,1,"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"); +insert into t1 values (40,2,"fffffffffffffffffffffffffffffffffffffffffff"); +insert into t1 values (50,1,"ggggggggggggggggggggggggggggggggggggggggggg"); +insert into t1 values (60,2,"hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh"); +insert into t1 values (70,1,"iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii"); +insert into t1 values (80,22,"jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj"); +insert into t1 values (90,11,"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +** connection thread2 +** Starting new transaction on thread 2. +begin; +** Starting SELECT .. FOR UPDATE +select * from t1 where tipo=2 FOR UPDATE; +eta tipo c +20 2 ddddddddddddddddddddddddddddddddddddddddddd +40 2 fffffffffffffffffffffffffffffffffffffffffff +60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +** connection thread1 + +** Starting new transaction on thread 1 +begin; +** Updating single row using a table scan. This will time out +** because of ongoing transaction on thread 1 holding lock on +** all primary keys in the scan. +** Not so if innodb_locks_unsafe_for_binlog is set. The locks that +** do not match the WHERE condition are released. +update t1 set tipo=11 where tipo=22; +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +** After the time out the transaction is aborted; no rows should +** have changed. +select * from t1; +eta tipo c +7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +10 1 ccccccccccccccccccccccccccccccccccccccccccc +20 2 ddddddddddddddddddddddddddddddddddddddddddd +30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +40 2 fffffffffffffffffffffffffffffffffffffffffff +50 1 ggggggggggggggggggggggggggggggggggggggggggg +60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii +80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj +90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +** connection thread2 +** The same thing should hold true for the transaction on +** thread 2 +select * from t1; +eta tipo c +7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +10 1 ccccccccccccccccccccccccccccccccccccccccccc +20 2 ddddddddddddddddddddddddddddddddddddddddddd +30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +40 2 fffffffffffffffffffffffffffffffffffffffffff +50 1 ggggggggggggggggggggggggggggggggggggggggggg +60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii +80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj +90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +commit; +** connection thread1 +commit; +** connection thread2 +** Even after committing: +select * from t1; +eta tipo c +7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +10 1 ccccccccccccccccccccccccccccccccccccccccccc +20 2 ddddddddddddddddddddddddddddddddddddddddddd +30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +40 2 fffffffffffffffffffffffffffffffffffffffffff +50 1 ggggggggggggggggggggggggggggggggggggggggggg +60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii +80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj +90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +** connection thread1 +select * from t1; +eta tipo c +7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +10 1 ccccccccccccccccccccccccccccccccccccccccccc +20 2 ddddddddddddddddddddddddddddddddddddddddddd +30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +40 2 fffffffffffffffffffffffffffffffffffffffffff +50 1 ggggggggggggggggggggggggggggggggggggggggggg +60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii +80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj +90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +** connection default +drop table t1; + +** +** two SELECT ... FOR UPDATE +** +** connection thread1 +** Set up table +SET SESSION STORAGE_ENGINE = InnoDB; +create table t1(eta int(11) not null, tipo int(11), c varchar(255)); +insert into t1 values (7,7, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"); +insert into t1 values (8,8, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"); +insert into t1 values (10,1,"ccccccccccccccccccccccccccccccccccccccccccc"); +insert into t1 values (20,2,"ddddddddddddddddddddddddddddddddddddddddddd"); +insert into t1 values (30,1,"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"); +insert into t1 values (40,2,"fffffffffffffffffffffffffffffffffffffffffff"); +insert into t1 values (50,1,"ggggggggggggggggggggggggggggggggggggggggggg"); +insert into t1 values (60,2,"hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh"); +insert into t1 values (70,1,"iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii"); +insert into t1 values (80,22,"jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj"); +insert into t1 values (90,11,"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +** connection thread2 +** Begin a new transaction on thread 2 +begin; +select * from t1 where tipo=2 FOR UPDATE; +eta tipo c +20 2 ddddddddddddddddddddddddddddddddddddddddddd +40 2 fffffffffffffffffffffffffffffffffffffffffff +60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +** connection thread1 +** Begin a new transaction on thread 1 +begin; +** Selecting a range for update by table scan will be blocked +** because of on-going transaction on thread 2. +select * from t1 where tipo=1 FOR UPDATE; +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +** connection thread2 +** Table will be unchanged and the select command will not be +** blocked: +select * from t1; +eta tipo c +7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +10 1 ccccccccccccccccccccccccccccccccccccccccccc +20 2 ddddddddddddddddddddddddddddddddddddddddddd +30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +40 2 fffffffffffffffffffffffffffffffffffffffffff +50 1 ggggggggggggggggggggggggggggggggggggggggggg +60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii +80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj +90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +** Commit transacton on thread 2. +commit; +** connection thread1 +** Commit transaction on thread 1. +commit; +** connection thread2 +** Make sure table isn't blocked on thread 2: +select * from t1; +eta tipo c +7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +10 1 ccccccccccccccccccccccccccccccccccccccccccc +20 2 ddddddddddddddddddddddddddddddddddddddddddd +30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +40 2 fffffffffffffffffffffffffffffffffffffffffff +50 1 ggggggggggggggggggggggggggggggggggggggggggg +60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii +80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj +90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +** connection thread1 +** Make sure table isn't blocked on thread 1: +select * from t1; +eta tipo c +7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +10 1 ccccccccccccccccccccccccccccccccccccccccccc +20 2 ddddddddddddddddddddddddddddddddddddddddddd +30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +40 2 fffffffffffffffffffffffffffffffffffffffffff +50 1 ggggggggggggggggggggggggggggggggggggggggggg +60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii +80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj +90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +** connection default +drop table t1; + +** +** one UPDATE changing result set and DELETE +** +** connection thread1 +** Set up table +SET SESSION STORAGE_ENGINE = InnoDB; +create table t1(eta int(11) not null, tipo int(11), c varchar(255)); +insert into t1 values (7,7, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"); +insert into t1 values (8,8, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"); +insert into t1 values (10,1,"ccccccccccccccccccccccccccccccccccccccccccc"); +insert into t1 values (20,2,"ddddddddddddddddddddddddddddddddddddddddddd"); +insert into t1 values (30,1,"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"); +insert into t1 values (40,2,"fffffffffffffffffffffffffffffffffffffffffff"); +insert into t1 values (50,1,"ggggggggggggggggggggggggggggggggggggggggggg"); +insert into t1 values (60,2,"hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh"); +insert into t1 values (70,1,"iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii"); +insert into t1 values (80,22,"jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj"); +insert into t1 values (90,11,"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +** connection thread2 +begin; +delete from t1 where tipo=2; +** connection thread1 +begin; +update t1 set tipo=1 where tipo=2; +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +select * from t1; +eta tipo c +7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +10 1 ccccccccccccccccccccccccccccccccccccccccccc +20 2 ddddddddddddddddddddddddddddddddddddddddddd +30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +40 2 fffffffffffffffffffffffffffffffffffffffffff +50 1 ggggggggggggggggggggggggggggggggggggggggggg +60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii +80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj +90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +** connection thread2 +select * from t1; +eta tipo c +7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +10 1 ccccccccccccccccccccccccccccccccccccccccccc +30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +50 1 ggggggggggggggggggggggggggggggggggggggggggg +70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii +80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj +90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +commit; +** connection thread1 +commit; +** connection thread2 +select * from t1; +eta tipo c +7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +10 1 ccccccccccccccccccccccccccccccccccccccccccc +30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +50 1 ggggggggggggggggggggggggggggggggggggggggggg +70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii +80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj +90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +** connection thread1 +select * from t1; +eta tipo c +7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +10 1 ccccccccccccccccccccccccccccccccccccccccccc +30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +50 1 ggggggggggggggggggggggggggggggggggggggggggg +70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii +80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj +90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +** connection default +drop table t1; + +** +** one UPDATE not changing result set and DELETE +** +** connection thread1 +** Set up table +SET SESSION STORAGE_ENGINE = InnoDB; +create table t1(eta int(11) not null, tipo int(11), c varchar(255)); +insert into t1 values (7,7, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"); +insert into t1 values (8,8, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"); +insert into t1 values (10,1,"ccccccccccccccccccccccccccccccccccccccccccc"); +insert into t1 values (20,2,"ddddddddddddddddddddddddddddddddddddddddddd"); +insert into t1 values (30,1,"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"); +insert into t1 values (40,2,"fffffffffffffffffffffffffffffffffffffffffff"); +insert into t1 values (50,1,"ggggggggggggggggggggggggggggggggggggggggggg"); +insert into t1 values (60,2,"hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh"); +insert into t1 values (70,1,"iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii"); +insert into t1 values (80,22,"jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj"); +insert into t1 values (90,11,"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +** connection thread2 +begin; +delete from t1 where tipo=2; +** connection thread1 +begin; +** Update on t1 will cause a table scan which will be blocked because +** the previously initiated table scan applied exclusive key locks on +** all primary keys. +** Not so if innodb_locks_unsafe_for_binlog is set. The locks that +** do not match the WHERE condition are released. +update t1 set tipo=1 where tipo=22; +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +select * from t1; +eta tipo c +7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +10 1 ccccccccccccccccccccccccccccccccccccccccccc +20 2 ddddddddddddddddddddddddddddddddddddddddddd +30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +40 2 fffffffffffffffffffffffffffffffffffffffffff +50 1 ggggggggggggggggggggggggggggggggggggggggggg +60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii +80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj +90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +** connection thread2 +select * from t1; +eta tipo c +7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +10 1 ccccccccccccccccccccccccccccccccccccccccccc +30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +50 1 ggggggggggggggggggggggggggggggggggggggggggg +70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii +80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj +90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +commit; +** connection thread1 +commit; +** connection thread2 +select * from t1; +eta tipo c +7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +10 1 ccccccccccccccccccccccccccccccccccccccccccc +30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +50 1 ggggggggggggggggggggggggggggggggggggggggggg +70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii +80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj +90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +** connection thread1 +select * from t1; +eta tipo c +7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +10 1 ccccccccccccccccccccccccccccccccccccccccccc +30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +50 1 ggggggggggggggggggggggggggggggggggggggggggg +70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii +80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj +90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +** connection default +drop table t1; diff --git a/mysql-test/r/concurrent_innodb.result b/mysql-test/r/concurrent_innodb_unsafelog.result similarity index 75% rename from mysql-test/r/concurrent_innodb.result rename to mysql-test/r/concurrent_innodb_unsafelog.result index 27e2cde077c..14973fe07d9 100644 --- a/mysql-test/r/concurrent_innodb.result +++ b/mysql-test/r/concurrent_innodb_unsafelog.result @@ -1,109 +1,22 @@ -SET SESSION STORAGE_ENGINE = InnoDB; +SET GLOBAL TRANSACTION ISOLATION LEVEL REPEATABLE READ; +SELECT @@global.tx_isolation; +@@global.tx_isolation +REPEATABLE-READ +SELECT @@global.innodb_locks_unsafe_for_binlog; +@@global.innodb_locks_unsafe_for_binlog +1 +# keep_locks == 0 +GRANT USAGE ON test.* TO mysqltest@localhost; +DO release_lock("hello"); +DO release_lock("hello2"); drop table if exists t1; -create table t1(eta int(11) not null, tipo int(11), c varchar(255)); + +** +** two UPDATE's running and both changing distinct result sets +** +** connection thread1 +** Set up table SET SESSION STORAGE_ENGINE = InnoDB; -insert into t1 values (7,7, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"); -insert into t1 values (8,8, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"); -insert into t1 values (10,1,"ccccccccccccccccccccccccccccccccccccccccccc"); -insert into t1 values (20,2,"ddddddddddddddddddddddddddddddddddddddddddd"); -insert into t1 values (30,1,"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"); -insert into t1 values (40,2,"fffffffffffffffffffffffffffffffffffffffffff"); -insert into t1 values (50,1,"ggggggggggggggggggggggggggggggggggggggggggg"); -insert into t1 values (60,2,"hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh"); -insert into t1 values (70,1,"iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii"); -insert into t1 values (80,22,"jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj"); -insert into t1 values (90,11,"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); -select get_lock("hello",1); -get_lock("hello",1) -1 -begin; - update t1 set eta=1+get_lock("hello",1)*0 where tipo=11; -begin; -update t1 set eta=2 where tipo=22; -select release_lock("hello"); -release_lock("hello") -1 -select * from t1; -eta tipo c -7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb -10 1 ccccccccccccccccccccccccccccccccccccccccccc -20 2 ddddddddddddddddddddddddddddddddddddddddddd -30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee -40 2 fffffffffffffffffffffffffffffffffffffffffff -50 1 ggggggggggggggggggggggggggggggggggggggggggg -60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh -70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii -2 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj -90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk -select * from t1; -eta tipo c -7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb -10 1 ccccccccccccccccccccccccccccccccccccccccccc -20 2 ddddddddddddddddddddddddddddddddddddddddddd -30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee -40 2 fffffffffffffffffffffffffffffffffffffffffff -50 1 ggggggggggggggggggggggggggggggggggggggggggg -60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh -70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii -80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj -1 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk - commit; -select * from t1; -eta tipo c -7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb -10 1 ccccccccccccccccccccccccccccccccccccccccccc -20 2 ddddddddddddddddddddddddddddddddddddddddddd -30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee -40 2 fffffffffffffffffffffffffffffffffffffffffff -50 1 ggggggggggggggggggggggggggggggggggggggggggg -60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh -70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii -2 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj -90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk -commit; -select * from t1; -eta tipo c -7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb -10 1 ccccccccccccccccccccccccccccccccccccccccccc -20 2 ddddddddddddddddddddddddddddddddddddddddddd -30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee -40 2 fffffffffffffffffffffffffffffffffffffffffff -50 1 ggggggggggggggggggggggggggggggggggggggggggg -60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh -70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii -2 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj -1 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk -select * from t1; -eta tipo c -7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb -10 1 ccccccccccccccccccccccccccccccccccccccccccc -20 2 ddddddddddddddddddddddddddddddddddddddddddd -30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee -40 2 fffffffffffffffffffffffffffffffffffffffffff -50 1 ggggggggggggggggggggggggggggggggggggggggggg -60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh -70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii -2 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj -1 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk -select * from t1; -eta tipo c -7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb -10 1 ccccccccccccccccccccccccccccccccccccccccccc -20 2 ddddddddddddddddddddddddddddddddddddddddddd -30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee -40 2 fffffffffffffffffffffffffffffffffffffffffff -50 1 ggggggggggggggggggggggggggggggggggggggggggg -60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh -70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii -2 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj -1 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk -drop table t1; create table t1(eta int(11) not null, tipo int(11), c varchar(255)); insert into t1 values (7,7, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"); insert into t1 values (8,8, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"); @@ -116,16 +29,173 @@ insert into t1 values (60,2,"hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh"); insert into t1 values (70,1,"iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii"); insert into t1 values (80,22,"jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj"); insert into t1 values (90,11,"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +** Get user level lock (ULL) for thread 1 select get_lock("hello",10); get_lock("hello",10) -0 +1 +** connection thread2 +** Start transaction for thread 2 begin; - update t1 set eta=1+get_lock("hello",10)*0 where tipo=1; +** Update will cause a table scan and a new ULL will +** be created and blocked on the first row where tipo=11. +update t1 set eta=1+get_lock("hello",10)*0 where tipo=11; +** connection thread1 +** Start new transaction for thread 1 begin; -update t1 set tipo=1 where tipo=2; +** Update on t1 will cause a table scan which will be blocked because +** the previously initiated table scan applied exclusive key locks on +** all primary keys. +** Not so if innodb_locks_unsafe_for_binlog is set. The locks that +** do not match the WHERE condition are released. +update t1 set eta=2 where tipo=22; +** Release user level name lock from thread 1. This will cause the ULL +** on thread 2 to end its wait. select release_lock("hello"); release_lock("hello") -0 +1 +** Table is now updated with a new eta on tipo=22 for thread 1. +select * from t1; +eta tipo c +7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +10 1 ccccccccccccccccccccccccccccccccccccccccccc +20 2 ddddddddddddddddddddddddddddddddddddddddddd +30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +40 2 fffffffffffffffffffffffffffffffffffffffffff +50 1 ggggggggggggggggggggggggggggggggggggggggggg +60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii +2 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj +90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +** connection thread2 +** Release the lock and collect result from update on thread 2 +select release_lock("hello"); +release_lock("hello") +1 +** Table should have eta updates where tipo=11 but updates made by +** thread 1 shouldn't be visible yet. +select * from t1; +eta tipo c +7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +10 1 ccccccccccccccccccccccccccccccccccccccccccc +20 2 ddddddddddddddddddddddddddddddddddddddddddd +30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +40 2 fffffffffffffffffffffffffffffffffffffffffff +50 1 ggggggggggggggggggggggggggggggggggggggggggg +60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii +80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj +1 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +** Sending commit on thread 2. +commit; +** connection thread1 +** Make sure table reads didn't change yet on thread 1. +select * from t1; +eta tipo c +7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +10 1 ccccccccccccccccccccccccccccccccccccccccccc +20 2 ddddddddddddddddddddddddddddddddddddddddddd +30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +40 2 fffffffffffffffffffffffffffffffffffffffffff +50 1 ggggggggggggggggggggggggggggggggggggggggggg +60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii +2 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj +90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +** And send final commit on thread 1. +commit; +** Table should now be updated by both updates in the order of +** thread 1,2. +select * from t1; +eta tipo c +7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +10 1 ccccccccccccccccccccccccccccccccccccccccccc +20 2 ddddddddddddddddddddddddddddddddddddddddddd +30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +40 2 fffffffffffffffffffffffffffffffffffffffffff +50 1 ggggggggggggggggggggggggggggggggggggggggggg +60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii +2 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj +1 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +** connection thread2 +** Make sure the output is similar for t1. +select * from t1; +eta tipo c +7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +10 1 ccccccccccccccccccccccccccccccccccccccccccc +20 2 ddddddddddddddddddddddddddddddddddddddddddd +30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +40 2 fffffffffffffffffffffffffffffffffffffffffff +50 1 ggggggggggggggggggggggggggggggggggggggggggg +60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii +2 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj +1 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +** connection thread1 +select * from t1; +eta tipo c +7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +10 1 ccccccccccccccccccccccccccccccccccccccccccc +20 2 ddddddddddddddddddddddddddddddddddddddddddd +30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +40 2 fffffffffffffffffffffffffffffffffffffffffff +50 1 ggggggggggggggggggggggggggggggggggggggggggg +60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii +2 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj +1 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +** connection default +drop table t1; + +** +** two UPDATE's running and one changing result set +** +** connection thread1 +** Set up table +SET SESSION STORAGE_ENGINE = InnoDB; +create table t1(eta int(11) not null, tipo int(11), c varchar(255)); +insert into t1 values (7,7, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"); +insert into t1 values (8,8, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"); +insert into t1 values (10,1,"ccccccccccccccccccccccccccccccccccccccccccc"); +insert into t1 values (20,2,"ddddddddddddddddddddddddddddddddddddddddddd"); +insert into t1 values (30,1,"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"); +insert into t1 values (40,2,"fffffffffffffffffffffffffffffffffffffffffff"); +insert into t1 values (50,1,"ggggggggggggggggggggggggggggggggggggggggggg"); +insert into t1 values (60,2,"hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh"); +insert into t1 values (70,1,"iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii"); +insert into t1 values (80,22,"jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj"); +insert into t1 values (90,11,"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +** Get ULL "hello" on thread 1 +select get_lock("hello",10); +get_lock("hello",10) +1 +** connection thread2 +** Start transaction on thread 2 +begin; +** Update will cause a table scan. +** This will cause a hang on the first row where tipo=1 until the +** blocking ULL is released. +update t1 set eta=1+get_lock("hello",10)*0 where tipo=1; +** connection thread1 +** Start transaction on thread 1 +begin; +** Update on t1 will cause a table scan which will be blocked because +** the previously initiated table scan applied exclusive key locks on +** all primary keys. +** Not so if innodb_locks_unsafe_for_binlog is set. The locks that +** do not match the WHERE condition are released. +update t1 set tipo=1 where tipo=2; +** Release ULL. This will release the next waiting ULL on thread 2. +select release_lock("hello"); +release_lock("hello") +1 +** The table should still be updated with updates for thread 1 only: select * from t1; eta tipo c 7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -139,6 +209,13 @@ eta tipo c 70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii 80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj 90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +** connection thread2 +** Release the lock and collect result from thread 2: +select release_lock("hello"); +release_lock("hello") +1 +** Seen from thread 2 the table should have been updated on four +** places. select * from t1; eta tipo c 7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -152,7 +229,10 @@ eta tipo c 1 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii 80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj 90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk - commit; +commit; +** connection thread1 +** Thread 2 has committed but the result should remain the same for +** thread 1 (updated on three places): select * from t1; eta tipo c 7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -167,19 +247,9 @@ eta tipo c 80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj 90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk commit; -select * from t1; -eta tipo c -7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb -10 1 ccccccccccccccccccccccccccccccccccccccccccc -20 1 ddddddddddddddddddddddddddddddddddddddddddd -30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee -40 1 fffffffffffffffffffffffffffffffffffffffffff -50 1 ggggggggggggggggggggggggggggggggggggggggggg -60 1 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh -70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii -80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj -90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +** After a commit the table should be merged with the previous +** commit. +** This select should show both updates: select * from t1; eta tipo c 7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -193,6 +263,7 @@ eta tipo c 1 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii 80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj 90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +** connection thread2 select * from t1; eta tipo c 7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -206,19 +277,50 @@ eta tipo c 1 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii 80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj 90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +** connection thread1 +select * from t1; +eta tipo c +7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +1 1 ccccccccccccccccccccccccccccccccccccccccccc +20 1 ddddddddddddddddddddddddddddddddddddddddddd +1 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +40 1 fffffffffffffffffffffffffffffffffffffffffff +1 1 ggggggggggggggggggggggggggggggggggggggggggg +60 1 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +1 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii +80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj +90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +** connection default drop table t1; + +** +** One UPDATE and one INSERT .... Monty's test +** +** connection thread1 +** Set up table +SET SESSION STORAGE_ENGINE = InnoDB; create table t1 (a int not null, b int not null); insert into t1 values (1,1),(2,1),(3,1),(4,1); -select get_lock("hello2",1000); -get_lock("hello2",1000) +** Create ULL 'hello2' +select get_lock("hello2",10); +get_lock("hello2",10) 1 +** connection thread2 +** Begin a new transaction on thread 2 begin; - update t1 set b=10+get_lock(concat("hello",a),1000)*0 where -a=2; +** Update will create a table scan which creates a ULL where a=2; +** this will hang waiting on thread 1. +update t1 set b=10+get_lock(concat("hello",a),10)*0 where a=2; +** connection thread1 +** Insert new values to t1 from thread 1; this created an implicit +** commit since there are no on-going transactions. insert into t1 values (1,1); +** Release the ULL (thread 2 updates will finish). select release_lock("hello2"); release_lock("hello2") 1 +** ..but thread 1 will still see t1 as if nothing has happend: select * from t1; a b 1 1 @@ -226,6 +328,13 @@ a b 3 1 4 1 1 1 +** connection thread2 +** Collect results from thread 2 and release the lock. +select release_lock("hello2"); +release_lock("hello2") +1 +** The table should look like the original+updates for thread 2, +** and consist of new rows: select * from t1; a b 1 1 @@ -233,90 +342,17 @@ a b 3 1 4 1 1 1 - commit; -drop table t1; -create table t1(eta int(11) not null, tipo int(11), c varchar(255)); -insert into t1 values (7,7, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"); -insert into t1 values (8,8, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"); -insert into t1 values (10,1,"ccccccccccccccccccccccccccccccccccccccccccc"); -insert into t1 values (20,2,"ddddddddddddddddddddddddddddddddddddddddddd"); -insert into t1 values (30,1,"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"); -insert into t1 values (40,2,"fffffffffffffffffffffffffffffffffffffffffff"); -insert into t1 values (50,1,"ggggggggggggggggggggggggggggggggggggggggggg"); -insert into t1 values (60,2,"hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh"); -insert into t1 values (70,1,"iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii"); -insert into t1 values (80,22,"jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj"); -insert into t1 values (90,11,"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); -select get_lock("hello",10); -get_lock("hello",10) -1 -begin; - select * from t1 where tipo=2 FOR UPDATE; -begin; -select release_lock("hello"); -release_lock("hello") -1 -update t1 set tipo=1+get_lock("hello",10)*0 where tipo=2; -ERROR HY000: Lock wait timeout exceeded; try restarting transaction -select * from t1; -eta tipo c -7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb -10 1 ccccccccccccccccccccccccccccccccccccccccccc -20 2 ddddddddddddddddddddddddddddddddddddddddddd -30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee -40 2 fffffffffffffffffffffffffffffffffffffffffff -50 1 ggggggggggggggggggggggggggggggggggggggggggg -60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh -70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii -80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj -90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk -eta tipo c -20 2 ddddddddddddddddddddddddddddddddddddddddddd -40 2 fffffffffffffffffffffffffffffffffffffffffff -60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh -select * from t1; -eta tipo c -7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb -10 1 ccccccccccccccccccccccccccccccccccccccccccc -20 2 ddddddddddddddddddddddddddddddddddddddddddd -30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee -40 2 fffffffffffffffffffffffffffffffffffffffffff -50 1 ggggggggggggggggggggggggggggggggggggggggggg -60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh -70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii -80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj -90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk - commit; +** Commit changes from thread 2 commit; -select * from t1; -eta tipo c -7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb -10 1 ccccccccccccccccccccccccccccccccccccccccccc -20 2 ddddddddddddddddddddddddddddddddddddddddddd -30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee -40 2 fffffffffffffffffffffffffffffffffffffffffff -50 1 ggggggggggggggggggggggggggggggggggggggggggg -60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh -70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii -80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj -90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk -select * from t1; -eta tipo c -7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb -10 1 ccccccccccccccccccccccccccccccccccccccccccc -20 2 ddddddddddddddddddddddddddddddddddddddddddd -30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee -40 2 fffffffffffffffffffffffffffffffffffffffffff -50 1 ggggggggggggggggggggggggggggggggggggggggggg -60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh -70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii -80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj -90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +** connection default drop table t1; + +** +** one UPDATE changing result set and SELECT ... FOR UPDATE +** +** connection thread1 +** Set up table +SET SESSION STORAGE_ENGINE = InnoDB; create table t1(eta int(11) not null, tipo int(11), c varchar(255)); insert into t1 values (7,7, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"); insert into t1 values (8,8, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"); @@ -329,17 +365,24 @@ insert into t1 values (60,2,"hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh"); insert into t1 values (70,1,"iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii"); insert into t1 values (80,22,"jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj"); insert into t1 values (90,11,"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); -select get_lock("hello",10); -get_lock("hello",10) -1 +** connection thread2 +** Begin a new transaction on thread 2 begin; - select * from t1 where tipo=2 FOR UPDATE; +** Select a range for update. +select * from t1 where tipo=2 FOR UPDATE; +eta tipo c +20 2 ddddddddddddddddddddddddddddddddddddddddddd +40 2 fffffffffffffffffffffffffffffffffffffffffff +60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +** connection thread1 +** Begin a new transaction on thread 1 begin; -select release_lock("hello"); -release_lock("hello") -1 -update t1 set tipo=11+get_lock("hello",10)*0 where tipo=22; +** Update the same range which is marked for update on thread 2; this +** will hang because of row locks. +update t1 set tipo=1 where tipo=2; ERROR HY000: Lock wait timeout exceeded; try restarting transaction +** After the update the table will be unmodified because the previous +** transaction failed and was rolled back. select * from t1; eta tipo c 7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -353,10 +396,8 @@ eta tipo c 70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii 80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj 90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk -eta tipo c -20 2 ddddddddddddddddddddddddddddddddddddddddddd -40 2 fffffffffffffffffffffffffffffffffffffffffff -60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +** connection thread2 +** The table should look unmodified from thread 2. select * from t1; eta tipo c 7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -370,8 +411,14 @@ eta tipo c 70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii 80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj 90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk - commit; +** Sending a commit should release the row locks and enable +** thread 1 to complete the transaction. commit; +** connection thread1 +** Commit on thread 1. +commit; +** connection thread2 +** The table should not have been changed. select * from t1; eta tipo c 7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -385,6 +432,8 @@ eta tipo c 70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii 80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj 90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +** connection thread1 +** Even on thread 1: select * from t1; eta tipo c 7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -398,7 +447,15 @@ eta tipo c 70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii 80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj 90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +** connection default drop table t1; + +** +** one UPDATE not changing result set and SELECT ... FOR UPDATE +** +** connection thread1 +** Set up table +SET SESSION STORAGE_ENGINE = InnoDB; create table t1(eta int(11) not null, tipo int(11), c varchar(255)); insert into t1 values (7,7, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"); insert into t1 values (8,8, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"); @@ -411,21 +468,127 @@ insert into t1 values (60,2,"hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh"); insert into t1 values (70,1,"iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii"); insert into t1 values (80,22,"jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj"); insert into t1 values (90,11,"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); -select get_lock("hello",10); -get_lock("hello",10) -1 +** connection thread2 +** Starting new transaction on thread 2. begin; - select * from t1 where tipo=2 FOR UPDATE; +** Starting SELECT .. FOR UPDATE +select * from t1 where tipo=2 FOR UPDATE; +eta tipo c +20 2 ddddddddddddddddddddddddddddddddddddddddddd +40 2 fffffffffffffffffffffffffffffffffffffffffff +60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +** connection thread1 + +** Starting new transaction on thread 1 begin; -select release_lock("hello"); -release_lock("hello") -1 +** Updating single row using a table scan. This will time out +** because of ongoing transaction on thread 1 holding lock on +** all primary keys in the scan. +** Not so if innodb_locks_unsafe_for_binlog is set. The locks that +** do not match the WHERE condition are released. +update t1 set tipo=11 where tipo=22; +** After the time out the transaction is aborted; no rows should +** have changed. +select * from t1; +eta tipo c +7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +10 1 ccccccccccccccccccccccccccccccccccccccccccc +20 2 ddddddddddddddddddddddddddddddddddddddddddd +30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +40 2 fffffffffffffffffffffffffffffffffffffffffff +50 1 ggggggggggggggggggggggggggggggggggggggggggg +60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii +80 11 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj +90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +** connection thread2 +** The same thing should hold true for the transaction on +** thread 2 +select * from t1; +eta tipo c +7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +10 1 ccccccccccccccccccccccccccccccccccccccccccc +20 2 ddddddddddddddddddddddddddddddddddddddddddd +30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +40 2 fffffffffffffffffffffffffffffffffffffffffff +50 1 ggggggggggggggggggggggggggggggggggggggggggg +60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii +80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj +90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +commit; +** connection thread1 +commit; +** connection thread2 +** Even after committing: +select * from t1; +eta tipo c +7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +10 1 ccccccccccccccccccccccccccccccccccccccccccc +20 2 ddddddddddddddddddddddddddddddddddddddddddd +30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +40 2 fffffffffffffffffffffffffffffffffffffffffff +50 1 ggggggggggggggggggggggggggggggggggggggggggg +60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii +80 11 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj +90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +** connection thread1 +select * from t1; +eta tipo c +7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +8 8 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +10 1 ccccccccccccccccccccccccccccccccccccccccccc +20 2 ddddddddddddddddddddddddddddddddddddddddddd +30 1 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +40 2 fffffffffffffffffffffffffffffffffffffffffff +50 1 ggggggggggggggggggggggggggggggggggggggggggg +60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii +80 11 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj +90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +** connection default +drop table t1; + +** +** two SELECT ... FOR UPDATE +** +** connection thread1 +** Set up table +SET SESSION STORAGE_ENGINE = InnoDB; +create table t1(eta int(11) not null, tipo int(11), c varchar(255)); +insert into t1 values (7,7, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"); +insert into t1 values (8,8, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"); +insert into t1 values (10,1,"ccccccccccccccccccccccccccccccccccccccccccc"); +insert into t1 values (20,2,"ddddddddddddddddddddddddddddddddddddddddddd"); +insert into t1 values (30,1,"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"); +insert into t1 values (40,2,"fffffffffffffffffffffffffffffffffffffffffff"); +insert into t1 values (50,1,"ggggggggggggggggggggggggggggggggggggggggggg"); +insert into t1 values (60,2,"hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh"); +insert into t1 values (70,1,"iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii"); +insert into t1 values (80,22,"jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj"); +insert into t1 values (90,11,"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); +** connection thread2 +** Begin a new transaction on thread 2 +begin; +select * from t1 where tipo=2 FOR UPDATE; +eta tipo c +20 2 ddddddddddddddddddddddddddddddddddddddddddd +40 2 fffffffffffffffffffffffffffffffffffffffffff +60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +** connection thread1 +** Begin a new transaction on thread 1 +begin; +** Selecting a range for update by table scan will be blocked +** because of on-going transaction on thread 2. select * from t1 where tipo=1 FOR UPDATE; ERROR HY000: Lock wait timeout exceeded; try restarting transaction -eta tipo c -20 2 ddddddddddddddddddddddddddddddddddddddddddd -40 2 fffffffffffffffffffffffffffffffffffffffffff -60 2 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh +** connection thread2 +** Table will be unchanged and the select command will not be +** blocked: select * from t1; eta tipo c 7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -439,8 +602,13 @@ eta tipo c 70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii 80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj 90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk - commit; +** Commit transacton on thread 2. commit; +** connection thread1 +** Commit transaction on thread 1. +commit; +** connection thread2 +** Make sure table isn't blocked on thread 2: select * from t1; eta tipo c 7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -454,6 +622,8 @@ eta tipo c 70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii 80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj 90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +** connection thread1 +** Make sure table isn't blocked on thread 1: select * from t1; eta tipo c 7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -467,7 +637,15 @@ eta tipo c 70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii 80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj 90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +** connection default drop table t1; + +** +** one UPDATE changing result set and DELETE +** +** connection thread1 +** Set up table +SET SESSION STORAGE_ENGINE = InnoDB; create table t1(eta int(11) not null, tipo int(11), c varchar(255)); insert into t1 values (7,7, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"); insert into t1 values (8,8, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"); @@ -480,16 +658,12 @@ insert into t1 values (60,2,"hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh"); insert into t1 values (70,1,"iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii"); insert into t1 values (80,22,"jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj"); insert into t1 values (90,11,"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); -select get_lock("hello",10); -get_lock("hello",10) -1 +** connection thread2 begin; - delete from t1 where tipo=2; +delete from t1 where tipo=2; +** connection thread1 begin; -select release_lock("hello"); -release_lock("hello") -1 -update t1 set tipo=1+get_lock("hello",10)*0 where tipo=2; +update t1 set tipo=1 where tipo=2; ERROR HY000: Lock wait timeout exceeded; try restarting transaction select * from t1; eta tipo c @@ -504,6 +678,7 @@ eta tipo c 70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii 80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj 90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +** connection thread2 select * from t1; eta tipo c 7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -514,8 +689,10 @@ eta tipo c 70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii 80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj 90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk - commit; commit; +** connection thread1 +commit; +** connection thread2 select * from t1; eta tipo c 7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -526,6 +703,7 @@ eta tipo c 70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii 80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj 90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +** connection thread1 select * from t1; eta tipo c 7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -536,7 +714,15 @@ eta tipo c 70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii 80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj 90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +** connection default drop table t1; + +** +** one UPDATE not changing result set and DELETE +** +** connection thread1 +** Set up table +SET SESSION STORAGE_ENGINE = InnoDB; create table t1(eta int(11) not null, tipo int(11), c varchar(255)); insert into t1 values (7,7, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"); insert into t1 values (8,8, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"); @@ -549,16 +735,17 @@ insert into t1 values (60,2,"hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh"); insert into t1 values (70,1,"iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii"); insert into t1 values (80,22,"jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj"); insert into t1 values (90,11,"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"); -select get_lock("hello",10); -get_lock("hello",10) -1 +** connection thread2 begin; - delete from t1 where tipo=2; +delete from t1 where tipo=2; +** connection thread1 begin; -select release_lock("hello"); -release_lock("hello") -1 -update t1 set tipo=1+get_lock("hello",10)*0 where tipo=22; +** Update on t1 will cause a table scan which will be blocked because +** the previously initiated table scan applied exclusive key locks on +** all primary keys. +** Not so if innodb_locks_unsafe_for_binlog is set. The locks that +** do not match the WHERE condition are released. +update t1 set tipo=1 where tipo=22; select * from t1; eta tipo c 7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -572,6 +759,7 @@ eta tipo c 70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii 80 1 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj 90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +** connection thread2 select * from t1; eta tipo c 7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -582,8 +770,10 @@ eta tipo c 70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii 80 22 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj 90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk - commit; commit; +** connection thread1 +commit; +** connection thread2 select * from t1; eta tipo c 7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -594,6 +784,7 @@ eta tipo c 70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii 80 1 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj 90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +** connection thread1 select * from t1; eta tipo c 7 7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -604,4 +795,5 @@ eta tipo c 70 1 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii 80 1 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj 90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk +** connection default drop table t1; diff --git a/mysql-test/r/create.result b/mysql-test/r/create.result index 12bca922562..c7997369f4d 100644 --- a/mysql-test/r/create.result +++ b/mysql-test/r/create.result @@ -1559,6 +1559,19 @@ SHOW INDEX FROM t1; Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment t1 1 c1 1 c1 A NULL NULL NULL YES BTREE DROP TABLE t1; +create user mysqltest_1@'test@test'; +ERROR HY000: Malformed hostname (illegal symbol: '@') +CREATE TABLE t1 (a INTEGER AUTO_INCREMENT PRIMARY KEY, b INTEGER NOT NULL); +INSERT IGNORE INTO t1 (b) VALUES (5); +CREATE TABLE IF NOT EXISTS t2 (a INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY) +SELECT a FROM t1; +CREATE TABLE IF NOT EXISTS t2 (a INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY) +SELECT a FROM t1; +ERROR 23000: Duplicate entry '1' for key 'PRIMARY' +CREATE TABLE IF NOT EXISTS t2 (a INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY) +SELECT a FROM t1; +ERROR 23000: Duplicate entry '1' for key 'PRIMARY' +DROP TABLE t1, t2; End of 5.0 tests CREATE TABLE t1 (a int, b int); insert into t1 values (1,1),(1,2); diff --git a/mysql-test/r/csv.result b/mysql-test/r/csv.result index b91272f7e59..8bc6114dbc2 100644 --- a/mysql-test/r/csv.result +++ b/mysql-test/r/csv.result @@ -5388,4 +5388,10 @@ select * from t1; c1 That drop table t1; +create table t1 (a int not null) engine=csv; +lock tables t1 read; +select * from t1; +ERROR HY000: File './test/t1.CSV' not found (Errcode: 2) +unlock tables; +drop table t1; End of 5.1 tests diff --git a/mysql-test/r/ctype_cp932_binlog_stm.result b/mysql-test/r/ctype_cp932_binlog_stm.result index ff6957202d7..0cd2d395ebc 100644 --- a/mysql-test/r/ctype_cp932_binlog_stm.result +++ b/mysql-test/r/ctype_cp932_binlog_stm.result @@ -40,9 +40,9 @@ IN ind DECIMAL(10,2)) BEGIN INSERT INTO t4 VALUES (ins1, ins2, ind); END -master-bin.000001 784 Query 1 992 use `test`; INSERT INTO t4 VALUES ( NAME_CONST('ins1',_latin1 0x466F6F2773206120426172), NAME_CONST('ins2',_cp932 0xED40ED41ED42), NAME_CONST('ind',47.93)) -master-bin.000001 992 Query 1 1081 use `test`; DROP PROCEDURE bug18293 -master-bin.000001 1081 Query 1 1160 use `test`; DROP TABLE t4 +master-bin.000001 784 Query 1 1048 use `test`; INSERT INTO t4 VALUES ( NAME_CONST('ins1',_latin1 0x466F6F2773206120426172 COLLATE 'latin1_swedish_ci'), NAME_CONST('ins2',_cp932 0xED40ED41ED42 COLLATE 'cp932_japanese_ci'), NAME_CONST('ind',47.93)) +master-bin.000001 1048 Query 1 1137 use `test`; DROP PROCEDURE bug18293 +master-bin.000001 1137 Query 1 1216 use `test`; DROP TABLE t4 End of 5.0 tests SHOW BINLOG EVENTS FROM 364; ERROR HY000: Error when executing command SHOW BINLOG EVENTS: Wrong offset or I/O error diff --git a/mysql-test/r/ctype_ucs.result b/mysql-test/r/ctype_ucs.result index 20dd85834dd..ec2182a3304 100644 --- a/mysql-test/r/ctype_ucs.result +++ b/mysql-test/r/ctype_ucs.result @@ -1098,6 +1098,17 @@ ERROR HY000: Illegal mix of collations (ascii_general_ci,IMPLICIT) and (ucs2_gen select * from t1 where a=if(b<10,_ucs2 0x0062,_ucs2 0x00C0); ERROR HY000: Illegal mix of collations (ascii_general_ci,IMPLICIT) and (ucs2_general_ci,COERCIBLE) for operation '=' drop table t1; +CREATE TABLE t1 (s1 CHAR(5) CHARACTER SET UCS2); +INSERT INTO t1 VALUES ('a'); +SET @@sql_mode=pad_char_to_full_length; +SELECT HEX(s1) FROM t1; +HEX(s1) +00610020002000200020 +SET @@sql_mode=default; +SELECT HEX(s1) FROM t1; +HEX(s1) +0061 +DROP TABLE t1; set collation_connection=ucs2_general_ci; drop table if exists t1; create table t1 as diff --git a/mysql-test/r/default.result b/mysql-test/r/default.result index e65e015eff9..5b0d82407a2 100644 --- a/mysql-test/r/default.result +++ b/mysql-test/r/default.result @@ -205,4 +205,19 @@ Warnings: Warning 1364 Field 'id' doesn't have a default value drop view v1; drop table t1; +create table t1 (a int unique); +create table t2 (b int default 10); +insert into t1 (a) values (1); +insert into t2 (b) values (1); +insert into t1 (a) select b from t2 on duplicate key update a=default; +select * from t1; +a +NULL +insert into t1 (a) values (1); +insert into t1 (a) select b from t2 on duplicate key update a=default(b); +select * from t1; +a +NULL +10 +drop table t1, t2; End of 5.0 tests. diff --git a/mysql-test/r/distinct.result b/mysql-test/r/distinct.result index 1fbda27f5da..6a06a9661aa 100644 --- a/mysql-test/r/distinct.result +++ b/mysql-test/r/distinct.result @@ -608,6 +608,65 @@ id select_type table type possible_keys key key_len ref rows Extra SELECT DISTINCT a,a FROM t1 WHERE b < 12 ORDER BY a; a a DROP TABLE t1; +DROP TABLE IF EXISTS t1; +CREATE TABLE t1 (id INT NOT NULL, fruit_id INT NOT NULL, fruit_name varchar(20) +default NULL); +INSERT INTO t1 VALUES (1,1,'ORANGE'); +INSERT INTO t1 VALUES (2,2,'APPLE'); +INSERT INTO t1 VALUES (3,2,'APPLE'); +INSERT INTO t1 VALUES (4,3,'PEAR'); +SELECT DISTINCT fruit_id, fruit_name INTO @v1, @v2 FROM t1 WHERE fruit_name = +'APPLE'; +SELECT @v1, @v2; +@v1 @v2 +2 APPLE +SELECT DISTINCT fruit_id, fruit_name INTO @v3, @v4 FROM t1 GROUP BY fruit_id, +fruit_name HAVING fruit_name = 'APPLE'; +SELECT @v3, @v4; +@v3 @v4 +2 APPLE +SELECT DISTINCT @v5:= fruit_id, @v6:= fruit_name INTO @v7, @v8 FROM t1 WHERE +fruit_name = 'APPLE'; +SELECT @v5, @v6, @v7, @v8; +@v5 @v6 @v7 @v8 +3 PEAR 3 PEAR +SELECT DISTINCT @v5 + fruit_id, CONCAT(@v6, fruit_name) INTO @v9, @v10 FROM t1 +WHERE fruit_name = 'APPLE'; +SELECT @v5, @v6, @v7, @v8, @v9, @v10; +@v5 @v6 @v7 @v8 @v9 @v10 +3 PEAR 3 PEAR 5 PEARAPPLE +SELECT DISTINCT @v11:= @v5 + fruit_id, @v12:= CONCAT(@v6, fruit_name) INTO +@v13, @v14 FROM t1 WHERE fruit_name = 'APPLE'; +SELECT @v11, @v12, @v13, @v14; +@v11 @v12 @v13 @v14 +6 PEARPEAR 6 PEARPEAR +SELECT DISTINCT @v13, @v14 INTO @v15, @v16 FROM t1 WHERE fruit_name = 'APPLE'; +SELECT @v15, @v16; +@v15 @v16 +6 PEARPEAR +SELECT DISTINCT 2 + 2, 'Bob' INTO @v17, @v18 FROM t1 WHERE fruit_name = +'APPLE'; +SELECT @v17, @v18; +@v17 @v18 +4 Bob +DROP TABLE IF EXISTS t2; +CREATE TABLE t2 (fruit_id INT NOT NULL, fruit_name varchar(20) +default NULL); +SELECT DISTINCT fruit_id, fruit_name INTO OUTFILE +'../tmp/data1.tmp' FROM t1 WHERE fruit_name = 'APPLE'; +LOAD DATA INFILE '../tmp/data1.tmp' INTO TABLE t2; +SELECT DISTINCT @v19:= fruit_id, @v20:= fruit_name INTO OUTFILE +'../tmp/data2.tmp' FROM t1 WHERE fruit_name = 'APPLE'; +LOAD DATA INFILE '../tmp/data2.tmp' INTO TABLE t2; +SELECT @v19, @v20; +@v19 @v20 +2 APPLE +SELECT * FROM t2; +fruit_id fruit_name +2 APPLE +2 APPLE +DROP TABLE t1; +DROP TABLE t2; CREATE TABLE t1 (a CHAR(1)); INSERT INTO t1 VALUES('A'), (0); SELECT a FROM t1 WHERE a=0; diff --git a/mysql-test/r/events_2.result b/mysql-test/r/events_2.result index 64d643505c5..db503f7aa6d 100644 --- a/mysql-test/r/events_2.result +++ b/mysql-test/r/events_2.result @@ -328,4 +328,81 @@ create event очень_очень_очень_очень_очень_очень_очень_очень_длиннаÑ_Ñтрока_66 on schedule every 2 year do select 1; ERROR 42000: Identifier name 'очень_очень_очень_очень_очень_очень_очень_очень_длинна' is too long +create event event_35981 on schedule every 6 month on completion preserve +disable +do +select 1; +The following SELECTs should all give 1 +select count(*) from information_schema.events +where event_schema = database() and event_name = 'event_35981' and +on_completion = 'PRESERVE'; +count(*) +1 +alter event event_35981 enable; +select count(*) from information_schema.events +where event_schema = database() and event_name = 'event_35981' and +on_completion = 'PRESERVE'; +count(*) +1 +alter event event_35981 on completion not preserve; +select count(*) from information_schema.events +where event_schema = database() and event_name = 'event_35981' and +on_completion = 'NOT PRESERVE'; +count(*) +1 +alter event event_35981 disable; +select count(*) from information_schema.events +where event_schema = database() and event_name = 'event_35981' and +on_completion = 'NOT PRESERVE'; +count(*) +1 +alter event event_35981 on completion preserve; +select count(*) from information_schema.events +where event_schema = database() and event_name = 'event_35981' and +on_completion = 'PRESERVE'; +count(*) +1 +drop event event_35981; +create event event_35981 on schedule every 6 month disable +do +select 1; +select count(*) from information_schema.events +where event_schema = database() and event_name = 'event_35981' and +on_completion = 'NOT PRESERVE'; +count(*) +1 +drop event event_35981; +create event event_35981 on schedule every 1 hour starts current_timestamp +on completion not preserve +do +select 1; +alter event event_35981 on schedule every 1 hour starts '1999-01-01 00:00:00' + ends '1999-01-02 00:00:00'; +ERROR HY000: Event execution time is in the past and ON COMPLETION NOT PRESERVE is set. The event was dropped immediately after creation. +drop event event_35981; +create event event_35981 on schedule every 1 hour starts current_timestamp +on completion not preserve +do +select 1; +alter event event_35981 on schedule every 1 hour starts '1999-01-01 00:00:00' + ends '1999-01-02 00:00:00' on completion preserve; +Warnings: +Note 1544 Event execution time is in the past. Event has been disabled +drop event event_35981; +create event event_35981 on schedule every 1 hour starts current_timestamp +on completion preserve +do +select 1; +alter event event_35981 on schedule every 1 hour starts '1999-01-01 00:00:00' + ends '1999-01-02 00:00:00'; +Warnings: +Note 1544 Event execution time is in the past. Event has been disabled +alter event event_35981 on schedule every 1 hour starts '1999-01-01 00:00:00' + ends '1999-01-02 00:00:00' on completion not preserve; +ERROR HY000: Event execution time is in the past and ON COMPLETION NOT PRESERVE is set. The event was dropped immediately after creation. +alter event event_35981 on schedule every 1 hour starts '1999-01-01 00:00:00' + ends '1999-01-02 00:00:00' on completion preserve; +Warnings: +Note 1544 Event execution time is in the past. Event has been disabled +drop event event_35981; drop database events_test; diff --git a/mysql-test/r/federated.result b/mysql-test/r/federated.result index 68a267d8457..dbf7295270e 100644 --- a/mysql-test/r/federated.result +++ b/mysql-test/r/federated.result @@ -9,7 +9,9 @@ DROP DATABASE IF EXISTS federated; CREATE DATABASE federated; DROP DATABASE IF EXISTS federated; CREATE DATABASE federated; -SET @OLD_CONCURRENT_INSERT= @@GLOBAL.CONCURRENT_INSERT; +SET @OLD_MASTER_CONCURRENT_INSERT= @@GLOBAL.CONCURRENT_INSERT; +SET @@GLOBAL.CONCURRENT_INSERT= 0; +SET @OLD_SLAVE_CONCURRENT_INSERT= @@GLOBAL.CONCURRENT_INSERT; SET @@GLOBAL.CONCURRENT_INSERT= 0; DROP TABLE IF EXISTS federated.t1; Warnings: @@ -186,6 +188,7 @@ INSERT INTO federated.t1 (name, other) VALUES ('Tenth Name', 101010); SELECT * FROM federated.t1; id name other created 1 First Name 11111 2004-04-04 04:04:04 +10 Tenth Name 101010 2004-04-04 04:04:04 2 Second Name 22222 2004-04-04 04:04:04 3 Third Name 33333 2004-04-04 04:04:04 4 Fourth Name 44444 2004-04-04 04:04:04 @@ -194,7 +197,6 @@ id name other created 7 Seventh Name 77777 2004-04-04 04:04:04 8 Eigth Name 88888 2004-04-04 04:04:04 9 Ninth Name 99999 2004-04-04 04:04:04 -10 Tenth Name 101010 2004-04-04 04:04:04 SELECT * FROM federated.t1 WHERE id = 5; id name other created 5 Fifth Name 55555 2004-04-04 04:04:04 @@ -208,6 +210,7 @@ SELECT * FROM federated.t1 WHERE name = 'Sixth Name' AND other = 44444; id name other created SELECT * FROM federated.t1 WHERE name like '%th%'; id name other created +10 Tenth Name 101010 2004-04-04 04:04:04 3 Third Name 33333 2004-04-04 04:04:04 4 Fourth Name 44444 2004-04-04 04:04:04 5 Fifth Name 55555 2004-04-04 04:04:04 @@ -215,7 +218,6 @@ id name other created 7 Seventh Name 77777 2004-04-04 04:04:04 8 Eigth Name 88888 2004-04-04 04:04:04 9 Ninth Name 99999 2004-04-04 04:04:04 -10 Tenth Name 101010 2004-04-04 04:04:04 UPDATE federated.t1 SET name = '3rd name' WHERE id = 3; SELECT * FROM federated.t1 WHERE name = '3rd name'; id name other created @@ -336,6 +338,7 @@ VALUES ('Tenth Name', 101010, '2005-03-12 12:00:01'); SELECT * FROM federated.t1; id name other created 1 First Name 11111 2004-01-01 01:01:01 +10 Tenth Name 101010 2005-03-12 12:00:01 2 Second Name 22222 2004-01-23 02:43:00 3 Third Name 33333 2004-02-14 02:14:00 4 Fourth Name 44444 2003-04-05 00:00:00 @@ -344,7 +347,6 @@ id name other created 7 Seventh Name 77777 2003-12-12 18:32:00 8 Eigth Name 88888 2005-03-12 11:00:00 9 Ninth Name 99999 2005-03-12 11:00:01 -10 Tenth Name 101010 2005-03-12 12:00:01 SELECT * FROM federated.t1 WHERE id = 5; id name other created 5 Fifth Name 55555 2001-02-02 02:02:02 @@ -356,6 +358,7 @@ id name other created 4 Fourth Name 44444 2003-04-05 00:00:00 SELECT * FROM federated.t1 WHERE name like '%th%'; id name other created +10 Tenth Name 101010 2005-03-12 12:00:01 3 Third Name 33333 2004-02-14 02:14:00 4 Fourth Name 44444 2003-04-05 00:00:00 5 Fifth Name 55555 2001-02-02 02:02:02 @@ -363,7 +366,6 @@ id name other created 7 Seventh Name 77777 2003-12-12 18:32:00 8 Eigth Name 88888 2005-03-12 11:00:00 9 Ninth Name 99999 2005-03-12 11:00:01 -10 Tenth Name 101010 2005-03-12 12:00:01 UPDATE federated.t1 SET name = '3rd name' WHERE id = 3; SELECT * FROM federated.t1 WHERE name = '3rd name'; id name other created @@ -470,17 +472,17 @@ id name other 7 Seventh Name NULL SELECT * FROM federated.t1 WHERE name IS NULL; id name other -4 NULL NULL 10 NULL fee fie foe fum +4 NULL NULL SELECT * FROM federated.t1 WHERE name IS NULL and other IS NULL; id name other 4 NULL NULL SELECT * FROM federated.t1 WHERE name IS NULL or other IS NULL; id name other +10 NULL fee fie foe fum 2 Second Name NULL 4 NULL NULL 7 Seventh Name NULL -10 NULL fee fie foe fum UPDATE federated.t1 SET name = 'Fourth Name', other = 'four four four' WHERE name IS NULL AND other IS NULL; @@ -492,6 +494,7 @@ id name other SELECT * FROM federated.t1; id name other 1 First Name 11111 +10 Tenth Name fee fie foe fum 2 Second Name two two two two 3 Third Name 33333 4 Fourth Name four four four @@ -500,7 +503,6 @@ id name other 7 Seventh Name seven seven 8 Eigth Name 88888 9 Ninth Name 99999 -10 Tenth Name fee fie foe fum DROP TABLE IF EXISTS federated.t1; CREATE TABLE federated.t1 ( `id` int(20) NOT NULL auto_increment, @@ -681,8 +683,8 @@ id col1 col2 col3 col4 SELECT * FROM federated.t1 WHERE (id = 5 AND col2 = 'five 5 five five 5') OR (col2 = 'three Three' AND col3 = 33); id col1 col2 col3 col4 -5 5 five 5 five five 5 5 55555 3 3 three Three 33 33333 +5 5 five 5 five five 5 5 55555 SELECT * FROM federated.t1 WHERE (id = 5 AND col2 = 'Two two') OR (col2 = 444 AND col3 = 4444444); id col1 col2 col3 col4 @@ -693,25 +695,25 @@ OR col3 = 33 OR col4 = 4444444; id col1 col2 col3 col4 1 1 one One 11 1111 +10 10 Tenth ten TEN 1010101 1010 2 2 Two two 22 2222 3 3 three Three 33 33333 4 4 fourfourfour 444 4444444 -10 10 Tenth ten TEN 1010101 1010 SELECT * FROM federated.t1 WHERE id > 5; id col1 col2 col3 col4 +10 10 Tenth ten TEN 1010101 1010 6 6 six six Sixsix 6666 6 7 7 seven Sevenseven 77777 7777 8 8 eight eight eight 88888 88 9 9 nine Nine 999999 999999 -10 10 Tenth ten TEN 1010101 1010 SELECT * FROM federated.t1 WHERE id >= 5; id col1 col2 col3 col4 +10 10 Tenth ten TEN 1010101 1010 5 5 five 5 five five 5 5 55555 6 6 six six Sixsix 6666 6 7 7 seven Sevenseven 77777 7777 8 8 eight eight eight 88888 88 9 9 nine Nine 999999 999999 -10 10 Tenth ten TEN 1010101 1010 SELECT * FROM federated.t1 WHERE id < 5; id col1 col2 col3 col4 1 1 one One 11 1111 @@ -728,6 +730,7 @@ id col1 col2 col3 col4 SELECT * FROM federated.t1 WHERE id != 5; id col1 col2 col3 col4 1 1 one One 11 1111 +10 10 Tenth ten TEN 1010101 1010 2 2 Two two 22 2222 3 3 three Three 33 33333 4 4 fourfourfour 444 4444444 @@ -735,7 +738,6 @@ id col1 col2 col3 col4 7 7 seven Sevenseven 77777 7777 8 8 eight eight eight 88888 88 9 9 nine Nine 999999 999999 -10 10 Tenth ten TEN 1010101 1010 SELECT * FROM federated.t1 WHERE id > 3 AND id < 7; id col1 col2 col3 col4 4 4 fourfourfour 444 4444444 @@ -763,25 +765,25 @@ id col1 col2 col3 col4 SELECT * FROM federated.t1 WHERE id < 3 OR id > 7; id col1 col2 col3 col4 1 1 one One 11 1111 +10 10 Tenth ten TEN 1010101 1010 2 2 Two two 22 2222 8 8 eight eight eight 88888 88 9 9 nine Nine 999999 999999 -10 10 Tenth ten TEN 1010101 1010 SELECT * FROM federated.t1 WHERE col2 = 'three Three'; id col1 col2 col3 col4 3 3 three Three 33 33333 SELECT * FROM federated.t1 WHERE col2 > 'one'; id col1 col2 col3 col4 1 1 one One 11 1111 +10 10 Tenth ten TEN 1010101 1010 2 2 Two two 22 2222 3 3 three Three 33 33333 6 6 six six Sixsix 6666 6 7 7 seven Sevenseven 77777 7777 -10 10 Tenth ten TEN 1010101 1010 SELECT * FROM federated.t1 WHERE col2 LIKE 's%'; id col1 col2 col3 col4 -7 7 seven Sevenseven 77777 7777 6 6 six six Sixsix 6666 6 +7 7 seven Sevenseven 77777 7777 SELECT * FROM federated.t1 WHERE col2 LIKE 'si%'; id col1 col2 col3 col4 6 6 six six Sixsix 6666 6 @@ -791,6 +793,7 @@ id col1 col2 col3 col4 SELECT * FROM federated.t1 WHERE col2 NOT LIKE 'e%'; id col1 col2 col3 col4 1 1 one One 11 1111 +10 10 Tenth ten TEN 1010101 1010 2 2 Two two 22 2222 3 3 three Three 33 33333 4 4 fourfourfour 444 4444444 @@ -798,18 +801,17 @@ id col1 col2 col3 col4 6 6 six six Sixsix 6666 6 7 7 seven Sevenseven 77777 7777 9 9 nine Nine 999999 999999 -10 10 Tenth ten TEN 1010101 1010 SELECT * FROM federated.t1 WHERE col2 <> 'one One'; id col1 col2 col3 col4 -4 4 fourfourfour 444 4444444 -5 5 five 5 five five 5 5 55555 -8 8 eight eight eight 88888 88 -9 9 nine Nine 999999 999999 +10 10 Tenth ten TEN 1010101 1010 2 2 Two two 22 2222 3 3 three Three 33 33333 +4 4 fourfourfour 444 4444444 +5 5 five 5 five five 5 5 55555 6 6 six six Sixsix 6666 6 7 7 seven Sevenseven 77777 7777 -10 10 Tenth ten TEN 1010101 1010 +8 8 eight eight eight 88888 88 +9 9 nine Nine 999999 999999 DROP TABLE IF EXISTS federated.t1; CREATE TABLE federated.t1 ( `col1` varchar(8) NOT NULL DEFAULT '', @@ -976,11 +978,11 @@ INSERT INTO federated.t1 (name, floatval, other) VALUES (0, 00.3333, NULL); SELECT * FROM federated.t1; id name floatval other -NULL NULL NULL NULL -NULL NULL NULL NULL 1 NULL NULL NULL -NULL foo 33.3333 NULL NULL 0 0.3333 NULL +NULL NULL NULL NULL +NULL NULL NULL NULL +NULL foo 33.3333 NULL SELECT count(*) FROM federated.t1 WHERE id IS NULL AND name IS NULL @@ -1009,13 +1011,13 @@ Warning 1101 BLOB/TEXT column 'blurb' can't have a default value INSERT INTO federated.t1 VALUES (1, " MySQL supports a number of column types in several categories: numeric types, date and time types, and string (character) types. This chapter first gives an overview of these column types, and then provides a more detailed description of the properties of the types in each category, and a summary of the column type storage requirements. The overview is intentionally brief. The more detailed descriptions should be consulted for additional information about particular column types, such as the allowable formats in which you can specify values."); INSERT INTO federated.t1 VALUES (2, "All arithmetic is done using signed BIGINT or DOUBLE values, so you should not use unsigned big integers larger than 9223372036854775807 (63 bits) except with bit functions! If you do that, some of the last digits in the result may be wrong because of rounding errors when converting a BIGINT value to a DOUBLE."); INSERT INTO federated.t1 VALUES (3, " A floating-point number. p represents the precision. It can be from 0 to 24 for a single-precision floating-point number and from 25 to 53 for a double-precision floating-point number. These types are like the FLOAT and DOUBLE types described immediately following. FLOAT(p) has the same range as the corresponding FLOAT and DOUBLE types, but the display size and number of decimals are undefined. "); -INSERT INTO federated.t1 VALUES(4, "Die Übersetzung einer so umfangreichen technischen Dokumentation wie des MySQL-Referenzhandbuchs ist schon eine besondere Herausforderung. Zumindest für jemanden, der seine Zielsprache ernst nimmt:"); +INSERT INTO federated.t1 VALUES(4, "Die �bersetzung einer so umfangreichen technischen Dokumentation wie des MySQL-Referenzhandbuchs ist schon eine besondere Herausforderung. Zumindest f�r jemanden, der seine Zielsprache ernst nimmt:"); SELECT * FROM federated.t1; blurb_id blurb 1 MySQL supports a number of column types in several categories: numeric types, date and time types, and string (character) types. This chapter first gives an overview of these column types, and then provides a more detailed description of the properties of the types in each category, and a summary of the column type storage requirements. The overview is intentionally brief. The more detailed descriptions should be consulted for additional information about particular column types, such as the allowable formats in which you can specify values. 2 All arithmetic is done using signed BIGINT or DOUBLE values, so you should not use unsigned big integers larger than 9223372036854775807 (63 bits) except with bit functions! If you do that, some of the last digits in the result may be wrong because of rounding errors when converting a BIGINT value to a DOUBLE. 3 A floating-point number. p represents the precision. It can be from 0 to 24 for a single-precision floating-point number and from 25 to 53 for a double-precision floating-point number. These types are like the FLOAT and DOUBLE types described immediately following. FLOAT(p) has the same range as the corresponding FLOAT and DOUBLE types, but the display size and number of decimals are undefined. -4 Die Übersetzung einer so umfangreichen technischen Dokumentation wie des MySQL-Referenzhandbuchs ist schon eine besondere Herausforderung. Zumindest für jemanden, der seine Zielsprache ernst nimmt: +4 Die �bersetzung einer so umfangreichen technischen Dokumentation wie des MySQL-Referenzhandbuchs ist schon eine besondere Herausforderung. Zumindest f�r jemanden, der seine Zielsprache ernst nimmt: DROP TABLE IF EXISTS federated.t1; CREATE TABLE federated.t1 ( `a` int NOT NULL, @@ -2118,11 +2120,23 @@ DROP TABLE t1; DROP TABLE t1; CREATE TABLE t1 (a INT) ENGINE=federated CONNECTION='mysql://@:://'; DROP TABLE t1; +CREATE TABLE t1 (a LONGBLOB, b LONGBLOB); +INSERT INTO t1 VALUES ('aaaaaaaaaaaaaaaaaaaaaaaaaaaa', NULL); +CREATE TABLE t1 +(a LONGBLOB, b LONGBLOB) ENGINE=FEDERATED +CONNECTION='mysql://root@127.0.0.1:SLAVE_PORT/test/t1'; +CHECKSUM TABLE t1; +Table Checksum +test.t1 2465757603 +DROP TABLE t1; +DROP TABLE t1; +End of 5.0 tests create server 's1' foreign data wrapper 'mysql' options (port 3306); drop server 's1'; End of 5.1 tests +SET @@GLOBAL.CONCURRENT_INSERT= @OLD_MASTER_CONCURRENT_INSERT; +SET @@GLOBAL.CONCURRENT_INSERT= @OLD_SLAVE_CONCURRENT_INSERT; DROP TABLE IF EXISTS federated.t1; DROP DATABASE IF EXISTS federated; DROP TABLE IF EXISTS federated.t1; DROP DATABASE IF EXISTS federated; -SET @@GLOBAL.CONCURRENT_INSERT= @OLD_CONCURRENT_INSERT; diff --git a/mysql-test/r/federated_bug_25714.result b/mysql-test/r/federated_bug_25714.result index cad487ec791..5730eedc246 100644 --- a/mysql-test/r/federated_bug_25714.result +++ b/mysql-test/r/federated_bug_25714.result @@ -9,7 +9,9 @@ DROP DATABASE IF EXISTS federated; CREATE DATABASE federated; DROP DATABASE IF EXISTS federated; CREATE DATABASE federated; -SET @OLD_CONCURRENT_INSERT= @@GLOBAL.CONCURRENT_INSERT; +SET @OLD_MASTER_CONCURRENT_INSERT= @@GLOBAL.CONCURRENT_INSERT; +SET @@GLOBAL.CONCURRENT_INSERT= 0; +SET @OLD_SLAVE_CONCURRENT_INSERT= @@GLOBAL.CONCURRENT_INSERT; SET @@GLOBAL.CONCURRENT_INSERT= 0; DROP TABLE IF EXISTS federated.bug_13118_table; CREATE TABLE federated.t1 ( @@ -51,9 +53,10 @@ id value 7 54 8 55 DROP TABLE federated.t1; +SET @@GLOBAL.CONCURRENT_INSERT= @OLD_MASTER_CONCURRENT_INSERT; DROP TABLE federated.t1; +SET @@GLOBAL.CONCURRENT_INSERT= @OLD_SLAVE_CONCURRENT_INSERT; DROP TABLE IF EXISTS federated.t1; DROP DATABASE IF EXISTS federated; DROP TABLE IF EXISTS federated.t1; DROP DATABASE IF EXISTS federated; -SET @@GLOBAL.CONCURRENT_INSERT= @OLD_CONCURRENT_INSERT; diff --git a/mysql-test/r/func_group.result b/mysql-test/r/func_group.result index c198176532f..fd9cf69907c 100644 --- a/mysql-test/r/func_group.result +++ b/mysql-test/r/func_group.result @@ -1416,4 +1416,41 @@ SELECT AVG(a), CAST(AVG(a) AS DECIMAL) FROM t1; AVG(a) CAST(AVG(a) AS DECIMAL) 15 15 DROP TABLE t1; +CREATE TABLE derived1 (a bigint(21)); +INSERT INTO derived1 VALUES (2); +CREATE TABLE D ( +pk int(11) NOT NULL AUTO_INCREMENT, +int_nokey int(11) DEFAULT NULL, +int_key int(11) DEFAULT NULL, +filler blob, +PRIMARY KEY (pk), +KEY int_key (int_key) +); +INSERT INTO D VALUES +(39,40,4,repeat(' X', 42)), +(43,56,4,repeat(' X', 42)), +(47,12,4,repeat(' X', 42)), +(71,28,4,repeat(' X', 42)), +(76,54,4,repeat(' X', 42)), +(83,45,4,repeat(' X', 42)), +(105,53,12,NULL); +SELECT +(SELECT COUNT( int_nokey ) +FROM derived1 AS X +WHERE +X.int_nokey < 61 +GROUP BY pk +LIMIT 1) +FROM D AS X +WHERE X.int_key < 13 +GROUP BY int_nokey LIMIT 1; +(SELECT COUNT( int_nokey ) +FROM derived1 AS X +WHERE +X.int_nokey < 61 +GROUP BY pk +LIMIT 1) +1 +DROP TABLE derived1; +DROP TABLE D; End of 5.0 tests diff --git a/mysql-test/r/func_if.result b/mysql-test/r/func_if.result index 42a2aa840ea..62d34c5ce8f 100644 --- a/mysql-test/r/func_if.result +++ b/mysql-test/r/func_if.result @@ -131,3 +131,49 @@ drop table t1; select if(0, 18446744073709551610, 18446744073709551610); if(0, 18446744073709551610, 18446744073709551610) 18446744073709551610 +CREATE TABLE t1(a DECIMAL(10,3)); +SELECT t1.a, +IF((ROUND(t1.a,2)=1), 2, +IF((ROUND(t1.a,2)=1), 2, +IF((ROUND(t1.a,2)=1), 2, +IF((ROUND(t1.a,2)=1), 2, +IF((ROUND(t1.a,2)=1), 2, +IF((ROUND(t1.a,2)=1), 2, +IF((ROUND(t1.a,2)=1), 2, +IF((ROUND(t1.a,2)=1), 2, +IF((ROUND(t1.a,2)=1), 2, +IF((ROUND(t1.a,2)=1), 2, +IF((ROUND(t1.a,2)=1), 2, +IF((ROUND(t1.a,2)=1), 2, +IF((ROUND(t1.a,2)=1), 2, +IF((ROUND(t1.a,2)=1), 2, +IF((ROUND(t1.a,2)=1), 2, +IF((ROUND(t1.a,2)=1), 2, +IF((ROUND(t1.a,2)=1), 2, +IF((ROUND(t1.a,2)=1), 2, +IF((ROUND(t1.a,2)=1), 2, +IF((ROUND(t1.a,2)=1), 2, +IF((ROUND(t1.a,2)=1), 2, +IF((ROUND(t1.a,2)=1), 2, +IF((ROUND(t1.a,2)=1), 2, +IF((ROUND(t1.a,2)=1), 2, +IF((ROUND(t1.a,2)=1), 2, +IF((ROUND(t1.a,2)=1), 2, +IF((ROUND(t1.a,2)=1), 2, +IF((ROUND(t1.a,2)=1), 2, +IF((ROUND(t1.a,2)=1), 2, +IF((ROUND(t1.a,2)=1), 2,0)))))))))))))))))))))))))))))) + 1 +FROM t1; +a IF((ROUND(t1.a,2)=1), 2, +IF((ROUND(t1.a,2)=1), 2, +IF((ROUND(t1.a,2)=1), 2, +IF((ROUND(t1.a,2)=1), 2, +IF((ROUND(t1.a,2)=1), 2, +IF((ROUND(t1.a,2)=1), 2, +IF((ROUND(t1.a,2)=1), 2, +IF((ROUND(t1.a,2)=1), 2, +IF((ROUND(t1.a,2)=1), 2, +IF((ROUND(t1.a,2)=1), 2, +IF((R +DROP TABLE t1; +End of 5.0 tests diff --git a/mysql-test/r/func_in.result b/mysql-test/r/func_in.result index 6e1f9bd8188..e761fb851fb 100644 --- a/mysql-test/r/func_in.result +++ b/mysql-test/r/func_in.result @@ -569,4 +569,10 @@ insert into t1 values (),(),(),(),(),(),(),(),(),(); select a from t1 where a not in (a,a,a) group by a; a drop table t1; +create table t1 (id int); +select * from t1 where NOT id in (select null union all select 1); +id +select * from t1 where NOT id in (null, 1); +id +drop table t1; End of 5.1 tests diff --git a/mysql-test/r/func_misc.result b/mysql-test/r/func_misc.result index c35c2eaccd7..a3df23138e8 100644 --- a/mysql-test/r/func_misc.result +++ b/mysql-test/r/func_misc.result @@ -310,6 +310,20 @@ drop table t1; SELECT NAME_CONST('var', 'value') COLLATE latin1_general_cs; NAME_CONST('var', 'value') COLLATE latin1_general_cs value +select @@session.time_zone into @save_tz; +set @@session.time_zone='UTC'; +select uuid() into @my_uuid; +select mid(@my_uuid,15,1); +mid(@my_uuid,15,1) +1 +select 24 * 60 * 60 * 1000 * 1000 * 10 into @my_uuid_one_day; +select concat('0',mid(@my_uuid,16,3),mid(@my_uuid,10,4),left(@my_uuid,8)) into @my_uuidate; +select floor(conv(@my_uuidate,16,10)/@my_uuid_one_day) into @my_uuid_date; +select 141427 + datediff(curdate(),'1970-01-01') into @my_uuid_synthetic; +select @my_uuid_date - @my_uuid_synthetic; +@my_uuid_date - @my_uuid_synthetic +0 +set @@session.time_zone=@save_tz; End of 5.0 tests select connection_id() > 0; connection_id() > 0 diff --git a/mysql-test/r/func_regexp.result b/mysql-test/r/func_regexp.result index 794ae79973a..54aad23402f 100644 --- a/mysql-test/r/func_regexp.result +++ b/mysql-test/r/func_regexp.result @@ -114,4 +114,34 @@ End of 4.1 tests SELECT 1 REGEXP NULL; 1 REGEXP NULL NULL +SELECT '' REGEXP BINARY NULL; +'' REGEXP BINARY NULL +NULL +SELECT NULL REGEXP BINARY NULL; +NULL REGEXP BINARY NULL +NULL +SELECT 'A' REGEXP BINARY NULL; +'A' REGEXP BINARY NULL +NULL +SELECT "ABC" REGEXP BINARY NULL; +"ABC" REGEXP BINARY NULL +NULL End of 5.0 tests +CREATE TABLE t1(a INT, b CHAR(4)); +INSERT INTO t1 VALUES (1, '6.1'), (1, '7.0'), (1, '8.0'); +PREPARE stmt1 FROM "SELECT a FROM t1 WHERE a=1 AND '7.0' REGEXP b LIMIT 1"; +EXECUTE stmt1; +a +1 +EXECUTE stmt1; +a +1 +EXECUTE stmt1; +a +1 +EXECUTE stmt1; +a +1 +DEALLOCATE PREPARE stmt1; +DROP TABLE t1; +End of 5.1 tests diff --git a/mysql-test/r/grant2.result b/mysql-test/r/grant2.result index b94de265d0c..03c4ea042f6 100644 --- a/mysql-test/r/grant2.result +++ b/mysql-test/r/grant2.result @@ -434,7 +434,7 @@ USE db1; SELECT c FROM t2; ERROR 42000: SELECT command denied to user 'mysqltest1'@'localhost' for column 'c' in table 't2' SELECT * FROM t2; -ERROR 42000: SELECT command denied to user 'mysqltest1'@'localhost' for column 'c' in table 't2' +ERROR 42000: SELECT command denied to user 'mysqltest1'@'localhost' for table 't2' SELECT * FROM t1 JOIN t2 USING (b); ERROR 42000: SELECT command denied to user 'mysqltest1'@'localhost' for column 'c' in table 't2' DROP TABLE db1.t1, db1.t2; diff --git a/mysql-test/r/grant_cache_no_prot.result b/mysql-test/r/grant_cache_no_prot.result index 02360c4c325..cb9acaf540d 100644 --- a/mysql-test/r/grant_cache_no_prot.result +++ b/mysql-test/r/grant_cache_no_prot.result @@ -155,7 +155,7 @@ select "user3"; user3 user3 select * from t1; -ERROR 42000: SELECT command denied to user 'mysqltest_3'@'localhost' for column 'b' in table 't1' +ERROR 42000: SELECT command denied to user 'mysqltest_3'@'localhost' for table 't1' select a from t1; a 1 diff --git a/mysql-test/r/grant_cache_ps_prot.result b/mysql-test/r/grant_cache_ps_prot.result index 1e2cd1baa3a..cf1450f3b75 100644 --- a/mysql-test/r/grant_cache_ps_prot.result +++ b/mysql-test/r/grant_cache_ps_prot.result @@ -155,7 +155,7 @@ select "user3"; user3 user3 select * from t1; -ERROR 42000: SELECT command denied to user 'mysqltest_3'@'localhost' for column 'b' in table 't1' +ERROR 42000: SELECT command denied to user 'mysqltest_3'@'localhost' for table 't1' select a from t1; a 1 diff --git a/mysql-test/r/group_min_max.result b/mysql-test/r/group_min_max.result index bdc8d586f4e..adda0053687 100644 --- a/mysql-test/r/group_min_max.result +++ b/mysql-test/r/group_min_max.result @@ -2372,3 +2372,79 @@ a MIN(b) MAX(b) AVG(b) 2 1 3 2.0000 1 1 3 2.0000 DROP TABLE t1; +create table t1 (a int, b int, primary key (a,b), key `index` (a,b)) engine=MyISAM; +insert into t1 (a,b) values +(0,0),(0,1),(0,2),(0,3),(0,4),(0,5),(0,6), +(0,7),(0,8),(0,9),(0,10),(0,11),(0,12),(0,13), +(1,0),(1,1),(1,2),(1,3),(1,4),(1,5),(1,6), +(1,7),(1,8),(1,9),(1,10),(1,11),(1,12),(1,13), +(2,0),(2,1),(2,2),(2,3),(2,4),(2,5),(2,6), +(2,7),(2,8),(2,9),(2,10),(2,11),(2,12),(2,13), +(3,0),(3,1),(3,2),(3,3),(3,4),(3,5),(3,6), +(3,7),(3,8),(3,9),(3,10),(3,11),(3,12),(3,13); +insert into t1 (a,b) select a, max(b)+1 from t1 where a = 0 group by a; +select * from t1; +a b +0 0 +0 1 +0 2 +0 3 +0 4 +0 5 +0 6 +0 7 +0 8 +0 9 +0 10 +0 11 +0 12 +0 13 +0 14 +1 0 +1 1 +1 2 +1 3 +1 4 +1 5 +1 6 +1 7 +1 8 +1 9 +1 10 +1 11 +1 12 +1 13 +2 0 +2 1 +2 2 +2 3 +2 4 +2 5 +2 6 +2 7 +2 8 +2 9 +2 10 +2 11 +2 12 +2 13 +3 0 +3 1 +3 2 +3 3 +3 4 +3 5 +3 6 +3 7 +3 8 +3 9 +3 10 +3 11 +3 12 +3 13 +explain extended select sql_buffer_result a, max(b)+1 from t1 where a = 0 group by a; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t1 range PRIMARY,index PRIMARY 4 NULL 3 100.00 Using where; Using index for group-by; Using temporary +Warnings: +Note 1003 select sql_buffer_result `test`.`t1`.`a` AS `a`,(max(`test`.`t1`.`b`) + 1) AS `max(b)+1` from `test`.`t1` where (`test`.`t1`.`a` = 0) group by `test`.`t1`.`a` +drop table t1; diff --git a/mysql-test/r/group_min_max_innodb.result b/mysql-test/r/group_min_max_innodb.result index ae4b9d4d5dd..6607e1babf6 100644 --- a/mysql-test/r/group_min_max_innodb.result +++ b/mysql-test/r/group_min_max_innodb.result @@ -1,3 +1,5 @@ +drop view if exists v1; +drop table if exists t1,t4; create table t4 ( pk_col int auto_increment primary key, a1 char(64), a2 char(64), b char(16), c char(16) not null, d char(16), dummy char(64) default ' ' ) engine=innodb; @@ -70,3 +72,25 @@ explain select distinct f1, f2 from t1; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 range NULL PRIMARY 5 NULL 3 Using index for group-by; Using temporary drop table t1; +create table t1(pk int primary key) engine=innodb; +create view v1 as select pk from t1 where pk < 20; +insert into t1 values (1), (2), (3), (4); +select distinct pk from v1; +pk +1 +2 +3 +4 +insert into t1 values (5), (6), (7); +select distinct pk from v1; +pk +1 +2 +3 +4 +5 +6 +7 +drop view v1; +drop table t1; +End of 5.1 tests diff --git a/mysql-test/r/handler_innodb.result b/mysql-test/r/handler_innodb.result index 9d269f78d10..3e4cef99480 100644 --- a/mysql-test/r/handler_innodb.result +++ b/mysql-test/r/handler_innodb.result @@ -484,6 +484,7 @@ c1 handler t1 close; read the result from the other connection Table Op Msg_type Msg_text +test.t1 optimize note Table does not support optimize, doing recreate + analyze instead test.t1 optimize status OK proceed with the normal connection drop table t1; @@ -698,6 +699,7 @@ handler a2 read a first; a optimize table t1; Table Op Msg_type Msg_text +test.t1 optimize note Table does not support optimize, doing recreate + analyze instead test.t1 optimize status OK handler a1 close; ERROR 42S02: Unknown table 'a1' in HANDLER diff --git a/mysql-test/r/index_merge_myisam.result b/mysql-test/r/index_merge_myisam.result index 1827871861e..45d335bba9e 100644 --- a/mysql-test/r/index_merge_myisam.result +++ b/mysql-test/r/index_merge_myisam.result @@ -520,6 +520,16 @@ a filler b 4 zz 4 5 qq 4 drop table t1, t2; +CREATE TABLE t1 (a varchar(8), b set('a','b','c','d','e','f','g','h'), +KEY b(b), KEY a(a)); +INSERT INTO t1 VALUES ('y',''), ('z',''); +SELECT b,a from t1 WHERE (b!='c' AND b!='f' && b!='h') OR +(a='pure-S') OR (a='DE80337a') OR (a='DE80799'); +b a + y + z +DROP TABLE t1; +End of 5.0 tests #---------------- ROR-index_merge tests ----------------------- SET SESSION STORAGE_ENGINE = MyISAM; drop table if exists t0,t1,t2; diff --git a/mysql-test/r/information_schema.result b/mysql-test/r/information_schema.result index c5c79b15ca6..7da540dd8f6 100644 --- a/mysql-test/r/information_schema.result +++ b/mysql-test/r/information_schema.result @@ -758,7 +758,6 @@ table_schema table_name column_name information_schema COLUMNS COLUMN_DEFAULT information_schema COLUMNS COLUMN_TYPE information_schema EVENTS EVENT_DEFINITION -information_schema EVENTS SQL_MODE information_schema PARTITIONS PARTITION_EXPRESSION information_schema PARTITIONS SUBPARTITION_EXPRESSION information_schema PARTITIONS PARTITION_DESCRIPTION @@ -768,8 +767,6 @@ information_schema ROUTINES ROUTINE_DEFINITION information_schema ROUTINES SQL_MODE information_schema TRIGGERS ACTION_CONDITION information_schema TRIGGERS ACTION_STATEMENT -information_schema TRIGGERS SQL_MODE -information_schema TRIGGERS DEFINER information_schema VIEWS VIEW_DEFINITION select table_name, column_name, data_type from information_schema.columns where data_type = 'datetime'; @@ -1646,4 +1643,13 @@ drop table t1; drop function f1; select * from information_schema.tables where 1=sleep(100000); select * from information_schema.columns where 1=sleep(100000); +explain select count(*) from information_schema.tables; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tables ALL NULL NULL NULL NULL NULL Skip_open_table; Scanned all databases +explain select count(*) from information_schema.columns; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE columns ALL NULL NULL NULL NULL NULL Open_frm_only; Scanned all databases +explain select count(*) from information_schema.views; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE views ALL NULL NULL NULL NULL NULL Open_frm_only; Scanned all databases End of 5.1 tests. diff --git a/mysql-test/r/information_schema_db.result b/mysql-test/r/information_schema_db.result index eff5f117c50..83b8217b570 100644 --- a/mysql-test/r/information_schema_db.result +++ b/mysql-test/r/information_schema_db.result @@ -221,3 +221,24 @@ drop view testdb_1.v1, v2, testdb_1.v3, v4; drop database testdb_1; drop user testdb_1@localhost; drop user testdb_2@localhost; +create database testdb_1; +create table testdb_1.t1 (a int); +create view testdb_1.v1 as select * from testdb_1.t1; +grant show view on testdb_1.* to mysqltest_1@localhost; +grant select on testdb_1.v1 to mysqltest_1@localhost; +select table_schema, table_name, view_definition from information_schema.views +where table_name='v1'; +table_schema table_name view_definition +testdb_1 v1 select `testdb_1`.`t1`.`a` AS `a` from `testdb_1`.`t1` +show create view testdb_1.v1; +View Create View character_set_client collation_connection +v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `testdb_1`.`v1` AS select `testdb_1`.`t1`.`a` AS `a` from `testdb_1`.`t1` latin1 latin1_swedish_ci +revoke select on testdb_1.v1 from mysqltest_1@localhost; +select table_schema, table_name, view_definition from information_schema.views +where table_name='v1'; +table_schema table_name view_definition +testdb_1 v1 +show create view testdb_1.v1; +ERROR 42000: SELECT command denied to user 'mysqltest_1'@'localhost' for table 'v1' +drop user mysqltest_1@localhost; +drop database testdb_1; diff --git a/mysql-test/r/innodb-autoinc-optimize.result b/mysql-test/r/innodb-autoinc-optimize.result new file mode 100644 index 00000000000..2896411a42f --- /dev/null +++ b/mysql-test/r/innodb-autoinc-optimize.result @@ -0,0 +1,7 @@ +drop table if exists t1; +create table t1(a int not null auto_increment primary key) engine=innodb; +insert into t1 set a = -1; +optimize table t1; +Table Op Msg_type Msg_text +test.t1 optimize note Table does not support optimize, doing recreate + analyze instead +test.t1 optimize status OK diff --git a/mysql-test/r/innodb-autoinc.result b/mysql-test/r/innodb-autoinc.result new file mode 100644 index 00000000000..e000f910772 --- /dev/null +++ b/mysql-test/r/innodb-autoinc.result @@ -0,0 +1,171 @@ +drop table if exists t1; +CREATE TABLE t1 (c1 BIGINT PRIMARY KEY AUTO_INCREMENT, c2 VARCHAR(10)) ENGINE=InnoDB; +INSERT INTO t1 VALUES (9223372036854775807, null); +INSERT INTO t1 (c2) VALUES ('innodb'); +Got one of the listed errors +SELECT * FROM t1; +c1 c2 +9223372036854775807 NULL +DROP TABLE t1; +CREATE TABLE t1 (c1 TINYINT PRIMARY KEY AUTO_INCREMENT, c2 VARCHAR(10)) ENGINE=InnoDB; +INSERT INTO t1 VALUES (127, null); +INSERT INTO t1 (c2) VALUES ('innodb'); +Got one of the listed errors +SELECT * FROM t1; +c1 c2 +127 NULL +DROP TABLE t1; +CREATE TABLE t1 (c1 TINYINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, c2 VARCHAR(10)) ENGINE=InnoDB; +INSERT INTO t1 VALUES (255, null); +INSERT INTO t1 (c2) VALUES ('innodb'); +Got one of the listed errors +SELECT * FROM t1; +c1 c2 +255 NULL +DROP TABLE t1; +CREATE TABLE t1 (c1 SMALLINT PRIMARY KEY AUTO_INCREMENT, c2 VARCHAR(10)) ENGINE=InnoDB; +INSERT INTO t1 VALUES (32767, null); +INSERT INTO t1 (c2) VALUES ('innodb'); +Got one of the listed errors +SELECT * FROM t1; +c1 c2 +32767 NULL +DROP TABLE t1; +CREATE TABLE t1 (c1 SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, c2 VARCHAR(10)) ENGINE=InnoDB; +INSERT INTO t1 VALUES (65535, null); +INSERT INTO t1 (c2) VALUES ('innodb'); +Got one of the listed errors +SELECT * FROM t1; +c1 c2 +65535 NULL +DROP TABLE t1; +CREATE TABLE t1 (c1 MEDIUMINT PRIMARY KEY AUTO_INCREMENT, c2 VARCHAR(10)) ENGINE=InnoDB; +INSERT INTO t1 VALUES (8388607, null); +INSERT INTO t1 (c2) VALUES ('innodb'); +Got one of the listed errors +SELECT * FROM t1; +c1 c2 +8388607 NULL +DROP TABLE t1; +CREATE TABLE t1 (c1 MEDIUMINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, c2 VARCHAR(10)) ENGINE=InnoDB; +INSERT INTO t1 VALUES (16777215, null); +INSERT INTO t1 (c2) VALUES ('innodb'); +Got one of the listed errors +SELECT * FROM t1; +c1 c2 +16777215 NULL +DROP TABLE t1; +CREATE TABLE t1 (c1 INT PRIMARY KEY AUTO_INCREMENT, c2 VARCHAR(10)) ENGINE=InnoDB; +INSERT INTO t1 VALUES (2147483647, null); +INSERT INTO t1 (c2) VALUES ('innodb'); +Got one of the listed errors +SELECT * FROM t1; +c1 c2 +2147483647 NULL +DROP TABLE t1; +CREATE TABLE t1 (c1 INT UNSIGNED PRIMARY KEY AUTO_INCREMENT, c2 VARCHAR(10)) ENGINE=InnoDB; +INSERT INTO t1 VALUES (4294967295, null); +INSERT INTO t1 (c2) VALUES ('innodb'); +Got one of the listed errors +SELECT * FROM t1; +c1 c2 +4294967295 NULL +DROP TABLE t1; +CREATE TABLE t1 (c1 BIGINT PRIMARY KEY AUTO_INCREMENT, c2 VARCHAR(10)) ENGINE=InnoDB; +INSERT INTO t1 VALUES (9223372036854775807, null); +INSERT INTO t1 (c2) VALUES ('innodb'); +Got one of the listed errors +SELECT * FROM t1; +c1 c2 +9223372036854775807 NULL +DROP TABLE t1; +CREATE TABLE t1 (c1 BIGINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, c2 VARCHAR(10)) ENGINE=InnoDB; +INSERT INTO t1 VALUES (18446744073709551615, null); +INSERT INTO t1 (c2) VALUES ('innodb'); +Got one of the listed errors +SELECT * FROM t1; +c1 c2 +18446744073709551615 NULL +DROP TABLE t1; +CREATE TABLE t1(c1 INT PRIMARY KEY AUTO_INCREMENT) ENGINE=InnoDB; +INSERT INTO t1 VALUES (1), (2), (3); +INSERT INTO t1 VALUES (NULL), (NULL), (NULL); +SELECT c1 FROM t1; +c1 +1 +2 +3 +4 +5 +6 +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `c1` int(11) NOT NULL AUTO_INCREMENT, + PRIMARY KEY (`c1`) +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=latin1 +TRUNCATE TABLE t1; +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `c1` int(11) NOT NULL AUTO_INCREMENT, + PRIMARY KEY (`c1`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +INSERT INTO t1 VALUES (1), (2), (3); +INSERT INTO t1 VALUES (NULL), (NULL), (NULL); +SELECT c1 FROM t1; +c1 +1 +2 +3 +4 +5 +6 +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `c1` int(11) NOT NULL AUTO_INCREMENT, + PRIMARY KEY (`c1`) +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=latin1 +DROP TABLE t1; +CREATE TABLE t1(c1 INT PRIMARY KEY AUTO_INCREMENT) ENGINE=InnoDB; +INSERT INTO t1 VALUES (1), (2), (3); +INSERT INTO t1 VALUES (NULL), (NULL), (NULL); +SELECT c1 FROM t1; +c1 +1 +2 +3 +4 +5 +6 +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `c1` int(11) NOT NULL AUTO_INCREMENT, + PRIMARY KEY (`c1`) +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=latin1 +DELETE FROM t1; +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `c1` int(11) NOT NULL AUTO_INCREMENT, + PRIMARY KEY (`c1`) +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=latin1 +INSERT INTO t1 VALUES (1), (2), (3); +INSERT INTO t1 VALUES (NULL), (NULL), (NULL); +SELECT c1 FROM t1; +c1 +1 +2 +3 +7 +8 +9 +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `c1` int(11) NOT NULL AUTO_INCREMENT, + PRIMARY KEY (`c1`) +) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=latin1 +DROP TABLE t1; diff --git a/mysql-test/r/innodb-semi-consistent.result b/mysql-test/r/innodb-semi-consistent.result index f1139390f20..6173048c320 100644 --- a/mysql-test/r/innodb-semi-consistent.result +++ b/mysql-test/r/innodb-semi-consistent.result @@ -1,4 +1,5 @@ drop table if exists t1; +set binlog_format=mixed; set session transaction isolation level read committed; create table t1(a int not null) engine=innodb DEFAULT CHARSET=latin1; insert into t1 values (1),(2),(3),(4),(5),(6),(7); @@ -6,6 +7,7 @@ set autocommit=0; select * from t1 where a=3 lock in share mode; a 3 +set binlog_format=mixed; set session transaction isolation level read committed; set autocommit=0; update t1 set a=10 where a=5; diff --git a/mysql-test/r/innodb.result b/mysql-test/r/innodb.result index 03d3e019e99..5f8c59b9a0c 100644 --- a/mysql-test/r/innodb.result +++ b/mysql-test/r/innodb.result @@ -166,6 +166,7 @@ level id parent_id 1 1007 101 optimize table t1; Table Op Msg_type Msg_text +test.t1 optimize note Table does not support optimize, doing recreate + analyze instead test.t1 optimize status OK show keys from t1; Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment @@ -190,6 +191,7 @@ create table t1 (a int) engine=innodb; insert into t1 values (1), (2); optimize table t1; Table Op Msg_type Msg_text +test.t1 optimize note Table does not support optimize, doing recreate + analyze instead test.t1 optimize status OK delete from t1 where a = 1; select * from t1; @@ -738,6 +740,7 @@ world 2 hello 1 optimize table t1; Table Op Msg_type Msg_text +test.t1 optimize note Table does not support optimize, doing recreate + analyze instead test.t1 optimize status OK show keys from t1; Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment @@ -1021,6 +1024,7 @@ id code name 4 2 Erik 5 3 Sasha COMMIT; +SET binlog_format='MIXED'; BEGIN; SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; insert into t1 (code, name) values (3, 'Jeremy'), (4, 'Matt'); @@ -2958,9 +2962,11 @@ drop table t1,t2; create table t1(a int not null, b int, primary key(a)) engine=innodb; insert into t1 values(1,1),(2,2),(3,1),(4,2),(5,1),(6,2),(7,3); commit; +SET binlog_format='MIXED'; set autocommit = 0; SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED; update t1 set b = 5 where b = 1; +SET binlog_format='MIXED'; set autocommit = 0; SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED; select * from t1 where a = 7 and b = 3 for update; @@ -2999,6 +3005,7 @@ d e 3 1 8 6 12 1 +SET binlog_format='MIXED'; set autocommit = 0; SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED; insert into t1 select * from t2; @@ -3029,30 +3036,39 @@ a b 3 1 8 6 12 1 +SET binlog_format='MIXED'; set autocommit = 0; SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE; insert into t1 select * from t2; +SET binlog_format='MIXED'; set autocommit = 0; SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE; update t3 set b = (select b from t2 where a = d); +SET binlog_format='MIXED'; set autocommit = 0; SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE; create table t4(a int not null, b int, primary key(a)) engine=innodb select * from t2; +SET binlog_format='MIXED'; set autocommit = 0; SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED; insert into t5 (select * from t2 lock in share mode); +SET binlog_format='MIXED'; set autocommit = 0; SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED; update t6 set e = (select b from t2 where a = d lock in share mode); +SET binlog_format='MIXED'; set autocommit = 0; SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED; create table t7(a int not null, b int, primary key(a)) engine=innodb select * from t2 lock in share mode; +SET binlog_format='MIXED'; set autocommit = 0; SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED; insert into t8 (select * from t2 for update); +SET binlog_format='MIXED'; set autocommit = 0; SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED; update t9 set e = (select b from t2 where a = d for update); +SET binlog_format='MIXED'; set autocommit = 0; SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED; create table t10(a int not null, b int, primary key(a)) engine=innodb select * from t2 for update; @@ -3109,6 +3125,7 @@ BEGIN; INSERT INTO t1 VALUES (1); OPTIMIZE TABLE t1; Table Op Msg_type Msg_text +test.t1 optimize note Table does not support optimize, doing recreate + analyze instead test.t1 optimize status OK DROP TABLE t1; CREATE TABLE t1 (id int PRIMARY KEY, f int NOT NULL, INDEX(f)) ENGINE=InnoDB; @@ -3198,6 +3215,7 @@ id -10 1 DROP TABLE t1; +SET binlog_format='MIXED'; SET TX_ISOLATION='read-committed'; SET AUTOCOMMIT=0; DROP TABLE IF EXISTS t1, t2; @@ -3208,6 +3226,7 @@ CREATE TABLE t1 ( a int ) ENGINE=InnoDB; CREATE TABLE t2 LIKE t1; SELECT * FROM t2; a +SET binlog_format='MIXED'; SET TX_ISOLATION='read-committed'; SET AUTOCOMMIT=0; INSERT INTO t1 VALUES (1); @@ -3215,10 +3234,12 @@ COMMIT; SELECT * FROM t1 WHERE a=1; a 1 +SET binlog_format='MIXED'; SET TX_ISOLATION='read-committed'; SET AUTOCOMMIT=0; SELECT * FROM t2; a +SET binlog_format='MIXED'; SET TX_ISOLATION='read-committed'; SET AUTOCOMMIT=0; INSERT INTO t1 VALUES (2); @@ -3263,3 +3284,14 @@ AUTO_INCREMENT 200 DROP TABLE t2; DROP TABLE t1; +CREATE TABLE t1 (c1 int default NULL, +c2 int default NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +TRUNCATE TABLE t1; +affected rows: 0 +INSERT INTO t1 VALUES (1, 1), (2, 2), (3, 3), (4, 4), (5, 5); +affected rows: 5 +info: Records: 5 Duplicates: 0 Warnings: 0 +TRUNCATE TABLE t1; +affected rows: 0 +DROP TABLE t1; diff --git a/mysql-test/r/innodb_bug34300.result b/mysql-test/r/innodb_bug34300.result new file mode 100644 index 00000000000..ae9fee81ad7 --- /dev/null +++ b/mysql-test/r/innodb_bug34300.result @@ -0,0 +1,4 @@ +f4 f8 +xxx zzz +f4 f8 +xxx zzz diff --git a/mysql-test/r/innodb_bug35220.result b/mysql-test/r/innodb_bug35220.result new file mode 100644 index 00000000000..195775f74c8 --- /dev/null +++ b/mysql-test/r/innodb_bug35220.result @@ -0,0 +1 @@ +SET storage_engine=InnoDB; diff --git a/mysql-test/r/innodb_data_home_dir_basic.result b/mysql-test/r/innodb_data_home_dir_basic.result index fb9a0b0bca5..e4bdd79b7c3 100644 --- a/mysql-test/r/innodb_data_home_dir_basic.result +++ b/mysql-test/r/innodb_data_home_dir_basic.result @@ -1,7 +1,7 @@ '#---------------------BS_STVARS_025_01----------------------#' SELECT COUNT(@@GLOBAL.innodb_data_home_dir); COUNT(@@GLOBAL.innodb_data_home_dir) -0 +1 1 Expected '#---------------------BS_STVARS_025_02----------------------#' SET @@GLOBAL.innodb_data_home_dir=1; @@ -9,7 +9,7 @@ ERROR HY000: Variable 'innodb_data_home_dir' is a read only variable Expected error 'Read only variable' SELECT COUNT(@@GLOBAL.innodb_data_home_dir); COUNT(@@GLOBAL.innodb_data_home_dir) -0 +1 1 Expected '#---------------------BS_STVARS_025_03----------------------#' SELECT @@GLOBAL.innodb_data_home_dir = VARIABLE_VALUE @@ -20,7 +20,7 @@ NULL 1 Expected SELECT COUNT(@@GLOBAL.innodb_data_home_dir); COUNT(@@GLOBAL.innodb_data_home_dir) -0 +1 1 Expected SELECT COUNT(VARIABLE_VALUE) FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES @@ -36,7 +36,7 @@ NULL '#---------------------BS_STVARS_025_05----------------------#' SELECT COUNT(@@innodb_data_home_dir); COUNT(@@innodb_data_home_dir) -0 +1 1 Expected SELECT COUNT(@@local.innodb_data_home_dir); ERROR HY000: Variable 'innodb_data_home_dir' is a GLOBAL variable @@ -46,7 +46,7 @@ ERROR HY000: Variable 'innodb_data_home_dir' is a GLOBAL variable Expected error 'Variable is a GLOBAL variable' SELECT COUNT(@@GLOBAL.innodb_data_home_dir); COUNT(@@GLOBAL.innodb_data_home_dir) -0 +1 1 Expected SELECT innodb_data_home_dir = @@SESSION.innodb_data_home_dir; ERROR 42S22: Unknown column 'innodb_data_home_dir' in 'field list' diff --git a/mysql-test/r/innodb_flush_method_basic.result b/mysql-test/r/innodb_flush_method_basic.result index 836328c5c9b..8c8924cdd86 100644 --- a/mysql-test/r/innodb_flush_method_basic.result +++ b/mysql-test/r/innodb_flush_method_basic.result @@ -1,7 +1,7 @@ '#---------------------BS_STVARS_029_01----------------------#' SELECT COUNT(@@GLOBAL.innodb_flush_method); COUNT(@@GLOBAL.innodb_flush_method) -0 +1 1 Expected '#---------------------BS_STVARS_029_02----------------------#' SET @@GLOBAL.innodb_flush_method=1; @@ -9,7 +9,7 @@ ERROR HY000: Variable 'innodb_flush_method' is a read only variable Expected error 'Read only variable' SELECT COUNT(@@GLOBAL.innodb_flush_method); COUNT(@@GLOBAL.innodb_flush_method) -0 +1 1 Expected '#---------------------BS_STVARS_029_03----------------------#' SELECT @@GLOBAL.innodb_flush_method = VARIABLE_VALUE @@ -20,7 +20,7 @@ NULL 1 Expected SELECT COUNT(@@GLOBAL.innodb_flush_method); COUNT(@@GLOBAL.innodb_flush_method) -0 +1 1 Expected SELECT COUNT(VARIABLE_VALUE) FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES @@ -36,7 +36,7 @@ NULL '#---------------------BS_STVARS_029_05----------------------#' SELECT COUNT(@@innodb_flush_method); COUNT(@@innodb_flush_method) -0 +1 1 Expected SELECT COUNT(@@local.innodb_flush_method); ERROR HY000: Variable 'innodb_flush_method' is a GLOBAL variable @@ -46,7 +46,7 @@ ERROR HY000: Variable 'innodb_flush_method' is a GLOBAL variable Expected error 'Variable is a GLOBAL variable' SELECT COUNT(@@GLOBAL.innodb_flush_method); COUNT(@@GLOBAL.innodb_flush_method) -0 +1 1 Expected SELECT innodb_flush_method = @@SESSION.innodb_flush_method; ERROR 42S22: Unknown column 'innodb_flush_method' in 'field list' diff --git a/mysql-test/r/innodb_mysql.result b/mysql-test/r/innodb_mysql.result index ab279933853..985f4d2b464 100644 --- a/mysql-test/r/innodb_mysql.result +++ b/mysql-test/r/innodb_mysql.result @@ -577,6 +577,7 @@ id select_type table type possible_keys key key_len ref rows Extra INSERT INTO t2 SELECT * FROM t1; OPTIMIZE TABLE t2; Table Op Msg_type Msg_text +test.t2 optimize note Table does not support optimize, doing recreate + analyze instead test.t2 optimize status OK EXPLAIN SELECT COUNT(*) FROM t2 WHERE stat_id IN (1,3) AND acct_id=785; id select_type table type possible_keys key key_len ref rows Extra @@ -1362,6 +1363,21 @@ set global innodb_autoextend_increment=@my_innodb_autoextend_increment; set @my_innodb_commit_concurrency=@@global.innodb_commit_concurrency; set global innodb_commit_concurrency=0; set global innodb_commit_concurrency=@my_innodb_commit_concurrency; +CREATE TABLE t1 (a int, b int, c int, PRIMARY KEY (a), KEY t1_b (b)) +ENGINE=InnoDB; +INSERT INTO t1 (a,b,c) VALUES (1,1,1), (2,1,1), (3,1,1), (4,1,1); +INSERT INTO t1 (a,b,c) SELECT a+4,b,c FROM t1; +EXPLAIN SELECT a, b, c FROM t1 WHERE b = 1 ORDER BY a DESC LIMIT 5; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 index t1_b PRIMARY 4 NULL 8 Using where +SELECT a, b, c FROM t1 WHERE b = 1 ORDER BY a DESC LIMIT 5; +a b c +8 1 1 +7 1 1 +6 1 1 +5 1 1 +4 1 1 +DROP TABLE t1; End of 5.0 tests CREATE TABLE `t2` ( `k` int(11) NOT NULL auto_increment, @@ -1496,6 +1512,7 @@ ok drop table t1; SET SESSION AUTOCOMMIT = 0; SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED; +set binlog_format=mixed; # Switch to connection con1 CREATE TABLE t1 (a INT PRIMARY KEY, b VARCHAR(256)) ENGINE = InnoDB; @@ -1640,19 +1657,6 @@ vid tid idx name type 3 1 2 c1 NULL 3 1 1 pk NULL DROP TABLE t1; -DROP TABLE IF EXISTS t1; -DROP TABLE IF EXISTS t2; -CREATE TABLE t1(id INT PRIMARY KEY) -ENGINE=innodb; -CREATE TABLE t2( -t1_id INT PRIMARY KEY, -CONSTRAINT fk1 FOREIGN KEY (t1_id) REFERENCES t1(id)) -ENGINE=innodb; - -ALTER TABLE t1 CHANGE id id2 INT; - -DROP TABLE t2; -DROP TABLE t1; End of 5.1 tests drop table if exists t1, t2, t3; create table t1(a int); diff --git a/mysql-test/r/join.result b/mysql-test/r/join.result index 9b799fccf06..736ecf1d90e 100644 --- a/mysql-test/r/join.result +++ b/mysql-test/r/join.result @@ -747,11 +747,13 @@ select t1.b from v1a; ERROR 42S22: Unknown column 't1.b' in 'field list' select * from v1a join v1b on t1.b = t2.b; ERROR 42S22: Unknown column 't1.b' in 'on clause' -select * from information_schema.statistics join information_schema.columns -using(table_name,column_name) where table_name='user'; -TABLE_NAME COLUMN_NAME TABLE_CATALOG TABLE_SCHEMA NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLLATION CARDINALITY SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT TABLE_CATALOG TABLE_SCHEMA ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -user Host NULL mysql 0 mysql PRIMARY 1 A NULL NULL NULL BTREE NULL mysql 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI # -user User NULL mysql 0 mysql PRIMARY 2 A 3 NULL NULL BTREE NULL mysql 2 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI # +select +statistics.TABLE_NAME, statistics.COLUMN_NAME, statistics.TABLE_CATALOG, statistics.TABLE_SCHEMA, statistics.NON_UNIQUE, statistics.INDEX_SCHEMA, statistics.INDEX_NAME, statistics.SEQ_IN_INDEX, statistics.COLLATION, statistics.SUB_PART, statistics.PACKED, statistics.NULLABLE, statistics.INDEX_TYPE, statistics.COMMENT, +columns.TABLE_CATALOG, columns.TABLE_SCHEMA, columns.COLUMN_DEFAULT, columns.IS_NULLABLE, columns.DATA_TYPE, columns.CHARACTER_MAXIMUM_LENGTH, columns.CHARACTER_OCTET_LENGTH, columns.NUMERIC_PRECISION, columns.NUMERIC_SCALE, columns.CHARACTER_SET_NAME, columns.COLLATION_NAME, columns.COLUMN_TYPE, columns.COLUMN_KEY, columns.EXTRA, columns.COLUMN_COMMENT +from information_schema.statistics join information_schema.columns using(table_name,column_name) where table_name='user'; +TABLE_NAME COLUMN_NAME TABLE_CATALOG TABLE_SCHEMA NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLLATION SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT TABLE_CATALOG TABLE_SCHEMA COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA COLUMN_COMMENT +user Host NULL mysql 0 mysql PRIMARY 1 A NULL NULL BTREE NULL mysql NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI +user User NULL mysql 0 mysql PRIMARY 2 A NULL NULL BTREE NULL mysql NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI drop table t1; drop table t2; drop table t3; diff --git a/mysql-test/r/loaddata.result b/mysql-test/r/loaddata.result index 3a23d9de6b3..4e458e831cf 100644 --- a/mysql-test/r/loaddata.result +++ b/mysql-test/r/loaddata.result @@ -337,6 +337,126 @@ DROP VIEW v2; DROP VIEW v3; # -- End of Bug#35469. +Bug#37114 +SET SESSION character_set_client=latin1; +SET SESSION character_set_server=latin1; +SET SESSION character_set_connection=latin1; +SET @OLD_SQL_MODE=@@SESSION.SQL_MODE; +test LOAD DATA INFILE +SET sql_mode = ''; +SELECT '1 \\aa\n' INTO DUMPFILE 'MYSQLTEST_VARDIR/tmp/bug37114.txt'; +CREATE TABLE t1 (id INT, val1 CHAR(3)) ENGINE=MyISAM; +SET sql_mode = 'NO_BACKSLASH_ESCAPES'; +LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/bug37114.txt' REPLACE INTO TABLE t1 FIELDS TERMINATED BY ' '; +SELECT * FROM t1; +id val1 +1 \aa +SELECT * INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/bug37114_out.txt' FIELDS ESCAPED BY '' TERMINATED BY ' ' FROM t1; +SELECT * INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/bug37114_out.txt' FIELDS TERMINATED BY ' ' FROM t1; +INSERT INTO t1 (id, val1) VALUES (1, '\aa'); +SELECT * FROM t1; +id val1 +1 \aa +1 \aa +SET sql_mode=''; +INSERT INTO t1 (id, val1) VALUES (1, '\aa'); +SELECT * FROM t1; +id val1 +1 \aa +1 \aa +1 aa +DROP TABLE t1; +test SELECT INTO OUTFILE +CREATE TABLE t1 (id INT PRIMARY KEY, val1 CHAR(4)); +CREATE TABLE t2 LIKE t1; +SET sql_mode = ''; +INSERT INTO t1 (id, val1) VALUES (5, '\ttab'); +INSERT INTO t1 (id, val1) VALUES (4, '\\r'); +SET sql_mode = 'NO_BACKSLASH_ESCAPES'; +INSERT INTO t1 (id, val1) VALUES (3, '\tx'); +1.1 NO_BACKSLASH_ESCAPES, use defaults for ESCAPED BY +SELECT * INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/bug37114.txt' FIELDS TERMINATED BY ' ' FROM t1 ORDER BY id; +LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/bug37114.txt' INTO TABLE t2 FIELDS TERMINATED BY ' '; +SELECT 'before' AS t, id, val1, hex(val1) FROM t1 UNION +SELECT 'after' AS t, id, val1, hex(val1) FROM t2 ORDER BY id,t DESC; +t id val1 hex(val1) +before 3 \tx 5C7478 +after 3 \tx 5C7478 +before 4 \r 5C72 +after 4 \r 5C72 +before 5 tab 09746162 +after 5 tab 09746162 +TRUNCATE t2; +SELECT LOAD_FILE("MYSQLTEST_VARDIR/tmp/bug37114.txt"); +LOAD_FILE("MYSQLTEST_VARDIR/tmp/bug37114.txt") +3 \tx +4 \r +5 tab + +1.2 NO_BACKSLASH_ESCAPES, override defaults for ESCAPED BY +SELECT * INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/bug37114.txt' FIELDS ESCAPED BY '\' TERMINATED BY ' ' FROM t1 ORDER BY id; +LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/bug37114.txt' INTO TABLE t2 FIELDS ESCAPED BY '\' TERMINATED BY ' '; +SELECT 'before' AS t, id, val1, hex(val1) FROM t1 UNION +SELECT 'after' AS t, id, val1, hex(val1) FROM t2 ORDER BY id,t DESC; +t id val1 hex(val1) +before 3 \tx 5C7478 +after 3 \tx 5C7478 +before 4 \r 5C72 +after 4 \r 5C72 +before 5 tab 09746162 +after 5 tab 09746162 +TRUNCATE t2; +SELECT LOAD_FILE("MYSQLTEST_VARDIR/tmp/bug37114.txt"); +LOAD_FILE("MYSQLTEST_VARDIR/tmp/bug37114.txt") +3 \\tx +4 \\r +5 tab + +SET sql_mode = ''; +2.1 !NO_BACKSLASH_ESCAPES, use defaults for ESCAPED BY +SELECT * INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/bug37114.txt' FIELDS TERMINATED BY ' ' FROM t1 ORDER BY id; +LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/bug37114.txt' INTO TABLE t2 FIELDS TERMINATED BY ' '; +SELECT 'before' AS t, id, val1, hex(val1) FROM t1 UNION +SELECT 'after' AS t, id, val1, hex(val1) FROM t2 ORDER BY id,t DESC; +t id val1 hex(val1) +before 3 \tx 5C7478 +after 3 \tx 5C7478 +before 4 \r 5C72 +after 4 \r 5C72 +before 5 tab 09746162 +after 5 tab 09746162 +TRUNCATE t2; +SET sql_mode = 'NO_BACKSLASH_ESCAPES'; +SELECT LOAD_FILE("MYSQLTEST_VARDIR/tmp/bug37114.txt"); +LOAD_FILE("MYSQLTEST_VARDIR/tmp/bug37114.txt") +3 \\tx +4 \\r +5 tab + +SET sql_mode = ''; +2.2 !NO_BACKSLASH_ESCAPES, override defaults for ESCAPED BY +SELECT * INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/bug37114.txt' FIELDS ESCAPED BY '' TERMINATED BY ' ' FROM t1 ORDER BY id; +LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/bug37114.txt' INTO TABLE t2 FIELDS ESCAPED BY '' TERMINATED BY ' '; +SELECT 'before' AS t, id, val1, hex(val1) FROM t1 UNION +SELECT 'after' AS t, id, val1, hex(val1) FROM t2 ORDER BY id,t DESC; +t id val1 hex(val1) +before 3 \tx 5C7478 +after 3 \tx 5C7478 +before 4 \r 5C72 +after 4 \r 5C72 +before 5 tab 09746162 +after 5 tab 09746162 +TRUNCATE t2; +SET sql_mode = 'NO_BACKSLASH_ESCAPES'; +SELECT LOAD_FILE("MYSQLTEST_VARDIR/tmp/bug37114.txt"); +LOAD_FILE("MYSQLTEST_VARDIR/tmp/bug37114.txt") +3 \tx +4 \r +5 tab + +set session sql_mode=@OLD_SQL_MODE; +DROP TABLE t1,t2; +End of 5.0 tests CREATE TABLE t1 (a int); INSERT INTO t1 VALUES (1); SET NAMES latin1; @@ -364,3 +484,4 @@ SET character_set_filesystem=default; select @@character_set_filesystem; @@character_set_filesystem binary +End of 5.1 tests diff --git a/mysql-test/r/log_basic.result b/mysql-test/r/log_basic.result index 44d0ff48f1d..edda72fa91e 100644 --- a/mysql-test/r/log_basic.result +++ b/mysql-test/r/log_basic.result @@ -5,8 +5,8 @@ INIT_VALUE SELECT @@log AS INIT_VALUE; INIT_VALUE 1 -SET @@global.log = ON; -SET global log = 0; +SET @@global.general_log = ON; +SET global general_log = 0; 'Bug# 34832: log is a system but it is not accessible using SET @@global.log;' 'SET GLOBAL log; and SELECT @@global.log. SHOW VARIABLES shows the value of log.' '#--------------------FN_DYNVARS_062_02-------------------------#' diff --git a/mysql-test/r/log_bin_trust_routine_creators_basic.result b/mysql-test/r/log_bin_trust_routine_creators_basic.result index 2b7fb548f36..cfcbcddfca3 100644 --- a/mysql-test/r/log_bin_trust_routine_creators_basic.result +++ b/mysql-test/r/log_bin_trust_routine_creators_basic.result @@ -5,17 +5,17 @@ SELECT @start_global_value; '#--------------------FN_DYNVARS_064_01-------------------------#' SET @@global.log_bin_trust_routine_creators = TRUE; Warnings: -Warning 1287 The syntax 'log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 5.2. Please use 'log_bin_trust_function_creators' instead +Warning 1287 The syntax '@@log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 5.2. Please use '@@log_bin_trust_function_creators' instead SET @@global.log_bin_trust_routine_creators = DEFAULT; Warnings: -Warning 1287 The syntax 'log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 5.2. Please use 'log_bin_trust_function_creators' instead +Warning 1287 The syntax '@@log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 5.2. Please use '@@log_bin_trust_function_creators' instead SELECT @@global.log_bin_trust_routine_creators; @@global.log_bin_trust_routine_creators 0 '#--------------------FN_DYNVARS_064_02-------------------------#' SET @@global.log_bin_trust_routine_creators = DEFAULT; Warnings: -Warning 1287 The syntax 'log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 5.2. Please use 'log_bin_trust_function_creators' instead +Warning 1287 The syntax '@@log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 5.2. Please use '@@log_bin_trust_function_creators' instead SELECT @@global.log_bin_trust_routine_creators = 'FALSE'; @@global.log_bin_trust_routine_creators = 'FALSE' 1 @@ -24,37 +24,37 @@ Warning 1292 Truncated incorrect DOUBLE value: 'FALSE' '#--------------------FN_DYNVARS_064_03-------------------------#' SET @@global.log_bin_trust_routine_creators = ON; Warnings: -Warning 1287 The syntax 'log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 5.2. Please use 'log_bin_trust_function_creators' instead +Warning 1287 The syntax '@@log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 5.2. Please use '@@log_bin_trust_function_creators' instead SELECT @@global.log_bin_trust_routine_creators; @@global.log_bin_trust_routine_creators 1 SET @@global.log_bin_trust_routine_creators = OFF; Warnings: -Warning 1287 The syntax 'log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 5.2. Please use 'log_bin_trust_function_creators' instead +Warning 1287 The syntax '@@log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 5.2. Please use '@@log_bin_trust_function_creators' instead SELECT @@global.log_bin_trust_routine_creators; @@global.log_bin_trust_routine_creators 0 SET @@global.log_bin_trust_routine_creators = 0; Warnings: -Warning 1287 The syntax 'log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 5.2. Please use 'log_bin_trust_function_creators' instead +Warning 1287 The syntax '@@log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 5.2. Please use '@@log_bin_trust_function_creators' instead SELECT @@global.log_bin_trust_routine_creators; @@global.log_bin_trust_routine_creators 0 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 5.2. Please use 'log_bin_trust_function_creators' instead +Warning 1287 The syntax '@@log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 5.2. Please use '@@log_bin_trust_function_creators' instead SELECT @@global.log_bin_trust_routine_creators; @@global.log_bin_trust_routine_creators 1 SET @@global.log_bin_trust_routine_creators = TRUE; Warnings: -Warning 1287 The syntax 'log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 5.2. Please use 'log_bin_trust_function_creators' instead +Warning 1287 The syntax '@@log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 5.2. Please use '@@log_bin_trust_function_creators' instead SELECT @@global.log_bin_trust_routine_creators; @@global.log_bin_trust_routine_creators 1 SET @@global.log_bin_trust_routine_creators = FALSE; Warnings: -Warning 1287 The syntax 'log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 5.2. Please use 'log_bin_trust_function_creators' instead +Warning 1287 The syntax '@@log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 5.2. Please use '@@log_bin_trust_function_creators' instead SELECT @@global.log_bin_trust_routine_creators; @@global.log_bin_trust_routine_creators 0 @@ -70,7 +70,7 @@ SET @@global.log_bin_trust_routine_creators = "OFFF"; ERROR 42000: Variable 'log_bin_trust_routine_creators' can't be set to the value of 'OFFF' SET @@global.log_bin_trust_routine_creators = OF; Warnings: -Warning 1287 The syntax 'log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 5.2. Please use 'log_bin_trust_function_creators' instead +Warning 1287 The syntax '@@log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 5.2. Please use '@@log_bin_trust_function_creators' instead SELECT @@global.log_bin_trust_routine_creators; @@global.log_bin_trust_routine_creators 0 @@ -96,14 +96,14 @@ ERROR HY000: Variable 'log_bin_trust_routine_creators' is a GLOBAL variable '#---------------------FN_DYNVARS_064_07----------------------#' SET @@global.log_bin_trust_routine_creators = TRUE; Warnings: -Warning 1287 The syntax 'log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 5.2. Please use 'log_bin_trust_function_creators' instead +Warning 1287 The syntax '@@log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 5.2. Please use '@@log_bin_trust_function_creators' instead SELECT @@log_bin_trust_routine_creators = @@global.log_bin_trust_routine_creators; @@log_bin_trust_routine_creators = @@global.log_bin_trust_routine_creators 1 '#---------------------FN_DYNVARS_064_08----------------------#' SET @@global.log_bin_trust_routine_creators = TRUE; Warnings: -Warning 1287 The syntax 'log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 5.2. Please use 'log_bin_trust_function_creators' instead +Warning 1287 The syntax '@@log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 5.2. Please use '@@log_bin_trust_function_creators' instead SELECT @@log_bin_trust_routine_creators; @@log_bin_trust_routine_creators 1 @@ -115,7 +115,7 @@ SELECT log_bin_trust_routine_creators = @@session.log_bin_trust_routine_creators ERROR 42S22: Unknown column 'log_bin_trust_routine_creators' in 'field list' SET @@global.log_bin_trust_routine_creators = @start_global_value; Warnings: -Warning 1287 The syntax 'log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 5.2. Please use 'log_bin_trust_function_creators' instead +Warning 1287 The syntax '@@log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 5.2. Please use '@@log_bin_trust_function_creators' instead SELECT @@global.log_bin_trust_routine_creators; @@global.log_bin_trust_routine_creators 1 diff --git a/mysql-test/r/log_state.result b/mysql-test/r/log_state.result index c293956148f..63903a034d2 100644 --- a/mysql-test/r/log_state.result +++ b/mysql-test/r/log_state.result @@ -187,6 +187,8 @@ SELECT @@general_log, @@log; @@general_log @@log 1 1 SET GLOBAL log = 0; +Warnings: +Warning 1287 The syntax '@@log' is deprecated and will be removed in MySQL 7.0. Please use '@@general_log' instead SHOW VARIABLES LIKE 'general_log'; Variable_name Value general_log OFF @@ -216,6 +218,8 @@ SELECT @@slow_query_log, @@log_slow_queries; @@slow_query_log @@log_slow_queries 0 0 SET GLOBAL log_slow_queries = 0; +Warnings: +Warning 1287 The syntax '@@log_slow_queries' is deprecated and will be removed in MySQL 7.0. Please use '@@slow_query_log' instead SHOW VARIABLES LIKE 'slow_query_log'; Variable_name Value slow_query_log OFF @@ -270,4 +274,28 @@ SET GLOBAL general_log_file = @general_log_file_saved; SET GLOBAL slow_query_log_file = @slow_query_log_file_saved; # -- End of Bug#32748. +deprecated: +SET GLOBAL log = 0; +Warnings: +Warning 1287 The syntax '@@log' is deprecated and will be removed in MySQL 7.0. Please use '@@general_log' instead +SET GLOBAL log_slow_queries = 0; +Warnings: +Warning 1287 The syntax '@@log_slow_queries' is deprecated and will be removed in MySQL 7.0. Please use '@@slow_query_log' instead +SET GLOBAL log = DEFAULT; +Warnings: +Warning 1287 The syntax '@@log' is deprecated and will be removed in MySQL 7.0. Please use '@@general_log' instead +SET GLOBAL log_slow_queries = DEFAULT; +Warnings: +Warning 1287 The syntax '@@log_slow_queries' is deprecated and will be removed in MySQL 7.0. Please use '@@slow_query_log' instead +not deprecated: +SELECT @@global.general_log_file INTO @my_glf; +SELECT @@global.slow_query_log_file INTO @my_sqlf; +SET GLOBAL general_log = 0; +SET GLOBAL slow_query_log = 0; +SET GLOBAL general_log_file = 'WL4403_G.log'; +SET GLOBAL slow_query_log_file = 'WL4403_SQ.log'; +SET GLOBAL general_log_file = @my_glf; +SET GLOBAL slow_query_log_file = @my_sqlf; +SET GLOBAL general_log = DEFAULT; +SET GLOBAL slow_query_log = DEFAULT; End of 5.1 tests diff --git a/mysql-test/r/log_tables.result b/mysql-test/r/log_tables.result index 2a4cee9fbbc..c5228538788 100644 --- a/mysql-test/r/log_tables.result +++ b/mysql-test/r/log_tables.result @@ -832,6 +832,35 @@ Execute select '000 001 002 003 004 005 006 007 008 009010 011 012 013 014 015 0 Query set global general_log = off deallocate prepare long_query; set global general_log = @old_general_log_state; +DROP TABLE IF EXISTS log_count; +DROP TABLE IF EXISTS slow_log_copy; +DROP TABLE IF EXISTS general_log_copy; +CREATE TABLE log_count (count BIGINT(21)); +SET @old_general_log_state = @@global.general_log; +SET @old_slow_log_state = @@global.slow_query_log; +SET GLOBAL general_log = ON; +SET GLOBAL slow_query_log = ON; +CREATE TABLE slow_log_copy SELECT * FROM mysql.slow_log; +INSERT INTO slow_log_copy SELECT * FROM mysql.slow_log; +INSERT INTO log_count (count) VALUES ((SELECT count(*) FROM mysql.slow_log)); +DROP TABLE slow_log_copy; +CREATE TABLE general_log_copy SELECT * FROM mysql.general_log; +INSERT INTO general_log_copy SELECT * FROM mysql.general_log; +INSERT INTO log_count (count) VALUES ((SELECT count(*) FROM mysql.general_log)); +DROP TABLE general_log_copy; +SET GLOBAL general_log = OFF; +SET GLOBAL slow_query_log = OFF; +CREATE TABLE slow_log_copy SELECT * FROM mysql.slow_log; +INSERT INTO slow_log_copy SELECT * FROM mysql.slow_log; +INSERT INTO log_count (count) VALUES ((SELECT count(*) FROM mysql.slow_log)); +DROP TABLE slow_log_copy; +CREATE TABLE general_log_copy SELECT * FROM mysql.general_log; +INSERT INTO general_log_copy SELECT * FROM mysql.general_log; +INSERT INTO log_count (count) VALUES ((SELECT count(*) FROM mysql.general_log)); +DROP TABLE general_log_copy; +SET GLOBAL general_log = @old_general_log_state; +SET GLOBAL slow_query_log = @old_slow_log_state; +DROP TABLE log_count; SET @old_slow_log_state = @@global.slow_query_log; SET SESSION long_query_time = 0; SET GLOBAL slow_query_log = ON; diff --git a/mysql-test/r/lowercase0.require b/mysql-test/r/lowercase0.require index a63906557f8..5550a2e93b8 100644 --- a/mysql-test/r/lowercase0.require +++ b/mysql-test/r/lowercase0.require @@ -1,3 +1,2 @@ Variable_name Value -lower_case_file_system ON lower_case_table_names 0 diff --git a/mysql-test/r/max_user_connections_func.result b/mysql-test/r/max_user_connections_func.result index 9dd868844a2..2ff2ac82ce7 100644 --- a/mysql-test/r/max_user_connections_func.result +++ b/mysql-test/r/max_user_connections_func.result @@ -1,6 +1,6 @@ ** Setup ** -SET @default_max_user_connections = @@max_user_connections; +SET @default_max_user_connections = @@global.max_user_connections; Set Global max_user_connections=2; '#--------------------FN_DYNVARS_114_01-------------------------#' ** Connecting conn1 using username 'root' ** @@ -9,10 +9,11 @@ Set Global max_user_connections=2; ERROR 42000: User root already has more than 'max_user_connections' active connections Expected error "too many connections" ** Disconnecting conn1 ** +** Poll till disconnected conn1 disappears from processlist '#--------------------FN_DYNVARS_114_02-------------------------#' Set Global max_user_connections=3; ** Connecting conn5 using username 'root' ** ** Connecting conn6 using username 'root' ** ** Connection default ** ** Disconnecting conn5, conn6 ** -SET GLOBAL max_user_connections = @default_max_user_connections; +SET @@global.max_user_connections = @default_max_user_connections; diff --git a/mysql-test/r/merge.result b/mysql-test/r/merge.result index ef623b343e9..cc05efded02 100644 --- a/mysql-test/r/merge.result +++ b/mysql-test/r/merge.result @@ -830,7 +830,7 @@ ERROR HY000: Unable to open underlying table which is differently defined or of DROP TABLE t1, t2; CREATE TABLE t2(a INT) ENGINE=MERGE UNION=(t3); SELECT * FROM t2; -ERROR 42S02: Table 'test.t3' doesn't exist +ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist DROP TABLE t2; CREATE TABLE t1(a INT, b TEXT); CREATE TABLE tm1(a TEXT, b INT) ENGINE=MERGE UNION=(t1); @@ -895,17 +895,19 @@ drop table t2; drop table t1; CREATE TABLE tm1(a INT) ENGINE=MERGE UNION=(t1, t2); SELECT * FROM tm1; -ERROR 42S02: Table 'test.t1' doesn't exist +ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist CHECK TABLE tm1; Table Op Msg_type Msg_text test.tm1 check Error Table 'test.t1' doesn't exist +test.tm1 check Error Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist test.tm1 check error Corrupt CREATE TABLE t1(a INT); SELECT * FROM tm1; -ERROR 42S02: Table 'test.t2' doesn't exist +ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist CHECK TABLE tm1; Table Op Msg_type Msg_text test.tm1 check Error Table 'test.t2' doesn't exist +test.tm1 check Error Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist test.tm1 check error Corrupt CREATE TABLE t2(a BLOB); SELECT * FROM tm1; @@ -1199,7 +1201,7 @@ c1 3 RENAME TABLE t2 TO t5; SELECT * FROM t3 ORDER BY c1; -ERROR 42S02: Table 'test.t2' doesn't exist +ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist RENAME TABLE t5 TO t2; SELECT * FROM t3 ORDER BY c1; c1 @@ -1233,7 +1235,7 @@ UNLOCK TABLES; # 4. Alter table rename. ALTER TABLE t2 RENAME TO t5; SELECT * FROM t3 ORDER BY c1; -ERROR 42S02: Table 'test.t2' doesn't exist +ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist ALTER TABLE t5 RENAME TO t2; SELECT * FROM t3 ORDER BY c1; c1 @@ -1317,7 +1319,7 @@ LOCK TABLES t1 WRITE, t2 WRITE; INSERT INTO t1 VALUES (1); DROP TABLE t1; SELECT * FROM t2; -ERROR 42S02: Table 'test.t1' doesn't exist +ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist SELECT * FROM t1; ERROR 42S02: Table 'test.t1' doesn't exist UNLOCK TABLES; @@ -2006,6 +2008,13 @@ test.t1 optimize status OK FLUSH TABLES m1, t1; UNLOCK TABLES; DROP TABLE t1, m1; +CREATE TABLE tm1 (c1 INT) ENGINE=MRG_MYISAM UNION=(t1) INSERT_METHOD=FIRST; +SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE +TABLE_SCHEMA = 'test' and TABLE_NAME='tm1'; +TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE VERSION ROW_FORMAT TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE AUTO_INCREMENT CREATE_TIME UPDATE_TIME CHECK_TIME TABLE_COLLATION CHECKSUM CREATE_OPTIONS TABLE_COMMENT +NULL test tm1 BASE TABLE NULL NULL NULL # # # # # # # # # # NULL # # Unable to open underlying table which is differently defined or of non-MyISAM ty +DROP TABLE tm1; +End of 5.1 tests CREATE TABLE t1(C1 INT, C2 INT, KEY C1(C1), KEY C2(C2)) ENGINE=MYISAM; CREATE TABLE t2(C1 INT, C2 INT, KEY C1(C1), KEY C2(C2)) ENGINE=MYISAM; CREATE TABLE t3(C1 INT, C2 INT, KEY C1(C1), KEY C2(C2)) ENGINE=MYISAM; diff --git a/mysql-test/r/metadata.result b/mysql-test/r/metadata.result index 76c6ae7d034..6b498e55d85 100644 --- a/mysql-test/r/metadata.result +++ b/mysql-test/r/metadata.result @@ -108,11 +108,11 @@ id 1 select * from v1 group by id limit 0; Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr -def test t1 v1 id id 3 10 0 Y 32768 0 63 +def test v1 v1 id id 3 10 0 Y 32768 0 63 id select * from v1 where id=1000 group by id; Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr -def test t1 v1 id id 3 10 0 Y 32768 0 63 +def test v1 v1 id id 3 10 0 Y 32768 0 63 id select * from v1 where id=1 group by id; Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr @@ -126,7 +126,7 @@ renamed 1 select * from v3 where renamed=1 group by renamed; Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr -def v3 renamed 8 12 0 Y 32896 0 63 +def v3 v3 renamed renamed 8 12 0 Y 32896 0 63 renamed drop table t1; drop view v1,v2,v3; @@ -156,8 +156,8 @@ c1 3 SELECT v1.c1, v2.c2 FROM v1 JOIN v2 ON c1=c2; Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr -def test t1 v1 c1 c1 254 1 1 Y 0 0 8 -def test t2 v2 c2 c2 254 1 1 Y 0 0 8 +def test v1 v1 c1 c1 254 1 1 Y 0 0 8 +def test v2 v2 c2 c2 254 1 1 Y 0 0 8 c1 c2 1 1 2 2 @@ -181,4 +181,21 @@ c1 c2 3 3 DROP VIEW v1,v2; DROP TABLE t1,t2; +CREATE TABLE t1 (i INT, d DATE); +INSERT INTO t1 VALUES (1, '2008-01-01'), (2, '2008-01-02'), (3, '2008-01-03'); +SELECT COALESCE(d, d), IFNULL(d, d), IF(i, d, d), +CASE i WHEN i THEN d ELSE d END, GREATEST(d, d), LEAST(d, d) +FROM t1 ORDER BY RAND(); +Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr +2008-01-01 2008-01-01 2008-01-01 2008-01-01 2008-01-01 2008-01-01 +2008-01-02 2008-01-02 2008-01-02 2008-01-02 2008-01-02 2008-01-02 +2008-01-03 2008-01-03 2008-01-03 2008-01-03 2008-01-03 2008-01-03 +COALESCE(d, d) IFNULL(d, d) IF(i, d, d) CASE i WHEN i THEN d ELSE d END GREATEST(d, d) LEAST(d, d) +def CASE i WHEN i THEN d ELSE d END CASE i WHEN i THEN d ELSE d END 10 10 10 Y 128 0 63 +def COALESCE(d, d) COALESCE(d, d) 10 10 10 Y 128 0 63 +def GREATEST(d, d) GREATEST(d, d) 10 10 10 Y 128 0 63 +def IF(i, d, d) IF(i, d, d) 10 10 10 Y 128 0 63 +def IFNULL(d, d) IFNULL(d, d) 10 10 10 Y 128 0 63 +def LEAST(d, d) LEAST(d, d) 10 10 10 Y 128 0 63 +DROP TABLE t1; End of 5.0 tests diff --git a/mysql-test/r/multi_update.result b/mysql-test/r/multi_update.result index 421a63cd54c..aa88b44f5b4 100644 --- a/mysql-test/r/multi_update.result +++ b/mysql-test/r/multi_update.result @@ -627,7 +627,7 @@ a b 4 4 show master status /* there must be the UPDATE query event */; File Position Binlog_Do_DB Binlog_Ignore_DB -master-bin.000001 197 +master-bin.000001 206 delete from t1; delete from t2; insert into t1 values (1,2),(3,4),(4,4); @@ -637,7 +637,7 @@ UPDATE t2,t1 SET t2.a=t2.b where t2.a=t1.a; ERROR 23000: Duplicate entry '4' for key 'PRIMARY' show master status /* there must be the UPDATE query event */; File Position Binlog_Do_DB Binlog_Ignore_DB -master-bin.000001 212 +master-bin.000001 221 drop table t1, t2; set @@session.binlog_format= @sav_binlog_format; drop table if exists t1, t2, t3; diff --git a/mysql-test/r/myisam.result b/mysql-test/r/myisam.result index bf57b6e1006..553a9f36690 100644 --- a/mysql-test/r/myisam.result +++ b/mysql-test/r/myisam.result @@ -1831,6 +1831,28 @@ id ref 3 2 4 5 DROP TABLE t1, t2; +CREATE TABLE t1 (a INT) ENGINE=MyISAM CHECKSUM=1 ROW_FORMAT=DYNAMIC; +INSERT INTO t1 VALUES (0); +UPDATE t1 SET a=1; +SELECT a FROM t1; +a +1 +CHECK TABLE t1; +Table Op Msg_type Msg_text +test.t1 check status OK +INSERT INTO t1 VALUES (0), (5), (4), (2); +UPDATE t1 SET a=2; +SELECT a FROM t1; +a +2 +2 +2 +2 +2 +CHECK TABLE t1; +Table Op Msg_type Msg_text +test.t1 check status OK +DROP TABLE t1; End of 5.0 tests create table t1 (a int not null, key `a` (a) key_block_size=1024); show create table t1; diff --git a/mysql-test/r/mysqlbinlog_row.result b/mysql-test/r/mysqlbinlog_row.result new file mode 100644 index 00000000000..39ca296e343 --- /dev/null +++ b/mysql-test/r/mysqlbinlog_row.result @@ -0,0 +1,4137 @@ +# +# Preparatory cleanup. +# +DROP TABLE IF EXISTS t1; +# +# We need a fixed timestamp to avoid varying results. +# +SET timestamp=1000000000; +# +# Delete all existing binary logs. +# +RESET MASTER; +CREATE TABLE t1 (c01 BIT); +INSERT INTO t1 VALUES (0); +INSERT INTO t1 VALUES (1); +DROP TABLE t1; +CREATE TABLE t1 (c01 BIT(7)); +INSERT INTO t1 VALUES (1); +INSERT INTO t1 VALUES (2); +INSERT INTO t1 VALUES (4); +INSERT INTO t1 VALUES (8); +INSERT INTO t1 VALUES (16); +INSERT INTO t1 VALUES (32); +INSERT INTO t1 VALUES (64); +INSERT INTO t1 VALUES (127); +DELETE FROM t1 WHERE c01=127; +UPDATE t1 SET c01=15 WHERE c01=16; +DROP TABLE t1; +CREATE TABLE t1 (a BIT(20), b CHAR(2)); +INSERT INTO t1 VALUES (b'00010010010010001001', 'ab'); +DROP TABLE t1; +CREATE TABLE t1 (c02 BIT(64)); +INSERT INTO t1 VALUES (1); +INSERT INTO t1 VALUES (2); +INSERT INTO t1 VALUES (128); +INSERT INTO t1 VALUES (b'1111111111111111111111111111111111111111111111111111111111111111'); +DROP TABLE t1; +CREATE TABLE t1 (c03 TINYINT); +INSERT INTO t1 VALUES (1),(2),(3); +INSERT INTO t1 VALUES (-128); +UPDATE t1 SET c03=2 WHERE c03=1; +DELETE FROM t1 WHERE c03=-128; +DROP TABLE t1; +CREATE TABLE t1 (c04 TINYINT UNSIGNED); +INSERT INTO t1 VALUES (128), (255); +UPDATE t1 SET c04=2 WHERE c04=1; +DELETE FROM t1 WHERE c04=255; +DROP TABLE t1; +CREATE TABLE t1 (c06 BOOL); +INSERT INTO t1 VALUES (TRUE); +DELETE FROM t1 WHERE c06=TRUE; +DROP TABLE t1; +CREATE TABLE t1 (c07 SMALLINT); +INSERT INTO t1 VALUES (1234); +DELETE FROM t1 WHERE c07=1234; +DROP TABLE t1; +CREATE TABLE t1 (c08 SMALLINT UNSIGNED); +INSERT INTO t1 VALUES (32768), (65535); +UPDATE t1 SET c08=2 WHERE c08=32768; +DELETE FROM t1 WHERE c08=65535; +DROP TABLE t1; +CREATE TABLE t1 (c10 MEDIUMINT); +INSERT INTO t1 VALUES (12345); +DELETE FROM t1 WHERE c10=12345; +DROP TABLE t1; +CREATE TABLE t1 (c11 MEDIUMINT UNSIGNED); +INSERT INTO t1 VALUES (8388608), (16777215); +UPDATE t1 SET c11=2 WHERE c11=8388608; +DELETE FROM t1 WHERE c11=16777215; +DROP TABLE t1; +CREATE TABLE t1 (c13 INT); +INSERT INTO t1 VALUES (123456); +DELETE FROM t1 WHERE c13=123456; +DROP TABLE t1; +CREATE TABLE t1 (c14 INT UNSIGNED); +INSERT INTO t1 VALUES (2147483648), (4294967295); +UPDATE t1 SET c14=2 WHERE c14=2147483648; +DELETE FROM t1 WHERE c14=4294967295; +DROP TABLE t1; +CREATE TABLE t1 (c16 BIGINT); +INSERT INTO t1 VALUES (1234567890); +DELETE FROM t1 WHERE c16=1234567890; +DROP TABLE t1; +CREATE TABLE t1 (c17 BIGINT UNSIGNED); +INSERT INTO t1 VALUES (9223372036854775808), (18446744073709551615); +UPDATE t1 SET c17=2 WHERE c17=9223372036854775808; +DELETE FROM t1 WHERE c17=18446744073709551615; +DROP TABLE t1; +CREATE TABLE t1 (c19 FLOAT); +INSERT INTO t1 VALUES (123.2234); +DELETE FROM t1 WHERE c19>123; +DROP TABLE t1; +CREATE TABLE t1 (c22 DOUBLE); +INSERT INTO t1 VALUES (123434.22344545); +DELETE FROM t1 WHERE c22>123434; +DROP TABLE t1; +CREATE TABLE t1 (c25 DECIMAL(10,5)); +INSERT INTO t1 VALUES (124.45); +INSERT INTO t1 VALUES (-543.21); +DELETE FROM t1 WHERE c25=124.45; +DROP TABLE t1; +CREATE TABLE t1 (c28 DATE); +INSERT INTO t1 VALUES ('2001-02-03'); +DELETE FROM t1 WHERE c28='2001-02-03'; +DROP TABLE t1; +CREATE TABLE t1 (c29 DATETIME); +INSERT INTO t1 VALUES ('2001-02-03 10:20:30'); +DELETE FROM t1 WHERE c29='2001-02-03 10:20:30'; +DROP TABLE t1; +CREATE TABLE t1 (c30 TIMESTAMP); +INSERT INTO t1 VALUES ('2001-02-03 10:20:30'); +DELETE FROM t1 WHERE c30='2001-02-03 10:20:30'; +DROP TABLE t1; +CREATE TABLE t1 (c31 TIME); +INSERT INTO t1 VALUES ('11:22:33'); +DELETE FROM t1 WHERE c31='11:22:33'; +DROP TABLE t1; +CREATE TABLE t1 (c32 YEAR); +INSERT INTO t1 VALUES ('2001'); +DELETE FROM t1 WHERE c32=2001; +DROP TABLE t1; +CREATE TABLE t1 (c33 CHAR); +INSERT INTO t1 VALUES ('a'); +DELETE FROM t1 WHERE c33='a'; +DROP TABLE t1; +CREATE TABLE t1 (c34 CHAR(0)); +INSERT INTO t1 VALUES (''); +DELETE FROM t1 WHERE c34=''; +DROP TABLE t1; +CREATE TABLE t1 (c35 CHAR(1)); +INSERT INTO t1 VALUES ('b'); +DELETE FROM t1 WHERE c35='b'; +DROP TABLE t1; +CREATE TABLE t1 (c36 CHAR(255)); +INSERT INTO t1 VALUES (repeat('c',255)); +DELETE FROM t1 WHERE c36>'c'; +DROP TABLE t1; +CREATE TABLE t1 (c37 NATIONAL CHAR); +INSERT INTO t1 VALUES ('a'); +DELETE FROM t1 WHERE c37='a'; +DROP TABLE t1; +CREATE TABLE t1 (c38 NATIONAL CHAR(0)); +INSERT INTO t1 VALUES (''); +DELETE FROM t1 WHERE c38=''; +DROP TABLE t1; +CREATE TABLE t1 (c39 NATIONAL CHAR(1)); +INSERT INTO t1 VALUES ('a'); +DELETE FROM t1 WHERE c39='a'; +DROP TABLE t1; +CREATE TABLE t1 (c40 NATIONAL CHAR(255)); +INSERT INTO t1 VALUES (repeat('a', 255)); +INSERT INTO t1 VALUES (repeat(_latin1 0xDF, 255)); +DELETE FROM t1 WHERE c40>'a'; +DROP TABLE t1; +CREATE TABLE t1 (c41 CHAR CHARACTER SET UCS2); +INSERT INTO t1 VALUES ('a'); +DELETE FROM t1 WHERE c41='a'; +DROP TABLE t1; +CREATE TABLE t1 (c42 CHAR(0) CHARACTER SET UCS2); +INSERT INTO t1 VALUES (''); +DELETE FROM t1 WHERE c42=''; +DROP TABLE t1; +CREATE TABLE t1 (c43 CHAR(1) CHARACTER SET UCS2); +INSERT INTO t1 VALUES ('a'); +DELETE FROM t1 WHERE c43='a'; +DROP TABLE t1; +CREATE TABLE t1 (c44 CHAR(255) CHARACTER SET UCS2); +INSERT INTO t1 VALUES (repeat('a', 255)); +INSERT INTO t1 VALUES (repeat(_latin1 0xDF, 255)); +DELETE FROM t1 WHERE c44>'a'; +DROP TABLE t1; +CREATE TABLE t1 (c45 VARCHAR(0)); +INSERT INTO t1 VALUES (''); +DELETE FROM t1 WHERE c45=''; +DROP TABLE t1; +CREATE TABLE t1 (c46 VARCHAR(1)); +INSERT INTO t1 VALUES ('a'); +DELETE FROM t1 WHERE c46='a'; +DROP TABLE t1; +CREATE TABLE t1 (c47 VARCHAR(255)); +INSERT INTO t1 VALUES (repeat('a',255)); +DELETE FROM t1 WHERE c47>'a'; +DROP TABLE t1; +CREATE TABLE t1 (c48 VARCHAR(261)); +INSERT INTO t1 VALUES (repeat('a',261)); +DELETE FROM t1 WHERE c48>'a'; +DROP TABLE t1; +CREATE TABLE t1 (c49 NATIONAL VARCHAR(0)); +INSERT INTO t1 VALUES (''); +DELETE FROM t1 WHERE c49=''; +DROP TABLE t1; +CREATE TABLE t1 (c50 NATIONAL VARCHAR(1)); +INSERT INTO t1 VALUES ('a'); +DELETE FROM t1 WHERE c50='a'; +DROP TABLE t1; +CREATE TABLE t1 (c51 NATIONAL VARCHAR(255)); +INSERT INTO t1 VALUES (repeat('a',255)); +INSERT INTO t1 VALUES (repeat(_latin1 0xDF, 255)); +DELETE FROM t1 WHERE c51>'a'; +DROP TABLE t1; +CREATE TABLE t1 (c52 NATIONAL VARCHAR(261)); +INSERT INTO t1 VALUES (repeat('a',261)); +INSERT INTO t1 VALUES (repeat(_latin1 0xDF, 261)); +DELETE FROM t1 WHERE c52>'a'; +DROP TABLE t1; +CREATE TABLE t1 (c53 VARCHAR(0) CHARACTER SET ucs2); +INSERT INTO t1 VALUES (''); +DELETE FROM t1 WHERE c53=''; +DROP TABLE t1; +CREATE TABLE t1 (c54 VARCHAR(1) CHARACTER SET ucs2); +INSERT INTO t1 VALUES ('a'); +DELETE FROM t1 WHERE c54='a'; +DROP TABLE t1; +CREATE TABLE t1 (c55 VARCHAR(255) CHARACTER SET ucs2); +INSERT INTO t1 VALUES (repeat('ab', 127)); +DELETE FROM t1 WHERE c55>'a'; +DROP TABLE t1; +CREATE TABLE t1 (c56 VARCHAR(261) CHARACTER SET ucs2); +INSERT INTO t1 VALUES (repeat('ab', 130)); +DELETE FROM t1 WHERE c56>'a'; +DROP TABLE t1; +CREATE TABLE t1 (c57 BINARY); +INSERT INTO t1 VALUES (0x00); +INSERT INTO t1 VALUES (0x02); +INSERT INTO t1 VALUES ('a'); +DELETE FROM t1 WHERE c57='a'; +DROP TABLE t1; +CREATE TABLE t1 (c58 BINARY(0)); +INSERT INTO t1 VALUES (''); +DELETE FROM t1 WHERE c58=''; +DROP TABLE t1; +CREATE TABLE t1 (c59 BINARY(1)); +INSERT INTO t1 VALUES (0x00); +INSERT INTO t1 VALUES (0x02); +INSERT INTO t1 VALUES ('a'); +DELETE FROM t1 WHERE c59='a'; +DROP TABLE t1; +CREATE TABLE t1 (c60 BINARY(255)); +INSERT INTO t1 VALUES (0x00); +INSERT INTO t1 VALUES (0x02); +INSERT INTO t1 VALUES (repeat('a\0',120)); +DELETE FROM t1 WHERE c60<0x02; +DROP TABLE t1; +CREATE TABLE t1 (c61 VARBINARY(0)); +INSERT INTO t1 VALUES (''); +DELETE FROM t1 WHERE c61=''; +DROP TABLE t1; +CREATE TABLE t1 (c62 VARBINARY(1)); +INSERT INTO t1 VALUES (0x00); +INSERT INTO t1 VALUES (0x02); +INSERT INTO t1 VALUES ('a'); +DELETE FROM t1 WHERE c62=0x02; +DROP TABLE t1; +CREATE TABLE t1 (c63 VARBINARY(255)); +INSERT INTO t1 VALUES (0x00); +INSERT INTO t1 VALUES (0x02); +INSERT INTO t1 VALUES (repeat('a\0',120)); +DELETE FROM t1 WHERE c63=0x02; +DROP TABLE t1; +CREATE TABLE t1 (c65 TINYBLOB); +INSERT INTO t1 VALUES ('tinyblob1'); +DELETE FROM t1 WHERE c65='tinyblob1'; +DROP TABLE t1; +CREATE TABLE t1 (c68 BLOB); +INSERT INTO t1 VALUES ('blob1'); +DELETE FROM t1 WHERE c68='blob1'; +DROP TABLE t1; +CREATE TABLE t1 (c71 MEDIUMBLOB); +INSERT INTO t1 VALUES ('mediumblob1'); +DELETE FROM t1 WHERE c71='mediumblob1'; +DROP TABLE t1; +CREATE TABLE t1 (c74 LONGBLOB); +INSERT INTO t1 VALUES ('longblob1'); +DELETE FROM t1 WHERE c74='longblob1'; +DROP TABLE t1; +CREATE TABLE t1 (c66 TINYTEXT); +INSERT INTO t1 VALUES ('tinytext1'); +DELETE FROM t1 WHERE c66='tinytext1'; +DROP TABLE t1; +CREATE TABLE t1 (c69 TEXT); +INSERT INTO t1 VALUES ('text1'); +DELETE FROM t1 WHERE c69='text1'; +DROP TABLE t1; +CREATE TABLE t1 (c72 MEDIUMTEXT); +INSERT INTO t1 VALUES ('mediumtext1'); +DELETE FROM t1 WHERE c72='mediumtext1'; +DROP TABLE t1; +CREATE TABLE t1 (c75 LONGTEXT); +INSERT INTO t1 VALUES ('longtext1'); +DELETE FROM t1 WHERE c75='longtext1'; +DROP TABLE t1; +CREATE TABLE t1 (c67 TINYTEXT CHARACTER SET UCS2); +INSERT INTO t1 VALUES ('tinytext1'); +DELETE FROM t1 WHERE c67='tinytext1'; +DROP TABLE t1; +CREATE TABLE t1 (c70 TEXT CHARACTER SET UCS2); +INSERT INTO t1 VALUES ('text1'); +DELETE FROM t1 WHERE c70='text1'; +DROP TABLE t1; +CREATE TABLE t1 (c73 MEDIUMTEXT CHARACTER SET UCS2); +INSERT INTO t1 VALUES ('mediumtext1'); +DELETE FROM t1 WHERE c73='mediumtext1'; +DROP TABLE t1; +CREATE TABLE t1 (c76 LONGTEXT CHARACTER SET UCS2); +INSERT INTO t1 VALUES ('longtext1'); +DELETE FROM t1 WHERE c76='longtext1'; +DROP TABLE t1; +CREATE TABLE t1 (c77 ENUM('a','b','c')); +INSERT INTO t1 VALUES ('b'); +DELETE FROM t1 WHERE c77='b'; +DROP TABLE t1; +CREATE TABLE t1 (c78 SET('a','b','c','d','e','f')); +INSERT INTO t1 VALUES ('a,b'); +INSERT INTO t1 VALUES ('a,c'); +INSERT INTO t1 VALUES ('b,c'); +INSERT INTO t1 VALUES ('a,b,c'); +INSERT INTO t1 VALUES ('a,b,c,d'); +INSERT INTO t1 VALUES ('a,b,c,d,e'); +INSERT INTO t1 VALUES ('a,b,c,d,e,f'); +DELETE FROM t1 WHERE c78='a,b'; +DROP TABLE t1; +CREATE TABLE t1 (a int NOT NULL DEFAULT 0, b int NOT NULL DEFAULT 0); +CREATE TABLE t2 (a int NOT NULL DEFAULT 0, b int NOT NULL DEFAULT 0); +INSERT INTO t1 SET a=1; +INSERT INTO t1 SET b=1; +INSERT INTO t2 SET a=1; +INSERT INTO t2 SET b=1; +UPDATE t1, t2 SET t1.a=10, t2.a=20; +DROP TABLE t1,t2; +flush logs; +/*!40019 SET @@session.max_insert_delayed_threads=0*/; +/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; +DELIMITER /*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Start: binlog v 4, server v #.##.## created 010909 4:46:40 at startup +ROLLBACK/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +use test/*!*/; +SET TIMESTAMP=1000000000/*!*/; +SET @@session.pseudo_thread_id=#/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/; +/*!\C latin1 *//*!*/; +SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; +SET @@session.lc_time_names=0/*!*/; +SET @@session.collation_database=DEFAULT/*!*/; +CREATE TABLE t1 (c01 BIT) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=b'0' /* BIT(1) meta=1 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=b'1' /* BIT(1) meta=1 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c01 BIT(7)) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=b'0000001' /* BIT(7) meta=7 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=b'0000010' /* BIT(7) meta=7 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=b'0000100' /* BIT(7) meta=7 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=b'0001000' /* BIT(7) meta=7 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=b'0010000' /* BIT(7) meta=7 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=b'0100000' /* BIT(7) meta=7 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=b'1000000' /* BIT(7) meta=7 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=b'1111111' /* BIT(7) meta=7 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1=b'1111111' /* BIT(7) meta=7 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F +### UPDATE test.t1 +### WHERE +### @1=b'0010000' /* BIT(7) meta=7 nullable=1 is_null=0 */ +### SET +### @1=b'0001111' /* BIT(7) meta=7 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (a BIT(20), b CHAR(2)) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=b'00010010010010001001' /* BIT(20) meta=516 nullable=1 is_null=0 */ +### @2='ab' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c02 BIT(64)) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=b'0000000000000000000000000000000000000000000000000000000000000001' /* BIT(64) meta=2048 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=b'0000000000000000000000000000000000000000000000000000000000000010' /* BIT(64) meta=2048 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=b'0000000000000000000000000000000000000000000000000000000010000000' /* BIT(64) meta=2048 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c03 TINYINT) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=1 /* TINYINT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t1 +### SET +### @1=2 /* TINYINT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t1 +### SET +### @1=3 /* TINYINT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=-128 (128) /* TINYINT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F +### UPDATE test.t1 +### WHERE +### @1=1 /* TINYINT meta=0 nullable=1 is_null=0 */ +### SET +### @1=2 /* TINYINT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1=-128 (128) /* TINYINT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c04 TINYINT UNSIGNED) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=-128 (128) /* TINYINT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t1 +### SET +### @1=-1 (255) /* TINYINT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1=-1 (255) /* TINYINT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c06 BOOL) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=1 /* TINYINT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1=1 /* TINYINT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c07 SMALLINT) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=1234 /* SHORTINT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1=1234 /* SHORTINT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c08 SMALLINT UNSIGNED) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=-32768 (32768) /* SHORTINT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t1 +### SET +### @1=-1 (65535) /* SHORTINT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F +### UPDATE test.t1 +### WHERE +### @1=-32768 (32768) /* SHORTINT meta=0 nullable=1 is_null=0 */ +### SET +### @1=2 /* SHORTINT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1=-1 (65535) /* SHORTINT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c10 MEDIUMINT) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=12345 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1=12345 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c11 MEDIUMINT UNSIGNED) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=-8388608 (8388608) /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t1 +### SET +### @1=-1 (16777215) /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F +### UPDATE test.t1 +### WHERE +### @1=-8388608 (8388608) /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### SET +### @1=2 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1=-1 (16777215) /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c13 INT) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=123456 /* INT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1=123456 /* INT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c14 INT UNSIGNED) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=-2147483648 (2147483648) /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t1 +### SET +### @1=-1 (4294967295) /* INT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F +### UPDATE test.t1 +### WHERE +### @1=-2147483648 (2147483648) /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1=2 /* INT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1=-1 (4294967295) /* INT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c16 BIGINT) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=1234567890 /* LONGINT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1=1234567890 /* LONGINT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c17 BIGINT UNSIGNED) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=-9223372036854775808 (9223372036854775808) /* LONGINT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t1 +### SET +### @1=-1 (18446744073709551615) /* LONGINT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F +### UPDATE test.t1 +### WHERE +### @1=-9223372036854775808 (9223372036854775808) /* LONGINT meta=0 nullable=1 is_null=0 */ +### SET +### @1=2 /* LONGINT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1=-1 (18446744073709551615) /* LONGINT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c19 FLOAT) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=123.223... /* FLOAT meta=4 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1=123.223... /* FLOAT meta=4 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c22 DOUBLE) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=123434.223... /* DOUBLE meta=8 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1=123434.223... /* DOUBLE meta=8 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c25 DECIMAL(10,5)) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=000000124.450000000 /* DECIMAL(10,5) meta=2565 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=-000000543.210000000 /* DECIMAL(10,5) meta=2565 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1=000000124.450000000 /* DECIMAL(10,5) meta=2565 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c28 DATE) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='2001:02:03' /* DATE meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1='2001:02:03' /* DATE meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c29 DATETIME) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=2001-02-03 10:20:30 /* DATETIME meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1=2001-02-03 10:20:30 /* DATETIME meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c30 TIMESTAMP) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +SET @@session.time_zone='SYSTEM'/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=981184830 /* TIMESTAMP meta=0 nullable=0 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1=981184830 /* TIMESTAMP meta=0 nullable=0 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c31 TIME) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='11:22:33' /* TIME meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1='11:22:33' /* TIME meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c32 YEAR) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=2001 /* YEAR meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1=2001 /* YEAR meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c33 CHAR) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='a' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1='a' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c34 CHAR(0)) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c35 CHAR(1)) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='b' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1='b' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c36 CHAR(255)) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1='ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c37 NATIONAL CHAR) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='a' /* STRING(3) meta=65027 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1='a' /* STRING(3) meta=65027 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c38 NATIONAL CHAR(0)) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c39 NATIONAL CHAR(1)) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='a' /* STRING(3) meta=65027 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1='a' /* STRING(3) meta=65027 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c40 NATIONAL CHAR(255)) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' /* STRING(765) meta=57085 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß' /* STRING(765) meta=57085 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' /* STRING(765) meta=57085 nullable=1 is_null=0 */ +### DELETE FROM test.t1 +### WHERE +### @1='ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß' /* STRING(765) meta=57085 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c41 CHAR CHARACTER SET UCS2) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='\x00a' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1='\x00a' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c42 CHAR(0) CHARACTER SET UCS2) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c43 CHAR(1) CHARACTER SET UCS2) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='\x00a' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1='\x00a' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c44 CHAR(255) CHARACTER SET UCS2) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a' /* STRING(510) meta=61182 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß' /* STRING(510) meta=61182 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1='\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a' /* STRING(510) meta=61182 nullable=1 is_null=0 */ +### DELETE FROM test.t1 +### WHERE +### @1='\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß\x00ß' /* STRING(510) meta=61182 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c45 VARCHAR(0)) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c46 VARCHAR(1)) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='a' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1='a' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c47 VARCHAR(255)) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c48 VARCHAR(261)) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c49 NATIONAL VARCHAR(0)) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c50 NATIONAL VARCHAR(1)) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='a' /* VARSTRING(3) meta=3 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1='a' /* VARSTRING(3) meta=3 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c51 NATIONAL VARCHAR(255)) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' /* VARSTRING(765) meta=765 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß' /* VARSTRING(765) meta=765 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' /* VARSTRING(765) meta=765 nullable=1 is_null=0 */ +### DELETE FROM test.t1 +### WHERE +### @1='ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß' /* VARSTRING(765) meta=765 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c52 NATIONAL VARCHAR(261)) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' /* VARSTRING(783) meta=783 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß' /* VARSTRING(783) meta=783 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' /* VARSTRING(783) meta=783 nullable=1 is_null=0 */ +### DELETE FROM test.t1 +### WHERE +### @1='ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß' /* VARSTRING(783) meta=783 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c53 VARCHAR(0) CHARACTER SET ucs2) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c54 VARCHAR(1) CHARACTER SET ucs2) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='\x00a' /* VARSTRING(2) meta=2 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1='\x00a' /* VARSTRING(2) meta=2 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c55 VARCHAR(255) CHARACTER SET ucs2) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b' /* VARSTRING(510) meta=510 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1='\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b' /* VARSTRING(510) meta=510 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c56 VARCHAR(261) CHARACTER SET ucs2) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b' /* VARSTRING(522) meta=522 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1='\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b\x00a\x00b' /* VARSTRING(522) meta=522 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c57 BINARY) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='\x02' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='a' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1='a' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c58 BINARY(0)) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c59 BINARY(1)) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='\x02' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='a' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1='a' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c60 BINARY(255)) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='\x02' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1='' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c61 VARBINARY(0)) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c62 VARBINARY(1)) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='\x00' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='\x02' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='a' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1='\x02' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c63 VARBINARY(255)) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='\x00' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='\x02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00a\x00' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1='\x02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c65 TINYBLOB) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='tinyblob1' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1='tinyblob1' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c68 BLOB) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='blob1' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1='blob1' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c71 MEDIUMBLOB) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='mediumblob1' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1='mediumblob1' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c74 LONGBLOB) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='longblob1' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1='longblob1' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c66 TINYTEXT) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='tinytext1' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1='tinytext1' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c69 TEXT) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='text1' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1='text1' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c72 MEDIUMTEXT) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='mediumtext1' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1='mediumtext1' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c75 LONGTEXT) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='longtext1' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1='longtext1' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c67 TINYTEXT CHARACTER SET UCS2) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='\x00t\x00i\x00n\x00y\x00t\x00e\x00x\x00t\x001' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1='\x00t\x00i\x00n\x00y\x00t\x00e\x00x\x00t\x001' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c70 TEXT CHARACTER SET UCS2) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='\x00t\x00e\x00x\x00t\x001' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1='\x00t\x00e\x00x\x00t\x001' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c73 MEDIUMTEXT CHARACTER SET UCS2) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='\x00m\x00e\x00d\x00i\x00u\x00m\x00t\x00e\x00x\x00t\x001' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1='\x00m\x00e\x00d\x00i\x00u\x00m\x00t\x00e\x00x\x00t\x001' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c76 LONGTEXT CHARACTER SET UCS2) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='\x00l\x00o\x00n\x00g\x00t\x00e\x00x\x00t\x001' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1='\x00l\x00o\x00n\x00g\x00t\x00e\x00x\x00t\x001' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c77 ENUM('a','b','c')) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=2 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1=2 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (c78 SET('a','b','c','d','e','f')) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=b'00000011' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=b'00000101' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=b'00000110' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=b'00000111' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=b'00001111' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=b'00011111' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=b'00111111' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1=b'00000011' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t1 (a int NOT NULL DEFAULT 0, b int NOT NULL DEFAULT 0) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t2 (a int NOT NULL DEFAULT 0, b int NOT NULL DEFAULT 0) +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=1 /* INT meta=0 nullable=0 is_null=0 */ +### @2=0 /* INT meta=0 nullable=0 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=0 /* INT meta=0 nullable=0 is_null=0 */ +### @2=1 /* INT meta=0 nullable=0 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t2` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t2 +### SET +### @1=1 /* INT meta=0 nullable=0 is_null=0 */ +### @2=0 /* INT meta=0 nullable=0 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t2` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t2 +### SET +### @1=0 /* INT meta=0 nullable=0 is_null=0 */ +### @2=1 /* INT meta=0 nullable=0 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t2` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # +#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F +### UPDATE test.t1 +### WHERE +### @1=1 /* INT meta=0 nullable=0 is_null=0 */ +### @2=0 /* INT meta=0 nullable=0 is_null=0 */ +### SET +### @1=10 /* INT meta=0 nullable=0 is_null=0 */ +### @2=0 /* INT meta=0 nullable=0 is_null=0 */ +### UPDATE test.t1 +### WHERE +### @1=0 /* INT meta=0 nullable=0 is_null=0 */ +### @2=1 /* INT meta=0 nullable=0 is_null=0 */ +### SET +### @1=10 /* INT meta=0 nullable=0 is_null=0 */ +### @2=1 /* INT meta=0 nullable=0 is_null=0 */ +### UPDATE test.t2 +### WHERE +### @1=1 /* INT meta=0 nullable=0 is_null=0 */ +### @2=0 /* INT meta=0 nullable=0 is_null=0 */ +### SET +### @1=20 /* INT meta=0 nullable=0 is_null=0 */ +### @2=0 /* INT meta=0 nullable=0 is_null=0 */ +### UPDATE test.t2 +### WHERE +### @1=0 /* INT meta=0 nullable=0 is_null=0 */ +### @2=1 /* INT meta=0 nullable=0 is_null=0 */ +### SET +### @1=20 /* INT meta=0 nullable=0 is_null=0 */ +### @2=1 /* INT meta=0 nullable=0 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +DROP TABLE t1,t2 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Rotate to master-bin.000002 pos: 4 +DELIMITER ; +# End of log file +ROLLBACK /* added by mysqlbinlog */; +/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; diff --git a/mysql-test/r/mysqlbinlog_row_big.result b/mysql-test/r/mysqlbinlog_row_big.result new file mode 100644 index 00000000000..0daf50e1ac3 --- /dev/null +++ b/mysql-test/r/mysqlbinlog_row_big.result @@ -0,0 +1,74 @@ +# +# Preparatory cleanup. +# +DROP TABLE IF EXISTS t1; +# +# We need a fixed timestamp to avoid varying results. +# +SET timestamp=1000000000; +# +# We need big packets. +# +SET @@session.max_allowed_packet= 1024*1024*1024; +# +# Delete all existing binary logs. +# +RESET MASTER; +# +# Create a test table. +# +CREATE TABLE t1 ( +c1 LONGTEXT +) ENGINE=MyISAM DEFAULT CHARSET latin1; +# +# Show how much rows are affected by each statement. +# +# +# Insert a big row. +# +INSERT INTO t1 VALUES (REPEAT('ManyMegaByteBlck', 2097152)); +affected rows: 1 +# +# Show what we have in the table. +# Do not display the column value itself, just its length. +# +SELECT LENGTH(c1) FROM t1; +LENGTH(c1) 33554432 +affected rows: 1 +# +# Grow the row by updating. +# +UPDATE t1 SET c1 = CONCAT(c1, c1); +affected rows: 1 +info: Rows matched: 1 Changed: 1 Warnings: 0 +# +# Show what we have in the table. +# Do not display the column value itself, just its length. +# +SELECT LENGTH(c1) FROM t1; +LENGTH(c1) 67108864 +affected rows: 1 +# +# Delete the row. +# +DELETE FROM t1 WHERE c1 >= 'ManyMegaByteBlck'; +affected rows: 1 +# +# Hide how much rows are affected by each statement. +# +# +# Flush all log buffers to the log file. +# +FLUSH LOGS; +# +# Call mysqlbinlog to display the log file contents. +# NOTE: The output of mysqlbinlog is redirected to +# $MYSQLTEST_VARDIR/tmp/mysqlbinlog_big_1.out +# If you want to examine it, disable remove_file +# at the bottom of the test script. +# +# +# Cleanup. +# +DROP TABLE t1; +remove_file $MYSQLTEST_VARDIR/tmp/mysqlbinlog_big_1.out diff --git a/mysql-test/r/mysqlbinlog_row_innodb.result b/mysql-test/r/mysqlbinlog_row_innodb.result new file mode 100644 index 00000000000..56efba0362f --- /dev/null +++ b/mysql-test/r/mysqlbinlog_row_innodb.result @@ -0,0 +1,4859 @@ +SET NAMES 'utf8'; +# +# Preparatory cleanup. +# +DROP TABLE IF EXISTS t1, t2, t3; +# +# We need a fixed timestamp to avoid varying results. +# +SET timestamp=1000000000; +# +# =================================================== +# Test #1 - Insert/update/delete with all data types. +# =================================================== +# +# Delete all existing binary logs. +# +RESET MASTER; +# +# Create a test table with all data types. +# +CREATE TABLE t1 ( +c01 BIT, +c02 BIT(64), +c03 TINYINT, +c04 TINYINT UNSIGNED, +c05 TINYINT ZEROFILL, +c06 BOOL, +c07 SMALLINT, +c08 SMALLINT UNSIGNED, +c09 SMALLINT ZEROFILL, +c10 MEDIUMINT, +c11 MEDIUMINT UNSIGNED, +c12 MEDIUMINT ZEROFILL, +c13 INT, +c14 INT UNSIGNED, +c15 INT ZEROFILL, +c16 BIGINT, +c17 BIGINT UNSIGNED, +c18 BIGINT ZEROFILL, +c19 FLOAT, +c20 FLOAT UNSIGNED, +c21 FLOAT ZEROFILL, +c22 DOUBLE, +c23 DOUBLE UNSIGNED, +c24 DOUBLE ZEROFILL, +c25 DECIMAL, +c26 DECIMAL UNSIGNED, +c27 DECIMAL ZEROFILL, +# +c28 DATE, +c29 DATETIME, +c30 TIMESTAMP, +c31 TIME, +c32 YEAR, +# +c33 CHAR, +c34 CHAR(0), +c35 CHAR(1), +c36 CHAR(255), +c37 NATIONAL CHAR, +c38 NATIONAL CHAR(0), +c39 NATIONAL CHAR(1), +c40 NATIONAL CHAR(255), +c41 CHAR CHARACTER SET UCS2, +c42 CHAR(0) CHARACTER SET UCS2, +c43 CHAR(1) CHARACTER SET UCS2, +c44 CHAR(255) CHARACTER SET UCS2, +# +c45 VARCHAR(0), +c46 VARCHAR(1), +c47 VARCHAR(255), +c48 VARCHAR(261), +c49 NATIONAL VARCHAR(0), +c50 NATIONAL VARCHAR(1), +c51 NATIONAL VARCHAR(255), +c52 NATIONAL VARCHAR(261), +c53 VARCHAR(0) CHARACTER SET UCS2, +c54 VARCHAR(1) CHARACTER SET UCS2, +c55 VARCHAR(255) CHARACTER SET UCS2, +c56 VARCHAR(261) CHARACTER SET UCS2, +# +c57 BINARY, +c58 BINARY(0), +c59 BINARY(1), +c60 BINARY(255), +# +c61 VARBINARY(0), +c62 VARBINARY(1), +c63 VARBINARY(255), +c64 VARBINARY(261), +# +c65 TINYBLOB, +c66 TINYTEXT, +c67 TINYTEXT CHARACTER SET UCS2, +c68 BLOB, +c69 TEXT, +c70 TEXT CHARACTER SET UCS2, +c71 MEDIUMBLOB, +c72 MEDIUMTEXT, +c73 MEDIUMTEXT CHARACTER SET UCS2, +c74 LONGBLOB, +c75 LONGTEXT, +c76 LONGTEXT CHARACTER SET UCS2, +# +c77 ENUM('a','b','c'), +c78 SET('a','b','c'), +# +crn INT -- row number +) ENGINE=InnoDB DEFAULT CHARSET latin1; +# +# Insert minimum values. +# +INSERT INTO t1 VALUES ( +b'0', -- c01 +b'0000000000000000000000000000000000000000000000000000000000000000', -- c02 +-128, -- c03 +0, -- c04 +000, -- c05 +false, -- c06 +-32768, -- c07 +0, -- c08 +00000, -- c09 +-8388608, -- c10 +0, -- c11 +00000000, -- c12 +-2147483648, -- c13 +0, -- c14 +0000000000, -- c15 +-9223372036854775808, -- c16 +0, -- c17 +00000000000000000000, -- c18 +-3.402823466E+38, -- c19 +1.175494351E-38, -- c20 +000000000000, -- c21 +-1.7976931348623E+308, -- c22 three digits cut for ps-protocol +2.2250738585072E-308, -- c23 three digits cut for ps-protocol +0000000000000000000000, -- c24 +-9999999999, -- c25 +0, -- c26 +0000000000, -- c27 +# +'1000-01-01', -- c28 +'1000-01-01 00:00:00', -- c29 +'1970-01-02 00:00:01', -- c30 one day later due to timezone issues +'-838:59:59', -- c31 +'1901', -- c32 +# +'', -- c33 +'', -- c34 +'', -- c35 +'', -- c36 +'', -- c37 +'', -- c38 +'', -- c39 +'', -- c40 +'', -- c41 +'', -- c42 +'', -- c43 +'', -- c44 +# +'', -- c45 +'', -- c46 +'', -- c47 +'', -- c48 +'', -- c49 +'', -- c50 +'', -- c51 +'', -- c52 +'', -- c53 +'', -- c54 +'', -- c55 +'', -- c56 +# +'', -- c57 +'', -- c58 +'', -- c59 +'', -- c60 +# +'', -- c61 +'', -- c62 +'', -- c63 +'', -- c64 +# +'', -- c65 +'', -- c66 +'', -- c67 +'', -- c68 +'', -- c69 +'', -- c70 +'', -- c71 +'', -- c72 +'', -- c73 +'', -- c74 +'', -- c75 +'', -- c76 +# +'a', -- c77 +'', -- c78 +# +1 -- crn -- row number +); +# +# Insert maximum values. +# +INSERT INTO t1 VALUES ( +b'1', -- c01 +b'1111111111111111111111111111111111111111111111111111111111111111', -- c02 +127, -- c03 +255, -- c04 +255, -- c05 +true, -- c06 +32767, -- c07 +65535, -- c08 +65535, -- c09 +8388607, -- c10 +16777215, -- c11 +16777215, -- c12 +2147483647, -- c13 +4294967295, -- c14 +4294967295, -- c15 +9223372036854775807, -- c16 +18446744073709551615, -- c17 +18446744073709551615, -- c18 +3.402823466E+38, -- c19 +3.402823466E+38, -- c20 +3.402823466E+38, -- c21 +1.7976931348623E+308, -- c22 three digits cut for ps-protocol +1.7976931348623E+308, -- c23 three digits cut for ps-protocol +1.7976931348623E+308, -- c24 three digits cut for ps-protocol +9999999999, -- c25 +9999999999, -- c26 +9999999999, -- c27 +# +'9999-12-31', -- c28 +'9999-12-31 23:59:59', -- c29 +'2038-01-08 03:14:07', -- c30 one day earlier due to timezone issues +'838:59:59', -- c31 +'2155', -- c32 +# +x'ff', -- c33 +'', -- c34 +x'ff', -- c35 +REPEAT(x'ff',255), -- c36 +_utf8 x'efbfbf', -- c37 +'', -- c38 +_utf8 x'efbfbf', -- c39 +REPEAT(_utf8 x'efbfbf',255), -- c40 +_ucs2 x'ffff', -- c41 +'', -- c42 +_ucs2 x'ffff', -- c43 +REPEAT(_ucs2 x'ffff',255), -- c44 +# +'', -- c45 +x'ff', -- c46 +REPEAT(x'ff',255), -- c47 +REPEAT(x'ff',261), -- c48 +'', -- c49 +_utf8 x'efbfbf', -- c50 +REPEAT(_utf8 x'efbfbf',255), -- c51 +REPEAT(_utf8 x'efbfbf',261), -- c52 +'', -- c53 +_ucs2 x'ffff', -- c54 +REPEAT(_ucs2 x'ffff',255), -- c55 +REPEAT(_ucs2 x'ffff',261), -- c56 +# +x'ff', -- c57 +'', -- c58 +x'ff', -- c59 +REPEAT(x'ff',255), -- c60 +# +'', -- c61 +x'ff', -- c62 +REPEAT(x'ff',255), -- c63 +REPEAT(x'ff',261), -- c64 +# +'tinyblob', -- c65 not using maximum value here +'tinytext', -- c66 not using maximum value here +'tinytext-ucs2', -- c67 not using maximum value here +'blob', -- c68 not using maximum value here +'text', -- c69 not using maximum value here +'text-ucs2', -- c70 not using maximum value here +'mediumblob', -- c71 not using maximum value here +'mediumtext', -- c72 not using maximum value here +'mediumtext-ucs2', -- c73 not using maximum value here +'longblob', -- c74 not using maximum value here +'longtext', -- c75 not using maximum value here +'longtext-ucs2', -- c76 not using maximum value here +# +'c', -- c77 +'a,b,c', -- c78 +# +2 -- crn -- row number +); +# +# Insert a row with NULL values and one with arbitrary values. +# +INSERT INTO t1 VALUES ( +NULL, -- c01 +NULL, -- c02 +NULL, -- c03 +NULL, -- c04 +NULL, -- c05 +NULL, -- c06 +NULL, -- c07 +NULL, -- c08 +NULL, -- c09 +NULL, -- c10 +NULL, -- c11 +NULL, -- c12 +NULL, -- c13 +NULL, -- c14 +NULL, -- c15 +NULL, -- c16 +NULL, -- c17 +NULL, -- c18 +NULL, -- c19 +NULL, -- c20 +NULL, -- c21 +NULL, -- c22 +NULL, -- c23 +NULL, -- c24 +NULL, -- c25 +NULL, -- c26 +NULL, -- c27 +# +NULL, -- c28 +NULL, -- c29 +NULL, -- c30 +NULL, -- c31 +NULL, -- c32 +# +NULL, -- c33 +NULL, -- c34 +NULL, -- c35 +NULL, -- c36 +NULL, -- c37 +NULL, -- c38 +NULL, -- c39 +NULL, -- c40 +NULL, -- c41 +NULL, -- c42 +NULL, -- c43 +NULL, -- c44 +# +NULL, -- c45 +NULL, -- c46 +NULL, -- c47 +NULL, -- c48 +NULL, -- c49 +NULL, -- c50 +NULL, -- c51 +NULL, -- c52 +NULL, -- c53 +NULL, -- c54 +NULL, -- c55 +NULL, -- c56 +# +NULL, -- c57 +NULL, -- c58 +NULL, -- c59 +NULL, -- c60 +# +NULL, -- c61 +NULL, -- c62 +NULL, -- c63 +NULL, -- c64 +# +NULL, -- c65 +NULL, -- c66 +NULL, -- c67 +NULL, -- c68 +NULL, -- c69 +NULL, -- c70 +NULL, -- c71 +NULL, -- c72 +NULL, -- c73 +NULL, -- c74 +NULL, -- c75 +NULL, -- c76 +# +NULL, -- c77 +NULL, -- c78 +# +3 -- crn -- row number +), ( +b'1', -- c01 +b'1111111111111111111111111111111111111111111111111111111111111111', -- c02 +127, -- c03 +0, -- c04 +001, -- c05 +true, -- c06 +32767, -- c07 +0, -- c08 +00001, -- c09 +8388607, -- c10 +0, -- c11 +00000001, -- c12 +2147483647, -- c13 +0, -- c14 +0000000001, -- c15 +9223372036854775807, -- c16 +0, -- c17 +00000000000000000001, -- c18 +-1.175494351E-38, -- c19 +1.175494351E-38, -- c20 +000000000000001, -- c21 +-2.2250738585072E-308, -- c22 +2.2250738585072E-308, -- c23 +00000000000000000000001, -- c24 +-9999999999, -- c25 +9999999999, -- c26 +0000000001, -- c27 +# +'2008-08-04', -- c28 +'2008-08-04 16:18:06', -- c29 +'2008-08-04 16:18:24', -- c30 +'16:18:47', -- c31 +'2008', -- c32 +# +'a', -- c33 +'', -- c34 +'e', -- c35 +REPEAT('i',255), -- c36 +_utf8 x'c3a4', -- c37 +'', -- c38 +_utf8 x'c3b6', -- c39 +REPEAT(_utf8 x'c3bc',255), -- c40 +_ucs2 x'00e4', -- c41 +'', -- c42 +_ucs2 x'00f6', -- c43 +REPEAT(_ucs2 x'00fc',255), -- c44 +# +'', -- c45 +'a', -- c46 +REPEAT('e',255), -- c47 +REPEAT('i',261), -- c48 +'', -- c49 +_utf8 x'c3a4', -- c50 +REPEAT(_utf8 x'c3b6',255), -- c51 +REPEAT(_utf8 x'c3bc',261), -- c52 +'', -- c53 +_ucs2 x'00e4', -- c54 +REPEAT(_ucs2 x'00f6',255), -- c55 +REPEAT(_ucs2 x'00fc',261), -- c56 +# +'0', -- c57 +'', -- c58 +'1', -- c59 +REPEAT('1',255), -- c60 +# +'', -- c61 +'b', -- c62 +REPEAT('c',255), -- c63 +REPEAT('\'',261), -- c64 + # + 'tinyblob', -- c65 + 'tinytext', -- c66 + 'tinytext-ucs2', -- c67 + 'blob', -- c68 + 'text', -- c69 + 'text-ucs2', -- c70 + 'mediumblob', -- c71 + 'mediumtext', -- c72 + 'mediumtext-ucs2', -- c73 + 'longblob', -- c74 + 'longtext', -- c75 + 'longtext-ucs2', -- c76 + # + 'b', -- c77 + 'b,c', -- c78 + # + 4 -- crn -- row number + ); +# +# Show what we have in the table. +# Do not display bit type output. It's binary and confuses diff. +# Also BINARY with nul-bytes should be avoided. +# +SELECT * FROM t1; +c01 # +c02 # +c03 -128 +c04 0 +c05 000 +c06 0 +c07 -32768 +c08 0 +c09 00000 +c10 -8388608 +c11 0 +c12 00000000 +c13 -2147483648 +c14 0 +c15 0000000000 +c16 -9223372036854775808 +c17 0 +c18 00000000000000000000 +c19 -3.40282e+38 +c20 1.17549e-38 +c21 000000000000 +c22 -1.7976931348623e+308 +c23 2.2250738585072e-308 +c24 0000000000000000000000 +c25 -9999999999 +c26 0 +c27 0000000000 +c28 1000-01-01 +c29 1000-01-01 00:00:00 +c30 1970-01-02 00:00:01 +c31 -838:59:59 +c32 1901 +c33 +c34 +c35 +c36 +c37 +c38 +c39 +c40 +c41 +c42 +c43 +c44 +c45 +c46 +c47 +c48 +c49 +c50 +c51 +c52 +c53 +c54 +c55 +c56 +c57 # +c58 # +c59 # +c60 # +c61 +c62 +c63 +c64 +c65 +c66 +c67 +c68 +c69 +c70 +c71 +c72 +c73 +c74 +c75 +c76 +c77 a +c78 +crn 1 +c01 # +c02 # +c03 127 +c04 255 +c05 255 +c06 1 +c07 32767 +c08 65535 +c09 65535 +c10 8388607 +c11 16777215 +c12 16777215 +c13 2147483647 +c14 4294967295 +c15 4294967295 +c16 9223372036854775807 +c17 18446744073709551615 +c18 18446744073709551615 +c19 3.40282e+38 +c20 3.40282e+38 +c21 03.40282e+38 +c22 1.7976931348623e+308 +c23 1.7976931348623e+308 +c24 001.7976931348623e+308 +c25 9999999999 +c26 9999999999 +c27 9999999999 +c28 9999-12-31 +c29 9999-12-31 23:59:59 +c30 2038-01-08 03:14:07 +c31 838:59:59 +c32 2155 +c33 ÿ +c34 +c35 ÿ +c36 ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ +c37 ï¿¿ +c38 +c39 ï¿¿ +c40 ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ +c41 ï¿¿ +c42 +c43 ï¿¿ +c44 ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ +c45 +c46 ÿ +c47 ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ +c48 ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ +c49 +c50 ï¿¿ +c51 ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ +c52 ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ +c53 +c54 ï¿¿ +c55 ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ +c56 ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ +c57 # +c58 # +c59 # +c60 # +c61 +c62 ÿ +c63 ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ +c64 ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ +c65 tinyblob +c66 tinytext +c67 tinytext-ucs2 +c68 blob +c69 text +c70 text-ucs2 +c71 mediumblob +c72 mediumtext +c73 mediumtext-ucs2 +c74 longblob +c75 longtext +c76 longtext-ucs2 +c77 c +c78 a,b,c +crn 2 +c01 # +c02 # +c03 NULL +c04 NULL +c05 NULL +c06 NULL +c07 NULL +c08 NULL +c09 NULL +c10 NULL +c11 NULL +c12 NULL +c13 NULL +c14 NULL +c15 NULL +c16 NULL +c17 NULL +c18 NULL +c19 NULL +c20 NULL +c21 NULL +c22 NULL +c23 NULL +c24 NULL +c25 NULL +c26 NULL +c27 NULL +c28 NULL +c29 NULL +c30 2001-09-09 04:46:40 +c31 NULL +c32 NULL +c33 NULL +c34 NULL +c35 NULL +c36 NULL +c37 NULL +c38 NULL +c39 NULL +c40 NULL +c41 NULL +c42 NULL +c43 NULL +c44 NULL +c45 NULL +c46 NULL +c47 NULL +c48 NULL +c49 NULL +c50 NULL +c51 NULL +c52 NULL +c53 NULL +c54 NULL +c55 NULL +c56 NULL +c57 # +c58 # +c59 # +c60 # +c61 NULL +c62 NULL +c63 NULL +c64 NULL +c65 NULL +c66 NULL +c67 NULL +c68 NULL +c69 NULL +c70 NULL +c71 NULL +c72 NULL +c73 NULL +c74 NULL +c75 NULL +c76 NULL +c77 NULL +c78 NULL +crn 3 +c01 # +c02 # +c03 127 +c04 0 +c05 001 +c06 1 +c07 32767 +c08 0 +c09 00001 +c10 8388607 +c11 0 +c12 00000001 +c13 2147483647 +c14 0 +c15 0000000001 +c16 9223372036854775807 +c17 0 +c18 00000000000000000001 +c19 -1.17549e-38 +c20 1.17549e-38 +c21 000000000001 +c22 -2.2250738585072e-308 +c23 2.2250738585072e-308 +c24 0000000000000000000001 +c25 -9999999999 +c26 9999999999 +c27 0000000001 +c28 2008-08-04 +c29 2008-08-04 16:18:06 +c30 2008-08-04 16:18:24 +c31 16:18:47 +c32 2008 +c33 a +c34 +c35 e +c36 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii +c37 ä +c38 +c39 ö +c40 üüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüü +c41 ä +c42 +c43 ö +c44 üüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüü +c45 +c46 a +c47 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +c48 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii +c49 +c50 ä +c51 ööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööö +c52 üüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüü +c53 +c54 ä +c55 ööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööö +c56 üüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüü +c57 # +c58 # +c59 # +c60 # +c61 +c62 b +c63 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +c64 ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' +c65 tinyblob +c66 tinytext +c67 tinytext-ucs2 +c68 blob +c69 text +c70 text-ucs2 +c71 mediumblob +c72 mediumtext +c73 mediumtext-ucs2 +c74 longblob +c75 longtext +c76 longtext-ucs2 +c77 b +c78 b,c +crn 4 +# +# NOTE: For matching FLOAT and DOUBLE values in WHERE conditions, +# don't use exact match, but < or > and tweak the numbers a bit. +# +# Show how much rows are affected by each statement. +# +# +# Update min values to max values. +# +UPDATE t1 SET +c01 = b'1', +c02 = b'1111111111111111111111111111111111111111111111111111111111111111', +c03 = 127, +c04 = 255, +c05 = 255, +c06 = true, +c07 = 32767, +c08 = 65535, +c09 = 65535, +c10 = 8388607, +c11 = 16777215, +c12 = 16777215, +c13 = 2147483647, +c14 = 4294967295, +c15 = 4294967295, +c16 = 9223372036854775807, +c17 = 18446744073709551615, +c18 = 18446744073709551615, +c19 = 3.402823466E+38, +c20 = 3.402823466E+38, +c21 = 3.402823466E+38, +c22 = 1.7976931348623E+308, +c23 = 1.7976931348623E+308, +c24 = 1.7976931348623E+308, +c25 = 9999999999, +c26 = 9999999999, +c27 = 9999999999, +# +c28 = '9999-12-31', +c29 = '9999-12-31 23:59:59', +c30 = '2038-01-08 03:14:07', +c31 = '838:59:59', +c32 = '2155', +# +c33 = x'ff', +c34 = '', +c35 = x'ff', +c36 = REPEAT(x'ff',255), +c37 = _utf8 x'efbfbf', +c38 = '', +c39 = _utf8 x'efbfbf', +c40 = REPEAT(_utf8 x'efbfbf',255), +c41 = _ucs2 x'ffff', +c42 = '', +c43 = _ucs2 x'ffff', +c44 = REPEAT(_ucs2 x'ffff',255), +# +c45 = '', +c46 = x'ff', +c47 = REPEAT(x'ff',255), +c48 = REPEAT(x'ff',261), +c49 = '', +c50 = _utf8 x'efbfbf', +c51 = REPEAT(_utf8 x'efbfbf',255), +c52 = REPEAT(_utf8 x'efbfbf',261), +c53 = '', +c54 = _ucs2 x'ffff', +c55 = REPEAT(_ucs2 x'ffff',255), +c56 = REPEAT(_ucs2 x'ffff',261), +# +c57 = x'ff', +c58 = '', +c59 = x'ff', +c60 = REPEAT(x'ff',255), +# +c61 = '', +c62 = x'ff', +c63 = REPEAT(x'ff',255), +c64 = REPEAT(x'ff',261), +# +c65 = 'tinyblob', +c66 = 'tinytext', +c67 = 'tinytext-ucs2', +c68 = 'blob', +c69 = 'text', +c70 = 'text-ucs2', +c71 = 'mediumblob', +c72 = 'mediumtext', +c73 = 'mediumtext-ucs2', +c74 = 'longblob', +c75 = 'longtext', +c76 = 'longtext-ucs2', +# +c77 = 'c', +c78 = 'a,b,c', +# +crn = crn +# +WHERE +# +c01 = b'0' AND +c02 = b'0000000000000000000000000000000000000000000000000000000000000000' AND +c03 = -128 AND +c04 = 0 AND +c05 = 000 AND +c06 = false AND +c07 = -32768 AND +c08 = 0 AND +c09 = 00000 AND +c10 = -8388608 AND +c11 = 0 AND +c12 = 00000000 AND +c13 = -2147483648 AND +c14 = 0 AND +c15 = 0000000000 AND +c16 = -9223372036854775808 AND +c17 = 0 AND +c18 = 00000000000000000000 AND +c19 < -3.402823465E+38 AND +c20 < 1.175494352E-38 AND +c21 = 000000000000 AND +c22 < -1.7976931348622E+308 AND +c23 < 2.2250738585073E-308 AND +c24 = 0000000000000000000000 AND +c25 = -9999999999 AND +c26 = 0 AND +c27 = 0000000000 AND +# +c28 = '1000-01-01' AND +c29 = '1000-01-01 00:00:00' AND +c30 = '1970-01-02 00:00:01' AND +c31 = '-838:59:59' AND +c32 = '1901' AND +# +c33 = '' AND +c34 = '' AND +c35 = '' AND +c36 = '' AND +c37 = '' AND +c38 = '' AND +c39 = '' AND +c40 = '' AND +c41 = '' AND +c42 = '' AND +c43 = '' AND +c44 = '' AND +# +c45 = '' AND +c46 = '' AND +c47 = '' AND +c48 = '' AND +c49 = '' AND +c50 = '' AND +c51 = '' AND +c52 = '' AND +c53 = '' AND +c54 = '' AND +c55 = '' AND +c56 = '' AND +# +# this does not reproduce the inserted value: c57 = '' AND +c58 = '' AND +# this does not reproduce the inserted value: c59 = '' AND +# this does not reproduce the inserted value: c60 = '' AND +# +c61 = '' AND +c62 = '' AND +c63 = '' AND +c64 = '' AND +# +c65 = '' AND +c66 = '' AND +c67 = '' AND +c68 = '' AND +c69 = '' AND +c70 = '' AND +c71 = '' AND +c72 = '' AND +c73 = '' AND +c74 = '' AND +c75 = '' AND +c76 = '' AND +# +c77 = 'a' AND +c78 = '' AND +# +crn = 1; +affected rows: 1 +info: Rows matched: 1 Changed: 1 Warnings: 0 +# +# Update max values to min values. +# +UPDATE t1 SET +c01 = b'0', +c02 = b'0000000000000000000000000000000000000000000000000000000000000000', +c03 = -128, +c04 = 0, +c05 = 000, +c06 = false, +c07 = -32768, +c08 = 0, +c09 = 00000, +c10 = -8388608, +c11 = 0, +c12 = 00000000, +c13 = -2147483648, +c14 = 0, +c15 = 0000000000, +c16 = -9223372036854775808, +c17 = 0, +c18 = 00000000000000000000, +c19 = -3.402823466E+38, +c20 = 1.175494351E-38, +c21 = 000000000000, +c22 = -1.7976931348623E+308, +c23 = 2.2250738585072E-308, +c24 = 0000000000000000000000, +c25 = -9999999999, +c26 = 0, +c27 = 0000000000, +# +c28 = '1000-01-01', +c29 = '1000-01-01 00:00:00', +c30 = '1970-01-02 00:00:01', +c31 = '-838:59:59', +c32 = '1901', +# +c33 = '', +c34 = '', +c35 = '', +c36 = '', +c37 = '', +c38 = '', +c39 = '', +c40 = '', +c41 = '', +c42 = '', +c43 = '', +c44 = '', +# +c45 = '', +c46 = '', +c47 = '', +c48 = '', +c49 = '', +c50 = '', +c51 = '', +c52 = '', +c53 = '', +c54 = '', +c55 = '', +c56 = '', +# +c57 = '', +c58 = '', +c59 = '', +c60 = '', +# +c61 = '', +c62 = '', +c63 = '', +c64 = '', +# +c65 = '', +c66 = '', +c67 = '', +c68 = '', +c69 = '', +c70 = '', +c71 = '', +c72 = '', +c73 = '', +c74 = '', +c75 = '', +c76 = '', +# +c77 = 'a', +c78 = '', +# +crn = crn +# +WHERE +# +c01 = b'1' AND +# the below does not reproduce the inserted value: +#c02 = b'1111111111111111111111111111111111111111111111111111111111111111' AND +c03 = 127 AND +c04 = 255 AND +c05 = 255 AND +c06 = true AND +c07 = 32767 AND +c08 = 65535 AND +c09 = 65535 AND +c10 = 8388607 AND +c11 = 16777215 AND +c12 = 16777215 AND +c13 = 2147483647 AND +c14 = 4294967295 AND +c15 = 4294967295 AND +c16 = 9223372036854775807 AND +c17 = 18446744073709551615 AND +c18 = 18446744073709551615 AND +c19 > 3.402823465E+38 AND +c20 > 3.402823465E+38 AND +c21 > 3.402823465E+38 AND +c22 > 1.7976931348622E+308 AND +c23 > 1.7976931348622E+308 AND +c24 > 1.7976931348622E+308 AND +c25 = 9999999999 AND +c26 = 9999999999 AND +c27 = 9999999999 AND +# +c28 = '9999-12-31' AND +c29 = '9999-12-31 23:59:59' AND +c30 = '2038-01-08 03:14:07' AND +c31 = '838:59:59' AND +c32 = '2155' AND +# +c33 = x'ff' AND +c34 = '' AND +c35 = x'ff' AND +c36 = REPEAT(x'ff',255) AND +c37 = _utf8 x'efbfbf' AND +c38 = '' AND +c39 = _utf8 x'efbfbf' AND +c40 = REPEAT(_utf8 x'efbfbf',255) AND +c41 = _ucs2 x'ffff' AND +c42 = '' AND +c43 = _ucs2 x'ffff' AND +c44 = REPEAT(_ucs2 x'ffff',255) AND +# +c45 = '' AND +c46 = x'ff' AND +c47 = REPEAT(x'ff',255) AND +c48 = REPEAT(x'ff',261) AND +c49 = '' AND +c50 = _utf8 x'efbfbf' AND +c51 = REPEAT(_utf8 x'efbfbf',255) AND +c52 = REPEAT(_utf8 x'efbfbf',261) AND +c53 = '' AND +c54 = _ucs2 x'ffff' AND +c55 = REPEAT(_ucs2 x'ffff',255) AND +c56 = REPEAT(_ucs2 x'ffff',261) AND +# +c57 = x'ff' AND +c58 = '' AND +c59 = x'ff' AND +c60 = REPEAT(x'ff',255) AND +# +c61 = '' AND +c62 = x'ff' AND +c63 = REPEAT(x'ff',255) AND +c64 = REPEAT(x'ff',261) AND +# +c65 = 'tinyblob' AND +c66 = 'tinytext' AND +c67 = 'tinytext-ucs2' AND +c68 = 'blob' AND +c69 = 'text' AND +c70 = 'text-ucs2' AND +c71 = 'mediumblob' AND +c72 = 'mediumtext' AND +c73 = 'mediumtext-ucs2' AND +c74 = 'longblob' AND +c75 = 'longtext' AND +c76 = 'longtext-ucs2' AND +# +c77 = 'c' AND +c78 = 'a,b,c' AND +# +crn = 2; +affected rows: 1 +info: Rows matched: 1 Changed: 1 Warnings: 0 +# +# Update NULL values to arbitrary values. +# +UPDATE t1 SET +c01 = b'1', +c02 = b'1111111111111111111111111111111111111111111111111111111111111111', +c03 = 127, +c04 = 0, +c05 = 001, +c06 = true, +c07 = 32767, +c08 = 0, +c09 = 00001, +c10 = 8388607, +c11 = 0, +c12 = 00000001, +c13 = 2147483647, +c14 = 0, +c15 = 0000000001, +c16 = 9223372036854775807, +c17 = 0, +c18 = 00000000000000000001, +c19 = -1.175494351E-38, +c20 = 1.175494351E-38, +c21 = 000000000000001, +c22 = -2.2250738585072E-308, +c23 = 2.2250738585072E-308, +c24 = 00000000000000000000001, +c25 = -9999999999, +c26 = 9999999999, +c27 = 0000000001, +# +c28 = '2008-08-04', +c29 = '2008-08-04 16:18:06', +c30 = '2008-08-04 16:18:24', +c31 = '16:18:47', +c32 = '2008', +# +c33 = 'a', +c34 = '', +c35 = 'e', +c36 = REPEAT('i',255), +c37 = _utf8 x'c3a4', +c38 = '', +c39 = _utf8 x'c3b6', +c40 = REPEAT(_utf8 x'c3bc',255), +c41 = _ucs2 x'00e4', +c42 = '', +c43 = _ucs2 x'00f6', +c44 = REPEAT(_ucs2 x'00fc',255), +# +c45 = '', +c46 = 'a', +c47 = REPEAT('e',255), +c48 = REPEAT('i',261), +c49 = '', +c50 = _utf8 x'c3a4', +c51 = REPEAT(_utf8 x'c3b6',255), +c52 = REPEAT(_utf8 x'c3bc',261), +c53 = '', +c54 = _ucs2 x'00e4', +c55 = REPEAT(_ucs2 x'00f6',255), +c56 = REPEAT(_ucs2 x'00fc',261), +# +c57 = '0', +c58 = '', +c59 = '1', +c60 = REPEAT('1',255), +# +c61 = '', +c62 = 'b', +c63 = REPEAT('c',255), +c64 = REPEAT('\'',261), + # + c65 = 'tinyblob', + c66 = 'tinytext', + c67 = 'tinytext-ucs2', + c68 = 'blob', + c69 = 'text', + c70 = 'text-ucs2', + c71 = 'mediumblob', + c72 = 'mediumtext', + c73 = 'mediumtext-ucs2', + c74 = 'longblob', + c75 = 'longtext', + c76 = 'longtext-ucs2', + # + c77 = 'b', + c78 = 'b,c', + # + crn = crn + # + WHERE + # + c01 IS NULL AND + c02 IS NULL AND + c03 IS NULL AND + c04 IS NULL AND + c05 IS NULL AND + c06 IS NULL AND + c07 IS NULL AND + c08 IS NULL AND + c09 IS NULL AND + c10 IS NULL AND + c11 IS NULL AND + c12 IS NULL AND + c13 IS NULL AND + c14 IS NULL AND + c15 IS NULL AND + c16 IS NULL AND + c17 IS NULL AND + c18 IS NULL AND + c19 IS NULL AND + c20 IS NULL AND + c21 IS NULL AND + c22 IS NULL AND + c23 IS NULL AND + c24 IS NULL AND + c25 IS NULL AND + c26 IS NULL AND + c27 IS NULL AND + # + c28 IS NULL AND + c29 IS NULL AND + # this got a timestamp instead of NULL: c30 IS NULL AND + c31 IS NULL AND + c32 IS NULL AND + # + c33 IS NULL AND + c34 IS NULL AND + c35 IS NULL AND + c36 IS NULL AND + c37 IS NULL AND + c38 IS NULL AND + c39 IS NULL AND + c40 IS NULL AND + c41 IS NULL AND + c42 IS NULL AND + c43 IS NULL AND + c44 IS NULL AND + # + c45 IS NULL AND + c46 IS NULL AND + c47 IS NULL AND + c48 IS NULL AND + c49 IS NULL AND + c50 IS NULL AND + c51 IS NULL AND + c52 IS NULL AND + c53 IS NULL AND + c54 IS NULL AND + c55 IS NULL AND + c56 IS NULL AND + # + c57 IS NULL AND + c58 IS NULL AND + c59 IS NULL AND + c60 IS NULL AND + # + c61 IS NULL AND + c62 IS NULL AND + c63 IS NULL AND + c64 IS NULL AND + # + c65 IS NULL AND + c66 IS NULL AND + c67 IS NULL AND + c68 IS NULL AND + c69 IS NULL AND + c70 IS NULL AND + c71 IS NULL AND + c72 IS NULL AND + c73 IS NULL AND + c74 IS NULL AND + c75 IS NULL AND + c76 IS NULL AND + # + c77 IS NULL AND + c78 IS NULL AND + # + crn = 3; +affected rows: 1 +info: Rows matched: 1 Changed: 1 Warnings: 0 +# +# Update arbitrary values to NULL values. +# +UPDATE t1 SET +c01 = NULL, +c02 = NULL, +c03 = NULL, +c04 = NULL, +c05 = NULL, +c06 = NULL, +c07 = NULL, +c08 = NULL, +c09 = NULL, +c10 = NULL, +c11 = NULL, +c12 = NULL, +c13 = NULL, +c14 = NULL, +c15 = NULL, +c16 = NULL, +c17 = NULL, +c18 = NULL, +c19 = NULL, +c20 = NULL, +c21 = NULL, +c22 = NULL, +c23 = NULL, +c24 = NULL, +c25 = NULL, +c26 = NULL, +c27 = NULL, +# +c28 = NULL, +c29 = NULL, +c30 = NULL, +c31 = NULL, +c32 = NULL, +# +c33 = NULL, +c34 = NULL, +c35 = NULL, +c36 = NULL, +c37 = NULL, +c38 = NULL, +c39 = NULL, +c40 = NULL, +c41 = NULL, +c42 = NULL, +c43 = NULL, +c44 = NULL, +# +c45 = NULL, +c46 = NULL, +c47 = NULL, +c48 = NULL, +c49 = NULL, +c50 = NULL, +c51 = NULL, +c52 = NULL, +c53 = NULL, +c54 = NULL, +c55 = NULL, +c56 = NULL, +# +c57 = NULL, +c58 = NULL, +c59 = NULL, +c60 = NULL, +# +c61 = NULL, +c62 = NULL, +c63 = NULL, +c64 = NULL, +# +c65 = NULL, +c66 = NULL, +c67 = NULL, +c68 = NULL, +c69 = NULL, +c70 = NULL, +c71 = NULL, +c72 = NULL, +c73 = NULL, +c74 = NULL, +c75 = NULL, +c76 = NULL, +# +c77 = NULL, +c78 = NULL, +# +crn = crn +# +WHERE +# +c01 = b'1' AND +# the below does not reproduce the inserted value: +#c02 = b'1111111111111111111111111111111111111111111111111111111111111111' AND +c03 = 127 AND +c04 = 0 AND +c05 = 001 AND +c06 = true AND +c07 = 32767 AND +c08 = 0 AND +c09 = 00001 AND +c10 = 8388607 AND +c11 = 0 AND +c12 = 00000001 AND +c13 = 2147483647 AND +c14 = 0 AND +c15 = 0000000001 AND +c16 = 9223372036854775807 AND +c17 = 0 AND +c18 = 00000000000000000001 AND +c19 > -1.175494352E-38 AND +c20 < 1.175494352E-38 AND +c21 = 000000000000001 AND +c22 > -2.2250738585073E-308 AND +c23 < 2.2250738585073E-308 AND +c24 = 00000000000000000000001 AND +c25 = -9999999999 AND +c26 = 9999999999 AND +c27 = 0000000001 AND +# +c28 = '2008-08-04' AND +c29 = '2008-08-04 16:18:06' AND +c30 = '2008-08-04 16:18:24' AND +c31 = '16:18:47' AND +c32 = '2008' AND +# +c33 = 'a' AND +c34 = '' AND +c35 = 'e' AND +c36 = REPEAT('i',255) AND +c37 = _utf8 x'c3a4' AND +c38 = '' AND +c39 = _utf8 x'c3b6' AND +c40 = REPEAT(_utf8 x'c3bc',255) AND +c41 = _ucs2 x'00e4' AND +c42 = '' AND +c43 = _ucs2 x'00f6' AND +c44 = REPEAT(_ucs2 x'00fc',255) AND +# +c45 = '' AND +c46 = 'a' AND +c47 = REPEAT('e',255) AND +c48 = REPEAT('i',261) AND +c49 = '' AND +c50 = _utf8 x'c3a4' AND +c51 = REPEAT(_utf8 x'c3b6',255) AND +c52 = REPEAT(_utf8 x'c3bc',261) AND +c53 = '' AND +c54 = _ucs2 x'00e4' AND +c55 = REPEAT(_ucs2 x'00f6',255) AND +c56 = REPEAT(_ucs2 x'00fc',261) AND +# +c57 = '0' AND +c58 = '' AND +c59 = '1' AND +c60 = REPEAT('1',255) AND +# +c61 = '' AND +c62 = 'b' AND +c63 = REPEAT('c',255) AND +c64 = REPEAT('\'',261) AND + # + c65 = 'tinyblob' AND + c66 = 'tinytext' AND + c67 = 'tinytext-ucs2' AND + c68 = 'blob' AND + c69 = 'text' AND + c70 = 'text-ucs2' AND + c71 = 'mediumblob' AND + c72 = 'mediumtext' AND + c73 = 'mediumtext-ucs2' AND + c74 = 'longblob' AND + c75 = 'longtext' AND + c76 = 'longtext-ucs2' AND + # + c77 = 'b' AND + c78 = 'b,c' AND + # + crn = 4; +affected rows: 1 +info: Rows matched: 1 Changed: 1 Warnings: 0 +# +# Show what we have in the table. +# Do not display bit type output. It's binary and confuses diff. +# Also BINARY with nul-bytes should be avoided. +# +SELECT * FROM t1; +c01 # +c02 # +c03 127 +c04 255 +c05 255 +c06 1 +c07 32767 +c08 65535 +c09 65535 +c10 8388607 +c11 16777215 +c12 16777215 +c13 2147483647 +c14 4294967295 +c15 4294967295 +c16 9223372036854775807 +c17 18446744073709551615 +c18 18446744073709551615 +c19 3.40282e+38 +c20 3.40282e+38 +c21 03.40282e+38 +c22 1.7976931348623e+308 +c23 1.7976931348623e+308 +c24 001.7976931348623e+308 +c25 9999999999 +c26 9999999999 +c27 9999999999 +c28 9999-12-31 +c29 9999-12-31 23:59:59 +c30 2038-01-08 03:14:07 +c31 838:59:59 +c32 2155 +c33 ÿ +c34 +c35 ÿ +c36 ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ +c37 ï¿¿ +c38 +c39 ï¿¿ +c40 ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ +c41 ï¿¿ +c42 +c43 ï¿¿ +c44 ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ +c45 +c46 ÿ +c47 ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ +c48 ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ +c49 +c50 ï¿¿ +c51 ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ +c52 ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ +c53 +c54 ï¿¿ +c55 ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ +c56 ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ +c57 # +c58 # +c59 # +c60 # +c61 +c62 ÿ +c63 ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ +c64 ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ +c65 tinyblob +c66 tinytext +c67 tinytext-ucs2 +c68 blob +c69 text +c70 text-ucs2 +c71 mediumblob +c72 mediumtext +c73 mediumtext-ucs2 +c74 longblob +c75 longtext +c76 longtext-ucs2 +c77 c +c78 a,b,c +crn 1 +c01 # +c02 # +c03 -128 +c04 0 +c05 000 +c06 0 +c07 -32768 +c08 0 +c09 00000 +c10 -8388608 +c11 0 +c12 00000000 +c13 -2147483648 +c14 0 +c15 0000000000 +c16 -9223372036854775808 +c17 0 +c18 00000000000000000000 +c19 -3.40282e+38 +c20 1.17549e-38 +c21 000000000000 +c22 -1.7976931348623e+308 +c23 2.2250738585072e-308 +c24 0000000000000000000000 +c25 -9999999999 +c26 0 +c27 0000000000 +c28 1000-01-01 +c29 1000-01-01 00:00:00 +c30 1970-01-02 00:00:01 +c31 -838:59:59 +c32 1901 +c33 +c34 +c35 +c36 +c37 +c38 +c39 +c40 +c41 +c42 +c43 +c44 +c45 +c46 +c47 +c48 +c49 +c50 +c51 +c52 +c53 +c54 +c55 +c56 +c57 # +c58 # +c59 # +c60 # +c61 +c62 +c63 +c64 +c65 +c66 +c67 +c68 +c69 +c70 +c71 +c72 +c73 +c74 +c75 +c76 +c77 a +c78 +crn 2 +c01 # +c02 # +c03 127 +c04 0 +c05 001 +c06 1 +c07 32767 +c08 0 +c09 00001 +c10 8388607 +c11 0 +c12 00000001 +c13 2147483647 +c14 0 +c15 0000000001 +c16 9223372036854775807 +c17 0 +c18 00000000000000000001 +c19 -1.17549e-38 +c20 1.17549e-38 +c21 000000000001 +c22 -2.2250738585072e-308 +c23 2.2250738585072e-308 +c24 0000000000000000000001 +c25 -9999999999 +c26 9999999999 +c27 0000000001 +c28 2008-08-04 +c29 2008-08-04 16:18:06 +c30 2008-08-04 16:18:24 +c31 16:18:47 +c32 2008 +c33 a +c34 +c35 e +c36 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii +c37 ä +c38 +c39 ö +c40 üüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüü +c41 ä +c42 +c43 ö +c44 üüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüü +c45 +c46 a +c47 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +c48 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii +c49 +c50 ä +c51 ööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööö +c52 üüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüü +c53 +c54 ä +c55 ööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööö +c56 üüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüü +c57 # +c58 # +c59 # +c60 # +c61 +c62 b +c63 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +c64 ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' +c65 tinyblob +c66 tinytext +c67 tinytext-ucs2 +c68 blob +c69 text +c70 text-ucs2 +c71 mediumblob +c72 mediumtext +c73 mediumtext-ucs2 +c74 longblob +c75 longtext +c76 longtext-ucs2 +c77 b +c78 b,c +crn 3 +c01 # +c02 # +c03 NULL +c04 NULL +c05 NULL +c06 NULL +c07 NULL +c08 NULL +c09 NULL +c10 NULL +c11 NULL +c12 NULL +c13 NULL +c14 NULL +c15 NULL +c16 NULL +c17 NULL +c18 NULL +c19 NULL +c20 NULL +c21 NULL +c22 NULL +c23 NULL +c24 NULL +c25 NULL +c26 NULL +c27 NULL +c28 NULL +c29 NULL +c30 2001-09-09 04:46:40 +c31 NULL +c32 NULL +c33 NULL +c34 NULL +c35 NULL +c36 NULL +c37 NULL +c38 NULL +c39 NULL +c40 NULL +c41 NULL +c42 NULL +c43 NULL +c44 NULL +c45 NULL +c46 NULL +c47 NULL +c48 NULL +c49 NULL +c50 NULL +c51 NULL +c52 NULL +c53 NULL +c54 NULL +c55 NULL +c56 NULL +c57 # +c58 # +c59 # +c60 # +c61 NULL +c62 NULL +c63 NULL +c64 NULL +c65 NULL +c66 NULL +c67 NULL +c68 NULL +c69 NULL +c70 NULL +c71 NULL +c72 NULL +c73 NULL +c74 NULL +c75 NULL +c76 NULL +c77 NULL +c78 NULL +crn 4 +affected rows: 4 +# +# Delete the row that has max values now. +# +DELETE FROM t1 WHERE +# +c01 = b'1' AND +# the below does not reproduce the inserted value: +#c02 = b'1111111111111111111111111111111111111111111111111111111111111111' AND +c03 = 127 AND +c04 = 255 AND +c05 = 255 AND +c06 = true AND +c07 = 32767 AND +c08 = 65535 AND +c09 = 65535 AND +c10 = 8388607 AND +c11 = 16777215 AND +c12 = 16777215 AND +c13 = 2147483647 AND +c14 = 4294967295 AND +c15 = 4294967295 AND +c16 = 9223372036854775807 AND +c17 = 18446744073709551615 AND +c18 = 18446744073709551615 AND +c19 > 3.402823465E+38 AND +c20 > 3.402823465E+38 AND +c21 > 3.402823465E+38 AND +c22 > 1.7976931348622E+308 AND +c23 > 1.7976931348622E+308 AND +c24 > 1.7976931348622E+308 AND +c25 = 9999999999 AND +c26 = 9999999999 AND +c27 = 9999999999 AND +# +c28 = '9999-12-31' AND +c29 = '9999-12-31 23:59:59' AND +c30 = '2038-01-08 03:14:07' AND +c31 = '838:59:59' AND +c32 = '2155' AND +# +c33 = x'ff' AND +c34 = '' AND +c35 = x'ff' AND +c36 = REPEAT(x'ff',255) AND +c37 = _utf8 x'efbfbf' AND +c38 = '' AND +c39 = _utf8 x'efbfbf' AND +c40 = REPEAT(_utf8 x'efbfbf',255) AND +c41 = _ucs2 x'ffff' AND +c42 = '' AND +c43 = _ucs2 x'ffff' AND +c44 = REPEAT(_ucs2 x'ffff',255) AND +# +c45 = '' AND +c46 = x'ff' AND +c47 = REPEAT(x'ff',255) AND +c48 = REPEAT(x'ff',261) AND +c49 = '' AND +c50 = _utf8 x'efbfbf' AND +c51 = REPEAT(_utf8 x'efbfbf',255) AND +c52 = REPEAT(_utf8 x'efbfbf',261) AND +c53 = '' AND +c54 = _ucs2 x'ffff' AND +c55 = REPEAT(_ucs2 x'ffff',255) AND +c56 = REPEAT(_ucs2 x'ffff',261) AND +# +c57 = x'ff' AND +c58 = '' AND +c59 = x'ff' AND +c60 = REPEAT(x'ff',255) AND +# +c61 = '' AND +c62 = x'ff' AND +c63 = REPEAT(x'ff',255) AND +c64 = REPEAT(x'ff',261) AND +# +c65 = 'tinyblob' AND +c66 = 'tinytext' AND +c67 = 'tinytext-ucs2' AND +c68 = 'blob' AND +c69 = 'text' AND +c70 = 'text-ucs2' AND +c71 = 'mediumblob' AND +c72 = 'mediumtext' AND +c73 = 'mediumtext-ucs2' AND +c74 = 'longblob' AND +c75 = 'longtext' AND +c76 = 'longtext-ucs2' AND +# +c77 = 'c' AND +c78 = 'a,b,c' AND +# +crn = 1; +affected rows: 1 +# +# Delete the row that has min values now. +# +DELETE FROM t1 WHERE +# +c01 = b'0' AND +c02 = b'0000000000000000000000000000000000000000000000000000000000000000' AND +c03 = -128 AND +c04 = 0 AND +c05 = 000 AND +c06 = false AND +c07 = -32768 AND +c08 = 0 AND +c09 = 00000 AND +c10 = -8388608 AND +c11 = 0 AND +c12 = 00000000 AND +c13 = -2147483648 AND +c14 = 0 AND +c15 = 0000000000 AND +c16 = -9223372036854775808 AND +c17 = 0 AND +c18 = 00000000000000000000 AND +c19 < -3.402823465E+38 AND +c20 < 1.175494352E-38 AND +c21 = 000000000000 AND +c22 < -1.7976931348622E+308 AND +c23 < 2.2250738585073E-308 AND +c24 = 0000000000000000000000 AND +c25 = -9999999999 AND +c26 = 0 AND +c27 = 0000000000 AND +# +c28 = '1000-01-01' AND +c29 = '1000-01-01 00:00:00' AND +c30 = '1970-01-02 00:00:01' AND +c31 = '-838:59:59' AND +c32 = '1901' AND +# +c33 = '' AND +c34 = '' AND +c35 = '' AND +c36 = '' AND +c37 = '' AND +c38 = '' AND +c39 = '' AND +c40 = '' AND +c41 = '' AND +c42 = '' AND +c43 = '' AND +c44 = '' AND +# +c45 = '' AND +c46 = '' AND +c47 = '' AND +c48 = '' AND +c49 = '' AND +c50 = '' AND +c51 = '' AND +c52 = '' AND +c53 = '' AND +c54 = '' AND +c55 = '' AND +c56 = '' AND +# +# this does not reproduce the inserted value: c57 = '' AND +c58 = '' AND +# this does not reproduce the inserted value: c59 = '' AND +# this does not reproduce the inserted value: c60 = '' AND +# +c61 = '' AND +c62 = '' AND +c63 = '' AND +c64 = '' AND +# +c65 = '' AND +c66 = '' AND +c67 = '' AND +c68 = '' AND +c69 = '' AND +c70 = '' AND +c71 = '' AND +c72 = '' AND +c73 = '' AND +c74 = '' AND +c75 = '' AND +c76 = '' AND +# +c77 = 'a' AND +c78 = '' AND +# +crn = 2; +affected rows: 1 +# +# Delete the row that has arbitrary values now. +# +DELETE FROM t1 WHERE +# +c01 = b'1' AND +# the below does not reproduce the inserted value: +#c02 = b'1111111111111111111111111111111111111111111111111111111111111111' AND +c03 = 127 AND +c04 = 0 AND +c05 = 001 AND +c06 = true AND +c07 = 32767 AND +c08 = 0 AND +c09 = 00001 AND +c10 = 8388607 AND +c11 = 0 AND +c12 = 00000001 AND +c13 = 2147483647 AND +c14 = 0 AND +c15 = 0000000001 AND +c16 = 9223372036854775807 AND +c17 = 0 AND +c18 = 00000000000000000001 AND +c19 > -1.175494352E-38 AND +c20 < 1.175494352E-38 AND +c21 = 000000000000001 AND +c22 > -2.2250738585073E-308 AND +c23 < 2.2250738585073E-308 AND +c24 = 00000000000000000000001 AND +c25 = -9999999999 AND +c26 = 9999999999 AND +c27 = 0000000001 AND +# +c28 = '2008-08-04' AND +c29 = '2008-08-04 16:18:06' AND +c30 = '2008-08-04 16:18:24' AND +c31 = '16:18:47' AND +c32 = '2008' AND +# +c33 = 'a' AND +c34 = '' AND +c35 = 'e' AND +c36 = REPEAT('i',255) AND +c37 = _utf8 x'c3a4' AND +c38 = '' AND +c39 = _utf8 x'c3b6' AND +c40 = REPEAT(_utf8 x'c3bc',255) AND +c41 = _ucs2 x'00e4' AND +c42 = '' AND +c43 = _ucs2 x'00f6' AND +c44 = REPEAT(_ucs2 x'00fc',255) AND +# +c45 = '' AND +c46 = 'a' AND +c47 = REPEAT('e',255) AND +c48 = REPEAT('i',261) AND +c49 = '' AND +c50 = _utf8 x'c3a4' AND +c51 = REPEAT(_utf8 x'c3b6',255) AND +c52 = REPEAT(_utf8 x'c3bc',261) AND +c53 = '' AND +c54 = _ucs2 x'00e4' AND +c55 = REPEAT(_ucs2 x'00f6',255) AND +c56 = REPEAT(_ucs2 x'00fc',261) AND +# +c57 = '0' AND +c58 = '' AND +c59 = '1' AND +c60 = REPEAT('1',255) AND +# +c61 = '' AND +c62 = 'b' AND +c63 = REPEAT('c',255) AND +c64 = REPEAT('\'',261) AND + # + c65 = 'tinyblob' AND + c66 = 'tinytext' AND + c67 = 'tinytext-ucs2' AND + c68 = 'blob' AND + c69 = 'text' AND + c70 = 'text-ucs2' AND + c71 = 'mediumblob' AND + c72 = 'mediumtext' AND + c73 = 'mediumtext-ucs2' AND + c74 = 'longblob' AND + c75 = 'longtext' AND + c76 = 'longtext-ucs2' AND + # + c77 = 'b' AND + c78 = 'b,c' AND + # + crn = 3; +affected rows: 1 +# +# Delete the row that has NULL values now. +# +DELETE FROM t1 WHERE +# +c01 IS NULL AND +c02 IS NULL AND +c03 IS NULL AND +c04 IS NULL AND +c05 IS NULL AND +c06 IS NULL AND +c07 IS NULL AND +c08 IS NULL AND +c09 IS NULL AND +c10 IS NULL AND +c11 IS NULL AND +c12 IS NULL AND +c13 IS NULL AND +c14 IS NULL AND +c15 IS NULL AND +c16 IS NULL AND +c17 IS NULL AND +c18 IS NULL AND +c19 IS NULL AND +c20 IS NULL AND +c21 IS NULL AND +c22 IS NULL AND +c23 IS NULL AND +c24 IS NULL AND +c25 IS NULL AND +c26 IS NULL AND +c27 IS NULL AND +# +c28 IS NULL AND +c29 IS NULL AND +# this got a timestamp instead of NULL: c30 IS NULL AND +c31 IS NULL AND +c32 IS NULL AND +# +c33 IS NULL AND +c34 IS NULL AND +c35 IS NULL AND +c36 IS NULL AND +c37 IS NULL AND +c38 IS NULL AND +c39 IS NULL AND +c40 IS NULL AND +c41 IS NULL AND +c42 IS NULL AND +c43 IS NULL AND +c44 IS NULL AND +# +c45 IS NULL AND +c46 IS NULL AND +c47 IS NULL AND +c48 IS NULL AND +c49 IS NULL AND +c50 IS NULL AND +c51 IS NULL AND +c52 IS NULL AND +c53 IS NULL AND +c54 IS NULL AND +c55 IS NULL AND +c56 IS NULL AND +# +c57 IS NULL AND +c58 IS NULL AND +c59 IS NULL AND +c60 IS NULL AND +# +c61 IS NULL AND +c62 IS NULL AND +c63 IS NULL AND +c64 IS NULL AND +# +c65 IS NULL AND +c66 IS NULL AND +c67 IS NULL AND +c68 IS NULL AND +c69 IS NULL AND +c70 IS NULL AND +c71 IS NULL AND +c72 IS NULL AND +c73 IS NULL AND +c74 IS NULL AND +c75 IS NULL AND +c76 IS NULL AND +# +c77 IS NULL AND +c78 IS NULL AND +# +crn = 4; +affected rows: 1 +# +# Show what we have in the table. Should be empty now. +# +SELECT * FROM t1; +affected rows: 0 +# +# Hide how much rows are affected by each statement. +# +# +# Flush all log buffers to the log file. +# +FLUSH LOGS; +# +# Call mysqlbinlog to display the log file contents. +# +/*!40019 SET @@session.max_insert_delayed_threads=0*/; +/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; +DELIMITER /*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Start: binlog v 4, server v #.##.## created 010909 4:46:40 at startup +ROLLBACK/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +use test/*!*/; +SET TIMESTAMP=1000000000/*!*/; +SET @@session.pseudo_thread_id=#/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/; +/*!\C utf8 *//*!*/; +SET @@session.character_set_client=33,@@session.collation_connection=33,@@session.collation_server=8/*!*/; +SET @@session.lc_time_names=0/*!*/; +SET @@session.collation_database=DEFAULT/*!*/; +CREATE TABLE t1 ( +c01 BIT, +c02 BIT(64), +c03 TINYINT, +c04 TINYINT UNSIGNED, +c05 TINYINT ZEROFILL, +c06 BOOL, +c07 SMALLINT, +c08 SMALLINT UNSIGNED, +c09 SMALLINT ZEROFILL, +c10 MEDIUMINT, +c11 MEDIUMINT UNSIGNED, +c12 MEDIUMINT ZEROFILL, +c13 INT, +c14 INT UNSIGNED, +c15 INT ZEROFILL, +c16 BIGINT, +c17 BIGINT UNSIGNED, +c18 BIGINT ZEROFILL, +c19 FLOAT, +c20 FLOAT UNSIGNED, +c21 FLOAT ZEROFILL, +c22 DOUBLE, +c23 DOUBLE UNSIGNED, +c24 DOUBLE ZEROFILL, +c25 DECIMAL, +c26 DECIMAL UNSIGNED, +c27 DECIMAL ZEROFILL, +# +c28 DATE, +c29 DATETIME, +c30 TIMESTAMP, +c31 TIME, +c32 YEAR, +# +c33 CHAR, +c34 CHAR(0), +c35 CHAR(1), +c36 CHAR(255), +c37 NATIONAL CHAR, +c38 NATIONAL CHAR(0), +c39 NATIONAL CHAR(1), +c40 NATIONAL CHAR(255), +c41 CHAR CHARACTER SET UCS2, +c42 CHAR(0) CHARACTER SET UCS2, +c43 CHAR(1) CHARACTER SET UCS2, +c44 CHAR(255) CHARACTER SET UCS2, +# +c45 VARCHAR(0), +c46 VARCHAR(1), +c47 VARCHAR(255), +c48 VARCHAR(261), +c49 NATIONAL VARCHAR(0), +c50 NATIONAL VARCHAR(1), +c51 NATIONAL VARCHAR(255), +c52 NATIONAL VARCHAR(261), +c53 VARCHAR(0) CHARACTER SET UCS2, +c54 VARCHAR(1) CHARACTER SET UCS2, +c55 VARCHAR(255) CHARACTER SET UCS2, +c56 VARCHAR(261) CHARACTER SET UCS2, +# +c57 BINARY, +c58 BINARY(0), +c59 BINARY(1), +c60 BINARY(255), +# +c61 VARBINARY(0), +c62 VARBINARY(1), +c63 VARBINARY(255), +c64 VARBINARY(261), +# +c65 TINYBLOB, +c66 TINYTEXT, +c67 TINYTEXT CHARACTER SET UCS2, +c68 BLOB, +c69 TEXT, +c70 TEXT CHARACTER SET UCS2, +c71 MEDIUMBLOB, +c72 MEDIUMTEXT, +c73 MEDIUMTEXT CHARACTER SET UCS2, +c74 LONGBLOB, +c75 LONGTEXT, +c76 LONGTEXT CHARACTER SET UCS2, +# +c77 ENUM('a','b','c'), +c78 SET('a','b','c'), +# +crn INT -- row number +) ENGINE=InnoDB DEFAULT CHARSET latin1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +SET @@session.time_zone='SYSTEM'/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=b'00000000' /* BIT(8) meta=256 nullable=1 is_null=0 */ +### @2=b'0000000000000000000000000000000000000000000000000000000000000000' /* BIT(64) meta=2048 nullable=1 is_null=0 */ +### @3=-128 (128) /* TINYINT meta=0 nullable=1 is_null=0 */ +### @4=0 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @5=0 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @6=0 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @7=-32768 (32768) /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @8=0 /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @9=0 /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @10=-8388608 (8388608) /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @11=0 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @12=0 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @13=-2147483648 (2147483648) /* INT meta=0 nullable=1 is_null=0 */ +### @14=0 /* INT meta=0 nullable=1 is_null=0 */ +### @15=0 /* INT meta=0 nullable=1 is_null=0 */ +### @16=-9223372036854775808 (9223372036854775808) /* LONGINT meta=0 nullable=1 is_null=0 */ +### @17=0 /* LONGINT meta=0 nullable=1 is_null=0 */ +### @18=0 /* LONGINT meta=0 nullable=1 is_null=0 */ +### @19=-3.402... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @20=1.175... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @21=0 /* FLOAT meta=4 nullable=1 is_null=0 */ +### @22=-1.797... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @23=2.225... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @24=0 /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @25=-000000009.999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @26=000000000 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @27=000000000 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @28='1000:01:01' /* DATE meta=0 nullable=1 is_null=0 */ +### @29=1000-01-01 00:00:00 /* DATETIME meta=0 nullable=1 is_null=0 */ +### @30=75601 /* TIMESTAMP meta=0 nullable=0 is_null=0 */ +### @31='839:12:57' /* TIME meta=0 nullable=1 is_null=0 */ +### @32=1901 /* YEAR meta=0 nullable=1 is_null=0 */ +### @33='' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @34='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @35='' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @36='' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +### @37='' /* STRING(3) meta=65027 nullable=1 is_null=0 */ +### @38='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @39='' /* STRING(3) meta=65027 nullable=1 is_null=0 */ +### @40='' /* STRING(765) meta=57085 nullable=1 is_null=0 */ +### @41='\x00' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +### @42='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @43='\x00' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +### @44='\x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00' /* STRING(510) meta=61182 nullable=1 is_null=0 */ +### @45='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @46='' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +### @47='' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @48='' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */ +### @49='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @50='' /* VARSTRING(3) meta=3 nullable=1 is_null=0 */ +### @51='' /* VARSTRING(765) meta=765 nullable=1 is_null=0 */ +### @52='' /* VARSTRING(783) meta=783 nullable=1 is_null=0 */ +### @53='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @54='' /* VARSTRING(2) meta=2 nullable=1 is_null=0 */ +### @55='' /* VARSTRING(510) meta=510 nullable=1 is_null=0 */ +### @56='' /* VARSTRING(522) meta=522 nullable=1 is_null=0 */ +### @57='' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @58='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @59='' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @60='' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +### @61='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @62='' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +### @63='' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @64='' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */ +### @65='' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @66='' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @67='' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @68='' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @69='' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @70='' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @71='' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @72='' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @73='' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @74='' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @75='' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @76='' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @77=1 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */ +### @78=b'00000000' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ +### @79=1 /* INT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Xid = # +COMMIT/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=b'00000001' /* BIT(8) meta=256 nullable=1 is_null=0 */ +### @2=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 nullable=1 is_null=0 */ +### @3=127 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @4=-1 (255) /* TINYINT meta=0 nullable=1 is_null=0 */ +### @5=-1 (255) /* TINYINT meta=0 nullable=1 is_null=0 */ +### @6=1 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @7=32767 /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @8=-1 (65535) /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @9=-1 (65535) /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @10=8388607 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @11=-1 (16777215) /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @12=-1 (16777215) /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @13=2147483647 /* INT meta=0 nullable=1 is_null=0 */ +### @14=-1 (4294967295) /* INT meta=0 nullable=1 is_null=0 */ +### @15=-1 (4294967295) /* INT meta=0 nullable=1 is_null=0 */ +### @16=9223372036854775807 /* LONGINT meta=0 nullable=1 is_null=0 */ +### @17=-1 (18446744073709551615) /* LONGINT meta=0 nullable=1 is_null=0 */ +### @18=-1 (18446744073709551615) /* LONGINT meta=0 nullable=1 is_null=0 */ +### @19=3.402... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @20=3.402... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @21=3.402... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @22=1.797... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @23=1.797... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @24=1.797... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @25=000000009.999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @26=000000009.999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @27=000000009.999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @28='9999:12:31' /* DATE meta=0 nullable=1 is_null=0 */ +### @29=9999-12-31 23:59:59 /* DATETIME meta=0 nullable=1 is_null=0 */ +### @30=2146522447 /* TIMESTAMP meta=0 nullable=0 is_null=0 */ +### @31='838:59:59' /* TIME meta=0 nullable=1 is_null=0 */ +### @32=2155 /* YEAR meta=0 nullable=1 is_null=0 */ +### @33='ÿ' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @34='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @35='ÿ' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @36='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +### @37='ï¿¿' /* STRING(3) meta=65027 nullable=1 is_null=0 */ +### @38='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @39='ï¿¿' /* STRING(3) meta=65027 nullable=1 is_null=0 */ +### @40='ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿' /* STRING(765) meta=57085 nullable=1 is_null=0 */ +### @41='ÿÿ' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +### @42='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @43='ÿÿ' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +### @44='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* STRING(510) meta=61182 nullable=1 is_null=0 */ +### @45='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @46='ÿ' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +### @47='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @48='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */ +### @49='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @50='ï¿¿' /* VARSTRING(3) meta=3 nullable=1 is_null=0 */ +### @51='ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿' /* VARSTRING(765) meta=765 nullable=1 is_null=0 */ +### @52='ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿' /* VARSTRING(783) meta=783 nullable=1 is_null=0 */ +### @53='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @54='ÿÿ' /* VARSTRING(2) meta=2 nullable=1 is_null=0 */ +### @55='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* VARSTRING(510) meta=510 nullable=1 is_null=0 */ +### @56='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* VARSTRING(522) meta=522 nullable=1 is_null=0 */ +### @57='ÿ' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @58='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @59='ÿ' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @60='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +### @61='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @62='ÿ' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +### @63='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @64='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */ +### @65='tinyblob' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @66='tinytext' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @67='\x00t\x00i\x00n\x00y\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @68='blob' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @69='text' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @70='\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @71='mediumblob' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @72='mediumtext' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @73='\x00m\x00e\x00d\x00i\x00u\x00m\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @74='longblob' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @75='longtext' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @76='\x00l\x00o\x00n\x00g\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @77=3 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */ +### @78=b'00000111' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ +### @79=2 /* INT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Xid = # +COMMIT/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=NULL /* type=16 meta=256 nullable=1 is_null=1 */ +### @2=NULL /* type=16 meta=2048 nullable=1 is_null=1 */ +### @3=NULL /* type=1 meta=0 nullable=1 is_null=1 */ +### @4=NULL /* type=1 meta=0 nullable=1 is_null=1 */ +### @5=NULL /* type=1 meta=0 nullable=1 is_null=1 */ +### @6=NULL /* type=1 meta=0 nullable=1 is_null=1 */ +### @7=NULL /* type=2 meta=0 nullable=1 is_null=1 */ +### @8=NULL /* type=2 meta=0 nullable=1 is_null=1 */ +### @9=NULL /* type=2 meta=0 nullable=1 is_null=1 */ +### @10=NULL /* type=9 meta=0 nullable=1 is_null=1 */ +### @11=NULL /* type=9 meta=0 nullable=1 is_null=1 */ +### @12=NULL /* type=9 meta=0 nullable=1 is_null=1 */ +### @13=NULL /* type=3 meta=0 nullable=1 is_null=1 */ +### @14=NULL /* type=3 meta=0 nullable=1 is_null=1 */ +### @15=NULL /* type=3 meta=0 nullable=1 is_null=1 */ +### @16=NULL /* type=8 meta=0 nullable=1 is_null=1 */ +### @17=NULL /* type=8 meta=0 nullable=1 is_null=1 */ +### @18=NULL /* type=8 meta=0 nullable=1 is_null=1 */ +### @19=NULL /* type=4 meta=4 nullable=1 is_null=1 */ +### @20=NULL /* type=4 meta=4 nullable=1 is_null=1 */ +### @21=NULL /* type=4 meta=4 nullable=1 is_null=1 */ +### @22=NULL /* type=5 meta=8 nullable=1 is_null=1 */ +### @23=NULL /* type=5 meta=8 nullable=1 is_null=1 */ +### @24=NULL /* type=5 meta=8 nullable=1 is_null=1 */ +### @25=NULL /* type=246 meta=2560 nullable=1 is_null=1 */ +### @26=NULL /* type=246 meta=2560 nullable=1 is_null=1 */ +### @27=NULL /* type=246 meta=2560 nullable=1 is_null=1 */ +### @28=NULL /* type=10 meta=0 nullable=1 is_null=1 */ +### @29=NULL /* type=12 meta=0 nullable=1 is_null=1 */ +### @30=1000000000 /* TIMESTAMP meta=0 nullable=0 is_null=0 */ +### @31=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */ +### @32=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */ +### @33=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */ +### @34=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */ +### @35=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */ +### @36=NULL /* TIMESTAMP meta=65279 nullable=1 is_null=1 */ +### @37=NULL /* TIMESTAMP meta=65027 nullable=1 is_null=1 */ +### @38=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */ +### @39=NULL /* TIMESTAMP meta=65027 nullable=1 is_null=1 */ +### @40=NULL /* TIMESTAMP meta=57085 nullable=1 is_null=1 */ +### @41=NULL /* TIMESTAMP meta=65026 nullable=1 is_null=1 */ +### @42=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */ +### @43=NULL /* TIMESTAMP meta=65026 nullable=1 is_null=1 */ +### @44=NULL /* TIMESTAMP meta=61182 nullable=1 is_null=1 */ +### @45=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */ +### @46=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */ +### @47=NULL /* TIMESTAMP meta=255 nullable=1 is_null=1 */ +### @48=NULL /* TIMESTAMP meta=261 nullable=1 is_null=1 */ +### @49=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */ +### @50=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */ +### @51=NULL /* TIMESTAMP meta=765 nullable=1 is_null=1 */ +### @52=NULL /* TIMESTAMP meta=783 nullable=1 is_null=1 */ +### @53=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */ +### @54=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */ +### @55=NULL /* TIMESTAMP meta=510 nullable=1 is_null=1 */ +### @56=NULL /* TIMESTAMP meta=522 nullable=1 is_null=1 */ +### @57=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */ +### @58=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */ +### @59=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */ +### @60=NULL /* TIMESTAMP meta=65279 nullable=1 is_null=1 */ +### @61=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */ +### @62=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */ +### @63=NULL /* TIMESTAMP meta=255 nullable=1 is_null=1 */ +### @64=NULL /* TIMESTAMP meta=261 nullable=1 is_null=1 */ +### @65=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */ +### @66=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */ +### @67=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */ +### @68=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */ +### @69=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */ +### @70=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */ +### @71=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */ +### @72=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */ +### @73=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */ +### @74=NULL /* TIMESTAMP meta=4 nullable=1 is_null=1 */ +### @75=NULL /* TIMESTAMP meta=4 nullable=1 is_null=1 */ +### @76=NULL /* TIMESTAMP meta=4 nullable=1 is_null=1 */ +### @77=NULL /* TIMESTAMP meta=63233 nullable=1 is_null=1 */ +### @78=NULL /* TIMESTAMP meta=63489 nullable=1 is_null=1 */ +### @79=3 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t1 +### SET +### @1=b'00000001' /* BIT(8) meta=256 nullable=1 is_null=0 */ +### @2=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 nullable=1 is_null=0 */ +### @3=127 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @4=0 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @5=1 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @6=1 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @7=32767 /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @8=0 /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @9=1 /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @10=8388607 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @11=0 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @12=1 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @13=2147483647 /* INT meta=0 nullable=1 is_null=0 */ +### @14=0 /* INT meta=0 nullable=1 is_null=0 */ +### @15=1 /* INT meta=0 nullable=1 is_null=0 */ +### @16=9223372036854775807 /* LONGINT meta=0 nullable=1 is_null=0 */ +### @17=0 /* LONGINT meta=0 nullable=1 is_null=0 */ +### @18=1 /* LONGINT meta=0 nullable=1 is_null=0 */ +### @19=-1.175... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @20=1.175... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @21=1 /* FLOAT meta=4 nullable=1 is_null=0 */ +### @22=-2.225... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @23=2.225... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @24=1 /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @25=-000000009.999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @26=000000009.999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @27=000000001 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @28='2008:08:04' /* DATE meta=0 nullable=1 is_null=0 */ +### @29=2008-08-04 16:18:06 /* DATETIME meta=0 nullable=1 is_null=0 */ +### @30=1217855904 /* TIMESTAMP meta=0 nullable=0 is_null=0 */ +### @31='16:18:47' /* TIME meta=0 nullable=1 is_null=0 */ +### @32=2008 /* YEAR meta=0 nullable=1 is_null=0 */ +### @33='a' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @34='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @35='e' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @36='iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +### @37='ä' /* STRING(3) meta=65027 nullable=1 is_null=0 */ +### @38='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @39='ö' /* STRING(3) meta=65027 nullable=1 is_null=0 */ +### @40='üüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüü' /* STRING(765) meta=57085 nullable=1 is_null=0 */ +### @41='\x00ä' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +### @42='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @43='\x00ö' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +### @44='\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü' /* STRING(510) meta=61182 nullable=1 is_null=0 */ +### @45='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @46='a' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +### @47='eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @48='iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */ +### @49='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @50='ä' /* VARSTRING(3) meta=3 nullable=1 is_null=0 */ +### @51='ööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööö' /* VARSTRING(765) meta=765 nullable=1 is_null=0 */ +### @52='üüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüü' /* VARSTRING(783) meta=783 nullable=1 is_null=0 */ +### @53='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @54='\x00ä' /* VARSTRING(2) meta=2 nullable=1 is_null=0 */ +### @55='\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö' /* VARSTRING(510) meta=510 nullable=1 is_null=0 */ +### @56='\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü' /* VARSTRING(522) meta=522 nullable=1 is_null=0 */ +### @57='0' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @58='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @59='1' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @60='111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +### @61='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @62='b' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +### @63='ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @64=''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */ +### @65='tinyblob' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @66='tinytext' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @67='\x00t\x00i\x00n\x00y\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @68='blob' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @69='text' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @70='\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @71='mediumblob' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @72='mediumtext' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @73='\x00m\x00e\x00d\x00i\x00u\x00m\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @74='longblob' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @75='longtext' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @76='\x00l\x00o\x00n\x00g\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @77=2 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */ +### @78=b'00000110' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ +### @79=4 /* INT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Xid = # +COMMIT/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F +### UPDATE test.t1 +### WHERE +### @1=b'00000000' /* BIT(8) meta=256 nullable=1 is_null=0 */ +### @2=b'0000000000000000000000000000000000000000000000000000000000000000' /* BIT(64) meta=2048 nullable=1 is_null=0 */ +### @3=-128 (128) /* TINYINT meta=0 nullable=1 is_null=0 */ +### @4=0 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @5=0 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @6=0 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @7=-32768 (32768) /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @8=0 /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @9=0 /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @10=-8388608 (8388608) /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @11=0 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @12=0 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @13=-2147483648 (2147483648) /* INT meta=0 nullable=1 is_null=0 */ +### @14=0 /* INT meta=0 nullable=1 is_null=0 */ +### @15=0 /* INT meta=0 nullable=1 is_null=0 */ +### @16=-9223372036854775808 (9223372036854775808) /* LONGINT meta=0 nullable=1 is_null=0 */ +### @17=0 /* LONGINT meta=0 nullable=1 is_null=0 */ +### @18=0 /* LONGINT meta=0 nullable=1 is_null=0 */ +### @19=-3.402... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @20=1.175... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @21=0 /* FLOAT meta=4 nullable=1 is_null=0 */ +### @22=-1.797... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @23=2.225... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @24=0 /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @25=-000000009.999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @26=000000000 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @27=000000000 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @28='1000:01:01' /* DATE meta=0 nullable=1 is_null=0 */ +### @29=1000-01-01 00:00:00 /* DATETIME meta=0 nullable=1 is_null=0 */ +### @30=75601 /* TIMESTAMP meta=0 nullable=0 is_null=0 */ +### @31='839:12:57' /* TIME meta=0 nullable=1 is_null=0 */ +### @32=1901 /* YEAR meta=0 nullable=1 is_null=0 */ +### @33='' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @34='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @35='' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @36='' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +### @37='' /* STRING(3) meta=65027 nullable=1 is_null=0 */ +### @38='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @39='' /* STRING(3) meta=65027 nullable=1 is_null=0 */ +### @40='' /* STRING(765) meta=57085 nullable=1 is_null=0 */ +### @41='\x00' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +### @42='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @43='\x00' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +### @44='\x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00' /* STRING(510) meta=61182 nullable=1 is_null=0 */ +### @45='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @46='' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +### @47='' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @48='' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */ +### @49='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @50='' /* VARSTRING(3) meta=3 nullable=1 is_null=0 */ +### @51='' /* VARSTRING(765) meta=765 nullable=1 is_null=0 */ +### @52='' /* VARSTRING(783) meta=783 nullable=1 is_null=0 */ +### @53='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @54='' /* VARSTRING(2) meta=2 nullable=1 is_null=0 */ +### @55='' /* VARSTRING(510) meta=510 nullable=1 is_null=0 */ +### @56='' /* VARSTRING(522) meta=522 nullable=1 is_null=0 */ +### @57='' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @58='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @59='' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @60='' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +### @61='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @62='' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +### @63='' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @64='' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */ +### @65='' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @66='' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @67='' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @68='' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @69='' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @70='' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @71='' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @72='' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @73='' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @74='' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @75='' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @76='' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @77=1 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */ +### @78=b'00000000' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ +### @79=1 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1=b'00000001' /* BIT(8) meta=256 nullable=1 is_null=0 */ +### @2=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 nullable=1 is_null=0 */ +### @3=127 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @4=-1 (255) /* TINYINT meta=0 nullable=1 is_null=0 */ +### @5=-1 (255) /* TINYINT meta=0 nullable=1 is_null=0 */ +### @6=1 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @7=32767 /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @8=-1 (65535) /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @9=-1 (65535) /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @10=8388607 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @11=-1 (16777215) /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @12=-1 (16777215) /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @13=2147483647 /* INT meta=0 nullable=1 is_null=0 */ +### @14=-1 (4294967295) /* INT meta=0 nullable=1 is_null=0 */ +### @15=-1 (4294967295) /* INT meta=0 nullable=1 is_null=0 */ +### @16=9223372036854775807 /* LONGINT meta=0 nullable=1 is_null=0 */ +### @17=-1 (18446744073709551615) /* LONGINT meta=0 nullable=1 is_null=0 */ +### @18=-1 (18446744073709551615) /* LONGINT meta=0 nullable=1 is_null=0 */ +### @19=3.402... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @20=3.402... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @21=3.402... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @22=1.797... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @23=1.797... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @24=1.797... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @25=000000009.999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @26=000000009.999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @27=000000009.999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @28='9999:12:31' /* DATE meta=0 nullable=1 is_null=0 */ +### @29=9999-12-31 23:59:59 /* DATETIME meta=0 nullable=1 is_null=0 */ +### @30=2146522447 /* TIMESTAMP meta=0 nullable=0 is_null=0 */ +### @31='838:59:59' /* TIME meta=0 nullable=1 is_null=0 */ +### @32=2155 /* YEAR meta=0 nullable=1 is_null=0 */ +### @33='ÿ' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @34='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @35='ÿ' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @36='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +### @37='ï¿¿' /* STRING(3) meta=65027 nullable=1 is_null=0 */ +### @38='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @39='ï¿¿' /* STRING(3) meta=65027 nullable=1 is_null=0 */ +### @40='ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿' /* STRING(765) meta=57085 nullable=1 is_null=0 */ +### @41='ÿÿ' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +### @42='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @43='ÿÿ' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +### @44='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* STRING(510) meta=61182 nullable=1 is_null=0 */ +### @45='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @46='ÿ' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +### @47='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @48='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */ +### @49='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @50='ï¿¿' /* VARSTRING(3) meta=3 nullable=1 is_null=0 */ +### @51='ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿' /* VARSTRING(765) meta=765 nullable=1 is_null=0 */ +### @52='ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿' /* VARSTRING(783) meta=783 nullable=1 is_null=0 */ +### @53='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @54='ÿÿ' /* VARSTRING(2) meta=2 nullable=1 is_null=0 */ +### @55='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* VARSTRING(510) meta=510 nullable=1 is_null=0 */ +### @56='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* VARSTRING(522) meta=522 nullable=1 is_null=0 */ +### @57='ÿ' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @58='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @59='ÿ' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @60='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +### @61='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @62='ÿ' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +### @63='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @64='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */ +### @65='tinyblob' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @66='tinytext' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @67='\x00t\x00i\x00n\x00y\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @68='blob' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @69='text' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @70='\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @71='mediumblob' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @72='mediumtext' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @73='\x00m\x00e\x00d\x00i\x00u\x00m\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @74='longblob' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @75='longtext' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @76='\x00l\x00o\x00n\x00g\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @77=3 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */ +### @78=b'00000111' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ +### @79=1 /* INT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Xid = # +COMMIT/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F +### UPDATE test.t1 +### WHERE +### @1=b'00000001' /* BIT(8) meta=256 nullable=1 is_null=0 */ +### @2=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 nullable=1 is_null=0 */ +### @3=127 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @4=-1 (255) /* TINYINT meta=0 nullable=1 is_null=0 */ +### @5=-1 (255) /* TINYINT meta=0 nullable=1 is_null=0 */ +### @6=1 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @7=32767 /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @8=-1 (65535) /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @9=-1 (65535) /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @10=8388607 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @11=-1 (16777215) /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @12=-1 (16777215) /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @13=2147483647 /* INT meta=0 nullable=1 is_null=0 */ +### @14=-1 (4294967295) /* INT meta=0 nullable=1 is_null=0 */ +### @15=-1 (4294967295) /* INT meta=0 nullable=1 is_null=0 */ +### @16=9223372036854775807 /* LONGINT meta=0 nullable=1 is_null=0 */ +### @17=-1 (18446744073709551615) /* LONGINT meta=0 nullable=1 is_null=0 */ +### @18=-1 (18446744073709551615) /* LONGINT meta=0 nullable=1 is_null=0 */ +### @19=3.402... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @20=3.402... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @21=3.402... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @22=1.797... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @23=1.797... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @24=1.797... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @25=000000009.999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @26=000000009.999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @27=000000009.999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @28='9999:12:31' /* DATE meta=0 nullable=1 is_null=0 */ +### @29=9999-12-31 23:59:59 /* DATETIME meta=0 nullable=1 is_null=0 */ +### @30=2146522447 /* TIMESTAMP meta=0 nullable=0 is_null=0 */ +### @31='838:59:59' /* TIME meta=0 nullable=1 is_null=0 */ +### @32=2155 /* YEAR meta=0 nullable=1 is_null=0 */ +### @33='ÿ' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @34='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @35='ÿ' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @36='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +### @37='ï¿¿' /* STRING(3) meta=65027 nullable=1 is_null=0 */ +### @38='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @39='ï¿¿' /* STRING(3) meta=65027 nullable=1 is_null=0 */ +### @40='ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿' /* STRING(765) meta=57085 nullable=1 is_null=0 */ +### @41='ÿÿ' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +### @42='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @43='ÿÿ' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +### @44='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* STRING(510) meta=61182 nullable=1 is_null=0 */ +### @45='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @46='ÿ' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +### @47='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @48='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */ +### @49='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @50='ï¿¿' /* VARSTRING(3) meta=3 nullable=1 is_null=0 */ +### @51='ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿' /* VARSTRING(765) meta=765 nullable=1 is_null=0 */ +### @52='ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿' /* VARSTRING(783) meta=783 nullable=1 is_null=0 */ +### @53='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @54='ÿÿ' /* VARSTRING(2) meta=2 nullable=1 is_null=0 */ +### @55='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* VARSTRING(510) meta=510 nullable=1 is_null=0 */ +### @56='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* VARSTRING(522) meta=522 nullable=1 is_null=0 */ +### @57='ÿ' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @58='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @59='ÿ' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @60='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +### @61='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @62='ÿ' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +### @63='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @64='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */ +### @65='tinyblob' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @66='tinytext' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @67='\x00t\x00i\x00n\x00y\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @68='blob' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @69='text' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @70='\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @71='mediumblob' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @72='mediumtext' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @73='\x00m\x00e\x00d\x00i\x00u\x00m\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @74='longblob' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @75='longtext' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @76='\x00l\x00o\x00n\x00g\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @77=3 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */ +### @78=b'00000111' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ +### @79=2 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1=b'00000000' /* BIT(8) meta=256 nullable=1 is_null=0 */ +### @2=b'0000000000000000000000000000000000000000000000000000000000000000' /* BIT(64) meta=2048 nullable=1 is_null=0 */ +### @3=-128 (128) /* TINYINT meta=0 nullable=1 is_null=0 */ +### @4=0 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @5=0 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @6=0 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @7=-32768 (32768) /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @8=0 /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @9=0 /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @10=-8388608 (8388608) /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @11=0 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @12=0 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @13=-2147483648 (2147483648) /* INT meta=0 nullable=1 is_null=0 */ +### @14=0 /* INT meta=0 nullable=1 is_null=0 */ +### @15=0 /* INT meta=0 nullable=1 is_null=0 */ +### @16=-9223372036854775808 (9223372036854775808) /* LONGINT meta=0 nullable=1 is_null=0 */ +### @17=0 /* LONGINT meta=0 nullable=1 is_null=0 */ +### @18=0 /* LONGINT meta=0 nullable=1 is_null=0 */ +### @19=-3.402... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @20=1.175... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @21=0 /* FLOAT meta=4 nullable=1 is_null=0 */ +### @22=-1.797... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @23=2.225... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @24=0 /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @25=-000000009.999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @26=000000000 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @27=000000000 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @28='1000:01:01' /* DATE meta=0 nullable=1 is_null=0 */ +### @29=1000-01-01 00:00:00 /* DATETIME meta=0 nullable=1 is_null=0 */ +### @30=75601 /* TIMESTAMP meta=0 nullable=0 is_null=0 */ +### @31='839:12:57' /* TIME meta=0 nullable=1 is_null=0 */ +### @32=1901 /* YEAR meta=0 nullable=1 is_null=0 */ +### @33='' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @34='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @35='' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @36='' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +### @37='' /* STRING(3) meta=65027 nullable=1 is_null=0 */ +### @38='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @39='' /* STRING(3) meta=65027 nullable=1 is_null=0 */ +### @40='' /* STRING(765) meta=57085 nullable=1 is_null=0 */ +### @41='\x00' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +### @42='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @43='\x00' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +### @44='\x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00' /* STRING(510) meta=61182 nullable=1 is_null=0 */ +### @45='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @46='' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +### @47='' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @48='' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */ +### @49='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @50='' /* VARSTRING(3) meta=3 nullable=1 is_null=0 */ +### @51='' /* VARSTRING(765) meta=765 nullable=1 is_null=0 */ +### @52='' /* VARSTRING(783) meta=783 nullable=1 is_null=0 */ +### @53='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @54='' /* VARSTRING(2) meta=2 nullable=1 is_null=0 */ +### @55='' /* VARSTRING(510) meta=510 nullable=1 is_null=0 */ +### @56='' /* VARSTRING(522) meta=522 nullable=1 is_null=0 */ +### @57='' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @58='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @59='' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @60='' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +### @61='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @62='' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +### @63='' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @64='' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */ +### @65='' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @66='' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @67='' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @68='' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @69='' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @70='' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @71='' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @72='' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @73='' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @74='' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @75='' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @76='' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @77=1 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */ +### @78=b'00000000' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ +### @79=2 /* INT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Xid = # +COMMIT/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F +### UPDATE test.t1 +### WHERE +### @1=NULL /* type=16 meta=256 nullable=1 is_null=1 */ +### @2=NULL /* type=16 meta=2048 nullable=1 is_null=1 */ +### @3=NULL /* type=1 meta=0 nullable=1 is_null=1 */ +### @4=NULL /* type=1 meta=0 nullable=1 is_null=1 */ +### @5=NULL /* type=1 meta=0 nullable=1 is_null=1 */ +### @6=NULL /* type=1 meta=0 nullable=1 is_null=1 */ +### @7=NULL /* type=2 meta=0 nullable=1 is_null=1 */ +### @8=NULL /* type=2 meta=0 nullable=1 is_null=1 */ +### @9=NULL /* type=2 meta=0 nullable=1 is_null=1 */ +### @10=NULL /* type=9 meta=0 nullable=1 is_null=1 */ +### @11=NULL /* type=9 meta=0 nullable=1 is_null=1 */ +### @12=NULL /* type=9 meta=0 nullable=1 is_null=1 */ +### @13=NULL /* type=3 meta=0 nullable=1 is_null=1 */ +### @14=NULL /* type=3 meta=0 nullable=1 is_null=1 */ +### @15=NULL /* type=3 meta=0 nullable=1 is_null=1 */ +### @16=NULL /* type=8 meta=0 nullable=1 is_null=1 */ +### @17=NULL /* type=8 meta=0 nullable=1 is_null=1 */ +### @18=NULL /* type=8 meta=0 nullable=1 is_null=1 */ +### @19=NULL /* type=4 meta=4 nullable=1 is_null=1 */ +### @20=NULL /* type=4 meta=4 nullable=1 is_null=1 */ +### @21=NULL /* type=4 meta=4 nullable=1 is_null=1 */ +### @22=NULL /* type=5 meta=8 nullable=1 is_null=1 */ +### @23=NULL /* type=5 meta=8 nullable=1 is_null=1 */ +### @24=NULL /* type=5 meta=8 nullable=1 is_null=1 */ +### @25=NULL /* type=246 meta=2560 nullable=1 is_null=1 */ +### @26=NULL /* type=246 meta=2560 nullable=1 is_null=1 */ +### @27=NULL /* type=246 meta=2560 nullable=1 is_null=1 */ +### @28=NULL /* type=10 meta=0 nullable=1 is_null=1 */ +### @29=NULL /* type=12 meta=0 nullable=1 is_null=1 */ +### @30=1000000000 /* TIMESTAMP meta=0 nullable=0 is_null=0 */ +### @31=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */ +### @32=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */ +### @33=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */ +### @34=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */ +### @35=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */ +### @36=NULL /* TIMESTAMP meta=65279 nullable=1 is_null=1 */ +### @37=NULL /* TIMESTAMP meta=65027 nullable=1 is_null=1 */ +### @38=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */ +### @39=NULL /* TIMESTAMP meta=65027 nullable=1 is_null=1 */ +### @40=NULL /* TIMESTAMP meta=57085 nullable=1 is_null=1 */ +### @41=NULL /* TIMESTAMP meta=65026 nullable=1 is_null=1 */ +### @42=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */ +### @43=NULL /* TIMESTAMP meta=65026 nullable=1 is_null=1 */ +### @44=NULL /* TIMESTAMP meta=61182 nullable=1 is_null=1 */ +### @45=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */ +### @46=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */ +### @47=NULL /* TIMESTAMP meta=255 nullable=1 is_null=1 */ +### @48=NULL /* TIMESTAMP meta=261 nullable=1 is_null=1 */ +### @49=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */ +### @50=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */ +### @51=NULL /* TIMESTAMP meta=765 nullable=1 is_null=1 */ +### @52=NULL /* TIMESTAMP meta=783 nullable=1 is_null=1 */ +### @53=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */ +### @54=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */ +### @55=NULL /* TIMESTAMP meta=510 nullable=1 is_null=1 */ +### @56=NULL /* TIMESTAMP meta=522 nullable=1 is_null=1 */ +### @57=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */ +### @58=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */ +### @59=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */ +### @60=NULL /* TIMESTAMP meta=65279 nullable=1 is_null=1 */ +### @61=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */ +### @62=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */ +### @63=NULL /* TIMESTAMP meta=255 nullable=1 is_null=1 */ +### @64=NULL /* TIMESTAMP meta=261 nullable=1 is_null=1 */ +### @65=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */ +### @66=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */ +### @67=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */ +### @68=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */ +### @69=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */ +### @70=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */ +### @71=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */ +### @72=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */ +### @73=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */ +### @74=NULL /* TIMESTAMP meta=4 nullable=1 is_null=1 */ +### @75=NULL /* TIMESTAMP meta=4 nullable=1 is_null=1 */ +### @76=NULL /* TIMESTAMP meta=4 nullable=1 is_null=1 */ +### @77=NULL /* TIMESTAMP meta=63233 nullable=1 is_null=1 */ +### @78=NULL /* TIMESTAMP meta=63489 nullable=1 is_null=1 */ +### @79=3 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1=b'00000001' /* BIT(8) meta=256 nullable=1 is_null=0 */ +### @2=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 nullable=1 is_null=0 */ +### @3=127 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @4=0 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @5=1 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @6=1 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @7=32767 /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @8=0 /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @9=1 /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @10=8388607 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @11=0 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @12=1 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @13=2147483647 /* INT meta=0 nullable=1 is_null=0 */ +### @14=0 /* INT meta=0 nullable=1 is_null=0 */ +### @15=1 /* INT meta=0 nullable=1 is_null=0 */ +### @16=9223372036854775807 /* LONGINT meta=0 nullable=1 is_null=0 */ +### @17=0 /* LONGINT meta=0 nullable=1 is_null=0 */ +### @18=1 /* LONGINT meta=0 nullable=1 is_null=0 */ +### @19=-1.175... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @20=1.175... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @21=1 /* FLOAT meta=4 nullable=1 is_null=0 */ +### @22=-2.225... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @23=2.225... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @24=1 /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @25=-000000009.999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @26=000000009.999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @27=000000001 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @28='2008:08:04' /* DATE meta=0 nullable=1 is_null=0 */ +### @29=2008-08-04 16:18:06 /* DATETIME meta=0 nullable=1 is_null=0 */ +### @30=1217855904 /* TIMESTAMP meta=0 nullable=0 is_null=0 */ +### @31='16:18:47' /* TIME meta=0 nullable=1 is_null=0 */ +### @32=2008 /* YEAR meta=0 nullable=1 is_null=0 */ +### @33='a' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @34='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @35='e' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @36='iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +### @37='ä' /* STRING(3) meta=65027 nullable=1 is_null=0 */ +### @38='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @39='ö' /* STRING(3) meta=65027 nullable=1 is_null=0 */ +### @40='üüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüü' /* STRING(765) meta=57085 nullable=1 is_null=0 */ +### @41='\x00ä' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +### @42='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @43='\x00ö' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +### @44='\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü' /* STRING(510) meta=61182 nullable=1 is_null=0 */ +### @45='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @46='a' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +### @47='eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @48='iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */ +### @49='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @50='ä' /* VARSTRING(3) meta=3 nullable=1 is_null=0 */ +### @51='ööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööö' /* VARSTRING(765) meta=765 nullable=1 is_null=0 */ +### @52='üüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüü' /* VARSTRING(783) meta=783 nullable=1 is_null=0 */ +### @53='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @54='\x00ä' /* VARSTRING(2) meta=2 nullable=1 is_null=0 */ +### @55='\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö' /* VARSTRING(510) meta=510 nullable=1 is_null=0 */ +### @56='\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü' /* VARSTRING(522) meta=522 nullable=1 is_null=0 */ +### @57='0' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @58='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @59='1' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @60='111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +### @61='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @62='b' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +### @63='ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @64=''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */ +### @65='tinyblob' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @66='tinytext' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @67='\x00t\x00i\x00n\x00y\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @68='blob' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @69='text' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @70='\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @71='mediumblob' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @72='mediumtext' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @73='\x00m\x00e\x00d\x00i\x00u\x00m\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @74='longblob' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @75='longtext' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @76='\x00l\x00o\x00n\x00g\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @77=2 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */ +### @78=b'00000110' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ +### @79=3 /* INT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Xid = # +COMMIT/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F +### UPDATE test.t1 +### WHERE +### @1=b'00000001' /* BIT(8) meta=256 nullable=1 is_null=0 */ +### @2=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 nullable=1 is_null=0 */ +### @3=127 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @4=0 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @5=1 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @6=1 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @7=32767 /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @8=0 /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @9=1 /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @10=8388607 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @11=0 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @12=1 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @13=2147483647 /* INT meta=0 nullable=1 is_null=0 */ +### @14=0 /* INT meta=0 nullable=1 is_null=0 */ +### @15=1 /* INT meta=0 nullable=1 is_null=0 */ +### @16=9223372036854775807 /* LONGINT meta=0 nullable=1 is_null=0 */ +### @17=0 /* LONGINT meta=0 nullable=1 is_null=0 */ +### @18=1 /* LONGINT meta=0 nullable=1 is_null=0 */ +### @19=-1.175... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @20=1.175... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @21=1 /* FLOAT meta=4 nullable=1 is_null=0 */ +### @22=-2.225... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @23=2.225... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @24=1 /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @25=-000000009.999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @26=000000009.999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @27=000000001 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @28='2008:08:04' /* DATE meta=0 nullable=1 is_null=0 */ +### @29=2008-08-04 16:18:06 /* DATETIME meta=0 nullable=1 is_null=0 */ +### @30=1217855904 /* TIMESTAMP meta=0 nullable=0 is_null=0 */ +### @31='16:18:47' /* TIME meta=0 nullable=1 is_null=0 */ +### @32=2008 /* YEAR meta=0 nullable=1 is_null=0 */ +### @33='a' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @34='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @35='e' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @36='iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +### @37='ä' /* STRING(3) meta=65027 nullable=1 is_null=0 */ +### @38='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @39='ö' /* STRING(3) meta=65027 nullable=1 is_null=0 */ +### @40='üüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüü' /* STRING(765) meta=57085 nullable=1 is_null=0 */ +### @41='\x00ä' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +### @42='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @43='\x00ö' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +### @44='\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü' /* STRING(510) meta=61182 nullable=1 is_null=0 */ +### @45='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @46='a' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +### @47='eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @48='iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */ +### @49='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @50='ä' /* VARSTRING(3) meta=3 nullable=1 is_null=0 */ +### @51='ööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööö' /* VARSTRING(765) meta=765 nullable=1 is_null=0 */ +### @52='üüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüü' /* VARSTRING(783) meta=783 nullable=1 is_null=0 */ +### @53='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @54='\x00ä' /* VARSTRING(2) meta=2 nullable=1 is_null=0 */ +### @55='\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö' /* VARSTRING(510) meta=510 nullable=1 is_null=0 */ +### @56='\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü' /* VARSTRING(522) meta=522 nullable=1 is_null=0 */ +### @57='0' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @58='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @59='1' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @60='111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +### @61='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @62='b' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +### @63='ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @64=''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */ +### @65='tinyblob' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @66='tinytext' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @67='\x00t\x00i\x00n\x00y\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @68='blob' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @69='text' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @70='\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @71='mediumblob' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @72='mediumtext' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @73='\x00m\x00e\x00d\x00i\x00u\x00m\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @74='longblob' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @75='longtext' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @76='\x00l\x00o\x00n\x00g\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @77=2 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */ +### @78=b'00000110' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ +### @79=4 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1=NULL /* type=16 meta=256 nullable=1 is_null=1 */ +### @2=NULL /* type=16 meta=2048 nullable=1 is_null=1 */ +### @3=NULL /* type=1 meta=0 nullable=1 is_null=1 */ +### @4=NULL /* type=1 meta=0 nullable=1 is_null=1 */ +### @5=NULL /* type=1 meta=0 nullable=1 is_null=1 */ +### @6=NULL /* type=1 meta=0 nullable=1 is_null=1 */ +### @7=NULL /* type=2 meta=0 nullable=1 is_null=1 */ +### @8=NULL /* type=2 meta=0 nullable=1 is_null=1 */ +### @9=NULL /* type=2 meta=0 nullable=1 is_null=1 */ +### @10=NULL /* type=9 meta=0 nullable=1 is_null=1 */ +### @11=NULL /* type=9 meta=0 nullable=1 is_null=1 */ +### @12=NULL /* type=9 meta=0 nullable=1 is_null=1 */ +### @13=NULL /* type=3 meta=0 nullable=1 is_null=1 */ +### @14=NULL /* type=3 meta=0 nullable=1 is_null=1 */ +### @15=NULL /* type=3 meta=0 nullable=1 is_null=1 */ +### @16=NULL /* type=8 meta=0 nullable=1 is_null=1 */ +### @17=NULL /* type=8 meta=0 nullable=1 is_null=1 */ +### @18=NULL /* type=8 meta=0 nullable=1 is_null=1 */ +### @19=NULL /* type=4 meta=4 nullable=1 is_null=1 */ +### @20=NULL /* type=4 meta=4 nullable=1 is_null=1 */ +### @21=NULL /* type=4 meta=4 nullable=1 is_null=1 */ +### @22=NULL /* type=5 meta=8 nullable=1 is_null=1 */ +### @23=NULL /* type=5 meta=8 nullable=1 is_null=1 */ +### @24=NULL /* type=5 meta=8 nullable=1 is_null=1 */ +### @25=NULL /* type=246 meta=2560 nullable=1 is_null=1 */ +### @26=NULL /* type=246 meta=2560 nullable=1 is_null=1 */ +### @27=NULL /* type=246 meta=2560 nullable=1 is_null=1 */ +### @28=NULL /* type=10 meta=0 nullable=1 is_null=1 */ +### @29=NULL /* type=12 meta=0 nullable=1 is_null=1 */ +### @30=1000000000 /* TIMESTAMP meta=0 nullable=0 is_null=0 */ +### @31=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */ +### @32=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */ +### @33=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */ +### @34=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */ +### @35=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */ +### @36=NULL /* TIMESTAMP meta=65279 nullable=1 is_null=1 */ +### @37=NULL /* TIMESTAMP meta=65027 nullable=1 is_null=1 */ +### @38=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */ +### @39=NULL /* TIMESTAMP meta=65027 nullable=1 is_null=1 */ +### @40=NULL /* TIMESTAMP meta=57085 nullable=1 is_null=1 */ +### @41=NULL /* TIMESTAMP meta=65026 nullable=1 is_null=1 */ +### @42=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */ +### @43=NULL /* TIMESTAMP meta=65026 nullable=1 is_null=1 */ +### @44=NULL /* TIMESTAMP meta=61182 nullable=1 is_null=1 */ +### @45=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */ +### @46=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */ +### @47=NULL /* TIMESTAMP meta=255 nullable=1 is_null=1 */ +### @48=NULL /* TIMESTAMP meta=261 nullable=1 is_null=1 */ +### @49=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */ +### @50=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */ +### @51=NULL /* TIMESTAMP meta=765 nullable=1 is_null=1 */ +### @52=NULL /* TIMESTAMP meta=783 nullable=1 is_null=1 */ +### @53=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */ +### @54=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */ +### @55=NULL /* TIMESTAMP meta=510 nullable=1 is_null=1 */ +### @56=NULL /* TIMESTAMP meta=522 nullable=1 is_null=1 */ +### @57=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */ +### @58=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */ +### @59=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */ +### @60=NULL /* TIMESTAMP meta=65279 nullable=1 is_null=1 */ +### @61=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */ +### @62=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */ +### @63=NULL /* TIMESTAMP meta=255 nullable=1 is_null=1 */ +### @64=NULL /* TIMESTAMP meta=261 nullable=1 is_null=1 */ +### @65=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */ +### @66=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */ +### @67=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */ +### @68=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */ +### @69=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */ +### @70=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */ +### @71=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */ +### @72=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */ +### @73=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */ +### @74=NULL /* TIMESTAMP meta=4 nullable=1 is_null=1 */ +### @75=NULL /* TIMESTAMP meta=4 nullable=1 is_null=1 */ +### @76=NULL /* TIMESTAMP meta=4 nullable=1 is_null=1 */ +### @77=NULL /* TIMESTAMP meta=63233 nullable=1 is_null=1 */ +### @78=NULL /* TIMESTAMP meta=63489 nullable=1 is_null=1 */ +### @79=4 /* INT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Xid = # +COMMIT/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1=b'00000001' /* BIT(8) meta=256 nullable=1 is_null=0 */ +### @2=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 nullable=1 is_null=0 */ +### @3=127 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @4=-1 (255) /* TINYINT meta=0 nullable=1 is_null=0 */ +### @5=-1 (255) /* TINYINT meta=0 nullable=1 is_null=0 */ +### @6=1 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @7=32767 /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @8=-1 (65535) /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @9=-1 (65535) /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @10=8388607 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @11=-1 (16777215) /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @12=-1 (16777215) /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @13=2147483647 /* INT meta=0 nullable=1 is_null=0 */ +### @14=-1 (4294967295) /* INT meta=0 nullable=1 is_null=0 */ +### @15=-1 (4294967295) /* INT meta=0 nullable=1 is_null=0 */ +### @16=9223372036854775807 /* LONGINT meta=0 nullable=1 is_null=0 */ +### @17=-1 (18446744073709551615) /* LONGINT meta=0 nullable=1 is_null=0 */ +### @18=-1 (18446744073709551615) /* LONGINT meta=0 nullable=1 is_null=0 */ +### @19=3.402... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @20=3.402... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @21=3.402... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @22=1.797... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @23=1.797... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @24=1.797... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @25=000000009.999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @26=000000009.999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @27=000000009.999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @28='9999:12:31' /* DATE meta=0 nullable=1 is_null=0 */ +### @29=9999-12-31 23:59:59 /* DATETIME meta=0 nullable=1 is_null=0 */ +### @30=2146522447 /* TIMESTAMP meta=0 nullable=0 is_null=0 */ +### @31='838:59:59' /* TIME meta=0 nullable=1 is_null=0 */ +### @32=2155 /* YEAR meta=0 nullable=1 is_null=0 */ +### @33='ÿ' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @34='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @35='ÿ' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @36='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +### @37='ï¿¿' /* STRING(3) meta=65027 nullable=1 is_null=0 */ +### @38='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @39='ï¿¿' /* STRING(3) meta=65027 nullable=1 is_null=0 */ +### @40='ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿' /* STRING(765) meta=57085 nullable=1 is_null=0 */ +### @41='ÿÿ' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +### @42='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @43='ÿÿ' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +### @44='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* STRING(510) meta=61182 nullable=1 is_null=0 */ +### @45='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @46='ÿ' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +### @47='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @48='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */ +### @49='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @50='ï¿¿' /* VARSTRING(3) meta=3 nullable=1 is_null=0 */ +### @51='ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿' /* VARSTRING(765) meta=765 nullable=1 is_null=0 */ +### @52='ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿' /* VARSTRING(783) meta=783 nullable=1 is_null=0 */ +### @53='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @54='ÿÿ' /* VARSTRING(2) meta=2 nullable=1 is_null=0 */ +### @55='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* VARSTRING(510) meta=510 nullable=1 is_null=0 */ +### @56='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* VARSTRING(522) meta=522 nullable=1 is_null=0 */ +### @57='ÿ' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @58='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @59='ÿ' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @60='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +### @61='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @62='ÿ' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +### @63='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @64='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */ +### @65='tinyblob' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @66='tinytext' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @67='\x00t\x00i\x00n\x00y\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @68='blob' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @69='text' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @70='\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @71='mediumblob' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @72='mediumtext' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @73='\x00m\x00e\x00d\x00i\x00u\x00m\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @74='longblob' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @75='longtext' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @76='\x00l\x00o\x00n\x00g\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @77=3 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */ +### @78=b'00000111' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ +### @79=1 /* INT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Xid = # +COMMIT/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1=b'00000000' /* BIT(8) meta=256 nullable=1 is_null=0 */ +### @2=b'0000000000000000000000000000000000000000000000000000000000000000' /* BIT(64) meta=2048 nullable=1 is_null=0 */ +### @3=-128 (128) /* TINYINT meta=0 nullable=1 is_null=0 */ +### @4=0 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @5=0 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @6=0 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @7=-32768 (32768) /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @8=0 /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @9=0 /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @10=-8388608 (8388608) /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @11=0 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @12=0 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @13=-2147483648 (2147483648) /* INT meta=0 nullable=1 is_null=0 */ +### @14=0 /* INT meta=0 nullable=1 is_null=0 */ +### @15=0 /* INT meta=0 nullable=1 is_null=0 */ +### @16=-9223372036854775808 (9223372036854775808) /* LONGINT meta=0 nullable=1 is_null=0 */ +### @17=0 /* LONGINT meta=0 nullable=1 is_null=0 */ +### @18=0 /* LONGINT meta=0 nullable=1 is_null=0 */ +### @19=-3.402... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @20=1.175... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @21=0 /* FLOAT meta=4 nullable=1 is_null=0 */ +### @22=-1.797... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @23=2.225... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @24=0 /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @25=-000000009.999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @26=000000000 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @27=000000000 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @28='1000:01:01' /* DATE meta=0 nullable=1 is_null=0 */ +### @29=1000-01-01 00:00:00 /* DATETIME meta=0 nullable=1 is_null=0 */ +### @30=75601 /* TIMESTAMP meta=0 nullable=0 is_null=0 */ +### @31='839:12:57' /* TIME meta=0 nullable=1 is_null=0 */ +### @32=1901 /* YEAR meta=0 nullable=1 is_null=0 */ +### @33='' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @34='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @35='' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @36='' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +### @37='' /* STRING(3) meta=65027 nullable=1 is_null=0 */ +### @38='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @39='' /* STRING(3) meta=65027 nullable=1 is_null=0 */ +### @40='' /* STRING(765) meta=57085 nullable=1 is_null=0 */ +### @41='\x00' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +### @42='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @43='\x00' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +### @44='\x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00' /* STRING(510) meta=61182 nullable=1 is_null=0 */ +### @45='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @46='' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +### @47='' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @48='' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */ +### @49='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @50='' /* VARSTRING(3) meta=3 nullable=1 is_null=0 */ +### @51='' /* VARSTRING(765) meta=765 nullable=1 is_null=0 */ +### @52='' /* VARSTRING(783) meta=783 nullable=1 is_null=0 */ +### @53='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @54='' /* VARSTRING(2) meta=2 nullable=1 is_null=0 */ +### @55='' /* VARSTRING(510) meta=510 nullable=1 is_null=0 */ +### @56='' /* VARSTRING(522) meta=522 nullable=1 is_null=0 */ +### @57='' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @58='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @59='' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @60='' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +### @61='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @62='' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +### @63='' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @64='' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */ +### @65='' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @66='' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @67='' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @68='' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @69='' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @70='' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @71='' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @72='' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @73='' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @74='' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @75='' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @76='' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @77=1 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */ +### @78=b'00000000' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ +### @79=2 /* INT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Xid = # +COMMIT/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1=b'00000001' /* BIT(8) meta=256 nullable=1 is_null=0 */ +### @2=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 nullable=1 is_null=0 */ +### @3=127 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @4=0 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @5=1 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @6=1 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @7=32767 /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @8=0 /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @9=1 /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @10=8388607 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @11=0 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @12=1 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @13=2147483647 /* INT meta=0 nullable=1 is_null=0 */ +### @14=0 /* INT meta=0 nullable=1 is_null=0 */ +### @15=1 /* INT meta=0 nullable=1 is_null=0 */ +### @16=9223372036854775807 /* LONGINT meta=0 nullable=1 is_null=0 */ +### @17=0 /* LONGINT meta=0 nullable=1 is_null=0 */ +### @18=1 /* LONGINT meta=0 nullable=1 is_null=0 */ +### @19=-1.175... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @20=1.175... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @21=1 /* FLOAT meta=4 nullable=1 is_null=0 */ +### @22=-2.225... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @23=2.225... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @24=1 /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @25=-000000009.999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @26=000000009.999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @27=000000001 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @28='2008:08:04' /* DATE meta=0 nullable=1 is_null=0 */ +### @29=2008-08-04 16:18:06 /* DATETIME meta=0 nullable=1 is_null=0 */ +### @30=1217855904 /* TIMESTAMP meta=0 nullable=0 is_null=0 */ +### @31='16:18:47' /* TIME meta=0 nullable=1 is_null=0 */ +### @32=2008 /* YEAR meta=0 nullable=1 is_null=0 */ +### @33='a' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @34='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @35='e' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @36='iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +### @37='ä' /* STRING(3) meta=65027 nullable=1 is_null=0 */ +### @38='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @39='ö' /* STRING(3) meta=65027 nullable=1 is_null=0 */ +### @40='üüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüü' /* STRING(765) meta=57085 nullable=1 is_null=0 */ +### @41='\x00ä' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +### @42='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @43='\x00ö' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +### @44='\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü' /* STRING(510) meta=61182 nullable=1 is_null=0 */ +### @45='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @46='a' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +### @47='eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @48='iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */ +### @49='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @50='ä' /* VARSTRING(3) meta=3 nullable=1 is_null=0 */ +### @51='ööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööö' /* VARSTRING(765) meta=765 nullable=1 is_null=0 */ +### @52='üüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüü' /* VARSTRING(783) meta=783 nullable=1 is_null=0 */ +### @53='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @54='\x00ä' /* VARSTRING(2) meta=2 nullable=1 is_null=0 */ +### @55='\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö' /* VARSTRING(510) meta=510 nullable=1 is_null=0 */ +### @56='\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü' /* VARSTRING(522) meta=522 nullable=1 is_null=0 */ +### @57='0' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @58='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @59='1' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @60='111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +### @61='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @62='b' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +### @63='ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @64=''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */ +### @65='tinyblob' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @66='tinytext' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @67='\x00t\x00i\x00n\x00y\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @68='blob' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @69='text' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @70='\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @71='mediumblob' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @72='mediumtext' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @73='\x00m\x00e\x00d\x00i\x00u\x00m\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @74='longblob' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @75='longtext' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @76='\x00l\x00o\x00n\x00g\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @77=2 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */ +### @78=b'00000110' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ +### @79=3 /* INT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Xid = # +COMMIT/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1=NULL /* type=16 meta=256 nullable=1 is_null=1 */ +### @2=NULL /* type=16 meta=2048 nullable=1 is_null=1 */ +### @3=NULL /* type=1 meta=0 nullable=1 is_null=1 */ +### @4=NULL /* type=1 meta=0 nullable=1 is_null=1 */ +### @5=NULL /* type=1 meta=0 nullable=1 is_null=1 */ +### @6=NULL /* type=1 meta=0 nullable=1 is_null=1 */ +### @7=NULL /* type=2 meta=0 nullable=1 is_null=1 */ +### @8=NULL /* type=2 meta=0 nullable=1 is_null=1 */ +### @9=NULL /* type=2 meta=0 nullable=1 is_null=1 */ +### @10=NULL /* type=9 meta=0 nullable=1 is_null=1 */ +### @11=NULL /* type=9 meta=0 nullable=1 is_null=1 */ +### @12=NULL /* type=9 meta=0 nullable=1 is_null=1 */ +### @13=NULL /* type=3 meta=0 nullable=1 is_null=1 */ +### @14=NULL /* type=3 meta=0 nullable=1 is_null=1 */ +### @15=NULL /* type=3 meta=0 nullable=1 is_null=1 */ +### @16=NULL /* type=8 meta=0 nullable=1 is_null=1 */ +### @17=NULL /* type=8 meta=0 nullable=1 is_null=1 */ +### @18=NULL /* type=8 meta=0 nullable=1 is_null=1 */ +### @19=NULL /* type=4 meta=4 nullable=1 is_null=1 */ +### @20=NULL /* type=4 meta=4 nullable=1 is_null=1 */ +### @21=NULL /* type=4 meta=4 nullable=1 is_null=1 */ +### @22=NULL /* type=5 meta=8 nullable=1 is_null=1 */ +### @23=NULL /* type=5 meta=8 nullable=1 is_null=1 */ +### @24=NULL /* type=5 meta=8 nullable=1 is_null=1 */ +### @25=NULL /* type=246 meta=2560 nullable=1 is_null=1 */ +### @26=NULL /* type=246 meta=2560 nullable=1 is_null=1 */ +### @27=NULL /* type=246 meta=2560 nullable=1 is_null=1 */ +### @28=NULL /* type=10 meta=0 nullable=1 is_null=1 */ +### @29=NULL /* type=12 meta=0 nullable=1 is_null=1 */ +### @30=1000000000 /* TIMESTAMP meta=0 nullable=0 is_null=0 */ +### @31=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */ +### @32=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */ +### @33=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */ +### @34=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */ +### @35=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */ +### @36=NULL /* TIMESTAMP meta=65279 nullable=1 is_null=1 */ +### @37=NULL /* TIMESTAMP meta=65027 nullable=1 is_null=1 */ +### @38=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */ +### @39=NULL /* TIMESTAMP meta=65027 nullable=1 is_null=1 */ +### @40=NULL /* TIMESTAMP meta=57085 nullable=1 is_null=1 */ +### @41=NULL /* TIMESTAMP meta=65026 nullable=1 is_null=1 */ +### @42=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */ +### @43=NULL /* TIMESTAMP meta=65026 nullable=1 is_null=1 */ +### @44=NULL /* TIMESTAMP meta=61182 nullable=1 is_null=1 */ +### @45=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */ +### @46=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */ +### @47=NULL /* TIMESTAMP meta=255 nullable=1 is_null=1 */ +### @48=NULL /* TIMESTAMP meta=261 nullable=1 is_null=1 */ +### @49=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */ +### @50=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */ +### @51=NULL /* TIMESTAMP meta=765 nullable=1 is_null=1 */ +### @52=NULL /* TIMESTAMP meta=783 nullable=1 is_null=1 */ +### @53=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */ +### @54=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */ +### @55=NULL /* TIMESTAMP meta=510 nullable=1 is_null=1 */ +### @56=NULL /* TIMESTAMP meta=522 nullable=1 is_null=1 */ +### @57=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */ +### @58=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */ +### @59=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */ +### @60=NULL /* TIMESTAMP meta=65279 nullable=1 is_null=1 */ +### @61=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */ +### @62=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */ +### @63=NULL /* TIMESTAMP meta=255 nullable=1 is_null=1 */ +### @64=NULL /* TIMESTAMP meta=261 nullable=1 is_null=1 */ +### @65=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */ +### @66=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */ +### @67=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */ +### @68=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */ +### @69=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */ +### @70=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */ +### @71=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */ +### @72=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */ +### @73=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */ +### @74=NULL /* TIMESTAMP meta=4 nullable=1 is_null=1 */ +### @75=NULL /* TIMESTAMP meta=4 nullable=1 is_null=1 */ +### @76=NULL /* TIMESTAMP meta=4 nullable=1 is_null=1 */ +### @77=NULL /* TIMESTAMP meta=63233 nullable=1 is_null=1 */ +### @78=NULL /* TIMESTAMP meta=63489 nullable=1 is_null=1 */ +### @79=4 /* INT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Xid = # +COMMIT/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Rotate to master-bin.000002 pos: 4 +DELIMITER ; +# End of log file +ROLLBACK /* added by mysqlbinlog */; +/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; +# +# Cleanup. +# +DROP TABLE t1; +# +# ========================================= +# Test #2 - Multi-row insert/update/delete. +# ========================================= +# +# Delete all existing binary logs. +# +RESET MASTER; +# +# Create a test table with selected data types. +# +CREATE TABLE t1 ( +c28 DATE, +c47 VARCHAR(24), +crn INT -- row number +) ENGINE=InnoDB DEFAULT CHARSET latin1; +# +# Show how much rows are affected by each statement. +# +# +# Multi-row insert. +# +INSERT INTO t1 VALUES +('2008-08-01','VARCHAR-01',1), +('2008-08-02','VARCHAR-02',2), +('2008-08-03','VARCHAR-03',3), +('2008-08-04','VARCHAR-04',4), +('2008-08-05','VARCHAR-05',5), +('2008-08-06','VARCHAR-06',6), +('2008-08-07','VARCHAR-07',7), +('2008-08-08','VARCHAR-08',8), +('2008-08-09','VARCHAR-09',9); +affected rows: 9 +info: Records: 9 Duplicates: 0 Warnings: 0 +# +# Multi-row update. +# +UPDATE t1 SET c28 = ADDDATE(c28,10) WHERE crn < 8; +affected rows: 7 +info: Rows matched: 7 Changed: 7 Warnings: 0 +# +# Show what we have in the table. +# +SELECT * FROM t1; +c28 c47 crn +2008-08-11 VARCHAR-01 1 +2008-08-12 VARCHAR-02 2 +2008-08-13 VARCHAR-03 3 +2008-08-14 VARCHAR-04 4 +2008-08-15 VARCHAR-05 5 +2008-08-16 VARCHAR-06 6 +2008-08-17 VARCHAR-07 7 +2008-08-08 VARCHAR-08 8 +2008-08-09 VARCHAR-09 9 +affected rows: 9 +# +# Multi-row delete. +# +DELETE FROM t1 WHERE crn < 8; +affected rows: 7 +# +# Show what we have in the table. +# +SELECT * FROM t1; +c28 c47 crn +2008-08-08 VARCHAR-08 8 +2008-08-09 VARCHAR-09 9 +affected rows: 2 +# +# Hide how much rows are affected by each statement. +# +# +# Flush all log buffers to the log file. +# +FLUSH LOGS; +# +# Call mysqlbinlog to display the log file contents. +# +/*!40019 SET @@session.max_insert_delayed_threads=0*/; +/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; +DELIMITER /*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Start: binlog v 4, server v #.##.## created 010909 4:46:40 at startup +ROLLBACK/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +use test/*!*/; +SET TIMESTAMP=1000000000/*!*/; +SET @@session.pseudo_thread_id=#/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/; +/*!\C utf8 *//*!*/; +SET @@session.character_set_client=33,@@session.collation_connection=33,@@session.collation_server=8/*!*/; +SET @@session.lc_time_names=0/*!*/; +SET @@session.collation_database=DEFAULT/*!*/; +CREATE TABLE t1 ( +c28 DATE, +c47 VARCHAR(24), +crn INT -- row number +) ENGINE=InnoDB DEFAULT CHARSET latin1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='2008:08:01' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=1 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t1 +### SET +### @1='2008:08:02' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=2 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t1 +### SET +### @1='2008:08:03' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=3 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t1 +### SET +### @1='2008:08:04' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-04' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=4 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t1 +### SET +### @1='2008:08:05' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-05' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=5 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t1 +### SET +### @1='2008:08:06' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-06' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=6 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t1 +### SET +### @1='2008:08:07' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-07' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=7 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t1 +### SET +### @1='2008:08:08' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-08' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=8 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t1 +### SET +### @1='2008:08:09' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-09' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=9 /* INT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Xid = # +COMMIT/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F +### UPDATE test.t1 +### WHERE +### @1='2008:08:01' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=1 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1='2008:08:11' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=1 /* INT meta=0 nullable=1 is_null=0 */ +### UPDATE test.t1 +### WHERE +### @1='2008:08:02' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=2 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1='2008:08:12' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=2 /* INT meta=0 nullable=1 is_null=0 */ +### UPDATE test.t1 +### WHERE +### @1='2008:08:03' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=3 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1='2008:08:13' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=3 /* INT meta=0 nullable=1 is_null=0 */ +### UPDATE test.t1 +### WHERE +### @1='2008:08:04' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-04' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=4 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1='2008:08:14' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-04' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=4 /* INT meta=0 nullable=1 is_null=0 */ +### UPDATE test.t1 +### WHERE +### @1='2008:08:05' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-05' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=5 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1='2008:08:15' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-05' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=5 /* INT meta=0 nullable=1 is_null=0 */ +### UPDATE test.t1 +### WHERE +### @1='2008:08:06' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-06' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=6 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1='2008:08:16' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-06' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=6 /* INT meta=0 nullable=1 is_null=0 */ +### UPDATE test.t1 +### WHERE +### @1='2008:08:07' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-07' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=7 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1='2008:08:17' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-07' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=7 /* INT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Xid = # +COMMIT/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1='2008:08:11' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=1 /* INT meta=0 nullable=1 is_null=0 */ +### DELETE FROM test.t1 +### WHERE +### @1='2008:08:12' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=2 /* INT meta=0 nullable=1 is_null=0 */ +### DELETE FROM test.t1 +### WHERE +### @1='2008:08:13' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=3 /* INT meta=0 nullable=1 is_null=0 */ +### DELETE FROM test.t1 +### WHERE +### @1='2008:08:14' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-04' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=4 /* INT meta=0 nullable=1 is_null=0 */ +### DELETE FROM test.t1 +### WHERE +### @1='2008:08:15' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-05' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=5 /* INT meta=0 nullable=1 is_null=0 */ +### DELETE FROM test.t1 +### WHERE +### @1='2008:08:16' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-06' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=6 /* INT meta=0 nullable=1 is_null=0 */ +### DELETE FROM test.t1 +### WHERE +### @1='2008:08:17' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-07' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=7 /* INT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Xid = # +COMMIT/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Rotate to master-bin.000002 pos: 4 +DELIMITER ; +# End of log file +ROLLBACK /* added by mysqlbinlog */; +/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; +# +# Cleanup. +# +DROP TABLE t1; +# +# ==================================== +# Test #3 - Multi-table update/delete. +# ==================================== +# +# Delete all existing binary logs. +# +RESET MASTER; +# +# Create test tables with selected data types. +# +CREATE TABLE t1 ( +c_1_1 DATE, +c_1_2 VARCHAR(255), +c_1_n INT -- row number +) ENGINE=InnoDB DEFAULT CHARSET latin1; +CREATE TABLE t2 ( +c_2_1 DATE, +c_2_2 VARCHAR(255), +c_2_n INT -- row number +) ENGINE=InnoDB DEFAULT CHARSET latin1; +CREATE TABLE t3 ( +c_3_1 DATE, +c_3_2 VARCHAR(255), +c_3_n INT -- row number +) ENGINE=InnoDB DEFAULT CHARSET latin1; +# +# Show how much rows are affected by each statement. +# +# +# Insert data. +# +INSERT INTO t1 VALUES +('2008-01-01','VARCHAR-01-01',11), +('2008-01-02','VARCHAR-01-02',2), +('2008-01-03','VARCHAR-01-03',3), +('2008-01-04','VARCHAR-01-04',4), +('2008-01-05','VARCHAR-01-05',5), +('2008-01-06','VARCHAR-01-06',6), +('2008-01-07','VARCHAR-01-07',7), +('2008-01-08','VARCHAR-01-08',18), +('2008-01-09','VARCHAR-01-09',19); +affected rows: 9 +info: Records: 9 Duplicates: 0 Warnings: 0 +INSERT INTO t2 VALUES +('2008-02-01','VARCHAR-02-01',21), +('2008-02-02','VARCHAR-02-02',2), +('2008-02-03','VARCHAR-02-03',3), +('2008-02-04','VARCHAR-02-04',4), +('2008-02-05','VARCHAR-02-05',5), +('2008-02-06','VARCHAR-02-06',6), +('2008-02-07','VARCHAR-02-07',7), +('2008-02-08','VARCHAR-02-08',28), +('2008-02-09','VARCHAR-02-09',29); +affected rows: 9 +info: Records: 9 Duplicates: 0 Warnings: 0 +INSERT INTO t3 VALUES +('2008-03-01','VARCHAR-03-01',31), +('2008-03-02','VARCHAR-03-02',2), +('2008-03-03','VARCHAR-03-03',3), +('2008-03-04','VARCHAR-03-04',4), +('2008-03-05','VARCHAR-03-05',5), +('2008-03-06','VARCHAR-03-06',6), +('2008-03-07','VARCHAR-03-07',7), +('2008-03-08','VARCHAR-03-08',38), +('2008-03-09','VARCHAR-03-09',39); +affected rows: 9 +info: Records: 9 Duplicates: 0 Warnings: 0 +# +# Multi-table update. +# +UPDATE t1,t2,t3 SET +c_1_1 = ADDDATE(c_1_1,INTERVAL 10 YEAR), +c_2_1 = ADDDATE(c_2_1,INTERVAL 20 YEAR), +c_3_1 = ADDDATE(c_3_1,INTERVAL 30 YEAR) +WHERE c_1_n = c_2_n AND c_2_n = c_3_n; +affected rows: 18 +info: Rows matched: 18 Changed: 18 Warnings: 0 +# +# Show what we have in the tables. +# +SELECT * FROM t1; +c_1_1 c_1_2 c_1_n +2008-01-01 VARCHAR-01-01 11 +2018-01-02 VARCHAR-01-02 2 +2018-01-03 VARCHAR-01-03 3 +2018-01-04 VARCHAR-01-04 4 +2018-01-05 VARCHAR-01-05 5 +2018-01-06 VARCHAR-01-06 6 +2018-01-07 VARCHAR-01-07 7 +2008-01-08 VARCHAR-01-08 18 +2008-01-09 VARCHAR-01-09 19 +affected rows: 9 +SELECT * FROM t2; +c_2_1 c_2_2 c_2_n +2008-02-01 VARCHAR-02-01 21 +2028-02-02 VARCHAR-02-02 2 +2028-02-03 VARCHAR-02-03 3 +2028-02-04 VARCHAR-02-04 4 +2028-02-05 VARCHAR-02-05 5 +2028-02-06 VARCHAR-02-06 6 +2028-02-07 VARCHAR-02-07 7 +2008-02-08 VARCHAR-02-08 28 +2008-02-09 VARCHAR-02-09 29 +affected rows: 9 +SELECT * FROM t3; +c_3_1 c_3_2 c_3_n +2008-03-01 VARCHAR-03-01 31 +2038-03-02 VARCHAR-03-02 2 +2038-03-03 VARCHAR-03-03 3 +2038-03-04 VARCHAR-03-04 4 +2038-03-05 VARCHAR-03-05 5 +2038-03-06 VARCHAR-03-06 6 +2038-03-07 VARCHAR-03-07 7 +2008-03-08 VARCHAR-03-08 38 +2008-03-09 VARCHAR-03-09 39 +affected rows: 9 +# +# Multi-table delete. +# +DELETE FROM t1,t2,t3 USING t1 INNER JOIN t2 INNER JOIN t3 +WHERE c_1_n = c_2_n AND c_2_n = c_3_n; +affected rows: 18 +# +# Show what we have in the tables. +# +SELECT * FROM t1; +c_1_1 c_1_2 c_1_n +2008-01-01 VARCHAR-01-01 11 +2008-01-08 VARCHAR-01-08 18 +2008-01-09 VARCHAR-01-09 19 +affected rows: 3 +SELECT * FROM t2; +c_2_1 c_2_2 c_2_n +2008-02-01 VARCHAR-02-01 21 +2008-02-08 VARCHAR-02-08 28 +2008-02-09 VARCHAR-02-09 29 +affected rows: 3 +SELECT * FROM t3; +c_3_1 c_3_2 c_3_n +2008-03-01 VARCHAR-03-01 31 +2008-03-08 VARCHAR-03-08 38 +2008-03-09 VARCHAR-03-09 39 +affected rows: 3 +# +# Hide how much rows are affected by each statement. +# +# +# Flush all log buffers to the log file. +# +FLUSH LOGS; +# +# Call mysqlbinlog to display the log file contents. +# +/*!40019 SET @@session.max_insert_delayed_threads=0*/; +/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; +DELIMITER /*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Start: binlog v 4, server v #.##.## created 010909 4:46:40 at startup +ROLLBACK/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +use test/*!*/; +SET TIMESTAMP=1000000000/*!*/; +SET @@session.pseudo_thread_id=#/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/; +/*!\C utf8 *//*!*/; +SET @@session.character_set_client=33,@@session.collation_connection=33,@@session.collation_server=8/*!*/; +SET @@session.lc_time_names=0/*!*/; +SET @@session.collation_database=DEFAULT/*!*/; +CREATE TABLE t1 ( +c_1_1 DATE, +c_1_2 VARCHAR(255), +c_1_n INT -- row number +) ENGINE=InnoDB DEFAULT CHARSET latin1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t2 ( +c_2_1 DATE, +c_2_2 VARCHAR(255), +c_2_n INT -- row number +) ENGINE=InnoDB DEFAULT CHARSET latin1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t3 ( +c_3_1 DATE, +c_3_2 VARCHAR(255), +c_3_n INT -- row number +) ENGINE=InnoDB DEFAULT CHARSET latin1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='2008:01:01' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-01' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=11 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t1 +### SET +### @1='2008:01:02' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=2 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t1 +### SET +### @1='2008:01:03' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=3 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t1 +### SET +### @1='2008:01:04' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=4 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t1 +### SET +### @1='2008:01:05' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=5 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t1 +### SET +### @1='2008:01:06' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=6 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t1 +### SET +### @1='2008:01:07' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=7 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t1 +### SET +### @1='2008:01:08' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-08' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=18 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t1 +### SET +### @1='2008:01:09' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-09' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=19 /* INT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Xid = # +COMMIT/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t2` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t2 +### SET +### @1='2008:02:01' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-01' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=21 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t2 +### SET +### @1='2008:02:02' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=2 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t2 +### SET +### @1='2008:02:03' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=3 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t2 +### SET +### @1='2008:02:04' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=4 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t2 +### SET +### @1='2008:02:05' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=5 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t2 +### SET +### @1='2008:02:06' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=6 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t2 +### SET +### @1='2008:02:07' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=7 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t2 +### SET +### @1='2008:02:08' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-08' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=28 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t2 +### SET +### @1='2008:02:09' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-09' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=29 /* INT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Xid = # +COMMIT/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t3` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t3 +### SET +### @1='2008:03:01' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-01' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=31 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t3 +### SET +### @1='2008:03:02' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=2 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t3 +### SET +### @1='2008:03:03' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=3 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t3 +### SET +### @1='2008:03:04' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=4 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t3 +### SET +### @1='2008:03:05' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=5 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t3 +### SET +### @1='2008:03:06' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=6 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t3 +### SET +### @1='2008:03:07' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=7 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t3 +### SET +### @1='2008:03:08' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-08' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=38 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t3 +### SET +### @1='2008:03:09' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-09' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=39 /* INT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Xid = # +COMMIT/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +# at # +# at # +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t2` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t3` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # +#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # +#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F +### UPDATE test.t1 +### WHERE +### @1='2008:01:02' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=2 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1='2018:01:02' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=2 /* INT meta=0 nullable=1 is_null=0 */ +### UPDATE test.t1 +### WHERE +### @1='2008:01:03' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=3 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1='2018:01:03' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=3 /* INT meta=0 nullable=1 is_null=0 */ +### UPDATE test.t1 +### WHERE +### @1='2008:01:04' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=4 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1='2018:01:04' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=4 /* INT meta=0 nullable=1 is_null=0 */ +### UPDATE test.t1 +### WHERE +### @1='2008:01:05' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=5 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1='2018:01:05' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=5 /* INT meta=0 nullable=1 is_null=0 */ +### UPDATE test.t1 +### WHERE +### @1='2008:01:06' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=6 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1='2018:01:06' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=6 /* INT meta=0 nullable=1 is_null=0 */ +### UPDATE test.t1 +### WHERE +### @1='2008:01:07' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=7 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1='2018:01:07' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=7 /* INT meta=0 nullable=1 is_null=0 */ +### UPDATE test.t2 +### WHERE +### @1='2008:02:02' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=2 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1='2028:02:02' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=2 /* INT meta=0 nullable=1 is_null=0 */ +### UPDATE test.t2 +### WHERE +### @1='2008:02:03' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=3 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1='2028:02:03' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=3 /* INT meta=0 nullable=1 is_null=0 */ +### UPDATE test.t2 +### WHERE +### @1='2008:02:04' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=4 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1='2028:02:04' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=4 /* INT meta=0 nullable=1 is_null=0 */ +### UPDATE test.t2 +### WHERE +### @1='2008:02:05' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=5 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1='2028:02:05' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=5 /* INT meta=0 nullable=1 is_null=0 */ +### UPDATE test.t2 +### WHERE +### @1='2008:02:06' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=6 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1='2028:02:06' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=6 /* INT meta=0 nullable=1 is_null=0 */ +### UPDATE test.t2 +### WHERE +### @1='2008:02:07' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=7 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1='2028:02:07' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=7 /* INT meta=0 nullable=1 is_null=0 */ +### UPDATE test.t3 +### WHERE +### @1='2008:03:02' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=2 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1='2038:03:02' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=2 /* INT meta=0 nullable=1 is_null=0 */ +### UPDATE test.t3 +### WHERE +### @1='2008:03:03' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=3 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1='2038:03:03' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=3 /* INT meta=0 nullable=1 is_null=0 */ +### UPDATE test.t3 +### WHERE +### @1='2008:03:04' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=4 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1='2038:03:04' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=4 /* INT meta=0 nullable=1 is_null=0 */ +### UPDATE test.t3 +### WHERE +### @1='2008:03:05' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=5 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1='2038:03:05' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=5 /* INT meta=0 nullable=1 is_null=0 */ +### UPDATE test.t3 +### WHERE +### @1='2008:03:06' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=6 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1='2038:03:06' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=6 /* INT meta=0 nullable=1 is_null=0 */ +### UPDATE test.t3 +### WHERE +### @1='2008:03:07' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=7 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1='2038:03:07' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=7 /* INT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Xid = # +COMMIT/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +# at # +# at # +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t2` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t3` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1='2018:01:02' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=2 /* INT meta=0 nullable=1 is_null=0 */ +### DELETE FROM test.t1 +### WHERE +### @1='2018:01:03' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=3 /* INT meta=0 nullable=1 is_null=0 */ +### DELETE FROM test.t1 +### WHERE +### @1='2018:01:04' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=4 /* INT meta=0 nullable=1 is_null=0 */ +### DELETE FROM test.t1 +### WHERE +### @1='2018:01:05' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=5 /* INT meta=0 nullable=1 is_null=0 */ +### DELETE FROM test.t1 +### WHERE +### @1='2018:01:06' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=6 /* INT meta=0 nullable=1 is_null=0 */ +### DELETE FROM test.t1 +### WHERE +### @1='2018:01:07' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=7 /* INT meta=0 nullable=1 is_null=0 */ +### DELETE FROM test.t2 +### WHERE +### @1='2028:02:02' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=2 /* INT meta=0 nullable=1 is_null=0 */ +### DELETE FROM test.t2 +### WHERE +### @1='2028:02:03' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=3 /* INT meta=0 nullable=1 is_null=0 */ +### DELETE FROM test.t2 +### WHERE +### @1='2028:02:04' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=4 /* INT meta=0 nullable=1 is_null=0 */ +### DELETE FROM test.t2 +### WHERE +### @1='2028:02:05' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=5 /* INT meta=0 nullable=1 is_null=0 */ +### DELETE FROM test.t2 +### WHERE +### @1='2028:02:06' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=6 /* INT meta=0 nullable=1 is_null=0 */ +### DELETE FROM test.t2 +### WHERE +### @1='2028:02:07' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=7 /* INT meta=0 nullable=1 is_null=0 */ +### DELETE FROM test.t3 +### WHERE +### @1='2038:03:02' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=2 /* INT meta=0 nullable=1 is_null=0 */ +### DELETE FROM test.t3 +### WHERE +### @1='2038:03:03' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=3 /* INT meta=0 nullable=1 is_null=0 */ +### DELETE FROM test.t3 +### WHERE +### @1='2038:03:04' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=4 /* INT meta=0 nullable=1 is_null=0 */ +### DELETE FROM test.t3 +### WHERE +### @1='2038:03:05' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=5 /* INT meta=0 nullable=1 is_null=0 */ +### DELETE FROM test.t3 +### WHERE +### @1='2038:03:06' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=6 /* INT meta=0 nullable=1 is_null=0 */ +### DELETE FROM test.t3 +### WHERE +### @1='2038:03:07' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=7 /* INT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Xid = # +COMMIT/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Rotate to master-bin.000002 pos: 4 +DELIMITER ; +# End of log file +ROLLBACK /* added by mysqlbinlog */; +/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; +# +# Cleanup. +# +DROP TABLE t1, t2, t3; +# +# =========================== +# Test #4 - LOAD DATA INFILE. +# =========================== +# +# Delete all existing binary logs. +# +RESET MASTER; +# +# Create a test table with selected data types. +# +CREATE TABLE t1 ( +c1 INT DEFAULT 100, +c2 INT, +c3 VARCHAR(60) +) ENGINE=InnoDB DEFAULT CHARSET latin1; +# +# Show how much rows are affected by each statement. +# +# +# Load data. +# +LOAD DATA INFILE '../std_data_ln/loaddata5.dat' + INTO TABLE t1 FIELDS TERMINATED BY '' ENCLOSED BY '' (c1,c2) +SET c3 = 'Wow'; +affected rows: 3 +info: Records: 3 Deleted: 0 Skipped: 0 Warnings: 0 +# +# Show what we have in the table. +# +SELECT * FROM t1; +c1 c2 c3 +1 2 Wow +3 4 Wow +5 6 Wow +affected rows: 3 +# +# Hide how much rows are affected by each statement. +# +# +# Flush all log buffers to the log file. +# +FLUSH LOGS; +# +# Call mysqlbinlog to display the log file contents. +# +/*!40019 SET @@session.max_insert_delayed_threads=0*/; +/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; +DELIMITER /*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Start: binlog v 4, server v #.##.## created 010909 4:46:40 at startup +ROLLBACK/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +use test/*!*/; +SET TIMESTAMP=1000000000/*!*/; +SET @@session.pseudo_thread_id=#/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/; +/*!\C utf8 *//*!*/; +SET @@session.character_set_client=33,@@session.collation_connection=33,@@session.collation_server=8/*!*/; +SET @@session.lc_time_names=0/*!*/; +SET @@session.collation_database=DEFAULT/*!*/; +CREATE TABLE t1 ( +c1 INT DEFAULT 100, +c2 INT, +c3 VARCHAR(60) +) ENGINE=InnoDB DEFAULT CHARSET latin1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=1 /* INT meta=0 nullable=1 is_null=0 */ +### @2=2 /* INT meta=0 nullable=1 is_null=0 */ +### @3='Wow' /* VARSTRING(60) meta=60 nullable=1 is_null=0 */ +### INSERT INTO test.t1 +### SET +### @1=3 /* INT meta=0 nullable=1 is_null=0 */ +### @2=4 /* INT meta=0 nullable=1 is_null=0 */ +### @3='Wow' /* VARSTRING(60) meta=60 nullable=1 is_null=0 */ +### INSERT INTO test.t1 +### SET +### @1=5 /* INT meta=0 nullable=1 is_null=0 */ +### @2=6 /* INT meta=0 nullable=1 is_null=0 */ +### @3='Wow' /* VARSTRING(60) meta=60 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Xid = # +COMMIT/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Rotate to master-bin.000002 pos: 4 +DELIMITER ; +# End of log file +ROLLBACK /* added by mysqlbinlog */; +/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; +# +# Cleanup. +# +DROP TABLE t1; diff --git a/mysql-test/r/mysqlbinlog_row_myisam.result b/mysql-test/r/mysqlbinlog_row_myisam.result new file mode 100644 index 00000000000..d3f2a2a1f2f --- /dev/null +++ b/mysql-test/r/mysqlbinlog_row_myisam.result @@ -0,0 +1,4899 @@ +SET NAMES 'utf8'; +# +# Preparatory cleanup. +# +DROP TABLE IF EXISTS t1, t2, t3; +# +# We need a fixed timestamp to avoid varying results. +# +SET timestamp=1000000000; +# +# =================================================== +# Test #1 - Insert/update/delete with all data types. +# =================================================== +# +# Delete all existing binary logs. +# +RESET MASTER; +# +# Create a test table with all data types. +# +CREATE TABLE t1 ( +c01 BIT, +c02 BIT(64), +c03 TINYINT, +c04 TINYINT UNSIGNED, +c05 TINYINT ZEROFILL, +c06 BOOL, +c07 SMALLINT, +c08 SMALLINT UNSIGNED, +c09 SMALLINT ZEROFILL, +c10 MEDIUMINT, +c11 MEDIUMINT UNSIGNED, +c12 MEDIUMINT ZEROFILL, +c13 INT, +c14 INT UNSIGNED, +c15 INT ZEROFILL, +c16 BIGINT, +c17 BIGINT UNSIGNED, +c18 BIGINT ZEROFILL, +c19 FLOAT, +c20 FLOAT UNSIGNED, +c21 FLOAT ZEROFILL, +c22 DOUBLE, +c23 DOUBLE UNSIGNED, +c24 DOUBLE ZEROFILL, +c25 DECIMAL, +c26 DECIMAL UNSIGNED, +c27 DECIMAL ZEROFILL, +# +c28 DATE, +c29 DATETIME, +c30 TIMESTAMP, +c31 TIME, +c32 YEAR, +# +c33 CHAR, +c34 CHAR(0), +c35 CHAR(1), +c36 CHAR(255), +c37 NATIONAL CHAR, +c38 NATIONAL CHAR(0), +c39 NATIONAL CHAR(1), +c40 NATIONAL CHAR(255), +c41 CHAR CHARACTER SET UCS2, +c42 CHAR(0) CHARACTER SET UCS2, +c43 CHAR(1) CHARACTER SET UCS2, +c44 CHAR(255) CHARACTER SET UCS2, +# +c45 VARCHAR(0), +c46 VARCHAR(1), +c47 VARCHAR(255), +c48 VARCHAR(261), +c49 NATIONAL VARCHAR(0), +c50 NATIONAL VARCHAR(1), +c51 NATIONAL VARCHAR(255), +c52 NATIONAL VARCHAR(261), +c53 VARCHAR(0) CHARACTER SET UCS2, +c54 VARCHAR(1) CHARACTER SET UCS2, +c55 VARCHAR(255) CHARACTER SET UCS2, +c56 VARCHAR(261) CHARACTER SET UCS2, +# +c57 BINARY, +c58 BINARY(0), +c59 BINARY(1), +c60 BINARY(255), +# +c61 VARBINARY(0), +c62 VARBINARY(1), +c63 VARBINARY(255), +c64 VARBINARY(261), +# +c65 TINYBLOB, +c66 TINYTEXT, +c67 TINYTEXT CHARACTER SET UCS2, +c68 BLOB, +c69 TEXT, +c70 TEXT CHARACTER SET UCS2, +c71 MEDIUMBLOB, +c72 MEDIUMTEXT, +c73 MEDIUMTEXT CHARACTER SET UCS2, +c74 LONGBLOB, +c75 LONGTEXT, +c76 LONGTEXT CHARACTER SET UCS2, +# +c77 ENUM('a','b','c'), +c78 SET('a','b','c'), +# +crn INT -- row number +) ENGINE=MyISAM DEFAULT CHARSET latin1; +# +# Insert minimum values. +# +INSERT INTO t1 VALUES ( +b'0', -- c01 +b'0000000000000000000000000000000000000000000000000000000000000000', -- c02 +-128, -- c03 +0, -- c04 +000, -- c05 +false, -- c06 +-32768, -- c07 +0, -- c08 +00000, -- c09 +-8388608, -- c10 +0, -- c11 +00000000, -- c12 +-2147483648, -- c13 +0, -- c14 +0000000000, -- c15 +-9223372036854775808, -- c16 +0, -- c17 +00000000000000000000, -- c18 +-3.402823466E+38, -- c19 +1.175494351E-38, -- c20 +000000000000, -- c21 +-1.7976931348623E+308, -- c22 three digits cut for ps-protocol +2.2250738585072E-308, -- c23 three digits cut for ps-protocol +0000000000000000000000, -- c24 +-9999999999, -- c25 +0, -- c26 +0000000000, -- c27 +# +'1000-01-01', -- c28 +'1000-01-01 00:00:00', -- c29 +'1970-01-02 00:00:01', -- c30 one day later due to timezone issues +'-838:59:59', -- c31 +'1901', -- c32 +# +'', -- c33 +'', -- c34 +'', -- c35 +'', -- c36 +'', -- c37 +'', -- c38 +'', -- c39 +'', -- c40 +'', -- c41 +'', -- c42 +'', -- c43 +'', -- c44 +# +'', -- c45 +'', -- c46 +'', -- c47 +'', -- c48 +'', -- c49 +'', -- c50 +'', -- c51 +'', -- c52 +'', -- c53 +'', -- c54 +'', -- c55 +'', -- c56 +# +'', -- c57 +'', -- c58 +'', -- c59 +'', -- c60 +# +'', -- c61 +'', -- c62 +'', -- c63 +'', -- c64 +# +'', -- c65 +'', -- c66 +'', -- c67 +'', -- c68 +'', -- c69 +'', -- c70 +'', -- c71 +'', -- c72 +'', -- c73 +'', -- c74 +'', -- c75 +'', -- c76 +# +'a', -- c77 +'', -- c78 +# +1 -- crn -- row number +); +# +# Insert maximum values. +# +INSERT INTO t1 VALUES ( +b'1', -- c01 +b'1111111111111111111111111111111111111111111111111111111111111111', -- c02 +127, -- c03 +255, -- c04 +255, -- c05 +true, -- c06 +32767, -- c07 +65535, -- c08 +65535, -- c09 +8388607, -- c10 +16777215, -- c11 +16777215, -- c12 +2147483647, -- c13 +4294967295, -- c14 +4294967295, -- c15 +9223372036854775807, -- c16 +18446744073709551615, -- c17 +18446744073709551615, -- c18 +3.402823466E+38, -- c19 +3.402823466E+38, -- c20 +3.402823466E+38, -- c21 +1.7976931348623E+308, -- c22 three digits cut for ps-protocol +1.7976931348623E+308, -- c23 three digits cut for ps-protocol +1.7976931348623E+308, -- c24 three digits cut for ps-protocol +9999999999, -- c25 +9999999999, -- c26 +9999999999, -- c27 +# +'9999-12-31', -- c28 +'9999-12-31 23:59:59', -- c29 +'2038-01-08 03:14:07', -- c30 one day earlier due to timezone issues +'838:59:59', -- c31 +'2155', -- c32 +# +x'ff', -- c33 +'', -- c34 +x'ff', -- c35 +REPEAT(x'ff',255), -- c36 +_utf8 x'efbfbf', -- c37 +'', -- c38 +_utf8 x'efbfbf', -- c39 +REPEAT(_utf8 x'efbfbf',255), -- c40 +_ucs2 x'ffff', -- c41 +'', -- c42 +_ucs2 x'ffff', -- c43 +REPEAT(_ucs2 x'ffff',255), -- c44 +# +'', -- c45 +x'ff', -- c46 +REPEAT(x'ff',255), -- c47 +REPEAT(x'ff',261), -- c48 +'', -- c49 +_utf8 x'efbfbf', -- c50 +REPEAT(_utf8 x'efbfbf',255), -- c51 +REPEAT(_utf8 x'efbfbf',261), -- c52 +'', -- c53 +_ucs2 x'ffff', -- c54 +REPEAT(_ucs2 x'ffff',255), -- c55 +REPEAT(_ucs2 x'ffff',261), -- c56 +# +x'ff', -- c57 +'', -- c58 +x'ff', -- c59 +REPEAT(x'ff',255), -- c60 +# +'', -- c61 +x'ff', -- c62 +REPEAT(x'ff',255), -- c63 +REPEAT(x'ff',261), -- c64 +# +'tinyblob', -- c65 not using maximum value here +'tinytext', -- c66 not using maximum value here +'tinytext-ucs2', -- c67 not using maximum value here +'blob', -- c68 not using maximum value here +'text', -- c69 not using maximum value here +'text-ucs2', -- c70 not using maximum value here +'mediumblob', -- c71 not using maximum value here +'mediumtext', -- c72 not using maximum value here +'mediumtext-ucs2', -- c73 not using maximum value here +'longblob', -- c74 not using maximum value here +'longtext', -- c75 not using maximum value here +'longtext-ucs2', -- c76 not using maximum value here +# +'c', -- c77 +'a,b,c', -- c78 +# +2 -- crn -- row number +); +# +# Insert a row with NULL values and one with arbitrary values. +# +INSERT INTO t1 VALUES ( +NULL, -- c01 +NULL, -- c02 +NULL, -- c03 +NULL, -- c04 +NULL, -- c05 +NULL, -- c06 +NULL, -- c07 +NULL, -- c08 +NULL, -- c09 +NULL, -- c10 +NULL, -- c11 +NULL, -- c12 +NULL, -- c13 +NULL, -- c14 +NULL, -- c15 +NULL, -- c16 +NULL, -- c17 +NULL, -- c18 +NULL, -- c19 +NULL, -- c20 +NULL, -- c21 +NULL, -- c22 +NULL, -- c23 +NULL, -- c24 +NULL, -- c25 +NULL, -- c26 +NULL, -- c27 +# +NULL, -- c28 +NULL, -- c29 +NULL, -- c30 +NULL, -- c31 +NULL, -- c32 +# +NULL, -- c33 +NULL, -- c34 +NULL, -- c35 +NULL, -- c36 +NULL, -- c37 +NULL, -- c38 +NULL, -- c39 +NULL, -- c40 +NULL, -- c41 +NULL, -- c42 +NULL, -- c43 +NULL, -- c44 +# +NULL, -- c45 +NULL, -- c46 +NULL, -- c47 +NULL, -- c48 +NULL, -- c49 +NULL, -- c50 +NULL, -- c51 +NULL, -- c52 +NULL, -- c53 +NULL, -- c54 +NULL, -- c55 +NULL, -- c56 +# +NULL, -- c57 +NULL, -- c58 +NULL, -- c59 +NULL, -- c60 +# +NULL, -- c61 +NULL, -- c62 +NULL, -- c63 +NULL, -- c64 +# +NULL, -- c65 +NULL, -- c66 +NULL, -- c67 +NULL, -- c68 +NULL, -- c69 +NULL, -- c70 +NULL, -- c71 +NULL, -- c72 +NULL, -- c73 +NULL, -- c74 +NULL, -- c75 +NULL, -- c76 +# +NULL, -- c77 +NULL, -- c78 +# +3 -- crn -- row number +), ( +b'1', -- c01 +b'1111111111111111111111111111111111111111111111111111111111111111', -- c02 +127, -- c03 +0, -- c04 +001, -- c05 +true, -- c06 +32767, -- c07 +0, -- c08 +00001, -- c09 +8388607, -- c10 +0, -- c11 +00000001, -- c12 +2147483647, -- c13 +0, -- c14 +0000000001, -- c15 +9223372036854775807, -- c16 +0, -- c17 +00000000000000000001, -- c18 +-1.175494351E-38, -- c19 +1.175494351E-38, -- c20 +000000000000001, -- c21 +-2.2250738585072E-308, -- c22 +2.2250738585072E-308, -- c23 +00000000000000000000001, -- c24 +-9999999999, -- c25 +9999999999, -- c26 +0000000001, -- c27 +# +'2008-08-04', -- c28 +'2008-08-04 16:18:06', -- c29 +'2008-08-04 16:18:24', -- c30 +'16:18:47', -- c31 +'2008', -- c32 +# +'a', -- c33 +'', -- c34 +'e', -- c35 +REPEAT('i',255), -- c36 +_utf8 x'c3a4', -- c37 +'', -- c38 +_utf8 x'c3b6', -- c39 +REPEAT(_utf8 x'c3bc',255), -- c40 +_ucs2 x'00e4', -- c41 +'', -- c42 +_ucs2 x'00f6', -- c43 +REPEAT(_ucs2 x'00fc',255), -- c44 +# +'', -- c45 +'a', -- c46 +REPEAT('e',255), -- c47 +REPEAT('i',261), -- c48 +'', -- c49 +_utf8 x'c3a4', -- c50 +REPEAT(_utf8 x'c3b6',255), -- c51 +REPEAT(_utf8 x'c3bc',261), -- c52 +'', -- c53 +_ucs2 x'00e4', -- c54 +REPEAT(_ucs2 x'00f6',255), -- c55 +REPEAT(_ucs2 x'00fc',261), -- c56 +# +'0', -- c57 +'', -- c58 +'1', -- c59 +REPEAT('1',255), -- c60 +# +'', -- c61 +'b', -- c62 +REPEAT('c',255), -- c63 +REPEAT('\'',261), -- c64 + # + 'tinyblob', -- c65 + 'tinytext', -- c66 + 'tinytext-ucs2', -- c67 + 'blob', -- c68 + 'text', -- c69 + 'text-ucs2', -- c70 + 'mediumblob', -- c71 + 'mediumtext', -- c72 + 'mediumtext-ucs2', -- c73 + 'longblob', -- c74 + 'longtext', -- c75 + 'longtext-ucs2', -- c76 + # + 'b', -- c77 + 'b,c', -- c78 + # + 4 -- crn -- row number + ); +# +# Show what we have in the table. +# Do not display bit type output. It's binary and confuses diff. +# Also BINARY with nul-bytes should be avoided. +# +SELECT * FROM t1; +c01 # +c02 # +c03 -128 +c04 0 +c05 000 +c06 0 +c07 -32768 +c08 0 +c09 00000 +c10 -8388608 +c11 0 +c12 00000000 +c13 -2147483648 +c14 0 +c15 0000000000 +c16 -9223372036854775808 +c17 0 +c18 00000000000000000000 +c19 -3.40282e+38 +c20 1.17549e-38 +c21 000000000000 +c22 -1.7976931348623e+308 +c23 2.2250738585072e-308 +c24 0000000000000000000000 +c25 -9999999999 +c26 0 +c27 0000000000 +c28 1000-01-01 +c29 1000-01-01 00:00:00 +c30 1970-01-02 00:00:01 +c31 -838:59:59 +c32 1901 +c33 +c34 +c35 +c36 +c37 +c38 +c39 +c40 +c41 +c42 +c43 +c44 +c45 +c46 +c47 +c48 +c49 +c50 +c51 +c52 +c53 +c54 +c55 +c56 +c57 # +c58 # +c59 # +c60 # +c61 +c62 +c63 +c64 +c65 +c66 +c67 +c68 +c69 +c70 +c71 +c72 +c73 +c74 +c75 +c76 +c77 a +c78 +crn 1 +c01 # +c02 # +c03 127 +c04 255 +c05 255 +c06 1 +c07 32767 +c08 65535 +c09 65535 +c10 8388607 +c11 16777215 +c12 16777215 +c13 2147483647 +c14 4294967295 +c15 4294967295 +c16 9223372036854775807 +c17 18446744073709551615 +c18 18446744073709551615 +c19 3.40282e+38 +c20 3.40282e+38 +c21 03.40282e+38 +c22 1.7976931348623e+308 +c23 1.7976931348623e+308 +c24 001.7976931348623e+308 +c25 9999999999 +c26 9999999999 +c27 9999999999 +c28 9999-12-31 +c29 9999-12-31 23:59:59 +c30 2038-01-08 03:14:07 +c31 838:59:59 +c32 2155 +c33 ÿ +c34 +c35 ÿ +c36 ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ +c37 ï¿¿ +c38 +c39 ï¿¿ +c40 ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ +c41 ï¿¿ +c42 +c43 ï¿¿ +c44 ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ +c45 +c46 ÿ +c47 ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ +c48 ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ +c49 +c50 ï¿¿ +c51 ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ +c52 ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ +c53 +c54 ï¿¿ +c55 ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ +c56 ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ +c57 # +c58 # +c59 # +c60 # +c61 +c62 ÿ +c63 ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ +c64 ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ +c65 tinyblob +c66 tinytext +c67 tinytext-ucs2 +c68 blob +c69 text +c70 text-ucs2 +c71 mediumblob +c72 mediumtext +c73 mediumtext-ucs2 +c74 longblob +c75 longtext +c76 longtext-ucs2 +c77 c +c78 a,b,c +crn 2 +c01 # +c02 # +c03 NULL +c04 NULL +c05 NULL +c06 NULL +c07 NULL +c08 NULL +c09 NULL +c10 NULL +c11 NULL +c12 NULL +c13 NULL +c14 NULL +c15 NULL +c16 NULL +c17 NULL +c18 NULL +c19 NULL +c20 NULL +c21 NULL +c22 NULL +c23 NULL +c24 NULL +c25 NULL +c26 NULL +c27 NULL +c28 NULL +c29 NULL +c30 2001-09-09 04:46:40 +c31 NULL +c32 NULL +c33 NULL +c34 NULL +c35 NULL +c36 NULL +c37 NULL +c38 NULL +c39 NULL +c40 NULL +c41 NULL +c42 NULL +c43 NULL +c44 NULL +c45 NULL +c46 NULL +c47 NULL +c48 NULL +c49 NULL +c50 NULL +c51 NULL +c52 NULL +c53 NULL +c54 NULL +c55 NULL +c56 NULL +c57 # +c58 # +c59 # +c60 # +c61 NULL +c62 NULL +c63 NULL +c64 NULL +c65 NULL +c66 NULL +c67 NULL +c68 NULL +c69 NULL +c70 NULL +c71 NULL +c72 NULL +c73 NULL +c74 NULL +c75 NULL +c76 NULL +c77 NULL +c78 NULL +crn 3 +c01 # +c02 # +c03 127 +c04 0 +c05 001 +c06 1 +c07 32767 +c08 0 +c09 00001 +c10 8388607 +c11 0 +c12 00000001 +c13 2147483647 +c14 0 +c15 0000000001 +c16 9223372036854775807 +c17 0 +c18 00000000000000000001 +c19 -1.17549e-38 +c20 1.17549e-38 +c21 000000000001 +c22 -2.2250738585072e-308 +c23 2.2250738585072e-308 +c24 0000000000000000000001 +c25 -9999999999 +c26 9999999999 +c27 0000000001 +c28 2008-08-04 +c29 2008-08-04 16:18:06 +c30 2008-08-04 16:18:24 +c31 16:18:47 +c32 2008 +c33 a +c34 +c35 e +c36 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii +c37 ä +c38 +c39 ö +c40 üüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüü +c41 ä +c42 +c43 ö +c44 üüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüü +c45 +c46 a +c47 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +c48 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii +c49 +c50 ä +c51 ööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööö +c52 üüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüü +c53 +c54 ä +c55 ööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööö +c56 üüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüü +c57 # +c58 # +c59 # +c60 # +c61 +c62 b +c63 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +c64 ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' +c65 tinyblob +c66 tinytext +c67 tinytext-ucs2 +c68 blob +c69 text +c70 text-ucs2 +c71 mediumblob +c72 mediumtext +c73 mediumtext-ucs2 +c74 longblob +c75 longtext +c76 longtext-ucs2 +c77 b +c78 b,c +crn 4 +# +# NOTE: For matching FLOAT and DOUBLE values in WHERE conditions, +# don't use exact match, but < or > and tweak the numbers a bit. +# +# Show how much rows are affected by each statement. +# +# +# Update min values to max values. +# +UPDATE t1 SET +c01 = b'1', +c02 = b'1111111111111111111111111111111111111111111111111111111111111111', +c03 = 127, +c04 = 255, +c05 = 255, +c06 = true, +c07 = 32767, +c08 = 65535, +c09 = 65535, +c10 = 8388607, +c11 = 16777215, +c12 = 16777215, +c13 = 2147483647, +c14 = 4294967295, +c15 = 4294967295, +c16 = 9223372036854775807, +c17 = 18446744073709551615, +c18 = 18446744073709551615, +c19 = 3.402823466E+38, +c20 = 3.402823466E+38, +c21 = 3.402823466E+38, +c22 = 1.7976931348623E+308, +c23 = 1.7976931348623E+308, +c24 = 1.7976931348623E+308, +c25 = 9999999999, +c26 = 9999999999, +c27 = 9999999999, +# +c28 = '9999-12-31', +c29 = '9999-12-31 23:59:59', +c30 = '2038-01-08 03:14:07', +c31 = '838:59:59', +c32 = '2155', +# +c33 = x'ff', +c34 = '', +c35 = x'ff', +c36 = REPEAT(x'ff',255), +c37 = _utf8 x'efbfbf', +c38 = '', +c39 = _utf8 x'efbfbf', +c40 = REPEAT(_utf8 x'efbfbf',255), +c41 = _ucs2 x'ffff', +c42 = '', +c43 = _ucs2 x'ffff', +c44 = REPEAT(_ucs2 x'ffff',255), +# +c45 = '', +c46 = x'ff', +c47 = REPEAT(x'ff',255), +c48 = REPEAT(x'ff',261), +c49 = '', +c50 = _utf8 x'efbfbf', +c51 = REPEAT(_utf8 x'efbfbf',255), +c52 = REPEAT(_utf8 x'efbfbf',261), +c53 = '', +c54 = _ucs2 x'ffff', +c55 = REPEAT(_ucs2 x'ffff',255), +c56 = REPEAT(_ucs2 x'ffff',261), +# +c57 = x'ff', +c58 = '', +c59 = x'ff', +c60 = REPEAT(x'ff',255), +# +c61 = '', +c62 = x'ff', +c63 = REPEAT(x'ff',255), +c64 = REPEAT(x'ff',261), +# +c65 = 'tinyblob', +c66 = 'tinytext', +c67 = 'tinytext-ucs2', +c68 = 'blob', +c69 = 'text', +c70 = 'text-ucs2', +c71 = 'mediumblob', +c72 = 'mediumtext', +c73 = 'mediumtext-ucs2', +c74 = 'longblob', +c75 = 'longtext', +c76 = 'longtext-ucs2', +# +c77 = 'c', +c78 = 'a,b,c', +# +crn = crn +# +WHERE +# +c01 = b'0' AND +c02 = b'0000000000000000000000000000000000000000000000000000000000000000' AND +c03 = -128 AND +c04 = 0 AND +c05 = 000 AND +c06 = false AND +c07 = -32768 AND +c08 = 0 AND +c09 = 00000 AND +c10 = -8388608 AND +c11 = 0 AND +c12 = 00000000 AND +c13 = -2147483648 AND +c14 = 0 AND +c15 = 0000000000 AND +c16 = -9223372036854775808 AND +c17 = 0 AND +c18 = 00000000000000000000 AND +c19 < -3.402823465E+38 AND +c20 < 1.175494352E-38 AND +c21 = 000000000000 AND +c22 < -1.7976931348622E+308 AND +c23 < 2.2250738585073E-308 AND +c24 = 0000000000000000000000 AND +c25 = -9999999999 AND +c26 = 0 AND +c27 = 0000000000 AND +# +c28 = '1000-01-01' AND +c29 = '1000-01-01 00:00:00' AND +c30 = '1970-01-02 00:00:01' AND +c31 = '-838:59:59' AND +c32 = '1901' AND +# +c33 = '' AND +c34 = '' AND +c35 = '' AND +c36 = '' AND +c37 = '' AND +c38 = '' AND +c39 = '' AND +c40 = '' AND +c41 = '' AND +c42 = '' AND +c43 = '' AND +c44 = '' AND +# +c45 = '' AND +c46 = '' AND +c47 = '' AND +c48 = '' AND +c49 = '' AND +c50 = '' AND +c51 = '' AND +c52 = '' AND +c53 = '' AND +c54 = '' AND +c55 = '' AND +c56 = '' AND +# +# this does not reproduce the inserted value: c57 = '' AND +c58 = '' AND +# this does not reproduce the inserted value: c59 = '' AND +# this does not reproduce the inserted value: c60 = '' AND +# +c61 = '' AND +c62 = '' AND +c63 = '' AND +c64 = '' AND +# +c65 = '' AND +c66 = '' AND +c67 = '' AND +c68 = '' AND +c69 = '' AND +c70 = '' AND +c71 = '' AND +c72 = '' AND +c73 = '' AND +c74 = '' AND +c75 = '' AND +c76 = '' AND +# +c77 = 'a' AND +c78 = '' AND +# +crn = 1; +affected rows: 1 +info: Rows matched: 1 Changed: 1 Warnings: 0 +# +# Update max values to min values. +# +UPDATE t1 SET +c01 = b'0', +c02 = b'0000000000000000000000000000000000000000000000000000000000000000', +c03 = -128, +c04 = 0, +c05 = 000, +c06 = false, +c07 = -32768, +c08 = 0, +c09 = 00000, +c10 = -8388608, +c11 = 0, +c12 = 00000000, +c13 = -2147483648, +c14 = 0, +c15 = 0000000000, +c16 = -9223372036854775808, +c17 = 0, +c18 = 00000000000000000000, +c19 = -3.402823466E+38, +c20 = 1.175494351E-38, +c21 = 000000000000, +c22 = -1.7976931348623E+308, +c23 = 2.2250738585072E-308, +c24 = 0000000000000000000000, +c25 = -9999999999, +c26 = 0, +c27 = 0000000000, +# +c28 = '1000-01-01', +c29 = '1000-01-01 00:00:00', +c30 = '1970-01-02 00:00:01', +c31 = '-838:59:59', +c32 = '1901', +# +c33 = '', +c34 = '', +c35 = '', +c36 = '', +c37 = '', +c38 = '', +c39 = '', +c40 = '', +c41 = '', +c42 = '', +c43 = '', +c44 = '', +# +c45 = '', +c46 = '', +c47 = '', +c48 = '', +c49 = '', +c50 = '', +c51 = '', +c52 = '', +c53 = '', +c54 = '', +c55 = '', +c56 = '', +# +c57 = '', +c58 = '', +c59 = '', +c60 = '', +# +c61 = '', +c62 = '', +c63 = '', +c64 = '', +# +c65 = '', +c66 = '', +c67 = '', +c68 = '', +c69 = '', +c70 = '', +c71 = '', +c72 = '', +c73 = '', +c74 = '', +c75 = '', +c76 = '', +# +c77 = 'a', +c78 = '', +# +crn = crn +# +WHERE +# +c01 = b'1' AND +# the below does not reproduce the inserted value: +#c02 = b'1111111111111111111111111111111111111111111111111111111111111111' AND +c03 = 127 AND +c04 = 255 AND +c05 = 255 AND +c06 = true AND +c07 = 32767 AND +c08 = 65535 AND +c09 = 65535 AND +c10 = 8388607 AND +c11 = 16777215 AND +c12 = 16777215 AND +c13 = 2147483647 AND +c14 = 4294967295 AND +c15 = 4294967295 AND +c16 = 9223372036854775807 AND +c17 = 18446744073709551615 AND +c18 = 18446744073709551615 AND +c19 > 3.402823465E+38 AND +c20 > 3.402823465E+38 AND +c21 > 3.402823465E+38 AND +c22 > 1.7976931348622E+308 AND +c23 > 1.7976931348622E+308 AND +c24 > 1.7976931348622E+308 AND +c25 = 9999999999 AND +c26 = 9999999999 AND +c27 = 9999999999 AND +# +c28 = '9999-12-31' AND +c29 = '9999-12-31 23:59:59' AND +c30 = '2038-01-08 03:14:07' AND +c31 = '838:59:59' AND +c32 = '2155' AND +# +c33 = x'ff' AND +c34 = '' AND +c35 = x'ff' AND +c36 = REPEAT(x'ff',255) AND +c37 = _utf8 x'efbfbf' AND +c38 = '' AND +c39 = _utf8 x'efbfbf' AND +c40 = REPEAT(_utf8 x'efbfbf',255) AND +c41 = _ucs2 x'ffff' AND +c42 = '' AND +c43 = _ucs2 x'ffff' AND +c44 = REPEAT(_ucs2 x'ffff',255) AND +# +c45 = '' AND +c46 = x'ff' AND +c47 = REPEAT(x'ff',255) AND +c48 = REPEAT(x'ff',261) AND +c49 = '' AND +c50 = _utf8 x'efbfbf' AND +c51 = REPEAT(_utf8 x'efbfbf',255) AND +c52 = REPEAT(_utf8 x'efbfbf',261) AND +c53 = '' AND +c54 = _ucs2 x'ffff' AND +c55 = REPEAT(_ucs2 x'ffff',255) AND +c56 = REPEAT(_ucs2 x'ffff',261) AND +# +c57 = x'ff' AND +c58 = '' AND +c59 = x'ff' AND +c60 = REPEAT(x'ff',255) AND +# +c61 = '' AND +c62 = x'ff' AND +c63 = REPEAT(x'ff',255) AND +c64 = REPEAT(x'ff',261) AND +# +c65 = 'tinyblob' AND +c66 = 'tinytext' AND +c67 = 'tinytext-ucs2' AND +c68 = 'blob' AND +c69 = 'text' AND +c70 = 'text-ucs2' AND +c71 = 'mediumblob' AND +c72 = 'mediumtext' AND +c73 = 'mediumtext-ucs2' AND +c74 = 'longblob' AND +c75 = 'longtext' AND +c76 = 'longtext-ucs2' AND +# +c77 = 'c' AND +c78 = 'a,b,c' AND +# +crn = 2; +affected rows: 1 +info: Rows matched: 1 Changed: 1 Warnings: 0 +# +# Update NULL values to arbitrary values. +# +UPDATE t1 SET +c01 = b'1', +c02 = b'1111111111111111111111111111111111111111111111111111111111111111', +c03 = 127, +c04 = 0, +c05 = 001, +c06 = true, +c07 = 32767, +c08 = 0, +c09 = 00001, +c10 = 8388607, +c11 = 0, +c12 = 00000001, +c13 = 2147483647, +c14 = 0, +c15 = 0000000001, +c16 = 9223372036854775807, +c17 = 0, +c18 = 00000000000000000001, +c19 = -1.175494351E-38, +c20 = 1.175494351E-38, +c21 = 000000000000001, +c22 = -2.2250738585072E-308, +c23 = 2.2250738585072E-308, +c24 = 00000000000000000000001, +c25 = -9999999999, +c26 = 9999999999, +c27 = 0000000001, +# +c28 = '2008-08-04', +c29 = '2008-08-04 16:18:06', +c30 = '2008-08-04 16:18:24', +c31 = '16:18:47', +c32 = '2008', +# +c33 = 'a', +c34 = '', +c35 = 'e', +c36 = REPEAT('i',255), +c37 = _utf8 x'c3a4', +c38 = '', +c39 = _utf8 x'c3b6', +c40 = REPEAT(_utf8 x'c3bc',255), +c41 = _ucs2 x'00e4', +c42 = '', +c43 = _ucs2 x'00f6', +c44 = REPEAT(_ucs2 x'00fc',255), +# +c45 = '', +c46 = 'a', +c47 = REPEAT('e',255), +c48 = REPEAT('i',261), +c49 = '', +c50 = _utf8 x'c3a4', +c51 = REPEAT(_utf8 x'c3b6',255), +c52 = REPEAT(_utf8 x'c3bc',261), +c53 = '', +c54 = _ucs2 x'00e4', +c55 = REPEAT(_ucs2 x'00f6',255), +c56 = REPEAT(_ucs2 x'00fc',261), +# +c57 = '0', +c58 = '', +c59 = '1', +c60 = REPEAT('1',255), +# +c61 = '', +c62 = 'b', +c63 = REPEAT('c',255), +c64 = REPEAT('\'',261), + # + c65 = 'tinyblob', + c66 = 'tinytext', + c67 = 'tinytext-ucs2', + c68 = 'blob', + c69 = 'text', + c70 = 'text-ucs2', + c71 = 'mediumblob', + c72 = 'mediumtext', + c73 = 'mediumtext-ucs2', + c74 = 'longblob', + c75 = 'longtext', + c76 = 'longtext-ucs2', + # + c77 = 'b', + c78 = 'b,c', + # + crn = crn + # + WHERE + # + c01 IS NULL AND + c02 IS NULL AND + c03 IS NULL AND + c04 IS NULL AND + c05 IS NULL AND + c06 IS NULL AND + c07 IS NULL AND + c08 IS NULL AND + c09 IS NULL AND + c10 IS NULL AND + c11 IS NULL AND + c12 IS NULL AND + c13 IS NULL AND + c14 IS NULL AND + c15 IS NULL AND + c16 IS NULL AND + c17 IS NULL AND + c18 IS NULL AND + c19 IS NULL AND + c20 IS NULL AND + c21 IS NULL AND + c22 IS NULL AND + c23 IS NULL AND + c24 IS NULL AND + c25 IS NULL AND + c26 IS NULL AND + c27 IS NULL AND + # + c28 IS NULL AND + c29 IS NULL AND + # this got a timestamp instead of NULL: c30 IS NULL AND + c31 IS NULL AND + c32 IS NULL AND + # + c33 IS NULL AND + c34 IS NULL AND + c35 IS NULL AND + c36 IS NULL AND + c37 IS NULL AND + c38 IS NULL AND + c39 IS NULL AND + c40 IS NULL AND + c41 IS NULL AND + c42 IS NULL AND + c43 IS NULL AND + c44 IS NULL AND + # + c45 IS NULL AND + c46 IS NULL AND + c47 IS NULL AND + c48 IS NULL AND + c49 IS NULL AND + c50 IS NULL AND + c51 IS NULL AND + c52 IS NULL AND + c53 IS NULL AND + c54 IS NULL AND + c55 IS NULL AND + c56 IS NULL AND + # + c57 IS NULL AND + c58 IS NULL AND + c59 IS NULL AND + c60 IS NULL AND + # + c61 IS NULL AND + c62 IS NULL AND + c63 IS NULL AND + c64 IS NULL AND + # + c65 IS NULL AND + c66 IS NULL AND + c67 IS NULL AND + c68 IS NULL AND + c69 IS NULL AND + c70 IS NULL AND + c71 IS NULL AND + c72 IS NULL AND + c73 IS NULL AND + c74 IS NULL AND + c75 IS NULL AND + c76 IS NULL AND + # + c77 IS NULL AND + c78 IS NULL AND + # + crn = 3; +affected rows: 1 +info: Rows matched: 1 Changed: 1 Warnings: 0 +# +# Update arbitrary values to NULL values. +# +UPDATE t1 SET +c01 = NULL, +c02 = NULL, +c03 = NULL, +c04 = NULL, +c05 = NULL, +c06 = NULL, +c07 = NULL, +c08 = NULL, +c09 = NULL, +c10 = NULL, +c11 = NULL, +c12 = NULL, +c13 = NULL, +c14 = NULL, +c15 = NULL, +c16 = NULL, +c17 = NULL, +c18 = NULL, +c19 = NULL, +c20 = NULL, +c21 = NULL, +c22 = NULL, +c23 = NULL, +c24 = NULL, +c25 = NULL, +c26 = NULL, +c27 = NULL, +# +c28 = NULL, +c29 = NULL, +c30 = NULL, +c31 = NULL, +c32 = NULL, +# +c33 = NULL, +c34 = NULL, +c35 = NULL, +c36 = NULL, +c37 = NULL, +c38 = NULL, +c39 = NULL, +c40 = NULL, +c41 = NULL, +c42 = NULL, +c43 = NULL, +c44 = NULL, +# +c45 = NULL, +c46 = NULL, +c47 = NULL, +c48 = NULL, +c49 = NULL, +c50 = NULL, +c51 = NULL, +c52 = NULL, +c53 = NULL, +c54 = NULL, +c55 = NULL, +c56 = NULL, +# +c57 = NULL, +c58 = NULL, +c59 = NULL, +c60 = NULL, +# +c61 = NULL, +c62 = NULL, +c63 = NULL, +c64 = NULL, +# +c65 = NULL, +c66 = NULL, +c67 = NULL, +c68 = NULL, +c69 = NULL, +c70 = NULL, +c71 = NULL, +c72 = NULL, +c73 = NULL, +c74 = NULL, +c75 = NULL, +c76 = NULL, +# +c77 = NULL, +c78 = NULL, +# +crn = crn +# +WHERE +# +c01 = b'1' AND +# the below does not reproduce the inserted value: +#c02 = b'1111111111111111111111111111111111111111111111111111111111111111' AND +c03 = 127 AND +c04 = 0 AND +c05 = 001 AND +c06 = true AND +c07 = 32767 AND +c08 = 0 AND +c09 = 00001 AND +c10 = 8388607 AND +c11 = 0 AND +c12 = 00000001 AND +c13 = 2147483647 AND +c14 = 0 AND +c15 = 0000000001 AND +c16 = 9223372036854775807 AND +c17 = 0 AND +c18 = 00000000000000000001 AND +c19 > -1.175494352E-38 AND +c20 < 1.175494352E-38 AND +c21 = 000000000000001 AND +c22 > -2.2250738585073E-308 AND +c23 < 2.2250738585073E-308 AND +c24 = 00000000000000000000001 AND +c25 = -9999999999 AND +c26 = 9999999999 AND +c27 = 0000000001 AND +# +c28 = '2008-08-04' AND +c29 = '2008-08-04 16:18:06' AND +c30 = '2008-08-04 16:18:24' AND +c31 = '16:18:47' AND +c32 = '2008' AND +# +c33 = 'a' AND +c34 = '' AND +c35 = 'e' AND +c36 = REPEAT('i',255) AND +c37 = _utf8 x'c3a4' AND +c38 = '' AND +c39 = _utf8 x'c3b6' AND +c40 = REPEAT(_utf8 x'c3bc',255) AND +c41 = _ucs2 x'00e4' AND +c42 = '' AND +c43 = _ucs2 x'00f6' AND +c44 = REPEAT(_ucs2 x'00fc',255) AND +# +c45 = '' AND +c46 = 'a' AND +c47 = REPEAT('e',255) AND +c48 = REPEAT('i',261) AND +c49 = '' AND +c50 = _utf8 x'c3a4' AND +c51 = REPEAT(_utf8 x'c3b6',255) AND +c52 = REPEAT(_utf8 x'c3bc',261) AND +c53 = '' AND +c54 = _ucs2 x'00e4' AND +c55 = REPEAT(_ucs2 x'00f6',255) AND +c56 = REPEAT(_ucs2 x'00fc',261) AND +# +c57 = '0' AND +c58 = '' AND +c59 = '1' AND +c60 = REPEAT('1',255) AND +# +c61 = '' AND +c62 = 'b' AND +c63 = REPEAT('c',255) AND +c64 = REPEAT('\'',261) AND + # + c65 = 'tinyblob' AND + c66 = 'tinytext' AND + c67 = 'tinytext-ucs2' AND + c68 = 'blob' AND + c69 = 'text' AND + c70 = 'text-ucs2' AND + c71 = 'mediumblob' AND + c72 = 'mediumtext' AND + c73 = 'mediumtext-ucs2' AND + c74 = 'longblob' AND + c75 = 'longtext' AND + c76 = 'longtext-ucs2' AND + # + c77 = 'b' AND + c78 = 'b,c' AND + # + crn = 4; +affected rows: 1 +info: Rows matched: 1 Changed: 1 Warnings: 0 +# +# Show what we have in the table. +# Do not display bit type output. It's binary and confuses diff. +# Also BINARY with nul-bytes should be avoided. +# +SELECT * FROM t1; +c01 # +c02 # +c03 127 +c04 255 +c05 255 +c06 1 +c07 32767 +c08 65535 +c09 65535 +c10 8388607 +c11 16777215 +c12 16777215 +c13 2147483647 +c14 4294967295 +c15 4294967295 +c16 9223372036854775807 +c17 18446744073709551615 +c18 18446744073709551615 +c19 3.40282e+38 +c20 3.40282e+38 +c21 03.40282e+38 +c22 1.7976931348623e+308 +c23 1.7976931348623e+308 +c24 001.7976931348623e+308 +c25 9999999999 +c26 9999999999 +c27 9999999999 +c28 9999-12-31 +c29 9999-12-31 23:59:59 +c30 2038-01-08 03:14:07 +c31 838:59:59 +c32 2155 +c33 ÿ +c34 +c35 ÿ +c36 ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ +c37 ï¿¿ +c38 +c39 ï¿¿ +c40 ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ +c41 ï¿¿ +c42 +c43 ï¿¿ +c44 ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ +c45 +c46 ÿ +c47 ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ +c48 ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ +c49 +c50 ï¿¿ +c51 ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ +c52 ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ +c53 +c54 ï¿¿ +c55 ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ +c56 ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ +c57 # +c58 # +c59 # +c60 # +c61 +c62 ÿ +c63 ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ +c64 ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ +c65 tinyblob +c66 tinytext +c67 tinytext-ucs2 +c68 blob +c69 text +c70 text-ucs2 +c71 mediumblob +c72 mediumtext +c73 mediumtext-ucs2 +c74 longblob +c75 longtext +c76 longtext-ucs2 +c77 c +c78 a,b,c +crn 1 +c01 # +c02 # +c03 -128 +c04 0 +c05 000 +c06 0 +c07 -32768 +c08 0 +c09 00000 +c10 -8388608 +c11 0 +c12 00000000 +c13 -2147483648 +c14 0 +c15 0000000000 +c16 -9223372036854775808 +c17 0 +c18 00000000000000000000 +c19 -3.40282e+38 +c20 1.17549e-38 +c21 000000000000 +c22 -1.7976931348623e+308 +c23 2.2250738585072e-308 +c24 0000000000000000000000 +c25 -9999999999 +c26 0 +c27 0000000000 +c28 1000-01-01 +c29 1000-01-01 00:00:00 +c30 1970-01-02 00:00:01 +c31 -838:59:59 +c32 1901 +c33 +c34 +c35 +c36 +c37 +c38 +c39 +c40 +c41 +c42 +c43 +c44 +c45 +c46 +c47 +c48 +c49 +c50 +c51 +c52 +c53 +c54 +c55 +c56 +c57 # +c58 # +c59 # +c60 # +c61 +c62 +c63 +c64 +c65 +c66 +c67 +c68 +c69 +c70 +c71 +c72 +c73 +c74 +c75 +c76 +c77 a +c78 +crn 2 +c01 # +c02 # +c03 127 +c04 0 +c05 001 +c06 1 +c07 32767 +c08 0 +c09 00001 +c10 8388607 +c11 0 +c12 00000001 +c13 2147483647 +c14 0 +c15 0000000001 +c16 9223372036854775807 +c17 0 +c18 00000000000000000001 +c19 -1.17549e-38 +c20 1.17549e-38 +c21 000000000001 +c22 -2.2250738585072e-308 +c23 2.2250738585072e-308 +c24 0000000000000000000001 +c25 -9999999999 +c26 9999999999 +c27 0000000001 +c28 2008-08-04 +c29 2008-08-04 16:18:06 +c30 2008-08-04 16:18:24 +c31 16:18:47 +c32 2008 +c33 a +c34 +c35 e +c36 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii +c37 ä +c38 +c39 ö +c40 üüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüü +c41 ä +c42 +c43 ö +c44 üüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüü +c45 +c46 a +c47 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +c48 iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii +c49 +c50 ä +c51 ööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööö +c52 üüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüü +c53 +c54 ä +c55 ööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööö +c56 üüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüü +c57 # +c58 # +c59 # +c60 # +c61 +c62 b +c63 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +c64 ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' +c65 tinyblob +c66 tinytext +c67 tinytext-ucs2 +c68 blob +c69 text +c70 text-ucs2 +c71 mediumblob +c72 mediumtext +c73 mediumtext-ucs2 +c74 longblob +c75 longtext +c76 longtext-ucs2 +c77 b +c78 b,c +crn 3 +c01 # +c02 # +c03 NULL +c04 NULL +c05 NULL +c06 NULL +c07 NULL +c08 NULL +c09 NULL +c10 NULL +c11 NULL +c12 NULL +c13 NULL +c14 NULL +c15 NULL +c16 NULL +c17 NULL +c18 NULL +c19 NULL +c20 NULL +c21 NULL +c22 NULL +c23 NULL +c24 NULL +c25 NULL +c26 NULL +c27 NULL +c28 NULL +c29 NULL +c30 2001-09-09 04:46:40 +c31 NULL +c32 NULL +c33 NULL +c34 NULL +c35 NULL +c36 NULL +c37 NULL +c38 NULL +c39 NULL +c40 NULL +c41 NULL +c42 NULL +c43 NULL +c44 NULL +c45 NULL +c46 NULL +c47 NULL +c48 NULL +c49 NULL +c50 NULL +c51 NULL +c52 NULL +c53 NULL +c54 NULL +c55 NULL +c56 NULL +c57 # +c58 # +c59 # +c60 # +c61 NULL +c62 NULL +c63 NULL +c64 NULL +c65 NULL +c66 NULL +c67 NULL +c68 NULL +c69 NULL +c70 NULL +c71 NULL +c72 NULL +c73 NULL +c74 NULL +c75 NULL +c76 NULL +c77 NULL +c78 NULL +crn 4 +affected rows: 4 +# +# Delete the row that has max values now. +# +DELETE FROM t1 WHERE +# +c01 = b'1' AND +# the below does not reproduce the inserted value: +#c02 = b'1111111111111111111111111111111111111111111111111111111111111111' AND +c03 = 127 AND +c04 = 255 AND +c05 = 255 AND +c06 = true AND +c07 = 32767 AND +c08 = 65535 AND +c09 = 65535 AND +c10 = 8388607 AND +c11 = 16777215 AND +c12 = 16777215 AND +c13 = 2147483647 AND +c14 = 4294967295 AND +c15 = 4294967295 AND +c16 = 9223372036854775807 AND +c17 = 18446744073709551615 AND +c18 = 18446744073709551615 AND +c19 > 3.402823465E+38 AND +c20 > 3.402823465E+38 AND +c21 > 3.402823465E+38 AND +c22 > 1.7976931348622E+308 AND +c23 > 1.7976931348622E+308 AND +c24 > 1.7976931348622E+308 AND +c25 = 9999999999 AND +c26 = 9999999999 AND +c27 = 9999999999 AND +# +c28 = '9999-12-31' AND +c29 = '9999-12-31 23:59:59' AND +c30 = '2038-01-08 03:14:07' AND +c31 = '838:59:59' AND +c32 = '2155' AND +# +c33 = x'ff' AND +c34 = '' AND +c35 = x'ff' AND +c36 = REPEAT(x'ff',255) AND +c37 = _utf8 x'efbfbf' AND +c38 = '' AND +c39 = _utf8 x'efbfbf' AND +c40 = REPEAT(_utf8 x'efbfbf',255) AND +c41 = _ucs2 x'ffff' AND +c42 = '' AND +c43 = _ucs2 x'ffff' AND +c44 = REPEAT(_ucs2 x'ffff',255) AND +# +c45 = '' AND +c46 = x'ff' AND +c47 = REPEAT(x'ff',255) AND +c48 = REPEAT(x'ff',261) AND +c49 = '' AND +c50 = _utf8 x'efbfbf' AND +c51 = REPEAT(_utf8 x'efbfbf',255) AND +c52 = REPEAT(_utf8 x'efbfbf',261) AND +c53 = '' AND +c54 = _ucs2 x'ffff' AND +c55 = REPEAT(_ucs2 x'ffff',255) AND +c56 = REPEAT(_ucs2 x'ffff',261) AND +# +c57 = x'ff' AND +c58 = '' AND +c59 = x'ff' AND +c60 = REPEAT(x'ff',255) AND +# +c61 = '' AND +c62 = x'ff' AND +c63 = REPEAT(x'ff',255) AND +c64 = REPEAT(x'ff',261) AND +# +c65 = 'tinyblob' AND +c66 = 'tinytext' AND +c67 = 'tinytext-ucs2' AND +c68 = 'blob' AND +c69 = 'text' AND +c70 = 'text-ucs2' AND +c71 = 'mediumblob' AND +c72 = 'mediumtext' AND +c73 = 'mediumtext-ucs2' AND +c74 = 'longblob' AND +c75 = 'longtext' AND +c76 = 'longtext-ucs2' AND +# +c77 = 'c' AND +c78 = 'a,b,c' AND +# +crn = 1; +affected rows: 1 +# +# Delete the row that has min values now. +# +DELETE FROM t1 WHERE +# +c01 = b'0' AND +c02 = b'0000000000000000000000000000000000000000000000000000000000000000' AND +c03 = -128 AND +c04 = 0 AND +c05 = 000 AND +c06 = false AND +c07 = -32768 AND +c08 = 0 AND +c09 = 00000 AND +c10 = -8388608 AND +c11 = 0 AND +c12 = 00000000 AND +c13 = -2147483648 AND +c14 = 0 AND +c15 = 0000000000 AND +c16 = -9223372036854775808 AND +c17 = 0 AND +c18 = 00000000000000000000 AND +c19 < -3.402823465E+38 AND +c20 < 1.175494352E-38 AND +c21 = 000000000000 AND +c22 < -1.7976931348622E+308 AND +c23 < 2.2250738585073E-308 AND +c24 = 0000000000000000000000 AND +c25 = -9999999999 AND +c26 = 0 AND +c27 = 0000000000 AND +# +c28 = '1000-01-01' AND +c29 = '1000-01-01 00:00:00' AND +c30 = '1970-01-02 00:00:01' AND +c31 = '-838:59:59' AND +c32 = '1901' AND +# +c33 = '' AND +c34 = '' AND +c35 = '' AND +c36 = '' AND +c37 = '' AND +c38 = '' AND +c39 = '' AND +c40 = '' AND +c41 = '' AND +c42 = '' AND +c43 = '' AND +c44 = '' AND +# +c45 = '' AND +c46 = '' AND +c47 = '' AND +c48 = '' AND +c49 = '' AND +c50 = '' AND +c51 = '' AND +c52 = '' AND +c53 = '' AND +c54 = '' AND +c55 = '' AND +c56 = '' AND +# +# this does not reproduce the inserted value: c57 = '' AND +c58 = '' AND +# this does not reproduce the inserted value: c59 = '' AND +# this does not reproduce the inserted value: c60 = '' AND +# +c61 = '' AND +c62 = '' AND +c63 = '' AND +c64 = '' AND +# +c65 = '' AND +c66 = '' AND +c67 = '' AND +c68 = '' AND +c69 = '' AND +c70 = '' AND +c71 = '' AND +c72 = '' AND +c73 = '' AND +c74 = '' AND +c75 = '' AND +c76 = '' AND +# +c77 = 'a' AND +c78 = '' AND +# +crn = 2; +affected rows: 1 +# +# Delete the row that has arbitrary values now. +# +DELETE FROM t1 WHERE +# +c01 = b'1' AND +# the below does not reproduce the inserted value: +#c02 = b'1111111111111111111111111111111111111111111111111111111111111111' AND +c03 = 127 AND +c04 = 0 AND +c05 = 001 AND +c06 = true AND +c07 = 32767 AND +c08 = 0 AND +c09 = 00001 AND +c10 = 8388607 AND +c11 = 0 AND +c12 = 00000001 AND +c13 = 2147483647 AND +c14 = 0 AND +c15 = 0000000001 AND +c16 = 9223372036854775807 AND +c17 = 0 AND +c18 = 00000000000000000001 AND +c19 > -1.175494352E-38 AND +c20 < 1.175494352E-38 AND +c21 = 000000000000001 AND +c22 > -2.2250738585073E-308 AND +c23 < 2.2250738585073E-308 AND +c24 = 00000000000000000000001 AND +c25 = -9999999999 AND +c26 = 9999999999 AND +c27 = 0000000001 AND +# +c28 = '2008-08-04' AND +c29 = '2008-08-04 16:18:06' AND +c30 = '2008-08-04 16:18:24' AND +c31 = '16:18:47' AND +c32 = '2008' AND +# +c33 = 'a' AND +c34 = '' AND +c35 = 'e' AND +c36 = REPEAT('i',255) AND +c37 = _utf8 x'c3a4' AND +c38 = '' AND +c39 = _utf8 x'c3b6' AND +c40 = REPEAT(_utf8 x'c3bc',255) AND +c41 = _ucs2 x'00e4' AND +c42 = '' AND +c43 = _ucs2 x'00f6' AND +c44 = REPEAT(_ucs2 x'00fc',255) AND +# +c45 = '' AND +c46 = 'a' AND +c47 = REPEAT('e',255) AND +c48 = REPEAT('i',261) AND +c49 = '' AND +c50 = _utf8 x'c3a4' AND +c51 = REPEAT(_utf8 x'c3b6',255) AND +c52 = REPEAT(_utf8 x'c3bc',261) AND +c53 = '' AND +c54 = _ucs2 x'00e4' AND +c55 = REPEAT(_ucs2 x'00f6',255) AND +c56 = REPEAT(_ucs2 x'00fc',261) AND +# +c57 = '0' AND +c58 = '' AND +c59 = '1' AND +c60 = REPEAT('1',255) AND +# +c61 = '' AND +c62 = 'b' AND +c63 = REPEAT('c',255) AND +c64 = REPEAT('\'',261) AND + # + c65 = 'tinyblob' AND + c66 = 'tinytext' AND + c67 = 'tinytext-ucs2' AND + c68 = 'blob' AND + c69 = 'text' AND + c70 = 'text-ucs2' AND + c71 = 'mediumblob' AND + c72 = 'mediumtext' AND + c73 = 'mediumtext-ucs2' AND + c74 = 'longblob' AND + c75 = 'longtext' AND + c76 = 'longtext-ucs2' AND + # + c77 = 'b' AND + c78 = 'b,c' AND + # + crn = 3; +affected rows: 1 +# +# Delete the row that has NULL values now. +# +DELETE FROM t1 WHERE +# +c01 IS NULL AND +c02 IS NULL AND +c03 IS NULL AND +c04 IS NULL AND +c05 IS NULL AND +c06 IS NULL AND +c07 IS NULL AND +c08 IS NULL AND +c09 IS NULL AND +c10 IS NULL AND +c11 IS NULL AND +c12 IS NULL AND +c13 IS NULL AND +c14 IS NULL AND +c15 IS NULL AND +c16 IS NULL AND +c17 IS NULL AND +c18 IS NULL AND +c19 IS NULL AND +c20 IS NULL AND +c21 IS NULL AND +c22 IS NULL AND +c23 IS NULL AND +c24 IS NULL AND +c25 IS NULL AND +c26 IS NULL AND +c27 IS NULL AND +# +c28 IS NULL AND +c29 IS NULL AND +# this got a timestamp instead of NULL: c30 IS NULL AND +c31 IS NULL AND +c32 IS NULL AND +# +c33 IS NULL AND +c34 IS NULL AND +c35 IS NULL AND +c36 IS NULL AND +c37 IS NULL AND +c38 IS NULL AND +c39 IS NULL AND +c40 IS NULL AND +c41 IS NULL AND +c42 IS NULL AND +c43 IS NULL AND +c44 IS NULL AND +# +c45 IS NULL AND +c46 IS NULL AND +c47 IS NULL AND +c48 IS NULL AND +c49 IS NULL AND +c50 IS NULL AND +c51 IS NULL AND +c52 IS NULL AND +c53 IS NULL AND +c54 IS NULL AND +c55 IS NULL AND +c56 IS NULL AND +# +c57 IS NULL AND +c58 IS NULL AND +c59 IS NULL AND +c60 IS NULL AND +# +c61 IS NULL AND +c62 IS NULL AND +c63 IS NULL AND +c64 IS NULL AND +# +c65 IS NULL AND +c66 IS NULL AND +c67 IS NULL AND +c68 IS NULL AND +c69 IS NULL AND +c70 IS NULL AND +c71 IS NULL AND +c72 IS NULL AND +c73 IS NULL AND +c74 IS NULL AND +c75 IS NULL AND +c76 IS NULL AND +# +c77 IS NULL AND +c78 IS NULL AND +# +crn = 4; +affected rows: 1 +# +# Show what we have in the table. Should be empty now. +# +SELECT * FROM t1; +affected rows: 0 +# +# Hide how much rows are affected by each statement. +# +# +# Flush all log buffers to the log file. +# +FLUSH LOGS; +# +# Call mysqlbinlog to display the log file contents. +# +/*!40019 SET @@session.max_insert_delayed_threads=0*/; +/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; +DELIMITER /*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Start: binlog v 4, server v #.##.## created 010909 4:46:40 at startup +ROLLBACK/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +use test/*!*/; +SET TIMESTAMP=1000000000/*!*/; +SET @@session.pseudo_thread_id=#/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/; +/*!\C utf8 *//*!*/; +SET @@session.character_set_client=33,@@session.collation_connection=33,@@session.collation_server=8/*!*/; +SET @@session.lc_time_names=0/*!*/; +SET @@session.collation_database=DEFAULT/*!*/; +CREATE TABLE t1 ( +c01 BIT, +c02 BIT(64), +c03 TINYINT, +c04 TINYINT UNSIGNED, +c05 TINYINT ZEROFILL, +c06 BOOL, +c07 SMALLINT, +c08 SMALLINT UNSIGNED, +c09 SMALLINT ZEROFILL, +c10 MEDIUMINT, +c11 MEDIUMINT UNSIGNED, +c12 MEDIUMINT ZEROFILL, +c13 INT, +c14 INT UNSIGNED, +c15 INT ZEROFILL, +c16 BIGINT, +c17 BIGINT UNSIGNED, +c18 BIGINT ZEROFILL, +c19 FLOAT, +c20 FLOAT UNSIGNED, +c21 FLOAT ZEROFILL, +c22 DOUBLE, +c23 DOUBLE UNSIGNED, +c24 DOUBLE ZEROFILL, +c25 DECIMAL, +c26 DECIMAL UNSIGNED, +c27 DECIMAL ZEROFILL, +# +c28 DATE, +c29 DATETIME, +c30 TIMESTAMP, +c31 TIME, +c32 YEAR, +# +c33 CHAR, +c34 CHAR(0), +c35 CHAR(1), +c36 CHAR(255), +c37 NATIONAL CHAR, +c38 NATIONAL CHAR(0), +c39 NATIONAL CHAR(1), +c40 NATIONAL CHAR(255), +c41 CHAR CHARACTER SET UCS2, +c42 CHAR(0) CHARACTER SET UCS2, +c43 CHAR(1) CHARACTER SET UCS2, +c44 CHAR(255) CHARACTER SET UCS2, +# +c45 VARCHAR(0), +c46 VARCHAR(1), +c47 VARCHAR(255), +c48 VARCHAR(261), +c49 NATIONAL VARCHAR(0), +c50 NATIONAL VARCHAR(1), +c51 NATIONAL VARCHAR(255), +c52 NATIONAL VARCHAR(261), +c53 VARCHAR(0) CHARACTER SET UCS2, +c54 VARCHAR(1) CHARACTER SET UCS2, +c55 VARCHAR(255) CHARACTER SET UCS2, +c56 VARCHAR(261) CHARACTER SET UCS2, +# +c57 BINARY, +c58 BINARY(0), +c59 BINARY(1), +c60 BINARY(255), +# +c61 VARBINARY(0), +c62 VARBINARY(1), +c63 VARBINARY(255), +c64 VARBINARY(261), +# +c65 TINYBLOB, +c66 TINYTEXT, +c67 TINYTEXT CHARACTER SET UCS2, +c68 BLOB, +c69 TEXT, +c70 TEXT CHARACTER SET UCS2, +c71 MEDIUMBLOB, +c72 MEDIUMTEXT, +c73 MEDIUMTEXT CHARACTER SET UCS2, +c74 LONGBLOB, +c75 LONGTEXT, +c76 LONGTEXT CHARACTER SET UCS2, +# +c77 ENUM('a','b','c'), +c78 SET('a','b','c'), +# +crn INT -- row number +) ENGINE=MyISAM DEFAULT CHARSET latin1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +SET @@session.time_zone='SYSTEM'/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=b'0' /* BIT(1) meta=1 nullable=1 is_null=0 */ +### @2=b'0000000000000000000000000000000000000000000000000000000000000000' /* BIT(64) meta=2048 nullable=1 is_null=0 */ +### @3=-128 (128) /* TINYINT meta=0 nullable=1 is_null=0 */ +### @4=0 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @5=0 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @6=0 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @7=-32768 (32768) /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @8=0 /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @9=0 /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @10=-8388608 (8388608) /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @11=0 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @12=0 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @13=-2147483648 (2147483648) /* INT meta=0 nullable=1 is_null=0 */ +### @14=0 /* INT meta=0 nullable=1 is_null=0 */ +### @15=0 /* INT meta=0 nullable=1 is_null=0 */ +### @16=-9223372036854775808 (9223372036854775808) /* LONGINT meta=0 nullable=1 is_null=0 */ +### @17=0 /* LONGINT meta=0 nullable=1 is_null=0 */ +### @18=0 /* LONGINT meta=0 nullable=1 is_null=0 */ +### @19=-3.402... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @20=1.175... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @21=0 /* FLOAT meta=4 nullable=1 is_null=0 */ +### @22=-1.797... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @23=2.225... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @24=0 /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @25=-000000009.999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @26=000000000 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @27=000000000 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @28='1000:01:01' /* DATE meta=0 nullable=1 is_null=0 */ +### @29=1000-01-01 00:00:00 /* DATETIME meta=0 nullable=1 is_null=0 */ +### @30=75601 /* TIMESTAMP meta=0 nullable=0 is_null=0 */ +### @31='839:12:57' /* TIME meta=0 nullable=1 is_null=0 */ +### @32=1901 /* YEAR meta=0 nullable=1 is_null=0 */ +### @33='' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @34='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @35='' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @36='' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +### @37='' /* STRING(3) meta=65027 nullable=1 is_null=0 */ +### @38='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @39='' /* STRING(3) meta=65027 nullable=1 is_null=0 */ +### @40='' /* STRING(765) meta=57085 nullable=1 is_null=0 */ +### @41='\x00' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +### @42='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @43='\x00' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +### @44='\x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00' /* STRING(510) meta=61182 nullable=1 is_null=0 */ +### @45='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @46='' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +### @47='' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @48='' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */ +### @49='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @50='' /* VARSTRING(3) meta=3 nullable=1 is_null=0 */ +### @51='' /* VARSTRING(765) meta=765 nullable=1 is_null=0 */ +### @52='' /* VARSTRING(783) meta=783 nullable=1 is_null=0 */ +### @53='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @54='' /* VARSTRING(2) meta=2 nullable=1 is_null=0 */ +### @55='' /* VARSTRING(510) meta=510 nullable=1 is_null=0 */ +### @56='' /* VARSTRING(522) meta=522 nullable=1 is_null=0 */ +### @57='' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @58='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @59='' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @60='' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +### @61='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @62='' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +### @63='' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @64='' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */ +### @65='' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @66='' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @67='' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @68='' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @69='' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @70='' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @71='' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @72='' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @73='' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @74='' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @75='' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @76='' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @77=1 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */ +### @78=b'00000000' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ +### @79=1 /* INT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=b'1' /* BIT(1) meta=1 nullable=1 is_null=0 */ +### @2=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 nullable=1 is_null=0 */ +### @3=127 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @4=-1 (255) /* TINYINT meta=0 nullable=1 is_null=0 */ +### @5=-1 (255) /* TINYINT meta=0 nullable=1 is_null=0 */ +### @6=1 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @7=32767 /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @8=-1 (65535) /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @9=-1 (65535) /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @10=8388607 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @11=-1 (16777215) /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @12=-1 (16777215) /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @13=2147483647 /* INT meta=0 nullable=1 is_null=0 */ +### @14=-1 (4294967295) /* INT meta=0 nullable=1 is_null=0 */ +### @15=-1 (4294967295) /* INT meta=0 nullable=1 is_null=0 */ +### @16=9223372036854775807 /* LONGINT meta=0 nullable=1 is_null=0 */ +### @17=-1 (18446744073709551615) /* LONGINT meta=0 nullable=1 is_null=0 */ +### @18=-1 (18446744073709551615) /* LONGINT meta=0 nullable=1 is_null=0 */ +### @19=3.402... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @20=3.402... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @21=3.402... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @22=1.797... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @23=1.797... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @24=1.797... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @25=000000009.999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @26=000000009.999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @27=000000009.999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @28='9999:12:31' /* DATE meta=0 nullable=1 is_null=0 */ +### @29=9999-12-31 23:59:59 /* DATETIME meta=0 nullable=1 is_null=0 */ +### @30=2146522447 /* TIMESTAMP meta=0 nullable=0 is_null=0 */ +### @31='838:59:59' /* TIME meta=0 nullable=1 is_null=0 */ +### @32=2155 /* YEAR meta=0 nullable=1 is_null=0 */ +### @33='ÿ' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @34='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @35='ÿ' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @36='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +### @37='ï¿¿' /* STRING(3) meta=65027 nullable=1 is_null=0 */ +### @38='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @39='ï¿¿' /* STRING(3) meta=65027 nullable=1 is_null=0 */ +### @40='ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿' /* STRING(765) meta=57085 nullable=1 is_null=0 */ +### @41='ÿÿ' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +### @42='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @43='ÿÿ' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +### @44='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* STRING(510) meta=61182 nullable=1 is_null=0 */ +### @45='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @46='ÿ' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +### @47='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @48='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */ +### @49='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @50='ï¿¿' /* VARSTRING(3) meta=3 nullable=1 is_null=0 */ +### @51='ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿' /* VARSTRING(765) meta=765 nullable=1 is_null=0 */ +### @52='ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿' /* VARSTRING(783) meta=783 nullable=1 is_null=0 */ +### @53='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @54='ÿÿ' /* VARSTRING(2) meta=2 nullable=1 is_null=0 */ +### @55='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* VARSTRING(510) meta=510 nullable=1 is_null=0 */ +### @56='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* VARSTRING(522) meta=522 nullable=1 is_null=0 */ +### @57='ÿ' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @58='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @59='ÿ' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @60='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +### @61='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @62='ÿ' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +### @63='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @64='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */ +### @65='tinyblob' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @66='tinytext' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @67='\x00t\x00i\x00n\x00y\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @68='blob' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @69='text' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @70='\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @71='mediumblob' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @72='mediumtext' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @73='\x00m\x00e\x00d\x00i\x00u\x00m\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @74='longblob' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @75='longtext' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @76='\x00l\x00o\x00n\x00g\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @77=3 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */ +### @78=b'00000111' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ +### @79=2 /* INT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=NULL /* type=16 meta=1 nullable=1 is_null=1 */ +### @2=NULL /* type=16 meta=2048 nullable=1 is_null=1 */ +### @3=NULL /* type=1 meta=0 nullable=1 is_null=1 */ +### @4=NULL /* type=1 meta=0 nullable=1 is_null=1 */ +### @5=NULL /* type=1 meta=0 nullable=1 is_null=1 */ +### @6=NULL /* type=1 meta=0 nullable=1 is_null=1 */ +### @7=NULL /* type=2 meta=0 nullable=1 is_null=1 */ +### @8=NULL /* type=2 meta=0 nullable=1 is_null=1 */ +### @9=NULL /* type=2 meta=0 nullable=1 is_null=1 */ +### @10=NULL /* type=9 meta=0 nullable=1 is_null=1 */ +### @11=NULL /* type=9 meta=0 nullable=1 is_null=1 */ +### @12=NULL /* type=9 meta=0 nullable=1 is_null=1 */ +### @13=NULL /* type=3 meta=0 nullable=1 is_null=1 */ +### @14=NULL /* type=3 meta=0 nullable=1 is_null=1 */ +### @15=NULL /* type=3 meta=0 nullable=1 is_null=1 */ +### @16=NULL /* type=8 meta=0 nullable=1 is_null=1 */ +### @17=NULL /* type=8 meta=0 nullable=1 is_null=1 */ +### @18=NULL /* type=8 meta=0 nullable=1 is_null=1 */ +### @19=NULL /* type=4 meta=4 nullable=1 is_null=1 */ +### @20=NULL /* type=4 meta=4 nullable=1 is_null=1 */ +### @21=NULL /* type=4 meta=4 nullable=1 is_null=1 */ +### @22=NULL /* type=5 meta=8 nullable=1 is_null=1 */ +### @23=NULL /* type=5 meta=8 nullable=1 is_null=1 */ +### @24=NULL /* type=5 meta=8 nullable=1 is_null=1 */ +### @25=NULL /* type=246 meta=2560 nullable=1 is_null=1 */ +### @26=NULL /* type=246 meta=2560 nullable=1 is_null=1 */ +### @27=NULL /* type=246 meta=2560 nullable=1 is_null=1 */ +### @28=NULL /* type=10 meta=0 nullable=1 is_null=1 */ +### @29=NULL /* type=12 meta=0 nullable=1 is_null=1 */ +### @30=1000000000 /* TIMESTAMP meta=0 nullable=0 is_null=0 */ +### @31=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */ +### @32=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */ +### @33=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */ +### @34=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */ +### @35=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */ +### @36=NULL /* TIMESTAMP meta=65279 nullable=1 is_null=1 */ +### @37=NULL /* TIMESTAMP meta=65027 nullable=1 is_null=1 */ +### @38=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */ +### @39=NULL /* TIMESTAMP meta=65027 nullable=1 is_null=1 */ +### @40=NULL /* TIMESTAMP meta=57085 nullable=1 is_null=1 */ +### @41=NULL /* TIMESTAMP meta=65026 nullable=1 is_null=1 */ +### @42=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */ +### @43=NULL /* TIMESTAMP meta=65026 nullable=1 is_null=1 */ +### @44=NULL /* TIMESTAMP meta=61182 nullable=1 is_null=1 */ +### @45=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */ +### @46=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */ +### @47=NULL /* TIMESTAMP meta=255 nullable=1 is_null=1 */ +### @48=NULL /* TIMESTAMP meta=261 nullable=1 is_null=1 */ +### @49=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */ +### @50=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */ +### @51=NULL /* TIMESTAMP meta=765 nullable=1 is_null=1 */ +### @52=NULL /* TIMESTAMP meta=783 nullable=1 is_null=1 */ +### @53=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */ +### @54=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */ +### @55=NULL /* TIMESTAMP meta=510 nullable=1 is_null=1 */ +### @56=NULL /* TIMESTAMP meta=522 nullable=1 is_null=1 */ +### @57=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */ +### @58=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */ +### @59=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */ +### @60=NULL /* TIMESTAMP meta=65279 nullable=1 is_null=1 */ +### @61=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */ +### @62=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */ +### @63=NULL /* TIMESTAMP meta=255 nullable=1 is_null=1 */ +### @64=NULL /* TIMESTAMP meta=261 nullable=1 is_null=1 */ +### @65=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */ +### @66=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */ +### @67=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */ +### @68=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */ +### @69=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */ +### @70=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */ +### @71=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */ +### @72=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */ +### @73=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */ +### @74=NULL /* TIMESTAMP meta=4 nullable=1 is_null=1 */ +### @75=NULL /* TIMESTAMP meta=4 nullable=1 is_null=1 */ +### @76=NULL /* TIMESTAMP meta=4 nullable=1 is_null=1 */ +### @77=NULL /* TIMESTAMP meta=63233 nullable=1 is_null=1 */ +### @78=NULL /* TIMESTAMP meta=63489 nullable=1 is_null=1 */ +### @79=3 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t1 +### SET +### @1=b'1' /* BIT(1) meta=1 nullable=1 is_null=0 */ +### @2=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 nullable=1 is_null=0 */ +### @3=127 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @4=0 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @5=1 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @6=1 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @7=32767 /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @8=0 /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @9=1 /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @10=8388607 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @11=0 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @12=1 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @13=2147483647 /* INT meta=0 nullable=1 is_null=0 */ +### @14=0 /* INT meta=0 nullable=1 is_null=0 */ +### @15=1 /* INT meta=0 nullable=1 is_null=0 */ +### @16=9223372036854775807 /* LONGINT meta=0 nullable=1 is_null=0 */ +### @17=0 /* LONGINT meta=0 nullable=1 is_null=0 */ +### @18=1 /* LONGINT meta=0 nullable=1 is_null=0 */ +### @19=-1.175... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @20=1.175... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @21=1 /* FLOAT meta=4 nullable=1 is_null=0 */ +### @22=-2.225... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @23=2.225... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @24=1 /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @25=-000000009.999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @26=000000009.999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @27=000000001 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @28='2008:08:04' /* DATE meta=0 nullable=1 is_null=0 */ +### @29=2008-08-04 16:18:06 /* DATETIME meta=0 nullable=1 is_null=0 */ +### @30=1217855904 /* TIMESTAMP meta=0 nullable=0 is_null=0 */ +### @31='16:18:47' /* TIME meta=0 nullable=1 is_null=0 */ +### @32=2008 /* YEAR meta=0 nullable=1 is_null=0 */ +### @33='a' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @34='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @35='e' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @36='iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +### @37='ä' /* STRING(3) meta=65027 nullable=1 is_null=0 */ +### @38='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @39='ö' /* STRING(3) meta=65027 nullable=1 is_null=0 */ +### @40='üüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüü' /* STRING(765) meta=57085 nullable=1 is_null=0 */ +### @41='\x00ä' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +### @42='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @43='\x00ö' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +### @44='\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü' /* STRING(510) meta=61182 nullable=1 is_null=0 */ +### @45='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @46='a' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +### @47='eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @48='iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */ +### @49='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @50='ä' /* VARSTRING(3) meta=3 nullable=1 is_null=0 */ +### @51='ööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööö' /* VARSTRING(765) meta=765 nullable=1 is_null=0 */ +### @52='üüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüü' /* VARSTRING(783) meta=783 nullable=1 is_null=0 */ +### @53='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @54='\x00ä' /* VARSTRING(2) meta=2 nullable=1 is_null=0 */ +### @55='\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö' /* VARSTRING(510) meta=510 nullable=1 is_null=0 */ +### @56='\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü' /* VARSTRING(522) meta=522 nullable=1 is_null=0 */ +### @57='0' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @58='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @59='1' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @60='111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +### @61='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @62='b' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +### @63='ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @64=''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */ +### @65='tinyblob' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @66='tinytext' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @67='\x00t\x00i\x00n\x00y\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @68='blob' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @69='text' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @70='\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @71='mediumblob' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @72='mediumtext' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @73='\x00m\x00e\x00d\x00i\x00u\x00m\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @74='longblob' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @75='longtext' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @76='\x00l\x00o\x00n\x00g\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @77=2 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */ +### @78=b'00000110' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ +### @79=4 /* INT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F +### UPDATE test.t1 +### WHERE +### @1=b'0' /* BIT(1) meta=1 nullable=1 is_null=0 */ +### @2=b'0000000000000000000000000000000000000000000000000000000000000000' /* BIT(64) meta=2048 nullable=1 is_null=0 */ +### @3=-128 (128) /* TINYINT meta=0 nullable=1 is_null=0 */ +### @4=0 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @5=0 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @6=0 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @7=-32768 (32768) /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @8=0 /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @9=0 /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @10=-8388608 (8388608) /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @11=0 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @12=0 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @13=-2147483648 (2147483648) /* INT meta=0 nullable=1 is_null=0 */ +### @14=0 /* INT meta=0 nullable=1 is_null=0 */ +### @15=0 /* INT meta=0 nullable=1 is_null=0 */ +### @16=-9223372036854775808 (9223372036854775808) /* LONGINT meta=0 nullable=1 is_null=0 */ +### @17=0 /* LONGINT meta=0 nullable=1 is_null=0 */ +### @18=0 /* LONGINT meta=0 nullable=1 is_null=0 */ +### @19=-3.402... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @20=1.175... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @21=0 /* FLOAT meta=4 nullable=1 is_null=0 */ +### @22=-1.797... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @23=2.225... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @24=0 /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @25=-000000009.999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @26=000000000 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @27=000000000 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @28='1000:01:01' /* DATE meta=0 nullable=1 is_null=0 */ +### @29=1000-01-01 00:00:00 /* DATETIME meta=0 nullable=1 is_null=0 */ +### @30=75601 /* TIMESTAMP meta=0 nullable=0 is_null=0 */ +### @31='839:12:57' /* TIME meta=0 nullable=1 is_null=0 */ +### @32=1901 /* YEAR meta=0 nullable=1 is_null=0 */ +### @33='' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @34='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @35='' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @36='' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +### @37='' /* STRING(3) meta=65027 nullable=1 is_null=0 */ +### @38='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @39='' /* STRING(3) meta=65027 nullable=1 is_null=0 */ +### @40='' /* STRING(765) meta=57085 nullable=1 is_null=0 */ +### @41='\x00' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +### @42='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @43='\x00' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +### @44='\x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00' /* STRING(510) meta=61182 nullable=1 is_null=0 */ +### @45='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @46='' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +### @47='' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @48='' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */ +### @49='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @50='' /* VARSTRING(3) meta=3 nullable=1 is_null=0 */ +### @51='' /* VARSTRING(765) meta=765 nullable=1 is_null=0 */ +### @52='' /* VARSTRING(783) meta=783 nullable=1 is_null=0 */ +### @53='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @54='' /* VARSTRING(2) meta=2 nullable=1 is_null=0 */ +### @55='' /* VARSTRING(510) meta=510 nullable=1 is_null=0 */ +### @56='' /* VARSTRING(522) meta=522 nullable=1 is_null=0 */ +### @57='' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @58='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @59='' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @60='' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +### @61='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @62='' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +### @63='' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @64='' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */ +### @65='' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @66='' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @67='' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @68='' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @69='' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @70='' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @71='' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @72='' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @73='' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @74='' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @75='' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @76='' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @77=1 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */ +### @78=b'00000000' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ +### @79=1 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1=b'1' /* BIT(1) meta=1 nullable=1 is_null=0 */ +### @2=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 nullable=1 is_null=0 */ +### @3=127 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @4=-1 (255) /* TINYINT meta=0 nullable=1 is_null=0 */ +### @5=-1 (255) /* TINYINT meta=0 nullable=1 is_null=0 */ +### @6=1 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @7=32767 /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @8=-1 (65535) /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @9=-1 (65535) /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @10=8388607 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @11=-1 (16777215) /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @12=-1 (16777215) /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @13=2147483647 /* INT meta=0 nullable=1 is_null=0 */ +### @14=-1 (4294967295) /* INT meta=0 nullable=1 is_null=0 */ +### @15=-1 (4294967295) /* INT meta=0 nullable=1 is_null=0 */ +### @16=9223372036854775807 /* LONGINT meta=0 nullable=1 is_null=0 */ +### @17=-1 (18446744073709551615) /* LONGINT meta=0 nullable=1 is_null=0 */ +### @18=-1 (18446744073709551615) /* LONGINT meta=0 nullable=1 is_null=0 */ +### @19=3.402... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @20=3.402... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @21=3.402... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @22=1.797... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @23=1.797... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @24=1.797... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @25=000000009.999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @26=000000009.999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @27=000000009.999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @28='9999:12:31' /* DATE meta=0 nullable=1 is_null=0 */ +### @29=9999-12-31 23:59:59 /* DATETIME meta=0 nullable=1 is_null=0 */ +### @30=2146522447 /* TIMESTAMP meta=0 nullable=0 is_null=0 */ +### @31='838:59:59' /* TIME meta=0 nullable=1 is_null=0 */ +### @32=2155 /* YEAR meta=0 nullable=1 is_null=0 */ +### @33='ÿ' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @34='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @35='ÿ' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @36='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +### @37='ï¿¿' /* STRING(3) meta=65027 nullable=1 is_null=0 */ +### @38='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @39='ï¿¿' /* STRING(3) meta=65027 nullable=1 is_null=0 */ +### @40='ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿' /* STRING(765) meta=57085 nullable=1 is_null=0 */ +### @41='ÿÿ' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +### @42='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @43='ÿÿ' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +### @44='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* STRING(510) meta=61182 nullable=1 is_null=0 */ +### @45='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @46='ÿ' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +### @47='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @48='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */ +### @49='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @50='ï¿¿' /* VARSTRING(3) meta=3 nullable=1 is_null=0 */ +### @51='ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿' /* VARSTRING(765) meta=765 nullable=1 is_null=0 */ +### @52='ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿' /* VARSTRING(783) meta=783 nullable=1 is_null=0 */ +### @53='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @54='ÿÿ' /* VARSTRING(2) meta=2 nullable=1 is_null=0 */ +### @55='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* VARSTRING(510) meta=510 nullable=1 is_null=0 */ +### @56='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* VARSTRING(522) meta=522 nullable=1 is_null=0 */ +### @57='ÿ' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @58='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @59='ÿ' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @60='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +### @61='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @62='ÿ' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +### @63='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @64='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */ +### @65='tinyblob' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @66='tinytext' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @67='\x00t\x00i\x00n\x00y\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @68='blob' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @69='text' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @70='\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @71='mediumblob' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @72='mediumtext' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @73='\x00m\x00e\x00d\x00i\x00u\x00m\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @74='longblob' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @75='longtext' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @76='\x00l\x00o\x00n\x00g\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @77=3 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */ +### @78=b'00000111' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ +### @79=1 /* INT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F +### UPDATE test.t1 +### WHERE +### @1=b'1' /* BIT(1) meta=1 nullable=1 is_null=0 */ +### @2=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 nullable=1 is_null=0 */ +### @3=127 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @4=-1 (255) /* TINYINT meta=0 nullable=1 is_null=0 */ +### @5=-1 (255) /* TINYINT meta=0 nullable=1 is_null=0 */ +### @6=1 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @7=32767 /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @8=-1 (65535) /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @9=-1 (65535) /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @10=8388607 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @11=-1 (16777215) /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @12=-1 (16777215) /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @13=2147483647 /* INT meta=0 nullable=1 is_null=0 */ +### @14=-1 (4294967295) /* INT meta=0 nullable=1 is_null=0 */ +### @15=-1 (4294967295) /* INT meta=0 nullable=1 is_null=0 */ +### @16=9223372036854775807 /* LONGINT meta=0 nullable=1 is_null=0 */ +### @17=-1 (18446744073709551615) /* LONGINT meta=0 nullable=1 is_null=0 */ +### @18=-1 (18446744073709551615) /* LONGINT meta=0 nullable=1 is_null=0 */ +### @19=3.402... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @20=3.402... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @21=3.402... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @22=1.797... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @23=1.797... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @24=1.797... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @25=000000009.999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @26=000000009.999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @27=000000009.999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @28='9999:12:31' /* DATE meta=0 nullable=1 is_null=0 */ +### @29=9999-12-31 23:59:59 /* DATETIME meta=0 nullable=1 is_null=0 */ +### @30=2146522447 /* TIMESTAMP meta=0 nullable=0 is_null=0 */ +### @31='838:59:59' /* TIME meta=0 nullable=1 is_null=0 */ +### @32=2155 /* YEAR meta=0 nullable=1 is_null=0 */ +### @33='ÿ' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @34='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @35='ÿ' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @36='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +### @37='ï¿¿' /* STRING(3) meta=65027 nullable=1 is_null=0 */ +### @38='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @39='ï¿¿' /* STRING(3) meta=65027 nullable=1 is_null=0 */ +### @40='ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿' /* STRING(765) meta=57085 nullable=1 is_null=0 */ +### @41='ÿÿ' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +### @42='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @43='ÿÿ' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +### @44='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* STRING(510) meta=61182 nullable=1 is_null=0 */ +### @45='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @46='ÿ' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +### @47='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @48='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */ +### @49='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @50='ï¿¿' /* VARSTRING(3) meta=3 nullable=1 is_null=0 */ +### @51='ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿' /* VARSTRING(765) meta=765 nullable=1 is_null=0 */ +### @52='ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿' /* VARSTRING(783) meta=783 nullable=1 is_null=0 */ +### @53='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @54='ÿÿ' /* VARSTRING(2) meta=2 nullable=1 is_null=0 */ +### @55='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* VARSTRING(510) meta=510 nullable=1 is_null=0 */ +### @56='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* VARSTRING(522) meta=522 nullable=1 is_null=0 */ +### @57='ÿ' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @58='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @59='ÿ' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @60='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +### @61='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @62='ÿ' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +### @63='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @64='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */ +### @65='tinyblob' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @66='tinytext' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @67='\x00t\x00i\x00n\x00y\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @68='blob' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @69='text' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @70='\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @71='mediumblob' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @72='mediumtext' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @73='\x00m\x00e\x00d\x00i\x00u\x00m\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @74='longblob' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @75='longtext' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @76='\x00l\x00o\x00n\x00g\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @77=3 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */ +### @78=b'00000111' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ +### @79=2 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1=b'0' /* BIT(1) meta=1 nullable=1 is_null=0 */ +### @2=b'0000000000000000000000000000000000000000000000000000000000000000' /* BIT(64) meta=2048 nullable=1 is_null=0 */ +### @3=-128 (128) /* TINYINT meta=0 nullable=1 is_null=0 */ +### @4=0 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @5=0 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @6=0 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @7=-32768 (32768) /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @8=0 /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @9=0 /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @10=-8388608 (8388608) /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @11=0 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @12=0 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @13=-2147483648 (2147483648) /* INT meta=0 nullable=1 is_null=0 */ +### @14=0 /* INT meta=0 nullable=1 is_null=0 */ +### @15=0 /* INT meta=0 nullable=1 is_null=0 */ +### @16=-9223372036854775808 (9223372036854775808) /* LONGINT meta=0 nullable=1 is_null=0 */ +### @17=0 /* LONGINT meta=0 nullable=1 is_null=0 */ +### @18=0 /* LONGINT meta=0 nullable=1 is_null=0 */ +### @19=-3.402... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @20=1.175... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @21=0 /* FLOAT meta=4 nullable=1 is_null=0 */ +### @22=-1.797... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @23=2.225... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @24=0 /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @25=-000000009.999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @26=000000000 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @27=000000000 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @28='1000:01:01' /* DATE meta=0 nullable=1 is_null=0 */ +### @29=1000-01-01 00:00:00 /* DATETIME meta=0 nullable=1 is_null=0 */ +### @30=75601 /* TIMESTAMP meta=0 nullable=0 is_null=0 */ +### @31='839:12:57' /* TIME meta=0 nullable=1 is_null=0 */ +### @32=1901 /* YEAR meta=0 nullable=1 is_null=0 */ +### @33='' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @34='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @35='' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @36='' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +### @37='' /* STRING(3) meta=65027 nullable=1 is_null=0 */ +### @38='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @39='' /* STRING(3) meta=65027 nullable=1 is_null=0 */ +### @40='' /* STRING(765) meta=57085 nullable=1 is_null=0 */ +### @41='\x00' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +### @42='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @43='\x00' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +### @44='\x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00' /* STRING(510) meta=61182 nullable=1 is_null=0 */ +### @45='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @46='' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +### @47='' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @48='' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */ +### @49='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @50='' /* VARSTRING(3) meta=3 nullable=1 is_null=0 */ +### @51='' /* VARSTRING(765) meta=765 nullable=1 is_null=0 */ +### @52='' /* VARSTRING(783) meta=783 nullable=1 is_null=0 */ +### @53='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @54='' /* VARSTRING(2) meta=2 nullable=1 is_null=0 */ +### @55='' /* VARSTRING(510) meta=510 nullable=1 is_null=0 */ +### @56='' /* VARSTRING(522) meta=522 nullable=1 is_null=0 */ +### @57='' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @58='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @59='' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @60='' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +### @61='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @62='' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +### @63='' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @64='' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */ +### @65='' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @66='' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @67='' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @68='' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @69='' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @70='' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @71='' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @72='' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @73='' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @74='' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @75='' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @76='' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @77=1 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */ +### @78=b'00000000' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ +### @79=2 /* INT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F +### UPDATE test.t1 +### WHERE +### @1=NULL /* type=16 meta=1 nullable=1 is_null=1 */ +### @2=NULL /* type=16 meta=2048 nullable=1 is_null=1 */ +### @3=NULL /* type=1 meta=0 nullable=1 is_null=1 */ +### @4=NULL /* type=1 meta=0 nullable=1 is_null=1 */ +### @5=NULL /* type=1 meta=0 nullable=1 is_null=1 */ +### @6=NULL /* type=1 meta=0 nullable=1 is_null=1 */ +### @7=NULL /* type=2 meta=0 nullable=1 is_null=1 */ +### @8=NULL /* type=2 meta=0 nullable=1 is_null=1 */ +### @9=NULL /* type=2 meta=0 nullable=1 is_null=1 */ +### @10=NULL /* type=9 meta=0 nullable=1 is_null=1 */ +### @11=NULL /* type=9 meta=0 nullable=1 is_null=1 */ +### @12=NULL /* type=9 meta=0 nullable=1 is_null=1 */ +### @13=NULL /* type=3 meta=0 nullable=1 is_null=1 */ +### @14=NULL /* type=3 meta=0 nullable=1 is_null=1 */ +### @15=NULL /* type=3 meta=0 nullable=1 is_null=1 */ +### @16=NULL /* type=8 meta=0 nullable=1 is_null=1 */ +### @17=NULL /* type=8 meta=0 nullable=1 is_null=1 */ +### @18=NULL /* type=8 meta=0 nullable=1 is_null=1 */ +### @19=NULL /* type=4 meta=4 nullable=1 is_null=1 */ +### @20=NULL /* type=4 meta=4 nullable=1 is_null=1 */ +### @21=NULL /* type=4 meta=4 nullable=1 is_null=1 */ +### @22=NULL /* type=5 meta=8 nullable=1 is_null=1 */ +### @23=NULL /* type=5 meta=8 nullable=1 is_null=1 */ +### @24=NULL /* type=5 meta=8 nullable=1 is_null=1 */ +### @25=NULL /* type=246 meta=2560 nullable=1 is_null=1 */ +### @26=NULL /* type=246 meta=2560 nullable=1 is_null=1 */ +### @27=NULL /* type=246 meta=2560 nullable=1 is_null=1 */ +### @28=NULL /* type=10 meta=0 nullable=1 is_null=1 */ +### @29=NULL /* type=12 meta=0 nullable=1 is_null=1 */ +### @30=1000000000 /* TIMESTAMP meta=0 nullable=0 is_null=0 */ +### @31=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */ +### @32=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */ +### @33=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */ +### @34=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */ +### @35=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */ +### @36=NULL /* TIMESTAMP meta=65279 nullable=1 is_null=1 */ +### @37=NULL /* TIMESTAMP meta=65027 nullable=1 is_null=1 */ +### @38=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */ +### @39=NULL /* TIMESTAMP meta=65027 nullable=1 is_null=1 */ +### @40=NULL /* TIMESTAMP meta=57085 nullable=1 is_null=1 */ +### @41=NULL /* TIMESTAMP meta=65026 nullable=1 is_null=1 */ +### @42=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */ +### @43=NULL /* TIMESTAMP meta=65026 nullable=1 is_null=1 */ +### @44=NULL /* TIMESTAMP meta=61182 nullable=1 is_null=1 */ +### @45=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */ +### @46=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */ +### @47=NULL /* TIMESTAMP meta=255 nullable=1 is_null=1 */ +### @48=NULL /* TIMESTAMP meta=261 nullable=1 is_null=1 */ +### @49=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */ +### @50=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */ +### @51=NULL /* TIMESTAMP meta=765 nullable=1 is_null=1 */ +### @52=NULL /* TIMESTAMP meta=783 nullable=1 is_null=1 */ +### @53=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */ +### @54=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */ +### @55=NULL /* TIMESTAMP meta=510 nullable=1 is_null=1 */ +### @56=NULL /* TIMESTAMP meta=522 nullable=1 is_null=1 */ +### @57=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */ +### @58=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */ +### @59=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */ +### @60=NULL /* TIMESTAMP meta=65279 nullable=1 is_null=1 */ +### @61=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */ +### @62=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */ +### @63=NULL /* TIMESTAMP meta=255 nullable=1 is_null=1 */ +### @64=NULL /* TIMESTAMP meta=261 nullable=1 is_null=1 */ +### @65=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */ +### @66=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */ +### @67=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */ +### @68=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */ +### @69=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */ +### @70=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */ +### @71=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */ +### @72=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */ +### @73=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */ +### @74=NULL /* TIMESTAMP meta=4 nullable=1 is_null=1 */ +### @75=NULL /* TIMESTAMP meta=4 nullable=1 is_null=1 */ +### @76=NULL /* TIMESTAMP meta=4 nullable=1 is_null=1 */ +### @77=NULL /* TIMESTAMP meta=63233 nullable=1 is_null=1 */ +### @78=NULL /* TIMESTAMP meta=63489 nullable=1 is_null=1 */ +### @79=3 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1=b'1' /* BIT(1) meta=1 nullable=1 is_null=0 */ +### @2=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 nullable=1 is_null=0 */ +### @3=127 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @4=0 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @5=1 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @6=1 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @7=32767 /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @8=0 /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @9=1 /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @10=8388607 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @11=0 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @12=1 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @13=2147483647 /* INT meta=0 nullable=1 is_null=0 */ +### @14=0 /* INT meta=0 nullable=1 is_null=0 */ +### @15=1 /* INT meta=0 nullable=1 is_null=0 */ +### @16=9223372036854775807 /* LONGINT meta=0 nullable=1 is_null=0 */ +### @17=0 /* LONGINT meta=0 nullable=1 is_null=0 */ +### @18=1 /* LONGINT meta=0 nullable=1 is_null=0 */ +### @19=-1.175... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @20=1.175... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @21=1 /* FLOAT meta=4 nullable=1 is_null=0 */ +### @22=-2.225... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @23=2.225... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @24=1 /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @25=-000000009.999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @26=000000009.999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @27=000000001 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @28='2008:08:04' /* DATE meta=0 nullable=1 is_null=0 */ +### @29=2008-08-04 16:18:06 /* DATETIME meta=0 nullable=1 is_null=0 */ +### @30=1217855904 /* TIMESTAMP meta=0 nullable=0 is_null=0 */ +### @31='16:18:47' /* TIME meta=0 nullable=1 is_null=0 */ +### @32=2008 /* YEAR meta=0 nullable=1 is_null=0 */ +### @33='a' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @34='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @35='e' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @36='iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +### @37='ä' /* STRING(3) meta=65027 nullable=1 is_null=0 */ +### @38='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @39='ö' /* STRING(3) meta=65027 nullable=1 is_null=0 */ +### @40='üüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüü' /* STRING(765) meta=57085 nullable=1 is_null=0 */ +### @41='\x00ä' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +### @42='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @43='\x00ö' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +### @44='\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü' /* STRING(510) meta=61182 nullable=1 is_null=0 */ +### @45='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @46='a' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +### @47='eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @48='iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */ +### @49='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @50='ä' /* VARSTRING(3) meta=3 nullable=1 is_null=0 */ +### @51='ööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööö' /* VARSTRING(765) meta=765 nullable=1 is_null=0 */ +### @52='üüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüü' /* VARSTRING(783) meta=783 nullable=1 is_null=0 */ +### @53='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @54='\x00ä' /* VARSTRING(2) meta=2 nullable=1 is_null=0 */ +### @55='\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö' /* VARSTRING(510) meta=510 nullable=1 is_null=0 */ +### @56='\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü' /* VARSTRING(522) meta=522 nullable=1 is_null=0 */ +### @57='0' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @58='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @59='1' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @60='111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +### @61='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @62='b' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +### @63='ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @64=''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */ +### @65='tinyblob' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @66='tinytext' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @67='\x00t\x00i\x00n\x00y\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @68='blob' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @69='text' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @70='\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @71='mediumblob' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @72='mediumtext' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @73='\x00m\x00e\x00d\x00i\x00u\x00m\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @74='longblob' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @75='longtext' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @76='\x00l\x00o\x00n\x00g\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @77=2 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */ +### @78=b'00000110' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ +### @79=3 /* INT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F +### UPDATE test.t1 +### WHERE +### @1=b'1' /* BIT(1) meta=1 nullable=1 is_null=0 */ +### @2=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 nullable=1 is_null=0 */ +### @3=127 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @4=0 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @5=1 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @6=1 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @7=32767 /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @8=0 /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @9=1 /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @10=8388607 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @11=0 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @12=1 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @13=2147483647 /* INT meta=0 nullable=1 is_null=0 */ +### @14=0 /* INT meta=0 nullable=1 is_null=0 */ +### @15=1 /* INT meta=0 nullable=1 is_null=0 */ +### @16=9223372036854775807 /* LONGINT meta=0 nullable=1 is_null=0 */ +### @17=0 /* LONGINT meta=0 nullable=1 is_null=0 */ +### @18=1 /* LONGINT meta=0 nullable=1 is_null=0 */ +### @19=-1.175... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @20=1.175... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @21=1 /* FLOAT meta=4 nullable=1 is_null=0 */ +### @22=-2.225... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @23=2.225... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @24=1 /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @25=-000000009.999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @26=000000009.999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @27=000000001 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @28='2008:08:04' /* DATE meta=0 nullable=1 is_null=0 */ +### @29=2008-08-04 16:18:06 /* DATETIME meta=0 nullable=1 is_null=0 */ +### @30=1217855904 /* TIMESTAMP meta=0 nullable=0 is_null=0 */ +### @31='16:18:47' /* TIME meta=0 nullable=1 is_null=0 */ +### @32=2008 /* YEAR meta=0 nullable=1 is_null=0 */ +### @33='a' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @34='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @35='e' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @36='iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +### @37='ä' /* STRING(3) meta=65027 nullable=1 is_null=0 */ +### @38='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @39='ö' /* STRING(3) meta=65027 nullable=1 is_null=0 */ +### @40='üüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüü' /* STRING(765) meta=57085 nullable=1 is_null=0 */ +### @41='\x00ä' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +### @42='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @43='\x00ö' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +### @44='\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü' /* STRING(510) meta=61182 nullable=1 is_null=0 */ +### @45='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @46='a' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +### @47='eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @48='iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */ +### @49='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @50='ä' /* VARSTRING(3) meta=3 nullable=1 is_null=0 */ +### @51='ööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööö' /* VARSTRING(765) meta=765 nullable=1 is_null=0 */ +### @52='üüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüü' /* VARSTRING(783) meta=783 nullable=1 is_null=0 */ +### @53='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @54='\x00ä' /* VARSTRING(2) meta=2 nullable=1 is_null=0 */ +### @55='\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö' /* VARSTRING(510) meta=510 nullable=1 is_null=0 */ +### @56='\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü' /* VARSTRING(522) meta=522 nullable=1 is_null=0 */ +### @57='0' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @58='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @59='1' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @60='111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +### @61='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @62='b' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +### @63='ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @64=''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */ +### @65='tinyblob' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @66='tinytext' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @67='\x00t\x00i\x00n\x00y\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @68='blob' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @69='text' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @70='\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @71='mediumblob' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @72='mediumtext' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @73='\x00m\x00e\x00d\x00i\x00u\x00m\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @74='longblob' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @75='longtext' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @76='\x00l\x00o\x00n\x00g\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @77=2 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */ +### @78=b'00000110' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ +### @79=4 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1=NULL /* type=16 meta=1 nullable=1 is_null=1 */ +### @2=NULL /* type=16 meta=2048 nullable=1 is_null=1 */ +### @3=NULL /* type=1 meta=0 nullable=1 is_null=1 */ +### @4=NULL /* type=1 meta=0 nullable=1 is_null=1 */ +### @5=NULL /* type=1 meta=0 nullable=1 is_null=1 */ +### @6=NULL /* type=1 meta=0 nullable=1 is_null=1 */ +### @7=NULL /* type=2 meta=0 nullable=1 is_null=1 */ +### @8=NULL /* type=2 meta=0 nullable=1 is_null=1 */ +### @9=NULL /* type=2 meta=0 nullable=1 is_null=1 */ +### @10=NULL /* type=9 meta=0 nullable=1 is_null=1 */ +### @11=NULL /* type=9 meta=0 nullable=1 is_null=1 */ +### @12=NULL /* type=9 meta=0 nullable=1 is_null=1 */ +### @13=NULL /* type=3 meta=0 nullable=1 is_null=1 */ +### @14=NULL /* type=3 meta=0 nullable=1 is_null=1 */ +### @15=NULL /* type=3 meta=0 nullable=1 is_null=1 */ +### @16=NULL /* type=8 meta=0 nullable=1 is_null=1 */ +### @17=NULL /* type=8 meta=0 nullable=1 is_null=1 */ +### @18=NULL /* type=8 meta=0 nullable=1 is_null=1 */ +### @19=NULL /* type=4 meta=4 nullable=1 is_null=1 */ +### @20=NULL /* type=4 meta=4 nullable=1 is_null=1 */ +### @21=NULL /* type=4 meta=4 nullable=1 is_null=1 */ +### @22=NULL /* type=5 meta=8 nullable=1 is_null=1 */ +### @23=NULL /* type=5 meta=8 nullable=1 is_null=1 */ +### @24=NULL /* type=5 meta=8 nullable=1 is_null=1 */ +### @25=NULL /* type=246 meta=2560 nullable=1 is_null=1 */ +### @26=NULL /* type=246 meta=2560 nullable=1 is_null=1 */ +### @27=NULL /* type=246 meta=2560 nullable=1 is_null=1 */ +### @28=NULL /* type=10 meta=0 nullable=1 is_null=1 */ +### @29=NULL /* type=12 meta=0 nullable=1 is_null=1 */ +### @30=1000000000 /* TIMESTAMP meta=0 nullable=0 is_null=0 */ +### @31=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */ +### @32=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */ +### @33=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */ +### @34=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */ +### @35=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */ +### @36=NULL /* TIMESTAMP meta=65279 nullable=1 is_null=1 */ +### @37=NULL /* TIMESTAMP meta=65027 nullable=1 is_null=1 */ +### @38=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */ +### @39=NULL /* TIMESTAMP meta=65027 nullable=1 is_null=1 */ +### @40=NULL /* TIMESTAMP meta=57085 nullable=1 is_null=1 */ +### @41=NULL /* TIMESTAMP meta=65026 nullable=1 is_null=1 */ +### @42=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */ +### @43=NULL /* TIMESTAMP meta=65026 nullable=1 is_null=1 */ +### @44=NULL /* TIMESTAMP meta=61182 nullable=1 is_null=1 */ +### @45=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */ +### @46=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */ +### @47=NULL /* TIMESTAMP meta=255 nullable=1 is_null=1 */ +### @48=NULL /* TIMESTAMP meta=261 nullable=1 is_null=1 */ +### @49=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */ +### @50=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */ +### @51=NULL /* TIMESTAMP meta=765 nullable=1 is_null=1 */ +### @52=NULL /* TIMESTAMP meta=783 nullable=1 is_null=1 */ +### @53=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */ +### @54=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */ +### @55=NULL /* TIMESTAMP meta=510 nullable=1 is_null=1 */ +### @56=NULL /* TIMESTAMP meta=522 nullable=1 is_null=1 */ +### @57=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */ +### @58=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */ +### @59=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */ +### @60=NULL /* TIMESTAMP meta=65279 nullable=1 is_null=1 */ +### @61=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */ +### @62=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */ +### @63=NULL /* TIMESTAMP meta=255 nullable=1 is_null=1 */ +### @64=NULL /* TIMESTAMP meta=261 nullable=1 is_null=1 */ +### @65=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */ +### @66=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */ +### @67=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */ +### @68=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */ +### @69=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */ +### @70=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */ +### @71=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */ +### @72=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */ +### @73=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */ +### @74=NULL /* TIMESTAMP meta=4 nullable=1 is_null=1 */ +### @75=NULL /* TIMESTAMP meta=4 nullable=1 is_null=1 */ +### @76=NULL /* TIMESTAMP meta=4 nullable=1 is_null=1 */ +### @77=NULL /* TIMESTAMP meta=63233 nullable=1 is_null=1 */ +### @78=NULL /* TIMESTAMP meta=63489 nullable=1 is_null=1 */ +### @79=4 /* INT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1=b'1' /* BIT(1) meta=1 nullable=1 is_null=0 */ +### @2=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 nullable=1 is_null=0 */ +### @3=127 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @4=-1 (255) /* TINYINT meta=0 nullable=1 is_null=0 */ +### @5=-1 (255) /* TINYINT meta=0 nullable=1 is_null=0 */ +### @6=1 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @7=32767 /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @8=-1 (65535) /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @9=-1 (65535) /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @10=8388607 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @11=-1 (16777215) /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @12=-1 (16777215) /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @13=2147483647 /* INT meta=0 nullable=1 is_null=0 */ +### @14=-1 (4294967295) /* INT meta=0 nullable=1 is_null=0 */ +### @15=-1 (4294967295) /* INT meta=0 nullable=1 is_null=0 */ +### @16=9223372036854775807 /* LONGINT meta=0 nullable=1 is_null=0 */ +### @17=-1 (18446744073709551615) /* LONGINT meta=0 nullable=1 is_null=0 */ +### @18=-1 (18446744073709551615) /* LONGINT meta=0 nullable=1 is_null=0 */ +### @19=3.402... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @20=3.402... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @21=3.402... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @22=1.797... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @23=1.797... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @24=1.797... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @25=000000009.999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @26=000000009.999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @27=000000009.999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @28='9999:12:31' /* DATE meta=0 nullable=1 is_null=0 */ +### @29=9999-12-31 23:59:59 /* DATETIME meta=0 nullable=1 is_null=0 */ +### @30=2146522447 /* TIMESTAMP meta=0 nullable=0 is_null=0 */ +### @31='838:59:59' /* TIME meta=0 nullable=1 is_null=0 */ +### @32=2155 /* YEAR meta=0 nullable=1 is_null=0 */ +### @33='ÿ' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @34='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @35='ÿ' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @36='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +### @37='ï¿¿' /* STRING(3) meta=65027 nullable=1 is_null=0 */ +### @38='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @39='ï¿¿' /* STRING(3) meta=65027 nullable=1 is_null=0 */ +### @40='ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿' /* STRING(765) meta=57085 nullable=1 is_null=0 */ +### @41='ÿÿ' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +### @42='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @43='ÿÿ' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +### @44='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* STRING(510) meta=61182 nullable=1 is_null=0 */ +### @45='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @46='ÿ' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +### @47='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @48='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */ +### @49='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @50='ï¿¿' /* VARSTRING(3) meta=3 nullable=1 is_null=0 */ +### @51='ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿' /* VARSTRING(765) meta=765 nullable=1 is_null=0 */ +### @52='ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿ï¿¿' /* VARSTRING(783) meta=783 nullable=1 is_null=0 */ +### @53='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @54='ÿÿ' /* VARSTRING(2) meta=2 nullable=1 is_null=0 */ +### @55='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* VARSTRING(510) meta=510 nullable=1 is_null=0 */ +### @56='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* VARSTRING(522) meta=522 nullable=1 is_null=0 */ +### @57='ÿ' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @58='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @59='ÿ' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @60='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +### @61='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @62='ÿ' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +### @63='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @64='ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */ +### @65='tinyblob' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @66='tinytext' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @67='\x00t\x00i\x00n\x00y\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @68='blob' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @69='text' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @70='\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @71='mediumblob' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @72='mediumtext' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @73='\x00m\x00e\x00d\x00i\x00u\x00m\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @74='longblob' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @75='longtext' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @76='\x00l\x00o\x00n\x00g\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @77=3 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */ +### @78=b'00000111' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ +### @79=1 /* INT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1=b'0' /* BIT(1) meta=1 nullable=1 is_null=0 */ +### @2=b'0000000000000000000000000000000000000000000000000000000000000000' /* BIT(64) meta=2048 nullable=1 is_null=0 */ +### @3=-128 (128) /* TINYINT meta=0 nullable=1 is_null=0 */ +### @4=0 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @5=0 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @6=0 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @7=-32768 (32768) /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @8=0 /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @9=0 /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @10=-8388608 (8388608) /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @11=0 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @12=0 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @13=-2147483648 (2147483648) /* INT meta=0 nullable=1 is_null=0 */ +### @14=0 /* INT meta=0 nullable=1 is_null=0 */ +### @15=0 /* INT meta=0 nullable=1 is_null=0 */ +### @16=-9223372036854775808 (9223372036854775808) /* LONGINT meta=0 nullable=1 is_null=0 */ +### @17=0 /* LONGINT meta=0 nullable=1 is_null=0 */ +### @18=0 /* LONGINT meta=0 nullable=1 is_null=0 */ +### @19=-3.402... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @20=1.175... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @21=0 /* FLOAT meta=4 nullable=1 is_null=0 */ +### @22=-1.797... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @23=2.225... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @24=0 /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @25=-000000009.999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @26=000000000 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @27=000000000 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @28='1000:01:01' /* DATE meta=0 nullable=1 is_null=0 */ +### @29=1000-01-01 00:00:00 /* DATETIME meta=0 nullable=1 is_null=0 */ +### @30=75601 /* TIMESTAMP meta=0 nullable=0 is_null=0 */ +### @31='839:12:57' /* TIME meta=0 nullable=1 is_null=0 */ +### @32=1901 /* YEAR meta=0 nullable=1 is_null=0 */ +### @33='' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @34='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @35='' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @36='' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +### @37='' /* STRING(3) meta=65027 nullable=1 is_null=0 */ +### @38='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @39='' /* STRING(3) meta=65027 nullable=1 is_null=0 */ +### @40='' /* STRING(765) meta=57085 nullable=1 is_null=0 */ +### @41='\x00' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +### @42='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @43='\x00' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +### @44='\x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00' /* STRING(510) meta=61182 nullable=1 is_null=0 */ +### @45='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @46='' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +### @47='' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @48='' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */ +### @49='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @50='' /* VARSTRING(3) meta=3 nullable=1 is_null=0 */ +### @51='' /* VARSTRING(765) meta=765 nullable=1 is_null=0 */ +### @52='' /* VARSTRING(783) meta=783 nullable=1 is_null=0 */ +### @53='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @54='' /* VARSTRING(2) meta=2 nullable=1 is_null=0 */ +### @55='' /* VARSTRING(510) meta=510 nullable=1 is_null=0 */ +### @56='' /* VARSTRING(522) meta=522 nullable=1 is_null=0 */ +### @57='' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @58='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @59='' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @60='' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +### @61='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @62='' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +### @63='' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @64='' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */ +### @65='' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @66='' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @67='' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @68='' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @69='' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @70='' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @71='' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @72='' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @73='' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @74='' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @75='' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @76='' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @77=1 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */ +### @78=b'00000000' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ +### @79=2 /* INT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1=b'1' /* BIT(1) meta=1 nullable=1 is_null=0 */ +### @2=b'1111111111111111111111111111111111111111111111111111111111111111' /* BIT(64) meta=2048 nullable=1 is_null=0 */ +### @3=127 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @4=0 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @5=1 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @6=1 /* TINYINT meta=0 nullable=1 is_null=0 */ +### @7=32767 /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @8=0 /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @9=1 /* SHORTINT meta=0 nullable=1 is_null=0 */ +### @10=8388607 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @11=0 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @12=1 /* MEDIUMINT meta=0 nullable=1 is_null=0 */ +### @13=2147483647 /* INT meta=0 nullable=1 is_null=0 */ +### @14=0 /* INT meta=0 nullable=1 is_null=0 */ +### @15=1 /* INT meta=0 nullable=1 is_null=0 */ +### @16=9223372036854775807 /* LONGINT meta=0 nullable=1 is_null=0 */ +### @17=0 /* LONGINT meta=0 nullable=1 is_null=0 */ +### @18=1 /* LONGINT meta=0 nullable=1 is_null=0 */ +### @19=-1.175... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @20=1.175... /* FLOAT meta=4 nullable=1 is_null=0 */ +### @21=1 /* FLOAT meta=4 nullable=1 is_null=0 */ +### @22=-2.225... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @23=2.225... /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @24=1 /* DOUBLE meta=8 nullable=1 is_null=0 */ +### @25=-000000009.999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @26=000000009.999999999 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @27=000000001 /* DECIMAL(10,0) meta=2560 nullable=1 is_null=0 */ +### @28='2008:08:04' /* DATE meta=0 nullable=1 is_null=0 */ +### @29=2008-08-04 16:18:06 /* DATETIME meta=0 nullable=1 is_null=0 */ +### @30=1217855904 /* TIMESTAMP meta=0 nullable=0 is_null=0 */ +### @31='16:18:47' /* TIME meta=0 nullable=1 is_null=0 */ +### @32=2008 /* YEAR meta=0 nullable=1 is_null=0 */ +### @33='a' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @34='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @35='e' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @36='iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +### @37='ä' /* STRING(3) meta=65027 nullable=1 is_null=0 */ +### @38='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @39='ö' /* STRING(3) meta=65027 nullable=1 is_null=0 */ +### @40='üüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüü' /* STRING(765) meta=57085 nullable=1 is_null=0 */ +### @41='\x00ä' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +### @42='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @43='\x00ö' /* STRING(2) meta=65026 nullable=1 is_null=0 */ +### @44='\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü' /* STRING(510) meta=61182 nullable=1 is_null=0 */ +### @45='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @46='a' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +### @47='eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @48='iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */ +### @49='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @50='ä' /* VARSTRING(3) meta=3 nullable=1 is_null=0 */ +### @51='ööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööö' /* VARSTRING(765) meta=765 nullable=1 is_null=0 */ +### @52='üüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüüü' /* VARSTRING(783) meta=783 nullable=1 is_null=0 */ +### @53='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @54='\x00ä' /* VARSTRING(2) meta=2 nullable=1 is_null=0 */ +### @55='\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö\x00ö' /* VARSTRING(510) meta=510 nullable=1 is_null=0 */ +### @56='\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü\x00ü' /* VARSTRING(522) meta=522 nullable=1 is_null=0 */ +### @57='0' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @58='' /* STRING(0) meta=65024 nullable=1 is_null=0 */ +### @59='1' /* STRING(1) meta=65025 nullable=1 is_null=0 */ +### @60='111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111' /* STRING(255) meta=65279 nullable=1 is_null=0 */ +### @61='' /* VARSTRING(0) meta=0 nullable=1 is_null=0 */ +### @62='b' /* VARSTRING(1) meta=1 nullable=1 is_null=0 */ +### @63='ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @64=''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' /* VARSTRING(261) meta=261 nullable=1 is_null=0 */ +### @65='tinyblob' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @66='tinytext' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @67='\x00t\x00i\x00n\x00y\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* TINYBLOB/TINYTEXT meta=1 nullable=1 is_null=0 */ +### @68='blob' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @69='text' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @70='\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */ +### @71='mediumblob' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @72='mediumtext' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @73='\x00m\x00e\x00d\x00i\x00u\x00m\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* MEDIUMBLOB/MEDIUMTEXT meta=3 nullable=1 is_null=0 */ +### @74='longblob' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @75='longtext' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @76='\x00l\x00o\x00n\x00g\x00t\x00e\x00x\x00t\x00-\x00u\x00c\x00s\x002' /* LONGBLOB/LONGTEXT meta=4 nullable=1 is_null=0 */ +### @77=2 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */ +### @78=b'00000110' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */ +### @79=3 /* INT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1=NULL /* type=16 meta=1 nullable=1 is_null=1 */ +### @2=NULL /* type=16 meta=2048 nullable=1 is_null=1 */ +### @3=NULL /* type=1 meta=0 nullable=1 is_null=1 */ +### @4=NULL /* type=1 meta=0 nullable=1 is_null=1 */ +### @5=NULL /* type=1 meta=0 nullable=1 is_null=1 */ +### @6=NULL /* type=1 meta=0 nullable=1 is_null=1 */ +### @7=NULL /* type=2 meta=0 nullable=1 is_null=1 */ +### @8=NULL /* type=2 meta=0 nullable=1 is_null=1 */ +### @9=NULL /* type=2 meta=0 nullable=1 is_null=1 */ +### @10=NULL /* type=9 meta=0 nullable=1 is_null=1 */ +### @11=NULL /* type=9 meta=0 nullable=1 is_null=1 */ +### @12=NULL /* type=9 meta=0 nullable=1 is_null=1 */ +### @13=NULL /* type=3 meta=0 nullable=1 is_null=1 */ +### @14=NULL /* type=3 meta=0 nullable=1 is_null=1 */ +### @15=NULL /* type=3 meta=0 nullable=1 is_null=1 */ +### @16=NULL /* type=8 meta=0 nullable=1 is_null=1 */ +### @17=NULL /* type=8 meta=0 nullable=1 is_null=1 */ +### @18=NULL /* type=8 meta=0 nullable=1 is_null=1 */ +### @19=NULL /* type=4 meta=4 nullable=1 is_null=1 */ +### @20=NULL /* type=4 meta=4 nullable=1 is_null=1 */ +### @21=NULL /* type=4 meta=4 nullable=1 is_null=1 */ +### @22=NULL /* type=5 meta=8 nullable=1 is_null=1 */ +### @23=NULL /* type=5 meta=8 nullable=1 is_null=1 */ +### @24=NULL /* type=5 meta=8 nullable=1 is_null=1 */ +### @25=NULL /* type=246 meta=2560 nullable=1 is_null=1 */ +### @26=NULL /* type=246 meta=2560 nullable=1 is_null=1 */ +### @27=NULL /* type=246 meta=2560 nullable=1 is_null=1 */ +### @28=NULL /* type=10 meta=0 nullable=1 is_null=1 */ +### @29=NULL /* type=12 meta=0 nullable=1 is_null=1 */ +### @30=1000000000 /* TIMESTAMP meta=0 nullable=0 is_null=0 */ +### @31=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */ +### @32=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */ +### @33=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */ +### @34=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */ +### @35=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */ +### @36=NULL /* TIMESTAMP meta=65279 nullable=1 is_null=1 */ +### @37=NULL /* TIMESTAMP meta=65027 nullable=1 is_null=1 */ +### @38=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */ +### @39=NULL /* TIMESTAMP meta=65027 nullable=1 is_null=1 */ +### @40=NULL /* TIMESTAMP meta=57085 nullable=1 is_null=1 */ +### @41=NULL /* TIMESTAMP meta=65026 nullable=1 is_null=1 */ +### @42=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */ +### @43=NULL /* TIMESTAMP meta=65026 nullable=1 is_null=1 */ +### @44=NULL /* TIMESTAMP meta=61182 nullable=1 is_null=1 */ +### @45=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */ +### @46=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */ +### @47=NULL /* TIMESTAMP meta=255 nullable=1 is_null=1 */ +### @48=NULL /* TIMESTAMP meta=261 nullable=1 is_null=1 */ +### @49=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */ +### @50=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */ +### @51=NULL /* TIMESTAMP meta=765 nullable=1 is_null=1 */ +### @52=NULL /* TIMESTAMP meta=783 nullable=1 is_null=1 */ +### @53=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */ +### @54=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */ +### @55=NULL /* TIMESTAMP meta=510 nullable=1 is_null=1 */ +### @56=NULL /* TIMESTAMP meta=522 nullable=1 is_null=1 */ +### @57=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */ +### @58=NULL /* TIMESTAMP meta=65024 nullable=1 is_null=1 */ +### @59=NULL /* TIMESTAMP meta=65025 nullable=1 is_null=1 */ +### @60=NULL /* TIMESTAMP meta=65279 nullable=1 is_null=1 */ +### @61=NULL /* TIMESTAMP meta=0 nullable=1 is_null=1 */ +### @62=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */ +### @63=NULL /* TIMESTAMP meta=255 nullable=1 is_null=1 */ +### @64=NULL /* TIMESTAMP meta=261 nullable=1 is_null=1 */ +### @65=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */ +### @66=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */ +### @67=NULL /* TIMESTAMP meta=1 nullable=1 is_null=1 */ +### @68=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */ +### @69=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */ +### @70=NULL /* TIMESTAMP meta=2 nullable=1 is_null=1 */ +### @71=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */ +### @72=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */ +### @73=NULL /* TIMESTAMP meta=3 nullable=1 is_null=1 */ +### @74=NULL /* TIMESTAMP meta=4 nullable=1 is_null=1 */ +### @75=NULL /* TIMESTAMP meta=4 nullable=1 is_null=1 */ +### @76=NULL /* TIMESTAMP meta=4 nullable=1 is_null=1 */ +### @77=NULL /* TIMESTAMP meta=63233 nullable=1 is_null=1 */ +### @78=NULL /* TIMESTAMP meta=63489 nullable=1 is_null=1 */ +### @79=4 /* INT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Rotate to master-bin.000002 pos: 4 +DELIMITER ; +# End of log file +ROLLBACK /* added by mysqlbinlog */; +/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; +# +# Cleanup. +# +DROP TABLE t1; +# +# ========================================= +# Test #2 - Multi-row insert/update/delete. +# ========================================= +# +# Delete all existing binary logs. +# +RESET MASTER; +# +# Create a test table with selected data types. +# +CREATE TABLE t1 ( +c28 DATE, +c47 VARCHAR(24), +crn INT -- row number +) ENGINE=MyISAM DEFAULT CHARSET latin1; +# +# Show how much rows are affected by each statement. +# +# +# Multi-row insert. +# +INSERT INTO t1 VALUES +('2008-08-01','VARCHAR-01',1), +('2008-08-02','VARCHAR-02',2), +('2008-08-03','VARCHAR-03',3), +('2008-08-04','VARCHAR-04',4), +('2008-08-05','VARCHAR-05',5), +('2008-08-06','VARCHAR-06',6), +('2008-08-07','VARCHAR-07',7), +('2008-08-08','VARCHAR-08',8), +('2008-08-09','VARCHAR-09',9); +affected rows: 9 +info: Records: 9 Duplicates: 0 Warnings: 0 +# +# Multi-row update. +# +UPDATE t1 SET c28 = ADDDATE(c28,10) WHERE crn < 8; +affected rows: 7 +info: Rows matched: 7 Changed: 7 Warnings: 0 +# +# Show what we have in the table. +# +SELECT * FROM t1; +c28 c47 crn +2008-08-11 VARCHAR-01 1 +2008-08-12 VARCHAR-02 2 +2008-08-13 VARCHAR-03 3 +2008-08-14 VARCHAR-04 4 +2008-08-15 VARCHAR-05 5 +2008-08-16 VARCHAR-06 6 +2008-08-17 VARCHAR-07 7 +2008-08-08 VARCHAR-08 8 +2008-08-09 VARCHAR-09 9 +affected rows: 9 +# +# Multi-row delete. +# +DELETE FROM t1 WHERE crn < 8; +affected rows: 7 +# +# Show what we have in the table. +# +SELECT * FROM t1; +c28 c47 crn +2008-08-08 VARCHAR-08 8 +2008-08-09 VARCHAR-09 9 +affected rows: 2 +# +# Hide how much rows are affected by each statement. +# +# +# Flush all log buffers to the log file. +# +FLUSH LOGS; +# +# Call mysqlbinlog to display the log file contents. +# +/*!40019 SET @@session.max_insert_delayed_threads=0*/; +/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; +DELIMITER /*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Start: binlog v 4, server v #.##.## created 010909 4:46:40 at startup +ROLLBACK/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +use test/*!*/; +SET TIMESTAMP=1000000000/*!*/; +SET @@session.pseudo_thread_id=#/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/; +/*!\C utf8 *//*!*/; +SET @@session.character_set_client=33,@@session.collation_connection=33,@@session.collation_server=8/*!*/; +SET @@session.lc_time_names=0/*!*/; +SET @@session.collation_database=DEFAULT/*!*/; +CREATE TABLE t1 ( +c28 DATE, +c47 VARCHAR(24), +crn INT -- row number +) ENGINE=MyISAM DEFAULT CHARSET latin1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='2008:08:01' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=1 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t1 +### SET +### @1='2008:08:02' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=2 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t1 +### SET +### @1='2008:08:03' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=3 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t1 +### SET +### @1='2008:08:04' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-04' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=4 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t1 +### SET +### @1='2008:08:05' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-05' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=5 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t1 +### SET +### @1='2008:08:06' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-06' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=6 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t1 +### SET +### @1='2008:08:07' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-07' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=7 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t1 +### SET +### @1='2008:08:08' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-08' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=8 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t1 +### SET +### @1='2008:08:09' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-09' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=9 /* INT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F +### UPDATE test.t1 +### WHERE +### @1='2008:08:01' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=1 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1='2008:08:11' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=1 /* INT meta=0 nullable=1 is_null=0 */ +### UPDATE test.t1 +### WHERE +### @1='2008:08:02' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=2 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1='2008:08:12' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=2 /* INT meta=0 nullable=1 is_null=0 */ +### UPDATE test.t1 +### WHERE +### @1='2008:08:03' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=3 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1='2008:08:13' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=3 /* INT meta=0 nullable=1 is_null=0 */ +### UPDATE test.t1 +### WHERE +### @1='2008:08:04' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-04' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=4 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1='2008:08:14' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-04' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=4 /* INT meta=0 nullable=1 is_null=0 */ +### UPDATE test.t1 +### WHERE +### @1='2008:08:05' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-05' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=5 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1='2008:08:15' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-05' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=5 /* INT meta=0 nullable=1 is_null=0 */ +### UPDATE test.t1 +### WHERE +### @1='2008:08:06' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-06' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=6 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1='2008:08:16' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-06' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=6 /* INT meta=0 nullable=1 is_null=0 */ +### UPDATE test.t1 +### WHERE +### @1='2008:08:07' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-07' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=7 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1='2008:08:17' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-07' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=7 /* INT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1='2008:08:11' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=1 /* INT meta=0 nullable=1 is_null=0 */ +### DELETE FROM test.t1 +### WHERE +### @1='2008:08:12' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=2 /* INT meta=0 nullable=1 is_null=0 */ +### DELETE FROM test.t1 +### WHERE +### @1='2008:08:13' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=3 /* INT meta=0 nullable=1 is_null=0 */ +### DELETE FROM test.t1 +### WHERE +### @1='2008:08:14' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-04' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=4 /* INT meta=0 nullable=1 is_null=0 */ +### DELETE FROM test.t1 +### WHERE +### @1='2008:08:15' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-05' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=5 /* INT meta=0 nullable=1 is_null=0 */ +### DELETE FROM test.t1 +### WHERE +### @1='2008:08:16' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-06' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=6 /* INT meta=0 nullable=1 is_null=0 */ +### DELETE FROM test.t1 +### WHERE +### @1='2008:08:17' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-07' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */ +### @3=7 /* INT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Rotate to master-bin.000002 pos: 4 +DELIMITER ; +# End of log file +ROLLBACK /* added by mysqlbinlog */; +/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; +# +# Cleanup. +# +DROP TABLE t1; +# +# ==================================== +# Test #3 - Multi-table update/delete. +# ==================================== +# +# Delete all existing binary logs. +# +RESET MASTER; +# +# Create test tables with selected data types. +# +CREATE TABLE t1 ( +c_1_1 DATE, +c_1_2 VARCHAR(255), +c_1_n INT -- row number +) ENGINE=MyISAM DEFAULT CHARSET latin1; +CREATE TABLE t2 ( +c_2_1 DATE, +c_2_2 VARCHAR(255), +c_2_n INT -- row number +) ENGINE=MyISAM DEFAULT CHARSET latin1; +CREATE TABLE t3 ( +c_3_1 DATE, +c_3_2 VARCHAR(255), +c_3_n INT -- row number +) ENGINE=MyISAM DEFAULT CHARSET latin1; +# +# Show how much rows are affected by each statement. +# +# +# Insert data. +# +INSERT INTO t1 VALUES +('2008-01-01','VARCHAR-01-01',11), +('2008-01-02','VARCHAR-01-02',2), +('2008-01-03','VARCHAR-01-03',3), +('2008-01-04','VARCHAR-01-04',4), +('2008-01-05','VARCHAR-01-05',5), +('2008-01-06','VARCHAR-01-06',6), +('2008-01-07','VARCHAR-01-07',7), +('2008-01-08','VARCHAR-01-08',18), +('2008-01-09','VARCHAR-01-09',19); +affected rows: 9 +info: Records: 9 Duplicates: 0 Warnings: 0 +INSERT INTO t2 VALUES +('2008-02-01','VARCHAR-02-01',21), +('2008-02-02','VARCHAR-02-02',2), +('2008-02-03','VARCHAR-02-03',3), +('2008-02-04','VARCHAR-02-04',4), +('2008-02-05','VARCHAR-02-05',5), +('2008-02-06','VARCHAR-02-06',6), +('2008-02-07','VARCHAR-02-07',7), +('2008-02-08','VARCHAR-02-08',28), +('2008-02-09','VARCHAR-02-09',29); +affected rows: 9 +info: Records: 9 Duplicates: 0 Warnings: 0 +INSERT INTO t3 VALUES +('2008-03-01','VARCHAR-03-01',31), +('2008-03-02','VARCHAR-03-02',2), +('2008-03-03','VARCHAR-03-03',3), +('2008-03-04','VARCHAR-03-04',4), +('2008-03-05','VARCHAR-03-05',5), +('2008-03-06','VARCHAR-03-06',6), +('2008-03-07','VARCHAR-03-07',7), +('2008-03-08','VARCHAR-03-08',38), +('2008-03-09','VARCHAR-03-09',39); +affected rows: 9 +info: Records: 9 Duplicates: 0 Warnings: 0 +# +# Multi-table update. +# +UPDATE t1,t2,t3 SET +c_1_1 = ADDDATE(c_1_1,INTERVAL 10 YEAR), +c_2_1 = ADDDATE(c_2_1,INTERVAL 20 YEAR), +c_3_1 = ADDDATE(c_3_1,INTERVAL 30 YEAR) +WHERE c_1_n = c_2_n AND c_2_n = c_3_n; +affected rows: 18 +info: Rows matched: 18 Changed: 18 Warnings: 0 +# +# Show what we have in the tables. +# +SELECT * FROM t1; +c_1_1 c_1_2 c_1_n +2008-01-01 VARCHAR-01-01 11 +2018-01-02 VARCHAR-01-02 2 +2018-01-03 VARCHAR-01-03 3 +2018-01-04 VARCHAR-01-04 4 +2018-01-05 VARCHAR-01-05 5 +2018-01-06 VARCHAR-01-06 6 +2018-01-07 VARCHAR-01-07 7 +2008-01-08 VARCHAR-01-08 18 +2008-01-09 VARCHAR-01-09 19 +affected rows: 9 +SELECT * FROM t2; +c_2_1 c_2_2 c_2_n +2008-02-01 VARCHAR-02-01 21 +2028-02-02 VARCHAR-02-02 2 +2028-02-03 VARCHAR-02-03 3 +2028-02-04 VARCHAR-02-04 4 +2028-02-05 VARCHAR-02-05 5 +2028-02-06 VARCHAR-02-06 6 +2028-02-07 VARCHAR-02-07 7 +2008-02-08 VARCHAR-02-08 28 +2008-02-09 VARCHAR-02-09 29 +affected rows: 9 +SELECT * FROM t3; +c_3_1 c_3_2 c_3_n +2008-03-01 VARCHAR-03-01 31 +2038-03-02 VARCHAR-03-02 2 +2038-03-03 VARCHAR-03-03 3 +2038-03-04 VARCHAR-03-04 4 +2038-03-05 VARCHAR-03-05 5 +2038-03-06 VARCHAR-03-06 6 +2038-03-07 VARCHAR-03-07 7 +2008-03-08 VARCHAR-03-08 38 +2008-03-09 VARCHAR-03-09 39 +affected rows: 9 +# +# Multi-table delete. +# +DELETE FROM t1,t2,t3 USING t1 INNER JOIN t2 INNER JOIN t3 +WHERE c_1_n = c_2_n AND c_2_n = c_3_n; +affected rows: 18 +# +# Show what we have in the tables. +# +SELECT * FROM t1; +c_1_1 c_1_2 c_1_n +2008-01-01 VARCHAR-01-01 11 +2008-01-08 VARCHAR-01-08 18 +2008-01-09 VARCHAR-01-09 19 +affected rows: 3 +SELECT * FROM t2; +c_2_1 c_2_2 c_2_n +2008-02-01 VARCHAR-02-01 21 +2008-02-08 VARCHAR-02-08 28 +2008-02-09 VARCHAR-02-09 29 +affected rows: 3 +SELECT * FROM t3; +c_3_1 c_3_2 c_3_n +2008-03-01 VARCHAR-03-01 31 +2008-03-08 VARCHAR-03-08 38 +2008-03-09 VARCHAR-03-09 39 +affected rows: 3 +# +# Hide how much rows are affected by each statement. +# +# +# Flush all log buffers to the log file. +# +FLUSH LOGS; +# +# Call mysqlbinlog to display the log file contents. +# +/*!40019 SET @@session.max_insert_delayed_threads=0*/; +/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; +DELIMITER /*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Start: binlog v 4, server v #.##.## created 010909 4:46:40 at startup +ROLLBACK/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +use test/*!*/; +SET TIMESTAMP=1000000000/*!*/; +SET @@session.pseudo_thread_id=#/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/; +/*!\C utf8 *//*!*/; +SET @@session.character_set_client=33,@@session.collation_connection=33,@@session.collation_server=8/*!*/; +SET @@session.lc_time_names=0/*!*/; +SET @@session.collation_database=DEFAULT/*!*/; +CREATE TABLE t1 ( +c_1_1 DATE, +c_1_2 VARCHAR(255), +c_1_n INT -- row number +) ENGINE=MyISAM DEFAULT CHARSET latin1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t2 ( +c_2_1 DATE, +c_2_2 VARCHAR(255), +c_2_n INT -- row number +) ENGINE=MyISAM DEFAULT CHARSET latin1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t3 ( +c_3_1 DATE, +c_3_2 VARCHAR(255), +c_3_n INT -- row number +) ENGINE=MyISAM DEFAULT CHARSET latin1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1='2008:01:01' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-01' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=11 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t1 +### SET +### @1='2008:01:02' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=2 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t1 +### SET +### @1='2008:01:03' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=3 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t1 +### SET +### @1='2008:01:04' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=4 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t1 +### SET +### @1='2008:01:05' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=5 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t1 +### SET +### @1='2008:01:06' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=6 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t1 +### SET +### @1='2008:01:07' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=7 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t1 +### SET +### @1='2008:01:08' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-08' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=18 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t1 +### SET +### @1='2008:01:09' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-09' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=19 /* INT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t2` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t2 +### SET +### @1='2008:02:01' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-01' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=21 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t2 +### SET +### @1='2008:02:02' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=2 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t2 +### SET +### @1='2008:02:03' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=3 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t2 +### SET +### @1='2008:02:04' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=4 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t2 +### SET +### @1='2008:02:05' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=5 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t2 +### SET +### @1='2008:02:06' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=6 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t2 +### SET +### @1='2008:02:07' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=7 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t2 +### SET +### @1='2008:02:08' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-08' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=28 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t2 +### SET +### @1='2008:02:09' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-09' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=29 /* INT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t3` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t3 +### SET +### @1='2008:03:01' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-01' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=31 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t3 +### SET +### @1='2008:03:02' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=2 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t3 +### SET +### @1='2008:03:03' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=3 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t3 +### SET +### @1='2008:03:04' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=4 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t3 +### SET +### @1='2008:03:05' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=5 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t3 +### SET +### @1='2008:03:06' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=6 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t3 +### SET +### @1='2008:03:07' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=7 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t3 +### SET +### @1='2008:03:08' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-08' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=38 /* INT meta=0 nullable=1 is_null=0 */ +### INSERT INTO test.t3 +### SET +### @1='2008:03:09' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-09' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=39 /* INT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +# at # +# at # +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t2` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t3` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # +#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # +#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F +### UPDATE test.t1 +### WHERE +### @1='2008:01:02' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=2 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1='2018:01:02' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=2 /* INT meta=0 nullable=1 is_null=0 */ +### UPDATE test.t1 +### WHERE +### @1='2008:01:03' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=3 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1='2018:01:03' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=3 /* INT meta=0 nullable=1 is_null=0 */ +### UPDATE test.t1 +### WHERE +### @1='2008:01:04' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=4 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1='2018:01:04' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=4 /* INT meta=0 nullable=1 is_null=0 */ +### UPDATE test.t1 +### WHERE +### @1='2008:01:05' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=5 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1='2018:01:05' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=5 /* INT meta=0 nullable=1 is_null=0 */ +### UPDATE test.t1 +### WHERE +### @1='2008:01:06' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=6 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1='2018:01:06' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=6 /* INT meta=0 nullable=1 is_null=0 */ +### UPDATE test.t1 +### WHERE +### @1='2008:01:07' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=7 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1='2018:01:07' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=7 /* INT meta=0 nullable=1 is_null=0 */ +### UPDATE test.t2 +### WHERE +### @1='2008:02:02' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=2 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1='2028:02:02' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=2 /* INT meta=0 nullable=1 is_null=0 */ +### UPDATE test.t2 +### WHERE +### @1='2008:02:03' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=3 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1='2028:02:03' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=3 /* INT meta=0 nullable=1 is_null=0 */ +### UPDATE test.t2 +### WHERE +### @1='2008:02:04' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=4 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1='2028:02:04' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=4 /* INT meta=0 nullable=1 is_null=0 */ +### UPDATE test.t2 +### WHERE +### @1='2008:02:05' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=5 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1='2028:02:05' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=5 /* INT meta=0 nullable=1 is_null=0 */ +### UPDATE test.t2 +### WHERE +### @1='2008:02:06' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=6 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1='2028:02:06' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=6 /* INT meta=0 nullable=1 is_null=0 */ +### UPDATE test.t2 +### WHERE +### @1='2008:02:07' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=7 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1='2028:02:07' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=7 /* INT meta=0 nullable=1 is_null=0 */ +### UPDATE test.t3 +### WHERE +### @1='2008:03:02' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=2 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1='2038:03:02' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=2 /* INT meta=0 nullable=1 is_null=0 */ +### UPDATE test.t3 +### WHERE +### @1='2008:03:03' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=3 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1='2038:03:03' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=3 /* INT meta=0 nullable=1 is_null=0 */ +### UPDATE test.t3 +### WHERE +### @1='2008:03:04' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=4 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1='2038:03:04' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=4 /* INT meta=0 nullable=1 is_null=0 */ +### UPDATE test.t3 +### WHERE +### @1='2008:03:05' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=5 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1='2038:03:05' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=5 /* INT meta=0 nullable=1 is_null=0 */ +### UPDATE test.t3 +### WHERE +### @1='2008:03:06' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=6 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1='2038:03:06' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=6 /* INT meta=0 nullable=1 is_null=0 */ +### UPDATE test.t3 +### WHERE +### @1='2008:03:07' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=7 /* INT meta=0 nullable=1 is_null=0 */ +### SET +### @1='2038:03:07' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=7 /* INT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +# at # +# at # +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t2` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t3` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1='2018:01:02' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=2 /* INT meta=0 nullable=1 is_null=0 */ +### DELETE FROM test.t1 +### WHERE +### @1='2018:01:03' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=3 /* INT meta=0 nullable=1 is_null=0 */ +### DELETE FROM test.t1 +### WHERE +### @1='2018:01:04' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=4 /* INT meta=0 nullable=1 is_null=0 */ +### DELETE FROM test.t1 +### WHERE +### @1='2018:01:05' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=5 /* INT meta=0 nullable=1 is_null=0 */ +### DELETE FROM test.t1 +### WHERE +### @1='2018:01:06' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=6 /* INT meta=0 nullable=1 is_null=0 */ +### DELETE FROM test.t1 +### WHERE +### @1='2018:01:07' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-01-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=7 /* INT meta=0 nullable=1 is_null=0 */ +### DELETE FROM test.t2 +### WHERE +### @1='2028:02:02' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=2 /* INT meta=0 nullable=1 is_null=0 */ +### DELETE FROM test.t2 +### WHERE +### @1='2028:02:03' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=3 /* INT meta=0 nullable=1 is_null=0 */ +### DELETE FROM test.t2 +### WHERE +### @1='2028:02:04' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=4 /* INT meta=0 nullable=1 is_null=0 */ +### DELETE FROM test.t2 +### WHERE +### @1='2028:02:05' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=5 /* INT meta=0 nullable=1 is_null=0 */ +### DELETE FROM test.t2 +### WHERE +### @1='2028:02:06' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=6 /* INT meta=0 nullable=1 is_null=0 */ +### DELETE FROM test.t2 +### WHERE +### @1='2028:02:07' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-02-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=7 /* INT meta=0 nullable=1 is_null=0 */ +### DELETE FROM test.t3 +### WHERE +### @1='2038:03:02' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-02' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=2 /* INT meta=0 nullable=1 is_null=0 */ +### DELETE FROM test.t3 +### WHERE +### @1='2038:03:03' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-03' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=3 /* INT meta=0 nullable=1 is_null=0 */ +### DELETE FROM test.t3 +### WHERE +### @1='2038:03:04' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-04' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=4 /* INT meta=0 nullable=1 is_null=0 */ +### DELETE FROM test.t3 +### WHERE +### @1='2038:03:05' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-05' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=5 /* INT meta=0 nullable=1 is_null=0 */ +### DELETE FROM test.t3 +### WHERE +### @1='2038:03:06' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-06' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=6 /* INT meta=0 nullable=1 is_null=0 */ +### DELETE FROM test.t3 +### WHERE +### @1='2038:03:07' /* DATE meta=0 nullable=1 is_null=0 */ +### @2='VARCHAR-03-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */ +### @3=7 /* INT meta=0 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Rotate to master-bin.000002 pos: 4 +DELIMITER ; +# End of log file +ROLLBACK /* added by mysqlbinlog */; +/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; +# +# Cleanup. +# +DROP TABLE t1, t2, t3; +# +# =========================== +# Test #4 - LOAD DATA INFILE. +# =========================== +# +# Delete all existing binary logs. +# +RESET MASTER; +# +# Create a test table with selected data types. +# +CREATE TABLE t1 ( +c1 INT DEFAULT 100, +c2 INT, +c3 VARCHAR(60) +) ENGINE=MyISAM DEFAULT CHARSET latin1; +# +# Show how much rows are affected by each statement. +# +# +# Load data. +# +LOAD DATA INFILE '../std_data_ln/loaddata5.dat' + INTO TABLE t1 FIELDS TERMINATED BY '' ENCLOSED BY '' (c1,c2) +SET c3 = 'Wow'; +affected rows: 3 +info: Records: 3 Deleted: 0 Skipped: 0 Warnings: 0 +# +# Show what we have in the table. +# +SELECT * FROM t1; +c1 c2 c3 +1 2 Wow +3 4 Wow +5 6 Wow +affected rows: 3 +# +# Hide how much rows are affected by each statement. +# +# +# Flush all log buffers to the log file. +# +FLUSH LOGS; +# +# Call mysqlbinlog to display the log file contents. +# +/*!40019 SET @@session.max_insert_delayed_threads=0*/; +/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; +DELIMITER /*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Start: binlog v 4, server v #.##.## created 010909 4:46:40 at startup +ROLLBACK/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +use test/*!*/; +SET TIMESTAMP=1000000000/*!*/; +SET @@session.pseudo_thread_id=#/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/; +/*!\C utf8 *//*!*/; +SET @@session.character_set_client=33,@@session.collation_connection=33,@@session.collation_server=8/*!*/; +SET @@session.lc_time_names=0/*!*/; +SET @@session.collation_database=DEFAULT/*!*/; +CREATE TABLE t1 ( +c1 INT DEFAULT 100, +c2 INT, +c3 VARCHAR(60) +) ENGINE=MyISAM DEFAULT CHARSET latin1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=1 /* INT meta=0 nullable=1 is_null=0 */ +### @2=2 /* INT meta=0 nullable=1 is_null=0 */ +### @3='Wow' /* VARSTRING(60) meta=60 nullable=1 is_null=0 */ +### INSERT INTO test.t1 +### SET +### @1=3 /* INT meta=0 nullable=1 is_null=0 */ +### @2=4 /* INT meta=0 nullable=1 is_null=0 */ +### @3='Wow' /* VARSTRING(60) meta=60 nullable=1 is_null=0 */ +### INSERT INTO test.t1 +### SET +### @1=5 /* INT meta=0 nullable=1 is_null=0 */ +### @2=6 /* INT meta=0 nullable=1 is_null=0 */ +### @3='Wow' /* VARSTRING(60) meta=60 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +COMMIT +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Rotate to master-bin.000002 pos: 4 +DELIMITER ; +# End of log file +ROLLBACK /* added by mysqlbinlog */; +/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; +# +# Cleanup. +# +DROP TABLE t1; diff --git a/mysql-test/r/mysqlbinlog_row_trans.result b/mysql-test/r/mysqlbinlog_row_trans.result new file mode 100644 index 00000000000..b7dd6a68096 --- /dev/null +++ b/mysql-test/r/mysqlbinlog_row_trans.result @@ -0,0 +1,500 @@ +# +# Preparatory cleanup. +# +DROP TABLE IF EXISTS t1, t2; +# +# We need a fixed timestamp to avoid varying results. +# +SET timestamp=1000000000; +# +# Delete all existing binary logs. +# +RESET MASTER; +# +# Create test tables. +# +CREATE TABLE t1 ( +c1 INT, +c2 VARCHAR(20) +) ENGINE=InnoDB DEFAULT CHARSET latin1; +CREATE TABLE t2 ( +c1 INT, +c2 VARCHAR(20) +) ENGINE=MyISAM DEFAULT CHARSET latin1; +# +# Start transaction #1, transactional table only, commit. +# +START TRANSACTION; +# +# Do some statements. +# +INSERT INTO t1 VALUES (1,'varchar-1'), (2,'varchar-2'), (3,'varchar-3'); +UPDATE t1 SET c1 = c1 + 10; +DELETE FROM t1 WHERE c1 = 12; +# +# Commit transaction. +# +COMMIT; +SELECT * FROM t1; +c1 c2 +11 varchar-1 +13 varchar-3 +TRUNCATE TABLE t1; +# +# Start transaction #2, transactional table only, rollback. +# +START TRANSACTION; +# +# Do some statements. +# +INSERT INTO t1 VALUES (1,'varchar-1'), (2,'varchar-2'), (3,'varchar-3'); +UPDATE t1 SET c1 = c1 + 10; +DELETE FROM t1 WHERE c1 = 12; +# +# Rollback transaction. +# +ROLLBACK; +SELECT * FROM t1; +c1 c2 +TRUNCATE TABLE t1; +# +# Start transaction #3, both tables, commit. +# +START TRANSACTION; +# +# Do some statements on the transactional table. +# +INSERT INTO t1 VALUES (1,'varchar-1'), (2,'varchar-2'), (3,'varchar-3'); +UPDATE t1 SET c1 = c1 + 10; +DELETE FROM t1 WHERE c1 = 12; +# +# Do some statements on the non-transactional table. +# +INSERT INTO t2 VALUES (1,'varchar-1'), (2,'varchar-2'), (3,'varchar-3'); +UPDATE t2 SET c1 = c1 + 10; +DELETE FROM t2 WHERE c1 = 12; +# +# Commit transaction. +# +COMMIT; +SELECT * FROM t1; +c1 c2 +11 varchar-1 +13 varchar-3 +SELECT * FROM t2; +c1 c2 +11 varchar-1 +13 varchar-3 +TRUNCATE TABLE t1; +TRUNCATE TABLE t2; +# +# Start transaction #4, both tables, rollback. +# +START TRANSACTION; +# +# Do some statements on the transactional table. +# +INSERT INTO t1 VALUES (1,'varchar-1'), (2,'varchar-2'), (3,'varchar-3'); +UPDATE t1 SET c1 = c1 + 10; +DELETE FROM t1 WHERE c1 = 12; +# +# Do some statements on the non-transactional table. +# +INSERT INTO t2 VALUES (1,'varchar-1'), (2,'varchar-2'), (3,'varchar-3'); +UPDATE t2 SET c1 = c1 + 10; +DELETE FROM t2 WHERE c1 = 12; +# +# Rollback transaction. +# +ROLLBACK; +Warnings: +Warning 1196 Some non-transactional changed tables couldn't be rolled back +SELECT * FROM t1; +c1 c2 +SELECT * FROM t2; +c1 c2 +11 varchar-1 +13 varchar-3 +TRUNCATE TABLE t1; +TRUNCATE TABLE t2; +# +# Flush all log buffers to the log file. +# +FLUSH LOGS; +# +# Call mysqlbinlog to display the log file contents. +# +/*!40019 SET @@session.max_insert_delayed_threads=0*/; +/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; +DELIMITER /*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Start: binlog v 4, server v #.##.## created 010909 4:46:40 at startup +ROLLBACK/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +use test/*!*/; +SET TIMESTAMP=1000000000/*!*/; +SET @@session.pseudo_thread_id=#/*!*/; +SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1/*!*/; +SET @@session.sql_mode=0/*!*/; +SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/; +/*!\C latin1 *//*!*/; +SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; +SET @@session.lc_time_names=0/*!*/; +SET @@session.collation_database=DEFAULT/*!*/; +CREATE TABLE t1 ( +c1 INT, +c2 VARCHAR(20) +) ENGINE=InnoDB DEFAULT CHARSET latin1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +CREATE TABLE t2 ( +c1 INT, +c2 VARCHAR(20) +) ENGINE=MyISAM DEFAULT CHARSET latin1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=1 /* INT meta=0 nullable=1 is_null=0 */ +### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ +### INSERT INTO test.t1 +### SET +### @1=2 /* INT meta=0 nullable=1 is_null=0 */ +### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ +### INSERT INTO test.t1 +### SET +### @1=3 /* INT meta=0 nullable=1 is_null=0 */ +### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F +### UPDATE test.t1 +### WHERE +### @1=1 /* INT meta=0 nullable=1 is_null=0 */ +### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ +### SET +### @1=11 /* INT meta=0 nullable=1 is_null=0 */ +### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ +### UPDATE test.t1 +### WHERE +### @1=2 /* INT meta=0 nullable=1 is_null=0 */ +### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ +### SET +### @1=12 /* INT meta=0 nullable=1 is_null=0 */ +### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ +### UPDATE test.t1 +### WHERE +### @1=3 /* INT meta=0 nullable=1 is_null=0 */ +### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ +### SET +### @1=13 /* INT meta=0 nullable=1 is_null=0 */ +### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1=12 /* INT meta=0 nullable=1 is_null=0 */ +### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Xid = # +COMMIT/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +TRUNCATE TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Xid = # +COMMIT/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +TRUNCATE TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Xid = # +COMMIT/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=1 /* INT meta=0 nullable=1 is_null=0 */ +### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ +### INSERT INTO test.t1 +### SET +### @1=2 /* INT meta=0 nullable=1 is_null=0 */ +### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ +### INSERT INTO test.t1 +### SET +### @1=3 /* INT meta=0 nullable=1 is_null=0 */ +### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F +### UPDATE test.t1 +### WHERE +### @1=1 /* INT meta=0 nullable=1 is_null=0 */ +### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ +### SET +### @1=11 /* INT meta=0 nullable=1 is_null=0 */ +### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ +### UPDATE test.t1 +### WHERE +### @1=2 /* INT meta=0 nullable=1 is_null=0 */ +### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ +### SET +### @1=12 /* INT meta=0 nullable=1 is_null=0 */ +### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ +### UPDATE test.t1 +### WHERE +### @1=3 /* INT meta=0 nullable=1 is_null=0 */ +### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ +### SET +### @1=13 /* INT meta=0 nullable=1 is_null=0 */ +### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1=12 /* INT meta=0 nullable=1 is_null=0 */ +### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t2` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t2 +### SET +### @1=1 /* INT meta=0 nullable=1 is_null=0 */ +### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ +### INSERT INTO test.t2 +### SET +### @1=2 /* INT meta=0 nullable=1 is_null=0 */ +### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ +### INSERT INTO test.t2 +### SET +### @1=3 /* INT meta=0 nullable=1 is_null=0 */ +### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t2` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F +### UPDATE test.t2 +### WHERE +### @1=1 /* INT meta=0 nullable=1 is_null=0 */ +### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ +### SET +### @1=11 /* INT meta=0 nullable=1 is_null=0 */ +### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ +### UPDATE test.t2 +### WHERE +### @1=2 /* INT meta=0 nullable=1 is_null=0 */ +### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ +### SET +### @1=12 /* INT meta=0 nullable=1 is_null=0 */ +### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ +### UPDATE test.t2 +### WHERE +### @1=3 /* INT meta=0 nullable=1 is_null=0 */ +### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ +### SET +### @1=13 /* INT meta=0 nullable=1 is_null=0 */ +### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t2` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t2 +### WHERE +### @1=12 /* INT meta=0 nullable=1 is_null=0 */ +### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Xid = # +COMMIT/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +TRUNCATE TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Xid = # +COMMIT/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +TRUNCATE TABLE t2 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t1 +### SET +### @1=1 /* INT meta=0 nullable=1 is_null=0 */ +### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ +### INSERT INTO test.t1 +### SET +### @1=2 /* INT meta=0 nullable=1 is_null=0 */ +### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ +### INSERT INTO test.t1 +### SET +### @1=3 /* INT meta=0 nullable=1 is_null=0 */ +### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F +### UPDATE test.t1 +### WHERE +### @1=1 /* INT meta=0 nullable=1 is_null=0 */ +### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ +### SET +### @1=11 /* INT meta=0 nullable=1 is_null=0 */ +### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ +### UPDATE test.t1 +### WHERE +### @1=2 /* INT meta=0 nullable=1 is_null=0 */ +### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ +### SET +### @1=12 /* INT meta=0 nullable=1 is_null=0 */ +### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ +### UPDATE test.t1 +### WHERE +### @1=3 /* INT meta=0 nullable=1 is_null=0 */ +### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ +### SET +### @1=13 /* INT meta=0 nullable=1 is_null=0 */ +### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t1 +### WHERE +### @1=12 /* INT meta=0 nullable=1 is_null=0 */ +### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t2` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F +### INSERT INTO test.t2 +### SET +### @1=1 /* INT meta=0 nullable=1 is_null=0 */ +### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ +### INSERT INTO test.t2 +### SET +### @1=2 /* INT meta=0 nullable=1 is_null=0 */ +### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ +### INSERT INTO test.t2 +### SET +### @1=3 /* INT meta=0 nullable=1 is_null=0 */ +### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t2` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Update_rows: table id # flags: STMT_END_F +### UPDATE test.t2 +### WHERE +### @1=1 /* INT meta=0 nullable=1 is_null=0 */ +### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ +### SET +### @1=11 /* INT meta=0 nullable=1 is_null=0 */ +### @2='varchar-1' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ +### UPDATE test.t2 +### WHERE +### @1=2 /* INT meta=0 nullable=1 is_null=0 */ +### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ +### SET +### @1=12 /* INT meta=0 nullable=1 is_null=0 */ +### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ +### UPDATE test.t2 +### WHERE +### @1=3 /* INT meta=0 nullable=1 is_null=0 */ +### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ +### SET +### @1=13 /* INT meta=0 nullable=1 is_null=0 */ +### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ +# at # +# at # +#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t2` mapped to number # +#010909 4:46:40 server id 1 end_log_pos # Delete_rows: table id # flags: STMT_END_F +### DELETE FROM test.t2 +### WHERE +### @1=12 /* INT meta=0 nullable=1 is_null=0 */ +### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */ +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +ROLLBACK +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +BEGIN +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +TRUNCATE TABLE t1 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Xid = # +COMMIT/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 +SET TIMESTAMP=1000000000/*!*/; +TRUNCATE TABLE t2 +/*!*/; +# at # +#010909 4:46:40 server id 1 end_log_pos # Rotate to master-bin.000002 pos: 4 +DELIMITER ; +# End of log file +ROLLBACK /* added by mysqlbinlog */; +/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; +# +# Cleanup. +# +DROP TABLE t1, t2; diff --git a/mysql-test/r/mysqldump-max.result b/mysql-test/r/mysqldump-max.result index 2d118092a2c..c1c61cd7fe8 100644 --- a/mysql-test/r/mysqldump-max.result +++ b/mysql-test/r/mysqldump-max.result @@ -277,3 +277,16 @@ drop table t3; drop table t4; drop table t5; drop table t6; +SELECT @@global.storage_engine INTO @old_engine; +SET GLOBAL storage_engine=InnoDB; +CREATE VIEW v1 AS SELECT * FROM t1; +INSERT INTO t1 VALUES(); +SELECT COUNT(*) FROM v1; +COUNT(*) +1 +SELECT COUNT(*) FROM v1; +COUNT(*) +1 +DROP VIEW v1; +DROP TABLE t1; +SET GLOBAL storage_engine=@old_engine; diff --git a/mysql-test/r/mysqldump.result b/mysql-test/r/mysqldump.result index 3e0b4f80f84..ec397d8fb89 100644 --- a/mysql-test/r/mysqldump.result +++ b/mysql-test/r/mysqldump.result @@ -1,3 +1,8 @@ +Bug#37938 - Test "mysqldump" lacks various insert statements +Turn off concurrent inserts to avoid random errors +NOTE: We reset the variable back to saved value at the end of test +SET @OLD_CONCURRENT_INSERT = @@GLOBAL.CONCURRENT_INSERT; +SET @@GLOBAL.CONCURRENT_INSERT = 0; DROP TABLE IF EXISTS t1, `"t"1`, t1aa, t2, t2aa, t3; drop database if exists mysqldump_test_db; drop database if exists db1; @@ -1999,7 +2004,7 @@ SET @saved_cs_client = @@character_set_client; SET character_set_client = utf8; /*!50001 CREATE TABLE `v2` ( `a` varchar(30) -) */; +) ENGINE=MyISAM */; SET character_set_client = @saved_cs_client; /*!50001 DROP TABLE `v2`*/; /*!50001 DROP VIEW IF EXISTS `v2`*/; @@ -2096,7 +2101,7 @@ SET @saved_cs_client = @@character_set_client; SET character_set_client = utf8; /*!50001 CREATE TABLE `v1` ( `a` int(11) -) */; +) ENGINE=MyISAM */; SET character_set_client = @saved_cs_client; /*!50001 DROP TABLE `v1`*/; /*!50001 DROP VIEW IF EXISTS `v1`*/; @@ -2170,7 +2175,7 @@ SET @saved_cs_client = @@character_set_client; SET character_set_client = utf8; /*!50001 CREATE TABLE `v2` ( `a` varchar(30) -) */; +) ENGINE=MyISAM */; SET character_set_client = @saved_cs_client; /*!50001 DROP TABLE `v2`*/; /*!50001 DROP VIEW IF EXISTS `v2`*/; @@ -2286,7 +2291,7 @@ SET character_set_client = utf8; `a` int(11), `b` int(11), `c` varchar(30) -) */; +) ENGINE=MyISAM */; SET character_set_client = @saved_cs_client; DROP TABLE IF EXISTS `v2`; /*!50001 DROP VIEW IF EXISTS `v2`*/; @@ -2294,7 +2299,7 @@ SET @saved_cs_client = @@character_set_client; SET character_set_client = utf8; /*!50001 CREATE TABLE `v2` ( `a` int(11) -) */; +) ENGINE=MyISAM */; SET character_set_client = @saved_cs_client; DROP TABLE IF EXISTS `v3`; /*!50001 DROP VIEW IF EXISTS `v3`*/; @@ -2304,7 +2309,7 @@ SET character_set_client = utf8; `a` int(11), `b` int(11), `c` varchar(30) -) */; +) ENGINE=MyISAM */; SET character_set_client = @saved_cs_client; /*!50001 DROP TABLE `v1`*/; /*!50001 DROP VIEW IF EXISTS `v1`*/; @@ -3041,7 +3046,7 @@ SET character_set_client = utf8; `a` int(11), `b` varchar(32), `c` varchar(32) -) */; +) ENGINE=MyISAM */; SET character_set_client = @saved_cs_client; DROP TABLE IF EXISTS `v1`; /*!50001 DROP VIEW IF EXISTS `v1`*/; @@ -3051,7 +3056,7 @@ SET character_set_client = utf8; `a` int(11), `b` varchar(32), `c` varchar(32) -) */; +) ENGINE=MyISAM */; SET character_set_client = @saved_cs_client; DROP TABLE IF EXISTS `v2`; /*!50001 DROP VIEW IF EXISTS `v2`*/; @@ -3061,7 +3066,7 @@ SET character_set_client = utf8; `a` int(11), `b` varchar(32), `c` varchar(32) -) */; +) ENGINE=MyISAM */; SET character_set_client = @saved_cs_client; USE `test`; @@ -3441,7 +3446,7 @@ SET @saved_cs_client = @@character_set_client; SET character_set_client = utf8; /*!50001 CREATE TABLE `v1` ( `id` int(11) -) */; +) ENGINE=MyISAM */; SET character_set_client = @saved_cs_client; USE `mysqldump_test_db`; @@ -3501,7 +3506,7 @@ SET @saved_cs_client = @@character_set_client; SET character_set_client = utf8; /*!50001 CREATE TABLE `nasishnasifu` ( `id` bigint(20) unsigned -) */; +) ENGINE=MyISAM */; SET character_set_client = @saved_cs_client; USE `mysqldump_tables`; @@ -3959,7 +3964,7 @@ SET @saved_cs_client = @@character_set_client; SET character_set_client = utf8; /*!50001 CREATE TABLE `v1` ( `id` int(11) -) */; +) ENGINE=MyISAM */; SET character_set_client = @saved_cs_client; USE `mysqldump_test_db`; @@ -4089,6 +4094,7 @@ DROP DATABASE mysqldump_test_db; # -- End of test case for Bug#32538. +SET @@GLOBAL.CONCURRENT_INSERT = @OLD_CONCURRENT_INSERT; # # End of 5.1 tests # diff --git a/mysql-test/r/mysqltest.result b/mysql-test/r/mysqltest.result index adf99185d89..51a0b6c45ef 100644 --- a/mysql-test/r/mysqltest.result +++ b/mysql-test/r/mysqltest.result @@ -14,6 +14,7 @@ select otto from (select 1 as otto) as t1; otto 1 mysqltest: At line 1: query 'select otto from (select 1 as otto) as t1' succeeded - should have failed with sqlstate 42S22... +mysqltest: At line 1: expecting a SQL-state (00000) from query 'remove_file MYSQLTEST_VARDIR/tmp/test_nonexistent.tmp' which cannot produce one... select friedrich from (select 1 as otto) as t1; ERROR 42S22: Unknown column 'friedrich' in 'field list' mysqltest: At line 1: query 'select friedrich from (select 1 as otto) as t1' failed with wrong sqlstate 42S22: 'Unknown column 'friedrich' in 'field list'', instead of 00000... @@ -725,6 +726,9 @@ drop table t1; mysqltest: At line 1: change user failed: Unknown database 'inexistent' mysqltest: At line 1: change user failed: Access denied for user 'inexistent'@'localhost' (using password: NO) mysqltest: At line 1: change user failed: Access denied for user 'root'@'localhost' (using password: YES) +file1.txt +file1.txt +file2.txt SELECT 'c:\\a.txt' AS col; col z diff --git a/mysql-test/r/parser.result b/mysql-test/r/parser.result index e10bcba36c2..270c1ec5670 100644 --- a/mysql-test/r/parser.result +++ b/mysql-test/r/parser.result @@ -284,6 +284,74 @@ Field Type Null Key Default Extra DROP TABLE table_25930_a; DROP TABLE table_25930_b; SET @@sql_mode=@save_sql_mode; +DROP PROCEDURE IF EXISTS p26030; +select "non terminated"$$ +non terminated +non terminated +select "terminated";$$ +terminated +terminated +select "non terminated, space" $$ +non terminated, space +non terminated, space +select "terminated, space"; $$ +terminated, space +terminated, space +select "non terminated, comment" /* comment */$$ +non terminated, comment +non terminated, comment +select "terminated, comment"; /* comment */$$ +terminated, comment +terminated, comment +select "stmt 1";select "stmt 2 non terminated"$$ +stmt 1 +stmt 1 +stmt 2 non terminated +stmt 2 non terminated +select "stmt 1";select "stmt 2 terminated";$$ +stmt 1 +stmt 1 +stmt 2 terminated +stmt 2 terminated +select "stmt 1";select "stmt 2 non terminated, space" $$ +stmt 1 +stmt 1 +stmt 2 non terminated, space +stmt 2 non terminated, space +select "stmt 1";select "stmt 2 terminated, space"; $$ +stmt 1 +stmt 1 +stmt 2 terminated, space +stmt 2 terminated, space +select "stmt 1";select "stmt 2 non terminated, comment" /* comment */$$ +stmt 1 +stmt 1 +stmt 2 non terminated, comment +stmt 2 non terminated, comment +select "stmt 1";select "stmt 2 terminated, comment"; /* comment */$$ +stmt 1 +stmt 1 +stmt 2 terminated, comment +stmt 2 terminated, comment +select "stmt 1"; select "space, stmt 2"$$ +stmt 1 +stmt 1 +space, stmt 2 +space, stmt 2 +select "stmt 1";/* comment */select "comment, stmt 2"$$ +stmt 1 +stmt 1 +comment, stmt 2 +comment, stmt 2 +DROP PROCEDURE IF EXISTS p26030; CREATE PROCEDURE p26030() BEGIN SELECT 1; END; CALL p26030() +$$ +1 +1 +DROP PROCEDURE IF EXISTS p26030; CREATE PROCEDURE p26030() SELECT 1; CALL p26030() +$$ +1 +1 +DROP PROCEDURE p26030; select pi(3.14); ERROR 42000: Incorrect parameter count in the call to native function 'pi' select tan(); diff --git a/mysql-test/r/parser_stack.result b/mysql-test/r/parser_stack.result new file mode 100644 index 00000000000..a0040fc6ae6 --- /dev/null +++ b/mysql-test/r/parser_stack.result @@ -0,0 +1,306 @@ +use test; +SELECT +(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((( +(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((( +(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((( +1 +)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +; +1 +1 +prepare stmt from +" +SELECT +(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((( +(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((( +(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((( +1 +)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +" +; +execute stmt; +1 +1 +drop view if exists view_overflow; +CREATE VIEW view_overflow AS +SELECT +(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((( +(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((( +(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((( +1 +)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +; +SELECT * from view_overflow; +1 +1 +drop view view_overflow; +drop procedure if exists proc_overflow; +CREATE PROCEDURE proc_overflow() +BEGIN +BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN +BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN +BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN +BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN +BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN +BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN +BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN +BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN +BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN +BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN +select 1; +select 2; +select 3; +END; END; END; END; END; END; END; END; END; END; END; END; +END; END; END; END; END; END; END; END; END; END; END; END; +END; END; END; END; END; END; END; END; END; END; END; END; +END; END; END; END; END; END; END; END; END; END; END; END; +END; END; END; END; END; END; END; END; END; END; END; END; +END; END; END; END; END; END; END; END; END; END; END; END; +END; END; END; END; END; END; END; END; END; END; END; END; +END; END; END; END; END; END; END; END; END; END; END; END; +END; END; END; END; END; END; END; END; END; END; END; END; +END; END; END; END; END; END; END; END; END; END; END; END; +END $$ +call proc_overflow(); +1 +1 +2 +2 +3 +3 +drop procedure proc_overflow; +drop function if exists func_overflow; +create function func_overflow() returns int +BEGIN +DECLARE x int default 0; +BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN +BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN +BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN +BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN +BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN +BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN +BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN +BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN +BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN +BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN +SET x=x+1; +SET x=x+2; +SET x=x+3; +END; END; END; END; END; END; END; END; END; END; END; END; +END; END; END; END; END; END; END; END; END; END; END; END; +END; END; END; END; END; END; END; END; END; END; END; END; +END; END; END; END; END; END; END; END; END; END; END; END; +END; END; END; END; END; END; END; END; END; END; END; END; +END; END; END; END; END; END; END; END; END; END; END; END; +END; END; END; END; END; END; END; END; END; END; END; END; +END; END; END; END; END; END; END; END; END; END; END; END; +END; END; END; END; END; END; END; END; END; END; END; END; +END; END; END; END; END; END; END; END; END; END; END; END; +return x; +END $$ +select func_overflow(); +func_overflow() +6 +drop function func_overflow; +drop table if exists table_overflow; +create table table_overflow(a int, b int); +create trigger trigger_overflow before insert on table_overflow +for each row +BEGIN +BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN +BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN +BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN +BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN +BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN +BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN +BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN +BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN +BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN +BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN +SET NEW.b := NEW.a; +SET NEW.b := NEW.b + 1; +SET NEW.b := NEW.b + 2; +SET NEW.b := NEW.b + 3; +END; END; END; END; END; END; END; END; END; END; END; END; +END; END; END; END; END; END; END; END; END; END; END; END; +END; END; END; END; END; END; END; END; END; END; END; END; +END; END; END; END; END; END; END; END; END; END; END; END; +END; END; END; END; END; END; END; END; END; END; END; END; +END; END; END; END; END; END; END; END; END; END; END; END; +END; END; END; END; END; END; END; END; END; END; END; END; +END; END; END; END; END; END; END; END; END; END; END; END; +END; END; END; END; END; END; END; END; END; END; END; END; +END; END; END; END; END; END; END; END; END; END; END; END; +END $$ +insert into table_overflow set a=10; +insert into table_overflow set a=20; +select * from table_overflow; +a b +10 16 +20 26 +drop table table_overflow; +drop procedure if exists proc_35577; +CREATE PROCEDURE proc_35577() +BEGIN +DECLARE z_done INT DEFAULT 0; +DECLARE t_done VARCHAR(5000); +outer_loop: LOOP +IF t_done=1 THEN +LEAVE outer_loop; +END IF; +inner_block:BEGIN +DECLARE z_done INT DEFAULT 0; +SET z_done = 0; +inner_loop: LOOP +IF z_done=1 THEN +LEAVE inner_loop; +END IF; +IF (t_done = 'a') THEN +IF (t_done <> 0) THEN +IF ( t_done > 0) THEN +IF (t_done = 'a') THEN +SET t_done = 'a'; +ELSEIF (t_done = 'a') THEN +SET t_done = 'a'; +ELSEIF(t_done = 'a') THEN +SET t_done = 'a'; +ELSEIF(t_done = 'a') THEN +SET t_done = 'a'; +ELSEIF(t_done = 'a') THEN +SET t_done = 'a'; +ELSEIF(t_done = 'a') THEN +SET t_done = 'a'; +ELSEIF(t_done = 'a') THEN +SET t_done = 'a'; +ELSEIF(t_done = 'a') THEN +SET t_done = 'a'; +END IF; +END IF; +END IF; +END IF; +END LOOP inner_loop; +END inner_block; +END LOOP outer_loop; +END $$ +drop procedure proc_35577; +drop procedure if exists p_37269; +create procedure p_37269() +begin +declare done int default 0; +declare varb int default 0; +declare vara int default 0; +repeat +select now(); +until done end repeat; +while varb do +select now(); +begin +select now(); +repeat +select now(); +until done end repeat; +if vara then +select now(); +repeat +select now(); +loop +select now(); +end loop; +repeat +select now(); +label1: while varb do +select now(); +end while label1; +if vara then +select now(); +repeat +select now(); +until done end repeat; +begin +select now(); +while varb do +select now(); +label1: while varb do +select now(); +end while label1; +if vara then +select now(); +while varb do +select now(); +loop +select now(); +end loop; +repeat +select now(); +loop +select now(); +while varb do +select now(); +end while; +repeat +select now(); +label1: loop +select now(); +if vara then +select now(); +end if; +end loop label1; +until done end repeat; +end loop; +until done end repeat; +end while; +end if; +end while; +end; +end if; +until done end repeat; +until done end repeat; +end if; +end; +end while; +end $$ +drop procedure p_37269; +drop procedure if exists p_37228; +create procedure p_37228 () +BEGIN +DECLARE v INT DEFAULT 123; +IF (v > 1) THEN SET v = 1; +ELSEIF (v < 10) THEN SET v = 10; +ELSEIF (v < 11) THEN SET v = 11; +ELSEIF (v < 12) THEN SET v = 12; +ELSEIF (v < 13) THEN SET v = 13; +ELSEIF (v < 14) THEN SET v = 14; +ELSEIF (v < 15) THEN SET v = 15; +ELSEIF (v < 16) THEN SET v = 16; +ELSEIF (v < 17) THEN SET v = 17; +ELSEIF (v < 18) THEN SET v = 18; +ELSEIF (v < 19) THEN SET v = 19; +ELSEIF (v < 20) THEN SET v = 20; +ELSEIF (v < 21) THEN SET v = 21; +ELSEIF (v < 22) THEN SET v = 22; +ELSEIF (v < 23) THEN SET v = 23; +ELSEIF (v < 24) THEN SET v = 24; +ELSEIF (v < 25) THEN SET v = 25; +ELSEIF (v < 26) THEN SET v = 26; +ELSEIF (v < 27) THEN SET v = 27; +ELSEIF (v < 28) THEN SET v = 28; +ELSEIF (v < 29) THEN SET v = 29; +ELSEIF (v < 30) THEN SET v = 30; +ELSEIF (v < 31) THEN SET v = 31; +ELSEIF (v < 32) THEN SET v = 32; +ELSEIF (v < 33) THEN SET v = 33; +ELSEIF (v < 34) THEN SET v = 34; +ELSEIF (v < 35) THEN SET v = 35; +ELSEIF (v < 36) THEN SET v = 36; +ELSEIF (v < 37) THEN SET v = 37; +ELSEIF (v < 38) THEN SET v = 38; +ELSEIF (v < 39) THEN SET v = 39; +END IF; +END $$ +drop procedure p_37228; diff --git a/mysql-test/r/partition.result b/mysql-test/r/partition.result index b13010f8471..e76c874324e 100644 --- a/mysql-test/r/partition.result +++ b/mysql-test/r/partition.result @@ -1,4 +1,206 @@ -drop table if exists t1; +drop table if exists t1, t2; +CREATE TABLE t1 ( +a INT NOT NULL, +b MEDIUMINT NOT NULL, +c INT NOT NULL, +KEY b (b) +) ENGINE=MyISAM +PARTITION BY LIST (a) ( +PARTITION p0 VALUES IN (1) +); +INSERT INTO t1 VALUES (1,1,0), (1,1,1), (1,1,2), (1,1,53), (1,1,4), (1,1,5), +(1,1,6), (1,1,7), (1,1,8), (1,1,9), (1,1,10), (1,1,11), (1,1,12), (1,1,13), +(1,1,14), (1,1,15), (1,1,16), (1,1,67), (1,1,18), (1,1,19), (1,1,20), (1,1,21), +(1,1,22), (1,1,23), (1,1,24), (1,1,75), (1,1,26), (1,1,27), (1,1,128), +(1,1,79), (1,1,30), (1,1,31), (1,1,32), (1,1,33), (1,1,34), (1,1,85), (1,1,36), +(1,1,37), (1,1,38), (1,1,39), (1,1,40), (1,1,241), (1,1,42), (1,1,43), +(1,1,44), (1,1,45), (1,1,46), (1,1,147), (1,1,48), (1,1,49), (1,2,0), (1,2,1), +(1,2,2), (1,2,3), (1,2,4), (1,2,5), (1,2,6), (1,2,7), (1,2,8), (1,2,9), +(1,2,10), (1,2,11), (1,2,12), (1,2,13), (1,2,14), (1,2,15), (1,2,16), (1,2,17), +(1,2,18), (1,2,19), (1,2,20), (1,2,21), (1,2,22), (1,2,23), (1,2,24), (1,2,25), +(1,2,26), (1,2,27), (1,2,28), (1,2,29), (1,2,30), (1,2,31), (1,2,32), (1,2,33), +(1,2,34), (1,2,35), (1,2,36), (1,2,37), (1,2,38), (1,2,39), (1,2,40), (1,2,41), +(1,2,42), (1,2,43), (1,2,44), (1,2,45), (1,2,46), (1,2,47), (1,2,48), (1,2,49), +(1,6,0), (1,6,1), (1,6,2), (1,6,3), (1,6,4), (1,6,5), (1,6,6), (1,6,7), +(1,6,8), (1,6,9), (1,6,10), (1,6,11), (1,6,12), (1,6,13), (1,6,14), (1,6,15), +(1,6,16), (1,6,17), (1,6,18), (1,6,19), (1,6,20), (1,6,21), (1,6,22), (1,6,23), +(1,6,24), (1,6,25), (1,6,26), (1,6,27), (1,6,28), (1,6,29), (1,6,30), (1,6,31), +(1,6,32), (1,6,33), (1,6,34), (1,6,35), (1,6,36), (1,6,37), (1,6,38), (1,6,39), +(1,6,40), (1,6,41), (1,6,42), (1,6,43), (1,6,44), (1,6,45), (1,6,46), (1,6,47), +(1,6,48), (1,6,49), (1,7,0), (1,7,1), (1,7,2), (1,7,3), (1,7,4), (1,7,5), +(1,7,6), (1,7,7), (1,7,8), (1,7,9), (1,7,10), (1,7,11), (1,7,12), (1,7,13), +(1,7,14), (1,7,15), (1,7,16), (1,7,17), (1,7,18), (1,7,19), (1,7,20), (1,7,21), +(1,7,22), (1,7,23), (1,7,24), (1,7,25), (1,7,26), (1,7,27), (1,7,28), (1,7,29), +(1,7,30), (1,7,31), (1,7,32), (1,7,33), (1,7,34), (1,7,35), (1,7,38), (1,7,39), +(1,7,90), (1,7,41), (1,7,43), (1,7,48), (1,7,49), (1,9,0), (1,9,1), (1,9,2), +(1,9,3), (1,9,4), (1,9,5), (1,9,6), (1,9,7), (1,9,8), (1,9,9), (1,9,10), +(1,9,11), (1,9,12), (1,9,13), (1,9,14), (1,9,15), (1,9,16), (1,9,17), (1,9,18), +(1,9,19), (1,9,20), (1,9,21), (1,9,22), (1,9,23), (1,9,24), (1,9,25), (1,9,26), +(1,9,29), (1,9,32), (1,9,35), (1,9,38), (1,10,0), (1,10,1), (1,10,2), (1,10,3), +(1,10,4), (1,10,5), (1,10,6), (1,10,7), (1,10,8), (1,10,9), (1,10,10), +(1,10,11), (1,10,13), (1,10,14), (1,10,15), (1,10,16), (1,10,17), (1,10,18), +(1,10,22), (1,10,24), (1,10,25), (1,10,26), (1,10,28), (1,10,131), (1,10,33), +(1,10,84), (1,10,35), (1,10,40), (1,10,42), (1,10,49), (1,11,0), (1,11,1), +(1,11,2), (1,11,3), (1,11,4), (1,11,5), (1,11,6), (1,11,7), (1,11,8), (1,11,9), +(1,11,10), (1,11,11), (1,11,12), (1,11,13), (1,11,14), (1,11,15), (1,11,16), +(1,11,17), (1,11,18), (1,11,19), (1,11,20), (1,11,21), (1,11,22), (1,11,23), +(1,11,24), (1,11,25), (1,11,26), (1,11,27), (1,11,28), (1,11,30), (1,11,31), +(1,11,32), (1,11,33), (1,11,34), (1,11,35), (1,11,37), (1,11,39), (1,11,40), +(1,11,42), (1,11,44), (1,11,45), (1,11,47), (1,11,48), (1,14,104), (1,14,58), +(1,14,12), (1,14,13), (1,14,15), (1,14,16), (1,14,17), (1,14,34), (1,15,0), +(1,15,1), (1,15,2), (1,15,3), (1,15,4), (1,15,5), (1,15,7), (1,15,9), +(1,15,15), (1,15,27), (1,15,49), (1,16,0), (1,16,1), (1,16,3), (1,17,4), +(1,19,1); +SELECT COUNT(*) FROM t1 WHERE b NOT IN ( 1,2,6,7,9,10,11 ); +COUNT(*) +24 +SELECT SUM(c) FROM t1 WHERE b NOT IN ( 1,2,6,7,9,10,11 ); +SUM(c) +400 +ALTER TABLE t1 DROP INDEX b; +SELECT COUNT(*) FROM t1 WHERE b NOT IN ( 1,2,6,7,9,10,11 ); +COUNT(*) +24 +SELECT SUM(c) FROM t1 WHERE b NOT IN ( 1,2,6,7,9,10,11 ); +SUM(c) +400 +ALTER TABLE t1 ENGINE = Memory; +SELECT COUNT(*) FROM t1 WHERE b NOT IN ( 1,2,6,7,9,10,11 ); +COUNT(*) +24 +SELECT SUM(c) FROM t1 WHERE b NOT IN ( 1,2,6,7,9,10,11 ); +SUM(c) +400 +ALTER TABLE t1 ADD INDEX b USING HASH (b); +SELECT COUNT(*) FROM t1 WHERE b NOT IN ( 1,2,6,7,9,10,11 ); +COUNT(*) +24 +SELECT SUM(c) FROM t1 WHERE b NOT IN ( 1,2,6,7,9,10,11 ); +SUM(c) +400 +DROP TABLE t1; +CREATE TABLE `t1` ( +`c1` int(11) DEFAULT NULL, +KEY `c1` (`c1`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +CREATE TABLE `t2` ( +`c1` int(11) DEFAULT NULL, +KEY `c1` (`c1`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (c1) (PARTITION a VALUES LESS THAN (100) ENGINE = MyISAM, PARTITION b VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */; +INSERT INTO `t1` VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12),(13),(14),(15),(16),(17),(18),(19),(20); +INSERT INTO `t2` VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12),(13),(14),(15),(16),(17),(18),(19),(20); +EXPLAIN PARTITIONS SELECT c1 FROM t1 WHERE (c1 > 10 AND c1 < 13) OR (c1 > 17 AND c1 < 20); +id select_type table partitions type possible_keys key key_len ref rows Extra +1 SIMPLE t1 NULL range c1 c1 5 NULL 4 Using where; Using index +FLUSH STATUS; +SELECT c1 FROM t1 WHERE (c1 > 10 AND c1 < 13) OR (c1 > 17 AND c1 < 20); +c1 +11 +12 +18 +19 +SHOW STATUS LIKE 'Handler_read_%'; +Variable_name Value +Handler_read_first 0 +Handler_read_key 2 +Handler_read_next 4 +Handler_read_prev 0 +Handler_read_rnd 0 +Handler_read_rnd_next 0 +EXPLAIN PARTITIONS SELECT c1 FROM t2 WHERE (c1 > 10 AND c1 < 13) OR (c1 > 17 AND c1 < 20); +id select_type table partitions type possible_keys key key_len ref rows Extra +1 SIMPLE t2 a range c1 c1 5 NULL 4 Using where; Using index +FLUSH STATUS; +SELECT c1 FROM t2 WHERE (c1 > 10 AND c1 < 13) OR (c1 > 17 AND c1 < 20); +c1 +11 +12 +18 +19 +SHOW STATUS LIKE 'Handler_read_%'; +Variable_name Value +Handler_read_first 0 +Handler_read_key 2 +Handler_read_next 4 +Handler_read_prev 0 +Handler_read_rnd 0 +Handler_read_rnd_next 0 +DROP TABLE t1,t2; +CREATE TABLE `t1` ( +`c1` int(11) DEFAULT NULL, +KEY `c1` (`c1`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +CREATE TABLE `t2` ( +`c1` int(11) DEFAULT NULL, +KEY `c1` (`c1`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (c1) (PARTITION a VALUES LESS THAN (100) ENGINE = MyISAM, PARTITION b VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */; +INSERT INTO `t1` VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12),(13),(14),(15),(16),(17),(18),(19),(20); +INSERT INTO `t2` VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12),(13),(14),(15),(16),(17),(18),(19),(20); +EXPLAIN PARTITIONS SELECT c1 FROM t1 WHERE (c1 > 2 AND c1 < 5); +id select_type table partitions type possible_keys key key_len ref rows Extra +1 SIMPLE t1 NULL range c1 c1 5 NULL 2 Using where; Using index +FLUSH STATUS; +SELECT c1 FROM t1 WHERE (c1 > 2 AND c1 < 5); +c1 +3 +4 +SHOW STATUS LIKE 'Handler_read_%'; +Variable_name Value +Handler_read_first 0 +Handler_read_key 1 +Handler_read_next 2 +Handler_read_prev 0 +Handler_read_rnd 0 +Handler_read_rnd_next 0 +EXPLAIN PARTITIONS SELECT c1 FROM t2 WHERE (c1 > 2 AND c1 < 5); +id select_type table partitions type possible_keys key key_len ref rows Extra +1 SIMPLE t2 a range c1 c1 5 NULL 2 Using where; Using index +FLUSH STATUS; +SELECT c1 FROM t2 WHERE (c1 > 2 AND c1 < 5); +c1 +3 +4 +SHOW STATUS LIKE 'Handler_read_%'; +Variable_name Value +Handler_read_first 0 +Handler_read_key 1 +Handler_read_next 2 +Handler_read_prev 0 +Handler_read_rnd 0 +Handler_read_rnd_next 0 +EXPLAIN PARTITIONS SELECT c1 FROM t1 WHERE (c1 > 12 AND c1 < 15); +id select_type table partitions type possible_keys key key_len ref rows Extra +1 SIMPLE t1 NULL range c1 c1 5 NULL 2 Using where; Using index +FLUSH STATUS; +SELECT c1 FROM t1 WHERE (c1 > 12 AND c1 < 15); +c1 +13 +14 +SHOW STATUS LIKE 'Handler_read_%'; +Variable_name Value +Handler_read_first 0 +Handler_read_key 1 +Handler_read_next 2 +Handler_read_prev 0 +Handler_read_rnd 0 +Handler_read_rnd_next 0 +EXPLAIN PARTITIONS SELECT c1 FROM t2 WHERE (c1 > 12 AND c1 < 15); +id select_type table partitions type possible_keys key key_len ref rows Extra +1 SIMPLE t2 a range c1 c1 5 NULL 2 Using where; Using index +FLUSH STATUS; +SELECT c1 FROM t2 WHERE (c1 > 12 AND c1 < 15); +c1 +13 +14 +SHOW STATUS LIKE 'Handler_read_%'; +Variable_name Value +Handler_read_first 0 +Handler_read_key 1 +Handler_read_next 2 +Handler_read_prev 0 +Handler_read_rnd 0 +Handler_read_rnd_next 0 +DROP TABLE t1,t2; create table t1 (a int) partition by list ((a/3)*10 div 1) (partition p0 values in (0), partition p1 values in (1)); ERROR HY000: This partition function is not allowed @@ -336,7 +538,7 @@ PARTITION BY LIST (a) (PARTITION x1 VALUES IN (10), PARTITION x2 VALUES IN (20)); analyze table t1; Table Op Msg_type Msg_text -test.t1 analyze note The storage engine for the table doesn't support analyze +test.t1 analyze status OK drop table t1; create table t1 (a int) @@ -929,7 +1131,7 @@ NULL 2 explain partitions select * from t1 where a is null or a < 0 or a > 1; id select_type table partitions type possible_keys key key_len ref rows Extra -1 SIMPLE t1 pn,p2 ALL NULL NULL NULL NULL 2 Using where +1 SIMPLE t1 pn,p2 ALL NULL NULL NULL NULL 4 Using where drop table t1; CREATE TABLE t1 (id INT NOT NULL PRIMARY KEY, name VARCHAR(20)) ENGINE=MyISAM DEFAULT CHARSET=latin1 @@ -1037,7 +1239,11 @@ SHOW TABLE STATUS; Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment t1 MyISAM 10 Fixed 1 14 14 0 0 7 NULL NULL NULL NULL latin1_swedish_ci NULL partitioned ALTER TABLE t1 OPTIMIZE PARTITION p0; -ERROR 42000: The storage engine for the table doesn't support optimize partition +Table Op Msg_type Msg_text +test.t1 optimize status OK +SHOW TABLE STATUS; +Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment +t1 MyISAM 10 Fixed 1 7 7 0 1024 0 NULL NULL NULL NULL latin1_swedish_ci NULL partitioned DROP TABLE t1; CREATE TABLE t1 (a int, index(a)) PARTITION BY KEY(a); ALTER TABLE t1 DISABLE KEYS; @@ -1242,13 +1448,15 @@ create trigger t_ad after delete on t for each row insert into t values (old.s1) insert into t values (1); drop table t; USE mysql; +TRUNCATE TABLE general_log; +SET @old_general_log_state = @@global.general_log; SET GLOBAL general_log = 0; ALTER TABLE general_log ENGINE = MyISAM; ALTER TABLE general_log PARTITION BY RANGE (TO_DAYS(event_time)) (PARTITION p0 VALUES LESS THAN (733144), PARTITION p1 VALUES LESS THAN (3000000)); ERROR HY000: Incorrect usage of PARTITION and log table ALTER TABLE general_log ENGINE = CSV; -SET GLOBAL general_log = default; +SET GLOBAL general_log = @old_general_log_state; use test; create table t2 (b int); create table t1 (b int) @@ -1297,13 +1505,17 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp ALTER TABLE t1 ANALYZE PARTITION p1 EXTENDED; 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 'EXTENDED' at line 1 ALTER TABLE t1 ANALYZE PARTITION p1; -ERROR 42000: The storage engine for the table doesn't support analyze partition +Table Op Msg_type Msg_text +test.t1 analyze status OK ALTER TABLE t1 CHECK PARTITION p1; -ERROR 42000: The storage engine for the table doesn't support check partition +Table Op Msg_type Msg_text +test.t1 check status OK ALTER TABLE t1 REPAIR PARTITION p1; -ERROR 42000: The storage engine for the table doesn't support repair partition +Table Op Msg_type Msg_text +test.t1 repair status OK ALTER TABLE t1 OPTIMIZE PARTITION p1; -ERROR 42000: The storage engine for the table doesn't support optimize partition +Table Op Msg_type Msg_text +test.t1 optimize status OK DROP TABLE t1; CREATE TABLE t1 (s1 BIGINT UNSIGNED) PARTITION BY RANGE (s1) ( @@ -1402,4 +1614,118 @@ t1 CREATE TABLE `t1` ( PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=16 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (id) SUBPARTITION BY HASH (id) SUBPARTITIONS 2 (PARTITION pa1 VALUES LESS THAN (10) ENGINE = MyISAM, PARTITION pa2 VALUES LESS THAN (20) ENGINE = MyISAM, PARTITION pa11 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */ drop table t1; +CREATE TABLE t1 ( +`ID` bigint(20) NOT NULL AUTO_INCREMENT, +`createdDate` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, +`number` int, +PRIMARY KEY (`ID`, number) +) +PARTITION BY RANGE (number) ( +PARTITION p0 VALUES LESS THAN (6), +PARTITION p1 VALUES LESS THAN (11) +); +create table t2 ( +`ID` bigint(20), +`createdDate` TIMESTAMP, +`number` int +); +INSERT INTO t1 SET number=1; +insert into t2 select * from t1; +SELECT SLEEP(1); +SLEEP(1) +0 +UPDATE t1 SET number=6; +select count(*) from t1, t2 where t1.createdDate = t2.createdDate; +count(*) +1 +drop table t1, t2; +SET @orig_sql_mode = @@SQL_MODE; +SET SQL_MODE='STRICT_ALL_TABLES,ERROR_FOR_DIVISION_BY_ZERO'; +CREATE TABLE t1 (c1 INT) +PARTITION BY LIST(1 DIV c1) ( +PARTITION p0 VALUES IN (NULL), +PARTITION p1 VALUES IN (1) +); +INSERT INTO t1 VALUES (0); +ERROR 22012: Division by 0 +SELECT * FROM t1; +c1 +TRUNCATE t1; +INSERT INTO t1 VALUES (NULL), (0), (1), (2); +ERROR 22012: Division by 0 +SELECT * FROM t1; +c1 +NULL +DROP TABLE t1; +SET SQL_MODE= @orig_sql_mode; +create table t1 (s1 int) partition by hash(s1) partitions 2; +create index i on t1 (s1); +insert into t1 values (1); +insert into t1 select s1 from t1; +insert into t1 select s1 from t1; +insert into t1 select s1 from t1 order by s1 desc; +select * from t1; +s1 +1 +1 +1 +1 +1 +1 +1 +1 +drop table t1; +create table t1 (s1 int) partition by range(s1) +(partition pa1 values less than (10), +partition pa2 values less than MAXVALUE); +create index i on t1 (s1); +insert into t1 values (1); +insert into t1 select s1 from t1; +insert into t1 select s1 from t1; +insert into t1 select s1 from t1 order by s1 desc; +select * from t1; +s1 +1 +1 +1 +1 +1 +1 +1 +1 +drop table t1; +create table t1 (s1 int) partition by range(s1) +(partition pa1 values less than (10), +partition pa2 values less than MAXVALUE); +create index i on t1 (s1); +insert into t1 values (20); +insert into t1 select s1 from t1; +insert into t1 select s1 from t1; +insert into t1 select s1 from t1 order by s1 desc; +select * from t1; +s1 +20 +20 +20 +20 +20 +20 +20 +20 +drop table t1; +create table t1 (s1 int) partition by range(s1) +(partition pa1 values less than (10), +partition pa2 values less than MAXVALUE); +create index i on t1 (s1); +insert into t1 values (1), (2), (3), (4), (5), (6), (7), (8); +insert into t1 select s1 from t1; +insert into t1 select s1 from t1; +insert into t1 select s1 from t1; +insert into t1 select s1 from t1; +insert into t1 select s1 from t1 order by s1 desc; +insert into t1 select s1 from t1 where s1=3; +select count(*) from t1; +count(*) +288 +drop table t1; End of 5.1 tests diff --git a/mysql-test/r/partition_hash.result b/mysql-test/r/partition_hash.result index 94fefe77a77..19da70db5a0 100644 --- a/mysql-test/r/partition_hash.result +++ b/mysql-test/r/partition_hash.result @@ -69,25 +69,25 @@ id select_type table partitions type possible_keys key key_len ref rows Extra 1 SIMPLE t1 p0,p1,p2,p3 ALL NULL NULL NULL NULL 9 Using where explain partitions select * from t1 where a is null or (a >= 5 and a <= 7); id select_type table partitions type possible_keys key key_len ref rows Extra -1 SIMPLE t1 p0,p2,p3 ALL NULL NULL NULL NULL 7 Using where +1 SIMPLE t1 p0,p2,p3 ALL NULL NULL NULL NULL 9 Using where explain partitions select * from t1 where a is null; id select_type table partitions type possible_keys key key_len ref rows Extra -1 SIMPLE t1 p0 ALL NULL NULL NULL NULL 3 Using where +1 SIMPLE t1 p0 ALL NULL NULL NULL NULL 9 Using where explain partitions select * from t1 where a is not null; id select_type table partitions type possible_keys key key_len ref rows Extra 1 SIMPLE t1 p0,p1,p2,p3 ALL NULL NULL NULL NULL 9 Using where explain partitions select * from t1 where a >= 1 and a < 3; id select_type table partitions type possible_keys key key_len ref rows Extra -1 SIMPLE t1 p0,p1 ALL NULL NULL NULL NULL 5 Using where +1 SIMPLE t1 p0,p1 ALL NULL NULL NULL NULL 9 Using where explain partitions select * from t1 where a >= 3 and a <= 5; id select_type table partitions type possible_keys key key_len ref rows Extra -1 SIMPLE t1 p1,p2 ALL NULL NULL NULL NULL 4 Using where +1 SIMPLE t1 p1,p2 ALL NULL NULL NULL NULL 9 Using where explain partitions select * from t1 where a > 2 and a < 4; id select_type table partitions type possible_keys key key_len ref rows Extra -1 SIMPLE t1 p1 ALL NULL NULL NULL NULL 2 Using where +1 SIMPLE t1 p1 ALL NULL NULL NULL NULL 9 Using where explain partitions select * from t1 where a > 3 and a <= 6; id select_type table partitions type possible_keys key key_len ref rows Extra -1 SIMPLE t1 p2,p3 ALL NULL NULL NULL NULL 4 Using where +1 SIMPLE t1 p2,p3 ALL NULL NULL NULL NULL 9 Using where explain partitions select * from t1 where a > 5; id select_type table partitions type possible_keys key key_len ref rows Extra 1 SIMPLE t1 p0,p1,p2,p3 ALL NULL NULL NULL NULL 9 Using where diff --git a/mysql-test/r/partition_not_windows.result b/mysql-test/r/partition_not_windows.result index 44afdea3855..c0247babb50 100644 --- a/mysql-test/r/partition_not_windows.result +++ b/mysql-test/r/partition_not_windows.result @@ -24,8 +24,8 @@ data directory='/not/existing' index directory='/not/existing' ); Warnings: -Warning 0 DATA DIRECTORY option ignored -Warning 0 INDEX DIRECTORY option ignored +Warning 1616 option ignored +Warning 1616 option ignored show create table t2; Table Create Table t2 CREATE TABLE `t2` ( diff --git a/mysql-test/r/partition_pruning.result b/mysql-test/r/partition_pruning.result index 396400f9010..b153ad9ad47 100644 --- a/mysql-test/r/partition_pruning.result +++ b/mysql-test/r/partition_pruning.result @@ -31,7 +31,7 @@ id select_type table partitions type possible_keys key key_len ref rows Extra 1 SIMPLE t2 p0,p1 ALL NULL NULL NULL NULL 3 Using where explain partitions select * from t2 where a=1 and b=1; id select_type table partitions type possible_keys key key_len ref rows Extra -1 SIMPLE t2 p0 ALL NULL NULL NULL NULL 2 Using where +1 SIMPLE t2 p0 ALL NULL NULL NULL NULL 3 Using where create table t3 ( a int ) @@ -89,25 +89,25 @@ id select_type table partitions type possible_keys key key_len ref rows Extra explain partitions select * from t5 where (a=10 and b=1) or (a=10 and b=2) or (a=10 and b = 3); id select_type table partitions type possible_keys key key_len ref rows Extra -1 SIMPLE t5 p0_p0sp0,p0_p0sp1 ALL NULL NULL NULL NULL 2 Using where +1 SIMPLE t5 p0_p0sp0,p0_p0sp1 ALL NULL NULL NULL NULL 4 Using where explain partitions select * from t5 where (a=10 and b=2) or (a=10 and b=3) or (a=10 and b = 4); id select_type table partitions type possible_keys key key_len ref rows Extra 1 SIMPLE t5 p0_p0sp0,p0_p0sp1,p1_p1sp0,p1_p1sp1 ALL NULL NULL NULL NULL 4 Using where explain partitions select * from t5 where (c=1 and d=1); id select_type table partitions type possible_keys key key_len ref rows Extra -1 SIMPLE t5 p0_p0sp0,p1_p1sp0 ALL NULL NULL NULL NULL 2 Using where +1 SIMPLE t5 p0_p0sp0,p1_p1sp0 ALL NULL NULL NULL NULL 4 Using where explain partitions select * from t5 where (c=2 and d=1); id select_type table partitions type possible_keys key key_len ref rows Extra -1 SIMPLE t5 p0_p0sp1,p1_p1sp1 ALL NULL NULL NULL NULL 2 Using where +1 SIMPLE t5 p0_p0sp1,p1_p1sp1 ALL NULL NULL NULL NULL 4 Using where explain partitions select * from t5 where (a=10 and b=2 and c=1 and d=1) or (c=2 and d=1); id select_type table partitions type possible_keys key key_len ref rows Extra -1 SIMPLE t5 p0_p0sp0,p0_p0sp1,p1_p1sp1 ALL NULL NULL NULL NULL 3 Using where +1 SIMPLE t5 p0_p0sp0,p0_p0sp1,p1_p1sp1 ALL NULL NULL NULL NULL 4 Using where explain partitions select * from t5 where (a=10 and b=2 and c=1 and d=1) or (b=2 and c=2 and d=1); id select_type table partitions type possible_keys key key_len ref rows Extra -1 SIMPLE t5 p0_p0sp0,p0_p0sp1,p1_p1sp1 ALL NULL NULL NULL NULL 3 Using where +1 SIMPLE t5 p0_p0sp0,p0_p0sp1,p1_p1sp1 ALL NULL NULL NULL NULL 4 Using where create table t6 (a int not null) partition by LIST(a) ( partition p1 values in (1), partition p3 values in (3), @@ -145,7 +145,7 @@ id select_type table partitions type possible_keys key key_len ref rows Extra 1 SIMPLE t6 p5,p7,p9 system NULL NULL NULL NULL 1 explain partitions select * from t6 where a >= 3 and a <= 8; id select_type table partitions type possible_keys key key_len ref rows Extra -1 SIMPLE t6 p3,p5,p7 ALL NULL NULL NULL NULL 2 Using where +1 SIMPLE t6 p3,p5,p7 ALL NULL NULL NULL NULL 3 Using where explain partitions select * from t6 where a > 3 and a < 5; id select_type table partitions type possible_keys key key_len ref rows Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables @@ -187,7 +187,7 @@ id select_type table partitions type possible_keys key key_len ref rows Extra 1 SIMPLE t6 p5,p7,p9 system NULL NULL NULL NULL 1 explain partitions select * from t6 where a >= 3 and a <= 8; id select_type table partitions type possible_keys key key_len ref rows Extra -1 SIMPLE t6 p3,p5,p7 ALL NULL NULL NULL NULL 2 Using where +1 SIMPLE t6 p3,p5,p7 ALL NULL NULL NULL NULL 3 Using where explain partitions select * from t6 where a > 3 and a < 5; id select_type table partitions type possible_keys key key_len ref rows Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables @@ -342,7 +342,7 @@ id select_type table partitions type possible_keys key key_len ref rows Extra explain partitions select * from t1 X, t1 Y where X.a = Y.a and (X.a=1 or X.a=2); id select_type table partitions type possible_keys key key_len ref rows Extra -1 SIMPLE X p1,p2 ALL a NULL NULL NULL 2 Using where +1 SIMPLE X p1,p2 ALL a NULL NULL NULL 4 Using where 1 SIMPLE Y p1,p2 ref a a 4 test.X.a 2 drop table t1; create table t1 (a int) partition by hash(a) partitions 20; @@ -355,7 +355,7 @@ id select_type table partitions type possible_keys key key_len ref rows Extra 1 SIMPLE t1 p1,p2 ALL NULL NULL NULL NULL 2 Using where explain partitions select * from t1 where a > 1 and a <= 3; id select_type table partitions type possible_keys key key_len ref rows Extra -1 SIMPLE t1 p2,p3 ALL NULL NULL NULL NULL 2 Using where +1 SIMPLE t1 p2,p3 ALL NULL NULL NULL NULL 3 Using where explain partitions select * from t1 where a >= 1 and a <= 3; id select_type table partitions type possible_keys key key_len ref rows Extra 1 SIMPLE t1 p1,p2,p3 ALL NULL NULL NULL NULL 3 Using where @@ -445,22 +445,22 @@ id select_type table partitions type possible_keys key key_len ref rows Extra 1 SIMPLE t2 p0,p1,p2,p3,p4 ALL NULL NULL NULL NULL 1010 explain partitions select * from t2 where a < 801 and a > 200; id select_type table partitions type possible_keys key key_len ref rows Extra -1 SIMPLE t2 p1,p2,p3,p4 ALL NULL NULL NULL NULL 800 Using where +1 SIMPLE t2 p1,p2,p3,p4 ALL NULL NULL NULL NULL 1010 Using where explain partitions select * from t2 where a < 801 and a > 800; id select_type table partitions type possible_keys key key_len ref rows Extra -1 SIMPLE t2 p4 ALL NULL NULL NULL NULL 200 Using where +1 SIMPLE t2 p4 ALL NULL NULL NULL NULL 1010 Using where explain partitions select * from t2 where a > 600; id select_type table partitions type possible_keys key key_len ref rows Extra -1 SIMPLE t2 p3,p4 ALL NULL NULL NULL NULL 400 Using where +1 SIMPLE t2 p3,p4 ALL NULL NULL NULL NULL 1010 Using where explain partitions select * from t2 where a > 600 and b = 1; id select_type table partitions type possible_keys key key_len ref rows Extra -1 SIMPLE t2 p3,p4 ALL NULL NULL NULL NULL 400 Using where +1 SIMPLE t2 p3,p4 ALL NULL NULL NULL NULL 1010 Using where explain partitions select * from t2 where a > 600 and b = 4; id select_type table partitions type possible_keys key key_len ref rows Extra -1 SIMPLE t2 p3,p4 ALL NULL NULL NULL NULL 400 Using where +1 SIMPLE t2 p3,p4 ALL NULL NULL NULL NULL 1010 Using where explain partitions select * from t2 where a > 600 and b = 5; id select_type table partitions type possible_keys key key_len ref rows Extra -1 SIMPLE t2 p3,p4 ALL NULL NULL NULL NULL 400 Using where +1 SIMPLE t2 p3,p4 ALL NULL NULL NULL NULL 1010 Using where explain partitions select * from t2 where b = 5; id select_type table partitions type possible_keys key key_len ref rows Extra 1 SIMPLE t2 p0,p1,p2,p3,p4 ALL NULL NULL NULL NULL 1010 Using where @@ -515,19 +515,19 @@ id select_type table partitions type possible_keys key key_len ref rows Extra 1 SIMPLE t2 p0,p1,p2,p3,p4 ALL NULL NULL NULL NULL 910 explain partitions select * from t2 where a = 101; id select_type table partitions type possible_keys key key_len ref rows Extra -1 SIMPLE t2 p0 ALL NULL NULL NULL NULL 110 Using where +1 SIMPLE t2 p0 ALL NULL NULL NULL NULL 910 Using where explain partitions select * from t2 where a = 550; id select_type table partitions type possible_keys key key_len ref rows Extra -1 SIMPLE t2 p2 ALL NULL NULL NULL NULL 200 Using where +1 SIMPLE t2 p2 ALL NULL NULL NULL NULL 910 Using where explain partitions select * from t2 where a = 833; id select_type table partitions type possible_keys key key_len ref rows Extra -1 SIMPLE t2 p4 ALL NULL NULL NULL NULL 200 Using where +1 SIMPLE t2 p4 ALL NULL NULL NULL NULL 910 Using where explain partitions select * from t2 where (a = 100 OR a = 900); id select_type table partitions type possible_keys key key_len ref rows Extra -1 SIMPLE t2 p0,p4 ALL NULL NULL NULL NULL 310 Using where +1 SIMPLE t2 p0,p4 ALL NULL NULL NULL NULL 910 Using where explain partitions select * from t2 where (a > 100 AND a < 600); id select_type table partitions type possible_keys key key_len ref rows Extra -1 SIMPLE t2 p0,p1,p2,p3 ALL NULL NULL NULL NULL 710 Using where +1 SIMPLE t2 p0,p1,p2,p3 ALL NULL NULL NULL NULL 910 Using where explain partitions select * from t2 where b = 4; id select_type table partitions type possible_keys key key_len ref rows Extra 1 SIMPLE t2 p0,p1,p2,p3,p4 ref b b 5 const 76 Using where @@ -813,17 +813,17 @@ id select_type table partitions type possible_keys key key_len ref rows Extra explain partitions select * from t1 where a >= 18446744073709551000-1 and a <= 18446744073709551000+1; id select_type table partitions type possible_keys key key_len ref rows Extra -1 SIMPLE t1 p3,p4 ALL NULL NULL NULL NULL 3 Using where +1 SIMPLE t1 p3,p4 ALL NULL NULL NULL NULL 4 Using where explain partitions select * from t1 where a between 18446744073709551001 and 18446744073709551002; id select_type table partitions type possible_keys key key_len ref rows Extra -1 SIMPLE t1 p4 ALL NULL NULL NULL NULL 2 Using where +1 SIMPLE t1 p4 ALL NULL NULL NULL NULL 4 Using where explain partitions select * from t1 where a = 18446744073709551000; id select_type table partitions type possible_keys key key_len ref rows Extra -1 SIMPLE t1 p4 ALL NULL NULL NULL NULL 2 Using where +1 SIMPLE t1 p4 ALL NULL NULL NULL NULL 4 Using where explain partitions select * from t1 where a = 18446744073709551613; id select_type table partitions type possible_keys key key_len ref rows Extra -1 SIMPLE t1 p4 ALL NULL NULL NULL NULL 2 Using where +1 SIMPLE t1 p4 ALL NULL NULL NULL NULL 4 Using where explain partitions select * from t1 where a = 18446744073709551614; id select_type table partitions type possible_keys key key_len ref rows Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables @@ -850,10 +850,10 @@ id select_type table partitions type possible_keys key key_len ref rows Extra 1 SIMPLE t2 p0 ALL NULL NULL NULL NULL 2 Using where explain partitions select * from t1 where a=0xFE; id select_type table partitions type possible_keys key key_len ref rows Extra -1 SIMPLE t1 p2 ALL NULL NULL NULL NULL 2 Using where +1 SIMPLE t1 p2 ALL NULL NULL NULL NULL 4 Using where explain partitions select * from t2 where a=0xFE; id select_type table partitions type possible_keys key key_len ref rows Extra -1 SIMPLE t2 p2 ALL NULL NULL NULL NULL 2 Using where +1 SIMPLE t2 p2 ALL NULL NULL NULL NULL 4 Using where explain partitions select * from t1 where a > 0xFE AND a <= 0xFF; id select_type table partitions type possible_keys key key_len ref rows Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables @@ -862,22 +862,22 @@ id select_type table partitions type possible_keys key key_len ref rows Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables explain partitions select * from t1 where a >= 0xFE AND a <= 0xFF; id select_type table partitions type possible_keys key key_len ref rows Extra -1 SIMPLE t1 p2 ALL NULL NULL NULL NULL 2 Using where +1 SIMPLE t1 p2 ALL NULL NULL NULL NULL 4 Using where explain partitions select * from t2 where a >= 0xFE AND a <= 0xFF; id select_type table partitions type possible_keys key key_len ref rows Extra -1 SIMPLE t2 p2 ALL NULL NULL NULL NULL 2 Using where +1 SIMPLE t2 p2 ALL NULL NULL NULL NULL 4 Using where explain partitions select * from t1 where a < 64 AND a >= 63; id select_type table partitions type possible_keys key key_len ref rows Extra -1 SIMPLE t1 p0 ALL NULL NULL NULL NULL 2 Using where +1 SIMPLE t1 p0 ALL NULL NULL NULL NULL 4 Using where explain partitions select * from t2 where a < 64 AND a >= 63; id select_type table partitions type possible_keys key key_len ref rows Extra -1 SIMPLE t2 p0 ALL NULL NULL NULL NULL 2 Using where +1 SIMPLE t2 p0 ALL NULL NULL NULL NULL 4 Using where explain partitions select * from t1 where a <= 64 AND a >= 63; id select_type table partitions type possible_keys key key_len ref rows Extra -1 SIMPLE t1 p0,p1 ALL NULL NULL NULL NULL 4 Using where +1 SIMPLE t1 p0,p1 ALL NULL NULL NULL NULL 6 Using where explain partitions select * from t2 where a <= 64 AND a >= 63; id select_type table partitions type possible_keys key key_len ref rows Extra -1 SIMPLE t2 p0,p1 ALL NULL NULL NULL NULL 4 Using where +1 SIMPLE t2 p0,p1 ALL NULL NULL NULL NULL 6 Using where drop table t1; drop table t2; create table t1(a bigint unsigned not null) partition by range(a+0) ( diff --git a/mysql-test/r/partition_range.result b/mysql-test/r/partition_range.result index b027ef088ae..23a38ff3885 100644 --- a/mysql-test/r/partition_range.result +++ b/mysql-test/r/partition_range.result @@ -57,13 +57,13 @@ id select_type table partitions type possible_keys key key_len ref rows Extra 1 SIMPLE t1 pnull system NULL NULL NULL NULL 1 explain partitions select * from t1 where a >= 0; id select_type table partitions type possible_keys key key_len ref rows Extra -1 SIMPLE t1 p0,p1 ALL NULL NULL NULL NULL 2 Using where +1 SIMPLE t1 p0,p1 ALL NULL NULL NULL NULL 3 Using where explain partitions select * from t1 where a < 0; id select_type table partitions type possible_keys key key_len ref rows Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables explain partitions select * from t1 where a <= 0; id select_type table partitions type possible_keys key key_len ref rows Extra -1 SIMPLE t1 pnull,p0 ALL NULL NULL NULL NULL 2 Using where +1 SIMPLE t1 pnull,p0 ALL NULL NULL NULL NULL 3 Using where explain partitions select * from t1 where a > 1; id select_type table partitions type possible_keys key key_len ref rows Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables @@ -96,16 +96,16 @@ select * from t1 where a > 1; a b explain partitions select * from t1 where a is null; id select_type table partitions type possible_keys key key_len ref rows Extra -1 SIMPLE t1 pnull_pnullsp0,pnull_pnullsp1 ALL NULL NULL NULL NULL 2 Using where +1 SIMPLE t1 pnull_pnullsp0,pnull_pnullsp1 ALL NULL NULL NULL NULL 6 Using where explain partitions select * from t1 where a >= 0; id select_type table partitions type possible_keys key key_len ref rows Extra -1 SIMPLE t1 p0_p0sp0,p0_p0sp1,p1_p1sp0,p1_p1sp1 ALL NULL NULL NULL NULL 4 Using where +1 SIMPLE t1 p0_p0sp0,p0_p0sp1,p1_p1sp0,p1_p1sp1 ALL NULL NULL NULL NULL 6 Using where explain partitions select * from t1 where a < 0; id select_type table partitions type possible_keys key key_len ref rows Extra -1 SIMPLE t1 pnull_pnullsp0,pnull_pnullsp1 ALL NULL NULL NULL NULL 2 Using where +1 SIMPLE t1 pnull_pnullsp0,pnull_pnullsp1 ALL NULL NULL NULL NULL 6 Using where explain partitions select * from t1 where a <= 0; id select_type table partitions type possible_keys key key_len ref rows Extra -1 SIMPLE t1 pnull_pnullsp0,pnull_pnullsp1,p0_p0sp0,p0_p0sp1 ALL NULL NULL NULL NULL 4 Using where +1 SIMPLE t1 pnull_pnullsp0,pnull_pnullsp1,p0_p0sp0,p0_p0sp1 ALL NULL NULL NULL NULL 6 Using where explain partitions select * from t1 where a > 1; id select_type table partitions type possible_keys key key_len ref rows Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables @@ -742,3 +742,23 @@ WHERE (a >= '2004-07-01' AND a <= '2004-09-30') OR id select_type table partitions type possible_keys key key_len ref rows Extra 1 SIMPLE t1 p407,p408,p409,p507,p508,p509 ALL NULL NULL NULL NULL 18 Using where DROP TABLE t1; +create table t1 (a int); +insert into t1 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9); +CREATE TABLE t2 ( +defid int(10) unsigned NOT NULL, +day int(10) unsigned NOT NULL, +count int(10) unsigned NOT NULL, +filler char(200), +KEY (defid,day) +) +PARTITION BY RANGE (day) ( +PARTITION p7 VALUES LESS THAN (20070401) , +PARTITION p8 VALUES LESS THAN (20070501)); +insert into t2 select 20, 20070311, 1, 'filler' from t1 A, t1 B; +insert into t2 select 20, 20070411, 1, 'filler' from t1 A, t1 B; +insert into t2 values(52, 20070321, 123, 'filler') ; +insert into t2 values(52, 20070322, 456, 'filler') ; +select sum(count) from t2 ch where ch.defid in (50,52) and ch.day between 20070320 and 20070401 group by defid; +sum(count) +579 +drop table t1, t2; diff --git a/mysql-test/r/partition_symlink.result b/mysql-test/r/partition_symlink.result index eb92a4f733d..00c9f5b3f01 100644 --- a/mysql-test/r/partition_symlink.result +++ b/mysql-test/r/partition_symlink.result @@ -101,8 +101,8 @@ data directory='/not/existing' index directory='/not/existing' ); Warnings: -Warning 0 DATA DIRECTORY option ignored -Warning 0 INDEX DIRECTORY option ignored +Warning 1616 option ignored +Warning 1616 option ignored show create table t2; Table Create Table t2 CREATE TABLE `t2` ( @@ -113,9 +113,9 @@ set @@sql_mode=@org_mode; create table t1 (a int) partition by key (a) (partition p0 DATA DIRECTORY 'part-data' INDEX DIRECTORY 'part-data'); -ERROR 42000: Incorrect table name 'part-data' +Got one of the listed errors create table t1 (a int) partition by key (a) (partition p0, partition p1 DATA DIRECTORY 'part-data' INDEX DIRECTORY 'part-data'); -ERROR 42000: Incorrect table name 'part-data' +Got one of the listed errors diff --git a/mysql-test/r/partition_windows.result b/mysql-test/r/partition_windows.result index c2d4054deeb..87e3a3e970d 100644 --- a/mysql-test/r/partition_windows.result +++ b/mysql-test/r/partition_windows.result @@ -15,16 +15,16 @@ DATA DIRECTORY = 'E:/mysqltest/p2Data' INDEX DIRECTORY = 'F:/mysqltest/p2Index' ); Warnings: -Warning 0 DATA DIRECTORY option ignored -Warning 0 INDEX DIRECTORY option ignored -Warning 0 DATA DIRECTORY option ignored -Warning 0 INDEX DIRECTORY option ignored +Warning 1616 option ignored +Warning 1616 option ignored +Warning 1616 option ignored +Warning 1616 option ignored INSERT INTO t1 VALUES (NULL, "first", 1); INSERT INTO t1 VALUES (NULL, "second", 2); INSERT INTO t1 VALUES (NULL, "third", 3); ALTER TABLE t1 ADD PARTITION (PARTITION p3 DATA DIRECTORY = 'G:/mysqltest/p3Data' INDEX DIRECTORY = 'H:/mysqltest/p3Index'); Warnings: -Warning 0 DATA DIRECTORY option ignored -Warning 0 INDEX DIRECTORY option ignored +Warning 1616 option ignored +Warning 1616 option ignored INSERT INTO t1 VALUES (NULL, "last", 4); DROP TABLE t1; diff --git a/mysql-test/r/ps.result b/mysql-test/r/ps.result index 4cae3928097..05b2d18889b 100644 --- a/mysql-test/r/ps.result +++ b/mysql-test/r/ps.result @@ -85,9 +85,9 @@ NULL NULL NULL prepare stmt6 from 'select 1; select2'; -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 '; select2' at line 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 'select2' at line 1 prepare stmt6 from 'insert into t1 values (5,"five"); select2'; -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 '; select2' at line 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 'select2' at line 1 explain prepare stmt6 from 'insert into t1 values (5,"five"); select2'; 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 'insert into t1 values (5,"five"); select2'' at line 1 create table t2 diff --git a/mysql-test/r/ps_11bugs.result b/mysql-test/r/ps_11bugs.result index ebe161f46b3..a298c552806 100644 --- a/mysql-test/r/ps_11bugs.result +++ b/mysql-test/r/ps_11bugs.result @@ -162,4 +162,32 @@ a b 12 NULL drop table t1; drop table t2; +CREATE TABLE t1 (a INT); +PREPARE stmt FROM 'select 1 from `t1` where `a` = any (select (@@tmpdir))'; +EXECUTE stmt; +1 +DEALLOCATE PREPARE stmt; +DROP TABLE t1; +CREATE TABLE t2 (a INT PRIMARY KEY); +INSERT INTO t2 VALUES (400000), (400001); +SET @@sort_buffer_size=400000; +CREATE FUNCTION p1(i INT) RETURNS INT +BEGIN +SET @@sort_buffer_size= i; +RETURN i + 1; +END| +SELECT * FROM t2 WHERE a = @@sort_buffer_size AND p1(@@sort_buffer_size + 1) > a - 1; +a +400000 +DROP TABLE t2; +DROP FUNCTION p1; +SELECT CONCAT(@@sort_buffer_size); +CONCAT(@@sort_buffer_size) +400001 +SELECT LEFT("12345", @@ft_boolean_syntax); +LEFT("12345", @@ft_boolean_syntax) + +Warnings: +Warning 1292 Truncated incorrect INTEGER value: '+ -><()~*:""&|' +SET @@sort_buffer_size=DEFAULT; End of 5.0 tests. diff --git a/mysql-test/r/ps_1general.result b/mysql-test/r/ps_1general.result index 33849eefe7a..c6799c6538e 100644 --- a/mysql-test/r/ps_1general.result +++ b/mysql-test/r/ps_1general.result @@ -445,7 +445,7 @@ def table 253 64 2 Y 0 31 8 def type 253 10 3 Y 0 31 8 def possible_keys 253 4096 0 Y 0 31 8 def key 253 64 0 Y 0 31 8 -def key_len 253 1365 0 Y 0 31 8 +def key_len 253 4096 0 Y 0 31 8 def ref 253 1024 0 Y 0 31 8 def rows 8 10 1 Y 32928 0 63 def Extra 253 255 14 N 1 31 8 @@ -461,7 +461,7 @@ def table 253 64 2 Y 0 31 8 def type 253 10 5 Y 0 31 8 def possible_keys 253 4096 7 Y 0 31 8 def key 253 64 7 Y 0 31 8 -def key_len 253 1365 1 Y 0 31 8 +def key_len 253 4096 1 Y 0 31 8 def ref 253 1024 0 Y 0 31 8 def rows 8 10 1 Y 32928 0 63 def Extra 253 255 27 N 1 31 8 diff --git a/mysql-test/r/ps_2myisam.result b/mysql-test/r/ps_2myisam.result index 06bfd78a351..0888b78618f 100644 --- a/mysql-test/r/ps_2myisam.result +++ b/mysql-test/r/ps_2myisam.result @@ -1158,7 +1158,7 @@ def table 253 64 2 Y 0 31 8 def type 253 10 3 Y 0 31 8 def possible_keys 253 4096 0 Y 0 31 8 def key 253 64 0 Y 0 31 8 -def key_len 253 1365 0 Y 0 31 8 +def key_len 253 4096 0 Y 0 31 8 def ref 253 1024 0 Y 0 31 8 def rows 8 10 1 Y 32928 0 63 def Extra 253 255 0 N 1 31 8 diff --git a/mysql-test/r/ps_3innodb.result b/mysql-test/r/ps_3innodb.result index f56b1d37a2c..e5a57131b01 100644 --- a/mysql-test/r/ps_3innodb.result +++ b/mysql-test/r/ps_3innodb.result @@ -1158,7 +1158,7 @@ def table 253 64 2 Y 0 31 8 def type 253 10 3 Y 0 31 8 def possible_keys 253 4096 0 Y 0 31 8 def key 253 64 0 Y 0 31 8 -def key_len 253 1365 0 Y 0 31 8 +def key_len 253 4096 0 Y 0 31 8 def ref 253 1024 0 Y 0 31 8 def rows 8 10 1 Y 32928 0 63 def Extra 253 255 0 N 1 31 8 diff --git a/mysql-test/r/ps_4heap.result b/mysql-test/r/ps_4heap.result index 0c643facf72..2c83916e952 100644 --- a/mysql-test/r/ps_4heap.result +++ b/mysql-test/r/ps_4heap.result @@ -1159,7 +1159,7 @@ def table 253 64 2 Y 0 31 8 def type 253 10 3 Y 0 31 8 def possible_keys 253 4096 0 Y 0 31 8 def key 253 64 0 Y 0 31 8 -def key_len 253 1365 0 Y 0 31 8 +def key_len 253 4096 0 Y 0 31 8 def ref 253 1024 0 Y 0 31 8 def rows 8 10 1 Y 32928 0 63 def Extra 253 255 0 N 1 31 8 diff --git a/mysql-test/r/ps_5merge.result b/mysql-test/r/ps_5merge.result index bd3cd4ac1fc..0348d100393 100644 --- a/mysql-test/r/ps_5merge.result +++ b/mysql-test/r/ps_5merge.result @@ -1201,7 +1201,7 @@ def table 253 64 2 Y 0 31 8 def type 253 10 3 Y 0 31 8 def possible_keys 253 4096 0 Y 0 31 8 def key 253 64 0 Y 0 31 8 -def key_len 253 1365 0 Y 0 31 8 +def key_len 253 4096 0 Y 0 31 8 def ref 253 1024 0 Y 0 31 8 def rows 8 10 1 Y 32928 0 63 def Extra 253 255 0 N 1 31 8 @@ -4222,7 +4222,7 @@ def table 253 64 2 Y 0 31 8 def type 253 10 3 Y 0 31 8 def possible_keys 253 4096 0 Y 0 31 8 def key 253 64 0 Y 0 31 8 -def key_len 253 1365 0 Y 0 31 8 +def key_len 253 4096 0 Y 0 31 8 def ref 253 1024 0 Y 0 31 8 def rows 8 10 1 Y 32928 0 63 def Extra 253 255 0 N 1 31 8 diff --git a/mysql-test/r/ps_ddl.result b/mysql-test/r/ps_ddl.result index a47c01cca17..c7e8812320c 100644 --- a/mysql-test/r/ps_ddl.result +++ b/mysql-test/r/ps_ddl.result @@ -290,7 +290,7 @@ SUCCESS # Test 7-b: dependent FUNCTION has changed # -# Note, this scenario is not supported, subject of Bug#12093 +# Note, this scenario is supported, subject of Bug#12093 # drop trigger t1_ai; create trigger t1_ai after insert on t1 for each row @@ -305,8 +305,7 @@ select @var; drop function f1; create function f1 (a int) returns int return 0; execute stmt using @var; -ERROR 42000: FUNCTION test.f1 does not exist -call p_verify_reprepare_count(0); +call p_verify_reprepare_count(1); SUCCESS drop function f1; @@ -359,8 +358,14 @@ a drop view v1; create view v1 as select a from t2; set @var=8; +# XXX: bug, the SQL statement in the trigger is still +# pointing at table 't3', since the view was expanded +# at first statement execution. +# Repreparation of the main statement doesn't cause repreparation +# of trigger statements. execute stmt using @var; -call p_verify_reprepare_count(0); +ERROR 42S02: Table 'test.t3' doesn't exist +call p_verify_reprepare_count(1); SUCCESS # @@ -377,7 +382,6 @@ select * from t3; a 6 7 -8 flush table t1; set @var=9; execute stmt using @var; @@ -392,7 +396,6 @@ select * from t3; a 6 7 -8 drop view v1; drop table t1,t2,t3; # Test 7-d: dependent TABLE has changed @@ -798,14 +801,17 @@ SUCCESS drop function f1; create function f1() returns int return 2; -# XXX: Bug#12093. We only get a different error +# XXX: Used to be another manifestation of Bug#12093. +# We only used to get a different error # message because the non-existing procedure error is masked # by the view. execute stmt; -ERROR HY000: View 'test.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them +f1() +2 execute stmt; -ERROR HY000: View 'test.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them -call p_verify_reprepare_count(0); +f1() +2 +call p_verify_reprepare_count(1); SUCCESS # Part 18b: dependent procedure has changed (referred to via a function) @@ -831,19 +837,20 @@ SUCCESS drop procedure p1; create procedure p1(out x int) select max(a) from t2 into x; -# XXX: bug. The prelocked list is not invalidated -# and we keep opening table t1, whereas the procedure +# XXX: used to be a bug. The prelocked list was not invalidated +# and we kept opening table t1, whereas the procedure # is now referring to table t2 execute stmt; -ERROR HY000: View 'test.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them -call p_verify_reprepare_count(0); +f1() +6 +call p_verify_reprepare_count(1); SUCCESS flush table t1; execute stmt; f1() 6 -call p_verify_reprepare_count(1); +call p_verify_reprepare_count(0); SUCCESS execute stmt; @@ -1528,7 +1535,6 @@ drop view v_27690_1; drop table v_27690_2; deallocate prepare stmt; #===================================================================== -# TODO: fix the below two bugs and modify their tests # # Bug#21294 Executing a prepared statement that executes # a stored function which was recreat @@ -1541,12 +1547,14 @@ f1() drop function f1; create function f1() returns int return 10; execute stmt; -ERROR 42000: FUNCTION test.f1 does not exist +f1() +10 drop function f1; create function f1() returns int return 20; execute stmt; -ERROR 42000: FUNCTION test.f1 does not exist -call p_verify_reprepare_count(0); +f1() +20 +call p_verify_reprepare_count(2); SUCCESS drop function f1; @@ -1559,11 +1567,13 @@ drop table if exists t_12093; drop function if exists f_12093; drop function if exists f_12093_unrelated; drop procedure if exists p_12093; +drop view if exists v_12093_unrelated; create table t_12093 (a int); create function f_12093() returns int return (select count(*) from t_12093); create procedure p_12093(a int) select * from t_12093; create function f_12093_unrelated() returns int return 2; create procedure p_12093_unrelated() begin end; +create view v_12093_unrelated as select * from t_12093; prepare stmt_sf from 'select f_12093();'; prepare stmt_sp from 'call p_12093(f_12093())'; execute stmt_sf; @@ -1572,20 +1582,65 @@ f_12093() execute stmt_sp; a drop function f_12093_unrelated; +# XXX: used to be a bug +execute stmt_sf; +f_12093() +0 +# XXX: used to be a bug +execute stmt_sp; +a +# XXX: used to be a bug +execute stmt_sf; +f_12093() +0 +# XXX: used to be a bug +execute stmt_sp; +a +prepare stmt_sf from 'select f_12093();'; +prepare stmt_sp from 'call p_12093(f_12093())'; +execute stmt_sf; +f_12093() +0 +execute stmt_sp; +a drop procedure p_12093_unrelated; -# XXX: bug +# XXX: used to be a bug execute stmt_sf; -ERROR 42000: FUNCTION test.f_12093 does not exist -# XXX: bug +f_12093() +0 +# XXX: used to be a bug execute stmt_sp; -ERROR 42000: PROCEDURE test.p_12093 does not exist -# XXX: bug +a +# XXX: used to be a bug execute stmt_sf; -ERROR 42000: FUNCTION test.f_12093 does not exist -# XXX: bug +f_12093() +0 +# XXX: used to be a bug execute stmt_sp; -ERROR 42000: PROCEDURE test.p_12093 does not exist -call p_verify_reprepare_count(0); +a +prepare stmt_sf from 'select f_12093();'; +prepare stmt_sp from 'call p_12093(f_12093())'; +execute stmt_sf; +f_12093() +0 +execute stmt_sp; +a +drop view v_12093_unrelated; +# XXX: used to be a bug +execute stmt_sf; +f_12093() +0 +# XXX: used to be a bug +execute stmt_sp; +a +# XXX: used to be a bug +execute stmt_sf; +f_12093() +0 +# XXX: used to be a bug +execute stmt_sp; +a +call p_verify_reprepare_count(6); SUCCESS drop table t_12093; diff --git a/mysql-test/r/ps_ddl1.result b/mysql-test/r/ps_ddl1.result index 87abcd90590..e41a72ceb96 100644 --- a/mysql-test/r/ps_ddl1.result +++ b/mysql-test/r/ps_ddl1.result @@ -460,7 +460,7 @@ create schema mysqltest; end| execute stmt; ERROR 42000: PROCEDURE test.p1 does not exist -call p_verify_reprepare_count(0); +call p_verify_reprepare_count(1); SUCCESS execute stmt; diff --git a/mysql-test/r/repair.result b/mysql-test/r/repair.result index dce37230d42..609733b2b02 100644 --- a/mysql-test/r/repair.result +++ b/mysql-test/r/repair.result @@ -130,7 +130,7 @@ test.t1 check error Table upgrade required. Please do "REPAIR TABLE `t1`" to fix # REPAIR old table USE_FRM should fail REPAIR TABLE t1 USE_FRM; Table Op Msg_type Msg_text -t1 repair error Failed reparing incompatible .FRM file +t1 repair error Failed repairing incompatible .frm file # Run REPAIR TABLE to upgrade .frm file REPAIR TABLE t1; Table Op Msg_type Msg_text diff --git a/mysql-test/r/show_check.result b/mysql-test/r/show_check.result index d1eb213670e..b9a5ddbf8ec 100644 --- a/mysql-test/r/show_check.result +++ b/mysql-test/r/show_check.result @@ -12,51 +12,51 @@ insert into t1 values (1,2,2),(2,2,3),(3,2,4),(4,2,4); -- after Bug#29394 is implemented. check table t1 fast; Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr -def Table 253 42 7 Y 0 31 8 -def Op 253 3 5 Y 0 31 8 -def Msg_type 253 3 6 Y 0 31 8 -def Msg_text 253 85 27 Y 0 31 8 +def Table 253 128 7 Y 0 31 8 +def Op 253 10 5 Y 0 31 8 +def Msg_type 253 10 6 Y 0 31 8 +def Msg_text 253 255 27 Y 0 31 8 Table Op Msg_type Msg_text test.t1 check status Table is already up to date check table t1 fast; Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr -def Table 253 42 7 Y 0 31 8 -def Op 253 3 5 Y 0 31 8 -def Msg_type 253 3 6 Y 0 31 8 -def Msg_text 253 85 27 Y 0 31 8 +def Table 253 128 7 Y 0 31 8 +def Op 253 10 5 Y 0 31 8 +def Msg_type 253 10 6 Y 0 31 8 +def Msg_text 253 255 27 Y 0 31 8 Table Op Msg_type Msg_text test.t1 check status Table is already up to date check table t1 changed; Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr -def Table 253 42 7 Y 0 31 8 -def Op 253 3 5 Y 0 31 8 -def Msg_type 253 3 6 Y 0 31 8 -def Msg_text 253 85 2 Y 0 31 8 +def Table 253 128 7 Y 0 31 8 +def Op 253 10 5 Y 0 31 8 +def Msg_type 253 10 6 Y 0 31 8 +def Msg_text 253 255 2 Y 0 31 8 Table Op Msg_type Msg_text test.t1 check status OK insert into t1 values (5,5,5); check table t1 changed; Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr -def Table 253 42 7 Y 0 31 8 -def Op 253 3 5 Y 0 31 8 -def Msg_type 253 3 6 Y 0 31 8 -def Msg_text 253 85 2 Y 0 31 8 +def Table 253 128 7 Y 0 31 8 +def Op 253 10 5 Y 0 31 8 +def Msg_type 253 10 6 Y 0 31 8 +def Msg_text 253 255 2 Y 0 31 8 Table Op Msg_type Msg_text test.t1 check status OK check table t1 medium; Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr -def Table 253 42 7 Y 0 31 8 -def Op 253 3 5 Y 0 31 8 -def Msg_type 253 3 6 Y 0 31 8 -def Msg_text 253 85 2 Y 0 31 8 +def Table 253 128 7 Y 0 31 8 +def Op 253 10 5 Y 0 31 8 +def Msg_type 253 10 6 Y 0 31 8 +def Msg_text 253 255 2 Y 0 31 8 Table Op Msg_type Msg_text test.t1 check status OK check table t1 extended; Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr -def Table 253 42 7 Y 0 31 8 -def Op 253 3 5 Y 0 31 8 -def Msg_type 253 3 6 Y 0 31 8 -def Msg_text 253 85 2 Y 0 31 8 +def Table 253 128 7 Y 0 31 8 +def Op 253 10 5 Y 0 31 8 +def Msg_type 253 10 6 Y 0 31 8 +def Msg_text 253 255 2 Y 0 31 8 Table Op Msg_type Msg_text test.t1 check status OK show index from t1; @@ -84,10 +84,10 @@ ERROR 23000: Duplicate entry '5' for key 'PRIMARY' -- after Bug#29394 is implemented. optimize table t1; Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr -def Table 253 42 7 Y 0 31 8 -def Op 253 3 8 Y 0 31 8 -def Msg_type 253 3 6 Y 0 31 8 -def Msg_text 253 85 2 Y 0 31 8 +def Table 253 128 7 Y 0 31 8 +def Op 253 10 8 Y 0 31 8 +def Msg_type 253 10 6 Y 0 31 8 +def Msg_text 253 255 2 Y 0 31 8 Table Op Msg_type Msg_text test.t1 optimize status OK optimize table t1; @@ -154,10 +154,10 @@ insert into t1 values (1,1,1,0),(1,1,2,0),(1,1,3,0),(1,2,1,0),(1,2,2,0),(1,2,3,0 -- after Bug#29394 is implemented. analyze table t1; Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr -def Table 253 42 7 Y 0 31 8 -def Op 253 3 7 Y 0 31 8 -def Msg_type 253 3 6 Y 0 31 8 -def Msg_text 253 85 2 Y 0 31 8 +def Table 253 128 7 Y 0 31 8 +def Op 253 10 7 Y 0 31 8 +def Msg_type 253 10 6 Y 0 31 8 +def Msg_text 253 255 2 Y 0 31 8 Table Op Msg_type Msg_text test.t1 analyze status OK show index from t1; @@ -171,10 +171,10 @@ t1 0 PRIMARY 4 f4 A 18 NULL NULL BTREE -- after Bug#29394 is implemented. repair table t1; Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr -def Table 253 42 7 Y 0 31 8 -def Op 253 3 6 Y 0 31 8 -def Msg_type 253 3 6 Y 0 31 8 -def Msg_text 253 85 2 Y 0 31 8 +def Table 253 128 7 Y 0 31 8 +def Op 253 10 6 Y 0 31 8 +def Msg_type 253 10 6 Y 0 31 8 +def Msg_text 253 255 2 Y 0 31 8 Table Op Msg_type Msg_text test.t1 repair status OK show index from t1; @@ -878,8 +878,8 @@ latin1_bin latin1 47 Yes 1 ---------------------------------------------------------------- SHOW CREATE DATABASE mysqltest1; Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr -def Database 253 63 10 N 1 31 33 -def Create Database 253 1023 69 N 1 31 33 +def Database 253 192 10 N 1 31 33 +def Create Database 253 3072 69 N 1 31 33 Database Create Database mysqltest1 CREATE DATABASE `mysqltest1` /*!40100 DEFAULT CHARACTER SET latin1 */ ---------------------------------------------------------------- @@ -891,8 +891,8 @@ mysqltest1 ---------------------------------------------------------------- SHOW CREATE TABLE t1; Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr -def Table 253 63 2 N 1 31 33 -def Create Table 253 1023 102 N 1 31 33 +def Table 253 192 2 N 1 31 33 +def Create Table 253 3072 102 N 1 31 33 Table Create Table t1 CREATE TABLE `t1` ( `c` int(11) NOT NULL, @@ -1001,8 +1001,8 @@ def TRIGGERS EVENT_OBJECT_TABLE Table 253 192 2 N 1 0 33 def TRIGGERS ACTION_STATEMENT Statement 252 589815 10 N 17 0 33 def TRIGGERS ACTION_TIMING Timing 253 18 6 N 1 0 33 def TRIGGERS CREATED Created 12 19 0 Y 128 0 63 -def TRIGGERS SQL_MODE sql_mode 252 589815 0 N 17 0 33 -def TRIGGERS DEFINER Definer 252 589815 14 N 17 0 33 +def TRIGGERS SQL_MODE sql_mode 253 24576 0 N 1 0 33 +def TRIGGERS DEFINER Definer 253 231 14 N 1 0 33 def TRIGGERS CHARACTER_SET_CLIENT character_set_client 253 96 6 N 1 0 33 def TRIGGERS COLLATION_CONNECTION collation_connection 253 96 6 N 1 0 33 def TRIGGERS DATABASE_COLLATION Database Collation 253 96 17 N 1 0 33 @@ -1045,17 +1045,17 @@ def TRIGGERS ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_OLD_TABLE 253 192 0 Y def TRIGGERS ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_NEW_TABLE 253 192 0 Y 0 0 33 def TRIGGERS ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_OLD_ROW 253 9 3 N 1 0 33 def TRIGGERS ACTION_REFERENCE_NEW_ROW ACTION_REFERENCE_NEW_ROW 253 9 3 N 1 0 33 -def TRIGGERS SQL_MODE SQL_MODE 252 589815 0 N 17 0 33 -def TRIGGERS DEFINER DEFINER 252 589815 14 N 17 0 33 +def TRIGGERS SQL_MODE SQL_MODE 253 24576 0 N 1 0 33 +def TRIGGERS DEFINER DEFINER 253 231 14 N 1 0 33 TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW SQL_MODE DEFINER NULL test t1_bi INSERT NULL test t1 NULL SET @a = 1 ROW BEFORE NULL NULL OLD NEW root@localhost ---------------------------------------------------------------- SHOW CREATE VIEW v1; Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr -def View 253 63 2 N 1 31 33 -def Create View 253 1023 103 N 1 31 33 -def character_set_client 253 30 6 N 1 31 33 -def collation_connection 253 30 6 N 1 31 33 +def View 253 192 2 N 1 31 33 +def Create View 253 3072 103 N 1 31 33 +def character_set_client 253 96 6 N 1 31 33 +def collation_connection 253 96 6 N 1 31 33 View Create View character_set_client collation_connection v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select 1 AS `1` binary binary ---------------------------------------------------------------- @@ -1078,12 +1078,12 @@ NULL test v1 select 1 AS `1` NONE NO root@localhost DEFINER binary binary ---------------------------------------------------------------- SHOW CREATE PROCEDURE p1; Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr -def Procedure 253 63 2 N 1 31 33 +def Procedure 253 192 2 N 1 31 33 def sql_mode 253 0 0 N 1 31 33 -def Create Procedure 253 1023 59 Y 0 31 33 -def character_set_client 253 30 6 N 1 31 33 -def collation_connection 253 30 6 N 1 31 33 -def Database Collation 253 30 17 N 1 31 33 +def Create Procedure 253 3072 59 Y 0 31 33 +def character_set_client 253 96 6 N 1 31 33 +def collation_connection 253 96 6 N 1 31 33 +def Database Collation 253 96 17 N 1 31 33 Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation p1 CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`() SELECT 1 binary binary latin1_swedish_ci @@ -1133,12 +1133,12 @@ p1 NULL test p1 PROCEDURE NULL SQL SELECT 1 NULL NULL SQL NO CONTAINS SQL NULL D ---------------------------------------------------------------- SHOW CREATE FUNCTION f1; Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr -def Function 253 63 2 N 1 31 33 +def Function 253 192 2 N 1 31 33 def sql_mode 253 0 0 N 1 31 33 -def Create Function 253 1023 74 Y 0 31 33 -def character_set_client 253 30 6 N 1 31 33 -def collation_connection 253 30 6 N 1 31 33 -def Database Collation 253 30 17 N 1 31 33 +def Create Function 253 3072 74 Y 0 31 33 +def character_set_client 253 96 6 N 1 31 33 +def collation_connection 253 96 6 N 1 31 33 +def Database Collation 253 96 17 N 1 31 33 Function sql_mode Create Function character_set_client collation_connection Database Collation f1 CREATE DEFINER=`root`@`localhost` FUNCTION `f1`() RETURNS int(11) RETURN 1 binary binary latin1_swedish_ci @@ -1244,6 +1244,36 @@ Slow_queries 2 show variables like 'myisam_recover_options'; Variable_name Value myisam_recover_options OFF +CREATE TABLE t1 ( +Codigo int(10) unsigned NOT NULL auto_increment, +Nombre varchar(255) default NULL, +Telefono varchar(255) default NULL, +Observaciones longtext, +Direccion varchar(255) default NULL, +Dni varchar(255) default NULL, +CP int(11) default NULL, +Provincia varchar(255) default NULL, +Poblacion varchar(255) default NULL, +PRIMARY KEY (Codigo) +) ENGINE=MyISAM AUTO_INCREMENT=11 DEFAULT CHARSET=utf8; +show create table t1; +Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr +def Table 253 64 2 N 1 31 7 +def Create Table 253 1024 445 N 1 31 7 +Table Create Table +t1 CREATE TABLE `t1` ( + `Codigo` int(10) unsigned NOT NULL AUTO_INCREMENT, + `Nombre` varchar(255) DEFAULT NULL, + `Telefono` varchar(255) DEFAULT NULL, + `Observaciones` longtext, + `Direccion` varchar(255) DEFAULT NULL, + `Dni` varchar(255) DEFAULT NULL, + `CP` int(11) DEFAULT NULL, + `Provincia` varchar(255) DEFAULT NULL, + `Poblacion` varchar(255) DEFAULT NULL, + PRIMARY KEY (`Codigo`) +) ENGINE=MyISAM AUTO_INCREMENT=11 DEFAULT CHARSET=utf8 +drop table t1; End of 5.0 tests SHOW AUTHORS; create database mysqltest; diff --git a/mysql-test/r/skip_log_bin.result b/mysql-test/r/skip_log_bin.result new file mode 100644 index 00000000000..2fdd88ff526 --- /dev/null +++ b/mysql-test/r/skip_log_bin.result @@ -0,0 +1,6 @@ +DROP TABLE IF EXISTS t1, t2; +set @@session.binlog_format=row; +create table t1 (a int); +insert into t1 values (1); +create table t2 select * from t1; +drop table t1, t2; diff --git a/mysql-test/r/slow_launch_time_func.result b/mysql-test/r/slow_launch_time_func.result index 766d7fb4dd9..7665166ff29 100644 --- a/mysql-test/r/slow_launch_time_func.result +++ b/mysql-test/r/slow_launch_time_func.result @@ -1,37 +1,17 @@ SET @global_slow_launch_time = @@GLOBAL.slow_launch_time; -'#--------------------FN_DYNVARS_124_01-------------------------#' ** Connection default ** +'#--------------------FN_DYNVARS_124_01-------------------------#' SET @@GLOBAL.slow_launch_time=0; SELECT @@GLOBAL.slow_launch_time; @@GLOBAL.slow_launch_time 0 -** Connecting conn5 using username 'root' ** -** Connecting conn6 using username 'root' ** -** Connecting conn7 using username 'root' ** -** Connecting conn8 using username 'root' ** -** Connecting conn9 using username 'root' ** -** Connecting conn10 using username 'root' ** -** Connecting conn11 using username 'root' ** -** Connecting conn12 using username 'root' ** -** Connecting conn13 using username 'root' ** -** Connecting conn14 using username 'root' ** -** Connecting conn15 using username 'root' ** -** Connecting conn16 using username 'root' ** -show status like 'slow_launch_threads'; -Variable_name Value -Slow_launch_threads 12 -12 Expected -** Connection default ** -** Disconnecting conn5 ** -** Disconnecting conn6 ** -** Disconnecting conn7 ** -** Disconnecting conn8 ** -** Disconnecting conn9 ** -** Disconnecting conn10 ** -** Disconnecting conn11 ** -** Disconnecting conn12 ** -** Disconnecting conn13 ** -** Disconnecting conn14 ** -** Disconnecting conn15 ** -** Disconnecting conn16 ** +** Connecting conn1 using username 'root' ** +** Switch to connection default and disconnect conn1 ** +'#--------------------FN_DYNVARS_124_02-------------------------#' +SET @@GLOBAL.slow_launch_time= 1000; +SELECT @@GLOBAL.slow_launch_time; +@@GLOBAL.slow_launch_time +1000 +** Connecting conn2 using username 'root' ** +** Switch to connection default and disconnect conn2 ** SET @@GLOBAL.slow_launch_time = @global_slow_launch_time; diff --git a/mysql-test/r/sp-error.result b/mysql-test/r/sp-error.result index 5ac61821cea..2f8f71077a6 100644 --- a/mysql-test/r/sp-error.result +++ b/mysql-test/r/sp-error.result @@ -796,7 +796,7 @@ bug11834_2() 10 drop function bug11834_1; execute stmt; -ERROR 42000: FUNCTION test.bug11834_2 does not exist +ERROR 42000: FUNCTION test.bug11834_1 does not exist deallocate prepare stmt; drop function bug11834_2; DROP FUNCTION IF EXISTS bug12953| @@ -1045,7 +1045,8 @@ select bug12329(); bug12329() 101 execute stmt1; -ERROR 42S02: Table 'test.t2' doesn't exist +bug12329() +101 deallocate prepare stmt1; drop function bug12329; drop table t1, t2; @@ -1627,6 +1628,13 @@ end loop label1; end loop; end| ERROR 42000: End-label label1 without match +CREATE TABLE t1 (a INT)| +INSERT INTO t1 VALUES (1),(2)| +CREATE PROCEDURE p1(a INT) BEGIN END| +CALL p1((SELECT * FROM t1))| +ERROR 21000: Subquery returns more than 1 row +DROP PROCEDURE IF EXISTS p1| +DROP TABLE t1| drop procedure if exists p1; create procedure p1() begin diff --git a/mysql-test/r/sp.result b/mysql-test/r/sp.result index 233b122c796..651f0b235d5 100644 --- a/mysql-test/r/sp.result +++ b/mysql-test/r/sp.result @@ -6820,6 +6820,32 @@ ttt 2 drop function func30787; drop table t1; +create table t1(c1 INT); +create function f1(p1 int) returns varchar(32) +return 'aaa'; +create view v1 as select f1(c1) as parent_control_name from t1; +create procedure p1() +begin +select parent_control_name as c1 from v1; +end // +call p1(); +c1 +call p1(); +c1 +drop procedure p1; +drop function f1; +drop view v1; +drop table t1; +drop procedure if exists `p2` $ +create procedure `p2`(in `a` text charset utf8) +begin +declare `pos` int default 1; +declare `str` text charset utf8; +set `str` := `a`; +select substr(`str`, `pos`+ 1 ) into `str`; +end $ +call `p2`('s s s s s s'); +drop procedure `p2`; # ------------------------------------------------------------------ # -- End of 5.0 tests # ------------------------------------------------------------------ diff --git a/mysql-test/r/ssl_capath_basic.result b/mysql-test/r/ssl_capath_basic.result index a2c01aab806..3d161392917 100644 --- a/mysql-test/r/ssl_capath_basic.result +++ b/mysql-test/r/ssl_capath_basic.result @@ -1,7 +1,7 @@ '#---------------------BS_STVARS_046_01----------------------#' SELECT COUNT(@@GLOBAL.ssl_capath); COUNT(@@GLOBAL.ssl_capath) -0 +1 1 Expected '#---------------------BS_STVARS_046_02----------------------#' SET @@GLOBAL.ssl_capath=1; @@ -9,7 +9,7 @@ ERROR HY000: Variable 'ssl_capath' is a read only variable Expected error 'Read only variable' SELECT COUNT(@@GLOBAL.ssl_capath); COUNT(@@GLOBAL.ssl_capath) -0 +1 1 Expected '#---------------------BS_STVARS_046_03----------------------#' SELECT @@GLOBAL.ssl_capath = VARIABLE_VALUE @@ -20,7 +20,7 @@ NULL 1 Expected SELECT COUNT(@@GLOBAL.ssl_capath); COUNT(@@GLOBAL.ssl_capath) -0 +1 1 Expected SELECT COUNT(VARIABLE_VALUE) FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES @@ -36,7 +36,7 @@ NULL '#---------------------BS_STVARS_046_05----------------------#' SELECT COUNT(@@ssl_capath); COUNT(@@ssl_capath) -0 +1 1 Expected SELECT COUNT(@@local.ssl_capath); ERROR HY000: Variable 'ssl_capath' is a GLOBAL variable @@ -46,7 +46,7 @@ ERROR HY000: Variable 'ssl_capath' is a GLOBAL variable Expected error 'Variable is a GLOBAL variable' SELECT COUNT(@@GLOBAL.ssl_capath); COUNT(@@GLOBAL.ssl_capath) -0 +1 1 Expected SELECT ssl_capath = @@SESSION.ssl_capath; ERROR 42S22: Unknown column 'ssl_capath' in 'field list' diff --git a/mysql-test/r/ssl_cipher_basic.result b/mysql-test/r/ssl_cipher_basic.result index 3c7098e1150..df0fc8b5aad 100644 --- a/mysql-test/r/ssl_cipher_basic.result +++ b/mysql-test/r/ssl_cipher_basic.result @@ -1,7 +1,7 @@ '#---------------------BS_STVARS_048_01----------------------#' SELECT COUNT(@@GLOBAL.ssl_cipher); COUNT(@@GLOBAL.ssl_cipher) -0 +1 1 Expected '#---------------------BS_STVARS_048_02----------------------#' SET @@GLOBAL.ssl_cipher=1; @@ -9,7 +9,7 @@ ERROR HY000: Variable 'ssl_cipher' is a read only variable Expected error 'Read only variable' SELECT COUNT(@@GLOBAL.ssl_cipher); COUNT(@@GLOBAL.ssl_cipher) -0 +1 1 Expected '#---------------------BS_STVARS_048_03----------------------#' SELECT @@GLOBAL.ssl_cipher = VARIABLE_VALUE @@ -20,7 +20,7 @@ NULL 1 Expected SELECT COUNT(@@GLOBAL.ssl_cipher); COUNT(@@GLOBAL.ssl_cipher) -0 +1 1 Expected SELECT COUNT(VARIABLE_VALUE) FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES @@ -36,7 +36,7 @@ NULL '#---------------------BS_STVARS_048_05----------------------#' SELECT COUNT(@@ssl_cipher); COUNT(@@ssl_cipher) -0 +1 1 Expected SELECT COUNT(@@local.ssl_cipher); ERROR HY000: Variable 'ssl_cipher' is a GLOBAL variable @@ -46,7 +46,7 @@ ERROR HY000: Variable 'ssl_cipher' is a GLOBAL variable Expected error 'Variable is a GLOBAL variable' SELECT COUNT(@@GLOBAL.ssl_cipher); COUNT(@@GLOBAL.ssl_cipher) -0 +1 1 Expected SELECT ssl_cipher = @@SESSION.ssl_cipher; ERROR 42S22: Unknown column 'ssl_cipher' in 'field list' diff --git a/mysql-test/r/status.result b/mysql-test/r/status.result index b6f855d96cb..1e758ce68c7 100644 --- a/mysql-test/r/status.result +++ b/mysql-test/r/status.result @@ -1,3 +1,5 @@ +set @old_concurrent_insert= @@global.concurrent_insert; +set @@global.concurrent_insert= 0; flush status; show status like 'Table_lock%'; Variable_name Value @@ -7,22 +9,31 @@ select * from information_schema.session_status where variable_name like 'Table_ VARIABLE_NAME VARIABLE_VALUE TABLE_LOCKS_IMMEDIATE 2 TABLE_LOCKS_WAITED 0 -SET SQL_LOG_BIN=0; +# Switched to connection: con1 +set sql_log_bin=0; set @old_general_log = @@global.general_log; set global general_log = 'OFF'; drop table if exists t1; create table t1(n int) engine=myisam; insert into t1 values(1); +select 1; +1 +1 +# Switched to connection: con2 lock tables t1 read; unlock tables; lock tables t1 read; +# Switched to connection: con1 update t1 set n = 3; +# Switched to connection: con2 unlock tables; +# Switched to connection: con1 show status like 'Table_locks_waited'; Variable_name Value Table_locks_waited 1 drop table t1; set global general_log = @old_general_log; +# Switched to connection: default select 1; 1 1 @@ -180,3 +191,22 @@ Variable_name Value Com_alter_function 0 Com_create_function 1 Com_drop_function 1 +create database db37908; +create table db37908.t1(f1 int); +insert into db37908.t1 values(1); +grant usage,execute on test.* to mysqltest_1@localhost; +create procedure proc37908() begin select 1; end | +create function func37908() returns int sql security invoker +return (select * from db37908.t1 limit 1)| +select * from db37908.t1; +ERROR 42000: SELECT command denied to user 'mysqltest_1'@'localhost' for table 't1' +show status where variable_name ='uptime' and 2 in (select * from db37908.t1); +ERROR 42000: SELECT command denied to user 'mysqltest_1'@'localhost' for table 't1' +show procedure status where name ='proc37908' and 1 in (select f1 from db37908.t1); +ERROR 42000: SELECT command denied to user 'mysqltest_1'@'localhost' for table 't1' +show function status where name ='func37908' and 1 in (select func37908()); +ERROR 42000: SELECT command denied to user 'mysqltest_1'@'localhost' for table 't1' +drop database db37908; +drop procedure proc37908; +drop function func37908; +set @@global.concurrent_insert= @old_concurrent_insert; diff --git a/mysql-test/r/subselect.result b/mysql-test/r/subselect.result index ce4ac00b791..5f84259ac29 100644 --- a/mysql-test/r/subselect.result +++ b/mysql-test/r/subselect.result @@ -4391,3 +4391,61 @@ SELECT * FROM t1 WHERE _utf8'a' = ANY (SELECT s1 FROM t1); s1 a DROP TABLE t1; +CREATE TABLE t1(c int, KEY(c)); +CREATE TABLE t2(a int, b int); +INSERT INTO t2 VALUES (1, 10), (2, NULL); +INSERT INTO t1 VALUES (1), (3); +SELECT * FROM t2 WHERE b NOT IN (SELECT max(t.c) FROM t1, t1 t WHERE t.c>10); +a b +DROP TABLE t1,t2; +CREATE TABLE t1(pk int PRIMARY KEY, a int, INDEX idx(a)); +INSERT INTO t1 VALUES (1, 10), (3, 30), (2, 20); +CREATE TABLE t2(pk int PRIMARY KEY, a int, b int, INDEX idxa(a)); +INSERT INTO t2 VALUES (2, 20, 700), (1, 10, 200), (4, 10, 100); +SELECT * FROM t1 +WHERE EXISTS (SELECT DISTINCT a FROM t2 WHERE t1.a < t2.a ORDER BY b); +pk a +1 10 +3 30 +2 20 +DROP TABLE t1,t2; +CREATE TABLE t1 (a int, b int, PRIMARY KEY (a), KEY b (b)); +INSERT INTO t1 VALUES (1,NULL), (9,NULL); +CREATE TABLE t2 ( +a int, +b int, +c int, +d int, +PRIMARY KEY (a), +UNIQUE KEY b (b,c,d), +KEY b_2 (b), +KEY c (c), +KEY d (d) +); +INSERT INTO t2 VALUES +(43, 2, 11 ,30), +(44, 2, 12 ,30), +(45, 1, 1 ,10000), +(46, 1, 2 ,10000), +(556,1, 32 ,10000); +CREATE TABLE t3 ( +a int, +b int, +c int, +PRIMARY KEY (a), +UNIQUE KEY b (b,c), +KEY c (c), +KEY b_2 (b) +); +INSERT INTO t3 VALUES (1,1,1), (2,32,1); +explain +SELECT t1.a, (SELECT 1 FROM t2 WHERE t2.b=t3.c AND t2.c=t1.a ORDER BY t2.d LIMIT 1) AS incorrect FROM t1, t3 WHERE t3.b=t1.a; +id select_type table type possible_keys key key_len ref rows Extra +1 PRIMARY t3 index b,b_2 b 10 NULL 2 Using index +1 PRIMARY t1 eq_ref PRIMARY PRIMARY 4 test.t3.b 1 Using index +2 DEPENDENT SUBQUERY t2 index b,b_2,c d 5 NULL 1 Using where +SELECT t1.a, (SELECT 1 FROM t2 WHERE t2.b=t3.c AND t2.c=t1.a ORDER BY t2.d LIMIT 1) AS incorrect FROM t1, t3 WHERE t3.b=t1.a; +a incorrect +1 1 +DROP TABLE t1,t2,t3; +End of 5.1 tests. diff --git a/mysql-test/r/subselect3.result b/mysql-test/r/subselect3.result index 5f8aa2f1767..b15ec9dbe4e 100644 --- a/mysql-test/r/subselect3.result +++ b/mysql-test/r/subselect3.result @@ -1,4 +1,4 @@ -drop table if exists t0, t1, t2, t3, t4; +drop table if exists t0, t1, t2, t3, t4, t5; create table t1 (oref int, grp int, ie int) ; insert into t1 (oref, grp, ie) values (1, 1, 1), @@ -779,4 +779,46 @@ SELECT 1 FROM t1 WHERE t1.a NOT IN (SELECT 1 FROM t1, t2 WHERE 0); 1 1 DROP TABLE t1, t2; +CREATE TABLE t1 ( +pk INT PRIMARY KEY, +int_key INT, +varchar_key VARCHAR(5) UNIQUE, +varchar_nokey VARCHAR(5) +); +INSERT INTO t1 VALUES (9, 7,NULL,NULL), (10,8,'p' ,'p'); +SELECT varchar_nokey +FROM t1 +WHERE NULL NOT IN ( +SELECT INNR.pk FROM t1 AS INNR2 +LEFT JOIN t1 AS INNR ON ( INNR2.int_key = INNR.int_key ) +WHERE INNR.varchar_key > 'n{' +); +varchar_nokey +DROP TABLE t1; End of 5.0 tests +create table t0 (a int); +insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9); +create table t1 ( +a int(11) default null, +b int(11) default null, +key (a) +); +insert into t1 select A.a+10*(B.a+10*C.a),A.a+10*(B.a+10*C.a) from t0 A, t0 B, t0 C; +create table t2 (a int(11) default null); +insert into t2 values (0),(1); +create table t3 (a int(11) default null); +insert into t3 values (0),(1); +create table t4 (a int(11) default null); +insert into t4 values (0),(1); +create table t5 (a int(11) default null); +insert into t5 values (0),(1),(0),(1); +select * from t2, t3 +where +t2.a < 10 and +t3.a+1 = 2 and +t3.a in (select t1.b from t1 +where t1.a+1=t1.a+1 and +t1.a < (select t4.a+10 +from t4, t5 limit 2)); +ERROR 21000: Subquery returns more than 1 row +drop table t0, t1, t2, t3, t4, t5; diff --git a/mysql-test/r/subselect_debug.result b/mysql-test/r/subselect_debug.result new file mode 100644 index 00000000000..9ba552bbdf7 --- /dev/null +++ b/mysql-test/r/subselect_debug.result @@ -0,0 +1,12 @@ +CREATE TABLE t1(id INT); +INSERT INTO t1 VALUES (1),(2),(3),(4); +INSERT INTO t1 SELECT a.id FROM t1 a,t1 b,t1 c,t1 d; +SET SESSION debug="d,subselect_exec_fail"; +SELECT SUM(EXISTS(SELECT RAND() FROM t1)) FROM t1; +SUM(EXISTS(SELECT RAND() FROM t1)) +0 +SELECT REVERSE(EXISTS(SELECT RAND() FROM t1)); +REVERSE(EXISTS(SELECT RAND() FROM t1)) +0 +SET SESSION debug=DEFAULT; +DROP TABLE t1; diff --git a/mysql-test/r/symlink.result b/mysql-test/r/symlink.result index bda0d7d1451..df4aa343f1f 100644 --- a/mysql-test/r/symlink.result +++ b/mysql-test/r/symlink.result @@ -55,13 +55,9 @@ t9 CREATE TABLE `t9` ( `d` int(11) NOT NULL, PRIMARY KEY (`a`) ) ENGINE=MyISAM AUTO_INCREMENT=16725 DEFAULT CHARSET=latin1 DATA DIRECTORY='MYSQLTEST_VARDIR/tmp/' INDEX DIRECTORY='MYSQLTEST_VARDIR/run/' -create table t1 (a int not null auto_increment, b char(16) not null, primary key (a)) engine=myisam data directory="tmp"; -Got one of the listed errors create database mysqltest; create table mysqltest.t9 (a int not null auto_increment, b char(16) not null, primary key (a)) engine=myisam index directory="/this-dir-does-not-exist"; Got one of the listed errors -create table mysqltest.t9 (a int not null auto_increment, b char(16) not null, primary key (a)) engine=myisam index directory="not-hard-path"; -Got one of the listed errors create table mysqltest.t9 (a int not null auto_increment, b char(16) not null, primary key (a)) engine=myisam index directory="MYSQLTEST_VARDIR/run"; Got one of the listed errors create table mysqltest.t9 (a int not null auto_increment, b char(16) not null, primary key (a)) engine=myisam data directory="MYSQLTEST_VARDIR/tmp"; @@ -83,7 +79,7 @@ drop database mysqltest; create table t1 (a int not null) engine=myisam; alter table t1 data directory="MYSQLTEST_VARDIR/tmp"; Warnings: -Warning 0 DATA DIRECTORY option ignored +Warning 1616 option ignored show create table t1; Table Create Table t1 CREATE TABLE `t1` ( @@ -92,7 +88,7 @@ t1 CREATE TABLE `t1` ( alter table t1 add b int; alter table t1 data directory="MYSQLTEST_VARDIR/log"; Warnings: -Warning 0 DATA DIRECTORY option ignored +Warning 1616 option ignored show create table t1; Table Create Table t1 CREATE TABLE `t1` ( @@ -101,7 +97,7 @@ t1 CREATE TABLE `t1` ( ) ENGINE=MyISAM DEFAULT CHARSET=latin1 alter table t1 index directory="MYSQLTEST_VARDIR/log"; Warnings: -Warning 0 INDEX DIRECTORY option ignored +Warning 1616 option ignored show create table t1; Table Create Table t1 CREATE TABLE `t1` ( @@ -168,8 +164,8 @@ ERROR HY000: Can't create/write to file 'TEST_DIR/master-data_var/t1.MYI' (Errco SET @OLD_SQL_MODE=@@SQL_MODE, @@SQL_MODE='NO_DIR_IN_CREATE'; CREATE TABLE t1(a INT) DATA DIRECTORY='MYSQLTEST_VARDIR/tmp' INDEX DIRECTORY='MYSQLTEST_VARDIR/tmp'; Warnings: -Warning 0 DATA DIRECTORY option ignored -Warning 0 INDEX DIRECTORY option ignored +Warning 1616 option ignored +Warning 1616 option ignored DROP TABLE t1; SET @@SQL_MODE=@OLD_SQL_MODE; End of 5.1 tests diff --git a/mysql-test/r/trigger-trans.result b/mysql-test/r/trigger-trans.result index dccaa27c5fd..2c4e355af9d 100644 --- a/mysql-test/r/trigger-trans.result +++ b/mysql-test/r/trigger-trans.result @@ -19,6 +19,7 @@ a b THE LION 13 optimize table t1; Table Op Msg_type Msg_text +test.t1 optimize note Table does not support optimize, doing recreate + analyze instead test.t1 optimize status OK select trigger_schema, trigger_name, event_object_schema, event_object_table, action_statement from information_schema.triggers @@ -160,3 +161,32 @@ SELECT @a, @b; 1 1 DROP TABLE t2, t1; End of 5.0 tests +BUG#31612 +Trigger fired multiple times leads to gaps in auto_increment sequence +create table t1 (a int, val char(1)) engine=InnoDB; +create table t2 (b int auto_increment primary key, +val char(1)) engine=InnoDB; +create trigger t1_after_insert after +insert on t1 for each row insert into t2 set val=NEW.val; +insert into t1 values ( 123, 'a'), ( 123, 'b'), ( 123, 'c'), +(123, 'd'), (123, 'e'), (123, 'f'), (123, 'g'); +insert into t1 values ( 654, 'a'), ( 654, 'b'), ( 654, 'c'), +(654, 'd'), (654, 'e'), (654, 'f'), (654, 'g'); +select * from t2 order by b; +b val +1 a +2 b +3 c +4 d +5 e +6 f +7 g +8 a +9 b +10 c +11 d +12 e +13 f +14 g +drop trigger t1_after_insert; +drop table t1,t2; diff --git a/mysql-test/r/tx_isolation_func.result b/mysql-test/r/tx_isolation_func.result index 8b763edd70c..2242525f14b 100644 --- a/mysql-test/r/tx_isolation_func.result +++ b/mysql-test/r/tx_isolation_func.result @@ -21,8 +21,10 @@ INSERT INTO t1 VALUES(24, 24); '#----------------------------FN_DYNVARS_184_01--------------------------------------#' ** Connection con0 ** SET SESSION tx_isolation = 'READ-UNCOMMITTED'; +set binlog_format=mixed; ** Connection con1 ** SET SESSION tx_isolation = 'READ-UNCOMMITTED'; +set binlog_format=mixed; ** Connection con0 ** START TRANSACTION; SELECT * FROM t1 WHERE a IN (2,4,6,8) FOR UPDATE; diff --git a/mysql-test/r/type_bit.result b/mysql-test/r/type_bit.result index fee0df9ab02..782cddaeff7 100644 --- a/mysql-test/r/type_bit.result +++ b/mysql-test/r/type_bit.result @@ -684,6 +684,30 @@ SELECT 1 FROM t1 GROUP BY a; 1 1 DROP TABLE t1; +CREATE TABLE t1 (b BIT NOT NULL, i2 INTEGER NOT NULL, s VARCHAR(255) NOT NULL); +INSERT INTO t1 VALUES(0x01,100,''), (0x00,300,''), (0x01,200,''), (0x00,100,''); +SELECT HEX(b), i2 FROM t1 WHERE (i2>=100 AND i2<201) AND b=TRUE; +HEX(b) i2 +1 100 +1 200 +CREATE TABLE t2 (b1 BIT NOT NULL, b2 BIT NOT NULL, i2 INTEGER NOT NULL, +s VARCHAR(255) NOT NULL); +INSERT INTO t2 VALUES (0x01,0x00,100,''), (0x00,0x01,300,''), +(0x01,0x00,200,''), (0x00,0x01,100,''); +SELECT HEX(b1), i2 FROM t2 WHERE (i2>=100 AND i2<201) AND b1=TRUE; +HEX(b1) i2 +1 100 +1 200 +SELECT HEX(b2), i2 FROM t2 WHERE (i2>=100 AND i2<201) AND b2=FALSE; +HEX(b2) i2 +0 100 +0 200 +SELECT HEX(b1), HEX(b2), i2 FROM t2 +WHERE (i2>=100 AND i2<201) AND b1=TRUE AND b2=FALSE; +HEX(b1) HEX(b2) i2 +1 0 100 +1 0 200 +DROP TABLE t1, t2; End of 5.0 tests create table t1(a bit(7)); insert into t1 values(0x40); diff --git a/mysql-test/r/type_datetime.result b/mysql-test/r/type_datetime.result index d485c468a39..6a692ed58e4 100644 --- a/mysql-test/r/type_datetime.result +++ b/mysql-test/r/type_datetime.result @@ -560,6 +560,29 @@ select * from t2 where id in (select id from t2 as x1 where (t2.cur_date is null)); id cur_date drop table t1,t2; +SELECT +CAST('NULL' AS DATE) <=> CAST('2008-01-01' AS DATE) n1, +CAST('2008-01-01' AS DATE) <=> CAST('NULL' AS DATE) n2, +CAST('NULL' AS DATE) <=> CAST('NULL' AS DATE) n3, +CAST('NULL' AS DATE) <> CAST('2008-01-01' AS DATE) n4, +CAST('2008-01-01' AS DATE) <> CAST('NULL' AS DATE) n5, +CAST('NULL' AS DATE) <> CAST('NULL' AS DATE) n6, +CAST('NULL' AS DATE) < CAST('2008-01-01' AS DATE) n7, +CAST('2008-01-01' AS DATE) < CAST('NULL' AS DATE) n8, +CAST('NULL' AS DATE) < CAST('NULL' AS DATE) n9; +n1 n2 n3 n4 n5 n6 n7 n8 n9 +0 0 1 NULL NULL NULL NULL NULL NULL +Warnings: +Warning 1292 Incorrect datetime value: 'NULL' +Warning 1292 Incorrect datetime value: 'NULL' +Warning 1292 Incorrect datetime value: 'NULL' +Warning 1292 Incorrect datetime value: 'NULL' +Warning 1292 Incorrect datetime value: 'NULL' +Warning 1292 Incorrect datetime value: 'NULL' +Warning 1292 Incorrect datetime value: 'NULL' +Warning 1292 Incorrect datetime value: 'NULL' +Warning 1292 Incorrect datetime value: 'NULL' +Warning 1292 Incorrect datetime value: 'NULL' End of 5.0 tests set @org_mode=@@sql_mode; create table t1 (da date default '1962-03-03 23:33:34', dt datetime default '1962-03-03'); diff --git a/mysql-test/r/type_newdecimal.result b/mysql-test/r/type_newdecimal.result index 71be41b106f..37b77dc4dc8 100644 --- a/mysql-test/r/type_newdecimal.result +++ b/mysql-test/r/type_newdecimal.result @@ -1529,6 +1529,11 @@ SELECT f1 FROM t1; f1 99999999999999999999999999999.999999999999999999999999999999 DROP TABLE t1; +select (1.20396873 * 0.89550000 * 0.68000000 * 1.08721696 * 0.99500000 * +1.01500000 * 1.01500000 * 0.99500000); +(1.20396873 * 0.89550000 * 0.68000000 * 1.08721696 * 0.99500000 * +1.01500000 * 1.01500000 * 0.99500000) +0.812988073953673124592306939480 End of 5.0 tests select cast(143.481 as decimal(4,1)); cast(143.481 as decimal(4,1)) diff --git a/mysql-test/r/type_set.result b/mysql-test/r/type_set.result index e36f21f2996..09531ec60d5 100644 --- a/mysql-test/r/type_set.result +++ b/mysql-test/r/type_set.result @@ -93,4 +93,14 @@ c 1,2,3 64 DROP TABLE t1; +CREATE TABLE t1 ( +set_unique_utf8 set ('a','b','c','d','e','f','g','h','i','j','k','l', +'m','n','o','p','q','r','s','t','u','v','w','x', +'y','z') CHARACTER SET utf8, +unique (set_unique_utf8) +); +INSERT INTO t1 ( set_unique_utf8 ) VALUES ( '' ); +INSERT INTO t1 ( set_unique_utf8 ) VALUES ( '' ); +ERROR 23000: Duplicate entry '' for key 'set_unique_utf8' +DROP TABLE t1; End of 5.0 tests diff --git a/mysql-test/r/user_var.result b/mysql-test/r/user_var.result index 2cd132ce03c..2d91835d723 100644 --- a/mysql-test/r/user_var.result +++ b/mysql-test/r/user_var.result @@ -121,8 +121,8 @@ select @a:=0; select @a+0, @a:=@a+0+count(*), count(*), @a+0 from t1 group by i; @a+0 @a:=@a+0+count(*) count(*) @a+0 0 1 1 0 -1 3 2 0 -3 6 3 0 +0 2 2 0 +0 3 3 0 set @a=0; select @a,@a:="hello",@a,@a:=3,@a,@a:="hello again" from t1 group by i; @a @a:="hello" @a @a:=3 @a @a:="hello again" @@ -370,4 +370,33 @@ select @rownum := @rownum + 1 as row, @prev_score := a as score from t1 order by score desc; drop table t1; +create table t1(b bigint); +insert into t1 (b) values (10), (30), (10); +set @var := 0; +select if(b=@var, 999, b) , @var := b from t1 order by b; +if(b=@var, 999, b) @var := b +10 10 +999 10 +30 30 +drop table t1; +create temporary table t1 (id int); +insert into t1 values (2), (3), (3), (4); +set @lastid=-1; +select @lastid != id, @lastid, @lastid := id from t1; +@lastid != id @lastid @lastid := id +1 -1 2 +1 2 3 +0 3 3 +1 3 4 +drop table t1; +create temporary table t1 (id bigint); +insert into t1 values (2), (3), (3), (4); +set @lastid=-1; +select @lastid != id, @lastid, @lastid := id from t1; +@lastid != id @lastid @lastid := id +1 -1 2 +1 2 3 +0 3 3 +1 3 4 +drop table t1; End of 5.1 tests diff --git a/mysql-test/r/varbinary.result b/mysql-test/r/varbinary.result index 6d39d8301c5..271d7a0fe8d 100644 --- a/mysql-test/r/varbinary.result +++ b/mysql-test/r/varbinary.result @@ -95,3 +95,34 @@ table_28127_b CREATE TABLE `table_28127_b` ( ) ENGINE=MyISAM DEFAULT CHARSET=latin1 drop table table_28127_a; drop table table_28127_b; +select 0b01000001; +0b01000001 +A +select 0x41; +0x41 +A +select b'01000001'; +b'01000001' +A +select x'41', 0+x'41'; +x'41' 0+x'41' +A 65 +select N'abc', length(N'abc'); +abc length(N'abc') +abc 3 +select N'', length(N''); + length(N'') + 0 +select '', length(''); + length('') + 0 +select b'', 0+b''; +b'' 0+b'' + 0 +select x'', 0+x''; +x'' 0+x'' + 0 +select 0x; +ERROR 42S22: Unknown column '0x' in 'field list' +select 0b; +ERROR 42S22: Unknown column '0b' in 'field list' diff --git a/mysql-test/r/variables.result b/mysql-test/r/variables.result index 3f66599751d..aee84c98e4f 100644 --- a/mysql-test/r/variables.result +++ b/mysql-test/r/variables.result @@ -157,7 +157,7 @@ explain extended select @@IDENTITY,last_insert_id(), @@identity; id select_type table type possible_keys key key_len ref rows filtered Extra 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL No tables used Warnings: -Note 1003 select 345 AS `@@IDENTITY`,last_insert_id() AS `last_insert_id()`,345 AS `@@identity` +Note 1003 select @@IDENTITY AS `@@IDENTITY`,last_insert_id() AS `last_insert_id()`,@@identity AS `@@identity` set big_tables=OFF, big_tables=ON, big_tables=0, big_tables=1, big_tables="OFF", big_tables="ON"; set global concurrent_insert=2; show variables like 'concurrent_insert'; diff --git a/mysql-test/r/view_grant.result b/mysql-test/r/view_grant.result index 3585635d0f9..1821e50e294 100644 --- a/mysql-test/r/view_grant.result +++ b/mysql-test/r/view_grant.result @@ -957,3 +957,42 @@ Warning 1356 View 'test.v1' references invalid table(s) or column(s) or function DROP VIEW v1; DROP TABLE t1; End of 5.1 tests. +CREATE USER mysqluser1@localhost; +CREATE DATABASE mysqltest1; +USE mysqltest1; +CREATE TABLE t1 ( a INT, b INT ); +CREATE TABLE t2 ( a INT, b INT ); +CREATE VIEW v1 AS SELECT a, b FROM t1; +GRANT SELECT( a ) ON v1 TO mysqluser1@localhost; +GRANT UPDATE( b ) ON t2 TO mysqluser1@localhost; +SELECT * FROM mysqltest1.v1; +ERROR 42000: SELECT command denied to user 'mysqluser1'@'localhost' for table 'v1' +CREATE VIEW v1 AS SELECT * FROM mysqltest1.t2; +ERROR 42000: ANY command denied to user 'mysqluser1'@'localhost' for table 't2' +DROP TABLE t1, t2; +DROP VIEW v1; +DROP DATABASE mysqltest1; +DROP USER mysqluser1@localhost; +CREATE USER mysqluser1@localhost; +CREATE DATABASE mysqltest1; +USE mysqltest1; +CREATE VIEW v1 AS SELECT * FROM information_schema.tables LIMIT 1; +CREATE ALGORITHM = TEMPTABLE VIEW v2 AS SELECT 1 AS A; +CREATE VIEW test.v3 AS SELECT 1 AS a; +GRANT SELECT ON mysqltest1.* to mysqluser1@localhost; +GRANT ALL ON test.* TO mysqluser1@localhost; +PREPARE stmt_v1 FROM "SELECT * FROM mysqltest1.v1"; +PREPARE stmt_v2 FROM "SELECT * FROM mysqltest1.v2"; +REVOKE SELECT ON mysqltest1.* FROM mysqluser1@localhost; +EXECUTE stmt_v1; +ERROR 42000: SELECT command denied to user 'mysqluser1'@'localhost' for table 'v1' +EXECUTE stmt_v2; +ERROR 42000: SELECT command denied to user 'mysqluser1'@'localhost' for table 'v2' +PREPARE stmt FROM "SELECT a FROM v3"; +EXECUTE stmt; +a +1 +DROP VIEW v1, v2; +DROP DATABASE mysqltest1; +DROP VIEW test.v3; +DROP USER mysqluser1@localhost; diff --git a/mysql-test/r/warnings.result b/mysql-test/r/warnings.result index aad8a33ea61..090ac1340ea 100644 --- a/mysql-test/r/warnings.result +++ b/mysql-test/r/warnings.result @@ -167,7 +167,7 @@ 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 5.2. Please use 'storage_engine' instead +Warning 1287 The syntax '@@table_type' is deprecated and will be removed in MySQL 5.2. 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'; diff --git a/mysql-test/r/windows.result b/mysql-test/r/windows.result index e58a891838a..53c0dd7d767 100644 --- a/mysql-test/r/windows.result +++ b/mysql-test/r/windows.result @@ -9,8 +9,8 @@ drop table nu; drop table if exists t1; CREATE TABLE t1 ( `ID` int(6) ) data directory 'c:/tmp/' index directory 'c:/tmp/' engine=MyISAM; Warnings: -Warning 0 DATA DIRECTORY option ignored -Warning 0 INDEX DIRECTORY option ignored +Warning 1616 option ignored +Warning 1616 option ignored drop table t1; CREATE TABLE t1 (a int, b int); INSERT INTO t1 VALUES (1,1); diff --git a/mysql-test/std_data/corrupt_t1#P#p1.MYI b/mysql-test/std_data/corrupt_t1#P#p1.MYI new file mode 100644 index 00000000000..27a37c710b4 Binary files /dev/null and b/mysql-test/std_data/corrupt_t1#P#p1.MYI differ diff --git a/mysql-test/std_data/corrupt_t1.MYI b/mysql-test/std_data/corrupt_t1.MYI new file mode 100644 index 00000000000..10df2e8c3e1 Binary files /dev/null and b/mysql-test/std_data/corrupt_t1.MYI differ diff --git a/mysql-test/std_data/parts/t1_will_crash#P#p1_first_1024.MYD b/mysql-test/std_data/parts/t1_will_crash#P#p1_first_1024.MYD new file mode 100644 index 00000000000..a1bb8f98f91 Binary files /dev/null and b/mysql-test/std_data/parts/t1_will_crash#P#p1_first_1024.MYD differ diff --git a/mysql-test/std_data/parts/t1_will_crash#P#p2.MYD b/mysql-test/std_data/parts/t1_will_crash#P#p2.MYD new file mode 100644 index 00000000000..098d7a83a4a Binary files /dev/null and b/mysql-test/std_data/parts/t1_will_crash#P#p2.MYD differ diff --git a/mysql-test/std_data/parts/t1_will_crash#P#p2.MYI b/mysql-test/std_data/parts/t1_will_crash#P#p2.MYI new file mode 100644 index 00000000000..74085545751 Binary files /dev/null and b/mysql-test/std_data/parts/t1_will_crash#P#p2.MYI differ diff --git a/mysql-test/std_data/parts/t1_will_crash#P#p3.MYI b/mysql-test/std_data/parts/t1_will_crash#P#p3.MYI new file mode 100644 index 00000000000..38150da0bb5 Binary files /dev/null and b/mysql-test/std_data/parts/t1_will_crash#P#p3.MYI differ diff --git a/mysql-test/std_data/parts/t1_will_crash#P#p4.MYI b/mysql-test/std_data/parts/t1_will_crash#P#p4.MYI new file mode 100644 index 00000000000..df7eee53a81 Binary files /dev/null and b/mysql-test/std_data/parts/t1_will_crash#P#p4.MYI differ diff --git a/mysql-test/std_data/parts/t1_will_crash#P#p6.MYD b/mysql-test/std_data/parts/t1_will_crash#P#p6.MYD new file mode 100644 index 00000000000..10fd7d2fbce Binary files /dev/null and b/mysql-test/std_data/parts/t1_will_crash#P#p6.MYD differ diff --git a/mysql-test/std_data/parts/t1_will_crash#P#p6_2.MYD b/mysql-test/std_data/parts/t1_will_crash#P#p6_2.MYD new file mode 100644 index 00000000000..7ebcec17bb5 Binary files /dev/null and b/mysql-test/std_data/parts/t1_will_crash#P#p6_2.MYD differ diff --git a/mysql-test/std_data/parts/t1_will_crash#P#p6_3.MYD b/mysql-test/std_data/parts/t1_will_crash#P#p6_3.MYD new file mode 100644 index 00000000000..fb8f1a0f687 Binary files /dev/null and b/mysql-test/std_data/parts/t1_will_crash#P#p6_3.MYD differ diff --git a/mysql-test/suite/binlog/r/binlog_base64_flag.result b/mysql-test/suite/binlog/r/binlog_base64_flag.result index 72a16010031..fbc2b8344ee 100644 --- a/mysql-test/suite/binlog/r/binlog_base64_flag.result +++ b/mysql-test/suite/binlog/r/binlog_base64_flag.result @@ -66,4 +66,28 @@ a 1 1 3 -drop table t1; +CREATE TABLE char128_utf8 ( +i1 INT NOT NULL, +c CHAR(128) CHARACTER SET utf8 NOT NULL, +i2 INT NOT NULL); +CREATE TABLE char63_utf8 ( +i1 INT NOT NULL, +c CHAR(63) CHARACTER SET utf8 NOT NULL, +i2 INT NOT NULL); +BINLOG ' +MuNkSA8BAAAAZgAAAGoAAAAAAAQANS4xLjI1LXJjLWRlYnVnLWxvZwAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAy42RIEzgNAAgAEgAEBAQEEgAAUwAEGggAAAAICAgC +'; +BINLOG ' +3u9kSBMBAAAANgAAAJYBAAAAABAAAAAAAAAABHRlc3QAC2NoYXI2M191dGY4AAMD/gMC/r0A +3u9kSBcBAAAAKgAAAMABAAAQABAAAAAAAAEAA//4AQAAAAMxMjMBAAAA +'; +SELECT * FROM char63_utf8; +i1 c i2 +1 123 1 +BINLOG ' +iONkSBMBAAAANwAAAJkBAAAAABAAAAAAAAAABHRlc3QADGNoYXIxMjhfdXRmOAADA/4DAv6AAA== +iONkSBcBAAAAKwAAAMQBAAAQABAAAAAAAAEAA//4AQAAAAMAMTIzAQAAAA== +'; +ERROR HY000: master may suffer from http://bugs.mysql.com/bug.php?id=37426 so slave stops; check error log on slave for more info +drop table t1, char63_utf8, char128_utf8; diff --git a/mysql-test/suite/binlog/r/binlog_database.result b/mysql-test/suite/binlog/r/binlog_database.result index dc6b9ca51bb..3b470fe11af 100644 --- a/mysql-test/suite/binlog/r/binlog_database.result +++ b/mysql-test/suite/binlog/r/binlog_database.result @@ -17,6 +17,22 @@ master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` PROCEDURE `sp1`(a int) insert into t1 values(a) master-bin.000001 # Query # # drop database testing_1 +use test; +reset master; +create temporary table tt1 (a int); +create table t1 (a int); +insert into t1 values (1); +drop database if exists mysqltest1; +insert into t1 values (1); +drop table tt1, t1; +show binlog events from ; +Log_name Pos Event_type Server_id End_log_pos Info +master-bin.000001 # Query # # use `test`; create temporary table tt1 (a int) +master-bin.000001 # Query # # use `test`; create table t1 (a int) +master-bin.000001 # Query # # use `test`; insert into t1 values (1) +master-bin.000001 # Query # # drop database if exists mysqltest1 +master-bin.000001 # Query # # use `test`; insert into t1 values (1) +master-bin.000001 # Query # # use `test`; drop table tt1, t1 set binlog_format=mixed; reset master; create database testing_1; @@ -36,6 +52,22 @@ master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` PROCEDURE `sp1`(a int) insert into t1 values(a) master-bin.000001 # Query # # drop database testing_1 +use test; +reset master; +create temporary table tt1 (a int); +create table t1 (a int); +insert into t1 values (1); +drop database if exists mysqltest1; +insert into t1 values (1); +drop table tt1, t1; +show binlog events from ; +Log_name Pos Event_type Server_id End_log_pos Info +master-bin.000001 # Query # # use `test`; create temporary table tt1 (a int) +master-bin.000001 # Query # # use `test`; create table t1 (a int) +master-bin.000001 # Query # # use `test`; insert into t1 values (1) +master-bin.000001 # Query # # drop database if exists mysqltest1 +master-bin.000001 # Query # # use `test`; insert into t1 values (1) +master-bin.000001 # Query # # use `test`; drop table tt1, t1 set binlog_format=row; reset master; create database testing_1; @@ -55,6 +87,27 @@ master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` master-bin.000001 # Query # # use `testing_1`; CREATE DEFINER=`root`@`localhost` PROCEDURE `sp1`(a int) insert into t1 values(a) master-bin.000001 # Query # # drop database testing_1 +use test; +reset master; +create temporary table tt1 (a int); +create table t1 (a int); +insert into t1 values (1); +drop database if exists mysqltest1; +insert into t1 values (1); +drop table tt1, t1; +show binlog events from ; +Log_name Pos Event_type Server_id End_log_pos Info +master-bin.000001 # Query # # use `test`; create table t1 (a int) +master-bin.000001 # Query # # use `test`; BEGIN +master-bin.000001 # Table_map # # table_id: # (test.t1) +master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F +master-bin.000001 # Query # # use `test`; COMMIT +master-bin.000001 # Query # # drop database if exists mysqltest1 +master-bin.000001 # Query # # use `test`; BEGIN +master-bin.000001 # Table_map # # table_id: # (test.t1) +master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F +master-bin.000001 # Query # # use `test`; COMMIT +master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */ show databases; Database information_schema diff --git a/mysql-test/suite/binlog/r/binlog_grant.result b/mysql-test/suite/binlog/r/binlog_grant.result new file mode 100644 index 00000000000..21ebb891103 --- /dev/null +++ b/mysql-test/suite/binlog/r/binlog_grant.result @@ -0,0 +1,28 @@ +reset master; +set @saved_binlog_format = @@global.binlog_format; +create user mysqltest_1@localhost; +show grants for mysqltest_1@localhost; +Grants for mysqltest_1@localhost +GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost' +**** Variable SQL_LOG_BIN **** +[root] +set global sql_log_bin = 1; +ERROR HY000: Variable 'sql_log_bin' is a SESSION variable and can't be used with SET GLOBAL +set session sql_log_bin = 1; +[plain] +set global sql_log_bin = 1; +ERROR HY000: Variable 'sql_log_bin' is a SESSION variable and can't be used with SET GLOBAL +set session sql_log_bin = 1; +ERROR 42000: Access denied; you need the SUPER privilege for this operation +**** Variable BINLOG_FORMAT **** +[root] +set global binlog_format = row; +set session binlog_format = row; +[plain] +set global binlog_format = row; +ERROR 42000: Access denied; you need the SUPER privilege for this operation +set session binlog_format = row; +ERROR 42000: Access denied; you need the SUPER privilege for this operation +**** Clean up **** +set global binlog_format = @saved_binlog_format; +drop user mysqltest_1@localhost; diff --git a/mysql-test/suite/binlog/r/binlog_innodb.result b/mysql-test/suite/binlog/r/binlog_innodb.result index 896d8f734fc..adc90d007bd 100644 --- a/mysql-test/suite/binlog/r/binlog_innodb.result +++ b/mysql-test/suite/binlog/r/binlog_innodb.result @@ -115,14 +115,14 @@ master-bin.000001 # Xid # # COMMIT /* XID */ DROP TABLE t1; show status like "binlog_cache_use"; Variable_name Value -Binlog_cache_use 13 +Binlog_cache_use 15 show status like "binlog_cache_disk_use"; Variable_name Value Binlog_cache_disk_use 0 create table t1 (a int) engine=innodb; show status like "binlog_cache_use"; Variable_name Value -Binlog_cache_use 14 +Binlog_cache_use 16 show status like "binlog_cache_disk_use"; Variable_name Value Binlog_cache_disk_use 1 @@ -131,7 +131,7 @@ delete from t1; commit; show status like "binlog_cache_use"; Variable_name Value -Binlog_cache_use 15 +Binlog_cache_use 17 show status like "binlog_cache_disk_use"; Variable_name Value Binlog_cache_disk_use 1 diff --git a/mysql-test/suite/binlog/r/binlog_killed_simulate.result b/mysql-test/suite/binlog/r/binlog_killed_simulate.result index c0087316420..66d3a86cd5a 100644 --- a/mysql-test/suite/binlog/r/binlog_killed_simulate.result +++ b/mysql-test/suite/binlog/r/binlog_killed_simulate.result @@ -18,7 +18,7 @@ load data infile '../std_data_ln/rpl_loaddata.dat' into table t2 /* will be "kil ERROR 70100: Query execution was interrupted show binlog events from ; Log_name Pos Event_type Server_id End_log_pos Info -master-bin.000001 # Begin_load_query # # ;file_id=#;block_len=12 +master-bin.000001 # Begin_load_query # # ;file_id=#;block_len=# master-bin.000001 # Execute_load_query # # use `test`; load data infile '../std_data_ln/rpl_loaddata.dat' into table t2 /* will be "killed" in the middle */ ;file_id=# select (@a:=load_file("MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog")) diff --git a/mysql-test/suite/binlog/r/binlog_mix_innodb_stat.result b/mysql-test/suite/binlog/r/binlog_mix_innodb_stat.result new file mode 100644 index 00000000000..ca5067c4e1f --- /dev/null +++ b/mysql-test/suite/binlog/r/binlog_mix_innodb_stat.result @@ -0,0 +1,25 @@ +flush status; +show status like "binlog_cache_use"; +Variable_name Value +Binlog_cache_use 0 +show status like "binlog_cache_disk_use"; +Variable_name Value +Binlog_cache_disk_use 0 +drop table if exists t1; +create table t1 (a int) engine=innodb; +show status like "binlog_cache_use"; +Variable_name Value +Binlog_cache_use 1 +show status like "binlog_cache_disk_use"; +Variable_name Value +Binlog_cache_disk_use 1 +begin; +delete from t1; +commit; +show status like "binlog_cache_use"; +Variable_name Value +Binlog_cache_use 2 +show status like "binlog_cache_disk_use"; +Variable_name Value +Binlog_cache_disk_use 1 +drop table t1; diff --git a/mysql-test/suite/binlog/r/binlog_multi_engine.result b/mysql-test/suite/binlog/r/binlog_multi_engine.result index ffe7915f1f8..a295657b8f8 100644 --- a/mysql-test/suite/binlog/r/binlog_multi_engine.result +++ b/mysql-test/suite/binlog/r/binlog_multi_engine.result @@ -43,8 +43,6 @@ INSERT INTO t1n VALUES (1,1), (1,2), (2,1), (2,2); UPDATE t1m, t1b SET m = 2, b = 3 WHERE n = c; UPDATE t1m, t1n SET m = 2, e = 3 WHERE n = f; ERROR HY000: Binary logging not possible. Message: Statement cannot be written atomically since more than one engine involved and at least one engine is self-logging -UPDATE t1n, t1b SET e = 2, b = 3 WHERE f = c; -ERROR HY000: Binary logging not possible. Message: Statement cannot be written atomically since more than one engine involved and at least one engine is self-logging TRUNCATE t1m; TRUNCATE t1b; TRUNCATE t1n; @@ -68,20 +66,21 @@ RESET MASTER; SET SESSION BINLOG_FORMAT=ROW; INSERT INTO t1m VALUES (1,1), (1,2), (2,1), (2,2); INSERT INTO t1b VALUES (1,1), (1,2), (2,1), (2,2); -ERROR HY000: Binary logging not possible. Message: Row-based format required for this statement, but not allowed by this combination of engines INSERT INTO t1n VALUES (1,1), (1,2), (2,1), (2,2); -UPDATE t1m, t1b SET m = 2, b = 3 WHERE n = c; -ERROR HY000: Binary logging not possible. Message: Row-based format required for this statement, but not allowed by this combination of engines UPDATE t1m, t1n SET m = 2, e = 3 WHERE n = f; ERROR HY000: Binary logging not possible. Message: Statement cannot be written atomically since more than one engine involved and at least one engine is self-logging UPDATE t1n, t1b SET e = 2, b = 3 WHERE f = c; -ERROR HY000: Binary logging not possible. Message: Row-based format required for this statement, but not allowed by this combination of engines +ERROR HY000: Binary logging not possible. Message: Statement cannot be written atomically since more than one engine involved and at least one engine is self-logging show binlog events from ; Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 # Query # # use `test`; BEGIN master-bin.000001 # Table_map # # table_id: # (test.t1m) master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F master-bin.000001 # Query # # use `test`; COMMIT +master-bin.000001 # Query # # use `test`; BEGIN +master-bin.000001 # Table_map # # table_id: # (test.t1b) +master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F +master-bin.000001 # Query # # use `test`; COMMIT master-bin.000001 # Query # # BEGIN master-bin.000001 # Table_map # # table_id: # (test.t1n) master-bin.000001 # Table_map # # table_id: # (mysql.ndb_apply_status) diff --git a/mysql-test/suite/binlog/r/binlog_row_binlog.result b/mysql-test/suite/binlog/r/binlog_row_binlog.result index f830b69bf9d..1a56e048b27 100644 --- a/mysql-test/suite/binlog/r/binlog_row_binlog.result +++ b/mysql-test/suite/binlog/r/binlog_row_binlog.result @@ -1090,6 +1090,53 @@ master-bin.000001 295 Table_map 1 337 table_id: # (test.t1) master-bin.000001 337 Write_rows 1 383 table_id: # flags: STMT_END_F master-bin.000001 383 Query 1 452 use `test`; COMMIT master-bin.000001 452 Query 1 528 use `test`; drop table t1 +reset master; +CREATE DATABASE bug39182 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; +USE bug39182; +CREATE TABLE t1 (a VARCHAR(255) COLLATE utf8_unicode_ci) +DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +CREATE PROCEDURE p1() +BEGIN +DECLARE s1 VARCHAR(255); +SET s1= "test"; +CREATE TEMPORARY TABLE tmp1 +SELECT * FROM t1 WHERE a LIKE CONCAT("%", s1, "%"); +SELECT +COLLATION(NAME_CONST('s1', _utf8'test')) c1, +COLLATION(NAME_CONST('s1', _utf8'test' COLLATE utf8_unicode_ci)) c2, +COLLATION(s1) c3, +COERCIBILITY(NAME_CONST('s1', _utf8'test')) d1, +COERCIBILITY(NAME_CONST('s1', _utf8'test' COLLATE utf8_unicode_ci)) d2, +COERCIBILITY(s1) d3; +DROP TEMPORARY TABLE tmp1; +END// +CALL p1(); +c1 c2 c3 d1 d2 d3 +utf8_general_ci utf8_unicode_ci utf8_unicode_ci 2 2 2 +show binlog events from ; +Log_name Pos Event_type Server_id End_log_pos Info +master-bin.000001 # Query # # CREATE DATABASE bug39182 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci +master-bin.000001 # Query # # use `bug39182`; CREATE TABLE t1 (a VARCHAR(255) COLLATE utf8_unicode_ci) +DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci +master-bin.000001 # Query # # use `bug39182`; CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`() +BEGIN +DECLARE s1 VARCHAR(255); +SET s1= "test"; +CREATE TEMPORARY TABLE tmp1 +SELECT * FROM t1 WHERE a LIKE CONCAT("%", s1, "%"); +SELECT +COLLATION(NAME_CONST('s1', _utf8'test')) c1, +COLLATION(NAME_CONST('s1', _utf8'test' COLLATE utf8_unicode_ci)) c2, +COLLATION(s1) c3, +COERCIBILITY(NAME_CONST('s1', _utf8'test')) d1, +COERCIBILITY(NAME_CONST('s1', _utf8'test' COLLATE utf8_unicode_ci)) d2, +COERCIBILITY(s1) d3; +DROP TEMPORARY TABLE tmp1; +END +DROP PROCEDURE p1; +DROP TABLE t1; +DROP DATABASE bug39182; +USE test; End of 5.0 tests reset master; create table t1 (id tinyint auto_increment primary key); @@ -1141,10 +1188,10 @@ master-bin.000001 # Delete_rows # # table_id: # flags: STMT_END_F master-bin.000001 # Query # # use `mysql`; COMMIT drop table t1,t2,t3,tt1; create table t1 (a int not null auto_increment, primary key (a)) engine=myisam; -set @@session.auto_increment_increment=1, @@session.auto_increment_offset=1; insert delayed into t1 values (207); insert delayed into t1 values (null); insert delayed into t1 values (300); +FLUSH TABLES; show binlog events from ; Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 # Query # # use `test`; create table t1 (id tinyint auto_increment primary key) @@ -1188,9 +1235,9 @@ master-bin.000001 # Query # # use `test`; BEGIN master-bin.000001 # Table_map # # table_id: # (test.t1) master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F master-bin.000001 # Query # # use `test`; COMMIT +master-bin.000001 # Query # # use `test`; FLUSH TABLES insert delayed into t1 values (null),(null),(null),(null); insert delayed into t1 values (null),(null),(400),(null); -11 == 11 select * from t1; a 207 diff --git a/mysql-test/suite/binlog/r/binlog_row_innodb_stat.result b/mysql-test/suite/binlog/r/binlog_row_innodb_stat.result index e6813ee2719..ca5067c4e1f 100644 --- a/mysql-test/suite/binlog/r/binlog_row_innodb_stat.result +++ b/mysql-test/suite/binlog/r/binlog_row_innodb_stat.result @@ -1,3 +1,4 @@ +flush status; show status like "binlog_cache_use"; Variable_name Value Binlog_cache_use 0 @@ -22,18 +23,3 @@ show status like "binlog_cache_disk_use"; Variable_name Value Binlog_cache_disk_use 1 drop table t1; -show status like "Innodb_buffer_pool_pages_total"; -Variable_name Value -Innodb_buffer_pool_pages_total 512 -show status like "Innodb_page_size"; -Variable_name Value -Innodb_page_size 16384 -show status like "Innodb_rows_deleted"; -Variable_name Value -Innodb_rows_deleted 2000 -show status like "Innodb_rows_inserted"; -Variable_name Value -Innodb_rows_inserted 2000 -show status like "Innodb_rows_updated"; -Variable_name Value -Innodb_rows_updated 0 diff --git a/mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result b/mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result index 419aea5b581..7106480663f 100644 --- a/mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result +++ b/mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result @@ -926,7 +926,7 @@ Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 # Query # # use `test`; BEGIN master-bin.000001 # Intvar # # INSERT_ID=10 master-bin.000001 # User var # # @`b`=_latin1 0x3135 COLLATE latin1_swedish_ci -master-bin.000001 # Begin_load_query # # ;file_id=#;block_len=12 +master-bin.000001 # Begin_load_query # # ;file_id=#;block_len=# master-bin.000001 # Intvar # # INSERT_ID=10 master-bin.000001 # User var # # @`b`=_latin1 0x3135 COLLATE latin1_swedish_ci master-bin.000001 # Execute_load_query # # use `test`; load data infile '../std_data_ln/rpl_loaddata.dat' into table t4 (a, @b) set b= @b + bug27417(2) ;file_id=# diff --git a/mysql-test/suite/binlog/r/binlog_statement_insert_delayed.result b/mysql-test/suite/binlog/r/binlog_statement_insert_delayed.result index 3a2dc441632..800bb58e9cc 100644 --- a/mysql-test/suite/binlog/r/binlog_statement_insert_delayed.result +++ b/mysql-test/suite/binlog/r/binlog_statement_insert_delayed.result @@ -1,8 +1,8 @@ create table t1 (a int not null auto_increment, primary key (a)) engine=myisam; -set @@session.auto_increment_increment=1, @@session.auto_increment_offset=1; insert delayed into t1 values (207); insert delayed into t1 values (null); insert delayed into t1 values (300); +FLUSH TABLES; show binlog events from ; Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 # Query # # use `test`; create table t1 (a int not null auto_increment, primary key (a)) engine=myisam @@ -10,9 +10,9 @@ master-bin.000001 # Query # # use `test`; insert delayed into t1 values (207) master-bin.000001 # Intvar # # INSERT_ID=208 master-bin.000001 # Query # # use `test`; insert delayed into t1 values (null) master-bin.000001 # Query # # use `test`; insert delayed into t1 values (300) +master-bin.000001 # Query # # use `test`; FLUSH TABLES insert delayed into t1 values (null),(null),(null),(null); insert delayed into t1 values (null),(null),(400),(null); -11 == 11 select * from t1; a 207 diff --git a/mysql-test/suite/binlog/r/binlog_stm_binlog.result b/mysql-test/suite/binlog/r/binlog_stm_binlog.result index 20d7281d5cc..aadbf950b21 100644 --- a/mysql-test/suite/binlog/r/binlog_stm_binlog.result +++ b/mysql-test/suite/binlog/r/binlog_stm_binlog.result @@ -594,6 +594,56 @@ master-bin.000001 4 Format_desc 1 106 Server version, Binlog ver: 4 master-bin.000001 106 Query 1 227 use `test`; create table t1 (a bigint unsigned, b bigint(20) unsigned) master-bin.000001 227 Query 1 351 use `test`; insert into t1 values (9999999999999999,14632475938453979136) master-bin.000001 351 Query 1 427 use `test`; drop table t1 +reset master; +CREATE DATABASE bug39182 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; +USE bug39182; +CREATE TABLE t1 (a VARCHAR(255) COLLATE utf8_unicode_ci) +DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +CREATE PROCEDURE p1() +BEGIN +DECLARE s1 VARCHAR(255); +SET s1= "test"; +CREATE TEMPORARY TABLE tmp1 +SELECT * FROM t1 WHERE a LIKE CONCAT("%", s1, "%"); +SELECT +COLLATION(NAME_CONST('s1', _utf8'test')) c1, +COLLATION(NAME_CONST('s1', _utf8'test' COLLATE utf8_unicode_ci)) c2, +COLLATION(s1) c3, +COERCIBILITY(NAME_CONST('s1', _utf8'test')) d1, +COERCIBILITY(NAME_CONST('s1', _utf8'test' COLLATE utf8_unicode_ci)) d2, +COERCIBILITY(s1) d3; +DROP TEMPORARY TABLE tmp1; +END// +CALL p1(); +c1 c2 c3 d1 d2 d3 +utf8_general_ci utf8_unicode_ci utf8_unicode_ci 2 2 2 +show binlog events from ; +Log_name Pos Event_type Server_id End_log_pos Info +master-bin.000001 # Query # # CREATE DATABASE bug39182 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci +master-bin.000001 # Query # # use `bug39182`; CREATE TABLE t1 (a VARCHAR(255) COLLATE utf8_unicode_ci) +DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci +master-bin.000001 # Query # # use `bug39182`; CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`() +BEGIN +DECLARE s1 VARCHAR(255); +SET s1= "test"; +CREATE TEMPORARY TABLE tmp1 +SELECT * FROM t1 WHERE a LIKE CONCAT("%", s1, "%"); +SELECT +COLLATION(NAME_CONST('s1', _utf8'test')) c1, +COLLATION(NAME_CONST('s1', _utf8'test' COLLATE utf8_unicode_ci)) c2, +COLLATION(s1) c3, +COERCIBILITY(NAME_CONST('s1', _utf8'test')) d1, +COERCIBILITY(NAME_CONST('s1', _utf8'test' COLLATE utf8_unicode_ci)) d2, +COERCIBILITY(s1) d3; +DROP TEMPORARY TABLE tmp1; +END +master-bin.000001 # Query # # use `bug39182`; CREATE TEMPORARY TABLE tmp1 +SELECT * FROM t1 WHERE a LIKE CONCAT("%", NAME_CONST('s1',_utf8'test' COLLATE 'utf8_unicode_ci'), "%") +master-bin.000001 # Query # # use `bug39182`; DROP TEMPORARY TABLE tmp1 +DROP PROCEDURE p1; +DROP TABLE t1; +DROP DATABASE bug39182; +USE test; End of 5.0 tests reset master; create table t1 (id tinyint auto_increment primary key); @@ -629,10 +679,10 @@ master-bin.000001 # Query # # use `mysql`; UPDATE user SET password=password('An master-bin.000001 # Query # # use `mysql`; DELETE FROM user WHERE host='localhost' AND user='@#@' drop table t1,t2,t3,tt1; create table t1 (a int not null auto_increment, primary key (a)) engine=myisam; -set @@session.auto_increment_increment=1, @@session.auto_increment_offset=1; insert delayed into t1 values (207); insert delayed into t1 values (null); insert delayed into t1 values (300); +FLUSH TABLES; show binlog events from ; Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 # Query # # use `test`; create table t1 (id tinyint auto_increment primary key) @@ -660,9 +710,9 @@ master-bin.000001 # Query # # use `test`; BEGIN master-bin.000001 # Table_map # # table_id: # (test.t1) master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F master-bin.000001 # Query # # use `test`; COMMIT +master-bin.000001 # Query # # use `test`; FLUSH TABLES insert delayed into t1 values (null),(null),(null),(null); insert delayed into t1 values (null),(null),(400),(null); -11 == 11 select * from t1; a 207 diff --git a/mysql-test/suite/binlog/r/binlog_stm_blackhole.result b/mysql-test/suite/binlog/r/binlog_stm_blackhole.result index 619fd39a2a9..30f298488fc 100644 --- a/mysql-test/suite/binlog/r/binlog_stm_blackhole.result +++ b/mysql-test/suite/binlog/r/binlog_stm_blackhole.result @@ -141,7 +141,6 @@ master-bin.000001 # Query # # use `test`; COMMIT drop table t1,t2,t3; CREATE TABLE t1(a INT) ENGINE=BLACKHOLE; INSERT DELAYED INTO t1 VALUES(1); -ERROR HY000: Binary logging not possible. Message: Row-based format required for this statement, but not allowed by this combination of engines DROP TABLE t1; CREATE TABLE t1(a INT, b INT) ENGINE=BLACKHOLE; DELETE FROM t1 WHERE a=10; diff --git a/mysql-test/suite/binlog/r/binlog_stm_innodb_stat.result b/mysql-test/suite/binlog/r/binlog_stm_innodb_stat.result index e6813ee2719..ca5067c4e1f 100644 --- a/mysql-test/suite/binlog/r/binlog_stm_innodb_stat.result +++ b/mysql-test/suite/binlog/r/binlog_stm_innodb_stat.result @@ -1,3 +1,4 @@ +flush status; show status like "binlog_cache_use"; Variable_name Value Binlog_cache_use 0 @@ -22,18 +23,3 @@ show status like "binlog_cache_disk_use"; Variable_name Value Binlog_cache_disk_use 1 drop table t1; -show status like "Innodb_buffer_pool_pages_total"; -Variable_name Value -Innodb_buffer_pool_pages_total 512 -show status like "Innodb_page_size"; -Variable_name Value -Innodb_page_size 16384 -show status like "Innodb_rows_deleted"; -Variable_name Value -Innodb_rows_deleted 2000 -show status like "Innodb_rows_inserted"; -Variable_name Value -Innodb_rows_inserted 2000 -show status like "Innodb_rows_updated"; -Variable_name Value -Innodb_rows_updated 0 diff --git a/mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result b/mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result index 60104a64d94..3d71f333852 100644 --- a/mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result +++ b/mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result @@ -623,7 +623,7 @@ show binlog events from ; Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 # Query # # use `test`; BEGIN master-bin.000001 # Intvar # # INSERT_ID=10 -master-bin.000001 # Begin_load_query # # ;file_id=#;block_len=12 +master-bin.000001 # Begin_load_query # # ;file_id=#;block_len=# master-bin.000001 # Intvar # # INSERT_ID=10 master-bin.000001 # Execute_load_query # # use `test`; load data infile '../std_data_ln/rpl_loaddata.dat' into table t4 (a, @b) set b= @b + bug27417(2) ;file_id=# master-bin.000001 # Query # # use `test`; ROLLBACK @@ -858,7 +858,7 @@ Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 # Query # # use `test`; BEGIN master-bin.000001 # Intvar # # INSERT_ID=10 master-bin.000001 # User var # # @`b`=_latin1 0x3135 COLLATE latin1_swedish_ci -master-bin.000001 # Begin_load_query # # ;file_id=#;block_len=12 +master-bin.000001 # Begin_load_query # # ;file_id=#;block_len=# master-bin.000001 # Intvar # # INSERT_ID=10 master-bin.000001 # User var # # @`b`=_latin1 0x3135 COLLATE latin1_swedish_ci master-bin.000001 # Execute_load_query # # use `test`; load data infile '../std_data_ln/rpl_loaddata.dat' into table t4 (a, @b) set b= @b + bug27417(2) ;file_id=# diff --git a/mysql-test/suite/binlog/r/binlog_stm_row.result b/mysql-test/suite/binlog/r/binlog_stm_row.result new file mode 100644 index 00000000000..97ec38cfb3e --- /dev/null +++ b/mysql-test/suite/binlog/r/binlog_stm_row.result @@ -0,0 +1,71 @@ +DROP TABLE IF EXISTS t1; +DROP TABLE IF EXISTS t2; +SET GLOBAL BINLOG_FORMAT = STATEMENT; +SET SESSION BINLOG_FORMAT = STATEMENT; +CREATE TABLE t1 (a INT); +CREATE TABLE t2 LIKE t1; +select @@SESSION.BINLOG_FORMAT; +@@SESSION.BINLOG_FORMAT +STATEMENT +INSERT INTO t1 VALUES(1); +INSERT INTO t2 VALUES(2); +# +# Ensure that INSERT INTO .. SELECT FROM under SBR takes a read +# lock that will prevent the source table from being modified. +# +# con1 +SELECT GET_LOCK('Bug#34306', 120); +GET_LOCK('Bug#34306', 120) +1 +# con2 +PREPARE stmt FROM "INSERT INTO t1 SELECT * FROM t2 WHERE GET_LOCK('Bug#34306', 120)"; +EXECUTE stmt;; +# default +INSERT INTO t2 VALUES (3);; +# con1 +SELECT RELEASE_LOCK('Bug#34306'); +RELEASE_LOCK('Bug#34306') +1 +# con2 +SELECT RELEASE_LOCK('Bug#34306'); +RELEASE_LOCK('Bug#34306') +1 +# default +# +# Ensure that INSERT INTO .. SELECT FROM prepared under SBR does +# not prevent the source table from being modified if under RBR. +# +# con2 +SET SESSION BINLOG_FORMAT = ROW; +# con1 +SELECT GET_LOCK('Bug#34306', 120); +GET_LOCK('Bug#34306', 120) +1 +# con2 +EXECUTE stmt;; +# default +# con1 +INSERT INTO t2 VALUES (4); +SELECT RELEASE_LOCK('Bug#34306'); +RELEASE_LOCK('Bug#34306') +1 +# con2 +# default +# Show binlog events +show binlog events from ; +Log_name Pos Event_type Server_id End_log_pos Info +master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS t1 +master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS t2 +master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT) +master-bin.000001 # Query # # use `test`; CREATE TABLE t2 LIKE t1 +master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES(1) +master-bin.000001 # Query # # use `test`; INSERT INTO t2 VALUES(2) +master-bin.000001 # Query # # use `test`; INSERT INTO t1 SELECT * FROM t2 WHERE GET_LOCK('Bug#34306', 120) +master-bin.000001 # Query # # use `test`; INSERT INTO t2 VALUES (3) +master-bin.000001 # Query # # use `test`; INSERT INTO t2 VALUES (4) +master-bin.000001 # Query # # use `test`; BEGIN +master-bin.000001 # Table_map # # table_id: # (test.t1) +master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F +master-bin.000001 # Query # # use `test`; COMMIT +DROP TABLE t1; +DROP TABLE t2; diff --git a/mysql-test/suite/binlog/t/binlog_base64_flag.test b/mysql-test/suite/binlog/t/binlog_base64_flag.test index abf35a6bfd8..e6271ec6ccc 100644 --- a/mysql-test/suite/binlog/t/binlog_base64_flag.test +++ b/mysql-test/suite/binlog/t/binlog_base64_flag.test @@ -104,6 +104,49 @@ Dl1YRxcBAAAAIgAAAFYBAAAQABAAAAAAAAEAAf/+BQAAAA== # the above line should fail and 5 should not be in the binlog. select * from t1; +# Test that BUG#37426 is triggered. -# clean up -drop table t1; +CREATE TABLE char128_utf8 ( + i1 INT NOT NULL, + c CHAR(128) CHARACTER SET utf8 NOT NULL, + i2 INT NOT NULL); +CREATE TABLE char63_utf8 ( + i1 INT NOT NULL, + c CHAR(63) CHARACTER SET utf8 NOT NULL, + i2 INT NOT NULL); + +# +# This is the format description log event +# + +BINLOG ' +MuNkSA8BAAAAZgAAAGoAAAAAAAQANS4xLjI1LXJjLWRlYnVnLWxvZwAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAy42RIEzgNAAgAEgAEBAQEEgAAUwAEGggAAAAICAgC +'; + +# ... this event corresponding to +# +# INSERT INTO char63_utf8 VALUES ( 1, "123", 1 ) +# +# The binlog event below shall not trigger the bug check + +BINLOG ' +3u9kSBMBAAAANgAAAJYBAAAAABAAAAAAAAAABHRlc3QAC2NoYXI2M191dGY4AAMD/gMC/r0A +3u9kSBcBAAAAKgAAAMABAAAQABAAAAAAAAEAA//4AQAAAAMxMjMBAAAA +'; +SELECT * FROM char63_utf8; + +# ... and this is an event corresponding to +# +# INSERT INTO char128_utf8 VALUES ( 1, "123", 1 ) +# +# The binlog event below shall trigger the bug check and produce an error +# + +error ER_UNKNOWN_ERROR; +BINLOG ' +iONkSBMBAAAANwAAAJkBAAAAABAAAAAAAAAABHRlc3QADGNoYXIxMjhfdXRmOAADA/4DAv6AAA== +iONkSBcBAAAAKwAAAMQBAAAQABAAAAAAAAEAA//4AQAAAAMAMTIzAQAAAA== +'; + +drop table t1, char63_utf8, char128_utf8; diff --git a/mysql-test/suite/binlog/t/binlog_grant.test b/mysql-test/suite/binlog/t/binlog_grant.test new file mode 100644 index 00000000000..d36dcce4cc3 --- /dev/null +++ b/mysql-test/suite/binlog/t/binlog_grant.test @@ -0,0 +1,60 @@ +# Test grants for various objects (especially variables) related to +# the binary log + +source include/have_log_bin.inc; + +connection default; +--disable_warnings +reset master; +--enable_warnings + +set @saved_binlog_format = @@global.binlog_format; +create user mysqltest_1@localhost; +show grants for mysqltest_1@localhost; + +connect (plain,localhost,mysqltest_1,,test); +connect (root,localhost,root,,test); + +# Testing setting both session and global SQL_LOG_BIN variable both as +# root and as plain user. + +--echo **** Variable SQL_LOG_BIN **** + +connection root; +--echo [root] +--error ER_LOCAL_VARIABLE +set global sql_log_bin = 1; +set session sql_log_bin = 1; + +connection plain; +--echo [plain] +--error ER_LOCAL_VARIABLE +set global sql_log_bin = 1; +--error ER_SPECIFIC_ACCESS_DENIED_ERROR +set session sql_log_bin = 1; + + +# Testing setting both session and global BINLOG_FORMAT variable both +# as root and as plain user. + +--echo **** Variable BINLOG_FORMAT **** + +connection root; +--echo [root] +set global binlog_format = row; +set session binlog_format = row; + +connection plain; +--echo [plain] +--error ER_SPECIFIC_ACCESS_DENIED_ERROR +set global binlog_format = row; +--error ER_SPECIFIC_ACCESS_DENIED_ERROR +set session binlog_format = row; + +--echo **** Clean up **** +disconnect plain; +disconnect root; + +connection default; +set global binlog_format = @saved_binlog_format; +drop user mysqltest_1@localhost; diff --git a/mysql-test/suite/binlog/t/binlog_killed.test b/mysql-test/suite/binlog/t/binlog_killed.test index ab8a8cd59bd..e63186b64c8 100644 --- a/mysql-test/suite/binlog/t/binlog_killed.test +++ b/mysql-test/suite/binlog/t/binlog_killed.test @@ -1,5 +1,10 @@ -- source include/have_innodb.inc -- source include/have_binlog_format_mixed_or_statement.inc + +# You cannot use `KILL' with the Embedded MySQL Server library, +# because the embedded server merely runs inside the threads of the host +# application. -- the docs + -- source include/not_embedded.inc ### @@ -22,6 +27,12 @@ select get_lock("a", 20); connection con2; let $ID= `select connection_id()`; + +# +# reset master does not reset binlogging on the embedded server. +# the test is not run on the embedded for reason of using KILL query. +# `reset master' problem is to be addressed by bug#15580 fixes. +# reset master; send insert into t2 values (null, null), (null, get_lock("a", 10)); diff --git a/mysql-test/suite/binlog/t/binlog_killed_simulate.test b/mysql-test/suite/binlog/t/binlog_killed_simulate.test index cb3b5a6e827..8af51fc5fe5 100644 --- a/mysql-test/suite/binlog/t/binlog_killed_simulate.test +++ b/mysql-test/suite/binlog/t/binlog_killed_simulate.test @@ -33,7 +33,7 @@ let $error_code= `select @a like "%#%error_code=0%" /* must return 1 */`; eval select $error_code /* must return 1 as query completed before got killed*/; # cleanup for the sub-case -system rm $MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog; +remove_file $MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog; # @@ -61,7 +61,7 @@ let $error_code= `select @a like "%#%error_code=0%" /* must return 0*/`; eval select $error_code /* must return 0 to mean the killed query is in */; # cleanup for the sub-case -system rm $MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog; +remove_file $MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog; drop table t1,t2; diff --git a/mysql-test/suite/binlog/t/binlog_mix_innodb_stat.test b/mysql-test/suite/binlog/t/binlog_mix_innodb_stat.test new file mode 100644 index 00000000000..0be097c78ed --- /dev/null +++ b/mysql-test/suite/binlog/t/binlog_mix_innodb_stat.test @@ -0,0 +1,5 @@ +# This is a wrapper for binlog.test so that the same test case can be used +# For both statement and row based bin logs 9/19/2005 [jbm] + +-- source include/have_binlog_format_mixed.inc +-- source extra/binlog_tests/innodb_stat.test diff --git a/mysql-test/suite/binlog/t/binlog_multi_engine.test b/mysql-test/suite/binlog/t/binlog_multi_engine.test index bf84eed6ec1..c8136d669e4 100644 --- a/mysql-test/suite/binlog/t/binlog_multi_engine.test +++ b/mysql-test/suite/binlog/t/binlog_multi_engine.test @@ -69,9 +69,6 @@ UPDATE t1m, t1n SET m = 2, e = 3 WHERE n = f; #UPDATE t1m, t1n SET m = 2, e = 3 WHERE n = f; -error ER_BINLOG_LOGGING_IMPOSSIBLE; -UPDATE t1n, t1b SET e = 2, b = 3 WHERE f = c; - TRUNCATE t1m; TRUNCATE t1b; TRUNCATE t1n; @@ -83,12 +80,10 @@ RESET MASTER; SET SESSION BINLOG_FORMAT=ROW; INSERT INTO t1m VALUES (1,1), (1,2), (2,1), (2,2); -error ER_BINLOG_LOGGING_IMPOSSIBLE; + INSERT INTO t1b VALUES (1,1), (1,2), (2,1), (2,2); INSERT INTO t1n VALUES (1,1), (1,2), (2,1), (2,2); -error ER_BINLOG_LOGGING_IMPOSSIBLE; -UPDATE t1m, t1b SET m = 2, b = 3 WHERE n = c; error ER_BINLOG_LOGGING_IMPOSSIBLE; UPDATE t1m, t1n SET m = 2, e = 3 WHERE n = f; diff --git a/mysql-test/suite/binlog/t/binlog_start_comment.test b/mysql-test/suite/binlog/t/binlog_start_comment.test index a5817eb69b7..6f8540efd07 100644 --- a/mysql-test/suite/binlog/t/binlog_start_comment.test +++ b/mysql-test/suite/binlog/t/binlog_start_comment.test @@ -21,4 +21,4 @@ select * from t2; # clean up drop table t1,t2; -#--system rm $MYSQLTEST_VARDIR/tmp/binlog_start_comment.binlog +#--remove_file $MYSQLTEST_VARDIR/tmp/binlog_start_comment.binlog diff --git a/mysql-test/suite/binlog/t/binlog_stm_innodb_stat.test b/mysql-test/suite/binlog/t/binlog_stm_innodb_stat.test index a08039c4a41..c6017246e6d 100644 --- a/mysql-test/suite/binlog/t/binlog_stm_innodb_stat.test +++ b/mysql-test/suite/binlog/t/binlog_stm_innodb_stat.test @@ -1,5 +1,5 @@ # This is a wrapper for binlog.test so that the same test case can be used # For both statement and row based bin logs 9/19/2005 [jbm] --- source include/have_binlog_format_mixed_or_statement.inc +-- source include/have_binlog_format_statement.inc -- source extra/binlog_tests/innodb_stat.test diff --git a/mysql-test/suite/binlog/t/binlog_stm_row.test b/mysql-test/suite/binlog/t/binlog_stm_row.test new file mode 100644 index 00000000000..4944e65c9f3 --- /dev/null +++ b/mysql-test/suite/binlog/t/binlog_stm_row.test @@ -0,0 +1,107 @@ +--source include/have_log_bin.inc +--source include/have_binlog_format_row_or_statement.inc + +# Get rid of previous tests binlog +--disable_query_log +reset master; +--enable_query_log + +# +# Bug#34306: Can't make copy of log tables when server binary log is enabled +# +# This is an additional test for Bug#34306 in order to ensure that INSERT INTO +# .. SELECT FROM is properly replicated under SBR and RBR and that the proper +# read lock type are acquired. +# + +--disable_warnings +DROP TABLE IF EXISTS t1; +DROP TABLE IF EXISTS t2; +--enable_warnings + +SET GLOBAL BINLOG_FORMAT = STATEMENT; +SET SESSION BINLOG_FORMAT = STATEMENT; + +CREATE TABLE t1 (a INT); +CREATE TABLE t2 LIKE t1; +select @@SESSION.BINLOG_FORMAT; +INSERT INTO t1 VALUES(1); +INSERT INTO t2 VALUES(2); + +--connect(con1,localhost,root,,) +--connect(con2,localhost,root,,) + +--echo # +--echo # Ensure that INSERT INTO .. SELECT FROM under SBR takes a read +--echo # lock that will prevent the source table from being modified. +--echo # + +--connection con1 +--echo # con1 +SELECT GET_LOCK('Bug#34306', 120); +--connection con2 +--echo # con2 +PREPARE stmt FROM "INSERT INTO t1 SELECT * FROM t2 WHERE GET_LOCK('Bug#34306', 120)"; +--send EXECUTE stmt; +--connection default +--echo # default +let $wait_condition= + SELECT COUNT(*) = 1 FROM information_schema.processlist WHERE + state = "User lock" AND + info = "INSERT INTO t1 SELECT * FROM t2 WHERE GET_LOCK('Bug#34306', 120)"; +--source include/wait_condition.inc +--send INSERT INTO t2 VALUES (3); +--connection con1 +--echo # con1 +let $wait_condition= + SELECT COUNT(*) = 1 FROM information_schema.processlist WHERE + state = "Locked" and info = "INSERT INTO t2 VALUES (3)"; +--source include/wait_condition.inc +SELECT RELEASE_LOCK('Bug#34306'); +--connection con2 +--echo # con2 +--reap +SELECT RELEASE_LOCK('Bug#34306'); +--connection default +--echo # default +--reap + +--echo # +--echo # Ensure that INSERT INTO .. SELECT FROM prepared under SBR does +--echo # not prevent the source table from being modified if under RBR. +--echo # + +--connection con2 +--echo # con2 +SET SESSION BINLOG_FORMAT = ROW; +--connection con1 +--echo # con1 +SELECT GET_LOCK('Bug#34306', 120); +--connection con2 +--echo # con2 +--send EXECUTE stmt; +--connection default +--echo # default +let $wait_condition= + SELECT COUNT(*) = 1 FROM information_schema.processlist WHERE + state = "User lock" AND + info = "INSERT INTO t1 SELECT * FROM t2 WHERE GET_LOCK('Bug#34306', 120)"; +--source include/wait_condition.inc +--connection con1 +--echo # con1 +INSERT INTO t2 VALUES (4); +SELECT RELEASE_LOCK('Bug#34306'); +--connection con2 +--echo # con2 +--reap + +--disconnect con1 +--disconnect con2 +--connection default +--echo # default + +--echo # Show binlog events +source include/show_binlog_events.inc; + +DROP TABLE t1; +DROP TABLE t2; diff --git a/mysql-test/suite/bugs/combinations b/mysql-test/suite/bugs/combinations new file mode 100644 index 00000000000..ea25611a5d4 --- /dev/null +++ b/mysql-test/suite/bugs/combinations @@ -0,0 +1,8 @@ +[row] +--binlog-format=row + +[stmt] +--binlog-format=statement + +[mix] +--binlog-format=mixed diff --git a/mysql-test/suite/bugs/r/rpl_bug33029.result b/mysql-test/suite/bugs/r/rpl_bug33029.result new file mode 100644 index 00000000000..d11ae1cc0be --- /dev/null +++ b/mysql-test/suite/bugs/r/rpl_bug33029.result @@ -0,0 +1,15 @@ +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; +create table `t1` (`id` int not null auto_increment primary key); +create trigger `trg` before insert on `t1` for each row begin end; +set @@global.debug="+d,simulate_bug33029"; +stop slave; +start slave; +insert into `t1` values (); +select * from t1; +id +1 diff --git a/mysql-test/suite/bugs/r/rpl_bug37426.result b/mysql-test/suite/bugs/r/rpl_bug37426.result new file mode 100644 index 00000000000..24dfd27ca01 --- /dev/null +++ b/mysql-test/suite/bugs/r/rpl_bug37426.result @@ -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; +CREATE TABLE char128_utf8 ( +i1 INT NOT NULL, +c CHAR(128) CHARACTER SET utf8 NOT NULL, +i2 INT NOT NULL); +INSERT INTO char128_utf8 VALUES ( 1, "123", 1 ); +SELECT * FROM char128_utf8; +i1 c i2 +1 123 1 +SELECT * FROM char128_utf8; +i1 c i2 +1 123 1 diff --git a/mysql-test/suite/bugs/t/rpl_bug33029.test b/mysql-test/suite/bugs/t/rpl_bug33029.test new file mode 100644 index 00000000000..494cef42ce0 --- /dev/null +++ b/mysql-test/suite/bugs/t/rpl_bug33029.test @@ -0,0 +1,25 @@ +# +# Bug #36443 Server crashes when executing insert when insert trigger on table +# +# Emulating the former bug#33029 situation to see that there is no crash anymore. +# + + +source include/master-slave.inc; + +create table `t1` (`id` int not null auto_increment primary key); +create trigger `trg` before insert on `t1` for each row begin end; + +sync_slave_with_master; +set @@global.debug="+d,simulate_bug33029"; + +stop slave; +start slave; + +connection master; + +insert into `t1` values (); + +sync_slave_with_master; +select * from t1; + diff --git a/mysql-test/suite/bugs/t/rpl_bug37426.test b/mysql-test/suite/bugs/t/rpl_bug37426.test new file mode 100644 index 00000000000..d2bad0fa0c1 --- /dev/null +++ b/mysql-test/suite/bugs/t/rpl_bug37426.test @@ -0,0 +1,22 @@ +############################################################# +# Author: Mats Kindahl +# Date: 2008-06-18 +# Purpose: Test for BUG#37426 +# RBR breaks for CHAR() UTF8 fields > 85 chars +############################################################# + +source include/master-slave.inc; +source include/have_binlog_format_row.inc; + +connection master; +CREATE TABLE char128_utf8 ( + i1 INT NOT NULL, + c CHAR(128) CHARACTER SET utf8 NOT NULL, + i2 INT NOT NULL); + +INSERT INTO char128_utf8 VALUES ( 1, "123", 1 ); + +SELECT * FROM char128_utf8; +sync_slave_with_master; + +SELECT * FROM char128_utf8; diff --git a/mysql-test/suite/funcs_1/datadict/charset_collation.inc b/mysql-test/suite/funcs_1/datadict/charset_collation.inc index f8fc58b082b..ae03996b073 100644 --- a/mysql-test/suite/funcs_1/datadict/charset_collation.inc +++ b/mysql-test/suite/funcs_1/datadict/charset_collation.inc @@ -8,7 +8,7 @@ # # The amount and properties of character_sets/collations depend on the # build type -# 2007-12 MySQL 5.0 +# 2007-12 MySQL 5.0, 2008-06 MySQL 5.1 # --------------------------------------------------------------------- # # Variant 1 fits to @@ -33,10 +33,22 @@ # Variant 3 fits to # version_comment MySQL Community Server (GPL) # version_comment MySQL Cluster Server (Commercial) +# version_comment MySQL Advanced Server (GPL) 5.1 +# version_comment MySQL Advanced Server (Commercial) 5.1 # # Difference between variant 3 and 2 is within the collation properties # IS_COMPILED and SORTLEN. # +# 2008-06 All time excluded variant is "vanilla". +# How to build "vanilla": +# ./BUILD/autorun.sh +# ./configure +# ./make +# Some properties of "vanilla" +# version_comment Source distribution +# Compared to the variants 1 to 3 a lot of character sets are missing. +# Example: "ucs2_bin" is in variant 1 to 3 but not in "vanilla". +# # Created: # 2007-12-18 mleich - remove the unstable character_set/collation subtests # from include/datadict-master.inc diff --git a/mysql-test/suite/funcs_1/datadict/columns.inc b/mysql-test/suite/funcs_1/datadict/columns.inc index 86f8afeff73..64318492b00 100644 --- a/mysql-test/suite/funcs_1/datadict/columns.inc +++ b/mysql-test/suite/funcs_1/datadict/columns.inc @@ -84,4 +84,3 @@ SELECT CHARACTER_OCTET_LENGTH / CHARACTER_MAXIMUM_LENGTH AS COL_CML, FROM information_schema.columns $my_where ORDER BY TABLE_SCHEMA, TABLE_NAME, ORDINAL_POSITION; - diff --git a/mysql-test/suite/funcs_1/datadict/is_key_column_usage.inc b/mysql-test/suite/funcs_1/datadict/is_key_column_usage.inc new file mode 100644 index 00000000000..098b8c6eca2 --- /dev/null +++ b/mysql-test/suite/funcs_1/datadict/is_key_column_usage.inc @@ -0,0 +1,362 @@ +# suite/funcs_1/datadict/is_key_column_usage.inc +# +# Check the layout of information_schema.key_column_usage and the impact of +# CREATE/ALTER/DROP TABLE/VIEW/SCHEMA/COLUMN ... on it. +# +# Note: +# This test is not intended +# - to show information about the all time existing tables +# within the databases information_schema and mysql +# - for checking storage engine properties +# Therefore please do not alter $engine_type. +# +# Author: +# 2008-01-23 mleich WL#4203 Reorganize and fix the data dictionary tests of +# testsuite funcs_1 +# Create this script based on older scripts and new code. +# Last Change: +# 2008-06-11 mleich Move t/is_key_column_usage.test to this file and +# create variants for embedded/non embedded server. +# + +let $engine_type = MEMORY; + +let $is_table = KEY_COLUMN_USAGE; + +# The table INFORMATION_SCHEMA.KEY_COLUMN_USAGE must exist +eval SHOW TABLES FROM information_schema LIKE '$is_table'; + +--echo ####################################################################### +--echo # Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT +--echo ####################################################################### +# Ensure that every INFORMATION_SCHEMA table can be queried with a SELECT +# statement, just as if it were an ordinary user-defined table. +# +--source suite/funcs_1/datadict/is_table_query.inc + + +--echo ######################################################################### +--echo # Testcase 3.2.7.1: INFORMATION_SCHEMA.KEY_COLUMN_USAGE layout +--echo ######################################################################### +# Ensure that the INFORMATION_SCHEMA.KEY_COLUMN_USAGE table has the following +# columns, in the following order: +# +# CONSTRAINT_CATALOG (always shows NULL), +# CONSTRAINT_SCHEMA (shows the database, or schema, in which an accessible +# constraint, or index, resides), +# CONSTRAINT_NAME (shows the name of the accessible constraint), +# TABLE_CATALOG (always shows NULL), +# TABLE_SCHEMA (shows the database, or schema, in which the table constrained +# by that constraint resides), +# TABLE_NAME (shows the name of the table constrained by the constraint), +# COLUMN_NAME (shows the name of a column that is the index key, or part of +# the index key), +# ORDINAL_POSITION (shows the ordinal position of the column within the +# constraint index), +# POSITION_IN_UNIQUE_CONSTRAINT (shows, for a foreign key column, the ordinal +# position of the referenced column within the referenced unique index; +# otherwise NULL). +# added with 5.0.6: +# REFERENCED_TABLE_SCHEMA, +# REFERENCED_TABLE_NAME, +# REFERENCED_COLUMN_NAME +# +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval DESCRIBE information_schema.$is_table; +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval SHOW CREATE TABLE information_schema.$is_table; +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval SHOW COLUMNS FROM information_schema.$is_table; + +# Note: Retrieval of information within information_schema.columns about +# information_schema.key_column_usage is in is_columns_is.test. + +# Show that CONSTRAINT_CATALOG and TABLE_CATALOG are always NULL. +SELECT constraint_catalog, constraint_schema, constraint_name, table_catalog, + table_schema, table_name, column_name +FROM information_schema.key_column_usage +WHERE constraint_catalog IS NOT NULL OR table_catalog IS NOT NULL; + + +--echo ######################################################################################## +--echo # Testcase 3.2.7.2 + 3.2.7.3: INFORMATION_SCHEMA.KEY_COLUMN_USAGE accessible information +--echo ######################################################################################## +# 3.2.7.2: Ensure that the table shows the relevant information on every column, defined to +# be part of an index key, which is accessible to the current user or to PUBLIC. +# 3.2.7.3: Ensure that the table does not show any information on any indexed column that is +# not accessible to the current user or PUBLIC. +# +--disable_warnings +DROP DATABASE IF EXISTS db_datadict; +--enable_warnings +CREATE DATABASE db_datadict; + +--error 0,ER_CANNOT_USER +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +--error 0,ER_CANNOT_USER +DROP USER 'testuser2'@'localhost'; +CREATE USER 'testuser2'@'localhost'; + +USE db_datadict; + +--replace_result $engine_type +eval +CREATE TABLE t1_1 + (f1 INT NOT NULL, PRIMARY KEY(f1), + f2 INT, INDEX f2_ind(f2)) +ENGINE = $engine_type; +GRANT SELECT ON t1_1 to 'testuser1'@'localhost'; + +--replace_result $engine_type +eval +CREATE TABLE t1_2 + (f1 INT NOT NULL, PRIMARY KEY(f1), + f2 INT, INDEX f2_ind(f2)) +ENGINE = $engine_type; +GRANT SELECT ON t1_2 to 'testuser2'@'localhost'; +#FIXME: add foreign keys + +let $select= SELECT * FROM information_schema.key_column_usage +WHERE table_name LIKE 't1_%' +ORDER BY constraint_catalog, constraint_schema, constraint_name, + table_catalog, table_schema, table_name, ordinal_position; + +# show view of user root +eval $select; + +--echo # Establish connection testuser1 (user=testuser1) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser1, localhost, testuser1, , db_datadict); +eval $select; + +--echo # Establish connection testuser2 (user=testuser2) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser2, localhost, testuser2, , db_datadict); +eval $select; + +# Cleanup +--echo # Switch to connection default and close connections testuser1, testuser2 +connection default; +disconnect testuser1; +disconnect testuser2; +DROP USER 'testuser1'@'localhost'; +DROP USER 'testuser2'@'localhost'; +DROP TABLE t1_1; +DROP TABLE t1_2; +DROP DATABASE IF EXISTS db_datadict; + + +--echo ######################################################################################## +--echo # Testcase 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.KEY_COLUMN_USAGE modifications +--echo ######################################################################################## +# 3.2.1.13: Ensure that the creation of any new database object (e.g. table or +# column) automatically inserts all relevant information on that +# object into every appropriate INFORMATION_SCHEMA table. +# 3.2.1.14: Ensure that the alteration of any existing database object +# automatically updates all relevant information on that object in +# every appropriate INFORMATION_SCHEMA table. +# 3.2.1.15: Ensure that the dropping of any existing database object +# automatically deletes all relevant information on that object from +# every appropriate INFORMATION_SCHEMA table. +# +--disable_warnings +DROP DATABASE IF EXISTS db_datadict; +DROP TABLE IF EXISTS test.t1_my_table; +--enable_warnings +CREATE DATABASE db_datadict; + +SELECT table_name FROM information_schema.key_column_usage +WHERE table_name LIKE 't1_my_table%'; +--replace_result $engine_type +eval +CREATE TABLE test.t1_my_table + (f1 CHAR(12), f2 TIMESTAMP, f4 BIGINT, PRIMARY KEY(f1,f2)) +DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci +ENGINE = $engine_type; +# Settings used in CREATE TABLE must be visible +# in information_schema.key_column_usage. +--vertical_results +SELECT * FROM information_schema.key_column_usage +WHERE table_name = 't1_my_table'; +--horizontal_results +# +# Check modification of TABLE_NAME +SELECT DISTINCT table_name FROM information_schema.key_column_usage +WHERE table_name LIKE 't1_my_table%'; +RENAME TABLE test.t1_my_table TO test.t1_my_tablex; +SELECT DISTINCT table_name FROM information_schema.key_column_usage +WHERE table_name LIKE 't1_my_table%'; +# +# Check modification of TABLE_SCHEMA +SELECT DISTINCT table_schema,table_name FROM information_schema.key_column_usage +WHERE table_name = 't1_my_tablex'; +RENAME TABLE test.t1_my_tablex TO db_datadict.t1_my_tablex; +SELECT DISTINCT table_schema,table_name FROM information_schema.key_column_usage +WHERE table_name = 't1_my_tablex'; +# +# Check modification of COLUMN_NAME +SELECT DISTINCT table_name, column_name FROM information_schema.key_column_usage +WHERE table_name = 't1_my_tablex' +ORDER BY table_name, column_name; +ALTER TABLE db_datadict.t1_my_tablex CHANGE COLUMN f1 first_col CHAR(12); +SELECT DISTINCT table_name, column_name FROM information_schema.key_column_usage +WHERE table_name = 't1_my_tablex' +ORDER BY table_name, column_name; +# +# Note: The size of the column list and the not very selective qualification +# is intended. I want to see that the schema names are equal and +# all records about 't1_my_tablex'. +let $my_select = SELECT constraint_schema, constraint_name, table_schema, +table_name, column_name, ordinal_position +FROM information_schema.key_column_usage +WHERE table_name = 't1_my_tablex' +ORDER BY constraint_schema, constraint_name, table_schema, + table_name, ordinal_position; +# +# Check ADD INDEX being not UNIQUE (does not show up in key_column_usage) +eval $my_select; +CREATE INDEX f2 ON db_datadict.t1_my_tablex(f2); +eval $my_select; +DROP INDEX f2 ON db_datadict.t1_my_tablex; +# +# Check ADD UNIQUE INDEX without name explicit assigned +eval $my_select; +ALTER TABLE db_datadict.t1_my_tablex ADD UNIQUE (f2); +eval $my_select; +DROP INDEX f2 ON db_datadict.t1_my_tablex; +# +# Check ADD UNIQUE INDEX with name explicit assigned +eval $my_select; +ALTER TABLE db_datadict.t1_my_tablex ADD UNIQUE my_idx (f2); +eval $my_select; +DROP INDEX my_idx ON db_datadict.t1_my_tablex; +eval $my_select; +ALTER TABLE db_datadict.t1_my_tablex ADD UNIQUE my_idx (f4,first_col); +eval $my_select; +# +# Check DROP COLUMN +eval $my_select; +ALTER TABLE db_datadict.t1_my_tablex +DROP COLUMN first_col; +eval $my_select; +# +# Check impact of DROP TABLE +SELECT table_name, column_name +FROM information_schema.key_column_usage +WHERE table_name = 't1_my_tablex' +ORDER BY table_name, column_name; +DROP TABLE db_datadict.t1_my_tablex; +SELECT table_name, column_name +FROM information_schema.key_column_usage +WHERE table_name = 't1_my_tablex'; +# +# No UNIQUE CONSTRAINT -> no entry in key_column_usage +SELECT table_name FROM information_schema.key_column_usage +WHERE table_name = 't1_my_tablex'; +--replace_result $engine_type +eval +CREATE TABLE db_datadict.t1_my_tablex +ENGINE = $engine_type AS +SELECT 1 AS f1; +SELECT table_name FROM information_schema.key_column_usage +WHERE table_name = 't1_my_tablex'; +# UNIQUE CONSTRAINT -> entry in key_column_usage +ALTER TABLE db_datadict.t1_my_tablex ADD PRIMARY KEY(f1); +SELECT table_name FROM information_schema.key_column_usage +WHERE table_name = 't1_my_tablex'; +# +# Check impact of DROP SCHEMA +SELECT table_name FROM information_schema.key_column_usage +WHERE table_name = 't1_my_tablex'; +DROP DATABASE db_datadict; +SELECT table_name FROM information_schema.key_column_usage +WHERE table_name = 't1_my_tablex'; +# + + +--echo ######################################################################## +--echo # Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and +--echo # DDL on INFORMATION_SCHEMA table are not supported +--echo ######################################################################## +# 3.2.1.3: Ensure that no user may execute an INSERT statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.4: Ensure that no user may execute an UPDATE statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.5: Ensure that no user may execute a DELETE statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.8: Ensure that no user may create an index on an +# INFORMATION_SCHEMA table. +# 3.2.1.9: Ensure that no user may alter the definition of an +# INFORMATION_SCHEMA table. +# 3.2.1.10: Ensure that no user may drop an INFORMATION_SCHEMA table. +# 3.2.1.11: Ensure that no user may move an INFORMATION_SCHEMA table to any +# other database. +# 3.2.1.12: Ensure that no user may directly add to, alter, or delete any data +# in an INFORMATION_SCHEMA table. +# +--disable_warnings +DROP DATABASE IF EXISTS db_datadict; +DROP TABLE IF EXISTS db_datadict.t1; +--enable_warnings +CREATE DATABASE db_datadict; +--replace_result $engine_type +eval +CREATE TABLE db_datadict.t1 (f1 BIGINT) +ENGINE = $engine_type; + +# Note(mleich): +# 1. We can get here different error messages. +# 2. We do not want to unify the individual messages to the far to unspecific +# 'Got one of the listed errors'. +let $my_error_message = +##### The previous statement must fail ###### +# Server type | expected error name | expected error message +# -------------------------------------------------------------------------------------------------------------------- +# not embedded | ER_DBACCESS_DENIED_ERROR | ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +# embedded | ER_NON_INSERTABLE_TABLE | ERROR HY000: The target table schemata of the INSERT is not insertable-into +# | or similar | or similar +; + +--disable_abort_on_error +INSERT INTO information_schema.key_column_usage + (constraint_schema, constraint_name, table_name) +VALUES ( 'mysql', 'primary', 'db'); +if (!$mysql_errno) +{ + --echo $my_error_message + exit; +} +--error ER_DBACCESS_DENIED_ERROR +INSERT INTO information_schema.key_column_usage +SELECT * FROM information_schema.key_column_usage; + +--error ER_DBACCESS_DENIED_ERROR +UPDATE information_schema.key_column_usage +SET table_name = 'db1' WHERE constraint_name = 'primary'; + +--error ER_DBACCESS_DENIED_ERROR +DELETE FROM information_schema.key_column_usage WHERE table_name = 't1'; +--error ER_DBACCESS_DENIED_ERROR +TRUNCATE information_schema.key_column_usage; + +--error ER_DBACCESS_DENIED_ERROR +CREATE INDEX i3 ON information_schema.key_column_usage(table_name); + +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.key_column_usage ADD f1 INT; + +--error ER_DBACCESS_DENIED_ERROR +DROP TABLE information_schema.key_column_usage; + +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.key_column_usage +RENAME db_datadict.key_column_usage; +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.key_column_usage +RENAME information_schema.xkey_column_usage; +--enable_abort_on_error + +# Cleanup +DROP TABLE db_datadict.t1; +DROP DATABASE db_datadict; diff --git a/mysql-test/suite/funcs_1/datadict/is_routines.inc b/mysql-test/suite/funcs_1/datadict/is_routines.inc new file mode 100644 index 00000000000..28a849e9df5 --- /dev/null +++ b/mysql-test/suite/funcs_1/datadict/is_routines.inc @@ -0,0 +1,522 @@ +# suite/funcs_1/datadict/is_routines.inc +# +# Check the layout of information_schema.routines and the impact of +# CREATE/ALTER/DROP PROCEDURE/FUNCTION ... on it. +# +# Note: +# This test is not intended +# - to show information about the all time existing routines (there are no +# in the moment) within the databases information_schema and mysql +# - for checking storage engine properties +# Therefore please do not alter $engine_type and $other_engine_type. +# +# Author: +# 2008-01-23 mleich WL#4203 Reorganize and fix the data dictionary tests of +# testsuite funcs_1 +# Create this script based on older scripts and new code. +# Last Change: +# 2008-06-11 mleich Move t/is_routines.test to this file and +# create variants for embedded/non embedded server. +# + +let $engine_type = MEMORY; +let $other_engine_type = MyISAM; + +let $is_table = ROUTINES; + +# The table INFORMATION_SCHEMA.TABLES must exist +eval SHOW TABLES FROM information_schema LIKE '$is_table'; + +--echo ####################################################################### +--echo # Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT +--echo ####################################################################### +# Ensure that every INFORMATION_SCHEMA table can be queried with a SELECT +# statement, just as if it were an ordinary user-defined table. +# +--source suite/funcs_1/datadict/is_table_query.inc + + +--echo ######################################################################### +--echo # Testcase 3.2.8.1: INFORMATION_SCHEMA.ROUTINES layout +--echo ######################################################################### +# Ensure that the INFORMATION_SCHEMA.ROUTINES table has the following columns, +# in the following order: +# +# SPECIFIC_NAME (shows the name of an accessible stored procedure, or routine), +# ROUTINE_CATALOG (always shows NULL), +# ROUTINE_SCHEMA (shows the database, or schema, in which the routine resides), +# ROUTINE_NAME (shows the same stored procedure name), +# ROUTINE_TYPE (shows whether the stored procedure is a procedure or a function), +# DTD_IDENTIFIER (shows, for a function, the complete data type definition of +# the value the function will return; otherwise NULL), +# ROUTINE_BODY (shows the language in which the stored procedure is written; +# currently always SQL), +# ROUTINE_DEFINITION (shows as much of the routine body as is possible in the +# allotted space), +# EXTERNAL_NAME (always shows NULL), +# EXTERNAL_LANGUAGE (always shows NULL), +# PARAMETER_STYLE (shows the routine's parameter style; always SQL), +# IS_DETERMINISTIC (shows whether the routine is deterministic), +# SQL_DATA_ACCESS (shows the routine's defined sql-data-access clause value), +# SQL_PATH (always shows NULL), +# SECURITY_TYPE (shows whether the routine's defined security_type is 'definer' +# or 'invoker'), +# CREATED (shows the timestamp of the time the routine was created), +# LAST_ALTERED (shows the timestamp of the time the routine was last altered), +# SQL_MODE (shows the sql_mode setting at the time the routine was created), +# ROUTINE_COMMENT (shows the comment, if any, defined for the routine; +# otherwise NULL), +# DEFINER (shows the user who created the routine). +# Starting with MySQL 5.1 +# CHARACTER_SET_CLIENT +# COLLATION_CONNECTION +# DATABASE_COLLATION +# +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval DESCRIBE information_schema.$is_table; +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval SHOW CREATE TABLE information_schema.$is_table; +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval SHOW COLUMNS FROM information_schema.$is_table; + +USE test; +--disable_warnings +DROP PROCEDURE IF EXISTS sp_for_routines; +DROP FUNCTION IF EXISTS function_for_routines; +--enable_warnings +CREATE PROCEDURE sp_for_routines() SELECT 'db_datadict'; +CREATE FUNCTION function_for_routines() RETURNS INT RETURN 0; + +# Show that the column values of +# ROUTINE_CATALOG, EXTERNAL_NAME, EXTERNAL_LANGUAGE, SQL_PATH are always NULL +# and +# ROUTINE_BODY, PARAMETER_STYLE are 'SQL' +# and +# SPECIFIC_NAME = ROUTINE_NAME. +SELECT specific_name,routine_catalog,routine_schema,routine_name,routine_type, + routine_body,external_name,external_language,parameter_style,sql_path +FROM information_schema.routines +WHERE routine_catalog IS NOT NULL OR external_name IS NOT NULL + OR external_language IS NOT NULL OR sql_path IS NOT NULL + OR routine_body <> 'SQL' OR parameter_style <> 'SQL' + OR specific_name <> routine_name; + +DROP PROCEDURE sp_for_routines; +DROP FUNCTION function_for_routines; + + +--echo ################################################################################ +--echo # Testcase 3.2.8.2 + 3.2.8.3: INFORMATION_SCHEMA.ROUTINES accessible information +--echo ################################################################################ +# 3.2.8.2: Ensure that the table shows the relevant information on every SQL-invoked +# routine (i.e. stored procedure) which is accessible to the current user +# or to PUBLIC. +# 3.2.8.3: Ensure that the table does not show any information on any stored procedure +# that is not accessible to the current user or PUBLIC. +# +--disable_warnings +DROP DATABASE IF EXISTS db_datadict; +DROP DATABASE IF EXISTS db_datadict_2; +--enable_warnings + +CREATE DATABASE db_datadict; +USE db_datadict; +--replace_result $other_engine_type +eval +CREATE TABLE res_6_408002_1(f1 CHAR(3), f2 TEXT(25), f3 DATE, f4 INT) +ENGINE = $other_engine_type; +INSERT INTO res_6_408002_1(f1, f2, f3, f4) +VALUES('abc', 'xyz', '1989-11-09', 0815); +--disable_warnings +DROP PROCEDURE IF EXISTS sp_6_408002_1; +--enable_warnings +delimiter //; +CREATE PROCEDURE sp_6_408002_1() +BEGIN + SELECT * FROM db_datadict.res_6_408002_1; +END// +delimiter ;// + +CREATE DATABASE db_datadict_2; +USE db_datadict_2; +--replace_result $other_engine_type +eval +CREATE TABLE res_6_408002_2(f1 CHAR(3), f2 TEXT(25), f3 DATE, f4 INT) +ENGINE = $other_engine_type; +INSERT INTO res_6_408002_2(f1, f2, f3, f4) +VALUES('abc', 'xyz', '1990-10-03', 4711); +--disable_warnings +DROP PROCEDURE IF EXISTS sp_6_408002_2; +--enable_warnings +delimiter //; +CREATE PROCEDURE sp_6_408002_2() +BEGIN + SELECT * FROM db_datadict_2.res_6_408002_2; +END// +delimiter ;// + +--error 0,ER_CANNOT_USER +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +--error 0,ER_CANNOT_USER +DROP USER 'testuser2'@'localhost'; +CREATE USER 'testuser2'@'localhost'; +--error 0,ER_CANNOT_USER +DROP USER 'testuser3'@'localhost'; +CREATE USER 'testuser3'@'localhost'; + + +GRANT SELECT ON db_datadict_2.* TO 'testuser1'@'localhost'; +GRANT EXECUTE ON db_datadict_2.* TO 'testuser1'@'localhost'; + +GRANT EXECUTE ON db_datadict.* TO 'testuser1'@'localhost'; +GRANT SELECT ON db_datadict.* TO 'testuser2'@'localhost'; + +GRANT EXECUTE ON PROCEDURE db_datadict_2.sp_6_408002_2 +TO 'testuser2'@'localhost'; +GRANT EXECUTE ON db_datadict_2.* TO 'testuser2'@'localhost'; +FLUSH PRIVILEGES; + +--echo # Establish connection testuser1 (user=testuser1) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser1, localhost, testuser1, , db_datadict); +--replace_column 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss" +SELECT * FROM information_schema.routines; + +--echo # Establish connection testuser2 (user=testuser2) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser2, localhost, testuser2, , db_datadict); +--replace_column 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss" +SELECT * FROM information_schema.routines; + +--echo # Establish connection testuser3 (user=testuser3) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser3, localhost, testuser3, , test); +--replace_column 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss" +SELECT * FROM information_schema.routines; + +# Cleanup +--echo # Switch to connection default and close connections testuser1,testuser2,testuser3 +connection default; +disconnect testuser1; +disconnect testuser2; +disconnect testuser3; + +DROP USER 'testuser1'@'localhost'; +DROP USER 'testuser2'@'localhost'; +DROP USER 'testuser3'@'localhost'; + +USE test; +DROP DATABASE db_datadict; +DROP DATABASE db_datadict_2; + + +--echo ######################################################################### +--echo # 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.ROUTINES modifications +--echo ######################################################################### +# 3.2.1.13: Ensure that the creation of any new database object (e.g. table or +# column) automatically inserts all relevant information on that +# object into every appropriate INFORMATION_SCHEMA table. +# 3.2.1.14: Ensure that the alteration of any existing database object +# automatically updates all relevant information on that object in +# every appropriate INFORMATION_SCHEMA table. +# 3.2.1.15: Ensure that the dropping of any existing database object +# automatically deletes all relevant information on that object from +# every appropriate INFORMATION_SCHEMA table. +# +# Some more tests are in t/information_schema_routines.test which exists +# in MySQL 5.1 and up only. +# +--disable_warnings +DROP DATABASE IF EXISTS db_datadict; +--enable_warnings +CREATE DATABASE db_datadict; + +SELECT * FROM information_schema.routines WHERE routine_schema = 'db_datadict'; +USE db_datadict; +CREATE PROCEDURE sp_for_routines() SELECT 'db_datadict'; +CREATE FUNCTION function_for_routines() RETURNS INT RETURN 0; +--vertical_results +--replace_column 16 17 +SELECT * FROM information_schema.routines WHERE routine_schema = 'db_datadict' +ORDER BY routine_name; +--horizontal_results + +ALTER PROCEDURE sp_for_routines SQL SECURITY INVOKER; +ALTER FUNCTION function_for_routines COMMENT 'updated comments'; +--vertical_results +--replace_column 16 17 +SELECT * FROM information_schema.routines WHERE routine_schema = 'db_datadict' +ORDER BY routine_name; +--horizontal_results + +DROP PROCEDURE sp_for_routines; +DROP FUNCTION function_for_routines; +SELECT * FROM information_schema.routines WHERE routine_schema = 'db_datadict'; + +CREATE PROCEDURE sp_for_routines() SELECT 'db_datadict'; +CREATE FUNCTION function_for_routines() RETURNS INT RETURN 0; +--vertical_results +--replace_column 16 17 +SELECT * FROM information_schema.routines WHERE routine_schema = 'db_datadict' +ORDER BY routine_name; +--horizontal_results +use test; +DROP DATABASE db_datadict; +SELECT * FROM information_schema.routines WHERE routine_schema = 'db_datadict'; + + +--echo ######################################################################### +--echo # 3.2.8.4: INFORMATION_SCHEMA.ROUTINES routine body too big for +--echo # ROUTINE_DEFINITION column +--echo ######################################################################### +# Ensure that a stored procedure with a routine body that is too large to fit +# into the INFORMATION_SCHEMA.ROUTINES.ROUTINE_DEFINITION column correctly shows +# as much of the information as is possible within the allotted size. +# +--disable_warnings +DROP DATABASE IF EXISTS db_datadict; +--enable_warnings +CREATE DATABASE db_datadict; +USE db_datadict; +# +--replace_result $other_engine_type +eval +CREATE TABLE db_datadict.res_6_408004_1 + (f1 LONGTEXT , f2 MEDIUMINT , f3 LONGBLOB , f4 REAL , f5 YEAR) +ENGINE = $other_engine_type; +INSERT INTO db_datadict.res_6_408004_1 +VALUES ('abc', 98765 , 99999999 , 98765, 10); +# +--replace_result $other_engine_type +eval +CREATE TABLE db_datadict.res_6_408004_2 + (f1 LONGTEXT , f2 MEDIUMINT , f3 LONGBLOB , f4 REAL , f5 YEAR) +ENGINE = $other_engine_type; +INSERT INTO db_datadict.res_6_408004_2 +VALUES ('abc', 98765 , 99999999 , 98765, 10); + +--echo # Checking the max. possible length of (currently) 4 GByte is not +--echo # in this environment here. + +delimiter //; +CREATE PROCEDURE sp_6_408004 () +BEGIN + DECLARE done INTEGER DEFAULt 0; + DECLARE variable_number_1 LONGTEXT; + DECLARE variable_number_2 MEDIUMINT; + DECLARE variable_number_3 LONGBLOB; + DECLARE variable_number_4 REAL; + DECLARE variable_number_5 YEAR; + DECLARE cursor_number_1 CURSOR FOR SELECT * FROM res_6_408004_1 LIMIT 0, 10; + DECLARE cursor_number_2 CURSOR FOR SELECT * FROM res_6_408004_1 LIMIT 0, 10; + DECLARE cursor_number_3 CURSOR FOR SELECT * FROM res_6_408004_1 LIMIT 0, 10; + DECLARE cursor_number_4 CURSOR FOR SELECT * FROM res_6_408004_1 LIMIT 0, 10; + DECLARE cursor_number_5 CURSOR FOR SELECT * FROM res_6_408004_1 LIMIT 0, 10; + DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1; + BEGIN + OPEN cursor_number_1; + WHILE done <> 1 DO + FETCH cursor_number_1 + INTO variable_number_1, variable_number_2, variable_number_3, + variable_number_4, variable_number_5; + IF done <> 0 THEN + INSERT INTO res_6_408004_2 + VALUES (variable_number_1, variable_number_2, variable_number_3, + variable_number_4, variable_number_5); + END IF; + END WHILE; + BEGIN + BEGIN + SET done = 0; + OPEN cursor_number_2; + WHILE done <> 1 DO + FETCH cursor_number_2 + INTO variable_number_1, variable_number_2, variable_number_3, + variable_number_4, variable_number_5; + IF done <> 0 THEN + INSERT INTO res_6_408004_2 + VALUES(variable_number_1, variable_number_2, variable_number_3, + variable_number_4, variable_number_5); + END IF; + END WHILE; + END; + SET done = 0; + OPEN cursor_number_3; + WHILE done <> 1 DO + FETCH cursor_number_3 + INTO variable_number_1, variable_number_2, variable_number_3, + variable_number_4, variable_number_5; + IF done <> 0 THEN + INSERT INTO res_6_408004_2 + VALUES(variable_number_1, variable_number_2, variable_number_3, + variable_number_4, variable_number_5); + END IF; + END WHILE; + END; + END; + BEGIN + SET done = 0; + OPEN cursor_number_4; + WHILE done <> 1 DO + FETCH cursor_number_4 + INTO variable_number_1, variable_number_2, variable_number_3, + variable_number_4, variable_number_5; + IF done <> 0 THEN + INSERT INTO res_6_408004_2 + VALUES (variable_number_1, variable_number_2, variable_number_3, + variable_number_4, variable_number_5); + END IF; + END WHILE; + END; + BEGIN + SET @a='test row'; + SELECT @a; + SELECT @a; + SELECT @a; + END; + BEGIN + SET done = 0; + OPEN cursor_number_5; + WHILE done <> 1 DO + FETCH cursor_number_5 + INTO variable_number_1, variable_number_2, variable_number_3, + variable_number_4, variable_number_5; + IF done <> 0 THEN + INSERT INTO res_6_408004_2 + VALUES (variable_number_1, variable_number_2, variable_number_3, + variable_number_4, variable_number_5); + END IF; + END WHILE; + END; + BEGIN + SET @a='test row'; + SELECT @a; + SELECT @a; + SELECT @a; + END; +END// +delimiter ;// + +CALL db_datadict.sp_6_408004 (); +SELECT * FROM db_datadict.res_6_408004_2; + +--vertical_results +--replace_column 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss" +SELECT *, LENGTH(routine_definition) FROM information_schema.routines +WHERE routine_schema = 'db_datadict'; +--horizontal_results + +# Cleanup +DROP DATABASE db_datadict; +# ---------------------------------------------------------------------------------------------- + + +--echo ######################################################################## +--echo # Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and +--echo # DDL on INFORMATION_SCHEMA table are not supported +--echo ######################################################################## +# 3.2.1.3: Ensure that no user may execute an INSERT statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.4: Ensure that no user may execute an UPDATE statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.5: Ensure that no user may execute a DELETE statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.8: Ensure that no user may create an index on an INFORMATION_SCHEMA table. +# 3.2.1.9: Ensure that no user may alter the definition of an +# INFORMATION_SCHEMA table. +# 3.2.1.10: Ensure that no user may drop an INFORMATION_SCHEMA table. +# 3.2.1.11: Ensure that no user may move an INFORMATION_SCHEMA table to any +# other database. +# 3.2.1.12: Ensure that no user may directly add to, alter, or delete any data +# in an INFORMATION_SCHEMA table. +# +--disable_warnings +DROP DATABASE IF EXISTS db_datadict; +--enable_warnings +CREATE DATABASE db_datadict; +USE db_datadict; +CREATE PROCEDURE sp_for_routines() SELECT 'db_datadict'; +USE test; + +# Note(mleich): +# 1. We can get here different error messages. +# 2. We do not want to unify the individual messages to the far to unspecific +# 'Got one of the listed errors'. +let $my_error_message = +##### The previous statement must fail ###### +# Server type | expected error name | expected error message +# -------------------------------------------------------------------------------------------------------------------- +# not embedded | ER_DBACCESS_DENIED_ERROR | ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +# embedded | ER_NON_INSERTABLE_TABLE | ERROR HY000: The target table schemata of the INSERT is not insertable-into +# | or similar | or similar +; + +--disable_abort_on_error +INSERT INTO information_schema.routines (routine_name, routine_type ) +VALUES ('p2', 'procedure'); +if (!$mysql_errno) +{ + --echo $my_error_message + exit; +} +UPDATE information_schema.routines SET routine_name = 'p2' +WHERE routine_body = 'sql'; +if (!$mysql_errno) +{ + --echo $my_error_message + exit; +} +DELETE FROM information_schema.routines ; +if (!$mysql_errno) +{ + --echo $my_error_message + exit; +} +TRUNCATE information_schema.routines ; +if (!$mysql_errno) +{ + --echo $my_error_message + exit; +} +CREATE INDEX i7 ON information_schema.routines (routine_name); +if (!$mysql_errno) +{ + --echo $my_error_message + exit; +} +ALTER TABLE information_schema.routines ADD f1 INT; +if (!$mysql_errno) +{ + --echo $my_error_message + exit; +} +ALTER TABLE information_schema.routines DISCARD TABLESPACE; +if (!$mysql_errno) +{ + --echo $my_error_message + exit; +} +DROP TABLE information_schema.routines ; +if (!$mysql_errno) +{ + --echo $my_error_message + exit; +} +ALTER TABLE information_schema.routines RENAME db_datadict.routines; +if (!$mysql_errno) +{ + --echo $my_error_message + exit; +} +ALTER TABLE information_schema.routines RENAME information_schema.xroutines; +if (!$mysql_errno) +{ + --echo $my_error_message + exit; +} +--enable_abort_on_error + +# Cleanup +DROP DATABASE db_datadict; + diff --git a/mysql-test/suite/funcs_1/datadict/is_schemata.inc b/mysql-test/suite/funcs_1/datadict/is_schemata.inc new file mode 100644 index 00000000000..29e1f6af4ef --- /dev/null +++ b/mysql-test/suite/funcs_1/datadict/is_schemata.inc @@ -0,0 +1,300 @@ +# suite/funcs_1/datadict/is_schemata.inc +# +# Check the layout of information_schema.schemata, permissions and the impact of +# CREATE/ALTER/DROP SCHEMA on it. +# +# Note: +# This test is not intended +# - to show information about the all time existing databases +# information_schema and mysql +# - for checking storage engine properties +# +# Author: +# 2008-01-23 mleich WL#4203 Reorganize and fix the data dictionary tests of +# testsuite funcs_1 +# Create this script based on older scripts and new code. +# Last Change: +# 2008-06-11 mleich Move t/is_schemata.test to this file and +# create variants for embedded/non embedded server. +# + +let $is_table = SCHEMATA; + +# The table INFORMATION_SCHEMA.SCHEMATA must exist +eval SHOW TABLES FROM information_schema LIKE '$is_table'; + +--echo ####################################################################### +--echo # Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT +--echo ####################################################################### +# Ensure that every INFORMATION_SCHEMA table can be queried with a SELECT +# statement, just as if it were an ordinary user-defined table. +# +--source suite/funcs_1/datadict/is_table_query.inc + + +--echo ######################################################################### +--echo # Testcase 3.2.9.1: INFORMATION_SCHEMA.SCHEMATA layout; +--echo ######################################################################### +# Ensure that the INFORMATION_SCHEMA.SCHEMATA table has the following columns, +# in the following order: +# +# CATALOG_NAME (always shows NULL), +# SCHEMA_NAME (shows the name of a database, or schema, on which the current +# user or PUBLIC has privileges), +# DEFAULT_CHARACTER_SET_NAME (shows the name of that database's default +# character set), +# DEFAULT_COLLATION_NAME (shows the database defaul collation) +# SQL_PATH (always shows NULL). +# +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval DESCRIBE information_schema.$is_table; +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval SHOW CREATE TABLE information_schema.$is_table; +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval SHOW COLUMNS FROM information_schema.$is_table; + +# Note: Retrieval of information within information_schema.columns about +# information_schema.schemata is in is_columns_is.test. + +# Show that CATALOG_NAME and SQL_PATH are always NULL. +SELECT catalog_name, schema_name, sql_path +FROM information_schema.schemata +WHERE catalog_name IS NOT NULL or sql_path IS NOT NULL; + + +--echo ############################################################################### +--echo # Testcases 3.2.9.2+3.2.9.3: INFORMATION_SCHEMA.SCHEMATA accessible information +--echo ############################################################################### +# 3.2.9.2 Ensure that the table shows the relevant information for every +# database on which the current user or PUBLIC have privileges. +# 3.2.9.3 Ensure that the table does not show any information on any databases +# on which the current user and PUBLIC have no privileges. +# +# Note: Check of content within information_schema.schemata about the databases +# information_schema and mysql is in +# suite/funcs_1/t/is_schemata_is_mysql.test. +# +--disable_warnings +DROP DATABASE IF EXISTS db_datadict_1; +DROP DATABASE IF EXISTS db_datadict_2; +--enable_warnings +CREATE DATABASE db_datadict_1; +CREATE DATABASE db_datadict_2; + +--error 0,ER_CANNOT_USER +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +--error 0,ER_CANNOT_USER +DROP USER 'testuser2'@'localhost'; +CREATE USER 'testuser2'@'localhost'; +--error 0,ER_CANNOT_USER +DROP USER 'testuser3'@'localhost'; +CREATE USER 'testuser3'@'localhost'; + +GRANT SELECT ON db_datadict_1.* to 'testuser1'@'localhost'; +GRANT SELECT ON db_datadict_1.* to 'testuser2'@'localhost'; +GRANT SELECT ON db_datadict_2.* to 'testuser2'@'localhost'; + +let $my_select = SELECT * FROM information_schema.schemata +WHERE schema_name LIKE 'db_datadict_%' ORDER BY schema_name; +let $my_show = SHOW DATABASES LIKE 'db_datadict_%'; + +eval $my_select; +--sorted_result +eval $my_show; + +--echo # Establish connection testuser1 (user=testuser1) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser1, localhost, testuser1, , db_datadict_1); +# Shows db_datadict_1 +eval $my_select; +--sorted_result +eval $my_show; + +--echo # Establish connection testuser2 (user=testuser2) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser2, localhost, testuser2, , db_datadict_2); +# Shows db_datadict_1 and db_datadict_2 +eval $my_select; +--sorted_result +eval $my_show; + +--echo # Establish connection testuser3 (user=testuser3) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser3, localhost, testuser3, , test); +# Shows neither db_datadict_1 nor db_datadict_2 +eval $my_select; +--sorted_result +eval $my_show; + +# Cleanup +--echo # Switch to connection default and close connections testuser1,testuser2,testuser3 +connection default; +disconnect testuser1; +disconnect testuser2; +disconnect testuser3; +DROP USER 'testuser1'@'localhost'; +DROP USER 'testuser2'@'localhost'; +DROP USER 'testuser3'@'localhost'; +DROP DATABASE db_datadict_1; +DROP DATABASE db_datadict_2; + + +--echo ################################################################################# +--echo # Testcases 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.SCHEMATA modifications +--echo ################################################################################# +# 3.2.1.13: Ensure that the creation of any new database object (e.g. table or +# column) automatically inserts all relevant information on that +# object into every appropriate INFORMATION_SCHEMA table. +# 3.2.1.14: Ensure that the alteration of any existing database object +# automatically updates all relevant information on that object in +# every appropriate INFORMATION_SCHEMA table. +# 3.2.1.15: Ensure that the dropping of any existing database object +# automatically deletes all relevant information on that object from +# every appropriate INFORMATION_SCHEMA table. +# +--disable_warnings +DROP DATABASE IF EXISTS db_datadict; +--enable_warnings + +SELECT * FROM information_schema.schemata WHERE schema_name = 'db_datadict'; +CREATE DATABASE db_datadict CHARACTER SET 'latin1' COLLATE 'latin1_swedish_ci'; +SELECT * FROM information_schema.schemata WHERE schema_name = 'db_datadict'; + +# Check modify default CHARACTER SET +SELECT schema_name, default_character_set_name +FROM information_schema.schemata WHERE schema_name = 'db_datadict'; +ALTER SCHEMA db_datadict CHARACTER SET 'utf8'; +SELECT schema_name, default_character_set_name +FROM information_schema.schemata WHERE schema_name = 'db_datadict'; +ALTER SCHEMA db_datadict CHARACTER SET 'latin1'; + +# Check modify default COLLATION +SELECT schema_name, default_collation_name FROM information_schema.schemata +WHERE schema_name = 'db_datadict'; +ALTER SCHEMA db_datadict COLLATE 'latin1_general_cs'; +SELECT schema_name, default_collation_name FROM information_schema.schemata +WHERE schema_name = 'db_datadict'; + +# Check DROP DATABASE +SELECT schema_name +FROM information_schema.schemata WHERE schema_name = 'db_datadict'; +DROP DATABASE db_datadict; +SELECT schema_name +FROM information_schema.schemata WHERE schema_name = 'db_datadict'; + + +--echo ######################################################################## +--echo # Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and +--echo # DDL on INFORMATION_SCHEMA tables are not supported +--echo ######################################################################## +# 3.2.1.3: Ensure that no user may execute an INSERT statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.4: Ensure that no user may execute an UPDATE statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.5: Ensure that no user may execute a DELETE statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.8: Ensure that no user may create an index on an INFORMATION_SCHEMA table. +# 3.2.1.9: Ensure that no user may alter the definition of an +# INFORMATION_SCHEMA table. +# 3.2.1.10: Ensure that no user may drop an INFORMATION_SCHEMA table. +# 3.2.1.11: Ensure that no user may move an INFORMATION_SCHEMA table to any +# other database. +# 3.2.1.12: Ensure that no user may directly add to, alter, or delete any data +# in an INFORMATION_SCHEMA table. +# +--disable_warnings +DROP DATABASE IF EXISTS db_datadict; +--enable_warnings +CREATE DATABASE db_datadict CHARACTER SET 'latin1' COLLATE 'latin1_swedish_ci'; + +# Note(mleich): +# 1. We can get here different error messages. +# 2. We do not want to unify the individual messages to the far to unspecific +# 'Got one of the listed errors'. +let $my_error_message = +##### The previous statement must fail ###### +# Server type | expected error name | expected error message +# -------------------------------------------------------------------------------------------------------------------- +# not embedded | ER_DBACCESS_DENIED_ERROR | ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' +# embedded | ER_NON_INSERTABLE_TABLE | ERROR HY000: The target table schemata of the INSERT is not insertable-into +# | or similar | or similar +; + +--disable_abort_on_error +INSERT INTO information_schema.schemata + (catalog_name, schema_name, default_character_set_name, sql_path) +VALUES (NULL, 'db1', 'latin1', NULL); +if (!$mysql_errno) +{ + --echo $my_error_message + exit; +} +INSERT INTO information_schema.schemata +SELECT * FROM information_schema.schemata; +if (!$mysql_errno) +{ + --echo $my_error_message + exit; +} +UPDATE information_schema.schemata +SET default_character_set_name = 'utf8' +WHERE schema_name = 'db_datadict'; +if (!$mysql_errno) +{ + --echo $my_error_message + exit; +} +UPDATE information_schema.schemata SET catalog_name = 't_4711'; +if (!$mysql_errno) +{ + --echo $my_error_message + exit; +} +DELETE FROM information_schema.schemata WHERE schema_name = 'db_datadict'; +if (!$mysql_errno) +{ + --echo $my_error_message + exit; +} +TRUNCATE information_schema.schemata; +if (!$mysql_errno) +{ + --echo $my_error_message + exit; +} +CREATE INDEX i1 ON information_schema.schemata(schema_name); +if (!$mysql_errno) +{ + --echo $my_error_message + exit; +} +ALTER TABLE information_schema.schemata ADD f1 INT; +if (!$mysql_errno) +{ + --echo $my_error_message + exit; +} +DROP TABLE information_schema.schemata; +if (!$mysql_errno) +{ + --echo $my_error_message + exit; +} +ALTER TABLE information_schema.schemata RENAME db_datadict.schemata; +if (!$mysql_errno) +{ + --echo $my_error_message + exit; +} +ALTER TABLE information_schema.schemata RENAME information_schema.xschemata; +if (!$mysql_errno) +{ + --echo $my_error_message + exit; +} +--enable_abort_on_error + +# Cleanup +DROP DATABASE db_datadict; + diff --git a/mysql-test/suite/funcs_1/datadict/is_tables.inc b/mysql-test/suite/funcs_1/datadict/is_tables.inc new file mode 100644 index 00000000000..6d47c33e715 --- /dev/null +++ b/mysql-test/suite/funcs_1/datadict/is_tables.inc @@ -0,0 +1,475 @@ +# suite/funcs_1/datadict/is_tables.inc +# +# Check the layout of information_schema.tables and the impact of +# CREATE/ALTER/DROP TABLE/VIEW/SCHEMA ... on it. +# +# Note: +# This test is not intended +# - to show information about the all time existing tables +# within the databases information_schema and mysql +# - for checking storage engine properties +# Therefore please do not alter $engine_type and $other_engine_type. +# Some results of the subtests depend on the storage engines assigned. +# +# Author: +# 2008-01-23 mleich WL#4203 Reorganize and fix the data dictionary tests of +# testsuite funcs_1 +# Create this script based on older scripts and new code. +# Last Change: +# 2008-06-11 mleich Move t/is_tables.test to this file and +# create variants for embedded/non embedded server. +# + +let $engine_type = MEMORY; +let $other_engine_type = MyISAM; + +let $is_table = TABLES; + +# The table INFORMATION_SCHEMA.TABLES must exist +eval SHOW TABLES FROM information_schema LIKE '$is_table'; + +--echo ####################################################################### +--echo # Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT +--echo ####################################################################### +# Ensure that every INFORMATION_SCHEMA table can be queried with a SELECT +# statement, just as if it were an ordinary user-defined table. +# +--source suite/funcs_1/datadict/is_table_query.inc + + +--echo ######################################################################### +--echo # Testcase 3.2.12.1: INFORMATION_SCHEMA.TABLES layout +--echo ######################################################################### +# Ensure that the INFORMATION_SCHEMA.TABLES table has the following columns, +# in the following order: +# +# TABLE_CATALOG (always shows NULL), +# TABLE_SCHEMA (shows the name of the database, or schema, in which an +# accessible table resides), +# TABLE_NAME (shows the name of a table which the current user may access), +# TABLE_TYPE (shows whether the table is a BASE TABLE, a TEMPORARY table, +# or a VIEW), +# ENGINE (shows the storage engine used for the table), +# VERSION (shows the version number of the table's .frm file), +# ROW_FORMAT (shows the table's row storage format; either FIXED, DYNAMIC +# or COMPRESSED), +# TABLE_ROWS (shows the number of rows in the table), +# AVG_ROW_LENGTH (shows the average length of the table's rows), +# DATA_LENGTH (shows the length of the table's data file), +# MAX_DATA_LENGTH (shows the maximum length of the table's data file), +# INDEX_LENGTH (shows the length of the index file associated with the table), +# DATA_FREE (shows the number of allocated, unused bytes), +# AUTO_INCREMENT (shows the next AUTO_INCREMENT value, where applicable), +# CREATE_TIME (shows the timestamp of the time the table was created), +# UPDATE_TIME (shows the timestamp of the time the table's data file was +# last updated), +# CHECK_TIME (shows the timestamp of the time the table was last checked), +# TABLE_COLLATION (shows the table's default collation), +# CHECKSUM (shows the live checksum value for the table, if any; otherwise NULL), +# CREATE_OPTIONS (shows any additional options used in the table's definition; +# otherwise NULL), +# TABLE_COMMENT (shows the comment added to the table's definition; +# otherwise NULL). +# +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval DESCRIBE information_schema.$is_table; +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval SHOW CREATE TABLE information_schema.$is_table; +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval SHOW COLUMNS FROM information_schema.$is_table; + +# Note: Retrieval of information within information_schema.columns about +# information_schema.tables is in is_columns_is.test. + +# Show that TABLE_CATALOG is always NULL. +SELECT table_catalog, table_schema, table_name +FROM information_schema.tables WHERE table_catalog IS NOT NULL; + + +--echo ################################################################################ +--echo # Testcase 3.2.12.2 + 3.2.12.3: INFORMATION_SCHEMA.TABLES accessible information +--echo ################################################################################ +# 3.2.12.2: Ensure that the table shows the relevant information on every base table +# and view on which the current user or PUBLIC has privileges. +# 3.2.12.3: Ensure that the table does not show any information on any tables +# on which the current user and public have no privileges. +# +# Note: Check of content within information_schema.tables about tables within +# database is in +# mysql is_tables_mysql.test +# information_schema is_tables_is.test +# test% is_tables_.test +# +--disable_warnings +DROP DATABASE IF EXISTS db_datadict; +--enable_warnings +CREATE DATABASE db_datadict; + +--error 0,ER_CANNOT_USER +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +GRANT CREATE, CREATE VIEW, INSERT, SELECT ON db_datadict.* + TO 'testuser1'@'localhost' WITH GRANT OPTION; +--error 0,ER_CANNOT_USER +DROP USER 'testuser2'@'localhost'; +CREATE USER 'testuser2'@'localhost'; +--error 0,ER_CANNOT_USER +DROP USER 'testuser3'@'localhost'; +CREATE USER 'testuser3'@'localhost'; + +--replace_result $engine_type +eval +CREATE TABLE db_datadict.tb1 (f1 INT, f2 INT, f3 INT) +ENGINE = $engine_type; + +GRANT SELECT ON db_datadict.tb1 TO 'testuser1'@'localhost'; +GRANT ALL ON db_datadict.tb1 TO 'testuser2'@'localhost' WITH GRANT OPTION; + +let $my_select = SELECT * FROM information_schema.tables +WHERE table_schema = 'db_datadict' ORDER BY table_name; +let $my_show = SHOW TABLES FROM db_datadict; + +--echo # Establish connection testuser1 (user=testuser1) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser1, localhost, testuser1, , db_datadict); +# tb2 is not granted to anyone +--replace_result $engine_type +eval +CREATE TABLE tb2 (f1 DECIMAL) +ENGINE = $engine_type; +--replace_result $engine_type +eval +CREATE TABLE tb3 (f1 VARCHAR(200)) +ENGINE = $engine_type; +GRANT SELECT ON db_datadict.tb3 to 'testuser3'@'localhost'; +GRANT INSERT ON db_datadict.tb3 to 'testuser2'@'localhost'; +CREATE VIEW v3 AS SELECT * FROM tb3; +GRANT SELECT ON db_datadict.v3 to 'testuser3'@'localhost'; + +if ($have_bug_32285) +{ +--disable_ps_protocol +} +# We do not want to check here values affected by +# - the storage engine used +# - Operating system / Filesystem +# - start time of test +# 1 TABLE_CATALOG +# 2 TABLE_SCHEMA +# 3 TABLE_NAME +# 4 TABLE_TYPE +# 5 ENGINE affected by storage engine used +# 6 VERSION +# 7 ROW_FORMAT affected by storage engine used +# 8 TABLE_ROWS +# 9 AVG_ROW_LENGTH affected by storage engine used +# 10 DATA_LENGTH affected by storage engine used and maybe OS +# 11 MAX_DATA_LENGTH affected by storage engine used and maybe OS +# 12 INDEX_LENGTH affected by storage engine used and maybe OS +# 13 DATA_FREE affected by storage engine used and maybe OS +# 14 AUTO_INCREMENT +# 15 CREATE_TIME depends roughly on start time of test (*) +# 16 UPDATE_TIME depends roughly on start time of test (*) +# 17 CHECK_TIME depends roughly on start time of test and storage engine (*) +# 18 TABLE_COLLATION +# 19 CHECKSUM affected by storage engine used +# 20 CREATE_OPTIONS +# 21 TABLE_COMMENT affected by some storage engines +# (*) In case of view or temporary table NULL. +--replace_column 5 "#ENG#" 7 "#RF#" 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "#CRT" 16 "#UT#" 17 "#CT#" 19 "#CS#" +eval $my_select; +--enable_ps_protocol +--sorted_result +eval $my_show; + +--echo # Establish connection testuser2 (user=testuser2) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser2, localhost, testuser2, , db_datadict); +if ($have_bug_32285) +{ +--disable_ps_protocol +} +--replace_column 5 "#ENG#" 7 "#RF#" 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "#CRT" 16 "#UT#" 17 "#CT#" 19 "#CS#" +eval $my_select; +--enable_ps_protocol +--sorted_result +eval $my_show; + +--echo # Establish connection testuser3 (user=testuser3) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser3, localhost, testuser3, , db_datadict); +if ($have_bug_32285) +{ +--disable_ps_protocol +} +--replace_column 5 "#ENG#" 7 "#RF#" 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "#CRT" 16 "#UT#" 17 "#CT#" 19 "#CS#" +eval $my_select; +--enable_ps_protocol +--sorted_result +eval $my_show; + +--echo # Switch to connection default (user=root) +connection default; +# we see only 'public' tables +if ($have_bug_32285) +{ +--disable_ps_protocol +} +--replace_column 5 "#ENG#" 7 "#RF#" 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "#CRT" 16 "#UT#" 17 "#CT#" 19 "#CS#" +eval $my_select; +--enable_ps_protocol +--sorted_result +eval $my_show; + +# Cleanup +--echo # Close connection testuser1, testuser2, testuser3 +disconnect testuser1; +disconnect testuser2; +disconnect testuser3; +DROP USER 'testuser1'@'localhost'; +DROP USER 'testuser2'@'localhost'; +DROP USER 'testuser3'@'localhost'; +DROP DATABASE db_datadict; + + +--echo ######################################################################### +--echo # 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.TABLES modifications +--echo ######################################################################### +# 3.2.1.13: Ensure that the creation of any new database object (e.g. table or +# column) automatically inserts all relevant information on that +# object into every appropriate INFORMATION_SCHEMA table. +# 3.2.1.14: Ensure that the alteration of any existing database object +# automatically updates all relevant information on that object in +# every appropriate INFORMATION_SCHEMA table. +# 3.2.1.15: Ensure that the dropping of any existing database object +# automatically deletes all relevant information on that object from +# every appropriate INFORMATION_SCHEMA table. +# +--disable_warnings +DROP TABLE IF EXISTS test.t1_my_table; +DROP DATABASE IF EXISTS db_datadict; +--enable_warnings +CREATE DATABASE db_datadict; + +SELECT table_name FROM information_schema.tables +WHERE table_name LIKE 't1_my_table%'; +--replace_result $engine_type +eval +CREATE TABLE test.t1_my_table (f1 BIGINT) +DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci +COMMENT = 'Initial Comment' ENGINE = $engine_type; +# Settings used in CREATE TABLE must be visible in information_schema.tables. +--vertical_results +--replace_column 5 "#ENG#" 7 "#RF#" 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "#CRT" 16 "#UT#" 17 "#CT#" 19 "#CS#" +SELECT * FROM information_schema.tables +WHERE table_name = 't1_my_table'; +--horizontal_results +# +# Check modification of TABLE_NAME +SELECT table_name FROM information_schema.tables +WHERE table_name LIKE 't1_my_table%'; +RENAME TABLE test.t1_my_table TO test.t1_my_tablex; +SELECT table_name FROM information_schema.tables +WHERE table_name LIKE 't1_my_table%'; +# +# Check modification of TABLE_SCHEMA +SELECT table_schema,table_name FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +RENAME TABLE test.t1_my_tablex TO db_datadict.t1_my_tablex; +SELECT table_schema,table_name FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +# +# Check modification of ENGINE +--replace_result $engine_type +SELECT table_name, engine FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +--replace_result $other_engine_type +eval +ALTER TABLE db_datadict.t1_my_tablex +ENGINE = $other_engine_type; +--replace_result $other_engine_type +SELECT table_name, engine FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +# +# Check modification of TABLE_ROWS +SELECT table_name, table_rows FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +INSERT INTO db_datadict.t1_my_tablex VALUES(1),(2); +SELECT table_name, table_rows FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +# +# Check indirect modification of TABLE_COLLATION +SELECT table_name, table_collation FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +ALTER TABLE db_datadict.t1_my_tablex DEFAULT CHARACTER SET utf8; +SELECT table_name, table_collation FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +# Check direct modification of TABLE_COLLATION +SELECT table_name, table_collation FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +ALTER TABLE db_datadict.t1_my_tablex +DEFAULT CHARACTER SET latin1 COLLATE latin1_german1_ci; +SELECT table_name, table_collation FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +# +# Check modification of TABLE_COMMENT +SELECT table_name, TABLE_COMMENT FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +ALTER TABLE db_datadict.t1_my_tablex COMMENT 'Changed Comment'; +SELECT table_name, TABLE_COMMENT FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +# +# Check modification of AUTO_INCREMENT +SELECT table_name, AUTO_INCREMENT FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +ALTER TABLE db_datadict.t1_my_tablex +ADD f2 BIGINT AUTO_INCREMENT, ADD PRIMARY KEY (f2); +SELECT table_name, AUTO_INCREMENT FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +# +# Check modification of ROW_FORMAT +SELECT table_name, ROW_FORMAT FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +ALTER TABLE db_datadict.t1_my_tablex ROW_FORMAT = dynamic; +SELECT table_name, ROW_FORMAT FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +# +# Check "growth" of UPDATE_TIME and modification of CHECKSUM +SELECT table_name, checksum FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +ALTER TABLE db_datadict.t1_my_tablex CHECKSUM = 1; +SELECT table_name, checksum IS NOT NULL FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +SELECT UPDATE_TIME, checksum INTO @UPDATE_TIME, @checksum +FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +# Enforce a time difference bigger than the smallest unit (1 second). +--real_sleep 1.1 +INSERT INTO db_datadict.t1_my_tablex SET f1 = 3; +SELECT UPDATE_TIME > @UPDATE_TIME + AS "Is current UPDATE_TIME bigger than before last INSERT?" +FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +SELECT checksum <> @checksum + AS "Is current CHECKSUM different than before last INSERT?" +FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +# +# Information is used later +SELECT CREATE_TIME INTO @CREATE_TIME FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +# +# Check impact of DROP TABLE +SELECT table_name FROM information_schema.tables +WHERE table_name LIKE 't1_my_table%'; +DROP TABLE db_datadict.t1_my_tablex; +SELECT table_name FROM information_schema.tables +WHERE table_name LIKE 't1_my_table%'; +# +# Check "growth" of CREATE_TIME +--replace_result $other_engine_type +eval +CREATE TABLE test.t1_my_tablex (f1 BIGINT) +ENGINE = $other_engine_type; +SELECT CREATE_TIME > @CREATE_TIME + AS "Is current CREATE_TIME bigger than for the old dropped table?" +FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +DROP TABLE test.t1_my_tablex; +# +# Check a VIEW +CREATE VIEW test.t1_my_tablex AS SELECT 1; +--vertical_results +SELECT * FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +--horizontal_results +DROP VIEW test.t1_my_tablex; +SELECT table_name FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +# +# Check a temporary table +--replace_result $other_engine_type +eval +CREATE TEMPORARY TABLE test.t1_my_tablex +ENGINE = $other_engine_type + AS SELECT 1; +--vertical_results +SELECT table_name, table_type FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +--horizontal_results +DROP TEMPORARY TABLE test.t1_my_tablex; +# +# Check impact of DROP SCHEMA +--replace_result $engine_type +eval +CREATE TABLE db_datadict.t1_my_tablex +ENGINE = $engine_type AS +SELECT 1; +SELECT table_name FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; +DROP DATABASE db_datadict; +SELECT table_name FROM information_schema.tables +WHERE table_name = 't1_my_tablex'; + + +--echo ######################################################################## +--echo # Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and +--echo # DDL on INFORMATION_SCHEMA tables are not supported +--echo ######################################################################## +# 3.2.1.3: Ensure that no user may execute an INSERT statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.4: Ensure that no user may execute an UPDATE statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.5: Ensure that no user may execute a DELETE statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.8: Ensure that no user may create an index on an +# INFORMATION_SCHEMA table. +# 3.2.1.9: Ensure that no user may alter the definition of an +# INFORMATION_SCHEMA table. +# 3.2.1.10: Ensure that no user may drop an INFORMATION_SCHEMA table. +# 3.2.1.11: Ensure that no user may move an INFORMATION_SCHEMA table to any +# other database. +# 3.2.1.12: Ensure that no user may directly add to, alter, or delete any data +# in an INFORMATION_SCHEMA table. +# +--disable_warnings +DROP DATABASE IF EXISTS db_datadict; +--enable_warnings +CREATE DATABASE db_datadict; +--replace_result $engine_type +eval +CREATE TABLE db_datadict.t1 (f1 BIGINT) +ENGINE = $engine_type; + +--error ER_DBACCESS_DENIED_ERROR +INSERT INTO information_schema.tables +SELECT * FROM information_schema.tables; + +--error ER_DBACCESS_DENIED_ERROR +UPDATE information_schema.tables SET table_schema = 'test' +WHERE table_name = 't1'; + +--error ER_DBACCESS_DENIED_ERROR +DELETE FROM information_schema.tables WHERE table_name = 't1'; +--error ER_DBACCESS_DENIED_ERROR +TRUNCATE information_schema.tables; + +--error ER_DBACCESS_DENIED_ERROR +CREATE INDEX my_idx_on_tables ON information_schema.tables(table_schema); + +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.tables DROP PRIMARY KEY; +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.tables ADD f1 INT; + +--error ER_DBACCESS_DENIED_ERROR +DROP TABLE information_schema.tables; + +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.tables RENAME db_datadict.tables; +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.tables RENAME information_schema.xtables; + +# Cleanup +DROP DATABASE db_datadict; + diff --git a/mysql-test/suite/funcs_1/datadict/is_triggers.inc b/mysql-test/suite/funcs_1/datadict/is_triggers.inc new file mode 100644 index 00000000000..3b83a75295b --- /dev/null +++ b/mysql-test/suite/funcs_1/datadict/is_triggers.inc @@ -0,0 +1,258 @@ +# suite/funcs_1/datadict/is_triggers.inc +# +# Check the layout of information_schema.triggers and the impact of +# CREATE/ALTER/DROP TABLE/VIEW/SCHEMA ... on it. +# +# Note: +# This test is not intended +# - to show information about the all time existing triggers +# (there are no in the moment) within the databases information_schema +# and mysql +# - for checking storage engine properties +# Therefore please do not alter $engine_type and $other_engine_type. +# +# Author: +# 2008-01-23 mleich WL#4203 Reorganize and fix the data dictionary tests of +# testsuite funcs_1 +# Create this script based on older scripts and new code. +# Last Change: +# 2008-06-11 mleich Move t/is_triggers.test to this file and +# create variants for embedded/non embedded server. +# + +let $engine_type = MEMORY; +let $other_engine_type = MyISAM; + +let $is_table = TRIGGERS; + +# The table INFORMATION_SCHEMA.TRIGGERS must exist +eval SHOW TABLES FROM information_schema LIKE '$is_table'; + +--echo ####################################################################### +--echo # Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT +--echo ####################################################################### +# Ensure that every INFORMATION_SCHEMA table can be queried with a SELECT +# statement, just as if it were an ordinary user-defined table. +# +--source suite/funcs_1/datadict/is_table_query.inc + + +--echo ######################################################################### +--echo # Testcase 3.2.12.1: INFORMATION_SCHEMA.TRIGGERS layout +--echo ######################################################################### +# Ensure that the INFORMATION_SCHEMA.TRIGGERS table has the following columns, +# in the following order: +# +# TRIGGER_CATALOG NULL +# TRIGGER_SCHEMA name of the database in which the trigger occurs +# TRIGGER_NAME +# EVENT_MANIPULATION event associated with the trigger +# ('INSERT', 'DELETE', or 'UPDATE') +# EVENT_OBJECT_CATALOG NULL +# EVENT_OBJECT_SCHEMA database in which the table associated with the +# trigger occurs +# EVENT_OBJECT_TABLE name of the table associated with the trigger +# ACTION_ORDER 0 +# ACTION_CONDITION NULL +# ACTION_STATEMENT +# ACTION_ORIENTATION ROW +# ACTION_TIMING 'BEFORE' or 'AFTER' +# ACTION_REFERENCE_OLD_TABLE NULL +# ACTION_REFERENCE_NEW_TABLE NULL +# ACTION_REFERENCE_OLD_ROW OLD +# ACTION_REFERENCE_NEW_ROW NEW +# CREATED NULL (0) +# SQL_MODE server SQL mode that was in effect at the time +# when the trigger was created +# (also used during trigger execution) +# DEFINER who defined the trigger +# +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval DESCRIBE information_schema.$is_table; +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval SHOW CREATE TABLE information_schema.$is_table; +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval SHOW COLUMNS FROM information_schema.$is_table; + + +# Note: Retrieval of information within information_schema.columns about +# information_schema.tables is in is_columns_is.test. + +# Show that several columns are always NULL. +SELECT * FROM information_schema.triggers +WHERE trigger_catalog IS NOT NULL OR event_object_catalog IS NOT NULL + OR action_condition IS NOT NULL OR action_reference_old_table IS NOT NULL + OR action_reference_new_table IS NOT NULL; + + +--echo ################################################################################## +--echo # Testcase 3.2.18.2 + 3.2.18.3: INFORMATION_SCHEMA.TRIGGERS accessible information +--echo ################################################################################## +# 3.2.18.2: Ensure that the table shows the relevant information on every +# trigger on which the current user or PUBLIC has privileges. +# 3.2.18.3: Ensure that the table does not show any information on any trigger +# on which the current user and public have no privileges. +# The SUPER (before 5.1.22) or TRIGGER (since 5.1.22) privilege is required for +# - creation of triggers +# - retrieval in INFORMATION_SCHEMA.TRIGGERS (affects size of result set) +# +--disable_warnings +DROP DATABASE IF EXISTS db_datadict; +--enable_warnings +CREATE DATABASE db_datadict; +--error 0,ER_CANNOT_USER +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +--error 0,ER_CANNOT_USER +DROP USER 'testuser2'@'localhost'; +CREATE USER 'testuser2'@'localhost'; +--error 0,ER_CANNOT_USER +DROP USER 'testuser3'@'localhost'; +CREATE USER 'testuser3'@'localhost'; +--error 0,ER_CANNOT_USER +DROP USER 'testuser4'@'localhost'; +CREATE USER 'testuser4'@'localhost'; + +GRANT TRIGGER ON *.* TO 'testuser1'@'localhost'; +GRANT TRIGGER ON *.* TO 'testuser3'@'localhost'; +GRANT TRIGGER ON *.* TO 'testuser4'@'localhost'; +GRANT ALL ON db_datadict.* TO 'testuser1'@'localhost' WITH GRANT OPTION; + +let $my_select = SELECT * FROM information_schema.triggers +WHERE trigger_name = 'trg1'; +let $my_show = SHOW TRIGGERS FROM db_datadict; +--echo # Establish connection testuser1 (user=testuser1) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser1, localhost, testuser1, , db_datadict); +--replace_result $engine_type +eval +CREATE TABLE db_datadict.t1 (f1 INT, f2 INT, f3 INT) +ENGINE = $engine_type; +CREATE TRIGGER trg1 BEFORE INSERT +ON db_datadict.t1 FOR EACH ROW SET @test_before = 2, new.f1 = @test_before; +GRANT ALL ON db_datadict.t1 TO 'testuser2'@'localhost'; +REVOKE TRIGGER ON db_datadict.t1 FROM 'testuser2'@'localhost'; +GRANT SELECT ON db_datadict.t1 TO 'testuser3'@'localhost'; +eval $my_select; +eval $my_show; + +--echo # Establish connection testuser2 (user=testuser2) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser2, localhost, testuser2, , db_datadict); +SHOW GRANTS FOR 'testuser2'@'localhost'; +--echo # No TRIGGER Privilege --> no result for query +eval $my_select; +eval $my_show; + +--echo # Establish connection testuser3 (user=testuser3) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser3, localhost, testuser3, , test); +SHOW GRANTS FOR 'testuser3'@'localhost'; +--echo # TRIGGER Privilege + SELECT Privilege on t1 --> result for query +eval $my_select; +eval $my_show; + +--echo # Establish connection testuser4 (user=testuser4) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser4, localhost, testuser4, , test); +SHOW GRANTS FOR 'testuser4'@'localhost'; +--echo # TRIGGER Privilege + no SELECT Privilege on t1 --> result for query +--disable_abort_on_error +SELECT * FROM db_datadict.t1; +DESC db_datadict.t1; +eval $my_select; +eval $my_show; + +--echo # Switch to connection default and close connections testuser1 - testuser4 +connection default; +disconnect testuser1; +disconnect testuser2; +disconnect testuser3; +disconnect testuser4; +eval $my_select; +eval $my_show; +DROP USER 'testuser1'@'localhost'; +DROP USER 'testuser2'@'localhost'; +DROP USER 'testuser3'@'localhost'; +DROP USER 'testuser4'@'localhost'; +DROP DATABASE db_datadict; + + +--echo ######################################################################### +--echo # 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.TRIGGERS modifications +--echo ######################################################################### +# 3.2.1.13: Ensure that the creation of any new database object (e.g. table or +# column) automatically inserts all relevant information on that +# object into every appropriate INFORMATION_SCHEMA table. +# 3.2.1.14: Ensure that the alteration of any existing database object +# automatically updates all relevant information on that object in +# every appropriate INFORMATION_SCHEMA table. +# 3.2.1.15: Ensure that the dropping of any existing database object +# automatically deletes all relevant information on that object from +# every appropriate INFORMATION_SCHEMA table. +# FIXME: To be implemented + + +--echo ######################################################################## +--echo # Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and +--echo # DDL on INFORMATION_SCHEMA tables are not supported +--echo ######################################################################## +# 3.2.1.3: Ensure that no user may execute an INSERT statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.4: Ensure that no user may execute an UPDATE statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.5: Ensure that no user may execute a DELETE statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.8: Ensure that no user may create an index on an +# INFORMATION_SCHEMA table. +# 3.2.1.9: Ensure that no user may alter the definition of an +# INFORMATION_SCHEMA table. +# 3.2.1.10: Ensure that no user may drop an INFORMATION_SCHEMA table. +# 3.2.1.11: Ensure that no user may move an INFORMATION_SCHEMA table to any +# other database. +# 3.2.1.12: Ensure that no user may directly add to, alter, or delete any data +# in an INFORMATION_SCHEMA table. +# +--disable_warnings +DROP DATABASE IF EXISTS db_datadict; +--enable_warnings +CREATE DATABASE db_datadict; +--replace_result $engine_type +eval +CREATE TABLE db_datadict.t1 (f1 BIGINT) +ENGINE = $engine_type; +CREATE TRIGGER db_datadict.trg1 BEFORE INSERT +ON db_datadict.t1 FOR EACH ROW SET @test_before = 2, new.f1 = @test_before; + +--error ER_DBACCESS_DENIED_ERROR +INSERT INTO information_schema.triggers +SELECT * FROM information_schema.triggers; + +--error ER_DBACCESS_DENIED_ERROR +UPDATE information_schema.triggers SET trigger_schema = 'test' +WHERE table_name = 't1'; + +--error ER_DBACCESS_DENIED_ERROR +DELETE FROM information_schema.triggers WHERE trigger_name = 't1'; +--error ER_DBACCESS_DENIED_ERROR +TRUNCATE information_schema.triggers; + +--error ER_DBACCESS_DENIED_ERROR +CREATE INDEX my_idx_on_triggers ON information_schema.triggers(trigger_schema); + +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.triggers DROP PRIMARY KEY; +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.triggers ADD f1 INT; + +--error ER_DBACCESS_DENIED_ERROR +DROP TABLE information_schema.triggers; + +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.triggers RENAME db_datadict.triggers; +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.triggers RENAME information_schema.xtriggers; + +# Cleanup +DROP DATABASE db_datadict; + diff --git a/mysql-test/suite/funcs_1/datadict/is_views.inc b/mysql-test/suite/funcs_1/datadict/is_views.inc new file mode 100644 index 00000000000..32e66e4f684 --- /dev/null +++ b/mysql-test/suite/funcs_1/datadict/is_views.inc @@ -0,0 +1,306 @@ +# suite/funcs_1/datadict/is_views.inc +# +# Check the layout of information_schema.views and the impact of +# CREATE/ALTER/DROP TABLE/VIEW/SCHEMA ... on it. +# +# Note: +# - This test should not check storage engine properties. +# - Please do not change the storage engines used within this test +# except you know that the impact is acceptable. +# Some storage engines might not support the modification of +# properties like in the following tests. +# +# Author: +# 2008-01-23 mleich WL#4203 Reorganize and fix the data dictionary tests of +# testsuite funcs_1 +# Create this script based on older scripts and new code. +# Last Change: +# 2008-06-11 mleich Move t/is_views.test to this file and +# create variants for embedded/non embedded server. +# + +let $engine_type = MEMORY; +let $other_engine_type = MyISAM; + +let $is_table = VIEWS; + +# The table INFORMATION_SCHEMA.VIEWS must exist +eval SHOW TABLES FROM information_schema LIKE '$is_table'; + +--echo ####################################################################### +--echo # Testcase 3.2.1.1: INFORMATION_SCHEMA tables can be queried via SELECT +--echo ####################################################################### +# Ensure that every INFORMATION_SCHEMA table can be queried with a SELECT +# statement, just as if it were an ordinary user-defined table. +# +--source suite/funcs_1/datadict/is_table_query.inc + + +--echo ######################################################################### +--echo # Testcase 3.2.13.1: INFORMATION_SCHEMA.VIEWS layout +--echo ######################################################################### +# Ensure that the INFORMATION_SCHEMA.VIEWS table has the following columns, +# in the following order: +# +# TABLE_CATALOG (always shows NULL), +# TABLE_SCHEMA (shows the database, or schema, in which an accessible +# view resides), +# TABLE_NAME (shows the name of a view accessible to the current user), +# VIEW_DEFINITION (shows the SELECT statement that makes up the +# view's definition), +# CHECK_OPTION (shows the value of the WITH CHECK OPTION clause used to define +# the view, either NONE, LOCAL or CASCADED), +# IS_UPDATABLE (shows whether the view is an updatable view), +# DEFINER (added with 5.0.14), +# SECURITY_TYPE (added with 5.0.14). +# +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval DESCRIBE information_schema.$is_table; +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval SHOW CREATE TABLE information_schema.$is_table; +--source suite/funcs_1/datadict/datadict_bug_12777.inc +eval SHOW COLUMNS FROM information_schema.$is_table; + +# Note: Retrieval of information within information_schema.columns about +# information_schema.views is in is_columns_is.test. + +# Show that TABLE_CATALOG is always NULL. +SELECT table_catalog, table_schema, table_name +FROM information_schema.views WHERE table_catalog IS NOT NULL; + + +--echo ################################################################################ +--echo # Testcase 3.2.13.2 + 3.2.13.3: INFORMATION_SCHEMA.VIEWS accessible information +--echo ################################################################################ +# 3.2.13.2: Ensure that the table shows the relevant information on every view for +# which the current user or PUBLIC has the SHOW CREATE VIEW privilege. +# 3.2.13.3: Ensure that the table does not show any information on any views for which +# the current user and PUBLIC have no SHOW CREATE VIEW privilege. +# +--disable_warnings +DROP DATABASE IF EXISTS db_datadict; +--enable_warnings +CREATE DATABASE db_datadict; + +--error 0,ER_CANNOT_USER +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; +--error 0,ER_CANNOT_USER +DROP USER 'testuser2'@'localhost'; +CREATE USER 'testuser2'@'localhost'; +--error 0,ER_CANNOT_USER +DROP USER 'test_no_views'@'localhost'; +CREATE USER 'test_no_views'@'localhost'; + +--replace_result $engine_type +eval +CREATE TABLE db_datadict.t1(f1 INT, f2 INT, f3 INT) +ENGINE = $engine_type; +CREATE VIEW db_datadict.v_granted_to_1 AS SELECT * FROM db_datadict.t1; +CREATE VIEW db_datadict.v_granted_glob AS SELECT f2, f3 FROM db_datadict.t1; + +GRANT SELECT ON db_datadict.t1 TO 'testuser1'@'localhost'; +GRANT SELECT ON db_datadict.v_granted_to_1 TO 'testuser1'@'localhost'; +GRANT SHOW VIEW, CREATE VIEW ON db_datadict.* TO 'testuser2'@'localhost'; + +let $select = SELECT * FROM information_schema.views +WHERE table_schema = 'db_datadict' ORDER BY table_name; +eval $select; + +--echo # Establish connection testuser1 (user=testuser1) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser1, localhost, testuser1, , test); +eval $select; + +--echo # Establish connection testuser2 (user=testuser2) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (testuser2, localhost, testuser2, , test); +eval $select; + +--echo # Establish connection test_no_views (user=test_no_views) +--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK +connect (test_no_views, localhost, test_no_views, , test); +eval $select; + +# Cleanup +--echo # Switch to connection default and close all other connections +connection default; +disconnect testuser1; +disconnect testuser2; +disconnect test_no_views; +DROP USER 'testuser1'@'localhost'; +DROP USER 'testuser2'@'localhost'; +DROP USER 'test_no_views'@'localhost'; +DROP DATABASE db_datadict; + +--echo ######################################################################### +--echo # 3.2.1.13+3.2.1.14+3.2.1.15: INFORMATION_SCHEMA.VIEWS modifications +--echo ######################################################################### +# 3.2.1.13: Ensure that the creation of any new database object (e.g. table or +# column) automatically inserts all relevant information on that +# object into every appropriate INFORMATION_SCHEMA table. +# 3.2.1.14: Ensure that the alteration of any existing database object +# automatically updates all relevant information on that object in +# every appropriate INFORMATION_SCHEMA table. +# 3.2.1.15: Ensure that the dropping of any existing database object +# automatically deletes all relevant information on that object from +# every appropriate INFORMATION_SCHEMA table. +# +--disable_warnings +DROP TABLE IF EXISTS test.t1_my_table; +DROP DATABASE IF EXISTS db_datadict; +--enable_warnings +CREATE DATABASE db_datadict; +--replace_result $engine_type +eval +CREATE TABLE test.t1_table (f1 BIGINT, f2 CHAR(10)) +DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci +ENGINE = $engine_type; +--error 0,ER_CANNOT_USER +DROP USER 'testuser1'@'localhost'; +CREATE USER 'testuser1'@'localhost'; + +# Check just created VIEW +SELECT * FROM information_schema.views +WHERE table_name LIKE 't1_%'; +CREATE VIEW test.t1_view AS SELECT DISTINCT f1 FROM test.t1_table; +SELECT * FROM information_schema.views +WHERE table_name LIKE 't1_%'; +# +# Check modification of DEFINER, SECURITY_TYPE, IS_UPDATABLE, VIEW_DEFINITION, +# CHECK_OPTION +SELECT table_name,definer FROM information_schema.views +WHERE table_name = 't1_view'; +ALTER DEFINER = 'testuser1'@'localhost' VIEW test.t1_view AS +SELECT DISTINCT f1 FROM test.t1_table; +# The next result set could suffer from +# Bug#22763 Disrepancy between SHOW CREATE VIEW and I_S.VIEWS +# because the VIEW definition is missing. +# Therefore we exclude the problematic columns from the result set. +SELECT table_name,definer,security_type FROM information_schema.views +WHERE table_name LIKE 't1_%'; +ALTER DEFINER = 'root'@'localhost' SQL SECURITY INVOKER VIEW test.t1_view AS +SELECT f1 FROM test.t1_table WITH LOCAL CHECK OPTION; +SELECT table_name,definer,security_type FROM information_schema.views +WHERE table_name LIKE 't1_%'; +# +# Check modification of TABLE_SCHEMA +SELECT table_schema,table_name FROM information_schema.views +WHERE table_name LIKE 't1_%' +ORDER BY table_schema,table_name; +--error ER_FORBID_SCHEMA_CHANGE +RENAME TABLE test.t1_view TO db_datadict.t1_view; +# Workaround for missing move to another database +DROP VIEW test.t1_view; +CREATE VIEW db_datadict.t1_view AS SELECT * FROM test.t1_table; +SELECT table_schema,table_name FROM information_schema.views +WHERE table_name LIKE 't1_%' +ORDER BY table_schema,table_name; +# +# Check modification of TABLE_NAME +SELECT table_name FROM information_schema.views +WHERE table_name LIKE 't1_%' +ORDER BY table_name; +RENAME TABLE db_datadict.t1_view TO db_datadict.t1_viewx; +SELECT table_name FROM information_schema.views +WHERE table_name LIKE 't1_%' +ORDER BY table_name; +# +# Check impact of DROP VIEW +SELECT table_name FROM information_schema.views +WHERE table_name LIKE 't1_%' +ORDER BY table_name; +DROP VIEW db_datadict.t1_viewx; +SELECT table_name FROM information_schema.views +WHERE table_name LIKE 't1_%' +ORDER BY table_name; +CREATE VIEW db_datadict.t1_view AS SELECT * FROM test.t1_table; +# +# Check impact of DROP base TABLE of VIEW +SELECT table_name FROM information_schema.views +WHERE table_name LIKE 't1_%' +ORDER BY table_name; +DROP TABLE test.t1_table; +SELECT table_name FROM information_schema.views +WHERE table_name LIKE 't1_%' +ORDER BY table_name; +--replace_result $engine_type +eval +CREATE TABLE test.t1_table (f1 BIGINT, f2 CHAR(10)) +DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci COMMENT = 'Initial Comment' +ENGINE = $engine_type; +# +# Check impact of DROP SCHEMA +SELECT table_name FROM information_schema.views +WHERE table_name LIKE 't1_%' +ORDER BY table_name; +DROP DATABASE db_datadict; +SELECT table_name FROM information_schema.views +WHERE table_name LIKE 't1_%' +ORDER BY table_name; + +# Cleanup +DROP USER 'testuser1'@'localhost'; +DROP TABLE test.t1_table; + +--echo ######################################################################## +--echo # Testcases 3.2.1.3-3.2.1.5 + 3.2.1.8-3.2.1.12: INSERT/UPDATE/DELETE and +--echo # DDL on INFORMATION_SCHEMA table are not supported +--echo ######################################################################## +# 3.2.1.3: Ensure that no user may execute an INSERT statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.4: Ensure that no user may execute an UPDATE statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.5: Ensure that no user may execute a DELETE statement on any +# INFORMATION_SCHEMA table. +# 3.2.1.8: Ensure that no user may create an index on an +# INFORMATION_SCHEMA table. +# 3.2.1.9: Ensure that no user may alter the definition of an +# INFORMATION_SCHEMA table. +# 3.2.1.10: Ensure that no user may drop an INFORMATION_SCHEMA table. +# 3.2.1.11: Ensure that no user may move an INFORMATION_SCHEMA table to any +# other database. +# 3.2.1.12: Ensure that no user may directly add to, alter, or delete any data +# in an INFORMATION_SCHEMA table. +# +--disable_warnings +DROP DATABASE IF EXISTS db_datadict; +--enable_warnings +CREATE DATABASE db_datadict; +CREATE VIEW db_datadict.v1 AS SELECT 1; + +--error ER_DBACCESS_DENIED_ERROR +INSERT INTO information_schema.views +SELECT * FROM information_schema.views; +--error ER_DBACCESS_DENIED_ERROR +INSERT INTO information_schema.views(table_schema, table_name) +VALUES ('db2', 'v2'); + +--error ER_DBACCESS_DENIED_ERROR +UPDATE information_schema.views SET table_schema = 'test' +WHERE table_name = 't1'; + +--error ER_DBACCESS_DENIED_ERROR +DELETE FROM information_schema.views WHERE table_name = 't1'; +--error ER_DBACCESS_DENIED_ERROR +TRUNCATE information_schema.views; + +--error ER_DBACCESS_DENIED_ERROR +CREATE INDEX my_idx_on_views ON information_schema.views(table_schema); + +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.views DROP PRIMARY KEY; +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.views ADD f1 INT; + +--error ER_DBACCESS_DENIED_ERROR +DROP TABLE information_schema.views; + +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.views RENAME db_datadict.views; +--error ER_DBACCESS_DENIED_ERROR +ALTER TABLE information_schema.views RENAME information_schema.xviews; + +# Cleanup +DROP DATABASE db_datadict; + diff --git a/mysql-test/suite/funcs_1/datadict/processlist_priv.inc b/mysql-test/suite/funcs_1/datadict/processlist_priv.inc index 66c43c750fd..d8e1b398bfc 100644 --- a/mysql-test/suite/funcs_1/datadict/processlist_priv.inc +++ b/mysql-test/suite/funcs_1/datadict/processlist_priv.inc @@ -16,7 +16,7 @@ # That means our SHOW PROCESSLIST can come too early. # # Solution: # # Close the connections at the end of the test. # -# Example2: # +# Example2 (2008-08-14 again observed): # # 1. connection X: SHOW PROCESSLIST/GRANT ... etc. # # 2. Switch to connection Y # # 3. SHOW PROCESSLIST might present a record like # @@ -53,9 +53,11 @@ # WL#3982 Test information_schema.processlist # # # # Last update: # -# 2008-04-14 pcrews replace HOST to account for Windows' use of # -# localhost (host: causing diffs on Windows # -# test runs # +# 2008-08-14 mleich Bug#38270 Test "processlist_priv_ps" fails on # +# varying "processlist" output # +# - Replace one sleep by a poll routines # +# - Remove or disable superfluous sleeps # +# # ######################################################################## # The following variables are used in "datadict_priv.inc" and here. @@ -87,15 +89,28 @@ USE information_schema; --echo 1 Prepare test. --echo connection default (user=root) --echo #################################################################################### +if (`SELECT COUNT(*) <> 1 FROM processlist`) +{ + --echo This test expects one connection to the server. + --echo Expectation: USER HOST DB COMMAND STATE INFO + --echo Expectation: root localhost information_schema Query executing SELECT USER,HOST,DB,COMMAND,STATE,INFO FROM processlist ORDER BY ID + --echo But we found in the moment: + SELECT USER,HOST,DB,COMMAND,STATE,INFO FROM processlist ORDER BY ID; + --echo Maybe + --echo - the base configuration (no of parallel auxiliary sessions) of the server has changed + --echo - a parallel test intended for another server accidently connected to our current one + --echo We cannot proceed in this situation. Abort + exit; +} --echo #################################################################################### --echo 1.1 Create two user --echo #################################################################################### # access to info tables as normal user ---disable_abort_on_error +--error 0, ER_CANNOT_USER DROP USER ddicttestuser1@'localhost'; +--error 0, ER_CANNOT_USER DROP USER ddicttestuser2@'localhost'; ---enable_abort_on_error CREATE USER ddicttestuser1@'localhost'; CREATE USER ddicttestuser2@'localhost'; SET PASSWORD FOR ddicttestuser1@'localhost' = PASSWORD('ddictpass'); @@ -112,6 +127,14 @@ connect (con100,localhost,ddicttestuser1,ddictpass,information_schema); --echo SHOW/SELECT shows all processes/threads. --echo #################################################################################### connection default; +# Avoid Bug#38270 Test "processlist_priv_ps" fails on varying "processlist" output +# This subtest expects that the connection con100 is in state 'Sleep'. +# Poll till the connection con100 is in state COMMAND = 'Sleep'. +let $wait_timeout= 10; +let $wait_condition= +SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST +WHERE DB = 'information_schema' AND COMMAND = 'Sleep' AND USER = 'ddicttestuser1'; +--source include/wait_condition.inc eval SHOW CREATE TABLE $table; --replace_column 1 ID 3 HOST_NAME 6 TIME eval SHOW $table; @@ -120,7 +143,6 @@ eval SELECT * FROM $table $select_where ORDER BY id; --replace_column 1 ID 3 HOST_NAME 6 TIME eval SELECT $columns FROM $table $select_where ORDER BY id; --source suite/funcs_1/datadict/datadict_priv.inc ---real_sleep 0.3 --echo #################################################################################### @@ -128,6 +150,9 @@ eval SELECT $columns FROM $table $select_where ORDER BY id; connection con100; --echo SHOW/SELECT shows only the processes (1) of the user. --echo #################################################################################### +# No need for poll routine here. +# The current state of the default session might depend on load of testing box +# but "ddicttestuser1" must not see anything of the root session. eval SHOW CREATE TABLE $table; --replace_column 1 ID 3 HOST_NAME 6 TIME eval SHOW $table; @@ -219,7 +244,7 @@ SELECT * FROM information_schema.processlist; --echo #################################################################################### ---echo 7 Revoke PROCESS privilege from anonymous user + disconnect ddicttestuser1 +--echo 7 Revoke PROCESS privilege from anonymous user --echo connection default (user=root) --echo #################################################################################### connection default; diff --git a/mysql-test/suite/funcs_1/datadict/processlist_val.inc b/mysql-test/suite/funcs_1/datadict/processlist_val.inc index 16c3dc71ff1..c34fb626bcd 100644 --- a/mysql-test/suite/funcs_1/datadict/processlist_val.inc +++ b/mysql-test/suite/funcs_1/datadict/processlist_val.inc @@ -1,313 +1,465 @@ -########### suite/funcs_1/datadict/processlist_val.inc ################# -# # -# Testing of values within INFORMATION_SCHEMA.PROCESSLIST # -# # -# Ensure that the values fit to the current event of the connection # -# and especially that they change if a connection does nothing or # -# runs some SQL. # -# Examples: # -# - change the default database # -# - send some time no SQL command to the server # -# - send a long running query # -# # -# Note(mleich): # -# 1. Please inform me if this test fails because of timing problems. # -# I tried to avoid instabilities but the values within the column # -# TIME are very sensible to fluctuations of the machine load. # -# I had to unify some TIME values with "--replace_result" in cases # -# where they are too unstable. # -# 2. Storage engine variants of this test do not make sense. # -# - I_S tables use the MEMORY storage engine whenever possible. # -# - There are some I_S table which need column data types which # -# are not supported by MEMORY. Example: LONGTEXT/BLOB # -# MyISAM will be used for such tables. # -# The column PROCESSLIST.INFO is of data type LONGTEXT # -# ----> MyISAM # -# - There is no impact of the GLOBAL(server) or SESSION default # -# storage engine setting on the engine used for I_S tables. # -# That means we cannot get NDB or InnoDB instead. # -# 3. The SHOW (FULL) PROCESSLIST command are for comparison. # -# The main test target is INFORMATION_SCHEMA.PROCESSLIST ! # -# # -# Creation: # -# 2007-08-09 mleich Implement this test as part of # -# WL#3982 Test information_schema.processlist # -# 2008-01-05 HHunger Changed time test and long statement test. # -# It could happen that the long statement test # -# fail due to timing problems. # -# 2008-04-14 pcrews Changed --replace_columns to include host # -# this is due to failure occurring on Windows # -# Win results included port number as well causing # -# test failures # -######################################################################## +########### suite/funcs_1/datadict/processlist_val.inc ######################### +# # +# Testing of values within INFORMATION_SCHEMA.PROCESSLIST # +# # +# Ensure that the values fit to the current state of the connection and # +# especially that they change if a connection does nothing or runs some SQL. # +# runs some SQL. # +# Examples: # +# - change the default database # +# - send some period of time no SQL command to the server # +# - send a long running query # +# # +# Note(mleich): # +# 1. Please inform me if this test fails because of timing problems. # +# 2. Storage engine variants of this test do not make sense. # +# - I_S tables use the MEMORY storage engine whenever possible. # +# - There are some I_S tables which need column data types which are not # +# supported by MEMORY. Example: LONGTEXT/BLOB # +# MyISAM will be used for such tables. # +# The column PROCESSLIST.INFO is of data type LONGTEXT ----> MyISAM # +# - There is no impact of the GLOBAL(server) or SESSION default storage # +# engine setting on the engine used for I_S tables. # +# That means we cannot get NDB or InnoDB instead. # +# 3. The SHOW (FULL) PROCESSLIST command are for comparison. # +# The main test target is INFORMATION_SCHEMA.PROCESSLIST ! # +# 4. Attention: # +# The values of the PROCESSLIST columns HOST and TIME tend to cause # +# problems and therefore their printing has to be suppressed. # +# Examples of the exact values: # +# HOST: 'localhost' (UNIX derivates) # +# 'localhost:' (WINDOWS) # +# TIME: In many cases within this test 0 seconds but if the testing box is # +# overloaded we might get up to 2 seconds. # +# Solution: # +# --replace_column 1 3 6