MariaDB server is a community developed fork of MySQL server. Started by core members of the original MySQL team, MariaDB actively works with outside developers to deliver the most featureful, stable, and sanely licensed open SQL server in the industry.
Find a file
unknown f27bf2b463 Bug#22725 Replication outages from ER_SERVER_SHUTDOWN (1053) set in replication events
The reason for the bug was that replaying of a query on slave could not be possible since its event
was recorded with the killed error. Due to the specific of handling INSERT, which per-row-while-loop is 
unbreakable to killing, the query on transactional table should have not appeared in binlog unless
there was  a call to a stored routine that got interrupted with killing (and then there must be an error
returned out of the loop).
   
The offered solution added the following rule for binlogging of INSERT that accounts the above
specifics:
For INSERT on transactional-table if the error was not set the only raised flag
is harmless and is ignored via masking out on time of creation of binlog event.
   
For both table types the combination of raised error and KILLED flag indicates that there
was potentially partial execution on master and consistency is under the question.
In that case the code continues to binlog an event with an appropriate killed error.
 
The fix relies on the specified behaviour of stored routine that must propagate the error 
to the top level query handling if the thd->killed flag was raised in the routine execution.
   
The patch adds an arg with the default killed-status-unset value to Query_log_event::Query_log_event.


sql/log_event.cc:
  killed_status as the value of thd->killed can be passed as an arg to the constructor.
  if the value is different from the default the arg is set to the current thd->killed value.
  A caller might need to masquerade thd->killed with THD::NOT_KILLED.
  So far only mysql_insert() uses such explicit way to tell the constructor about killing status.
sql/log_event.h:
  default arg to the constructor with meaning of killed status of the query. 
  if the arg is not explicitly provided the status of thd->killed will be snapshot 
  inside of the constuctor, which is potentially incorrect (see bug#27571)
sql/sql_class.h:
  extending killed_state with no-state member.
sql/sql_insert.cc:
  ignore the KILLED flag incl KILL_BAD_DATA when the INSERT query event 
  is created without an `error';
sql/sql_update.cc:
  Suggestion how to fix bug#27571 as comments.
mysql-test/r/binlog_killed.result:
  new result file
mysql-test/t/binlog_killed.test:
  regression tests also apply for bug27563, BUG#27565
2007-05-28 22:20:22 +03:00
bdb my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
BitKeeper Add triggers for detecting bad changesets to mysql-5.0 2007-05-15 17:04:31 +02:00
BUILD New SCI Transporter Build scripts 2007-05-07 15:33:27 +02:00
client Merge bk-internal:/home/bk/mysql-5.0-maint 2007-05-18 12:58:28 +02:00
cmd-line-utils Fixed compiler warnings. 2007-02-28 22:23:35 +02:00
config/ac-macros Fix SCI Transporter 2007-05-07 15:25:24 +02:00
dbug dbug/dbug_analyze.c : Avoid the unresolved symbol "my_thread_global_init()" 2007-04-23 13:36:18 +02:00
debian Change mode to -rw-rw-r-- 2007-04-19 21:59:25 -07:00
Docs Merge mysql.com:/home/kent/bk/tmp/mysql-4.1-build 2007-03-22 19:43:41 +01:00
extra Bug #27390: mysqld_multi --config-file= not working as documented 2007-04-28 01:27:54 +02:00
heap Fixing crash when compiled using -DNEW_HASH_FUNCTIONS 2007-05-08 17:04:56 +05:00
include Merge mysql.com:/home/svoj/devel/bk/mysql-5.0 2007-05-23 12:39:33 +05:00
innobase Apply innodb-5.0-ss1405 snapshot 2007-04-18 19:36:22 -06:00
libmysql bug#28358 libmysql.dll cannot be dynamically loaded on Windows 2007-05-14 13:20:18 +02:00
libmysql_r my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
libmysqld Fix SCI Transporter 2007-05-07 15:25:24 +02:00
man my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
myisam Merge mysql.com:/home/svoj/devel/bk/mysql-5.0 2007-05-23 12:39:33 +05:00
myisammrg Merge mysql.com:/home/svoj/devel/mysql/BUG24342/mysql-4.1-engines 2007-04-18 16:22:23 +05:00
mysql-test Bug#22725 Replication outages from ER_SERVER_SHUTDOWN (1053) set in replication events 2007-05-28 22:20:22 +03:00
mysys Merge mysql.com:/home/svoj/devel/bk/mysql-5.0 2007-05-23 12:39:33 +05:00
ndb Merge perch.ndb.mysql.com:/home/jonas/src/50-work 2007-05-18 11:40:07 +02:00
netware Format corrections for various "Makefile.am": Leading tab, no trailing blank. 2007-05-02 14:01:49 +02:00
os2 my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
pstack my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
regex my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
scripts Merge pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0 2007-05-24 09:22:00 +02:00
server-tools Bug#24732 Executables do not include Vista manifests 2007-04-23 15:41:24 -04:00
sql Bug#22725 Replication outages from ER_SERVER_SHUTDOWN (1053) set in replication events 2007-05-28 22:20:22 +03:00
sql-bench my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql-common my_time.c: 2007-05-18 06:14:37 +02:00
SSL my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
strings Merge pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0.42 2007-05-23 10:49:26 +02:00
support-files Merge trift2.:/MySQL/M41/spec-4.1 2007-05-02 16:53:54 +02:00
tests Merge bk@192.168.21.1:mysql-5.0 2007-04-29 18:42:50 +05:00
tools Fixed compiler warnings (for linux and win32 and win64) 2007-02-22 16:59:57 +02:00
VC++Files mysql.sln: 2007-04-19 22:56:04 +02:00
vio Merge pilot.blaudden:/home/msvensson/mysql/bug21611/my50-bug21611 2007-04-11 21:03:29 +02:00
win Merge siva.hindu.god:/home/tsmith/m/bk/50 2007-05-17 14:17:50 -06:00
zlib my_memmem.c: 2007-04-11 01:47:42 +02:00
.bzrignore Bug#24732 Executables do not include Vista manifests 2007-04-23 15:41:24 -04:00
.cvsignore Import changeset 2000-07-31 21:29:14 +02:00
CMakeLists.txt BUG#24732 manifest file was not included in VS2005 amd64 builds 2007-05-04 09:37:50 +02:00
configure.in Merge pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0.42 2007-05-23 10:49:26 +02:00
COPYING - manual.texi will be replaced with a manual written in DocBook/XML. This ChangeSet removes all 2005-04-13 11:51:38 +02:00
EXCEPTIONS-CLIENT EXCEPTIONS-CLIENT: 2007-03-14 18:28:16 +01:00
Makefile.am Add the "row_lock" test suite to the (to be) release build test run. 2007-05-22 17:21:22 +02:00
README make_binary_distribution.sh: 2006-11-07 22:26:37 +01:00

This is a release of MySQL, a dual-license SQL database server.
MySQL is brought to you by the MySQL team at MySQL AB.

License information can be found in these files:
- For GPL (free) distributions, see the COPYING file and
  the EXCEPTIONS-CLIENT file.
- For commercial distributions, see the LICENSE.mysql file.


For further information about MySQL or additional documentation, see:
- The latest information about MySQL: http://www.mysql.com
- The current MySQL documentation: http://dev.mysql.com/doc

Some manual sections of special interest:

- If you are migrating from an older version of MySQL, please read the
  "Upgrading from..." section first!
- To see what MySQL can do, take a look at the features section.
- For installation instructions, see the Installing and Upgrading chapter.
- For the new features/bugfix history, see the Change History appendix.
- For the currently known bugs/misfeatures (known errors) see the Problems
  and Common Errors appendix.
- For a list of developers and other contributors, see the Credits
  appendix.

A local copy of the MySQL Reference Manual can be found in the Docs
directory in GNU Info format.  You can also browse the manual online or
download it in any of several formats at the URL given earlier in this
file.

************************************************************

IMPORTANT:

Bug or error reports should be sent to http://bugs.mysql.com.