3878 Martin Zaun 2012-03-29 [merge]
merge from 71 to 72
3877 Martin Zaun 2012-03-29 [merge]
Bug54854 - merge from ndb-7.2-ddl-exist-errors to ndb-7.2
modified:
sql/mysqld.cc
sql/slave.cc
sql/slave.h
3876 Martin Skold 2012-03-30 [merge]
Merge from 5.5.22
added:
extra/yassl/certs/ca-key.pem
extra/yassl/certs/client-keyEnc.pem
extra/yassl/certs/client-keyEnc3.pem
extra/yassl/certs/server-keyEnc.pem
extra/yassl/taocrypt/certs/
extra/yassl/taocrypt/certs/client-cert.der
extra/yassl/taocrypt/certs/client-key.der
extra/yassl/taocrypt/certs/dh1024.dat
extra/yassl/taocrypt/certs/dsa512.der
extra/yassl/taocrypt/include/hc128.hpp
extra/yassl/taocrypt/include/rabbit.hpp
extra/yassl/taocrypt/src/hc128.cpp
extra/yassl/taocrypt/src/rabbit.cpp
mysql-test/include/libdaemon_example.ini
mysql-test/r/bug13633383.result
mysql-test/suite/innodb/r/innodb-blob.result
mysql-test/suite/innodb/r/innodb_bug11754376.result
mysql-test/suite/innodb/r/innodb_bug12400341.result
mysql-test/suite/innodb/r/innodb_bug13510739.result
mysql-test/suite/innodb/t/innodb-blob.test
mysql-test/suite/innodb/t/innodb_bug11754376.test
mysql-test/suite/innodb/t/innodb_bug12400341-master.opt
mysql-test/suite/innodb/t/innodb_bug12400341.test
mysql-test/suite/innodb/t/innodb_bug13510739.test
mysql-test/suite/rpl/r/rpl_start_stop_slave.result
mysql-test/suite/rpl/t/rpl_start_stop_slave.test
mysql-test/suite/sys_vars/r/innodb_change_buffering_debug_basic.result
mysql-test/suite/sys_vars/r/innodb_trx_rseg_n_slots_debug_basic.result
mysql-test/suite/sys_vars/r/stored_program_cache_basic.result
mysql-test/suite/sys_vars/t/innodb_change_buffering_debug_basic.test
mysql-test/suite/sys_vars/t/innodb_trx_rseg_n_slots_debug_basic.test
mysql-test/suite/sys_vars/t/stored_program_cache_basic.test
mysql-test/t/bug13633383.test
modified:
CMakeLists.txt
README
VERSION
client/CMakeLists.txt
client/mysql_plugin.c
client/mysql_upgrade.c
client/mysqldump.c
client/sql_string.cc
cmake/build_configurations/mysql_release.cmake
cmake/install_macros.cmake
extra/yassl/INSTALL
extra/yassl/README
extra/yassl/certs/ca-cert.pem
extra/yassl/certs/client-cert.der
extra/yassl/certs/client-cert.pem
extra/yassl/certs/client-key.der
extra/yassl/certs/client-key.pem
extra/yassl/certs/dsa-cert.pem
extra/yassl/certs/dsa512.der
extra/yassl/certs/server-cert.pem
extra/yassl/certs/server-key.pem
extra/yassl/certs/taoCert.txt
extra/yassl/examples/client/client.cpp
extra/yassl/examples/echoclient/echoclient.cpp
extra/yassl/examples/echoserver/echoserver.cpp
extra/yassl/examples/server/server.cpp
extra/yassl/include/buffer.hpp
extra/yassl/include/openssl/ssl.h
extra/yassl/include/socket_wrapper.hpp
extra/yassl/include/yassl_int.hpp
extra/yassl/include/yassl_types.hpp
extra/yassl/src/buffer.cpp
extra/yassl/src/cert_wrapper.cpp
extra/yassl/src/crypto_wrapper.cpp
extra/yassl/src/handshake.cpp
extra/yassl/src/make.bat*
extra/yassl/src/socket_wrapper.cpp
extra/yassl/src/ssl.cpp
extra/yassl/src/yassl.cpp
extra/yassl/src/yassl_error.cpp
extra/yassl/src/yassl_imp.cpp
extra/yassl/src/yassl_int.cpp
extra/yassl/taocrypt/CMakeLists.txt
extra/yassl/taocrypt/README
extra/yassl/taocrypt/benchmark/benchmark.cpp
extra/yassl/taocrypt/benchmark/benchmark.dsp
extra/yassl/taocrypt/benchmark/dh1024.der
extra/yassl/taocrypt/benchmark/dsa1024.der
extra/yassl/taocrypt/benchmark/make.bat*
extra/yassl/taocrypt/benchmark/rsa1024.der
extra/yassl/taocrypt/include/asn.hpp
extra/yassl/taocrypt/include/block.hpp
extra/yassl/taocrypt/include/blowfish.hpp
extra/yassl/taocrypt/include/des.hpp
extra/yassl/taocrypt/include/file.hpp
extra/yassl/taocrypt/include/hash.hpp
extra/yassl/taocrypt/include/integer.hpp
extra/yassl/taocrypt/include/kernelc.hpp
extra/yassl/taocrypt/include/misc.hpp
extra/yassl/taocrypt/include/modes.hpp
extra/yassl/taocrypt/include/pwdbased.hpp
extra/yassl/taocrypt/include/rsa.hpp
extra/yassl/taocrypt/include/runtime.hpp
extra/yassl/taocrypt/include/types.hpp
extra/yassl/taocrypt/mySTL/stdexcept.hpp
extra/yassl/taocrypt/mySTL/vector.hpp
extra/yassl/taocrypt/src/aes.cpp
extra/yassl/taocrypt/src/aestables.cpp
extra/yassl/taocrypt/src/algebra.cpp
extra/yassl/taocrypt/src/arc4.cpp
extra/yassl/taocrypt/src/asn.cpp
extra/yassl/taocrypt/src/blowfish.cpp
extra/yassl/taocrypt/src/coding.cpp
extra/yassl/taocrypt/src/dsa.cpp
extra/yassl/taocrypt/src/hash.cpp
extra/yassl/taocrypt/src/integer.cpp
extra/yassl/taocrypt/src/make.bat*
extra/yassl/taocrypt/src/md4.cpp
extra/yassl/taocrypt/src/md5.cpp
extra/yassl/taocrypt/src/misc.cpp
extra/yassl/taocrypt/src/random.cpp
extra/yassl/taocrypt/src/ripemd.cpp
extra/yassl/taocrypt/src/rsa.cpp
extra/yassl/taocrypt/src/sha.cpp
extra/yassl/taocrypt/src/template_instnt.cpp
extra/yassl/taocrypt/src/twofish.cpp
extra/yassl/taocrypt/taocrypt.dsp
extra/yassl/taocrypt/test/make.bat*
extra/yassl/taocrypt/test/memory.cpp
extra/yassl/taocrypt/test/test.cpp
extra/yassl/testsuite/make.bat*
extra/yassl/testsuite/test.hpp
extra/yassl/testsuite/testsuite.cpp
include/m_ctype.h
include/m_string.h
include/my_global.h
include/myisam.h
include/mysql/plugin.h
include/welcome_copyright_notice.h
libmysql/CMakeLists.txt
libmysqld/CMakeLists.txt
libmysqld/examples/CMakeLists.txt
mysql-test/CMakeLists.txt
mysql-test/collections/default.experimental
mysql-test/extra/rpl_tests/rpl_extra_col_master.test
mysql-test/extra/rpl_tests/rpl_insert_id_pk.test
mysql-test/extra/rpl_tests/rpl_multi_update.test
mysql-test/extra/rpl_tests/rpl_multi_update2.test
mysql-test/extra/rpl_tests/rpl_multi_update3.test
mysql-test/extra/rpl_tests/rpl_start_stop_slave.test
mysql-test/include/have_32bit.inc
mysql-test/include/have_example_plugin.inc
mysql-test/include/have_semisync_plugin.inc
mysql-test/include/have_simple_parser.inc
mysql-test/include/have_udf.inc
mysql-test/include/mtr_check.sql
mysql-test/include/show_slave_status.inc
mysql-test/include/wait_for_slave_io_error.inc
mysql-test/mysql-stress-test.pl
mysql-test/mysql-test-run.pl
mysql-test/r/bigint.result
mysql-test/r/ctype_utf8.result
mysql-test/r/func_in.result
mysql-test/r/func_str.result
mysql-test/r/func_time.result
mysql-test/r/init_connect.result
mysql-test/r/join_outer.result
mysql-test/r/multi_update.result
mysql-test/r/myisam.result
mysql-test/r/mysql_plugin.result
mysql-test/r/mysqld--help-notwin.result
mysql-test/r/mysqld--help-win.result
mysql-test/r/mysqldump.result
mysql-test/r/partition.result
mysql-test/r/partition_binlog_stmt.result
mysql-test/r/partition_error.result
mysql-test/r/ps.result
mysql-test/r/range.result
mysql-test/r/sp-bugs.result
mysql-test/r/sp.result
mysql-test/r/xa.result
mysql-test/suite/binlog/r/binlog_stm_unsafe_warning.result
mysql-test/suite/binlog/r/binlog_unsafe.result
mysql-test/suite/binlog/t/binlog_stm_unsafe_warning.test
mysql-test/suite/binlog/t/binlog_unsafe.test
mysql-test/suite/engines/funcs/r/db_alter_collate_ascii.result
mysql-test/suite/engines/funcs/r/db_alter_collate_utf8.result
mysql-test/suite/innodb/r/innodb-index.result
mysql-test/suite/innodb/t/innodb-index.test
mysql-test/suite/innodb/t/innodb_bug34300.test
mysql-test/suite/innodb/t/innodb_bug53756.test
mysql-test/suite/rpl/r/rpl_auto_increment_11932.result
mysql-test/suite/rpl/r/rpl_cant_read_event_incident.result
mysql-test/suite/rpl/r/rpl_heartbeat_basic.result
mysql-test/suite/rpl/r/rpl_innodb_mixed_dml.result
mysql-test/suite/rpl/r/rpl_insert_id_pk.result
mysql-test/suite/rpl/r/rpl_known_bugs_detection.result
mysql-test/suite/rpl/r/rpl_log_pos.result
mysql-test/suite/rpl/r/rpl_manual_change_index_file.result
mysql-test/suite/rpl/r/rpl_multi_update.result
mysql-test/suite/rpl/r/rpl_multi_update2.result
mysql-test/suite/rpl/r/rpl_multi_update3.result
mysql-test/suite/rpl/r/rpl_packet.result
mysql-test/suite/rpl/r/rpl_rotate_logs.result
mysql-test/suite/rpl/r/rpl_stm_start_stop_slave.result
mysql-test/suite/rpl/t/rpl_auto_increment_11932.test
mysql-test/suite/rpl/t/rpl_cant_read_event_incident.test
mysql-test/suite/rpl/t/rpl_heartbeat_basic.test
mysql-test/suite/rpl/t/rpl_known_bugs_detection.test
mysql-test/suite/rpl/t/rpl_log_pos.test
mysql-test/suite/rpl/t/rpl_manual_change_index_file.test
mysql-test/suite/rpl/t/rpl_multi_update2.test
mysql-test/suite/rpl/t/rpl_multi_update3.test
mysql-test/suite/rpl/t/rpl_optimize.test
mysql-test/suite/rpl/t/rpl_packet.test
mysql-test/suite/rpl/t/rpl_rotate_logs.test
mysql-test/suite/rpl/t/rpl_semi_sync_event.test
mysql-test/suite/rpl/t/rpl_stm_start_stop_slave.test
mysql-test/suite/rpl/t/rpl_timezone.test
mysql-test/suite/sys_vars/r/all_vars.result
mysql-test/suite/sys_vars/r/character_sets_dir_basic.result
mysql-test/suite/sys_vars/r/plugin_dir_basic.result
mysql-test/suite/sys_vars/t/all_vars.test
mysql-test/suite/sys_vars/t/character_sets_dir_basic.test
mysql-test/suite/sys_vars/t/disabled.def
mysql-test/t/bigint.test
mysql-test/t/ctype_utf8.test
mysql-test/t/events_restart.test
mysql-test/t/func_str.test
mysql-test/t/func_time.test
mysql-test/t/init_connect.test
mysql-test/t/join_outer.test
mysql-test/t/multi_update.test
mysql-test/t/myisam.test
mysql-test/t/mysql_plugin.test
mysql-test/t/mysqldump.test
mysql-test/t/partition.test
mysql-test/t/partition_binlog_stmt.test
mysql-test/t/partition_error.test
mysql-test/t/ps.test
mysql-test/t/range.test
mysql-test/t/sp-bugs.test
mysql-test/t/sp.test
mysql-test/t/udf_skip_grants-master.opt
mysql-test/t/xa.test
mysql-test/valgrind.supp
mysys/charset-def.c
mysys/my_init.c
mysys/my_symlink.c
packaging/WiX/custom_ui.wxs
plugin/auth/dialog.c
plugin/auth/qa_auth_interface.c
plugin/auth/qa_auth_server.c
plugin/daemon_example/CMakeLists.txt
plugin/daemon_example/daemon_example.cc
scripts/mysql_install_db.pl.in
scripts/mysql_install_db.sh
scripts/mysqld_safe.sh
sql-common/my_time.c
sql/filesort.cc
sql/ha_partition.cc
sql/item.cc
sql/item_cmpfunc.cc
sql/item_cmpfunc.h
sql/item_timefunc.cc
sql/item_xmlfunc.cc
sql/log.h
sql/log_event.h
sql/mysqld.cc
sql/mysqld.h
sql/rpl_handler.h
sql/rpl_injector.cc
sql/rpl_mi.cc
sql/rpl_mi.h
sql/rpl_rli.cc
sql/rpl_rli.h
sql/set_var.h
sql/share/errmsg-utf8.txt
sql/slave.cc
sql/sp_cache.cc
sql/sp_cache.h
sql/sp_head.cc
sql/sp_head.h
sql/sql_admin.cc
sql/sql_base.cc
sql/sql_cache.cc
sql/sql_class.cc
sql/sql_connect.cc
sql/sql_lex.cc
sql/sql_lex.h
sql/sql_parse.cc
sql/sql_partition.cc
sql/sql_partition.h
sql/sql_plugin.cc
sql/sql_prepare.cc
sql/sql_profile.cc
sql/sql_repl.cc
sql/sql_select.cc
sql/sql_show.cc
sql/sql_table.cc
sql/sql_udf.cc
sql/sql_yacc.yy
sql/sys_vars.cc
sql/sys_vars.h
sql/table.h
storage/archive/ha_archive.cc
storage/blackhole/ha_blackhole.cc
storage/csv/ha_tina.cc
storage/example/ha_example.cc
storage/federated/ha_federated.cc
storage/heap/hp_info.c
storage/innobase/btr/btr0btr.c
storage/innobase/btr/btr0cur.c
storage/innobase/btr/btr0pcur.c
storage/innobase/btr/btr0sea.c
storage/innobase/buf/buf0buf.c
storage/innobase/buf/buf0flu.c
storage/innobase/dict/dict0load.c
storage/innobase/fil/fil0fil.c
storage/innobase/fsp/fsp0fsp.c
storage/innobase/handler/ha_innodb.cc
storage/innobase/handler/ha_innodb.h
storage/innobase/handler/handler0alter.cc
storage/innobase/ibuf/ibuf0ibuf.c
storage/innobase/include/btr0btr.h
storage/innobase/include/btr0btr.ic
storage/innobase/include/btr0cur.h
storage/innobase/include/btr0cur.ic
storage/innobase/include/btr0pcur.h
storage/innobase/include/buf0buf.h
storage/innobase/include/buf0buf.ic
storage/innobase/include/data0data.h
storage/innobase/include/data0data.ic
storage/innobase/include/fsp0fsp.h
storage/innobase/include/log0log.h
storage/innobase/include/mem0mem.ic
storage/innobase/include/mtr0log.ic
storage/innobase/include/mtr0mtr.h
storage/innobase/include/mtr0mtr.ic
storage/innobase/include/page0page.h
storage/innobase/include/page0page.ic
storage/innobase/include/row0mysql.h
storage/innobase/include/row0sel.h
storage/innobase/include/sync0sync.h
storage/innobase/include/trx0rec.ic
storage/innobase/include/trx0rseg.ic
storage/innobase/include/trx0sys.h
storage/innobase/include/trx0undo.h
storage/innobase/include/univ.i
storage/innobase/include/ut0mem.h
storage/innobase/include/ut0rnd.ic
storage/innobase/lock/lock0lock.c
storage/innobase/log/log0log.c
storage/innobase/mem/mem0pool.c
storage/innobase/mtr/mtr0mtr.c
storage/innobase/os/os0file.c
storage/innobase/os/os0proc.c
storage/innobase/page/page0cur.c
storage/innobase/page/page0page.c
storage/innobase/pars/pars0pars.c
storage/innobase/row/row0ins.c
storage/innobase/row/row0merge.c
storage/innobase/row/row0mysql.c
storage/innobase/row/row0row.c
storage/innobase/row/row0sel.c
storage/innobase/row/row0umod.c
storage/innobase/row/row0upd.c
storage/innobase/srv/srv0srv.c
storage/innobase/srv/srv0start.c
storage/innobase/sync/sync0rw.c
storage/innobase/sync/sync0sync.c
storage/innobase/trx/trx0purge.c
storage/innobase/trx/trx0rec.c
storage/innobase/trx/trx0sys.c
storage/innobase/trx/trx0trx.c
storage/innobase/trx/trx0undo.c
storage/innobase/ut/ut0mem.c
storage/myisam/ft_boolean_search.c
storage/myisam/ft_nlq_search.c
storage/myisam/ha_myisam.cc
storage/myisam/ha_myisam.h
storage/myisam/mi_check.c
storage/myisam/mi_packrec.c
storage/myisam/mi_preload.c
storage/myisam/myisamchk.c
storage/myisam/myisamdef.h
storage/myisam/sort.c
storage/perfschema/ha_perfschema.cc
storage/perfschema/pfs.cc
storage/perfschema/table_ews_global_by_event_name.cc
storage/perfschema/table_ews_global_by_event_name.h
strings/ctype-uca.c
strings/ctype-ucs2.c
strings/ctype-utf8.c
strings/dtoa.c
unittest/mysys/bitmap-t.c
unittest/mysys/my_atomic-t.c
unittest/strings/strings-t.c
=== modified file 'sql/mysqld.cc'
--- a/sql/mysqld.cc 2012-03-30 06:33:44 +0000
+++ b/sql/mysqld.cc 2012-03-30 06:54:33 +0000
@@ -7301,9 +7301,11 @@ static int get_options(int *argc_ptr, ch
flush_time= 0;
#ifdef HAVE_REPLICATION
-#ifndef MCP_BUG54854
if (opt_slave_skip_errors)
+#ifndef MCP_BUG54854
add_slave_skip_errors(opt_slave_skip_errors);
+#else
+ init_slave_skip_errors(opt_slave_skip_errors);
#endif // MCP_BUG54854
#endif
=== modified file 'sql/slave.cc'
--- a/sql/slave.cc 2012-03-30 06:33:44 +0000
+++ b/sql/slave.cc 2012-03-30 06:54:33 +0000
@@ -271,6 +271,18 @@ int init_slave()
if (pthread_key_create(&RPL_MASTER_INFO, NULL))
goto err;
+#ifndef MCP_BUG54854
+#else
+ /*
+ If --slave-skip-errors=... was not used, the string value for the
+ system variable has not been set up yet. Do it now.
+ */
+ if (!use_slave_mask)
+ {
+ print_slave_skip_errors();
+ }
+#endif // MCP_BUG54854
+
/*
If master_host is not specified, try to read it from the master_info file.
If master_host is specified, create the master_info file if it doesn't
@@ -383,6 +395,12 @@ static void print_slave_skip_errors(void
DBUG_ASSERT(sizeof(slave_skip_error_names) > MIN_ROOM);
DBUG_ASSERT(MAX_SLAVE_ERROR <= 999999); // 6 digits
+#ifndef MCP_BUG54854
+#else
+ /* Make @@slave_skip_errors show the nice human-readable value. */
+ opt_slave_skip_errors= slave_skip_error_names;
+#endif // MCP_BUG54854
+
if (!use_slave_mask || bitmap_is_clear_all(&slave_error_mask))
{
/* purecov: begin tested */
@@ -437,9 +455,7 @@ void set_slave_skip_errors(char** slave_
*slave_skip_errors_ptr= slave_skip_error_names;
DBUG_VOID_RETURN;
}
-#endif // MCP_BUG54854
-#ifndef MCP_BUG54854
/**
Init function to set up array for errors that should be skipped for slave
*/
@@ -456,9 +472,7 @@ static void init_slave_skip_errors()
use_slave_mask = 1;
DBUG_VOID_RETURN;
}
-#endif // MCP_BUG54854
-#ifndef MCP_BUG54854
static void add_slave_skip_errors(const uint* errors, uint n_errors)
{
DBUG_ENTER("add_slave_skip_errors");
@@ -473,9 +487,7 @@ static void add_slave_skip_errors(const
}
DBUG_VOID_RETURN;
}
-#endif // MCP_BUG54854
-#ifndef MCP_BUG54854
/*
Add errors that should be skipped for slave
@@ -486,7 +498,6 @@ static void add_slave_skip_errors(const
NOTES
Called from get_options() in mysqld.cc on start-up
*/
-
void add_slave_skip_errors(const char* arg)
{
const char *p= NULL;
@@ -550,6 +561,51 @@ void add_slave_skip_errors(const char* a
}
DBUG_VOID_RETURN;
}
+#else
+/*
+ Init function to set up array for errors that should be skipped for slave
+
+ SYNOPSIS
+ init_slave_skip_errors()
+ arg List of errors numbers to skip, separated with ','
+
+ NOTES
+ Called from get_options() in mysqld.cc on start-up
+*/
+
+void init_slave_skip_errors(const char* arg)
+{
+ const char *p;
+ DBUG_ENTER("init_slave_skip_errors");
+
+ if (bitmap_init(&slave_error_mask,0,MAX_SLAVE_ERROR,0))
+ {
+ fprintf(stderr, "Badly out of memory, please check your system status\n");
+ exit(1);
+ }
+ use_slave_mask = 1;
+ for (;my_isspace(system_charset_info,*arg);++arg)
+ /* empty */;
+ if (!my_strnncoll(system_charset_info,(uchar*)arg,4,(const uchar*)"all",4))
+ {
+ bitmap_set_all(&slave_error_mask);
+ print_slave_skip_errors();
+ DBUG_VOID_RETURN;
+ }
+ for (p= arg ; *p; )
+ {
+ long err_code;
+ if (!(p= str2int(p, 10, 0, LONG_MAX, &err_code)))
+ break;
+ if (err_code < MAX_SLAVE_ERROR)
+ bitmap_set_bit(&slave_error_mask,(uint)err_code);
+ while (!my_isdigit(system_charset_info,*p) && *p)
+ p++;
+ }
+ /* Convert slave skip errors bitmap into a printable string. */
+ print_slave_skip_errors();
+ DBUG_VOID_RETURN;
+}
#endif // MCP_BUG54854
static void set_thd_in_use_temporary_tables(Relay_log_info *rli)
=== modified file 'sql/slave.h'
--- a/sql/slave.h 2012-03-26 21:14:41 +0000
+++ b/sql/slave.h 2012-03-30 06:43:39 +0000
@@ -1,4 +1,4 @@
-/* Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+/* Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
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
@@ -149,6 +149,8 @@ int init_recovery(Master_info* mi, const
#ifndef MCP_BUG54854
void add_slave_skip_errors(const char* arg);
void set_slave_skip_errors(char** slave_skip_errors_ptr);
+#else
+void init_slave_skip_errors(const char* arg);
#endif // MCP_BUG54854
bool flush_relay_log_info(Relay_log_info* rli);
int register_slave_on_master(MYSQL* mysql);
No bundle (reason: useless for push emails).
| Thread |
|---|
| • bzr push into mysql-5.5-cluster-7.2 branch (martin.zaun:3876 to 3878) | Martin Zaun | 31 Mar |