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 fea2a5d83d BUG#13861 - START SLAVE UNTIL may stop 1 evnt too late if
log-slave-updates and circul repl

Slave SQL thread may execute one extra event when there are events
skipped by slave I/O thread (e.g. originated by the same server).
Whereas it was requested not to do so by the UNTIL condition.

This happens because we compare with the end position of previously
executed event. This is fine when there are no skipped by slave I/O
thread events, as end position of previous event equals to start
position of to be executed event. Otherwise this position equals to
start position of skipped event.

This is fixed by:
- reading the event to be executed before checking if the until condition
  is satisfied.
- comparing the start position of the event to be executed. Since we do
  not have the start position available, we compute it by subtracting
  event length from end position (which is available).
- if there are no events on the event queue at the slave sql starting
  time, that meet until condition, we stop immediately, as in this
  case we do not want to wait for next event.


mysql-test/r/rpl_dual_pos_advance.result:
  A test case for BUG#13861.
mysql-test/t/rpl_dual_pos_advance.test:
  A test case for BUG#13861.
sql/log_event.cc:
  Store length of event. This is needed for further calculation of
  the beginning of event.
sql/slave.cc:
  Slave SQL thread may execute one extra event when there are events
  skipped by slave I/O thread (e.g. originated by the same server).
  Whereas it was requested not to do so by the UNTIL condition.
  
  This happens because we compare with the end position of previously
  executed event. This is fine when there are no skipped by slave I/O
  thread events, as end position of previous event equals to start
  position of to be executed event. Otherwise this position equals to
  start position of skipped event.
  
  This is fixed by:
  - reading the event to be executed before checking if the until condition
    is satisfied.
  - comparing the start position of the event to be executed. Since we do
    not have the start position available, we compute it by subtracting
    event length from end position (which is available).
  - if there are no events on the event queue at the slave sql starting
    time, that meet until condition, we stop immediately, as in this
    case we do not want to wait for next event.
sql/slave.h:
  Added master_log_pos parametr to is_until_satisfied().
mysql-test/t/rpl_dual_pos_advance-slave.opt:
  New BitKeeper file ``mysql-test/t/rpl_dual_pos_advance-slave.opt''
2008-02-22 19:07:07 +04:00
bdb Revert previous attempt to fix bug#27693, the files removed from the 2007-09-22 16:29:15 +02:00
BitKeeper post-commit: 2007-12-14 15:43:54 +00:00
BUILD Adding build scripts for Solaris 10 on AMD64. 2007-11-10 11:03:07 +01:00
client Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0 2008-02-11 18:09:17 +01:00
cmd-line-utils Update readline to version 5.2. This fixes bug#18431. 2007-11-19 14:38:08 +01:00
config/ac-macros Fix for bug #31254: "Max_data_length" truncated / reported wrong 2007-10-12 14:03:51 +04:00
dbug CMakeLists.txt, README, configure.js 2007-08-03 21:51:37 +02:00
Docs Makefile.am, configure.in: 2007-11-22 17:48:40 +01:00
extra Bug#27427: resolveip fails on hostnames with a leading digit 2008-01-23 11:34:08 -05:00
heap Merge anubis.xiphis.org:/usr/home/antony/work/mysql-5.0-engines 2007-10-19 13:04:30 -07:00
include Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl 2008-01-30 11:25:54 +01:00
innobase Applied InnoDB snapshot innodb-5.0-ss2095 2007-11-20 10:53:19 -07:00
libmysql Merge mysql.com:/home/gluh/MySQL/Merge/5.0 2007-12-13 14:52:49 +04:00
libmysql_r my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
libmysqld Merge mysql.com:/home/gluh/MySQL/Merge/5.0 2007-12-13 14:52:49 +04:00
man my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
myisam Fix for bug #33758: Got query result when using ORDER BY ASC, but 2008-02-12 15:12:45 +04:00
myisammrg BUG#26976 - Missing table in merge not noted in related error msg + 2007-06-06 04:42:41 +05:00
mysql-test BUG#13861 - START SLAVE UNTIL may stop 1 evnt too late if 2008-02-22 19:07:07 +04:00
mysys Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-opt 2007-12-17 09:45:36 +01:00
ndb Bug #33168 Incorrectly handled parameters can make the TC crash during node failure 2007-12-13 21:31:38 +01:00
netware sp_head.cc: 2007-12-14 18:23:11 +01:00
os2 Avoid the name conflict between the system-provided "md5.h" and the MySQL one 2007-07-19 14:14:03 +02: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 mysql.com:/home/gluh/MySQL/Merge/5.0 2007-12-13 14:52:49 +04:00
server-tools Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-maint 2007-09-15 04:45:20 +02:00
sql BUG#13861 - START SLAVE UNTIL may stop 1 evnt too late if 2008-02-22 19:07:07 +04:00
sql-bench my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql-common Merge mysql.com:/home/gluh/MySQL/Merge/5.0 2007-12-13 14:52:49 +04:00
SSL SSL/Makefile.am mysql-test/Makefile.am: 2007-07-27 17:39:07 +02:00
strings Merge mhansson@bk-internal:/home/bk/mysql-5.0-opt 2008-01-17 18:15:53 +01:00
support-files add wrong warning to suppression file 2007-11-21 19:41:13 +01:00
tests Merge bk@192.168.21.1:mysql-5.0-opt 2007-12-01 13:12:31 +04:00
tools Avoid the name conflict between the system-provided "md5.h" and the MySQL one 2007-07-19 14:14:03 +02:00
VC++Files Fix for bug #32221: bug25714, mytest, mysql_client_test complaints and 2007-11-19 18:59:25 +03:00
vio Bug#28812 rpl_ssl fails due to assert in extra/yassl/src/socket_wrapper.cpp:117 2007-08-28 11:34:43 +02:00
win Merge ramayana.hindu.god:/home/tsmith/m/bk/50 2007-09-28 10:54:49 -06:00
zlib CMakeLists.txt, README, configure.js 2007-08-03 21:51:37 +02:00
.bzrignore patch for bug#32496 (2nd) with ansi conformant and Mysql test case. 2007-11-26 21:28:01 +01:00
.cvsignore Import changeset 2000-07-31 21:29:14 +02:00
CMakeLists.txt Bug#31319 CMake build does not check for minimum required version 2007-11-02 15:16:45 -04:00
configure.in Raise version number after cloning 5.0.56 2008-02-06 14:18:26 +01: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
INSTALL-SOURCE Makefile.am: 2007-11-02 12:59:45 +01:00
INSTALL-WIN-SOURCE Makefile.am: 2007-11-02 12:59:45 +01:00
Makefile.am Merge debian.(none):/MySQL/M50/indent-5.0 2007-12-11 20:47:31 +01: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.