Commit 7c477360 authored by Otto Kekäläinen's avatar Otto Kekäläinen
Browse files

New upstream version 10.1.34

parent 5a2d9853
...@@ -25,6 +25,7 @@ pcre/testdata/greppatN4 -text ...@@ -25,6 +25,7 @@ pcre/testdata/greppatN4 -text
*.MYD binary *.MYD binary
*.MYI binary *.MYI binary
*.class binary *.class binary
*.jar binary
*.c diff=cpp *.c diff=cpp
*.h diff=cpp *.h diff=cpp
......
...@@ -120,6 +120,7 @@ scripts/mytop ...@@ -120,6 +120,7 @@ scripts/mytop
scripts/wsrep_sst_common scripts/wsrep_sst_common
scripts/wsrep_sst_mysqldump scripts/wsrep_sst_mysqldump
scripts/wsrep_sst_rsync scripts/wsrep_sst_rsync
scripts/wsrep_sst_rsync_wan
scripts/wsrep_sst_mariabackup scripts/wsrep_sst_mariabackup
scripts/wsrep_sst_xtrabackup scripts/wsrep_sst_xtrabackup
scripts/wsrep_sst_xtrabackup-v2 scripts/wsrep_sst_xtrabackup-v2
...@@ -477,3 +478,9 @@ UpgradeLog*.htm ...@@ -477,3 +478,9 @@ UpgradeLog*.htm
# Microsoft Fakes # Microsoft Fakes
FakesAssemblies/ FakesAssemblies/
# macOS garbage
.DS_Store
# QtCreator && CodeBlocks
*.cbp
...@@ -162,6 +162,7 @@ INCLUDE(plugin) ...@@ -162,6 +162,7 @@ INCLUDE(plugin)
INCLUDE(install_macros) INCLUDE(install_macros)
INCLUDE(systemd) INCLUDE(systemd)
INCLUDE(mysql_add_executable) INCLUDE(mysql_add_executable)
INCLUDE(compile_flags)
# Handle options # Handle options
OPTION(DISABLE_SHARED OPTION(DISABLE_SHARED
...@@ -361,6 +362,10 @@ INCLUDE(maintainer) ...@@ -361,6 +362,10 @@ INCLUDE(maintainer)
IF(WITH_UNIT_TESTS) IF(WITH_UNIT_TESTS)
ENABLE_TESTING() ENABLE_TESTING()
# This is the only instance where ADD_TEST should be used,
# to make sure that make test will run MTR,
# use MY_ADD_TEST macro to add other tests
ADD_TEST(NAME MTR COMMAND ./mysql-test-run WORKING_DIRECTORY "mysql-test")
ADD_SUBDIRECTORY(unittest/mytap) ADD_SUBDIRECTORY(unittest/mytap)
ADD_SUBDIRECTORY(unittest/strings) ADD_SUBDIRECTORY(unittest/strings)
ADD_SUBDIRECTORY(unittest/examples) ADD_SUBDIRECTORY(unittest/examples)
......
...@@ -5,15 +5,14 @@ The current main sponsors of the MariaDB Foundation are: ...@@ -5,15 +5,14 @@ The current main sponsors of the MariaDB Foundation are:
Alibaba Cloud https://www.alibabacloud.com/ (2017) Alibaba Cloud https://www.alibabacloud.com/ (2017)
Booking.com https://www.booking.com (2013) Booking.com https://www.booking.com (2013)
MariaDB Corporation https://www.mariadb.com (2013)
Microsoft https://microsoft.com/ (2017) Microsoft https://microsoft.com/ (2017)
Tencent Cloud https://cloud.tencent.com (2017) Tencent Cloud https://cloud.tencent.com (2017)
Development Bank of Singapore https://dbs.com (2016) Development Bank of Singapore https://dbs.com (2016)
IBM https://www.ibm.com (2017) IBM https://www.ibm.com (2017)
MariaDB Corporation https://www.mariadb.com (2013)
Visma https://visma.com (2015) Visma https://visma.com (2015)
Acronis http://acronis.com (2016) Acronis http://acronis.com (2016)
Nexedi https://www.nexedi.com (2016) Nexedi https://www.nexedi.com (2016)
Automattic https://automattic.com (2014)
Tencent Game DBA http://tencentdba.com/about (2016) Tencent Game DBA http://tencentdba.com/about (2016)
Tencent TDSQL http://tdsql.org (2016) Tencent TDSQL http://tdsql.org (2016)
Verkkokauppa.com https://www.verkkokauppa.com (2015) Verkkokauppa.com https://www.verkkokauppa.com (2015)
......
commit: aba15b864af664276261dcbbdaef35268d407af1 commit: 9f848da640dd6c3f44d56eae18204370ae7f835c
date: 2018-02-04 04:28:14 +0200 date: 2018-06-16 01:20:44 +0200
build-date: 2018-02-04 02:30:32 +0000 build-date: 2018-06-16 00:19:48 +0000
short: aba15b8 short: 9f848da
branch: HEAD branch: HEAD
MariaDB source 10.1.31 MariaDB source 10.1.34
MYSQL_VERSION_MAJOR=10 MYSQL_VERSION_MAJOR=10
MYSQL_VERSION_MINOR=1 MYSQL_VERSION_MINOR=1
MYSQL_VERSION_PATCH=31 MYSQL_VERSION_PATCH=34
...@@ -1175,11 +1175,7 @@ int main(int argc,char *argv[]) ...@@ -1175,11 +1175,7 @@ int main(int argc,char *argv[])
close(stdout_fileno_copy); /* Clean up dup(). */ close(stdout_fileno_copy); /* Clean up dup(). */
} }
if (load_defaults("my",load_default_groups,&argc,&argv)) load_defaults_or_exit("my", load_default_groups, &argc, &argv);
{
my_end(0);
exit(1);
}
defaults_argv=argv; defaults_argv=argv;
if ((status.exit_status= get_options(argc, (char **) argv))) if ((status.exit_status= get_options(argc, (char **) argv)))
mysql_end(-1); mysql_end(-1);
...@@ -1229,6 +1225,8 @@ int main(int argc,char *argv[]) ...@@ -1229,6 +1225,8 @@ int main(int argc,char *argv[])
window_resize(0); window_resize(0);
#endif #endif
if (!status.batch)
{
put_info("Welcome to the MariaDB monitor. Commands end with ; or \\g.", put_info("Welcome to the MariaDB monitor. Commands end with ; or \\g.",
INFO_INFO); INFO_INFO);
my_snprintf((char*) glob_buffer.ptr(), glob_buffer.alloced_length(), my_snprintf((char*) glob_buffer.ptr(), glob_buffer.alloced_length(),
...@@ -1236,8 +1234,8 @@ int main(int argc,char *argv[]) ...@@ -1236,8 +1234,8 @@ int main(int argc,char *argv[])
mysql_get_server_name(&mysql), mysql_get_server_name(&mysql),
mysql_thread_id(&mysql), server_version_string(&mysql)); mysql_thread_id(&mysql), server_version_string(&mysql));
put_info((char*) glob_buffer.ptr(),INFO_INFO); put_info((char*) glob_buffer.ptr(),INFO_INFO);
put_info(ORACLE_WELCOME_COPYRIGHT_NOTICE("2000"), INFO_INFO); put_info(ORACLE_WELCOME_COPYRIGHT_NOTICE("2000"), INFO_INFO);
}
#ifdef HAVE_READLINE #ifdef HAVE_READLINE
initialize_readline((char*) my_progname); initialize_readline((char*) my_progname);
......
...@@ -1133,6 +1133,8 @@ int main(int argc, char **argv) ...@@ -1133,6 +1133,8 @@ int main(int argc, char **argv)
char self_name[FN_REFLEN + 1]; char self_name[FN_REFLEN + 1];
MY_INIT(argv[0]); MY_INIT(argv[0]);
load_defaults_or_exit("my", load_default_groups, &argc, &argv);
defaults_argv= argv; /* Must be freed by 'free_defaults' */
#if __WIN__ #if __WIN__
if (GetModuleFileName(NULL, self_name, FN_REFLEN) == 0) if (GetModuleFileName(NULL, self_name, FN_REFLEN) == 0)
...@@ -1145,10 +1147,6 @@ int main(int argc, char **argv) ...@@ -1145,10 +1147,6 @@ int main(int argc, char **argv)
init_dynamic_string(&conn_args, "", 512, 256)) init_dynamic_string(&conn_args, "", 512, 256))
die("Out of memory"); die("Out of memory");
if (load_defaults("my", load_default_groups, &argc, &argv))
die(NULL);
defaults_argv= argv; /* Must be freed by 'free_defaults' */
if (handle_options(&argc, &argv, my_long_options, get_one_option)) if (handle_options(&argc, &argv, my_long_options, get_one_option))
die(NULL); die(NULL);
if (debug_info_flag) if (debug_info_flag)
......
...@@ -319,8 +319,7 @@ int main(int argc,char *argv[]) ...@@ -319,8 +319,7 @@ int main(int argc,char *argv[])
MY_INIT(argv[0]); MY_INIT(argv[0]);
mysql_init(&mysql); mysql_init(&mysql);
sf_leaking_memory=1; /* don't report memory leaks on early exits */ sf_leaking_memory=1; /* don't report memory leaks on early exits */
if ((error= load_defaults("my",load_default_groups,&argc,&argv))) load_defaults_or_exit("my", load_default_groups, &argc, &argv);
goto err1;
save_argv = argv; /* Save for free_defaults */ save_argv = argv; /* Save for free_defaults */
if ((error=handle_options(&argc, &argv, my_long_options, get_one_option))) if ((error=handle_options(&argc, &argv, my_long_options, get_one_option)))
...@@ -500,10 +499,8 @@ int main(int argc,char *argv[]) ...@@ -500,10 +499,8 @@ int main(int argc,char *argv[])
my_free(shared_memory_base_name); my_free(shared_memory_base_name);
#endif #endif
free_defaults(save_argv); free_defaults(save_argv);
err1:
my_end(my_end_arg); my_end(my_end_arg);
exit(error); return error;
return 0;
} }
......
...@@ -2666,9 +2666,7 @@ int main(int argc, char** argv) ...@@ -2666,9 +2666,7 @@ int main(int argc, char** argv)
tzset(); // set tzname tzset(); // set tzname
init_alloc_root(&s_mem_root, 16384, 0, MYF(0)); init_alloc_root(&s_mem_root, 16384, 0, MYF(0));
if (load_defaults("my", load_groups, &argc, &argv)) load_defaults_or_exit("my", load_groups, &argc, &argv);
exit(1);
defaults_argv= argv; defaults_argv= argv;
if (!(binlog_filter= new Rpl_filter)) if (!(binlog_filter= new Rpl_filter))
......
...@@ -1165,9 +1165,7 @@ int main(int argc, char **argv) ...@@ -1165,9 +1165,7 @@ int main(int argc, char **argv)
/* /*
** Check out the args ** Check out the args
*/ */
if (load_defaults("my", load_default_groups, &argc, &argv)) load_defaults_or_exit("my", load_default_groups, &argc, &argv);
goto end2;
defaults_argv= argv; defaults_argv= argv;
if (get_options(&argc, &argv)) if (get_options(&argc, &argv))
goto end1; goto end1;
...@@ -1243,7 +1241,6 @@ int main(int argc, char **argv) ...@@ -1243,7 +1241,6 @@ int main(int argc, char **argv)
my_free(shared_memory_base_name); my_free(shared_memory_base_name);
mysql_library_end(); mysql_library_end();
free_defaults(defaults_argv); free_defaults(defaults_argv);
end2:
my_end(my_end_arg); my_end(my_end_arg);
return ret; return ret;
} /* main */ } /* main */
...@@ -976,8 +976,7 @@ static int get_options(int *argc, char ***argv) ...@@ -976,8 +976,7 @@ static int get_options(int *argc, char ***argv)
opt_net_buffer_length= *mysql_params->p_net_buffer_length; opt_net_buffer_length= *mysql_params->p_net_buffer_length;
md_result_file= stdout; md_result_file= stdout;
if (load_defaults("my",load_default_groups,argc,argv)) load_defaults_or_exit("my", load_default_groups, argc, argv);
return 1;
defaults_argv= *argv; defaults_argv= *argv;
if (my_hash_init(&ignore_table, charset_info, 16, 0, 0, if (my_hash_init(&ignore_table, charset_info, 16, 0, 0,
...@@ -4995,6 +4994,14 @@ static int dump_selected_tables(char *db, char **table_names, int tables) ...@@ -4995,6 +4994,14 @@ static int dump_selected_tables(char *db, char **table_names, int tables)
if (opt_xml) if (opt_xml)
print_xml_tag(md_result_file, "", "\n", "database", "name=", db, NullS); print_xml_tag(md_result_file, "", "\n", "database", "name=", db, NullS);
/* obtain dump of routines (procs/functions) */
if (opt_routines && mysql_get_server_version(mysql) >= 50009)
{
DBUG_PRINT("info", ("Dumping routines for database %s", db));
dump_routines_for_db(db);
}
if (opt_single_transaction && mysql_get_server_version(mysql) >= 50500) if (opt_single_transaction && mysql_get_server_version(mysql) >= 50500)
{ {
verbose_msg("-- Setting savepoint...\n"); verbose_msg("-- Setting savepoint...\n");
...@@ -5004,7 +5011,6 @@ static int dump_selected_tables(char *db, char **table_names, int tables) ...@@ -5004,7 +5011,6 @@ static int dump_selected_tables(char *db, char **table_names, int tables)
DBUG_RETURN(1); DBUG_RETURN(1);
} }
} }
/* Dump each selected table */ /* Dump each selected table */
for (pos= dump_tables; pos < end; pos++) for (pos= dump_tables; pos < end; pos++)
{ {
...@@ -5066,12 +5072,6 @@ static int dump_selected_tables(char *db, char **table_names, int tables) ...@@ -5066,12 +5072,6 @@ static int dump_selected_tables(char *db, char **table_names, int tables)
DBUG_PRINT("info", ("Dumping events for database %s", db)); DBUG_PRINT("info", ("Dumping events for database %s", db));
dump_events_for_db(db); dump_events_for_db(db);
} }
/* obtain dump of routines (procs/functions) */
if (opt_routines && mysql_get_server_version(mysql) >= 50009)
{
DBUG_PRINT("info", ("Dumping routines for database %s", db));
dump_routines_for_db(db);
}
free_root(&glob_root, MYF(0)); free_root(&glob_root, MYF(0));
if (opt_xml) if (opt_xml)
{ {
......
...@@ -641,8 +641,7 @@ int main(int argc, char **argv) ...@@ -641,8 +641,7 @@ int main(int argc, char **argv)
MY_INIT(argv[0]); MY_INIT(argv[0]);
sf_leaking_memory=1; /* don't report memory leaks on early exits */ sf_leaking_memory=1; /* don't report memory leaks on early exits */
if (load_defaults("my",load_default_groups,&argc,&argv)) load_defaults_or_exit("my", load_default_groups, &argc, &argv);
return 1;
/* argv is changed in the program */ /* argv is changed in the program */
argv_to_free= argv; argv_to_free= argv;
if (get_options(&argc, &argv)) if (get_options(&argc, &argv))
......
...@@ -71,8 +71,7 @@ int main(int argc, char **argv) ...@@ -71,8 +71,7 @@ int main(int argc, char **argv)
static char **defaults_argv; static char **defaults_argv;
MY_INIT(argv[0]); MY_INIT(argv[0]);
sf_leaking_memory=1; /* don't report memory leaks on early exits */ sf_leaking_memory=1; /* don't report memory leaks on early exits */
if (load_defaults("my",load_default_groups,&argc,&argv)) load_defaults_or_exit("my", load_default_groups, &argc, &argv);
exit(1);
defaults_argv=argv; defaults_argv=argv;
get_options(&argc,&argv); get_options(&argc,&argv);
......
...@@ -325,11 +325,7 @@ int main(int argc, char **argv) ...@@ -325,11 +325,7 @@ int main(int argc, char **argv)
MY_INIT(argv[0]); MY_INIT(argv[0]);
sf_leaking_memory=1; /* don't report memory leaks on early exits */ sf_leaking_memory=1; /* don't report memory leaks on early exits */
if (load_defaults("my",load_default_groups,&argc,&argv)) load_defaults_or_exit("my", load_default_groups, &argc, &argv);
{
my_end(0);
exit(1);
}
defaults_argv=argv; defaults_argv=argv;
if (get_options(&argc,&argv)) if (get_options(&argc,&argv))
{ {
...@@ -857,7 +853,7 @@ build_table_string(void) ...@@ -857,7 +853,7 @@ build_table_string(void)
if (auto_generate_sql_guid_primary) if (auto_generate_sql_guid_primary)
{ {
dynstr_append(&table_string, "id varchar(32) primary key"); dynstr_append(&table_string, "id varchar(36) primary key");
if (num_int_cols || num_char_cols || auto_generate_sql_guid_primary) if (num_int_cols || num_char_cols || auto_generate_sql_guid_primary)
dynstr_append(&table_string, ","); dynstr_append(&table_string, ",");
...@@ -872,7 +868,7 @@ build_table_string(void) ...@@ -872,7 +868,7 @@ build_table_string(void)
if (count) /* Except for the first pass we add a comma */ if (count) /* Except for the first pass we add a comma */
dynstr_append(&table_string, ","); dynstr_append(&table_string, ",");
if (snprintf(buf, HUGE_STRING_LENGTH, "id%d varchar(32) unique key", count) if (snprintf(buf, HUGE_STRING_LENGTH, "id%d varchar(36) unique key", count)
> HUGE_STRING_LENGTH) > HUGE_STRING_LENGTH)
{ {
fprintf(stderr, "Memory Allocation error in create table\n"); fprintf(stderr, "Memory Allocation error in create table\n");
......
...@@ -520,7 +520,7 @@ struct st_match_err ...@@ -520,7 +520,7 @@ struct st_match_err
struct st_expected_errors struct st_expected_errors
{ {
struct st_match_err err[10]; struct st_match_err err[12];
uint count; uint count;
}; };
static struct st_expected_errors saved_expected_errors; static struct st_expected_errors saved_expected_errors;
...@@ -903,6 +903,8 @@ pthread_handler_t connection_thread(void *arg) ...@@ -903,6 +903,8 @@ pthread_handler_t connection_thread(void *arg)
end_thread: end_thread:
cn->query_done= 1; cn->query_done= 1;
mysql_close(cn->mysql);
cn->mysql= 0;
mysql_thread_end(); mysql_thread_end();
pthread_exit(0); pthread_exit(0);
return 0; return 0;
...@@ -1418,7 +1420,7 @@ void close_statements() ...@@ -1418,7 +1420,7 @@ void close_statements()
for (con= connections; con < next_con; con++) for (con= connections; con < next_con; con++)
{ {
if (con->stmt) if (con->stmt)
mysql_stmt_close(con->stmt); do_stmt_close(con);
con->stmt= 0; con->stmt= 0;
} }
DBUG_VOID_RETURN; DBUG_VOID_RETURN;
...@@ -2678,7 +2680,7 @@ void var_query_set(VAR *var, const char *query, const char** query_end) ...@@ -2678,7 +2680,7 @@ void var_query_set(VAR *var, const char *query, const char** query_end)
init_dynamic_string(&ds_query, 0, (end - query) + 32, 256); init_dynamic_string(&ds_query, 0, (end - query) + 32, 256);
do_eval(&ds_query, query, end, FALSE); do_eval(&ds_query, query, end, FALSE);
if (mysql_real_query(mysql, ds_query.str, ds_query.length)) if (mysql_real_query(mysql, ds_query.str, ds_query.length) || !(res= mysql_store_result(mysql)))
{ {
handle_error(curr_command, mysql_errno(mysql), mysql_error(mysql), handle_error(curr_command, mysql_errno(mysql), mysql_error(mysql),
mysql_sqlstate(mysql), &ds_res); mysql_sqlstate(mysql), &ds_res);
...@@ -2688,13 +2690,6 @@ void var_query_set(VAR *var, const char *query, const char** query_end) ...@@ -2688,13 +2690,6 @@ void var_query_set(VAR *var, const char *query, const char** query_end)
DBUG_VOID_RETURN; DBUG_VOID_RETURN;
} }
if (!(res= mysql_store_result(mysql)))
{
report_or_die("Query '%s' didn't return a result set", ds_query.str);
dynstr_free(&ds_query);
eval_expr(var, "", 0);
DBUG_VOID_RETURN;
}
dynstr_free(&ds_query); dynstr_free(&ds_query);
if ((row= mysql_fetch_row(res)) && row[0]) if ((row= mysql_fetch_row(res)) && row[0])
...@@ -7306,9 +7301,7 @@ get_one_option(int optid, const struct my_option *opt, char *argument) ...@@ -7306,9 +7301,7 @@ get_one_option(int optid, const struct my_option *opt, char *argument)
int parse_args(int argc, char **argv) int parse_args(int argc, char **argv)
{ {
if (load_defaults("my",load_default_groups,&argc,&argv)) load_defaults_or_exit("my", load_default_groups, &argc, &argv);
exit(1);
default_argv= argv; default_argv= argv;
if ((handle_options(&argc, &argv, my_long_options, get_one_option))) if ((handle_options(&argc, &argv, my_long_options, get_one_option)))
...@@ -8746,6 +8739,7 @@ void init_re(void) ...@@ -8746,6 +8739,7 @@ void init_re(void)
"[[:space:]]*SELECT[[:space:]]|" "[[:space:]]*SELECT[[:space:]]|"
"[[:space:]]*CREATE[[:space:]]+TABLE[[:space:]]|" "[[:space:]]*CREATE[[:space:]]+TABLE[[:space:]]|"
"[[:space:]]*DO[[:space:]]|" "[[:space:]]*DO[[:space:]]|"
"[[:space:]]*HANDLER[[:space:]]+.*[[:space:]]+READ[[:space:]]|"
"[[:space:]]*SET[[:space:]]+OPTION[[:space:]]|" "[[:space:]]*SET[[:space:]]+OPTION[[:space:]]|"
"[[:space:]]*DELETE[[:space:]]+MULTI[[:space:]]|" "[[:space:]]*DELETE[[:space:]]+MULTI[[:space:]]|"
"[[:space:]]*UPDATE[[:space:]]+MULTI[[:space:]]|" "[[:space:]]*UPDATE[[:space:]]+MULTI[[:space:]]|"
......
...@@ -32,25 +32,25 @@ MACRO (MY_CHECK_CXX_COMPILER_FLAG flag) ...@@ -32,25 +32,25 @@ MACRO (MY_CHECK_CXX_COMPILER_FLAG flag)
SET(CMAKE_REQUIRED_FLAGS "${SAVE_CMAKE_REQUIRED_FLAGS}") SET(CMAKE_REQUIRED_FLAGS "${SAVE_CMAKE_REQUIRED_FLAGS}")
ENDMACRO() ENDMACRO()
FUNCTION(MY_CHECK_AND_SET_COMPILER_FLAG flag) FUNCTION(MY_CHECK_AND_SET_COMPILER_FLAG flag_to_set)
# At the moment this is gcc-only. # At the moment this is gcc-only.
# Let's avoid expensive compiler tests on Windows: # Let's avoid expensive compiler tests on Windows:
IF(WIN32) IF(WIN32)
RETURN() RETURN()
ENDIF() ENDIF()
MY_CHECK_C_COMPILER_FLAG(${flag}) STRING(REGEX REPLACE "^-Wno-" "-W" flag_to_check ${flag_to_set})
MY_CHECK_CXX_COMPILER_FLAG(${flag}) MY_CHECK_C_COMPILER_FLAG(${flag_to_check})
STRING(REGEX REPLACE "[-,= +]" "_" result "${flag}") MY_CHECK_CXX_COMPILER_FLAG(${flag_to_check})
STRING(REGEX REPLACE "[-,= +]" "_" result "${flag_to_check}")
FOREACH(lang C CXX) FOREACH(lang C CXX)
IF (HAVE_${lang}_${result}) IF (HAVE_${lang}_${result})
IF(ARGN) IF(ARGN)
FOREACH(type ${ARGN}) FOREACH(type ${ARGN})
SET(CMAKE_${lang}_FLAGS_${type} "${CMAKE_${lang}_FLAGS_${type}} ${flag}" PARENT_SCOPE) SET(CMAKE_${lang}_FLAGS_${type} "${CMAKE_${lang}_FLAGS_${type}} ${flag_to_set}" PARENT_SCOPE)
ENDFOREACH() ENDFOREACH()
ELSE() ELSE()
SET(CMAKE_${lang}_FLAGS "${CMAKE_${lang}_FLAGS} ${flag}" PARENT_SCOPE) SET(CMAKE_${lang}_FLAGS "${CMAKE_${lang}_FLAGS} ${flag_to_set}" PARENT_SCOPE)
ENDIF() ENDIF()
ENDIF() ENDIF()
ENDFOREACH() ENDFOREACH()
ENDFUNCTION() ENDFUNCTION()
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
INCLUDE(${MYSQL_CMAKE_SCRIPT_DIR}/cmake_parse_arguments.cmake) INCLUDE(${MYSQL_CMAKE_SCRIPT_DIR}/cmake_parse_arguments.cmake)
MACRO(MY_ADD_TEST name) MACRO(MY_ADD_TEST name)
ADD_TEST(${name} ${name}-t) ADD_TEST(NAME ${name} COMMAND ${name}-t CONFIGURATIONS default_ignore)
ENDMACRO() ENDMACRO()
MACRO (MY_ADD_TESTS) MACRO (MY_ADD_TESTS)
......
...@@ -14,54 +14,32 @@ ...@@ -14,54 +14,32 @@
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
# Common warning flags for GCC, G++, Clang and Clang++ # Common warning flags for GCC, G++, Clang and Clang++
SET(MY_WARNING_FLAGS "-Wall -Wextra -Wformat-security -Wno-init-self") SET(MY_WARNING_FLAGS
MY_CHECK_C_COMPILER_FLAG("-Wvla") # Requires GCC 4.3+ or Clang -Wall
IF(HAVE_C__Wvla) -Wdeclaration-after-statement
SET(MY_WARNING_FLAGS "${MY_WARNING_FLAGS} -Wvla") -Wextra
ENDIF() -Wformat-security
-Wno-format-truncation
MY_CHECK_C_COMPILER_FLAG("-Wno-format-truncation") -Wno-init-self
IF(HAVE_C__Wno_format_truncation) -Wno-nonnull-compare
SET(MY_WARNING_FLAGS "${MY_WARNING_FLAGS} -Wno-format-truncation") -Wno-null-conversion
ENDIF() -Wno-unused-parameter
-Wno-unused-private-field
# Common warning flags for GCC and Clang -Woverloaded-virtual
SET(MY_C_WARNING_FLAGS -Wvla
"${MY_WARNING_FLAGS} -Wwrite-strings -Wdeclaration-after-statement") -Wwrite-strings
)
# Common warning flags for G++ and Clang++
SET(MY_CXX_WARNING_FLAGS
"${MY_WARNING_FLAGS} -Woverloaded-virtual -Wno-unused-parameter")
# Extra warning flags for Clang++
IF(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
SET(MY_CXX_WARNING_FLAGS
"${MY_CXX_WARNING_FLAGS} -Wno-null-conversion -Wno-unused-private-field")
ENDIF()
# Turn on Werror (warning => error) when using maintainer mode.
IF(MYSQL_MAINTAINER_MODE MATCHES "ERR")
SET(MY_C_WARNING_FLAGS "${MY_C_WARNING_FLAGS} -DFORCE_INIT_OF_VARS -Werror")
SET(MY_CXX_WARNING_FLAGS "${MY_CXX_WARNING_FLAGS} -DFORCE_INIT_OF_VARS -Werror")
ENDIF()
# Set warning flags for GCC/Clang
IF(CMAKE_C_COMPILER_ID MATCHES "GNU|Clang")
SET(MY_MAINTAINER_C_WARNINGS "${MY_C_WARNING_FLAGS}")
ENDIF()
# Set warning flags for G++/Clang++
IF(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
SET(MY_MAINTAINER_CXX_WARNINGS "${MY_CXX_WARNING_FLAGS}")
ENDIF()
IF(MYSQL_MAINTAINER_MODE MATCHES "ON") IF(MYSQL_MAINTAINER_MODE MATCHES "ON")
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${MY_MAINTAINER_C_WARNINGS}") SET(WHERE)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MY_MAINTAINER_CXX_WARNINGS}")
ELSEIF(MYSQL_MAINTAINER_MODE MATCHES "AUTO") ELSEIF(MYSQL_MAINTAINER_MODE MATCHES "AUTO")
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${MY_MAINTAINER_C_WARNINGS}") SET(WHERE DEBUG)
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${MY_MAINTAINER_CXX_WARNINGS}")
ENDIF() ENDIF()
FOREACH(F ${MY_WARNING_FLAGS})
MY_CHECK_AND_SET_COMPILER_FLAG(${F} ${WHERE})
ENDFOREACH()
IF(CMAKE_C_COMPILER_ID MATCHES "GNU") IF(CMAKE_C_COMPILER_ID MATCHES "GNU")
STRING(REPLACE " -E " " -E -dDI " CMAKE_C_CREATE_PREPROCESSED_SOURCE ${CMAKE_C_CREATE_PREPROCESSED_SOURCE}) STRING(REPLACE " -E " " -E -dDI " CMAKE_C_CREATE_PREPROCESSED_SOURCE ${CMAKE_C_CREATE_PREPROCESSED_SOURCE})
ENDIF() ENDIF()
......
...@@ -26,7 +26,7 @@ ENDIF() ...@@ -26,7 +26,7 @@ ENDIF()
OPTION(WITH_WSREP "WSREP replication API (to use, e.g. Galera Replication library)" ${with_wsrep_default}) OPTION(WITH_WSREP "WSREP replication API (to use, e.g. Galera Replication library)" ${with_wsrep_default})
# Set the patch version # Set the patch version
SET(WSREP_PATCH_VERSION "21") SET(WSREP_PATCH_VERSION "23")
# Obtain wsrep API version # Obtain wsrep API version
FILE(STRINGS "${MySQL_SOURCE_DIR}/wsrep/wsrep_api.h" WSREP_API_VERSION FILE(STRINGS "${MySQL_SOURCE_DIR}/wsrep/wsrep_api.h" WSREP_API_VERSION
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment