Merge branch 'bb-10.1-serg' into 10.1

This commit is contained in:
Sergei Golubchik 2015-06-28 15:23:33 +02:00
commit e04f6e7e3a
446 changed files with 7842 additions and 4999 deletions

6
.gitattributes vendored
View file

@ -12,12 +12,16 @@
# These files should be checked out as is # These files should be checked out as is
*.result -text -whitespace *.result -text -whitespace
*.dat -text -whitespace
storage/connect/mysql-test/connect/std_data/*.txt -text storage/connect/mysql-test/connect/std_data/*.txt -text
storage/connect/mysql-test/connect/std_data/*.dat -text
# Denote all files that are truly binary and should not be modified. # Denote all files that are truly binary and should not be modified.
*.png binary *.png binary
*.jpg binary *.jpg binary
*.frm binary
*.MYD binary
*.MYI binary
*.c diff=cpp *.c diff=cpp
*.h diff=cpp *.h diff=cpp

6
.gitignore vendored
View file

@ -175,7 +175,6 @@ storage/tokudb/ft-index/ft/log_print.cc
storage/tokudb/ft-index/ft/logformat storage/tokudb/ft-index/ft/logformat
storage/tokudb/ft-index/ft/ftverify storage/tokudb/ft-index/ft/ftverify
storage/tokudb/ft-index/ft/tdb-recover storage/tokudb/ft-index/ft/tdb-recover
storage/tokudb/ft-index/ft/tdb_logprint
storage/tokudb/ft-index/ft/tokuftdump storage/tokudb/ft-index/ft/tokuftdump
storage/tokudb/ft-index/portability/merge_archives_tokuportability_static.cmake storage/tokudb/ft-index/portability/merge_archives_tokuportability_static.cmake
storage/tokudb/ft-index/portability/toku_config.h storage/tokudb/ft-index/portability/toku_config.h
@ -186,11 +185,11 @@ storage/tokudb/ft-index/toku_include/toku_config.h
storage/tokudb/ft-index/tools/ba_replay storage/tokudb/ft-index/tools/ba_replay
storage/tokudb/ft-index/tools/ftverify storage/tokudb/ft-index/tools/ftverify
storage/tokudb/ft-index/tools/tdb-recover storage/tokudb/ft-index/tools/tdb-recover
storage/tokudb/ft-index/tools/tdb_logprint
storage/tokudb/ft-index/tools/tokudb_dump storage/tokudb/ft-index/tools/tokudb_dump
storage/tokudb/ft-index/tools/tokudb_gen storage/tokudb/ft-index/tools/tokudb_gen
storage/tokudb/ft-index/tools/tokudb_load storage/tokudb/ft-index/tools/tokudb_load
storage/tokudb/ft-index/tools/tokuftdump storage/tokudb/ft-index/tools/tokuftdump
storage/tokudb/ft-index/tools/tokuft_logprint
storage/tokudb/ft-index/xz/ storage/tokudb/ft-index/xz/
support-files/MySQL-shared-compat.spec support-files/MySQL-shared-compat.spec
support-files/binary-configure support-files/binary-configure
@ -234,6 +233,9 @@ storage/mroonga/mysql-test/mroonga/storage/r/variable_version.result
*.ko *.ko
*.obj *.obj
*.elf *.elf
*.exp
*.dep
*.idb
# Precompiled Headers # Precompiled Headers
*.gch *.gch

View file

@ -1,4 +1,4 @@
MYSQL_VERSION_MAJOR=10 MYSQL_VERSION_MAJOR=10
MYSQL_VERSION_MINOR=1 MYSQL_VERSION_MINOR=1
MYSQL_VERSION_PATCH=5 MYSQL_VERSION_PATCH=6
MYSQL_VERSION_EXTRA= MYSQL_VERSION_EXTRA=

View file

@ -54,6 +54,7 @@ static char *opt_plugin_dir= 0, *opt_default_auth= 0;
static int first_error = 0; static int first_error = 0;
static char *opt_skip_database; static char *opt_skip_database;
DYNAMIC_ARRAY tables4repair, tables4rebuild, alter_table_cmds; DYNAMIC_ARRAY tables4repair, tables4rebuild, alter_table_cmds;
DYNAMIC_ARRAY views4repair;
static char *shared_memory_base_name=0; static char *shared_memory_base_name=0;
static uint opt_protocol=0; static uint opt_protocol=0;
@ -878,11 +879,19 @@ static int handle_request_for_tables(char *tables, size_t length, my_bool view)
switch (what_to_do) { switch (what_to_do) {
case DO_CHECK: case DO_CHECK:
op = "CHECK"; op = "CHECK";
if (opt_quick) end = strmov(end, " QUICK"); if (view)
if (opt_fast) end = strmov(end, " FAST"); {
if (opt_medium_check) end = strmov(end, " MEDIUM"); /* Default */ if (opt_fast || opt_check_only_changed)
if (opt_extended) end = strmov(end, " EXTENDED"); DBUG_RETURN(0);
if (opt_check_only_changed) end = strmov(end, " CHANGED"); }
else
{
if (opt_quick) end = strmov(end, " QUICK");
if (opt_fast) end = strmov(end, " FAST");
if (opt_extended) end = strmov(end, " EXTENDED");
if (opt_medium_check) end = strmov(end, " MEDIUM"); /* Default */
if (opt_check_only_changed) end = strmov(end, " CHANGED");
}
if (opt_upgrade) end = strmov(end, " FOR UPGRADE"); if (opt_upgrade) end = strmov(end, " FOR UPGRADE");
break; break;
case DO_REPAIR: case DO_REPAIR:
@ -967,6 +976,7 @@ static void print_result()
uint length_of_db; uint length_of_db;
uint i; uint i;
my_bool found_error=0, table_rebuild=0; my_bool found_error=0, table_rebuild=0;
DYNAMIC_ARRAY *array4repair= &tables4repair;
DBUG_ENTER("print_result"); DBUG_ENTER("print_result");
res = mysql_use_result(sock); res = mysql_use_result(sock);
@ -1003,9 +1013,10 @@ static void print_result()
else else
{ {
char *table_name= prev + (length_of_db+1); char *table_name= prev + (length_of_db+1);
insert_dynamic(&tables4repair, table_name); insert_dynamic(array4repair, table_name);
} }
} }
array4repair= &tables4repair;
found_error=0; found_error=0;
table_rebuild=0; table_rebuild=0;
prev_alter[0]= 0; prev_alter[0]= 0;
@ -1021,8 +1032,11 @@ static void print_result()
we have to run upgrade on it. In this case we write a nicer message we have to run upgrade on it. In this case we write a nicer message
than "Please do "REPAIR TABLE""... than "Please do "REPAIR TABLE""...
*/ */
if (!strcmp(row[2],"error") && strstr(row[3],"REPAIR TABLE")) if (!strcmp(row[2],"error") && strstr(row[3],"REPAIR "))
{
printf("%-50s %s", row[0], "Needs upgrade"); printf("%-50s %s", row[0], "Needs upgrade");
array4repair= strstr(row[3], "VIEW") ? &views4repair : &tables4repair;
}
else else
printf("%s\n%-9s: %s", row[0], row[2], row[3]); printf("%s\n%-9s: %s", row[0], row[2], row[3]);
if (opt_auto_repair && strcmp(row[2],"note")) if (opt_auto_repair && strcmp(row[2],"note"))
@ -1053,7 +1067,7 @@ static void print_result()
else else
{ {
char *table_name= prev + (length_of_db+1); char *table_name= prev + (length_of_db+1);
insert_dynamic(&tables4repair, table_name); insert_dynamic(array4repair, table_name);
} }
} }
mysql_free_result(res); mysql_free_result(res);
@ -1173,6 +1187,8 @@ int main(int argc, char **argv)
if (opt_auto_repair && if (opt_auto_repair &&
(my_init_dynamic_array(&tables4repair, sizeof(char)*(NAME_LEN*2+2),16, (my_init_dynamic_array(&tables4repair, sizeof(char)*(NAME_LEN*2+2),16,
64, MYF(0)) || 64, MYF(0)) ||
my_init_dynamic_array(&views4repair, sizeof(char)*(NAME_LEN*2+2),16,
64, MYF(0)) ||
my_init_dynamic_array(&tables4rebuild, sizeof(char)*(NAME_LEN*2+2),16, my_init_dynamic_array(&tables4rebuild, sizeof(char)*(NAME_LEN*2+2),16,
64, MYF(0)) || 64, MYF(0)) ||
my_init_dynamic_array(&alter_table_cmds, MAX_ALTER_STR_SIZE, 0, 1, my_init_dynamic_array(&alter_table_cmds, MAX_ALTER_STR_SIZE, 0, 1,
@ -1203,6 +1219,13 @@ int main(int argc, char **argv)
rebuild_table((char*) dynamic_array_ptr(&tables4rebuild, i)); rebuild_table((char*) dynamic_array_ptr(&tables4rebuild, i));
for (i = 0; i < alter_table_cmds.elements ; i++) for (i = 0; i < alter_table_cmds.elements ; i++)
run_query((char*) dynamic_array_ptr(&alter_table_cmds, i), 1); run_query((char*) dynamic_array_ptr(&alter_table_cmds, i), 1);
if (!opt_silent && views4repair.elements)
puts("\nRepairing views");
for (i = 0; i < views4repair.elements ; i++)
{
char *name= (char*) dynamic_array_ptr(&views4repair, i);
handle_request_for_tables(name, fixed_name_length(name), TRUE);
}
} }
ret= MY_TEST(first_error); ret= MY_TEST(first_error);
@ -1210,8 +1233,10 @@ int main(int argc, char **argv)
dbDisconnect(current_host); dbDisconnect(current_host);
if (opt_auto_repair) if (opt_auto_repair)
{ {
delete_dynamic(&views4repair);
delete_dynamic(&tables4repair); delete_dynamic(&tables4repair);
delete_dynamic(&tables4rebuild); delete_dynamic(&tables4rebuild);
delete_dynamic(&alter_table_cmds);
} }
end1: end1:
my_free(opt_password); my_free(opt_password);

View file

@ -97,7 +97,7 @@ static ulong find_set(TYPELIB *lib, const char *x, uint length,
static char *alloc_query_str(ulong size); static char *alloc_query_str(ulong size);
static void field_escape(DYNAMIC_STRING* in, const char *from); static void field_escape(DYNAMIC_STRING* in, const char *from);
static my_bool verbose= 0, opt_no_create_info= 0, opt_no_data= 0, static my_bool verbose= 0, opt_no_create_info= 0, opt_no_data= 0, opt_no_data_med= 1,
quick= 1, extended_insert= 1, quick= 1, extended_insert= 1,
lock_tables=1,ignore_errors=0,flush_logs=0,flush_privileges=0, lock_tables=1,ignore_errors=0,flush_logs=0,flush_privileges=0,
opt_drop=1,opt_keywords=0,opt_lock=1,opt_compress=0, opt_drop=1,opt_keywords=0,opt_lock=1,opt_compress=0,
@ -203,6 +203,8 @@ const char *compatible_mode_names[]=
TYPELIB compatible_mode_typelib= {array_elements(compatible_mode_names) - 1, TYPELIB compatible_mode_typelib= {array_elements(compatible_mode_names) - 1,
"", compatible_mode_names, NULL}; "", compatible_mode_names, NULL};
#define MED_ENGINES "MRG_MyISAM, MRG_ISAM, CONNECT, OQGRAPH, SPIDER, VP, FEDERATED"
HASH ignore_table; HASH ignore_table;
static struct my_option my_long_options[] = static struct my_option my_long_options[] =
@ -431,6 +433,9 @@ static struct my_option my_long_options[] =
NO_ARG, 0, 0, 0, 0, 0, 0}, NO_ARG, 0, 0, 0, 0, 0, 0},
{"no-data", 'd', "No row information.", &opt_no_data, {"no-data", 'd', "No row information.", &opt_no_data,
&opt_no_data, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0}, &opt_no_data, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
{"no-data-med", 0, "No row information for engines that "
"Manage External Data (" MED_ENGINES ").", &opt_no_data_med,
&opt_no_data_med, 0, GET_BOOL, NO_ARG, 1, 0, 0, 0, 0, 0},
{"no-set-names", 'N', "Same as --skip-set-charset.", {"no-set-names", 'N', "Same as --skip-set-charset.",
0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}, 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
{"opt", OPT_OPTIMIZE, {"opt", OPT_OPTIMIZE,
@ -5506,12 +5511,12 @@ char check_if_ignore_table(const char *table_name, char *table_type)
/* /*
If these two types, we do want to skip dumping the table If these two types, we do want to skip dumping the table
*/ */
if (!opt_no_data && if (!opt_no_data && opt_no_data_med)
(!my_strcasecmp(&my_charset_latin1, table_type, "MRG_MyISAM") || {
!strcmp(table_type,"MRG_ISAM") || const char *found= strstr(" " MED_ENGINES ",", table_type);
!strcmp(table_type,"CONNECT") || if (found && found[-1] == ' ' && found[strlen(table_type)] == ',')
!strcmp(table_type,"FEDERATED"))) result= IGNORE_DATA;
result= IGNORE_DATA; }
} }
mysql_free_result(res); mysql_free_result(res);
DBUG_RETURN(result); DBUG_RETURN(result);

View file

@ -839,6 +839,7 @@ static void handle_no_active_connection(struct st_command* command,
#define EMB_END_CONNECTION 3 #define EMB_END_CONNECTION 3
#define EMB_PREPARE_STMT 4 #define EMB_PREPARE_STMT 4
#define EMB_EXECUTE_STMT 5 #define EMB_EXECUTE_STMT 5
#define EMB_CLOSE_STMT 6
/* workaround for MySQL BUG#57491 */ /* workaround for MySQL BUG#57491 */
#undef MY_WME #undef MY_WME
@ -887,6 +888,9 @@ pthread_handler_t connection_thread(void *arg)
case EMB_EXECUTE_STMT: case EMB_EXECUTE_STMT:
cn->result= mysql_stmt_execute(cn->stmt); cn->result= mysql_stmt_execute(cn->stmt);
break; break;
case EMB_CLOSE_STMT:
cn->result= mysql_stmt_close(cn->stmt);
break;
default: default:
DBUG_ASSERT(0); DBUG_ASSERT(0);
} }
@ -984,6 +988,17 @@ static int do_stmt_execute(struct st_connection *cn)
} }
static int do_stmt_close(struct st_connection *cn)
{
/* The cn->stmt is already set. */
if (!cn->has_thread)
return mysql_stmt_close(cn->stmt);
signal_connection_thd(cn, EMB_CLOSE_STMT);
wait_query_thread_done(cn);
return cn->result;
}
static void emb_close_connection(struct st_connection *cn) static void emb_close_connection(struct st_connection *cn)
{ {
if (!cn->has_thread) if (!cn->has_thread)
@ -1019,6 +1034,7 @@ static void init_connection_thd(struct st_connection *cn)
#define do_read_query_result(cn) mysql_read_query_result(cn->mysql) #define do_read_query_result(cn) mysql_read_query_result(cn->mysql)
#define do_stmt_prepare(cn, q, q_len) mysql_stmt_prepare(cn->stmt, q, q_len) #define do_stmt_prepare(cn, q, q_len) mysql_stmt_prepare(cn->stmt, q, q_len)
#define do_stmt_execute(cn) mysql_stmt_execute(cn->stmt) #define do_stmt_execute(cn) mysql_stmt_execute(cn->stmt)
#define do_stmt_close(cn) mysql_stmt_close(cn->stmt)
#endif /*EMBEDDED_LIBRARY*/ #endif /*EMBEDDED_LIBRARY*/
@ -1378,11 +1394,11 @@ void close_connections()
DBUG_ENTER("close_connections"); DBUG_ENTER("close_connections");
for (--next_con; next_con >= connections; --next_con) for (--next_con; next_con >= connections; --next_con)
{ {
if (next_con->stmt)
do_stmt_close(next_con);
#ifdef EMBEDDED_LIBRARY #ifdef EMBEDDED_LIBRARY
emb_close_connection(next_con); emb_close_connection(next_con);
#endif #endif
if (next_con->stmt)
mysql_stmt_close(next_con->stmt);
next_con->stmt= 0; next_con->stmt= 0;
mysql_close(next_con->mysql); mysql_close(next_con->mysql);
next_con->mysql= 0; next_con->mysql= 0;
@ -5491,7 +5507,11 @@ void do_close_connection(struct st_command *command)
con->mysql->net.vio = 0; con->mysql->net.vio = 0;
} }
} }
#else #endif /*!EMBEDDED_LIBRARY*/
if (con->stmt)
do_stmt_close(con);
con->stmt= 0;
#ifdef EMBEDDED_LIBRARY
/* /*
As query could be still executed in a separate theread As query could be still executed in a separate theread
we need to check if the query's thread was finished and probably wait we need to check if the query's thread was finished and probably wait
@ -5499,9 +5519,6 @@ void do_close_connection(struct st_command *command)
*/ */
emb_close_connection(con); emb_close_connection(con);
#endif /*EMBEDDED_LIBRARY*/ #endif /*EMBEDDED_LIBRARY*/
if (con->stmt)
mysql_stmt_close(con->stmt);
con->stmt= 0;
mysql_close(con->mysql); mysql_close(con->mysql);
con->mysql= 0; con->mysql= 0;

View file

@ -28,7 +28,7 @@ ELSE()
SET(RUN_ABI_CHECK 0) SET(RUN_ABI_CHECK 0)
ENDIF() ENDIF()
IF(CMAKE_COMPILER_IS_GNUCC AND RUN_ABI_CHECK) IF(CMAKE_C_COMPILER_ID MATCHES "GNU|Clang" AND RUN_ABI_CHECK)
IF(CMAKE_C_COMPILER MATCHES "ccache$") IF(CMAKE_C_COMPILER MATCHES "ccache$")
SET(COMPILER ${CMAKE_C_COMPILER_ARG1}) SET(COMPILER ${CMAKE_C_COMPILER_ARG1})
STRING(REGEX REPLACE "^ " "" COMPILER ${COMPILER}) STRING(REGEX REPLACE "^ " "" COMPILER ${COMPILER})

View file

@ -21,11 +21,12 @@ SET(CPACK_COMPONENT_MANPAGESCLIENT_GROUP "client")
SET(CPACK_COMPONENT_README_GROUP "server") SET(CPACK_COMPONENT_README_GROUP "server")
SET(CPACK_COMPONENT_SHAREDLIBRARIES_GROUP "shared") SET(CPACK_COMPONENT_SHAREDLIBRARIES_GROUP "shared")
SET(CPACK_COMPONENT_COMMON_GROUP "common") SET(CPACK_COMPONENT_COMMON_GROUP "common")
SET(CPACK_COMPONENT_CLIENTPLUGINS_GROUP "common")
SET(CPACK_COMPONENT_COMPAT_GROUP "compat") SET(CPACK_COMPONENT_COMPAT_GROUP "compat")
SET(CPACK_COMPONENTS_ALL Server ManPagesServer IniFiles Server_Scripts SET(CPACK_COMPONENTS_ALL Server ManPagesServer IniFiles Server_Scripts
SupportFiles Development ManPagesDevelopment SupportFiles Development ManPagesDevelopment
ManPagesTest Readme ManPagesClient Test ManPagesTest Readme ManPagesClient Test
Common Client SharedLibraries) Common Client SharedLibraries ClientPlugins)
SET(CPACK_RPM_PACKAGE_NAME ${CPACK_PACKAGE_NAME}) SET(CPACK_RPM_PACKAGE_NAME ${CPACK_PACKAGE_NAME})
SET(CPACK_PACKAGE_FILE_NAME "${CPACK_RPM_PACKAGE_NAME}-${VERSION}-${RPM}-${CMAKE_SYSTEM_PROCESSOR}") SET(CPACK_PACKAGE_FILE_NAME "${CPACK_RPM_PACKAGE_NAME}-${VERSION}-${RPM}-${CMAKE_SYSTEM_PROCESSOR}")

View file

@ -58,7 +58,7 @@ FOREACH(file ${ABI_HEADERS})
EXECUTE_PROCESS( EXECUTE_PROCESS(
COMMAND ${COMPILER} COMMAND ${COMPILER}
-E -nostdinc -dI -DMYSQL_ABI_CHECK -I${SOURCE_DIR}/include -E -nostdinc -DMYSQL_ABI_CHECK -I${SOURCE_DIR}/include
-I${BINARY_DIR}/include -I${SOURCE_DIR}/include/mysql -I${SOURCE_DIR}/sql -I${BINARY_DIR}/include -I${SOURCE_DIR}/include/mysql -I${SOURCE_DIR}/sql
${file} ${file}
ERROR_QUIET OUTPUT_FILE ${tmpfile}) ERROR_QUIET OUTPUT_FILE ${tmpfile})

View file

@ -308,17 +308,15 @@ INCLUDE(CheckCCompilerFlag)
SET(VISIBILITY_HIDDEN_FLAG) SET(VISIBILITY_HIDDEN_FLAG)
IF(CMAKE_COMPILER_IS_GNUCXX AND UNIX) IF(CMAKE_C_COMPILER_ID MATCHES "SunPro")
SET(VISIBILITY_HIDDEN_FLAG "-xldscope=hidden")
ELSEIF(UNIX)
CHECK_C_COMPILER_FLAG("-fvisibility=hidden" HAVE_VISIBILITY_HIDDEN) CHECK_C_COMPILER_FLAG("-fvisibility=hidden" HAVE_VISIBILITY_HIDDEN)
IF(HAVE_VISIBILITY_HIDDEN) IF(HAVE_VISIBILITY_HIDDEN)
SET(VISIBILITY_HIDDEN_FLAG "-fvisibility=hidden") SET(VISIBILITY_HIDDEN_FLAG "-fvisibility=hidden")
ENDIF() ENDIF()
ENDIF() ENDIF()
IF(CMAKE_C_COMPILER_ID MATCHES "SunPro")
SET(VISIBILITY_HIDDEN_FLAG "-xldscope=hidden")
ENDIF()
# We try to hide the symbols in yassl/zlib to avoid name clashes with # We try to hide the symbols in yassl/zlib to avoid name clashes with
# other libraries like openssl. # other libraries like openssl.
FUNCTION(RESTRICT_SYMBOL_EXPORTS target) FUNCTION(RESTRICT_SYMBOL_EXPORTS target)

View file

@ -41,11 +41,11 @@ IF(MYSQL_MAINTAINER_MODE MATCHES "ERR")
ENDIF() ENDIF()
# Set warning flags for GCC/Clang # Set warning flags for GCC/Clang
IF(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "Clang") IF(CMAKE_C_COMPILER_ID MATCHES "GNU|Clang")
SET(MY_MAINTAINER_C_WARNINGS "${MY_C_WARNING_FLAGS}") SET(MY_MAINTAINER_C_WARNINGS "${MY_C_WARNING_FLAGS}")
ENDIF() ENDIF()
# Set warning flags for G++/Clang++ # Set warning flags for G++/Clang++
IF(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") IF(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
SET(MY_MAINTAINER_CXX_WARNINGS "${MY_CXX_WARNING_FLAGS}") SET(MY_MAINTAINER_CXX_WARNINGS "${MY_CXX_WARNING_FLAGS}")
ENDIF() ENDIF()

View file

@ -1,4 +1,4 @@
# Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2009, 2015, Oracle and/or its affiliates.
# #
# This program is free software; you can redistribute it and/or modify # 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 # it under the terms of the GNU General Public License as published by
@ -60,9 +60,9 @@ IF(NOT GIT_EXECUTABLE)
# Save bison output first. # Save bison output first.
CONFIGURE_FILE(${CMAKE_BINARY_DIR}/sql/sql_yacc.cc CONFIGURE_FILE(${CMAKE_BINARY_DIR}/sql/sql_yacc.cc
${CMAKE_BINARY_DIR}/sql_yacc.cc COPY_ONLY) ${CMAKE_BINARY_DIR}/sql_yacc.cc COPYONLY)
CONFIGURE_FILE(${CMAKE_BINARY_DIR}/sql/sql_yacc.h CONFIGURE_FILE(${CMAKE_BINARY_DIR}/sql/sql_yacc.h
${CMAKE_BINARY_DIR}/sql_yacc.h COPY_ONLY) ${CMAKE_BINARY_DIR}/sql_yacc.h COPYONLY)
IF(CMAKE_GENERATOR MATCHES "Makefiles") IF(CMAKE_GENERATOR MATCHES "Makefiles")
# make clean # make clean
@ -74,9 +74,9 @@ IF(NOT GIT_EXECUTABLE)
# Restore bison output # Restore bison output
CONFIGURE_FILE(${CMAKE_BINARY_DIR}/sql_yacc.cc CONFIGURE_FILE(${CMAKE_BINARY_DIR}/sql_yacc.cc
${CMAKE_BINARY_DIR}/sql/sql_yacc.cc COPY_ONLY) ${CMAKE_BINARY_DIR}/sql/sql_yacc.cc COPYONLY)
CONFIGURE_FILE(${CMAKE_BINARY_DIR}/sql_yacc.h CONFIGURE_FILE(${CMAKE_BINARY_DIR}/sql_yacc.h
${CMAKE_BINARY_DIR}/sql/sql_yacc.h COPY_ONLY) ${CMAKE_BINARY_DIR}/sql/sql_yacc.h COPYONLY)
FILE(REMOVE ${CMAKE_BINARY_DIR}/sql_yacc.cc) FILE(REMOVE ${CMAKE_BINARY_DIR}/sql_yacc.cc)
FILE(REMOVE ${CMAKE_BINARY_DIR}/sql_yacc.h) FILE(REMOVE ${CMAKE_BINARY_DIR}/sql_yacc.h)
ENDIF() ENDIF()

View file

@ -352,7 +352,6 @@ SET(C_HAS___inline 1 CACHE INTERNAL "")
SET(FIONREAD_IN_SYS_IOCTL CACHE INTERNAL "") SET(FIONREAD_IN_SYS_IOCTL CACHE INTERNAL "")
SET(FIONREAD_IN_SYS_FILIO CACHE INTERNAL "") SET(FIONREAD_IN_SYS_FILIO CACHE INTERNAL "")
SET(GWINSZ_IN_SYS_IOCTL CACHE INTERNAL "") SET(GWINSZ_IN_SYS_IOCTL CACHE INTERNAL "")
SET(HAVE_CXXABI_H CACHE INTERNAL "")
SET(HAVE_NDIR_H CACHE INTERNAL "") SET(HAVE_NDIR_H CACHE INTERNAL "")
SET(HAVE_SYS_NDIR_H CACHE INTERNAL "") SET(HAVE_SYS_NDIR_H CACHE INTERNAL "")
SET(HAVE_SYS_NDIR_H CACHE INTERNAL "") SET(HAVE_SYS_NDIR_H CACHE INTERNAL "")
@ -371,4 +370,8 @@ SET(HAVE_SYS_UTSNAME_H CACHE INTERNAL "")
SET(HAVE_PTHREAD_ATTR_GETGUARDSIZE CACHE INTERNAL "") SET(HAVE_PTHREAD_ATTR_GETGUARDSIZE CACHE INTERNAL "")
SET(HAVE_UCONTEXT_H CACHE INTERNAL "") SET(HAVE_UCONTEXT_H CACHE INTERNAL "")
SET(HAVE_SOCKPEERCRED CACHE INTERNAL "") SET(HAVE_SOCKPEERCRED CACHE INTERNAL "")
SET(HAVE_ABI_CXA_DEMANGLE CACHE INTERNAL "")
SET(HAVE_GCC_ATOMIC_BUILTINS CACHE INTERNAL "")
SET(HAVE_GCC_C11_ATOMICS CACHE INTERNAL "")
SET(HAVE_VISIBILITY_HIDDEN CACHE INTERNAL "")
ENDIF(MSVC) ENDIF(MSVC)

View file

@ -27,7 +27,6 @@
#cmakedefine HAVE_BSEARCH 1 #cmakedefine HAVE_BSEARCH 1
#cmakedefine HAVE_CRYPT_H 1 #cmakedefine HAVE_CRYPT_H 1
#cmakedefine HAVE_CURSES_H 1 #cmakedefine HAVE_CURSES_H 1
#cmakedefine HAVE_CXXABI_H 1
#cmakedefine HAVE_BFD_H 1 #cmakedefine HAVE_BFD_H 1
#cmakedefine HAVE_NCURSES_H 1 #cmakedefine HAVE_NCURSES_H 1
#cmakedefine HAVE_NDIR_H 1 #cmakedefine HAVE_NDIR_H 1
@ -205,7 +204,7 @@
#cmakedefine HAVE_MADVISE 1 #cmakedefine HAVE_MADVISE 1
#cmakedefine HAVE_DECL_MADVISE 1 #cmakedefine HAVE_DECL_MADVISE 1
#cmakedefine HAVE_DECL_TGOTO 1 #cmakedefine HAVE_DECL_TGOTO 1
#cmakedefine HAVE_DECL_MHA_MAPSIZE_VA #cmakedefine HAVE_DECL_MHA_MAPSIZE_VA 1
#cmakedefine HAVE_MALLINFO 1 #cmakedefine HAVE_MALLINFO 1
#cmakedefine HAVE_MEMCPY 1 #cmakedefine HAVE_MEMCPY 1
#cmakedefine HAVE_MEMMOVE 1 #cmakedefine HAVE_MEMMOVE 1
@ -400,7 +399,7 @@
#cmakedefine SOCKET_SIZE_TYPE @SOCKET_SIZE_TYPE@ #cmakedefine SOCKET_SIZE_TYPE @SOCKET_SIZE_TYPE@
#cmakedefine HAVE_MBSTATE_T #cmakedefine HAVE_MBSTATE_T 1
#define MAX_INDEXES 64 #define MAX_INDEXES 64
@ -435,15 +434,15 @@
#cmakedefine HAVE_WCTYPE_H 1 #cmakedefine HAVE_WCTYPE_H 1
#cmakedefine HAVE_WCHAR_H 1 #cmakedefine HAVE_WCHAR_H 1
#cmakedefine HAVE_LANGINFO_H 1 #cmakedefine HAVE_LANGINFO_H 1
#cmakedefine HAVE_MBRLEN #cmakedefine HAVE_MBRLEN 1
#cmakedefine HAVE_MBSCMP #cmakedefine HAVE_MBSCMP 1
#cmakedefine HAVE_MBSRTOWCS #cmakedefine HAVE_MBSRTOWCS 1
#cmakedefine HAVE_WCRTOMB #cmakedefine HAVE_WCRTOMB 1
#cmakedefine HAVE_MBRTOWC #cmakedefine HAVE_MBRTOWC 1
#cmakedefine HAVE_WCSCOLL #cmakedefine HAVE_WCSCOLL 1
#cmakedefine HAVE_WCSDUP #cmakedefine HAVE_WCSDUP 1
#cmakedefine HAVE_WCWIDTH #cmakedefine HAVE_WCWIDTH 1
#cmakedefine HAVE_WCTYPE #cmakedefine HAVE_WCTYPE 1
#cmakedefine HAVE_ISWLOWER 1 #cmakedefine HAVE_ISWLOWER 1
#cmakedefine HAVE_ISWUPPER 1 #cmakedefine HAVE_ISWUPPER 1
#cmakedefine HAVE_TOWLOWER 1 #cmakedefine HAVE_TOWLOWER 1
@ -457,7 +456,7 @@
#cmakedefine HAVE_STRCASECMP 1 #cmakedefine HAVE_STRCASECMP 1
#cmakedefine HAVE_STRNCASECMP 1 #cmakedefine HAVE_STRNCASECMP 1
#cmakedefine HAVE_STRDUP 1 #cmakedefine HAVE_STRDUP 1
#cmakedefine HAVE_LANGINFO_CODESET #cmakedefine HAVE_LANGINFO_CODESET 1
#cmakedefine HAVE_TCGETATTR 1 #cmakedefine HAVE_TCGETATTR 1
#cmakedefine HAVE_FLOCKFILE 1 #cmakedefine HAVE_FLOCKFILE 1
@ -475,6 +474,7 @@
#cmakedefine MY_ATOMIC_MODE_DUMMY 1 #cmakedefine MY_ATOMIC_MODE_DUMMY 1
#cmakedefine HAVE_GCC_ATOMIC_BUILTINS 1 #cmakedefine HAVE_GCC_ATOMIC_BUILTINS 1
#cmakedefine HAVE_GCC_C11_ATOMICS 1
#cmakedefine HAVE_SOLARIS_ATOMIC 1 #cmakedefine HAVE_SOLARIS_ATOMIC 1
#cmakedefine HAVE_DECL_SHM_HUGETLB 1 #cmakedefine HAVE_DECL_SHM_HUGETLB 1
#cmakedefine HAVE_LARGE_PAGES 1 #cmakedefine HAVE_LARGE_PAGES 1

View file

@ -52,7 +52,7 @@ IF(NOT SYSTEM_TYPE)
ENDIF() ENDIF()
ENDIF() ENDIF()
IF(CMAKE_COMPILER_IS_GNUCXX) IF(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
# MySQL "canonical" GCC flags. At least -fno-rtti flag affects # MySQL "canonical" GCC flags. At least -fno-rtti flag affects
# ABI and cannot be simply removed. # ABI and cannot be simply removed.
SET(CMAKE_CXX_FLAGS SET(CMAKE_CXX_FLAGS
@ -175,7 +175,6 @@ CHECK_INCLUDE_FILES (alloca.h HAVE_ALLOCA_H)
CHECK_INCLUDE_FILES (aio.h HAVE_AIO_H) CHECK_INCLUDE_FILES (aio.h HAVE_AIO_H)
CHECK_INCLUDE_FILES (arpa/inet.h HAVE_ARPA_INET_H) CHECK_INCLUDE_FILES (arpa/inet.h HAVE_ARPA_INET_H)
CHECK_INCLUDE_FILES (crypt.h HAVE_CRYPT_H) CHECK_INCLUDE_FILES (crypt.h HAVE_CRYPT_H)
CHECK_INCLUDE_FILE_CXX (cxxabi.h HAVE_CXXABI_H)
CHECK_INCLUDE_FILES (dirent.h HAVE_DIRENT_H) CHECK_INCLUDE_FILES (dirent.h HAVE_DIRENT_H)
CHECK_INCLUDE_FILES (dlfcn.h HAVE_DLFCN_H) CHECK_INCLUDE_FILES (dlfcn.h HAVE_DLFCN_H)
CHECK_INCLUDE_FILES (execinfo.h HAVE_EXECINFO_H) CHECK_INCLUDE_FILES (execinfo.h HAVE_EXECINFO_H)
@ -880,7 +879,7 @@ ENDIF(NOT HAVE_POSIX_SIGNALS)
# Assume regular sprintf # Assume regular sprintf
SET(SPRINTFS_RETURNS_INT 1) SET(SPRINTFS_RETURNS_INT 1)
IF(CMAKE_COMPILER_IS_GNUCXX AND HAVE_CXXABI_H) IF(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
CHECK_CXX_SOURCE_COMPILES(" CHECK_CXX_SOURCE_COMPILES("
#include <cxxabi.h> #include <cxxabi.h>
int main(int argc, char **argv) int main(int argc, char **argv)
@ -952,7 +951,6 @@ SET(SIGNAL_WITH_VIO_CLOSE 1)
MARK_AS_ADVANCED(NO_ALARM) MARK_AS_ADVANCED(NO_ALARM)
IF(CMAKE_COMPILER_IS_GNUCXX)
IF(WITH_ATOMIC_OPS STREQUAL "up") IF(WITH_ATOMIC_OPS STREQUAL "up")
SET(MY_ATOMIC_MODE_DUMMY 1 CACHE BOOL "Assume single-CPU mode, no concurrency") SET(MY_ATOMIC_MODE_DUMMY 1 CACHE BOOL "Assume single-CPU mode, no concurrency")
ELSEIF(WITH_ATOMIC_OPS STREQUAL "smp") ELSEIF(WITH_ATOMIC_OPS STREQUAL "smp")
@ -981,10 +979,17 @@ ELSEIF(NOT WITH_ATOMIC_OPS)
return 0; return 0;
}" }"
HAVE_GCC_ATOMIC_BUILTINS) HAVE_GCC_ATOMIC_BUILTINS)
CHECK_CXX_SOURCE_COMPILES("
int main()
{
long long int var= 1;
long long int *ptr= &var;
return (int)__atomic_load_n(ptr, __ATOMIC_SEQ_CST);
}"
HAVE_GCC_C11_ATOMICS)
ELSE() ELSE()
MESSAGE(FATAL_ERROR "${WITH_ATOMIC_OPS} is not a valid value for WITH_ATOMIC_OPS!") MESSAGE(FATAL_ERROR "${WITH_ATOMIC_OPS} is not a valid value for WITH_ATOMIC_OPS!")
ENDIF() ENDIF()
ENDIF()
SET(WITH_ATOMIC_OPS "${WITH_ATOMIC_OPS}" CACHE STRING "Implement atomic operations using atomic CPU instructions for multi-processor (smp) or uniprocessor (up) configuration. By default gcc built-in sync functions are used, if available and 'smp' configuration otherwise.") SET(WITH_ATOMIC_OPS "${WITH_ATOMIC_OPS}" CACHE STRING "Implement atomic operations using atomic CPU instructions for multi-processor (smp) or uniprocessor (up) configuration. By default gcc built-in sync functions are used, if available and 'smp' configuration otherwise.")
MARK_AS_ADVANCED(WITH_ATOMIC_OPS MY_ATOMIC_MODE_DUMMY) MARK_AS_ADVANCED(WITH_ATOMIC_OPS MY_ATOMIC_MODE_DUMMY)

View file

@ -4,7 +4,13 @@ Priority: optional
Maintainer: MariaDB Developers <maria-developers@lists.launchpad.net> Maintainer: MariaDB Developers <maria-developers@lists.launchpad.net>
XSBC-Original-Maintainer: Maria Developers <maria-developers@lists.launchpad.net> XSBC-Original-Maintainer: Maria Developers <maria-developers@lists.launchpad.net>
Uploaders: MariaDB Developers <maria-developers@lists.launchpad.net> Uploaders: MariaDB Developers <maria-developers@lists.launchpad.net>
Build-Depends: libtool (>= 1.4.2-7), procps | hurd, debhelper, file (>= 3.28), libncurses5-dev (>= 5.0-6), perl (>= 5.6.0), libwrap0-dev (>= 7.6-8.3), zlib1g-dev (>= 1:1.1.3-5), ${LIBREADLINE_DEV}, libssl-dev, libpam0g-dev, psmisc, po-debconf, chrpath, automake1.9, doxygen, texlive-latex-base, ghostscript | gs-gpl, dpatch, gawk, bison, lsb-release, hardening-wrapper, cmake (>= 2.7), libaio-dev, ${MAYBE_LIBCRACK} libjemalloc-dev (>= 3.0.0) Build-Depends: procps | hurd, debhelper, libncurses5-dev (>= 5.0-6),
perl (>= 5.6.0), libwrap0-dev (>= 7.6-8.3),
zlib1g-dev (>= 1:1.1.3-5), ${LIBREADLINE_DEV}, libssl-dev,
libpam0g-dev, psmisc, po-debconf, chrpath,
dpatch, gawk, bison, lsb-release, hardening-wrapper,
cmake (>= 2.7), libaio-dev, ${MAYBE_LIBCRACK}
libjemalloc-dev (>= 3.0.0)
Standards-Version: 3.8.3 Standards-Version: 3.8.3
Homepage: http://mariadb.org/ Homepage: http://mariadb.org/
Vcs-Browser: https://github.com/MariaDB/server/tree/10.1/ Vcs-Browser: https://github.com/MariaDB/server/tree/10.1/
@ -16,7 +22,9 @@ Architecture: any
Depends: mariadb-common, libmysqlclient18 (= ${source:Version}), ${shlibs:Depends}, ${misc:Depends} Depends: mariadb-common, libmysqlclient18 (= ${source:Version}), ${shlibs:Depends}, ${misc:Depends}
Conflicts: mariadb-server-10.0 (<< 10.0.5), mariadb-galera-server-10.0 (<< 10.0.5), Conflicts: mariadb-server-10.0 (<< 10.0.5), mariadb-galera-server-10.0 (<< 10.0.5),
mariadb-server-5.5 (<< 5.5.33), mariadb-galera-server-5.5 (<< 5.5.33), mariadb-server-5.5 (<< 5.5.33), mariadb-galera-server-5.5 (<< 5.5.33),
mariadb-server-5.1, mariadb-server-5.2, mariadb-server-5.3 mariadb-server-5.1,
mariadb-server-5.2,
mariadb-server-5.3
Description: MariaDB database client library Description: MariaDB database client library
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
server. SQL (Structured Query Language) is the most popular database query server. SQL (Structured Query Language) is the most popular database query
@ -105,13 +113,15 @@ Conflicts: mysql-client (<< 5.0.51), mysql-client-5.0,
mysql-client-core-5.1, mysql-client-core-5.5, mysql-client-core-5.1, mysql-client-core-5.5,
mariadb-client-5.1, mariadb-client-core-5.1, mariadb-client-5.1, mariadb-client-core-5.1,
mariadb-client-5.2, mariadb-client-core-5.2, mariadb-client-5.2, mariadb-client-core-5.2,
mariadb-client-5.3, mariadb-client-core-5.3 mariadb-client-5.3, mariadb-client-core-5.3,
mariadb-client-5.5, mariadb-client-core-5.5
Replaces: mysql-client (<< 5.0.51), mysql-client-5.0, Replaces: mysql-client (<< 5.0.51), mysql-client-5.0,
mysql-client-5.1, mysql-client-5.5, mysql-client-5.1, mysql-client-5.5,
mysql-client-core-5.1, mysql-client-core-5.5, mysql-client-core-5.1, mysql-client-core-5.5,
mariadb-client-5.1, mariadb-client-core-5.1, mariadb-client-5.1, mariadb-client-core-5.1,
mariadb-client-5.2, mariadb-client-core-5.2, mariadb-client-5.2, mariadb-client-core-5.2,
mariadb-client-5.3, mariadb-client-core-5.3 mariadb-client-5.3, mariadb-client-core-5.3,
mariadb-client-5.5, mariadb-client-core-5.5
Description: MariaDB database core client binaries Description: MariaDB database core client binaries
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
server. SQL (Structured Query Language) is the most popular database query server. SQL (Structured Query Language) is the most popular database query
@ -131,11 +141,16 @@ Provides: virtual-mysql-client, mysql-client,
mysql-client-4.1, mysql-client-5.1, mysql-client-5.5 mysql-client-4.1, mysql-client-5.1, mysql-client-5.5
Conflicts: mysql-client (<< 5.0.51), mysql-client-5.0, mysql-client-5.1, Conflicts: mysql-client (<< 5.0.51), mysql-client-5.0, mysql-client-5.1,
mariadb-client (<< ${source:Version}), mariadb-client (<< ${source:Version}),
mariadb-client-5.1, mariadb-client-5.2, mariadb-client-5.3, mysql-client-5.5 mariadb-client-5.1,
mariadb-client-5.2,
mariadb-client-5.3,
mariadb-client-5.5, mysql-client-5.5
Replaces: mysql-client (<< 5.0.51), mysql-client-5.0, mysql-client-5.1, Replaces: mysql-client (<< 5.0.51), mysql-client-5.0, mysql-client-5.1,
mysql-client-5.5,
mariadb-client (<< ${source:Version}), mariadb-client (<< ${source:Version}),
mariadb-client-5.1, mariadb-client-5.2, mariadb-client-5.3 mariadb-client-5.1,
mariadb-client-5.2,
mariadb-client-5.3,
mariadb-client-5.5, mysql-client-5.5
Description: MariaDB database client binaries Description: MariaDB database client binaries
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
server. SQL (Structured Query Language) is the most popular database query server. SQL (Structured Query Language) is the most popular database query
@ -149,18 +164,16 @@ Package: mariadb-server-core-10.1
Architecture: any Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, libmariadbclient18 (>= ${binary:Version}) Depends: ${shlibs:Depends}, ${misc:Depends}, libmariadbclient18 (>= ${binary:Version})
Provides: mysql-server-core, mysql-server-core-5.1, mysql-server-core-5.5 Provides: mysql-server-core, mysql-server-core-5.1, mysql-server-core-5.5
Conflicts: mariadb-server-5.1 (<< 5.1.60), Conflicts: mysql-server-5.0, mysql-server-core-5.0,
mariadb-server-5.2 (<< 5.2.10), mariadb-server-core-5.1, mysql-server-core-5.1,
mariadb-server-5.3 (<< 5.3.3), mariadb-server-core-5.2,
mysql-server-5.0, mariadb-server-core-5.3,
mysql-server-core-5.0, mysql-server-core-5.1, mysql-server-core-5.5, mariadb-server-core-5.5, mysql-server-core-5.5
mariadb-server-core-5.1, mariadb-server-core-5.2, mariadb-server-core-5.5 Replaces: mysql-server-5.0, mysql-server-core-5.0,
Replaces: mariadb-server-5.1 (<< 5.1.60), mariadb-server-core-5.1, mysql-server-core-5.1,
mariadb-server-5.2 (<< 5.2.10), mariadb-server-core-5.2,
mariadb-server-5.3 (<< 5.3.3), mariadb-server-core-5.3,
mysql-server-5.0, mariadb-server-core-5.5, mysql-server-core-5.5
mysql-server-core-5.0, mysql-server-core-5.1, mysql-server-core-5.5,
mariadb-server-core-5.1, mariadb-server-core-5.2, mariadb-server-core-5.5
Description: MariaDB database core server files Description: MariaDB database core server files
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
server. SQL (Structured Query Language) is the most popular database query server. SQL (Structured Query Language) is the most popular database query
@ -173,10 +186,10 @@ Package: mariadb-test-10.1
Section: database Section: database
Architecture: any Architecture: any
Depends: mariadb-server-10.1 (= ${source:Version}), mariadb-client-10.1 (= ${source:Version}) Depends: mariadb-server-10.1 (= ${source:Version}), mariadb-client-10.1 (= ${source:Version})
Suggests: patch
Conflicts: mariadb-test (<< ${source:Version}), Conflicts: mariadb-test (<< ${source:Version}),
mariadb-test-5.1, mariadb-test-5.2, mariadb-test-5.3, mariadb-test-5.1, mariadb-test-5.2, mariadb-test-5.3,
mariadb-server-5.5 (<< 5.5.33), mariadb-galera-server-5.5 (<< 5.5.33) mariadb-server-5.5 (<< 5.5.33), mariadb-galera-server-5.5 (<< 5.5.33)
Suggests: patch
Replaces: mariadb-test (<< ${source:Version}), Replaces: mariadb-test (<< ${source:Version}),
mariadb-test-5.1, mariadb-test-5.2, mariadb-test-5.3 mariadb-test-5.1, mariadb-test-5.2, mariadb-test-5.3
Description: MariaDB database regression test suite Description: MariaDB database regression test suite
@ -199,12 +212,18 @@ Depends: mariadb-client-10.1 (>= ${source:Version}), libdbi-perl,
coreutils, bsdutils, findutils, tar coreutils, bsdutils, findutils, tar
Provides: mariadb-server, mysql-server, virtual-mysql-server Provides: mariadb-server, mysql-server, virtual-mysql-server
Conflicts: mariadb-server (<< ${source:Version}), mysql-server (<< ${source:Version}), Conflicts: mariadb-server (<< ${source:Version}), mysql-server (<< ${source:Version}),
mysql-server-4.1, mysql-server-5.0, mysql-server-5.1, mysql-server-5.5, mysql-server-4.1, mysql-server-5.0,
mariadb-server-5.1, mariadb-server-5.2, mariadb-server-5.3, mariadb-server-5.1, mysql-server-5.1,
mariadb-server-5.2,
mariadb-server-5.3,
mariadb-server-5.5, mysql-server-5.5,
mariadb-tokudb-engine-5.5, mariadb-tokudb-engine-10.0 mariadb-tokudb-engine-5.5, mariadb-tokudb-engine-10.0
Replaces: mariadb-server (<< ${source:Version}), mysql-server (<< ${source:Version}), Replaces: mariadb-server (<< ${source:Version}), mysql-server (<< ${source:Version}),
mysql-server-4.1, mysql-server-5.0, mysql-server-5.1, mysql-server-5.5, mysql-server-4.1, mysql-server-5.0,
mariadb-server-5.1, mariadb-server-5.2, mariadb-server-5.3, mariadb-server-5.1, mysql-server-5.1,
mariadb-server-5.2,
mariadb-server-5.3,
mariadb-server-5.5, mysql-server-5.5,
libmariadbclient16 (<< 5.3.4), libmariadbclient-dev (<< 5.5.0), libmariadbclient16 (<< 5.3.4), libmariadbclient-dev (<< 5.5.0),
mariadb-tokudb-engine-5.5, mariadb-tokudb-engine-10.0 mariadb-tokudb-engine-5.5, mariadb-tokudb-engine-10.0
Description: MariaDB database server binaries Description: MariaDB database server binaries

View file

@ -4,7 +4,13 @@ Priority: optional
Maintainer: MariaDB Developers <maria-developers@lists.launchpad.net> Maintainer: MariaDB Developers <maria-developers@lists.launchpad.net>
XSBC-Original-Maintainer: Maria Developers <maria-developers@lists.launchpad.net> XSBC-Original-Maintainer: Maria Developers <maria-developers@lists.launchpad.net>
Uploaders: MariaDB Developers <maria-developers@lists.launchpad.net> Uploaders: MariaDB Developers <maria-developers@lists.launchpad.net>
Build-Depends: libtool (>= 1.4.2-7), procps | hurd, debhelper, file (>= 3.28), libncurses5-dev (>= 5.0-6), perl (>= 5.6.0), libwrap0-dev (>= 7.6-8.3), zlib1g-dev (>= 1:1.1.3-5), ${LIBREADLINE_DEV}, libssl-dev, libpam0g-dev, psmisc, po-debconf, chrpath, automake1.9, doxygen, texlive-latex-base, ghostscript | gs-gpl, dpatch, gawk, bison, lsb-release, hardening-wrapper, cmake (>= 2.7), libaio-dev, ${MAYBE_LIBCRACK} libjemalloc-dev (>= 3.0.0) Build-Depends: procps | hurd, debhelper, libncurses5-dev (>= 5.0-6),
perl (>= 5.6.0), libwrap0-dev (>= 7.6-8.3),
zlib1g-dev (>= 1:1.1.3-5), ${LIBREADLINE_DEV}, libssl-dev,
libpam0g-dev, psmisc, po-debconf, chrpath,
dpatch, gawk, bison, lsb-release, hardening-wrapper,
cmake (>= 2.7), libaio-dev, ${MAYBE_LIBCRACK}
libjemalloc-dev (>= 3.0.0)
Standards-Version: 3.8.2 Standards-Version: 3.8.2
Homepage: http://mariadb.org/ Homepage: http://mariadb.org/
Vcs-Browser: http://bazaar.launchpad.net/~maria-captains/maria/10.1/files Vcs-Browser: http://bazaar.launchpad.net/~maria-captains/maria/10.1/files
@ -16,7 +22,9 @@ Architecture: any
Depends: mariadb-common, libmysqlclient18 (= ${source:Version}), ${shlibs:Depends}, ${misc:Depends} Depends: mariadb-common, libmysqlclient18 (= ${source:Version}), ${shlibs:Depends}, ${misc:Depends}
Conflicts: mariadb-server-10.0 (<< 10.0.5), mariadb-galera-server-10.0 (<< 10.0.5), Conflicts: mariadb-server-10.0 (<< 10.0.5), mariadb-galera-server-10.0 (<< 10.0.5),
mariadb-server-5.5 (<< 5.5.33), mariadb-galera-server-5.5 (<< 5.5.33), mariadb-server-5.5 (<< 5.5.33), mariadb-galera-server-5.5 (<< 5.5.33),
mariadb-server-5.1, mariadb-server-5.2, mariadb-server-5.3 mariadb-server-5.1,
mariadb-server-5.2,
mariadb-server-5.3
Description: MariaDB database client library Description: MariaDB database client library
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
server. SQL (Structured Query Language) is the most popular database query server. SQL (Structured Query Language) is the most popular database query
@ -105,13 +113,15 @@ Conflicts: mysql-client (<< 5.0.51), mysql-client-5.0,
mysql-client-core-5.1, mysql-client-core-5.5, mysql-client-core-5.1, mysql-client-core-5.5,
mariadb-client-5.1, mariadb-client-core-5.1, mariadb-client-5.1, mariadb-client-core-5.1,
mariadb-client-5.2, mariadb-client-core-5.2, mariadb-client-5.2, mariadb-client-core-5.2,
mariadb-client-5.3, mariadb-client-core-5.3 mariadb-client-5.3, mariadb-client-core-5.3,
mariadb-client-5.5, mariadb-client-core-5.5
Replaces: mysql-client (<< 5.0.51), mysql-client-5.0, Replaces: mysql-client (<< 5.0.51), mysql-client-5.0,
mysql-client-5.1, mysql-client-5.5, mysql-client-5.1, mysql-client-5.5,
mysql-client-core-5.1, mysql-client-core-5.5, mysql-client-core-5.1, mysql-client-core-5.5,
mariadb-client-5.1, mariadb-client-core-5.1, mariadb-client-5.1, mariadb-client-core-5.1,
mariadb-client-5.2, mariadb-client-core-5.2, mariadb-client-5.2, mariadb-client-core-5.2,
mariadb-client-5.3, mariadb-client-core-5.3 mariadb-client-5.3, mariadb-client-core-5.3,
mariadb-client-5.5, mariadb-client-core-5.5
Description: MariaDB database core client binaries Description: MariaDB database core client binaries
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
server. SQL (Structured Query Language) is the most popular database query server. SQL (Structured Query Language) is the most popular database query
@ -131,11 +141,16 @@ Provides: virtual-mysql-client, mysql-client,
mysql-client-4.1, mysql-client-5.1, mysql-client-5.5 mysql-client-4.1, mysql-client-5.1, mysql-client-5.5
Conflicts: mysql-client (<< 5.0.51), mysql-client-5.0, mysql-client-5.1, Conflicts: mysql-client (<< 5.0.51), mysql-client-5.0, mysql-client-5.1,
mariadb-client (<< ${source:Version}), mariadb-client (<< ${source:Version}),
mariadb-client-5.1, mariadb-client-5.2, mariadb-client-5.3, mysql-client-5.5 mariadb-client-5.1,
mariadb-client-5.2,
mariadb-client-5.3,
mariadb-client-5.5, mysql-client-5.5
Replaces: mysql-client (<< 5.0.51), mysql-client-5.0, mysql-client-5.1, Replaces: mysql-client (<< 5.0.51), mysql-client-5.0, mysql-client-5.1,
mysql-client-5.5,
mariadb-client (<< ${source:Version}), mariadb-client (<< ${source:Version}),
mariadb-client-5.1, mariadb-client-5.2, mariadb-client-5.3 mariadb-client-5.1,
mariadb-client-5.2,
mariadb-client-5.3,
mariadb-client-5.5, mysql-client-5.5
Description: MariaDB database client binaries Description: MariaDB database client binaries
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
server. SQL (Structured Query Language) is the most popular database query server. SQL (Structured Query Language) is the most popular database query
@ -149,12 +164,16 @@ Package: mariadb-server-core-10.1
Architecture: any Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, libmariadbclient18 (>= ${binary:Version}) Depends: ${shlibs:Depends}, ${misc:Depends}, libmariadbclient18 (>= ${binary:Version})
Provides: mysql-server-core, mysql-server-core-5.1, mysql-server-core-5.5 Provides: mysql-server-core, mysql-server-core-5.1, mysql-server-core-5.5
Conflicts: mysql-server-5.0, Conflicts: mysql-server-5.0, mysql-server-core-5.0,
mysql-server-core-5.0, mysql-server-core-5.1, mysql-server-core-5.5, mariadb-server-core-5.1, mysql-server-core-5.1,
mariadb-server-core-5.1, mariadb-server-core-5.2, mariadb-server-core-5.5 mariadb-server-core-5.2,
Replaces: mysql-server-5.0, mariadb-server-core-5.3,
mysql-server-core-5.0, mysql-server-core-5.1, mysql-server-core-5.5, mariadb-server-core-5.5, mysql-server-core-5.5
mariadb-server-core-5.1, mariadb-server-core-5.2, mariadb-server-core-5.5 Replaces: mysql-server-5.0, mysql-server-core-5.0,
mariadb-server-core-5.1, mysql-server-core-5.1,
mariadb-server-core-5.2,
mariadb-server-core-5.3,
mariadb-server-core-5.5, mysql-server-core-5.5
Description: MariaDB database core server files Description: MariaDB database core server files
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
server. SQL (Structured Query Language) is the most popular database query server. SQL (Structured Query Language) is the most popular database query
@ -193,12 +212,18 @@ Depends: mariadb-client-10.1 (>= ${source:Version}), libdbi-perl,
coreutils, bsdutils, findutils, tar coreutils, bsdutils, findutils, tar
Provides: mariadb-server, mysql-server, virtual-mysql-server Provides: mariadb-server, mysql-server, virtual-mysql-server
Conflicts: mariadb-server (<< ${source:Version}), mysql-server (<< ${source:Version}), Conflicts: mariadb-server (<< ${source:Version}), mysql-server (<< ${source:Version}),
mysql-server-4.1, mysql-server-5.0, mysql-server-5.1, mysql-server-5.5, mysql-server-4.1, mysql-server-5.0,
mariadb-server-5.1, mariadb-server-5.2, mariadb-server-5.3, mariadb-server-5.1, mysql-server-5.1,
mariadb-server-5.2,
mariadb-server-5.3,
mariadb-server-5.5, mysql-server-5.5,
mariadb-tokudb-engine-5.5, mariadb-tokudb-engine-10.0 mariadb-tokudb-engine-5.5, mariadb-tokudb-engine-10.0
Replaces: mariadb-server (<< ${source:Version}), mysql-server (<< ${source:Version}), Replaces: mariadb-server (<< ${source:Version}), mysql-server (<< ${source:Version}),
mysql-server-4.1, mysql-server-5.0, mysql-server-5.1, mysql-server-5.5, mysql-server-4.1, mysql-server-5.0,
mariadb-server-5.1, mariadb-server-5.2, mariadb-server-5.3, mariadb-server-5.1, mysql-server-5.1,
mariadb-server-5.2,
mariadb-server-5.3,
mariadb-server-5.5, mysql-server-5.5,
libmariadbclient16 (<< 5.3.4), libmariadbclient-dev (<< 5.5.0), libmariadbclient16 (<< 5.3.4), libmariadbclient-dev (<< 5.5.0),
mariadb-tokudb-engine-5.5, mariadb-tokudb-engine-10.0 mariadb-tokudb-engine-5.5, mariadb-tokudb-engine-10.0
Description: MariaDB database server binaries Description: MariaDB database server binaries

View file

@ -20,12 +20,9 @@ INCLUDE_DIRECTORIES(
${CMAKE_SOURCE_DIR}/extra/yassl/taocrypt/mySTL) ${CMAKE_SOURCE_DIR}/extra/yassl/taocrypt/mySTL)
ADD_DEFINITIONS(${SSL_DEFINES}) ADD_DEFINITIONS(${SSL_DEFINES})
IF(CMAKE_COMPILER_IS_GNUXX) #Remove -fno-implicit-templates
#Remove -fno-implicit-templates #(yassl sources cannot be compiled with it)
#(yassl sources cannot be compiled with it) STRING(REPLACE "-fno-implicit-templates" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
STRING(REPLACE "-fno-implicit-templates" "" CMAKE_CXX_FLAGS
${CMAKE_CXX_FLAGS})
ENDIF()
SET(YASSL_SOURCES src/buffer.cpp src/cert_wrapper.cpp src/crypto_wrapper.cpp src/handshake.cpp src/lock.cpp SET(YASSL_SOURCES src/buffer.cpp src/cert_wrapper.cpp src/crypto_wrapper.cpp src/handshake.cpp src/lock.cpp
src/log.cpp src/socket_wrapper.cpp src/ssl.cpp src/timer.cpp src/yassl_error.cpp src/log.cpp src/socket_wrapper.cpp src/ssl.cpp src/timer.cpp src/yassl_error.cpp
src/yassl_imp.cpp src/yassl_int.cpp) src/yassl_imp.cpp src/yassl_int.cpp)

View file

@ -31,8 +31,8 @@
#define make_atomic_store_body(S) *a= v #define make_atomic_store_body(S) *a= v
#define MY_ATOMIC_MODE "gcc-builtins-up" #define MY_ATOMIC_MODE "gcc-builtins-up"
#elif defined(__ATOMIC_SEQ_CST) #elif defined(HAVE_GCC_C11_ATOMICS)
#define MY_ATOMIC_MODE "gcc-builtins-smp" #define MY_ATOMIC_MODE "gcc-atomics-smp"
#define make_atomic_load_body(S) \ #define make_atomic_load_body(S) \
ret= __atomic_load_n(a, __ATOMIC_SEQ_CST) ret= __atomic_load_n(a, __ATOMIC_SEQ_CST)
#define make_atomic_store_body(S) \ #define make_atomic_store_body(S) \

View file

@ -35,8 +35,7 @@
#define HAVE_WRITE_CORE #define HAVE_WRITE_CORE
#if HAVE_BACKTRACE && HAVE_BACKTRACE_SYMBOLS && \ #if HAVE_BACKTRACE && HAVE_BACKTRACE_SYMBOLS && HAVE_ABI_CXA_DEMANGLE && \
HAVE_CXXABI_H && HAVE_ABI_CXA_DEMANGLE && \
HAVE_WEAK_SYMBOL HAVE_WEAK_SYMBOL
#define BACKTRACE_DEMANGLE 1 #define BACKTRACE_DEMANGLE 1
#endif #endif

View file

@ -1,7 +1,5 @@
typedef char my_bool; typedef char my_bool;
typedef int my_socket; typedef int my_socket;
#include "mysql_version.h"
#include "mysql_com.h"
enum enum_server_command enum enum_server_command
{ {
COM_SLEEP, COM_QUIT, COM_INIT_DB, COM_QUERY, COM_FIELD_LIST, COM_SLEEP, COM_QUIT, COM_INIT_DB, COM_QUERY, COM_FIELD_LIST,
@ -143,7 +141,6 @@ void get_tty_password_buff(const char *opt_message, char *to, size_t length);
const char *mysql_errno_to_sqlstate(unsigned int mysql_errno); const char *mysql_errno_to_sqlstate(unsigned int mysql_errno);
my_bool my_thread_init(void); my_bool my_thread_init(void);
void my_thread_end(void); void my_thread_end(void);
#include "mysql_time.h"
typedef long my_time_t; typedef long my_time_t;
enum enum_mysql_timestamp_type enum enum_mysql_timestamp_type
{ {
@ -157,7 +154,6 @@ typedef struct st_mysql_time
my_bool neg; my_bool neg;
enum enum_mysql_timestamp_type time_type; enum enum_mysql_timestamp_type time_type;
} MYSQL_TIME; } MYSQL_TIME;
#include "my_list.h"
typedef struct st_list { typedef struct st_list {
struct st_list *prev,*next; struct st_list *prev,*next;
void *data; void *data;
@ -199,8 +195,6 @@ typedef struct st_mysql_field {
typedef char **MYSQL_ROW; typedef char **MYSQL_ROW;
typedef unsigned int MYSQL_FIELD_OFFSET; typedef unsigned int MYSQL_FIELD_OFFSET;
typedef unsigned long long my_ulonglong; typedef unsigned long long my_ulonglong;
#include "typelib.h"
#include "my_alloc.h"
typedef struct st_used_mem typedef struct st_used_mem
{ {
struct st_used_mem *next; struct st_used_mem *next;
@ -244,7 +238,6 @@ typedef struct st_mysql_rows {
unsigned long length; unsigned long length;
} MYSQL_ROWS; } MYSQL_ROWS;
typedef MYSQL_ROWS *MYSQL_ROW_OFFSET; typedef MYSQL_ROWS *MYSQL_ROW_OFFSET;
#include "my_alloc.h"
typedef struct embedded_query_result EMBEDDED_QUERY_RESULT; typedef struct embedded_query_result EMBEDDED_QUERY_RESULT;
typedef struct st_mysql_data { typedef struct st_mysql_data {
MYSQL_ROWS *data; MYSQL_ROWS *data;

View file

@ -3,7 +3,6 @@ struct st_mysql_client_plugin
int type; unsigned int interface_version; const char *name; const char *author; const char *desc; unsigned int version[3]; const char *license; void *mysql_api; int (*init)(char *, size_t, int, va_list); int (*deinit)(); int (*options)(const char *option, const void *); int type; unsigned int interface_version; const char *name; const char *author; const char *desc; unsigned int version[3]; const char *license; void *mysql_api; int (*init)(char *, size_t, int, va_list); int (*deinit)(); int (*options)(const char *option, const void *);
}; };
struct st_mysql; struct st_mysql;
#include <mysql/plugin_auth_common.h>
typedef struct st_plugin_vio_info typedef struct st_plugin_vio_info
{ {
enum { MYSQL_VIO_INVALID, MYSQL_VIO_TCP, MYSQL_VIO_SOCKET, enum { MYSQL_VIO_INVALID, MYSQL_VIO_TCP, MYSQL_VIO_SOCKET,
@ -24,7 +23,6 @@ struct st_mysql_client_plugin_AUTHENTICATION
int type; unsigned int interface_version; const char *name; const char *author; const char *desc; unsigned int version[3]; const char *license; void *mysql_api; int (*init)(char *, size_t, int, va_list); int (*deinit)(); int (*options)(const char *option, const void *); int type; unsigned int interface_version; const char *name; const char *author; const char *desc; unsigned int version[3]; const char *license; void *mysql_api; int (*init)(char *, size_t, int, va_list); int (*deinit)(); int (*options)(const char *option, const void *);
int (*authenticate_user)(MYSQL_PLUGIN_VIO *vio, struct st_mysql *mysql); int (*authenticate_user)(MYSQL_PLUGIN_VIO *vio, struct st_mysql *mysql);
}; };
#include <mysql/auth_dialog_client.h>
struct st_mysql; struct st_mysql;
typedef char *(*mysql_authentication_dialog_ask_t)(struct st_mysql *mysql, typedef char *(*mysql_authentication_dialog_ask_t)(struct st_mysql *mysql,
int type, const char *prompt, char *buf, int buf_len); int type, const char *prompt, char *buf, int buf_len);

View file

@ -1,15 +1,11 @@
#include "plugin.h"
typedef char my_bool; typedef char my_bool;
typedef void * MYSQL_PLUGIN; typedef void * MYSQL_PLUGIN;
#include <mysql/services.h>
#include <mysql/service_my_snprintf.h>
extern struct my_snprintf_service_st { extern struct my_snprintf_service_st {
size_t (*my_snprintf_type)(char*, size_t, const char*, ...); size_t (*my_snprintf_type)(char*, size_t, const char*, ...);
size_t (*my_vsnprintf_type)(char *, size_t, const char*, va_list); size_t (*my_vsnprintf_type)(char *, size_t, const char*, va_list);
} *my_snprintf_service; } *my_snprintf_service;
size_t my_snprintf(char* to, size_t n, const char* fmt, ...); size_t my_snprintf(char* to, size_t n, const char* fmt, ...);
size_t my_vsnprintf(char *to, size_t n, const char* fmt, va_list ap); size_t my_vsnprintf(char *to, size_t n, const char* fmt, va_list ap);
#include <mysql/service_thd_alloc.h>
struct st_mysql_lex_string struct st_mysql_lex_string
{ {
char *str; char *str;
@ -33,7 +29,6 @@ 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, MYSQL_LEX_STRING *thd_make_lex_string(void* thd, MYSQL_LEX_STRING *lex_str,
const char *str, unsigned int size, const char *str, unsigned int size,
int allocate_lex_string); int allocate_lex_string);
#include <mysql/service_thd_wait.h>
typedef enum _thd_wait_type_e { typedef enum _thd_wait_type_e {
THD_WAIT_SLEEP= 1, THD_WAIT_SLEEP= 1,
THD_WAIT_DISKIO= 2, THD_WAIT_DISKIO= 2,
@ -54,7 +49,6 @@ extern struct thd_wait_service_st {
} *thd_wait_service; } *thd_wait_service;
void thd_wait_begin(void* thd, int wait_type); void thd_wait_begin(void* thd, int wait_type);
void thd_wait_end(void* thd); void thd_wait_end(void* thd);
#include <mysql/service_progress_report.h>
extern struct progress_report_service_st { extern struct progress_report_service_st {
void (*thd_progress_init_func)(void* thd, unsigned int max_stage); void (*thd_progress_init_func)(void* thd, unsigned int max_stage);
void (*thd_progress_report_func)(void* thd, void (*thd_progress_report_func)(void* thd,
@ -75,9 +69,7 @@ void thd_progress_next_stage(void* thd);
void thd_progress_end(void* thd); void thd_progress_end(void* thd);
const char *set_thd_proc_info(void*, const char * info, const char *func, const char *set_thd_proc_info(void*, const char * info, const char *func,
const char *file, unsigned int line); const char *file, unsigned int line);
#include <mysql/service_debug_sync.h>
extern void (*debug_sync_C_callback_ptr)(void*, const char *, size_t); extern void (*debug_sync_C_callback_ptr)(void*, const char *, size_t);
#include <mysql/service_kill_statement.h>
enum thd_kill_levels { enum thd_kill_levels {
THD_IS_NOT_KILLED=0, THD_IS_NOT_KILLED=0,
THD_ABORT_SOFTLY=50, THD_ABORT_SOFTLY=50,
@ -87,8 +79,6 @@ extern struct kill_statement_service_st {
enum thd_kill_levels (*thd_kill_level_func)(const void*); enum thd_kill_levels (*thd_kill_level_func)(const void*);
} *thd_kill_statement_service; } *thd_kill_statement_service;
enum thd_kill_levels thd_kill_level(const void*); enum thd_kill_levels thd_kill_level(const void*);
#include <mysql/service_thd_timezone.h>
#include "mysql_time.h"
typedef long my_time_t; typedef long my_time_t;
enum enum_mysql_timestamp_type enum enum_mysql_timestamp_type
{ {
@ -108,7 +98,6 @@ extern struct thd_timezone_service_st {
} *thd_timezone_service; } *thd_timezone_service;
my_time_t thd_TIME_to_gmt_sec(void* thd, const MYSQL_TIME *ltime, unsigned int *errcode); my_time_t thd_TIME_to_gmt_sec(void* thd, const MYSQL_TIME *ltime, unsigned int *errcode);
void thd_gmt_sec_to_TIME(void* thd, MYSQL_TIME *ltime, my_time_t t); void thd_gmt_sec_to_TIME(void* thd, MYSQL_TIME *ltime, my_time_t t);
#include <mysql/service_sha1.h>
extern struct my_sha1_service_st { extern struct my_sha1_service_st {
void (*my_sha1_type)(unsigned char*, const char*, size_t); void (*my_sha1_type)(unsigned char*, const char*, size_t);
void (*my_sha1_multi_type)(unsigned char*, ...); void (*my_sha1_multi_type)(unsigned char*, ...);
@ -123,7 +112,6 @@ size_t my_sha1_context_size();
void my_sha1_init(void *context); void my_sha1_init(void *context);
void my_sha1_input(void *context, const unsigned char *buf, size_t len); void my_sha1_input(void *context, const unsigned char *buf, size_t len);
void my_sha1_result(void *context, unsigned char *digest); void my_sha1_result(void *context, unsigned char *digest);
#include <mysql/service_md5.h>
extern struct my_md5_service_st { extern struct my_md5_service_st {
void (*my_md5_type)(unsigned char*, const char*, size_t); void (*my_md5_type)(unsigned char*, const char*, size_t);
void (*my_md5_multi_type)(unsigned char*, ...); void (*my_md5_multi_type)(unsigned char*, ...);
@ -138,7 +126,6 @@ size_t my_md5_context_size();
void my_md5_init(void *context); void my_md5_init(void *context);
void my_md5_input(void *context, const unsigned char *buf, size_t len); void my_md5_input(void *context, const unsigned char *buf, size_t len);
void my_md5_result(void *context, unsigned char *digest); void my_md5_result(void *context, unsigned char *digest);
#include <mysql/service_logger.h>
typedef struct logger_handle_st LOGGER_HANDLE; typedef struct logger_handle_st LOGGER_HANDLE;
extern struct logger_service_st { extern struct logger_service_st {
void (*logger_init_mutexes)(); void (*logger_init_mutexes)();
@ -160,14 +147,12 @@ extern struct logger_service_st {
int logger_printf(LOGGER_HANDLE *log, const char *fmt, ...); int logger_printf(LOGGER_HANDLE *log, const char *fmt, ...);
int logger_write(LOGGER_HANDLE *log, const char *buffer, size_t size); int logger_write(LOGGER_HANDLE *log, const char *buffer, size_t size);
int logger_rotate(LOGGER_HANDLE *log); int logger_rotate(LOGGER_HANDLE *log);
#include <mysql/service_thd_autoinc.h>
extern struct thd_autoinc_service_st { extern struct thd_autoinc_service_st {
void (*thd_get_autoinc_func)(const void* thd, void (*thd_get_autoinc_func)(const void* thd,
unsigned long* off, unsigned long* inc); unsigned long* off, unsigned long* inc);
} *thd_autoinc_service; } *thd_autoinc_service;
void thd_get_autoinc(const void* thd, void thd_get_autoinc(const void* thd,
unsigned long* off, unsigned long* inc); unsigned long* off, unsigned long* inc);
#include <mysql/service_thd_error_context.h>
extern struct thd_error_context_service_st { extern struct thd_error_context_service_st {
const char *(*thd_get_error_message_func)(const void* thd); const char *(*thd_get_error_message_func)(const void* thd);
unsigned int (*thd_get_error_number_func)(const void* thd); unsigned int (*thd_get_error_number_func)(const void* thd);
@ -185,7 +170,6 @@ void thd_inc_error_row(void* thd);
char *thd_get_error_context_description(void* thd, char *thd_get_error_context_description(void* thd,
char *buffer, unsigned int length, char *buffer, unsigned int length,
unsigned int max_query_length); unsigned int max_query_length);
#include <mysql/service_thd_specifics.h>
typedef int MYSQL_THD_KEY_T; typedef int MYSQL_THD_KEY_T;
extern struct thd_specifics_service_st { extern struct thd_specifics_service_st {
int (*thd_key_create_func)(MYSQL_THD_KEY_T *key); int (*thd_key_create_func)(MYSQL_THD_KEY_T *key);
@ -197,7 +181,6 @@ int thd_key_create(MYSQL_THD_KEY_T *key);
void thd_key_delete(MYSQL_THD_KEY_T *key); void thd_key_delete(MYSQL_THD_KEY_T *key);
void* thd_getspecific(void* thd, MYSQL_THD_KEY_T key); void* thd_getspecific(void* thd, MYSQL_THD_KEY_T key);
int thd_setspecific(void* thd, MYSQL_THD_KEY_T key, void *value); int thd_setspecific(void* thd, MYSQL_THD_KEY_T key, void *value);
#include <mysql/service_encryption.h>
typedef int (*encrypt_decrypt_func)(const unsigned char* src, unsigned int slen, typedef int (*encrypt_decrypt_func)(const unsigned char* src, unsigned int slen,
unsigned char* dst, unsigned int* dlen, unsigned char* dst, unsigned int* dlen,
const unsigned char* key, unsigned int klen, const unsigned char* key, unsigned int klen,
@ -213,7 +196,6 @@ struct encryption_service_st {
encrypt_decrypt_func encryption_decrypt_func; encrypt_decrypt_func encryption_decrypt_func;
}; };
extern struct encryption_service_st encryption_handler; extern struct encryption_service_st encryption_handler;
#include <mysql/service_encryption_scheme.h>
struct st_encryption_scheme_key { struct st_encryption_scheme_key {
unsigned int version; unsigned int version;
unsigned char key[16]; unsigned char key[16];
@ -315,8 +297,6 @@ struct st_maria_plugin
const char *version_info; const char *version_info;
unsigned int maturity; unsigned int maturity;
}; };
#include "plugin_ftparser.h"
#include "plugin.h"
enum enum_ftparser_mode enum enum_ftparser_mode
{ {
MYSQL_FTPARSER_SIMPLE_MODE= 0, MYSQL_FTPARSER_SIMPLE_MODE= 0,

View file

@ -1,15 +1,11 @@
#include <mysql/plugin.h>
typedef char my_bool; typedef char my_bool;
typedef void * MYSQL_PLUGIN; typedef void * MYSQL_PLUGIN;
#include <mysql/services.h>
#include <mysql/service_my_snprintf.h>
extern struct my_snprintf_service_st { extern struct my_snprintf_service_st {
size_t (*my_snprintf_type)(char*, size_t, const char*, ...); size_t (*my_snprintf_type)(char*, size_t, const char*, ...);
size_t (*my_vsnprintf_type)(char *, size_t, const char*, va_list); size_t (*my_vsnprintf_type)(char *, size_t, const char*, va_list);
} *my_snprintf_service; } *my_snprintf_service;
size_t my_snprintf(char* to, size_t n, const char* fmt, ...); size_t my_snprintf(char* to, size_t n, const char* fmt, ...);
size_t my_vsnprintf(char *to, size_t n, const char* fmt, va_list ap); size_t my_vsnprintf(char *to, size_t n, const char* fmt, va_list ap);
#include <mysql/service_thd_alloc.h>
struct st_mysql_lex_string struct st_mysql_lex_string
{ {
char *str; char *str;
@ -33,7 +29,6 @@ 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, MYSQL_LEX_STRING *thd_make_lex_string(void* thd, MYSQL_LEX_STRING *lex_str,
const char *str, unsigned int size, const char *str, unsigned int size,
int allocate_lex_string); int allocate_lex_string);
#include <mysql/service_thd_wait.h>
typedef enum _thd_wait_type_e { typedef enum _thd_wait_type_e {
THD_WAIT_SLEEP= 1, THD_WAIT_SLEEP= 1,
THD_WAIT_DISKIO= 2, THD_WAIT_DISKIO= 2,
@ -54,7 +49,6 @@ extern struct thd_wait_service_st {
} *thd_wait_service; } *thd_wait_service;
void thd_wait_begin(void* thd, int wait_type); void thd_wait_begin(void* thd, int wait_type);
void thd_wait_end(void* thd); void thd_wait_end(void* thd);
#include <mysql/service_progress_report.h>
extern struct progress_report_service_st { extern struct progress_report_service_st {
void (*thd_progress_init_func)(void* thd, unsigned int max_stage); void (*thd_progress_init_func)(void* thd, unsigned int max_stage);
void (*thd_progress_report_func)(void* thd, void (*thd_progress_report_func)(void* thd,
@ -75,9 +69,7 @@ void thd_progress_next_stage(void* thd);
void thd_progress_end(void* thd); void thd_progress_end(void* thd);
const char *set_thd_proc_info(void*, const char * info, const char *func, const char *set_thd_proc_info(void*, const char * info, const char *func,
const char *file, unsigned int line); const char *file, unsigned int line);
#include <mysql/service_debug_sync.h>
extern void (*debug_sync_C_callback_ptr)(void*, const char *, size_t); extern void (*debug_sync_C_callback_ptr)(void*, const char *, size_t);
#include <mysql/service_kill_statement.h>
enum thd_kill_levels { enum thd_kill_levels {
THD_IS_NOT_KILLED=0, THD_IS_NOT_KILLED=0,
THD_ABORT_SOFTLY=50, THD_ABORT_SOFTLY=50,
@ -87,8 +79,6 @@ extern struct kill_statement_service_st {
enum thd_kill_levels (*thd_kill_level_func)(const void*); enum thd_kill_levels (*thd_kill_level_func)(const void*);
} *thd_kill_statement_service; } *thd_kill_statement_service;
enum thd_kill_levels thd_kill_level(const void*); enum thd_kill_levels thd_kill_level(const void*);
#include <mysql/service_thd_timezone.h>
#include "mysql_time.h"
typedef long my_time_t; typedef long my_time_t;
enum enum_mysql_timestamp_type enum enum_mysql_timestamp_type
{ {
@ -108,7 +98,6 @@ extern struct thd_timezone_service_st {
} *thd_timezone_service; } *thd_timezone_service;
my_time_t thd_TIME_to_gmt_sec(void* thd, const MYSQL_TIME *ltime, unsigned int *errcode); my_time_t thd_TIME_to_gmt_sec(void* thd, const MYSQL_TIME *ltime, unsigned int *errcode);
void thd_gmt_sec_to_TIME(void* thd, MYSQL_TIME *ltime, my_time_t t); void thd_gmt_sec_to_TIME(void* thd, MYSQL_TIME *ltime, my_time_t t);
#include <mysql/service_sha1.h>
extern struct my_sha1_service_st { extern struct my_sha1_service_st {
void (*my_sha1_type)(unsigned char*, const char*, size_t); void (*my_sha1_type)(unsigned char*, const char*, size_t);
void (*my_sha1_multi_type)(unsigned char*, ...); void (*my_sha1_multi_type)(unsigned char*, ...);
@ -123,7 +112,6 @@ size_t my_sha1_context_size();
void my_sha1_init(void *context); void my_sha1_init(void *context);
void my_sha1_input(void *context, const unsigned char *buf, size_t len); void my_sha1_input(void *context, const unsigned char *buf, size_t len);
void my_sha1_result(void *context, unsigned char *digest); void my_sha1_result(void *context, unsigned char *digest);
#include <mysql/service_md5.h>
extern struct my_md5_service_st { extern struct my_md5_service_st {
void (*my_md5_type)(unsigned char*, const char*, size_t); void (*my_md5_type)(unsigned char*, const char*, size_t);
void (*my_md5_multi_type)(unsigned char*, ...); void (*my_md5_multi_type)(unsigned char*, ...);
@ -138,7 +126,6 @@ size_t my_md5_context_size();
void my_md5_init(void *context); void my_md5_init(void *context);
void my_md5_input(void *context, const unsigned char *buf, size_t len); void my_md5_input(void *context, const unsigned char *buf, size_t len);
void my_md5_result(void *context, unsigned char *digest); void my_md5_result(void *context, unsigned char *digest);
#include <mysql/service_logger.h>
typedef struct logger_handle_st LOGGER_HANDLE; typedef struct logger_handle_st LOGGER_HANDLE;
extern struct logger_service_st { extern struct logger_service_st {
void (*logger_init_mutexes)(); void (*logger_init_mutexes)();
@ -160,14 +147,12 @@ extern struct logger_service_st {
int logger_printf(LOGGER_HANDLE *log, const char *fmt, ...); int logger_printf(LOGGER_HANDLE *log, const char *fmt, ...);
int logger_write(LOGGER_HANDLE *log, const char *buffer, size_t size); int logger_write(LOGGER_HANDLE *log, const char *buffer, size_t size);
int logger_rotate(LOGGER_HANDLE *log); int logger_rotate(LOGGER_HANDLE *log);
#include <mysql/service_thd_autoinc.h>
extern struct thd_autoinc_service_st { extern struct thd_autoinc_service_st {
void (*thd_get_autoinc_func)(const void* thd, void (*thd_get_autoinc_func)(const void* thd,
unsigned long* off, unsigned long* inc); unsigned long* off, unsigned long* inc);
} *thd_autoinc_service; } *thd_autoinc_service;
void thd_get_autoinc(const void* thd, void thd_get_autoinc(const void* thd,
unsigned long* off, unsigned long* inc); unsigned long* off, unsigned long* inc);
#include <mysql/service_thd_error_context.h>
extern struct thd_error_context_service_st { extern struct thd_error_context_service_st {
const char *(*thd_get_error_message_func)(const void* thd); const char *(*thd_get_error_message_func)(const void* thd);
unsigned int (*thd_get_error_number_func)(const void* thd); unsigned int (*thd_get_error_number_func)(const void* thd);
@ -185,7 +170,6 @@ void thd_inc_error_row(void* thd);
char *thd_get_error_context_description(void* thd, char *thd_get_error_context_description(void* thd,
char *buffer, unsigned int length, char *buffer, unsigned int length,
unsigned int max_query_length); unsigned int max_query_length);
#include <mysql/service_thd_specifics.h>
typedef int MYSQL_THD_KEY_T; typedef int MYSQL_THD_KEY_T;
extern struct thd_specifics_service_st { extern struct thd_specifics_service_st {
int (*thd_key_create_func)(MYSQL_THD_KEY_T *key); int (*thd_key_create_func)(MYSQL_THD_KEY_T *key);
@ -197,7 +181,6 @@ int thd_key_create(MYSQL_THD_KEY_T *key);
void thd_key_delete(MYSQL_THD_KEY_T *key); void thd_key_delete(MYSQL_THD_KEY_T *key);
void* thd_getspecific(void* thd, MYSQL_THD_KEY_T key); void* thd_getspecific(void* thd, MYSQL_THD_KEY_T key);
int thd_setspecific(void* thd, MYSQL_THD_KEY_T key, void *value); int thd_setspecific(void* thd, MYSQL_THD_KEY_T key, void *value);
#include <mysql/service_encryption.h>
typedef int (*encrypt_decrypt_func)(const unsigned char* src, unsigned int slen, typedef int (*encrypt_decrypt_func)(const unsigned char* src, unsigned int slen,
unsigned char* dst, unsigned int* dlen, unsigned char* dst, unsigned int* dlen,
const unsigned char* key, unsigned int klen, const unsigned char* key, unsigned int klen,
@ -213,7 +196,6 @@ struct encryption_service_st {
encrypt_decrypt_func encryption_decrypt_func; encrypt_decrypt_func encryption_decrypt_func;
}; };
extern struct encryption_service_st encryption_handler; extern struct encryption_service_st encryption_handler;
#include <mysql/service_encryption_scheme.h>
struct st_encryption_scheme_key { struct st_encryption_scheme_key {
unsigned int version; unsigned int version;
unsigned char key[16]; unsigned char key[16];
@ -315,8 +297,6 @@ struct st_maria_plugin
const char *version_info; const char *version_info;
unsigned int maturity; unsigned int maturity;
}; };
#include "plugin_ftparser.h"
#include "plugin.h"
enum enum_ftparser_mode enum enum_ftparser_mode
{ {
MYSQL_FTPARSER_SIMPLE_MODE= 0, MYSQL_FTPARSER_SIMPLE_MODE= 0,
@ -406,7 +386,6 @@ void *thd_get_ha_data(const void* thd, const struct handlerton *hton);
void thd_set_ha_data(void* thd, const struct handlerton *hton, void thd_set_ha_data(void* thd, const struct handlerton *hton,
const void *ha_data); const void *ha_data);
void thd_wakeup_subsequent_commits(void* thd, int wakeup_error); void thd_wakeup_subsequent_commits(void* thd, int wakeup_error);
#include <mysql/plugin_auth_common.h>
typedef struct st_plugin_vio_info typedef struct st_plugin_vio_info
{ {
enum { MYSQL_VIO_INVALID, MYSQL_VIO_TCP, MYSQL_VIO_SOCKET, enum { MYSQL_VIO_INVALID, MYSQL_VIO_TCP, MYSQL_VIO_SOCKET,

View file

@ -1,15 +1,11 @@
#include <mysql/plugin.h>
typedef char my_bool; typedef char my_bool;
typedef void * MYSQL_PLUGIN; typedef void * MYSQL_PLUGIN;
#include <mysql/services.h>
#include <mysql/service_my_snprintf.h>
extern struct my_snprintf_service_st { extern struct my_snprintf_service_st {
size_t (*my_snprintf_type)(char*, size_t, const char*, ...); size_t (*my_snprintf_type)(char*, size_t, const char*, ...);
size_t (*my_vsnprintf_type)(char *, size_t, const char*, va_list); size_t (*my_vsnprintf_type)(char *, size_t, const char*, va_list);
} *my_snprintf_service; } *my_snprintf_service;
size_t my_snprintf(char* to, size_t n, const char* fmt, ...); size_t my_snprintf(char* to, size_t n, const char* fmt, ...);
size_t my_vsnprintf(char *to, size_t n, const char* fmt, va_list ap); size_t my_vsnprintf(char *to, size_t n, const char* fmt, va_list ap);
#include <mysql/service_thd_alloc.h>
struct st_mysql_lex_string struct st_mysql_lex_string
{ {
char *str; char *str;
@ -33,7 +29,6 @@ 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, MYSQL_LEX_STRING *thd_make_lex_string(void* thd, MYSQL_LEX_STRING *lex_str,
const char *str, unsigned int size, const char *str, unsigned int size,
int allocate_lex_string); int allocate_lex_string);
#include <mysql/service_thd_wait.h>
typedef enum _thd_wait_type_e { typedef enum _thd_wait_type_e {
THD_WAIT_SLEEP= 1, THD_WAIT_SLEEP= 1,
THD_WAIT_DISKIO= 2, THD_WAIT_DISKIO= 2,
@ -54,7 +49,6 @@ extern struct thd_wait_service_st {
} *thd_wait_service; } *thd_wait_service;
void thd_wait_begin(void* thd, int wait_type); void thd_wait_begin(void* thd, int wait_type);
void thd_wait_end(void* thd); void thd_wait_end(void* thd);
#include <mysql/service_progress_report.h>
extern struct progress_report_service_st { extern struct progress_report_service_st {
void (*thd_progress_init_func)(void* thd, unsigned int max_stage); void (*thd_progress_init_func)(void* thd, unsigned int max_stage);
void (*thd_progress_report_func)(void* thd, void (*thd_progress_report_func)(void* thd,
@ -75,9 +69,7 @@ void thd_progress_next_stage(void* thd);
void thd_progress_end(void* thd); void thd_progress_end(void* thd);
const char *set_thd_proc_info(void*, const char * info, const char *func, const char *set_thd_proc_info(void*, const char * info, const char *func,
const char *file, unsigned int line); const char *file, unsigned int line);
#include <mysql/service_debug_sync.h>
extern void (*debug_sync_C_callback_ptr)(void*, const char *, size_t); extern void (*debug_sync_C_callback_ptr)(void*, const char *, size_t);
#include <mysql/service_kill_statement.h>
enum thd_kill_levels { enum thd_kill_levels {
THD_IS_NOT_KILLED=0, THD_IS_NOT_KILLED=0,
THD_ABORT_SOFTLY=50, THD_ABORT_SOFTLY=50,
@ -87,8 +79,6 @@ extern struct kill_statement_service_st {
enum thd_kill_levels (*thd_kill_level_func)(const void*); enum thd_kill_levels (*thd_kill_level_func)(const void*);
} *thd_kill_statement_service; } *thd_kill_statement_service;
enum thd_kill_levels thd_kill_level(const void*); enum thd_kill_levels thd_kill_level(const void*);
#include <mysql/service_thd_timezone.h>
#include "mysql_time.h"
typedef long my_time_t; typedef long my_time_t;
enum enum_mysql_timestamp_type enum enum_mysql_timestamp_type
{ {
@ -108,7 +98,6 @@ extern struct thd_timezone_service_st {
} *thd_timezone_service; } *thd_timezone_service;
my_time_t thd_TIME_to_gmt_sec(void* thd, const MYSQL_TIME *ltime, unsigned int *errcode); my_time_t thd_TIME_to_gmt_sec(void* thd, const MYSQL_TIME *ltime, unsigned int *errcode);
void thd_gmt_sec_to_TIME(void* thd, MYSQL_TIME *ltime, my_time_t t); void thd_gmt_sec_to_TIME(void* thd, MYSQL_TIME *ltime, my_time_t t);
#include <mysql/service_sha1.h>
extern struct my_sha1_service_st { extern struct my_sha1_service_st {
void (*my_sha1_type)(unsigned char*, const char*, size_t); void (*my_sha1_type)(unsigned char*, const char*, size_t);
void (*my_sha1_multi_type)(unsigned char*, ...); void (*my_sha1_multi_type)(unsigned char*, ...);
@ -123,7 +112,6 @@ size_t my_sha1_context_size();
void my_sha1_init(void *context); void my_sha1_init(void *context);
void my_sha1_input(void *context, const unsigned char *buf, size_t len); void my_sha1_input(void *context, const unsigned char *buf, size_t len);
void my_sha1_result(void *context, unsigned char *digest); void my_sha1_result(void *context, unsigned char *digest);
#include <mysql/service_md5.h>
extern struct my_md5_service_st { extern struct my_md5_service_st {
void (*my_md5_type)(unsigned char*, const char*, size_t); void (*my_md5_type)(unsigned char*, const char*, size_t);
void (*my_md5_multi_type)(unsigned char*, ...); void (*my_md5_multi_type)(unsigned char*, ...);
@ -138,7 +126,6 @@ size_t my_md5_context_size();
void my_md5_init(void *context); void my_md5_init(void *context);
void my_md5_input(void *context, const unsigned char *buf, size_t len); void my_md5_input(void *context, const unsigned char *buf, size_t len);
void my_md5_result(void *context, unsigned char *digest); void my_md5_result(void *context, unsigned char *digest);
#include <mysql/service_logger.h>
typedef struct logger_handle_st LOGGER_HANDLE; typedef struct logger_handle_st LOGGER_HANDLE;
extern struct logger_service_st { extern struct logger_service_st {
void (*logger_init_mutexes)(); void (*logger_init_mutexes)();
@ -160,14 +147,12 @@ extern struct logger_service_st {
int logger_printf(LOGGER_HANDLE *log, const char *fmt, ...); int logger_printf(LOGGER_HANDLE *log, const char *fmt, ...);
int logger_write(LOGGER_HANDLE *log, const char *buffer, size_t size); int logger_write(LOGGER_HANDLE *log, const char *buffer, size_t size);
int logger_rotate(LOGGER_HANDLE *log); int logger_rotate(LOGGER_HANDLE *log);
#include <mysql/service_thd_autoinc.h>
extern struct thd_autoinc_service_st { extern struct thd_autoinc_service_st {
void (*thd_get_autoinc_func)(const void* thd, void (*thd_get_autoinc_func)(const void* thd,
unsigned long* off, unsigned long* inc); unsigned long* off, unsigned long* inc);
} *thd_autoinc_service; } *thd_autoinc_service;
void thd_get_autoinc(const void* thd, void thd_get_autoinc(const void* thd,
unsigned long* off, unsigned long* inc); unsigned long* off, unsigned long* inc);
#include <mysql/service_thd_error_context.h>
extern struct thd_error_context_service_st { extern struct thd_error_context_service_st {
const char *(*thd_get_error_message_func)(const void* thd); const char *(*thd_get_error_message_func)(const void* thd);
unsigned int (*thd_get_error_number_func)(const void* thd); unsigned int (*thd_get_error_number_func)(const void* thd);
@ -185,7 +170,6 @@ void thd_inc_error_row(void* thd);
char *thd_get_error_context_description(void* thd, char *thd_get_error_context_description(void* thd,
char *buffer, unsigned int length, char *buffer, unsigned int length,
unsigned int max_query_length); unsigned int max_query_length);
#include <mysql/service_thd_specifics.h>
typedef int MYSQL_THD_KEY_T; typedef int MYSQL_THD_KEY_T;
extern struct thd_specifics_service_st { extern struct thd_specifics_service_st {
int (*thd_key_create_func)(MYSQL_THD_KEY_T *key); int (*thd_key_create_func)(MYSQL_THD_KEY_T *key);
@ -197,7 +181,6 @@ int thd_key_create(MYSQL_THD_KEY_T *key);
void thd_key_delete(MYSQL_THD_KEY_T *key); void thd_key_delete(MYSQL_THD_KEY_T *key);
void* thd_getspecific(void* thd, MYSQL_THD_KEY_T key); void* thd_getspecific(void* thd, MYSQL_THD_KEY_T key);
int thd_setspecific(void* thd, MYSQL_THD_KEY_T key, void *value); int thd_setspecific(void* thd, MYSQL_THD_KEY_T key, void *value);
#include <mysql/service_encryption.h>
typedef int (*encrypt_decrypt_func)(const unsigned char* src, unsigned int slen, typedef int (*encrypt_decrypt_func)(const unsigned char* src, unsigned int slen,
unsigned char* dst, unsigned int* dlen, unsigned char* dst, unsigned int* dlen,
const unsigned char* key, unsigned int klen, const unsigned char* key, unsigned int klen,
@ -213,7 +196,6 @@ struct encryption_service_st {
encrypt_decrypt_func encryption_decrypt_func; encrypt_decrypt_func encryption_decrypt_func;
}; };
extern struct encryption_service_st encryption_handler; extern struct encryption_service_st encryption_handler;
#include <mysql/service_encryption_scheme.h>
struct st_encryption_scheme_key { struct st_encryption_scheme_key {
unsigned int version; unsigned int version;
unsigned char key[16]; unsigned char key[16];
@ -315,8 +297,6 @@ struct st_maria_plugin
const char *version_info; const char *version_info;
unsigned int maturity; unsigned int maturity;
}; };
#include "plugin_ftparser.h"
#include "plugin.h"
enum enum_ftparser_mode enum enum_ftparser_mode
{ {
MYSQL_FTPARSER_SIMPLE_MODE= 0, MYSQL_FTPARSER_SIMPLE_MODE= 0,

View file

@ -1,15 +1,11 @@
#include "plugin.h"
typedef char my_bool; typedef char my_bool;
typedef void * MYSQL_PLUGIN; typedef void * MYSQL_PLUGIN;
#include <mysql/services.h>
#include <mysql/service_my_snprintf.h>
extern struct my_snprintf_service_st { extern struct my_snprintf_service_st {
size_t (*my_snprintf_type)(char*, size_t, const char*, ...); size_t (*my_snprintf_type)(char*, size_t, const char*, ...);
size_t (*my_vsnprintf_type)(char *, size_t, const char*, va_list); size_t (*my_vsnprintf_type)(char *, size_t, const char*, va_list);
} *my_snprintf_service; } *my_snprintf_service;
size_t my_snprintf(char* to, size_t n, const char* fmt, ...); size_t my_snprintf(char* to, size_t n, const char* fmt, ...);
size_t my_vsnprintf(char *to, size_t n, const char* fmt, va_list ap); size_t my_vsnprintf(char *to, size_t n, const char* fmt, va_list ap);
#include <mysql/service_thd_alloc.h>
struct st_mysql_lex_string struct st_mysql_lex_string
{ {
char *str; char *str;
@ -33,7 +29,6 @@ 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, MYSQL_LEX_STRING *thd_make_lex_string(void* thd, MYSQL_LEX_STRING *lex_str,
const char *str, unsigned int size, const char *str, unsigned int size,
int allocate_lex_string); int allocate_lex_string);
#include <mysql/service_thd_wait.h>
typedef enum _thd_wait_type_e { typedef enum _thd_wait_type_e {
THD_WAIT_SLEEP= 1, THD_WAIT_SLEEP= 1,
THD_WAIT_DISKIO= 2, THD_WAIT_DISKIO= 2,
@ -54,7 +49,6 @@ extern struct thd_wait_service_st {
} *thd_wait_service; } *thd_wait_service;
void thd_wait_begin(void* thd, int wait_type); void thd_wait_begin(void* thd, int wait_type);
void thd_wait_end(void* thd); void thd_wait_end(void* thd);
#include <mysql/service_progress_report.h>
extern struct progress_report_service_st { extern struct progress_report_service_st {
void (*thd_progress_init_func)(void* thd, unsigned int max_stage); void (*thd_progress_init_func)(void* thd, unsigned int max_stage);
void (*thd_progress_report_func)(void* thd, void (*thd_progress_report_func)(void* thd,
@ -75,9 +69,7 @@ void thd_progress_next_stage(void* thd);
void thd_progress_end(void* thd); void thd_progress_end(void* thd);
const char *set_thd_proc_info(void*, const char * info, const char *func, const char *set_thd_proc_info(void*, const char * info, const char *func,
const char *file, unsigned int line); const char *file, unsigned int line);
#include <mysql/service_debug_sync.h>
extern void (*debug_sync_C_callback_ptr)(void*, const char *, size_t); extern void (*debug_sync_C_callback_ptr)(void*, const char *, size_t);
#include <mysql/service_kill_statement.h>
enum thd_kill_levels { enum thd_kill_levels {
THD_IS_NOT_KILLED=0, THD_IS_NOT_KILLED=0,
THD_ABORT_SOFTLY=50, THD_ABORT_SOFTLY=50,
@ -87,8 +79,6 @@ extern struct kill_statement_service_st {
enum thd_kill_levels (*thd_kill_level_func)(const void*); enum thd_kill_levels (*thd_kill_level_func)(const void*);
} *thd_kill_statement_service; } *thd_kill_statement_service;
enum thd_kill_levels thd_kill_level(const void*); enum thd_kill_levels thd_kill_level(const void*);
#include <mysql/service_thd_timezone.h>
#include "mysql_time.h"
typedef long my_time_t; typedef long my_time_t;
enum enum_mysql_timestamp_type enum enum_mysql_timestamp_type
{ {
@ -108,7 +98,6 @@ extern struct thd_timezone_service_st {
} *thd_timezone_service; } *thd_timezone_service;
my_time_t thd_TIME_to_gmt_sec(void* thd, const MYSQL_TIME *ltime, unsigned int *errcode); my_time_t thd_TIME_to_gmt_sec(void* thd, const MYSQL_TIME *ltime, unsigned int *errcode);
void thd_gmt_sec_to_TIME(void* thd, MYSQL_TIME *ltime, my_time_t t); void thd_gmt_sec_to_TIME(void* thd, MYSQL_TIME *ltime, my_time_t t);
#include <mysql/service_sha1.h>
extern struct my_sha1_service_st { extern struct my_sha1_service_st {
void (*my_sha1_type)(unsigned char*, const char*, size_t); void (*my_sha1_type)(unsigned char*, const char*, size_t);
void (*my_sha1_multi_type)(unsigned char*, ...); void (*my_sha1_multi_type)(unsigned char*, ...);
@ -123,7 +112,6 @@ size_t my_sha1_context_size();
void my_sha1_init(void *context); void my_sha1_init(void *context);
void my_sha1_input(void *context, const unsigned char *buf, size_t len); void my_sha1_input(void *context, const unsigned char *buf, size_t len);
void my_sha1_result(void *context, unsigned char *digest); void my_sha1_result(void *context, unsigned char *digest);
#include <mysql/service_md5.h>
extern struct my_md5_service_st { extern struct my_md5_service_st {
void (*my_md5_type)(unsigned char*, const char*, size_t); void (*my_md5_type)(unsigned char*, const char*, size_t);
void (*my_md5_multi_type)(unsigned char*, ...); void (*my_md5_multi_type)(unsigned char*, ...);
@ -138,7 +126,6 @@ size_t my_md5_context_size();
void my_md5_init(void *context); void my_md5_init(void *context);
void my_md5_input(void *context, const unsigned char *buf, size_t len); void my_md5_input(void *context, const unsigned char *buf, size_t len);
void my_md5_result(void *context, unsigned char *digest); void my_md5_result(void *context, unsigned char *digest);
#include <mysql/service_logger.h>
typedef struct logger_handle_st LOGGER_HANDLE; typedef struct logger_handle_st LOGGER_HANDLE;
extern struct logger_service_st { extern struct logger_service_st {
void (*logger_init_mutexes)(); void (*logger_init_mutexes)();
@ -160,14 +147,12 @@ extern struct logger_service_st {
int logger_printf(LOGGER_HANDLE *log, const char *fmt, ...); int logger_printf(LOGGER_HANDLE *log, const char *fmt, ...);
int logger_write(LOGGER_HANDLE *log, const char *buffer, size_t size); int logger_write(LOGGER_HANDLE *log, const char *buffer, size_t size);
int logger_rotate(LOGGER_HANDLE *log); int logger_rotate(LOGGER_HANDLE *log);
#include <mysql/service_thd_autoinc.h>
extern struct thd_autoinc_service_st { extern struct thd_autoinc_service_st {
void (*thd_get_autoinc_func)(const void* thd, void (*thd_get_autoinc_func)(const void* thd,
unsigned long* off, unsigned long* inc); unsigned long* off, unsigned long* inc);
} *thd_autoinc_service; } *thd_autoinc_service;
void thd_get_autoinc(const void* thd, void thd_get_autoinc(const void* thd,
unsigned long* off, unsigned long* inc); unsigned long* off, unsigned long* inc);
#include <mysql/service_thd_error_context.h>
extern struct thd_error_context_service_st { extern struct thd_error_context_service_st {
const char *(*thd_get_error_message_func)(const void* thd); const char *(*thd_get_error_message_func)(const void* thd);
unsigned int (*thd_get_error_number_func)(const void* thd); unsigned int (*thd_get_error_number_func)(const void* thd);
@ -185,7 +170,6 @@ void thd_inc_error_row(void* thd);
char *thd_get_error_context_description(void* thd, char *thd_get_error_context_description(void* thd,
char *buffer, unsigned int length, char *buffer, unsigned int length,
unsigned int max_query_length); unsigned int max_query_length);
#include <mysql/service_thd_specifics.h>
typedef int MYSQL_THD_KEY_T; typedef int MYSQL_THD_KEY_T;
extern struct thd_specifics_service_st { extern struct thd_specifics_service_st {
int (*thd_key_create_func)(MYSQL_THD_KEY_T *key); int (*thd_key_create_func)(MYSQL_THD_KEY_T *key);
@ -197,7 +181,6 @@ int thd_key_create(MYSQL_THD_KEY_T *key);
void thd_key_delete(MYSQL_THD_KEY_T *key); void thd_key_delete(MYSQL_THD_KEY_T *key);
void* thd_getspecific(void* thd, MYSQL_THD_KEY_T key); void* thd_getspecific(void* thd, MYSQL_THD_KEY_T key);
int thd_setspecific(void* thd, MYSQL_THD_KEY_T key, void *value); int thd_setspecific(void* thd, MYSQL_THD_KEY_T key, void *value);
#include <mysql/service_encryption.h>
typedef int (*encrypt_decrypt_func)(const unsigned char* src, unsigned int slen, typedef int (*encrypt_decrypt_func)(const unsigned char* src, unsigned int slen,
unsigned char* dst, unsigned int* dlen, unsigned char* dst, unsigned int* dlen,
const unsigned char* key, unsigned int klen, const unsigned char* key, unsigned int klen,
@ -213,7 +196,6 @@ struct encryption_service_st {
encrypt_decrypt_func encryption_decrypt_func; encrypt_decrypt_func encryption_decrypt_func;
}; };
extern struct encryption_service_st encryption_handler; extern struct encryption_service_st encryption_handler;
#include <mysql/service_encryption_scheme.h>
struct st_encryption_scheme_key { struct st_encryption_scheme_key {
unsigned int version; unsigned int version;
unsigned char key[16]; unsigned char key[16];
@ -315,7 +297,6 @@ struct st_maria_plugin
const char *version_info; const char *version_info;
unsigned int maturity; unsigned int maturity;
}; };
#include "plugin_ftparser.h"
struct st_mysql_daemon struct st_mysql_daemon
{ {
int interface_version; int interface_version;

View file

@ -1,15 +1,11 @@
#include <mysql/plugin.h>
typedef char my_bool; typedef char my_bool;
typedef void * MYSQL_PLUGIN; typedef void * MYSQL_PLUGIN;
#include <mysql/services.h>
#include <mysql/service_my_snprintf.h>
extern struct my_snprintf_service_st { extern struct my_snprintf_service_st {
size_t (*my_snprintf_type)(char*, size_t, const char*, ...); size_t (*my_snprintf_type)(char*, size_t, const char*, ...);
size_t (*my_vsnprintf_type)(char *, size_t, const char*, va_list); size_t (*my_vsnprintf_type)(char *, size_t, const char*, va_list);
} *my_snprintf_service; } *my_snprintf_service;
size_t my_snprintf(char* to, size_t n, const char* fmt, ...); size_t my_snprintf(char* to, size_t n, const char* fmt, ...);
size_t my_vsnprintf(char *to, size_t n, const char* fmt, va_list ap); size_t my_vsnprintf(char *to, size_t n, const char* fmt, va_list ap);
#include <mysql/service_thd_alloc.h>
struct st_mysql_lex_string struct st_mysql_lex_string
{ {
char *str; char *str;
@ -33,7 +29,6 @@ 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, MYSQL_LEX_STRING *thd_make_lex_string(void* thd, MYSQL_LEX_STRING *lex_str,
const char *str, unsigned int size, const char *str, unsigned int size,
int allocate_lex_string); int allocate_lex_string);
#include <mysql/service_thd_wait.h>
typedef enum _thd_wait_type_e { typedef enum _thd_wait_type_e {
THD_WAIT_SLEEP= 1, THD_WAIT_SLEEP= 1,
THD_WAIT_DISKIO= 2, THD_WAIT_DISKIO= 2,
@ -54,7 +49,6 @@ extern struct thd_wait_service_st {
} *thd_wait_service; } *thd_wait_service;
void thd_wait_begin(void* thd, int wait_type); void thd_wait_begin(void* thd, int wait_type);
void thd_wait_end(void* thd); void thd_wait_end(void* thd);
#include <mysql/service_progress_report.h>
extern struct progress_report_service_st { extern struct progress_report_service_st {
void (*thd_progress_init_func)(void* thd, unsigned int max_stage); void (*thd_progress_init_func)(void* thd, unsigned int max_stage);
void (*thd_progress_report_func)(void* thd, void (*thd_progress_report_func)(void* thd,
@ -75,9 +69,7 @@ void thd_progress_next_stage(void* thd);
void thd_progress_end(void* thd); void thd_progress_end(void* thd);
const char *set_thd_proc_info(void*, const char * info, const char *func, const char *set_thd_proc_info(void*, const char * info, const char *func,
const char *file, unsigned int line); const char *file, unsigned int line);
#include <mysql/service_debug_sync.h>
extern void (*debug_sync_C_callback_ptr)(void*, const char *, size_t); extern void (*debug_sync_C_callback_ptr)(void*, const char *, size_t);
#include <mysql/service_kill_statement.h>
enum thd_kill_levels { enum thd_kill_levels {
THD_IS_NOT_KILLED=0, THD_IS_NOT_KILLED=0,
THD_ABORT_SOFTLY=50, THD_ABORT_SOFTLY=50,
@ -87,8 +79,6 @@ extern struct kill_statement_service_st {
enum thd_kill_levels (*thd_kill_level_func)(const void*); enum thd_kill_levels (*thd_kill_level_func)(const void*);
} *thd_kill_statement_service; } *thd_kill_statement_service;
enum thd_kill_levels thd_kill_level(const void*); enum thd_kill_levels thd_kill_level(const void*);
#include <mysql/service_thd_timezone.h>
#include "mysql_time.h"
typedef long my_time_t; typedef long my_time_t;
enum enum_mysql_timestamp_type enum enum_mysql_timestamp_type
{ {
@ -108,7 +98,6 @@ extern struct thd_timezone_service_st {
} *thd_timezone_service; } *thd_timezone_service;
my_time_t thd_TIME_to_gmt_sec(void* thd, const MYSQL_TIME *ltime, unsigned int *errcode); my_time_t thd_TIME_to_gmt_sec(void* thd, const MYSQL_TIME *ltime, unsigned int *errcode);
void thd_gmt_sec_to_TIME(void* thd, MYSQL_TIME *ltime, my_time_t t); void thd_gmt_sec_to_TIME(void* thd, MYSQL_TIME *ltime, my_time_t t);
#include <mysql/service_sha1.h>
extern struct my_sha1_service_st { extern struct my_sha1_service_st {
void (*my_sha1_type)(unsigned char*, const char*, size_t); void (*my_sha1_type)(unsigned char*, const char*, size_t);
void (*my_sha1_multi_type)(unsigned char*, ...); void (*my_sha1_multi_type)(unsigned char*, ...);
@ -123,7 +112,6 @@ size_t my_sha1_context_size();
void my_sha1_init(void *context); void my_sha1_init(void *context);
void my_sha1_input(void *context, const unsigned char *buf, size_t len); void my_sha1_input(void *context, const unsigned char *buf, size_t len);
void my_sha1_result(void *context, unsigned char *digest); void my_sha1_result(void *context, unsigned char *digest);
#include <mysql/service_md5.h>
extern struct my_md5_service_st { extern struct my_md5_service_st {
void (*my_md5_type)(unsigned char*, const char*, size_t); void (*my_md5_type)(unsigned char*, const char*, size_t);
void (*my_md5_multi_type)(unsigned char*, ...); void (*my_md5_multi_type)(unsigned char*, ...);
@ -138,7 +126,6 @@ size_t my_md5_context_size();
void my_md5_init(void *context); void my_md5_init(void *context);
void my_md5_input(void *context, const unsigned char *buf, size_t len); void my_md5_input(void *context, const unsigned char *buf, size_t len);
void my_md5_result(void *context, unsigned char *digest); void my_md5_result(void *context, unsigned char *digest);
#include <mysql/service_logger.h>
typedef struct logger_handle_st LOGGER_HANDLE; typedef struct logger_handle_st LOGGER_HANDLE;
extern struct logger_service_st { extern struct logger_service_st {
void (*logger_init_mutexes)(); void (*logger_init_mutexes)();
@ -160,14 +147,12 @@ extern struct logger_service_st {
int logger_printf(LOGGER_HANDLE *log, const char *fmt, ...); int logger_printf(LOGGER_HANDLE *log, const char *fmt, ...);
int logger_write(LOGGER_HANDLE *log, const char *buffer, size_t size); int logger_write(LOGGER_HANDLE *log, const char *buffer, size_t size);
int logger_rotate(LOGGER_HANDLE *log); int logger_rotate(LOGGER_HANDLE *log);
#include <mysql/service_thd_autoinc.h>
extern struct thd_autoinc_service_st { extern struct thd_autoinc_service_st {
void (*thd_get_autoinc_func)(const void* thd, void (*thd_get_autoinc_func)(const void* thd,
unsigned long* off, unsigned long* inc); unsigned long* off, unsigned long* inc);
} *thd_autoinc_service; } *thd_autoinc_service;
void thd_get_autoinc(const void* thd, void thd_get_autoinc(const void* thd,
unsigned long* off, unsigned long* inc); unsigned long* off, unsigned long* inc);
#include <mysql/service_thd_error_context.h>
extern struct thd_error_context_service_st { extern struct thd_error_context_service_st {
const char *(*thd_get_error_message_func)(const void* thd); const char *(*thd_get_error_message_func)(const void* thd);
unsigned int (*thd_get_error_number_func)(const void* thd); unsigned int (*thd_get_error_number_func)(const void* thd);
@ -185,7 +170,6 @@ void thd_inc_error_row(void* thd);
char *thd_get_error_context_description(void* thd, char *thd_get_error_context_description(void* thd,
char *buffer, unsigned int length, char *buffer, unsigned int length,
unsigned int max_query_length); unsigned int max_query_length);
#include <mysql/service_thd_specifics.h>
typedef int MYSQL_THD_KEY_T; typedef int MYSQL_THD_KEY_T;
extern struct thd_specifics_service_st { extern struct thd_specifics_service_st {
int (*thd_key_create_func)(MYSQL_THD_KEY_T *key); int (*thd_key_create_func)(MYSQL_THD_KEY_T *key);
@ -197,7 +181,6 @@ int thd_key_create(MYSQL_THD_KEY_T *key);
void thd_key_delete(MYSQL_THD_KEY_T *key); void thd_key_delete(MYSQL_THD_KEY_T *key);
void* thd_getspecific(void* thd, MYSQL_THD_KEY_T key); void* thd_getspecific(void* thd, MYSQL_THD_KEY_T key);
int thd_setspecific(void* thd, MYSQL_THD_KEY_T key, void *value); int thd_setspecific(void* thd, MYSQL_THD_KEY_T key, void *value);
#include <mysql/service_encryption.h>
typedef int (*encrypt_decrypt_func)(const unsigned char* src, unsigned int slen, typedef int (*encrypt_decrypt_func)(const unsigned char* src, unsigned int slen,
unsigned char* dst, unsigned int* dlen, unsigned char* dst, unsigned int* dlen,
const unsigned char* key, unsigned int klen, const unsigned char* key, unsigned int klen,
@ -213,7 +196,6 @@ struct encryption_service_st {
encrypt_decrypt_func encryption_decrypt_func; encrypt_decrypt_func encryption_decrypt_func;
}; };
extern struct encryption_service_st encryption_handler; extern struct encryption_service_st encryption_handler;
#include <mysql/service_encryption_scheme.h>
struct st_encryption_scheme_key { struct st_encryption_scheme_key {
unsigned int version; unsigned int version;
unsigned char key[16]; unsigned char key[16];
@ -315,8 +297,6 @@ struct st_maria_plugin
const char *version_info; const char *version_info;
unsigned int maturity; unsigned int maturity;
}; };
#include "plugin_ftparser.h"
#include "plugin.h"
enum enum_ftparser_mode enum enum_ftparser_mode
{ {
MYSQL_FTPARSER_SIMPLE_MODE= 0, MYSQL_FTPARSER_SIMPLE_MODE= 0,

View file

@ -41,16 +41,16 @@
#define PSI_CALL_release_table_share PSI_TABLE_CALL(release_table_share) #define PSI_CALL_release_table_share PSI_TABLE_CALL(release_table_share)
#define PSI_CALL_drop_table_share PSI_TABLE_CALL(drop_table_share) #define PSI_CALL_drop_table_share PSI_TABLE_CALL(drop_table_share)
#else #else
#define MYSQL_UNBIND_TABLE(handler) /* no-op */ #define MYSQL_UNBIND_TABLE(handler) do { } while(0)
#define MYSQL_REBIND_TABLE(handler) /* no-op */ #define MYSQL_REBIND_TABLE(handler) do { } while(0)
#define PSI_CALL_unbind_table(A1) /* no-op */ #define PSI_CALL_unbind_table(A1) do { } while(0)
#define PSI_CALL_rebind_table(A1,A2,A3) NULL #define PSI_CALL_rebind_table(A1,A2,A3) NULL
#define PSI_CALL_close_table(A1) /* no-op */ #define PSI_CALL_close_table(A1) do { } while(0)
#define PSI_CALL_open_table(A1,A2) NULL #define PSI_CALL_open_table(A1,A2) NULL
#define PSI_CALL_get_table_share(A1,A2) NULL #define PSI_CALL_get_table_share(A1,A2) NULL
#define PSI_CALL_release_table_share(A1) /* no-op */ #define PSI_CALL_release_table_share(A1) do { } while(0)
#define PSI_CALL_drop_table_share(A1,A2,A3,A4,A5) /* no-op */ #define PSI_CALL_drop_table_share(A1,A2,A3,A4,A5) do { } while(0)
#endif #endif
/** /**

View file

@ -1,4 +1,3 @@
#include "mysql/psi/psi.h"
C_MODE_START C_MODE_START
struct TABLE_SHARE; struct TABLE_SHARE;
struct sql_digest_storage; struct sql_digest_storage;

View file

@ -1,4 +1,3 @@
#include "mysql/psi/psi.h"
C_MODE_START C_MODE_START
struct TABLE_SHARE; struct TABLE_SHARE;
struct sql_digest_storage; struct sql_digest_storage;

View file

@ -381,7 +381,7 @@ IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
CONFIGURE_FILE( CONFIGURE_FILE(
${VERSION_SCRIPT_TEMPLATE} ${VERSION_SCRIPT_TEMPLATE}
${CMAKE_CURRENT_BINARY_DIR}/libmysql_versions.ld ${CMAKE_CURRENT_BINARY_DIR}/libmysql_versions.ld
@ONLY@ @ONLY
) )
SET(VERSION_SCRIPT_LINK_FLAGS SET(VERSION_SCRIPT_LINK_FLAGS
"-Wl,${CMAKE_CURRENT_BINARY_DIR}/libmysql_versions.ld") "-Wl,${CMAKE_CURRENT_BINARY_DIR}/libmysql_versions.ld")

View file

@ -1507,6 +1507,12 @@ my_bool cli_read_prepare_result(MYSQL *mysql, MYSQL_STMT *stmt)
memory memory
*/ */
#ifdef EMBEDDED_LIBRARY
#define STMT_INIT_PREALLOC(S) 0
#else
#define STMT_INIT_PREALLOC(S) S
#endif /*EMBEDDED_LIBRARY*/
MYSQL_STMT * STDCALL MYSQL_STMT * STDCALL
mysql_stmt_init(MYSQL *mysql) mysql_stmt_init(MYSQL *mysql)
{ {
@ -1525,8 +1531,10 @@ mysql_stmt_init(MYSQL *mysql)
DBUG_RETURN(NULL); DBUG_RETURN(NULL);
} }
init_alloc_root(&stmt->mem_root, 2048, 2048, MYF(MY_THREAD_SPECIFIC)); init_alloc_root(&stmt->mem_root, 2048, STMT_INIT_PREALLOC(2048),
init_alloc_root(&stmt->result.alloc, 4096, 4096, MYF(MY_THREAD_SPECIFIC)); MYF(MY_THREAD_SPECIFIC));
init_alloc_root(&stmt->result.alloc, 4096, STMT_INIT_PREALLOC(4096),
MYF(MY_THREAD_SPECIFIC));
stmt->result.alloc.min_malloc= sizeof(MYSQL_ROWS); stmt->result.alloc.min_malloc= sizeof(MYSQL_ROWS);
mysql->stmts= list_add(mysql->stmts, &stmt->list); mysql->stmts= list_add(mysql->stmts, &stmt->list);
stmt->list.data= stmt; stmt->list.data= stmt;
@ -1543,6 +1551,8 @@ mysql_stmt_init(MYSQL *mysql)
DBUG_RETURN(stmt); DBUG_RETURN(stmt);
} }
#undef STMT_INIT_PREALLOC
/* /*
Prepare server side statement with query. Prepare server side statement with query.

View file

@ -84,7 +84,7 @@ it should also declare all the accompanying data structures, as necessary
7. add the new file to libservices/CMakeLists.txt (MYSQLSERVICES_SOURCES) 7. add the new file to libservices/CMakeLists.txt (MYSQLSERVICES_SOURCES)
8. Add all new files to repository (bzr add) 8. Add all new files to repository (bzr add)
9. and finally, register your service for dynamic linking in 9. and finally, register your service for dynamic linking in
sql/sql_plugin_services.h as follows: sql/sql_plugin_services.ic as follows:
9.1 fill in the service structure: 9.1 fill in the service structure:
================================================================== ==================================================================
static struct foo_service_st foo_handler = { static struct foo_service_st foo_handler = {

View file

@ -33,6 +33,7 @@ debug-no-sync
# Retry bind as this may fail on busy server # Retry bind as this may fail on busy server
port-open-timeout=10 port-open-timeout=10
bind-address=127.0.0.1
log-bin-trust-function-creators=1 log-bin-trust-function-creators=1
key_buffer_size= 1M key_buffer_size= 1M

View file

@ -1,20 +0,0 @@
# Check if ipv6 is available.
#
--disable_query_log
--disable_result_log
--disable_abort_on_error
connect (checkcon123456789,::1,root,,test);
if($mysql_errno)
{
skip No IPv6 support;
}
connection default;
if(!$mysql_errno)
{
disconnect checkcon123456789;
}
--enable_abort_on_error
--enable_result_log
--enable_query_log
# end check

View file

@ -1,5 +1,3 @@
# Tests for the performance schema
# The file with expected results fits only to a run without # The file with expected results fits only to a run without
# ps-protocol/sp-protocol/cursor-protocol/view-protocol. # ps-protocol/sp-protocol/cursor-protocol/view-protocol.
if (`SELECT $PS_PROTOCOL + $SP_PROTOCOL + $CURSOR_PROTOCOL if (`SELECT $PS_PROTOCOL + $SP_PROTOCOL + $CURSOR_PROTOCOL

View file

@ -3338,7 +3338,7 @@ sub do_before_run_mysqltest($)
my $resdir= dirname($resfile); my $resdir= dirname($resfile);
# we'll use a separate extension for generated result files # we'll use a separate extension for generated result files
# to be able to distinguish them from manually created # to be able to distinguish them from manually created
# version-controlled results, and to ignore them in bzr. # version-controlled results, and to ignore them in git.
my $dest = "$base_file$suites.result~"; my $dest = "$base_file$suites.result~";
my @cmd = ($exe_patch, qw/--binary -r - -f -s -o/, my @cmd = ($exe_patch, qw/--binary -r - -f -s -o/,
$dest, $base_result, $resfile); $dest, $base_result, $resfile);

View file

@ -1488,6 +1488,17 @@ t2 CREATE TABLE `t2` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 ) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2; DROP TABLE t2;
DROP TABLE t1; DROP TABLE t1;
CREATE TABLE t1 (
`transaction_id` int(11) NOT NULL DEFAULT '0',
KEY `transaction_id` (`transaction_id`));
ALTER TABLE t1 DROP KEY IF EXISTS transaction_id, ADD PRIMARY KEY IF NOT EXISTS (transaction_id);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`transaction_id` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`transaction_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
# Bug#11748057 (formerly known as 34972): ALTER TABLE statement doesn't # Bug#11748057 (formerly known as 34972): ALTER TABLE statement doesn't
# identify correct column name. # identify correct column name.
# #

View file

@ -6040,6 +6040,21 @@ DROP TABLE t1;
# End of ctype_utf8_ilseq.inc # End of ctype_utf8_ilseq.inc
# #
# #
# MDEV-8067 correct fix for MySQL Bug # 19699237: UNINITIALIZED VARIABLE IN ITEM_FIELD::STR_RESULT
#
CREATE TABLE t1 (a VARCHAR(10) CHARACTER SET utf8);
CREATE TABLE t2 (a VARCHAR(10) CHARACTER SET latin1);
INSERT INTO t1 VALUES ('aaa');
INSERT INTO t2 VALUES ('aaa');
SELECT (SELECT CONCAT(a),1 FROM t1) <=> (SELECT CONCAT(a),1 FROM t2);
(SELECT CONCAT(a),1 FROM t1) <=> (SELECT CONCAT(a),1 FROM t2)
1
INSERT INTO t1 VALUES ('aaa');
INSERT INTO t2 VALUES ('aaa');
SELECT (SELECT CONCAT(a),1 FROM t1) <=> (SELECT CONCAT(a),1 FROM t2);
ERROR 21000: Subquery returns more than 1 row
DROP TABLE t1, t2;
#
# End of 5.5 tests # End of 5.5 tests
# #
# #

View file

@ -1455,6 +1455,12 @@ Warnings:
Warning 1918 Encountered illegal value '18446744073709552001' when converting to INT Warning 1918 Encountered illegal value '18446744073709552001' when converting to INT
Note 1105 Cast to signed converted positive out-of-range integer to it's negative complement Note 1105 Cast to signed converted positive out-of-range integer to it's negative complement
# #
# MDEV-7505 - Too large scale in DECIMAL dynamic column getter crashes
# mysqld
#
SELECT COLUMN_GET(`x`, 'y' AS DECIMAL(5,34));
ERROR 42000: Too big scale 34 specified for ''y''. Maximum is 30.
#
# test of symbolic names # test of symbolic names
# #
# creation test (names) # creation test (names)

View file

@ -0,0 +1 @@
create server '' foreign data wrapper w2 options (host '127.0.0.1');

View file

@ -845,3 +845,32 @@ SET default_regex_flags=DEFAULT;
SELECT REGEXP_REPLACE('1 foo and bar', '(\\d+) foo and (\\d+ )?bar', '\\1 this and \\2that'); SELECT REGEXP_REPLACE('1 foo and bar', '(\\d+) foo and (\\d+ )?bar', '\\1 this and \\2that');
REGEXP_REPLACE('1 foo and bar', '(\\d+) foo and (\\d+ )?bar', '\\1 this and \\2that') REGEXP_REPLACE('1 foo and bar', '(\\d+) foo and (\\d+ )?bar', '\\1 this and \\2that')
1 this and that 1 this and that
#
# MDEV-8102 REGEXP function fails to match hex values when expression is stored as a variable
#
# Testing a warning
SET NAMES latin1;
SET @regCheck= '\\xE0\\x01';
SELECT 0xE001 REGEXP @regCheck;
0xE001 REGEXP @regCheck
0
Warnings:
Warning 1139 Got error 'pcre_exec: Invalid utf8 byte sequence in the subject string' from regexp
# Testing workaround N1: This makes the pattern to be a binary string:
SET NAMES latin1;
SET @regCheck= X'E001';
SELECT 0xE001 REGEXP @regCheck;
0xE001 REGEXP @regCheck
1
# Testing workaround N2: This also makes the pattern to be a binary string, using a different syntax:
SET NAMES latin1;
SET @regCheck= _binary '\\xE0\\x01';
SELECT 0xE001 REGEXP @regCheck;
0xE001 REGEXP @regCheck
1
# Testing workarond N3: This makes derivation of the subject string stronger (IMLICIT instead of COERCIBLE)
SET NAMES latin1;
SET @regCheck= '\\xE0\\x01';
SELECT CAST(0xE001 AS BINARY) REGEXP @regCheck;
CAST(0xE001 AS BINARY) REGEXP @regCheck
1

View file

@ -0,0 +1,10 @@
SET debug_dbug='+d,pcre_exec_error_123';
SELECT 'a' RLIKE 'a';
'a' RLIKE 'a'
0
Warnings:
Warning 1139 Got error 'pcre_exec: Internal error (-123)' from regexp
SET debug_dbug='';
SELECT 'a' RLIKE 'a';
'a' RLIKE 'a'
1

View file

@ -264,6 +264,9 @@ NULL
select aes_decrypt(aes_encrypt("","a"),"a"); select aes_decrypt(aes_encrypt("","a"),"a");
aes_decrypt(aes_encrypt("","a"),"a") aes_decrypt(aes_encrypt("","a"),"a")
select aes_decrypt("", "a");
aes_decrypt("", "a")
NULL
select repeat('monty',5),concat('*',space(5),'*'); select repeat('monty',5),concat('*',space(5),'*');
repeat('monty',5) concat('*',space(5),'*') repeat('monty',5) concat('*',space(5),'*')
montymontymontymontymonty * * montymontymontymontymonty * *

View file

@ -2701,3 +2701,45 @@ id date1 date2 DATE_ADD(a.date1,INTERVAL -10 DAY) TO_DAYS(a.date1)-10
17 NULL NULL NULL NULL 17 NULL NULL NULL NULL
18 2010-10-13 2010-10-03 2010-10-03 734413 18 2010-10-13 2010-10-03 2010-10-03 734413
DROP TABLE t1; DROP TABLE t1;
#
# Start of 10.0 tests
#
#
# MDEV-8205 timediff returns null when comparing decimal time to time string value
#
SELECT
TIMEDIFF('2014-01-01 00:00:00' , '2014-01-01 01:00:00' ) AS str_str,
TIMEDIFF('2014-01-01 00:00:00' , 20140101010000.000 ) AS str_dec,
TIMEDIFF(20140101000000.000 , 20140101010000.000 ) AS dec_dec,
TIMEDIFF(20140101000000.000 , '2014-01-01 01:00:00' ) AS dec_str;
str_str str_dec dec_dec dec_str
-01:00:00 -01:00:00.000 -01:00:00.000 -01:00:00.000
SELECT
TIMEDIFF('2014-01-01 00:00:00' , '2014-01-02 01:00:00' ) AS str_str,
TIMEDIFF('2014-01-01 00:00:00' , 20140102010000.000 ) AS str_dec,
TIMEDIFF(20140101000000.000 , 20140102010000.000 ) AS dec_dec,
TIMEDIFF(20140101000000.000 , '2014-01-02 01:00:00' ) AS dec_str;
str_str str_dec dec_dec dec_str
-25:00:00 -25:00:00.000 -25:00:00.000 -25:00:00.000
SELECT
TIMEDIFF('2014-01-01 00:00:00' , '2014-02-02 01:00:00' ) AS str_str,
TIMEDIFF('2014-01-01 00:00:00' , 20140202010000.000 ) AS str_dec,
TIMEDIFF(20140101000000.000 , 20140202010000.000 ) AS dec_dec,
TIMEDIFF(20140101000000.000 , '2014-02-02 01:00:00' ) AS dec_str;
str_str str_dec dec_dec dec_str
-769:00:00 -769:00:00.000 -769:00:00.000 -769:00:00.000
SELECT
TIMEDIFF('2014-01-01 00:00:00' , '2014-03-02 01:00:00' ) AS str_str,
TIMEDIFF('2014-01-01 00:00:00' , 20140302010000.000 ) AS str_dec,
TIMEDIFF(20140101000000.000 , 20140302010000.000 ) AS dec_dec,
TIMEDIFF(20140101000000.000 , '2014-03-02 01:00:00' ) AS dec_str;
str_str str_dec dec_dec dec_str
-838:59:59 -838:59:59.999 -838:59:59.999 -838:59:59.999
Warnings:
Warning 1292 Truncated incorrect time value: '-1441:00:00'
Warning 1292 Truncated incorrect time value: '-1441:00:00'
Warning 1292 Truncated incorrect time value: '-1441:00:00'
Warning 1292 Truncated incorrect time value: '-1441:00:00'
#
# End of 10.0 tests
#

View file

@ -2342,7 +2342,7 @@ DROP TABLE t1;
create table t1 (a int, b int); create table t1 (a int, b int);
insert into t1 values (1,11), (1,12), (2,22),(2,23), (4,44),(4,45); insert into t1 values (1,11), (1,12), (2,22),(2,23), (4,44),(4,45);
create table t2 (c int, d int); create table t2 (c int, d int);
insert into t2 values (1,11), (1,12), (2,22),(2,23), (4,44),(4,45); insert into t2 values (1,11), (2,22), (4,44);
select distinct a,sum(b), (select d from t2 where c=a order by max(b) limit 1) from t1 group by a order by max(b); select distinct a,sum(b), (select d from t2 where c=a order by max(b) limit 1) from t1 group by a order by max(b);
a sum(b) (select d from t2 where c=a order by max(b) limit 1) a sum(b) (select d from t2 where c=a order by max(b) limit 1)
1 23 11 1 23 11

View file

@ -6,3 +6,15 @@ select variable_name from information_schema.session_variables where variable_na
(select variable_name from information_schema.session_variables where variable_name = 'basedir'); (select variable_name from information_schema.session_variables where variable_name = 'basedir');
variable_name variable_name
BASEDIR BASEDIR
create table t1 (a char);
insert t1 values ('a'),('t'),('z');
flush status;
select a, exists (select 1 from information_schema.columns where table_schema=concat('tes',a)) from t1;
a exists (select 1 from information_schema.columns where table_schema=concat('tes',a))
a 0
t 1
z 0
show status like 'created_tmp_tables';
Variable_name Value
Created_tmp_tables 43
drop table t1;

View file

@ -2,18 +2,18 @@ drop table if exists t1,t2;
create table t1 (a int) engine=myisam; create table t1 (a int) engine=myisam;
drop table if exists t1; drop table if exists t1;
Warnings: Warnings:
Warning 2 Can't find file: './test/t1.MYI' (errno: 2 "No such file or directory") Warning 1017 Can't find file: './test/t1.MYI' (errno: 2 "No such file or directory")
create table t1 (a int) engine=myisam; create table t1 (a int) engine=myisam;
select * from t1; select * from t1;
ERROR HY000: Can't find file: './test/t1.MYI' (errno: 2 "No such file or directory") ERROR HY000: Can't find file: './test/t1.MYI' (errno: 2 "No such file or directory")
drop table t1; drop table t1;
Warnings: Warnings:
Warning 2 Can't find file: './test/t1.MYI' (errno: 2 "No such file or directory") Warning 1017 Can't find file: './test/t1.MYI' (errno: 2 "No such file or directory")
create table t1 (a int) engine=myisam; create table t1 (a int) engine=myisam;
select * from t1; select * from t1;
ERROR HY000: File './test/t1.MYD' not found (Errcode: 2 "No such file or directory") ERROR HY000: File './test/t1.MYD' not found (Errcode: 2 "No such file or directory")
drop table t1; drop table t1;
Warnings: Warnings:
Warning 2 Can't find file: './test/t1.MYI' (errno: 2 "No such file or directory") Warning 1017 Can't find file: './test/t1.MYI' (errno: 2 "No such file or directory")
drop table t1; drop table t1;
ERROR 42S02: Unknown table 'test.t1' ERROR 42S02: Unknown table 'test.t1'

View file

@ -2527,6 +2527,17 @@ test.t1 check error Size of indexfile is: 1024 Should be: 2048
test.t1 check warning Size of datafile is: 14 Should be: 7 test.t1 check warning Size of datafile is: 14 Should be: 7
test.t1 check error Corrupt test.t1 check error Corrupt
DROP TABLE t1; DROP TABLE t1;
#
# MDEV-3870 - Valgrind warnings on OPTIMIZE MyISAM or Aria TABLE with
# disabled keys
#
CREATE TABLE t1 (a INT, KEY(a)) ENGINE=MyISAM;
INSERT INTO t1 VALUES (4),(3),(1),(0);
ALTER TABLE t1 DISABLE KEYS;
OPTIMIZE TABLE t1;
Table Op Msg_type Msg_text
test.t1 optimize status OK
DROP TABLE t1;
show variables like 'myisam_block_size'; show variables like 'myisam_block_size';
Variable_name Value Variable_name Value
myisam_block_size 1024 myisam_block_size 1024

View file

@ -76,3 +76,16 @@ set @toggle=1; execute set_wsrep_myisam using @toggle;
TRUNCATE TABLE time_zone_leap_second; TRUNCATE TABLE time_zone_leap_second;
ALTER TABLE time_zone_leap_second ORDER BY Transition_time; ALTER TABLE time_zone_leap_second ORDER BY Transition_time;
set @toggle=0; execute set_wsrep_myisam using @toggle; set @toggle=0; execute set_wsrep_myisam using @toggle;
#
# MDEV-6236 - [PATCH] mysql_tzinfo_to_sql may produce invalid SQL
#
set @prep=if((select count(*) from information_schema.global_variables where variable_name='wsrep_on'), 'SET GLOBAL wsrep_replicate_myisam=?', 'do ?');
prepare set_wsrep_myisam from @prep;
set @toggle=1; execute set_wsrep_myisam using @toggle;
TRUNCATE TABLE time_zone;
TRUNCATE TABLE time_zone_name;
TRUNCATE TABLE time_zone_transition;
TRUNCATE TABLE time_zone_transition_type;
ALTER TABLE time_zone_transition ORDER BY Time_zone_id, Transition_time;
ALTER TABLE time_zone_transition_type ORDER BY Time_zone_id, Transition_type_id;
set @toggle=0; execute set_wsrep_myisam using @toggle;

View file

@ -3,6 +3,41 @@ drop table if exists t1,v1,v2,v3,v4,v1badcheck;
drop view if exists t1,v1,v2,v3,v4,v1badcheck; drop view if exists t1,v1,v2,v3,v4,v1badcheck;
create table t1(a int); create table t1(a int);
create table kv(k varchar(30) NOT NULL PRIMARY KEY,v varchar(50)); create table kv(k varchar(30) NOT NULL PRIMARY KEY,v varchar(50));
create view v1 as select 1;
repair table t1 quick;
Table Op Msg_type Msg_text
test.t1 repair status OK
repair table t1 extended;
Table Op Msg_type Msg_text
test.t1 repair status OK
repair table t1 use_frm;
Table Op Msg_type Msg_text
test.t1 repair status OK
repair table t1 from mysql;
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'from mysql' at line 1
repair view v1 quick;
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'quick' at line 1
repair view v1 extended;
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'extended' at line 1
repair view v1 use_frm;
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'use_frm' at line 1
repair view v1 from mysql;
Table Op Msg_type Msg_text
test.v1 repair status OK
check view v1 quick;
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'quick' at line 1
check view v1 fast;
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'fast' at line 1
check view v1 medium;
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'medium' at line 1
check view v1 extended;
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'extended' at line 1
check view v1 changed;
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'changed' at line 1
check view v1 for upgrade;
Table Op Msg_type Msg_text
test.v1 check status OK
drop view v1;
flush tables; flush tables;
check view v1; check view v1;
Table Op Msg_type Msg_text Table Op Msg_type Msg_text

View file

@ -347,3 +347,26 @@ CREATE TABLE test.`t.1` (id int);
mysqlcheck test t.1 mysqlcheck test t.1
test.t.1 OK test.t.1 OK
drop table test.`t.1`; drop table test.`t.1`;
create view v1 as select 1;
mysqlcheck --process-views test
test.v1 OK
mysqlcheck --process-views --extended test
test.v1 OK
mysqlcheck --process-views --fast test
mysqlcheck --process-views --quick test
test.v1 OK
mysqlcheck --process-views --check-only-changed test
mysqlcheck --process-views --medium-check test
test.v1 OK
mysqlcheck --process-views --check-upgrade test
test.v1 OK
drop view v1;
create table t1(a int);
mysqlcheck --process-views --check-upgrade --auto-repair test
test.t1 OK
test.v1 Needs upgrade
Repairing views
test.v1 OK
drop view v1;
drop table t1;

View file

@ -380,33 +380,33 @@ DROP TABLE t1;
create table t1 (a int) engine=innodb partition by hash(a) ; create table t1 (a int) engine=innodb partition by hash(a) ;
show table status like 't1'; show table status like 't1';
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 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 InnoDB 10 Compact 2 8192 16384 0 0 # NULL NULL NULL NULL latin1_swedish_ci NULL partitioned t1 InnoDB 10 Compact 2 8192 16384 0 0 # NULL # NULL NULL latin1_swedish_ci NULL partitioned
drop table t1; drop table t1;
create table t1 (a int) create table t1 (a int)
engine = innodb engine = innodb
partition by key (a); partition by key (a);
show table status; 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 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 InnoDB 10 Compact 2 8192 16384 0 0 # NULL NULL NULL NULL latin1_swedish_ci NULL partitioned t1 InnoDB 10 Compact 2 8192 16384 0 0 # NULL # NULL NULL latin1_swedish_ci NULL partitioned
insert into t1 values (0), (1), (2), (3); insert into t1 values (0), (1), (2), (3);
show table status; 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 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 InnoDB 10 Compact 4 4096 16384 0 0 # NULL NULL NULL NULL latin1_swedish_ci NULL partitioned t1 InnoDB 10 Compact 4 4096 16384 0 0 # NULL # NULL NULL latin1_swedish_ci NULL partitioned
drop table t1; drop table t1;
create table t1 (a int auto_increment primary key) create table t1 (a int auto_increment primary key)
engine = innodb engine = innodb
partition by key (a); partition by key (a);
show table status; 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 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 InnoDB 10 Compact 2 8192 16384 0 0 # 1 NULL NULL NULL latin1_swedish_ci NULL partitioned t1 InnoDB 10 Compact 2 8192 16384 0 0 # 1 # NULL NULL latin1_swedish_ci NULL partitioned
insert into t1 values (NULL), (NULL), (NULL), (NULL); insert into t1 values (NULL), (NULL), (NULL), (NULL);
show table status; 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 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 InnoDB 10 Compact 4 4096 16384 0 0 # 5 NULL NULL NULL latin1_swedish_ci NULL partitioned t1 InnoDB 10 Compact 4 4096 16384 0 0 # 5 # NULL NULL latin1_swedish_ci NULL partitioned
insert into t1 values (NULL), (NULL), (NULL), (NULL); insert into t1 values (NULL), (NULL), (NULL), (NULL);
show table status; 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 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 InnoDB 10 Compact 8 2048 16384 0 0 # 9 NULL NULL NULL latin1_swedish_ci NULL partitioned t1 InnoDB 10 Compact 8 2048 16384 0 0 # 9 # NULL NULL latin1_swedish_ci NULL partitioned
drop table t1; drop table t1;
create table t1 (a int) create table t1 (a int)
partition by key (a) partition by key (a)
@ -588,6 +588,17 @@ a b
0 1 0 1
DROP TABLE t1; DROP TABLE t1;
# #
# Bug #17299181 CREATE_TIME AND UPDATE_TIME ARE
# WRONG FOR PARTITIONED TABLES
#
CREATE TABLE t1 (a int, PRIMARY KEY (a)) ENGINE=InnoDB
PARTITION BY HASH (a) PARTITIONS 2;
SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE
CREATE_TIME IS NOT NULL AND TABLE_NAME='t1';
COUNT(*)
1
DROP TABLE t1;
#
# BUG#12912171 - ASSERTION FAILED: QUICK->HEAD->READ_SET == # BUG#12912171 - ASSERTION FAILED: QUICK->HEAD->READ_SET ==
# SAVE_READ_SET # SAVE_READ_SET
# #

View file

@ -90,7 +90,7 @@ ERROR HY000: Failed to read from the .par file
# Note that it is currently impossible to drop a partitioned table # Note that it is currently impossible to drop a partitioned table
# without the .par file # without the .par file
DROP TABLE t1; DROP TABLE t1;
ERROR 42S02: Unknown table 'test.t1' ERROR HY000: Got error 1 "Operation not permitted" from storage engine partition
# #
# Bug#50392: insert_id is not reset for partitioned tables # Bug#50392: insert_id is not reset for partitioned tables
# auto_increment on duplicate entry # auto_increment on duplicate entry

View file

@ -11,6 +11,6 @@ t1
SHOW CREATE TABLE t1; SHOW CREATE TABLE t1;
ERROR HY000: Failed to read from the .par file ERROR HY000: Failed to read from the .par file
DROP TABLE t1; DROP TABLE t1;
ERROR 42S02: Unknown table 'test.t1' ERROR HY000: Got error 1 "Operation not permitted" from storage engine partition
t1.frm t1.frm
t1.par t1.par

View file

@ -321,3 +321,16 @@ UNUSABLE
uninstall soname 'ha_example'; uninstall soname 'ha_example';
select plugin_name from information_schema.plugins where plugin_library like 'ha_example%'; select plugin_name from information_schema.plugins where plugin_library like 'ha_example%';
plugin_name plugin_name
#
# MDEV-5309 - RENAME TABLE does not check for existence of the table's
# engine
#
INSTALL PLUGIN example SONAME 'ha_example';
CREATE TABLE t1(a INT) ENGINE=EXAMPLE;
SELECT * FROM t1;
a
FLUSH TABLES;
UNINSTALL PLUGIN example;
RENAME TABLE t1 TO t2;
ERROR 42S02: Table 'test.t1' doesn't exist
DROP TABLE t1;

View file

@ -0,0 +1,39 @@
#
# Range optimizer (and related) tests that need InnoDB.
#
drop table if exists t0, t1, t2;
#
# MDEV-6735: Range checked for each record used with key
#
create table t0(a int);
insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
create table t1(a int);
insert into t1 select A.a + B.a* 10 + C.a * 100 + D.a * 1000
from t0 A, t0 B, t0 C, t0 D;
create table t2 (
a int,
b int,
filler1 char(100),
filler2 char(100),
filler3 char(100),
filler4 char(100),
key(a),
key(b)
) engine=innodb;
insert into t2
select
a,a,
repeat('0123456789', 10),
repeat('0123456789', 10),
repeat('0123456789', 10),
repeat('0123456789', 10)
from t1;
analyze table t2;
Table Op Msg_type Msg_text
test.t2 analyze status OK
# The following must not use "Range checked for each record":
explain select * from t0 left join t2 on t2.a <t0.a and t2.b between 50 and 250;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t0 ALL NULL NULL NULL NULL 10
1 SIMPLE t2 range a,b b 5 NULL 201 Using where; Using join buffer (flat, BNL join)
drop table t0,t1,t2;

View file

@ -0,0 +1,15 @@
create procedure have_ssl()
select if(variable_value > '','yes','no') as 'have_ssl'
from information_schema.session_status
where variable_name='ssl_cipher';
mysql --ssl-ca=cacert.pem -e "call test.have_ssl()"
have_ssl
no
mysql --ssl -e "call test.have_ssl()"
have_ssl
no
mysql --ssl-ca=cacert.pem --ssl-verify-server-cert -e "call test.have_ssl()"
ERROR 2026 (HY000): SSL connection error: SSL is required, but the server does not support it
mysql --ssl --ssl-verify-server-cert -e "call test.have_ssl()"
ERROR 2026 (HY000): SSL connection error: SSL is required, but the server does not support it
drop procedure have_ssl;

View file

@ -0,0 +1,16 @@
create procedure have_ssl()
select if(variable_value > '','yes','no') as 'have_ssl'
from information_schema.session_status
where variable_name='ssl_cipher';
mysql --ssl-ca=cacert.pem -e "call test.have_ssl()"
have_ssl
yes
mysql --ssl -e "call test.have_ssl()"
have_ssl
yes
mysql --ssl-ca=cacert.pem --ssl-verify-server-cert -e "call test.have_ssl()"
have_ssl
yes
mysql --ssl --ssl-verify-server-cert -e "call test.have_ssl()"
ERROR 2026 (HY000): SSL connection error: Failed to verify the server certificate
drop procedure have_ssl;

View file

@ -291,3 +291,20 @@ test.t1 repair status OK
test.t2 repair status OK test.t2 repair status OK
test.t3 repair status OK test.t3 repair status OK
DROP TABLES t1, t2, t3; DROP TABLES t1, t2, t3;
create temporary temporary table t1 (a int);
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'temporary table t1 (a int)' at line 1
flush status;
create table t1 (a int);
create temporary table t2 (a int);
create temporary table t3 (a int);
drop table t1;
drop table t2;
drop temporary table t3;
show status like 'com_create%table';
Variable_name Value
Com_create_table 1
Com_create_temporary_table 2
show status like 'com_drop%table';
Variable_name Value
Com_drop_table 2
Com_drop_temporary_table 1

View file

@ -0,0 +1,33 @@
SET GLOBAL query_cache_size=1024*1024*8;
CREATE TABLE `test` (
`uniqueId` INT NOT NULL,
`partitionId` INT NOT NULL,
PRIMARY KEY (`uniqueId`,`partitionId`)
) ENGINE=InnoDB PARTITION BY LIST (partitionId) (
PARTITION p01 VALUES IN (1),
PARTITION p02 VALUES IN (2)
);
INSERT INTO `test`(`uniqueId`,`partitionId`) VALUES(407237055, 2);
SELECT * FROM `test`;
uniqueId partitionId
407237055 2
#Confirms 1 row in partition 'p02'
SELECT TABLE_NAME, PARTITION_NAME, TABLE_ROWS FROM information_schema.PARTITIONS where TABLE_NAME = 'test';
TABLE_NAME PARTITION_NAME TABLE_ROWS
test p01 0
test p02 1
ALTER TABLE `test` TRUNCATE PARTITION `p02`;
#Confirms no more rows in partition 'p02'
SELECT TABLE_NAME, PARTITION_NAME, TABLE_ROWS FROM information_schema.PARTITIONS where TABLE_NAME = 'test';
TABLE_NAME PARTITION_NAME TABLE_ROWS
test p01 0
test p02 0
#Before the patch, this returned the previously existing values.
SELECT * FROM `test`;
uniqueId partitionId
SELECT SQL_CACHE * FROM `test`;
uniqueId partitionId
SELECT SQL_NO_CACHE * FROM `test`;
uniqueId partitionId
DROP TABLE test;
SET GLOBAL query_cache_size=DEFAULT;

View file

@ -994,3 +994,24 @@ GROUP BY t2.col0
WHERE CONCAT(t1.col1, CAST(subq.col0 AS DECIMAL)); WHERE CONCAT(t1.col1, CAST(subq.col0 AS DECIMAL));
1 1
DROP TABLE t1, t2; DROP TABLE t1, t2;
#
# Start of 5.5 tests
#
#
# MDEV-8267 Add /*old*/ comment into I_S.COLUMN_TYPE for old DECIMAL
#
SHOW CREATE TABLE t1dec102;
Table Create Table
t1dec102 CREATE TABLE `t1dec102` (
`a` decimal(10,2)/*old*/ DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SHOW COLUMNS FROM t1dec102;
Field Type Null Key Default Extra
a decimal(10,2)/*old*/ YES NULL
SELECT COLUMN_NAME, DATA_TYPE, COLUMN_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='t1dec102';
COLUMN_NAME DATA_TYPE COLUMN_TYPE
a decimal decimal(10,2)/*old*/
DROP TABLE t1dec102;
#
# End of 5.5 tests
#

View file

@ -115,7 +115,6 @@ NULL
delete from t1 where a < 20110101; delete from t1 where a < 20110101;
select * from t1; select * from t1;
a a
01:02:13.3332
NULL NULL
create table t2 select * from t1; create table t2 select * from t1;
create table t3 like t1; create table t3 like t1;
@ -135,12 +134,11 @@ Warnings:
Note 1265 Data truncated for column 'a' at row 1 Note 1265 Data truncated for column 'a' at row 1
select a, a+0, a-1, a*1, a/2 from t1; select a, a+0, a-1, a*1, a/2 from t1;
a a+0 a-1 a*1 a/2 a a+0 a-1 a*1 a/2
01:02:13.3332 10213.3332 10212.3332 10213.3332 5106.66660000
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
14:15:16.2222 141516.2222 141515.2222 141516.2222 70758.11110000 14:15:16.2222 141516.2222 141515.2222 141516.2222 70758.11110000
select max(a), min(a), sum(a), avg(a) from t1; select max(a), min(a), sum(a), avg(a) from t1;
max(a) min(a) sum(a) avg(a) max(a) min(a) sum(a) avg(a)
14:15:16.2222 01:02:13.3332 151729.5554 75864.77770000 14:15:16.2222 14:15:16.2222 141516.2222 141516.22220000
create table t2 select a, a+0, a-1, a*1, a/2 from t1; create table t2 select a, a+0, a-1, a*1, a/2 from t1;
create table t3 select max(a), min(a), sum(a), avg(a) from t1; create table t3 select max(a), min(a), sum(a), avg(a) from t1;
show create table t2; show create table t2;

View file

@ -0,0 +1,31 @@
CREATE TABLE `t1` (
`c1` int(11) NOT NULL,
`c2` datetime DEFAULT NULL,
PRIMARY KEY (`c1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `t2` (
`c0` varchar(10) NOT NULL,
`c1` int(11) NOT NULL,
`c2` int(11) NOT NULL,
PRIMARY KEY (`c0`,`c1`),
KEY `c1` (`c1`),
KEY `c2` (`c2`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `t3` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`c1` datetime NOT NULL,
`c2` bigint(20) NOT NULL,
`c3` int(4) unsigned NOT NULL,
PRIMARY KEY (`id`),
KEY `c2` (`c2`),
KEY `c3` (`c3`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `t4` (
`c1` int(11) NOT NULL,
`c2` bigint(20) DEFAULT NULL,
`c3` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE ALGORITHM=UNDEFINED VIEW `v1` AS select `t4`.`c1` AS `c1`,`t4`.`c2` AS `c2`,`t4`.`c3` AS `c3` from `t4`;
UPDATE t1 a JOIN t2 b ON a.c1 = b.c1 JOIN v1 vw ON b.c2 = vw.c1 JOIN t3 del ON vw.c2 = del.c2 SET a.c2 = ( SELECT max(t.c1) FROM t3 t, v1 i WHERE del.c2 = t.c2 AND vw.c3 = i.c3 AND t.c3 = 4 ) WHERE a.c2 IS NULL OR a.c2 < '2011-05-01';
drop view v1;
drop table t1,t2,t3,t4;

View file

@ -5410,6 +5410,24 @@ create view v2 as select t2.* from (t2 left join v1 using (id));
update t3 left join v2 using (id) set flag=flag+1; update t3 left join v2 using (id) set flag=flag+1;
drop view v2, v1; drop view v2, v1;
drop table t1, t2, t3; drop table t1, t2, t3;
#
# MDEV-7207 - ALTER VIEW does not change ALGORITM
#
create table t1 (a int, b int);
create algorithm=temptable view v2 (c) as select b+1 from t1;
show create view v2;
View Create View character_set_client collation_connection
v2 CREATE ALGORITHM=TEMPTABLE DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v2` AS select (`t1`.`b` + 1) AS `c` from `t1` latin1 latin1_swedish_ci
alter algorithm=undefined view v2 (c) as select b+1 from t1;
show create view v2;
View Create View character_set_client collation_connection
v2 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v2` AS select (`t1`.`b` + 1) AS `c` from `t1` latin1 latin1_swedish_ci
alter algorithm=merge view v2 (c) as select b+1 from t1;
show create view v2;
View Create View character_set_client collation_connection
v2 CREATE ALGORITHM=MERGE DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v2` AS select (`t1`.`b` + 1) AS `c` from `t1` latin1 latin1_swedish_ci
drop view v2;
drop table t1;
# ----------------------------------------------------------------- # -----------------------------------------------------------------
# -- End of 5.5 tests. # -- End of 5.5 tests.
# ----------------------------------------------------------------- # -----------------------------------------------------------------

View file

@ -0,0 +1 @@
<EFBFBD> 123.45<EFBFBD> 123.46<EFBFBD> 123.47

Binary file not shown.

Binary file not shown.

View file

@ -327,6 +327,18 @@ INSERT INTO t2 SET a=1;
INSERT INTO t2 SET b=1; INSERT INTO t2 SET b=1;
UPDATE t1, t2 SET t1.a=10, t2.a=20; UPDATE t1, t2 SET t1.a=10, t2.a=20;
DROP TABLE t1,t2; DROP TABLE t1,t2;
INSERT INTO t1dec102 VALUES (-999.99);
INSERT INTO t1dec102 VALUES (0);
INSERT INTO t1dec102 VALUES (999.99);
SELECT * FROM t1dec102 ORDER BY a;
a
-999.99
0.00
123.45
123.46
123.47
999.99
DROP TABLE t1dec102;
flush logs; flush logs;
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/; /*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!40019 SET @@session.max_insert_delayed_threads=0*/;
@ -4555,6 +4567,62 @@ SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1`,`t2` /* generated by server */ DROP TABLE `t1`,`t2` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # GTID 0-1-317
/*!100001 SET @@session.gtid_seq_no=317*//*!*/;
BEGIN
/*!*/;
# at #
# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1dec102` mapped to number #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1dec102`
### SET
### @1=!! Old DECIMAL (mysql-4.1 or earlier). Not enough metadata to display the value. # 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 # GTID 0-1-318
/*!100001 SET @@session.gtid_seq_no=318*//*!*/;
BEGIN
/*!*/;
# at #
# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1dec102` mapped to number #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1dec102`
### SET
### @1=!! Old DECIMAL (mysql-4.1 or earlier). Not enough metadata to display the value. # 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 # GTID 0-1-319
/*!100001 SET @@session.gtid_seq_no=319*//*!*/;
BEGIN
/*!*/;
# at #
# at #
#010909 4:46:40 server id 1 end_log_pos # Table_map: `test`.`t1dec102` mapped to number #
#010909 4:46:40 server id 1 end_log_pos # Write_rows: table id # flags: STMT_END_F
### INSERT INTO `test`.`t1dec102`
### SET
### @1=!! Old DECIMAL (mysql-4.1 or earlier). Not enough metadata to display the value. # 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 # GTID 0-1-320 ddl
/*!100001 SET @@session.gtid_seq_no=320*//*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/;
DROP TABLE `t1dec102` /* generated by server */
/*!*/;
# at #
#010909 4:46:40 server id 1 end_log_pos # Rotate to master-bin.000002 pos: 4 #010909 4:46:40 server id 1 end_log_pos # Rotate to master-bin.000002 pos: 4
DELIMITER ; DELIMITER ;
# End of log file # End of log file

View file

@ -438,9 +438,20 @@ INSERT INTO t2 SET b=1;
UPDATE t1, t2 SET t1.a=10, t2.a=20; UPDATE t1, t2 SET t1.a=10, t2.a=20;
DROP TABLE t1,t2; DROP TABLE t1,t2;
let $MYSQLD_DATADIR= `select @@datadir`;
--copy_file std_data/old_decimal/t1dec102.frm $MYSQLD_DATADIR/test/t1dec102.frm
--copy_file std_data/old_decimal/t1dec102.MYD $MYSQLD_DATADIR/test/t1dec102.MYD
--copy_file std_data/old_decimal/t1dec102.MYI $MYSQLD_DATADIR/test/t1dec102.MYI
INSERT INTO t1dec102 VALUES (-999.99);
INSERT INTO t1dec102 VALUES (0);
INSERT INTO t1dec102 VALUES (999.99);
SELECT * FROM t1dec102 ORDER BY a;
DROP TABLE t1dec102;
flush logs; flush logs;
let $MYSQLD_DATADIR= `select @@datadir`;
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR --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 #/ /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/ --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 #/ /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 $MYSQLD_DATADIR/master-bin.000001 --exec $MYSQL_BINLOG --base64-output=decode-rows -v -v $MYSQLD_DATADIR/master-bin.000001

View file

@ -1,4 +1,4 @@
if (!$FILE_KEY_MANAGEMENT_SO) if (`SELECT COUNT(*)=0 FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME = 'file_key_management' AND PLUGIN_STATUS='ACTIVE'`)
{ {
--skip Needs file_key_management --skip Test requires file_key_management plugin
} }

View file

@ -99,10 +99,10 @@ select count(*) from innodb_defkey t1, innodb_normal t2 where
t1.c1 = t2.c1 and t1.b = t2.b; t1.c1 = t2.c1 and t1.b = t2.b;
count(*) count(*)
2000 2000
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_encrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
variable_value >= 0 variable_value >= 0
1 1
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_decrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
variable_value >= 0 variable_value >= 0
1 1
SET GLOBAL innodb_file_format = `Barracuda`; SET GLOBAL innodb_file_format = `Barracuda`;
@ -148,10 +148,10 @@ select count(*) from innodb_defkey t1, innodb_normal t2 where
t1.c1 = t2.c1 and t1.b = t2.b; t1.c1 = t2.c1 and t1.b = t2.b;
count(*) count(*)
2000 2000
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_encrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
variable_value >= 0 variable_value >= 0
1 1
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_decrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
variable_value >= 0 variable_value >= 0
1 1
alter table innodb_compact engine=innodb encrypted=DEFAULT encryption_key_id=DEFAULT; alter table innodb_compact engine=innodb encrypted=DEFAULT encryption_key_id=DEFAULT;
@ -247,10 +247,10 @@ select count(*) from innodb_redundant t1, innodb_normal t2 where
t1.c1 = t2.c1 and t1.b = t2.b; t1.c1 = t2.c1 and t1.b = t2.b;
count(*) count(*)
2000 2000
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_encrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
variable_value >= 0 variable_value >= 0
1 1
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_decrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
variable_value >= 0 variable_value >= 0
1 1
drop procedure innodb_insert_proc; drop procedure innodb_insert_proc;

View file

@ -60,15 +60,15 @@ select count(*) from innodb_dynamic t1, innodb_normal t2 where
t1.c1 = t2.c1 and t1.b = t2.b; t1.c1 = t2.c1 and t1.b = t2.b;
count(*) count(*)
5000 5000
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_encrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
variable_value >= 0 variable_value >= 0
1 1
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_decrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
variable_value >= 0 variable_value >= 0
1 1
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_compressed'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_compressed';
variable_value >= 0 variable_value >= 0
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_decompressed'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decompressed';
variable_value >= 0 variable_value >= 0
SET GLOBAL innodb_file_format = `Barracuda`; SET GLOBAL innodb_file_format = `Barracuda`;
SET GLOBAL innodb_file_per_table = ON; SET GLOBAL innodb_file_per_table = ON;
@ -93,15 +93,15 @@ select count(*) from innodb_dynamic t1, innodb_normal t2 where
t1.c1 = t2.c1 and t1.b = t2.b; t1.c1 = t2.c1 and t1.b = t2.b;
count(*) count(*)
5000 5000
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_encrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
variable_value >= 0 variable_value >= 0
1 1
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_decrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
variable_value >= 0 variable_value >= 0
1 1
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_compressed'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_compressed';
variable_value >= 0 variable_value >= 0
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_decompressed'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decompressed';
variable_value >= 0 variable_value >= 0
alter table innodb_normal engine=innodb page_compressed=DEFAULT; alter table innodb_normal engine=innodb page_compressed=DEFAULT;
show create table innodb_normal; show create table innodb_normal;
@ -164,15 +164,15 @@ select count(*) from innodb_dynamic t1, innodb_normal t2 where
t1.c1 = t2.c1 and t1.b = t2.b; t1.c1 = t2.c1 and t1.b = t2.b;
count(*) count(*)
5000 5000
SELECT variable_value = 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_encrypted'; SELECT variable_value = 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
variable_value = 0 variable_value = 0
1 1
SELECT variable_value = 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_decrypted'; SELECT variable_value = 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
variable_value = 0 variable_value = 0
1 1
SELECT variable_value = 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_compressed'; SELECT variable_value = 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_compressed';
variable_value = 0 variable_value = 0
SELECT variable_value = 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_decompressed'; SELECT variable_value = 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decompressed';
variable_value = 0 variable_value = 0
drop procedure innodb_insert_proc; drop procedure innodb_insert_proc;
drop table innodb_normal; drop table innodb_normal;

View file

@ -83,10 +83,10 @@ select count(*) from innodb_redundant t1, innodb_normal t2 where
t1.c1 = t2.c1 and t1.b = t2.b; t1.c1 = t2.c1 and t1.b = t2.b;
count(*) count(*)
2000 2000
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_encrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
variable_value >= 0 variable_value >= 0
1 1
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_decrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
variable_value >= 0 variable_value >= 0
1 1
SET GLOBAL innodb_file_format = `Barracuda`; SET GLOBAL innodb_file_format = `Barracuda`;
@ -124,10 +124,10 @@ select count(*) from innodb_redundant t1, innodb_normal t2 where
t1.c1 = t2.c1 and t1.b = t2.b; t1.c1 = t2.c1 and t1.b = t2.b;
count(*) count(*)
2000 2000
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_encrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
variable_value >= 0 variable_value >= 0
1 1
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_decrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
variable_value >= 0 variable_value >= 0
1 1
alter table innodb_compact engine=innodb encrypted=DEFAULT encryption_key_id=DEFAULT; alter table innodb_compact engine=innodb encrypted=DEFAULT encryption_key_id=DEFAULT;
@ -217,10 +217,10 @@ select count(*) from innodb_redundant t1, innodb_normal t2 where
t1.c1 = t2.c1 and t1.b = t2.b; t1.c1 = t2.c1 and t1.b = t2.b;
count(*) count(*)
2000 2000
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_encrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
variable_value >= 0 variable_value >= 0
1 1
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_decrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
variable_value >= 0 variable_value >= 0
1 1
drop procedure innodb_insert_proc; drop procedure innodb_insert_proc;

View file

@ -141,16 +141,16 @@ count(*)
select count(*) from innodb_page_compressed9 where c1 < 500000; select count(*) from innodb_page_compressed9 where c1 < 500000;
count(*) count(*)
5000 5000
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_encrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
variable_value >= 0 variable_value >= 0
1 1
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_decrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
variable_value >= 0 variable_value >= 0
1 1
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_page_compressed'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_page_compressed';
variable_value >= 0 variable_value >= 0
1 1
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_page_decompressed'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_page_decompressed';
variable_value >= 0 variable_value >= 0
1 1
select count(*) from innodb_page_compressed1 where c1 < 500000; select count(*) from innodb_page_compressed1 where c1 < 500000;
@ -189,16 +189,16 @@ update innodb_page_compressed6 set c1 = c1 + 1;
update innodb_page_compressed7 set c1 = c1 + 1; update innodb_page_compressed7 set c1 = c1 + 1;
update innodb_page_compressed8 set c1 = c1 + 1; update innodb_page_compressed8 set c1 = c1 + 1;
update innodb_page_compressed9 set c1 = c1 + 1; update innodb_page_compressed9 set c1 = c1 + 1;
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_encrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
variable_value >= 0 variable_value >= 0
1 1
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_decrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
variable_value >= 0 variable_value >= 0
1 1
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_page_compressed'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_page_compressed';
variable_value >= 0 variable_value >= 0
1 1
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_page_decompressed'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_page_decompressed';
variable_value >= 0 variable_value >= 0
1 1
SET GLOBAL innodb_encryption_threads = 4; SET GLOBAL innodb_encryption_threads = 4;
@ -239,16 +239,16 @@ update innodb_page_compressed6 set c1 = c1 + 1;
update innodb_page_compressed7 set c1 = c1 + 1; update innodb_page_compressed7 set c1 = c1 + 1;
update innodb_page_compressed8 set c1 = c1 + 1; update innodb_page_compressed8 set c1 = c1 + 1;
update innodb_page_compressed9 set c1 = c1 + 1; update innodb_page_compressed9 set c1 = c1 + 1;
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_encrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
variable_value >= 0 variable_value >= 0
1 1
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_decrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
variable_value >= 0 variable_value >= 0
1 1
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_page_compressed'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_page_compressed';
variable_value >= 0 variable_value >= 0
1 1
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_page_decompressed'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_page_decompressed';
variable_value >= 0 variable_value >= 0
1 1
drop procedure innodb_insert_proc; drop procedure innodb_insert_proc;

View file

@ -91,16 +91,16 @@ select count(*) from innodb_redundant t1, innodb_normal t2 where
t1.c1 = t2.c1 and t1.b = t2.b; t1.c1 = t2.c1 and t1.b = t2.b;
count(*) count(*)
2000 2000
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_encrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
variable_value >= 0 variable_value >= 0
1 1
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_decrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
variable_value >= 0 variable_value >= 0
1 1
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_page_compressed'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_page_compressed';
variable_value >= 0 variable_value >= 0
1 1
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_page_decompressed'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_page_decompressed';
variable_value >= 0 variable_value >= 0
1 1
SET GLOBAL innodb_file_format = `Barracuda`; SET GLOBAL innodb_file_format = `Barracuda`;
@ -141,16 +141,16 @@ select count(*) from innodb_redundant t1, innodb_normal t2 where
t1.c1 = t2.c1 and t1.b = t2.b; t1.c1 = t2.c1 and t1.b = t2.b;
count(*) count(*)
2000 2000
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_encrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
variable_value >= 0 variable_value >= 0
1 1
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_decrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
variable_value >= 0 variable_value >= 0
1 1
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_page_compressed'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_page_compressed';
variable_value >= 0 variable_value >= 0
1 1
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_page_decompressed'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_page_decompressed';
variable_value >= 0 variable_value >= 0
1 1
drop procedure innodb_insert_proc; drop procedure innodb_insert_proc;

View file

@ -11,10 +11,10 @@ insert into innodb_compact select * from innodb_normal;
insert into innodb_compressed select * from innodb_normal; insert into innodb_compressed select * from innodb_normal;
insert into innodb_dynamic select * from innodb_normal; insert into innodb_dynamic select * from innodb_normal;
insert into innodb_redundant select * from innodb_normal; insert into innodb_redundant select * from innodb_normal;
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_encrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
variable_value >= 0 variable_value >= 0
1 1
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_decrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
variable_value >= 0 variable_value >= 0
1 1
alter table innodb_compact engine=innodb encryption_key_id = 6; alter table innodb_compact engine=innodb encryption_key_id = 6;
@ -51,10 +51,10 @@ c1 b
2 foo 2 foo
3 bar 3 bar
4 mariadb 4 mariadb
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_encrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
variable_value >= 0 variable_value >= 0
1 1
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_decrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
variable_value >= 0 variable_value >= 0
1 1
# Restart mysqld --loose-file-key-management-filename=keys3.txt # Restart mysqld --loose-file-key-management-filename=keys3.txt
@ -88,10 +88,10 @@ c1 b
2 foo 2 foo
3 bar 3 bar
4 mariadb 4 mariadb
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_encrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
variable_value >= 0 variable_value >= 0
1 1
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_decrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
variable_value >= 0 variable_value >= 0
1 1
SET GLOBAL innodb_file_format = `Barracuda`; SET GLOBAL innodb_file_format = `Barracuda`;
@ -130,10 +130,10 @@ c1 b
2 foo 2 foo
3 bar 3 bar
4 mariadb 4 mariadb
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_encrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
variable_value >= 0 variable_value >= 0
1 1
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_decrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
variable_value >= 0 variable_value >= 0
1 1
drop table innodb_normal; drop table innodb_normal;

View file

@ -1,3 +0,0 @@
--plugin-load-add=$FILE_KEY_MANAGEMENT_SO
--file-key-management-filekey=FILE:$MTR_SUITE_DIR/t/filekeys-data.key
--file-key-management-filename=$MTR_SUITE_DIR/t/filekeys-data.enc

View file

@ -1,4 +1,4 @@
if (!$FILE_KEY_MANAGEMENT_SO) if (!$FILE_KEY_MANAGEMENT_SO)
{ {
--skip Needs file_key_management --skip Needs dynamic file_key_management plugin
} }

View file

@ -74,8 +74,8 @@ select count(*) from innodb_defkey t1, innodb_normal t2 where
t1.c1 = t2.c1 and t1.b = t2.b; t1.c1 = t2.c1 and t1.b = t2.b;
# Note there that these variables are updated only when real I/O is done, thus they are not reliable # Note there that these variables are updated only when real I/O is done, thus they are not reliable
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_encrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_decrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
--source include/restart_mysqld.inc --source include/restart_mysqld.inc
@ -104,8 +104,8 @@ t1.c1 = t2.c1 and t1.b = t2.b;
select count(*) from innodb_defkey t1, innodb_normal t2 where select count(*) from innodb_defkey t1, innodb_normal t2 where
t1.c1 = t2.c1 and t1.b = t2.b; t1.c1 = t2.c1 and t1.b = t2.b;
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_encrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_decrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
alter table innodb_compact engine=innodb encrypted=DEFAULT encryption_key_id=DEFAULT; alter table innodb_compact engine=innodb encrypted=DEFAULT encryption_key_id=DEFAULT;
show create table innodb_compact; show create table innodb_compact;
@ -145,8 +145,8 @@ t1.c1 = t2.c1 and t1.b = t2.b;
select count(*) from innodb_redundant t1, innodb_normal t2 where select count(*) from innodb_redundant t1, innodb_normal t2 where
t1.c1 = t2.c1 and t1.b = t2.b; t1.c1 = t2.c1 and t1.b = t2.b;
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_encrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_decrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
drop procedure innodb_insert_proc; drop procedure innodb_insert_proc;
drop table innodb_normal; drop table innodb_normal;

View file

@ -55,10 +55,10 @@ t1.c1 = t2.c1 and t1.b = t2.b;
select count(*) from innodb_dynamic t1, innodb_normal t2 where select count(*) from innodb_dynamic t1, innodb_normal t2 where
t1.c1 = t2.c1 and t1.b = t2.b; t1.c1 = t2.c1 and t1.b = t2.b;
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_encrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_decrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_compressed'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_compressed';
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_decompressed'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decompressed';
--source include/restart_mysqld.inc --source include/restart_mysqld.inc
@ -78,10 +78,10 @@ t1.c1 = t2.c1 and t1.b = t2.b;
select count(*) from innodb_dynamic t1, innodb_normal t2 where select count(*) from innodb_dynamic t1, innodb_normal t2 where
t1.c1 = t2.c1 and t1.b = t2.b; t1.c1 = t2.c1 and t1.b = t2.b;
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_encrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_decrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_compressed'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_compressed';
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_decompressed'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decompressed';
alter table innodb_normal engine=innodb page_compressed=DEFAULT; alter table innodb_normal engine=innodb page_compressed=DEFAULT;
show create table innodb_normal; show create table innodb_normal;
@ -110,10 +110,10 @@ t1.c1 = t2.c1 and t1.b = t2.b;
select count(*) from innodb_dynamic t1, innodb_normal t2 where select count(*) from innodb_dynamic t1, innodb_normal t2 where
t1.c1 = t2.c1 and t1.b = t2.b; t1.c1 = t2.c1 and t1.b = t2.b;
SELECT variable_value = 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_encrypted'; SELECT variable_value = 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
SELECT variable_value = 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_decrypted'; SELECT variable_value = 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
SELECT variable_value = 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_compressed'; SELECT variable_value = 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_compressed';
SELECT variable_value = 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_decompressed'; SELECT variable_value = 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decompressed';
drop procedure innodb_insert_proc; drop procedure innodb_insert_proc;
drop table innodb_normal; drop table innodb_normal;

View file

@ -67,8 +67,8 @@ select count(*) from innodb_redundant t1, innodb_normal t2 where
t1.c1 = t2.c1 and t1.b = t2.b; t1.c1 = t2.c1 and t1.b = t2.b;
# Note there that these variables are updated only when real I/O is done, thus they are not reliable # Note there that these variables are updated only when real I/O is done, thus they are not reliable
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_encrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_decrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
--source include/restart_mysqld.inc --source include/restart_mysqld.inc
@ -93,8 +93,8 @@ t1.c1 = t2.c1 and t1.b = t2.b;
select count(*) from innodb_redundant t1, innodb_normal t2 where select count(*) from innodb_redundant t1, innodb_normal t2 where
t1.c1 = t2.c1 and t1.b = t2.b; t1.c1 = t2.c1 and t1.b = t2.b;
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_encrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_decrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
alter table innodb_compact engine=innodb encrypted=DEFAULT encryption_key_id=DEFAULT; alter table innodb_compact engine=innodb encrypted=DEFAULT encryption_key_id=DEFAULT;
show create table innodb_compact; show create table innodb_compact;
@ -133,8 +133,8 @@ t1.c1 = t2.c1 and t1.b = t2.b;
select count(*) from innodb_redundant t1, innodb_normal t2 where select count(*) from innodb_redundant t1, innodb_normal t2 where
t1.c1 = t2.c1 and t1.b = t2.b; t1.c1 = t2.c1 and t1.b = t2.b;
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_encrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_decrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
drop procedure innodb_insert_proc; drop procedure innodb_insert_proc;
drop table innodb_normal; drop table innodb_normal;

View file

@ -85,10 +85,10 @@ select count(*) from innodb_page_compressed7 where c1 < 500000;
select count(*) from innodb_page_compressed8 where c1 < 500000; select count(*) from innodb_page_compressed8 where c1 < 500000;
select count(*) from innodb_page_compressed9 where c1 < 500000; select count(*) from innodb_page_compressed9 where c1 < 500000;
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_encrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_decrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_page_compressed'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_page_compressed';
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_page_decompressed'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_page_decompressed';
--source include/restart_mysqld.inc --source include/restart_mysqld.inc
@ -112,10 +112,10 @@ update innodb_page_compressed7 set c1 = c1 + 1;
update innodb_page_compressed8 set c1 = c1 + 1; update innodb_page_compressed8 set c1 = c1 + 1;
update innodb_page_compressed9 set c1 = c1 + 1; update innodb_page_compressed9 set c1 = c1 + 1;
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_encrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_decrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_page_compressed'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_page_compressed';
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_page_decompressed'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_page_decompressed';
SET GLOBAL innodb_encryption_threads = 4; SET GLOBAL innodb_encryption_threads = 4;
SET GLOBAL innodb_encrypt_tables = off; SET GLOBAL innodb_encrypt_tables = off;
@ -139,10 +139,10 @@ update innodb_page_compressed7 set c1 = c1 + 1;
update innodb_page_compressed8 set c1 = c1 + 1; update innodb_page_compressed8 set c1 = c1 + 1;
update innodb_page_compressed9 set c1 = c1 + 1; update innodb_page_compressed9 set c1 = c1 + 1;
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_encrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_decrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_page_compressed'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_page_compressed';
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_page_decompressed'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_page_decompressed';
drop procedure innodb_insert_proc; drop procedure innodb_insert_proc;
drop table innodb_normal; drop table innodb_normal;

View file

@ -66,10 +66,10 @@ t1.c1 = t2.c1 and t1.b = t2.b;
select count(*) from innodb_redundant t1, innodb_normal t2 where select count(*) from innodb_redundant t1, innodb_normal t2 where
t1.c1 = t2.c1 and t1.b = t2.b; t1.c1 = t2.c1 and t1.b = t2.b;
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_encrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_decrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_page_compressed'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_page_compressed';
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_page_decompressed'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_page_decompressed';
--source include/restart_mysqld.inc --source include/restart_mysqld.inc
@ -95,10 +95,10 @@ t1.c1 = t2.c1 and t1.b = t2.b;
select count(*) from innodb_redundant t1, innodb_normal t2 where select count(*) from innodb_redundant t1, innodb_normal t2 where
t1.c1 = t2.c1 and t1.b = t2.b; t1.c1 = t2.c1 and t1.b = t2.b;
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_encrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_decrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_page_compressed'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_page_compressed';
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_page_decompressed'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_page_decompressed';
drop procedure innodb_insert_proc; drop procedure innodb_insert_proc;
drop table innodb_normal; drop table innodb_normal;

View file

@ -28,8 +28,8 @@ insert into innodb_dynamic select * from innodb_normal;
insert into innodb_redundant select * from innodb_normal; insert into innodb_redundant select * from innodb_normal;
# Note there that these variables are updated only when real I/O is done, thus they are not reliable # Note there that these variables are updated only when real I/O is done, thus they are not reliable
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_encrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_decrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
alter table innodb_compact engine=innodb encryption_key_id = 6; alter table innodb_compact engine=innodb encryption_key_id = 6;
alter table innodb_compressed engine=innodb encryption_key_id = 6; alter table innodb_compressed engine=innodb encryption_key_id = 6;
@ -43,8 +43,8 @@ select * from innodb_dynamic;
select * from innodb_redundant; select * from innodb_redundant;
# Note there that these variables are updated only when real I/O is done, thus they are not reliable # Note there that these variables are updated only when real I/O is done, thus they are not reliable
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_encrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_decrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
--echo # Restart mysqld --loose-file-key-management-filename=keys3.txt --echo # Restart mysqld --loose-file-key-management-filename=keys3.txt
-- let $restart_parameters=--loose-file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys3.txt -- let $restart_parameters=--loose-file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys3.txt
@ -57,8 +57,8 @@ select * from innodb_dynamic;
select * from innodb_redundant; select * from innodb_redundant;
# Note there that these variables are updated only when real I/O is done, thus they are not reliable # Note there that these variables are updated only when real I/O is done, thus they are not reliable
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_encrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_decrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
SET GLOBAL innodb_file_format = `Barracuda`; SET GLOBAL innodb_file_format = `Barracuda`;
SET GLOBAL innodb_file_per_table = ON; SET GLOBAL innodb_file_per_table = ON;
@ -75,8 +75,8 @@ select * from innodb_dynamic;
select * from innodb_redundant; select * from innodb_redundant;
# Note there that these variables are updated only when real I/O is done, thus they are not reliable # Note there that these variables are updated only when real I/O is done, thus they are not reliable
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_encrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_encrypted';
SELECT variable_value >= 0 FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_num_pages_decrypted'; SELECT variable_value >= 0 FROM information_schema.global_status WHERE variable_name = 'innodb_num_pages_decrypted';
drop table innodb_normal; drop table innodb_normal;
drop table innodb_compact; drop table innodb_compact;

View file

@ -29,7 +29,7 @@ Warnings:
Warning 1017 Can't find file: './test/t1.MYI' (errno: 2 "No such file or directory") Warning 1017 Can't find file: './test/t1.MYI' (errno: 2 "No such file or directory")
DROP TABLE t1; DROP TABLE t1;
Warnings: Warnings:
Warning 2 Can't find file: './test/t1.MYI' (errno: 2 "No such file or directory") Warning 1017 Can't find file: './test/t1.MYI' (errno: 2 "No such file or directory")
# #
# Cleanup # Cleanup
# #

View file

@ -25,10 +25,6 @@ let $fixed_bug_30395= 0;
# The file with expected results fits only to a run without # The file with expected results fits only to a run without
# ps-protocol/sp-protocol/cursor-protocol/view-protocol. # ps-protocol/sp-protocol/cursor-protocol/view-protocol.
if (`SELECT $PS_PROTOCOL + $SP_PROTOCOL + $CURSOR_PROTOCOL --source include/no_protocol.inc
+ $VIEW_PROTOCOL > 0`)
{
--skip Test requires: ps-protocol/sp-protocol/cursor-protocol/view-protocol disabled
}
--source suite/funcs_1/datadict/processlist_priv.inc --source suite/funcs_1/datadict/processlist_priv.inc

View file

@ -20,10 +20,6 @@
# The file with expected results fits only to a run without # The file with expected results fits only to a run without
# ps-protocol/sp-protocol/cursor-protocol/view-protocol. # ps-protocol/sp-protocol/cursor-protocol/view-protocol.
if (`SELECT $PS_PROTOCOL + $SP_PROTOCOL + $CURSOR_PROTOCOL --source include/no_protocol.inc
+ $VIEW_PROTOCOL > 0`)
{
--skip Test requires: ps-protocol/sp-protocol/cursor-protocol/view-protocol disabled
}
--source suite/funcs_1/datadict/processlist_val.inc --source suite/funcs_1/datadict/processlist_val.inc

View file

@ -2484,7 +2484,7 @@ INSERT INTO t2 VALUES(1);
DELETE FROM t1 WHERE id = 1; DELETE FROM t1 WHERE id = 1;
ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `c1` FOREIGN KEY (`v`) REFERENCES `t1` (`id`)) ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `c1` FOREIGN KEY (`v`) REFERENCES `t1` (`id`))
DROP TABLE t1; DROP TABLE t1;
ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails ERROR 23000: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `c1` FOREIGN KEY (`v`) REFERENCES `t1` (`id`))
SET FOREIGN_KEY_CHECKS=0; SET FOREIGN_KEY_CHECKS=0;
DROP TABLE t1; DROP TABLE t1;
SET FOREIGN_KEY_CHECKS=1; SET FOREIGN_KEY_CHECKS=1;

View file

@ -0,0 +1,23 @@
call mtr.add_suppression("InnoDB: The total blob data length");
SET GLOBAL max_allowed_packet = 100*1024*1024;
# Connection big_packets:
CREATE TABLE t1 (a BIGINT PRIMARY KEY, b LONGBLOB) ENGINE=InnoDB;
INSERT INTO t1 (a, b) VALUES (1, '1');
INSERT INTO t1 (a, b) VALUES (2, '2');
INSERT INTO t1 (a, b) VALUES (3, '3');
INSERT INTO t1 (a, b) VALUES (4, '4');
INSERT INTO t1 (a, b) VALUES (5, '5');
start transaction;
INSERT INTO t1 (a, b) VALUES (6, REPEAT('a', 20*1024*1024));
ERROR 42000: The size of BLOB/TEXT data inserted in one transaction is greater than 10% of redo log size. Increase the redo log size using innodb_log_file_size.
# Connection default:
# Quick shutdown and restart server
# Connection default:
SELECT a FROM t1;
a
1
2
3
4
5
DROP TABLE t1;

View file

@ -634,7 +634,7 @@ ERROR 42S02: Table 'test.bug29807' doesn't exist in engine
drop table t1; drop table t1;
drop table bug29807; drop table bug29807;
Warnings: Warnings:
Warning 155 Table 'test.bug29807' doesn't exist in engine Warning 1932 Table 'test.bug29807' doesn't exist in engine
CREATE TABLE t1 (a INT) ENGINE=InnoDB; CREATE TABLE t1 (a INT) ENGINE=InnoDB;
CREATE TABLE t2 (a INT) ENGINE=InnoDB; CREATE TABLE t2 (a INT) ENGINE=InnoDB;
switch to connection c1 switch to connection c1

View file

@ -0,0 +1,17 @@
CREATE TABLE t1 (a INT) ENGINE=InnoDB;
INSERT INTO t1 VALUES (1);
XA START 'x';
UPDATE t1 set a=2;
XA END 'x';
XA PREPARE 'x';
call mtr.add_suppression("Found 1 prepared XA transactions");
SELECT * FROM t1 LOCK IN SHARE MODE;
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
SELECT * FROM t1;
a
2
XA ROLLBACK 'x';
SELECT * FROM t1;
a
1
DROP TABLE t1;

View file

@ -1,11 +1,6 @@
--source include/have_innodb.inc --source include/have_innodb.inc
--source include/have_debug.inc --source include/have_debug.inc
if (`select plugin_auth_version <= "5.5.39-MariaDB-36.0" from information_schema.plugins where plugin_name='innodb'`)
{
--skip Not fixed in XtraDB as of 5.5.39-MariaDB-36.0 or earlier
}
--echo # --echo #
--echo # Bug #19471516 SERVER CRASHES WHEN EXECUTING ALTER TABLE --echo # Bug #19471516 SERVER CRASHES WHEN EXECUTING ALTER TABLE
--echo # ADD FOREIGN KEY --echo # ADD FOREIGN KEY

View file

@ -1,8 +1,3 @@
if (`select plugin_auth_version <= "5.5.37-MariaDB-34.0" from information_schema.plugins where plugin_name='innodb'`)
{
--skip Not fixed in XtraDB as of 5.5.37-MariaDB-34.0 or earlier
}
--source include/have_innodb.inc --source include/have_innodb.inc
# embedded server ignores 'delayed', so skip this # embedded server ignores 'delayed', so skip this
-- source include/not_embedded.inc -- source include/not_embedded.inc

View file

@ -1551,7 +1551,7 @@ INSERT INTO t2 VALUES(1);
--error 1451 --error 1451
DELETE FROM t1 WHERE id = 1; DELETE FROM t1 WHERE id = 1;
--error 1217 --error 1451
DROP TABLE t1; DROP TABLE t1;
SET FOREIGN_KEY_CHECKS=0; SET FOREIGN_KEY_CHECKS=0;

View file

@ -0,0 +1,55 @@
--source include/not_embedded.inc
--source include/not_crashrep.inc
--source include/have_innodb.inc
call mtr.add_suppression("InnoDB: The total blob data length");
let $old_max_allowed_packet = `select @@max_allowed_packet`;
SET GLOBAL max_allowed_packet = 100*1024*1024;
--echo # Connection big_packets:
connect(big_packets,localhost,root,,);
connection big_packets;
CREATE TABLE t1 (a BIGINT PRIMARY KEY, b LONGBLOB) ENGINE=InnoDB;
# Insert a few rows (it doesn't really matter how many). These transactions
# are committed once they are acked, so they should not be lost.
INSERT INTO t1 (a, b) VALUES (1, '1');
INSERT INTO t1 (a, b) VALUES (2, '2');
INSERT INTO t1 (a, b) VALUES (3, '3');
INSERT INTO t1 (a, b) VALUES (4, '4');
INSERT INTO t1 (a, b) VALUES (5, '5');
# The BLOB insert will fail, and should disappear. However all data committed
# up to this point should not be lost.
start transaction;
--replace_regex /\(> [0-9]*\)/(> ####)/
--error ER_TOO_BIG_ROWSIZE
INSERT INTO t1 (a, b) VALUES (6, REPEAT('a', 20*1024*1024));
--echo # Connection default:
connection default;
# We expect a restart.
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--echo # Quick shutdown and restart server
--shutdown_server 0
# Wait for the server to come back up, and reconnect.
--enable_reconnect
--source include/wait_until_connected_again.inc
--echo # Connection default:
connection default;
# We should see (1,2,3,4,5) here.
SELECT a FROM t1;
# Clean up.
DROP TABLE t1;
--disable_query_log
eval set global max_allowed_packet = $old_max_allowed_packet;
--enable_query_log

View file

@ -2,11 +2,6 @@
--source include/have_debug.inc --source include/have_debug.inc
--source include/have_partition.inc --source include/have_partition.inc
if (`select plugin_auth_version < "5.6.22" from information_schema.plugins where plugin_name='innodb'`)
{
--skip Not fixed in InnoDB/XtraDB as of 5.6.21 or earlier
}
--echo # --echo #
--echo # Bug#19904003 INNODB_LIMIT_OPTIMISTIC_INSERT_DEBUG=1 --echo # Bug#19904003 INNODB_LIMIT_OPTIMISTIC_INSERT_DEBUG=1
--echo # CAUSES INFINITE PAGE SPLIT --echo # CAUSES INFINITE PAGE SPLIT

View file

@ -1,11 +1,6 @@
--source include/have_innodb.inc --source include/have_innodb.inc
--source include/big_test.inc --source include/big_test.inc
if (`select plugin_auth_version < "5.6.22" from information_schema.plugins where plugin_name='innodb'`)
{
--skip Not fixed in InnoDB/XtraDB as of 5.6.21 or earlier
}
--echo # --echo #
--echo # Bug #19306524 FAILING ASSERTION WITH TEMP TABLE FOR A PROCEDURE --echo # Bug #19306524 FAILING ASSERTION WITH TEMP TABLE FOR A PROCEDURE
--echo # CALLED FROM A FUNCTION --echo # CALLED FROM A FUNCTION

Some files were not shown because too many files have changed in this diff Show more