Commit graph

758 commits

Author SHA1 Message Date
aelkin/andrei@mysql1000.(none)
5ef66b37ae wl#4091
improving a test that shows a failure.

the wait condition was for data in tables but the 
log positions are updates after the data are unlocked.
So there was a time window
[after_table_unlock_for_select, log_pos_updated] where the
orig cond was true but log position might be changed.
the correct one is to expect the last pos of the
slave's insert in the output of show_slave_status on the
master.
2008-03-28 18:25:49 +02:00
aelkin/andrei@mysql1000.(none)
103f9d688c BUG#33029
refining a test for embedded env.
2008-03-28 16:07:50 +02:00
mats@mats-laptop.(none)
c14426aefe Merge mkindahl@bk-internal.mysql.com:/home/bk/mysql-5.1-bugteam
into  mats-laptop.(none):/home/bk/b29020-mysql-5.1-rpl
2008-03-28 14:52:33 +01:00
mats@mats-laptop.(none)
c8c4500a98 BUG#29020 (Event results not correctly replicated to slave in RBR):
The bug allow multiple executing transactions working with non-transactional
to interfere with each others by interleaving the events of different trans-
actions.

Bug is fixed by writing non-transactional events to the transaction cache and
flushing the cache to the binary log at statement commit. To mimic the behavior
of normal statement-based replication, we flush the transaction cache in row-
based mode when there is no committed statements in the transaction cache,
which means we are committing the first one. This means that it will be written
to the binary log as a "mini-transaction" with just the rows for the statement.

Note that the changes here does not take effect when building the server with
HAVE_TRANSACTIONS set to false, but it is not clear if this was possible before
this patch either.

For row-based logging, we also have that when AUTOCOMMIT=1, the code now always
generates a BEGIN/COMMIT pair for single statements, or BEGIN/ROLLBACK pair in the
case of non-transactional changes in a statement that was rolled back. Note that
for the case where changes to a non-transactional table causes a rollback due
to error, the statement will now be logged with a BEGIN/ROLLBACK pair, even
though some changes has been committed to the non-transactional table.
2008-03-28 13:16:41 +01:00
joerg@trift2.
e7e5311ce4 Merge trift2.:/MySQL/M51/mysql-5.1
into  trift2.:/MySQL/M51/push-5.1
2008-03-27 12:45:16 +01:00
hezx@mail.hezx.com
35c158ec85 post fix after push of bug#33029 2008-03-27 13:48:04 +08:00
hezx@mail.hezx.com
905659a2a0 Merge mail.hezx.com:/media/sda3/work/mysql/bkroot/mysql-5.1-new-rpl
into  mail.hezx.com:/media/sda3/work/mysql/bkwork/b33029_5.0_to_5.1_fails_on_dup_key/5.1
2008-03-26 21:40:44 +08:00
istruewing@stella.local
c882b87110 Merge stella.local:/home2/mydev/mysql-5.1-ateam
into  stella.local:/home2/mydev/mysql-5.1-axmrg
2008-03-26 10:56:03 +01:00
istruewing@stella.local
44fbe74e1e Merge stella.local:/home2/mydev/mysql-5.1-amain
into  stella.local:/home2/mydev/mysql-5.1-axmrg
2008-03-26 10:27:00 +01:00
joerg@trift2.
e58f029f9e Merge trift2.:/MySQL/M51/mysql-5.1
into  trift2.:/MySQL/M51/push-5.1
2008-03-25 15:34:23 +01:00
joerg@trift2.
99ae3b8ad0 Merge trift2.:/MySQL/M51/mysql-5.1
into  trift2.:/MySQL/M51/push-5.1
2008-03-25 15:24:24 +01:00
mkindahl@dl145h.mysql.com
bc683c6450 Eliminating compiler warnings. 2008-03-25 15:20:42 +01:00
svoj@mysql.com/june.mysql.com
b799ea244c BUG#34768 - nondeterministic INSERT using LIMIT logged in stmt mode
if binlog_format=mixed

Addition to fix for BUG#34768: fixed test case failures discovered
by pushbuild.
2008-03-25 17:28:12 +04:00
svoj@june.mysql.com
129efd6a03 Merge mysql.com:/home/svoj/devel/bk/mysql-5.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG34768/mysql-5.1-engines
2008-03-20 20:04:48 +04:00
istruewing@stella.local
8c0300dae9 Merge stella.local:/home2/mydev/mysql-5.1-ateam
into  stella.local:/home2/mydev/mysql-5.1-axmrg
2008-03-20 12:22:02 +01:00
svoj@mysql.com/june.mysql.com
6dfb184f09 BUG#34768 - nondeterministic INSERT using LIMIT logged in stmt mode if
binlog_format=mixed

Statement-based replication of DELETE ... LIMIT, UPDATE ... LIMIT,
INSERT ... SELECT ... LIMIT is not safe as order of rows is not
defined.

With this fix, we issue a warning that this statement is not safe to
replicate in statement mode, or go to row-based mode in mixed mode.

Note that we may consider a statement as safe if ORDER BY primary_key
is present. However it may confuse users to see very similiar statements
replicated differently.

Note 2: regular UPDATE statement (w/o LIMIT) is unsafe as well, but
this patch doesn't address this issue. See comment from Kristian
posted 18 Mar 10:55.
2008-03-18 20:25:34 +04:00
mattiasj@witty.
7586a4c6c4 Bug#35306: partition_basic_symlink test failures
Have changed the DATA/INDEX dir to not be a database dir.
(and made some changes for better result files.)
2008-03-17 16:18:02 +01:00
istruewing@stella.local
59a2f7b41f Merge stella.local:/home2/mydev/mysql-5.1-ateam
into  stella.local:/home2/mydev/mysql-5.1-axmrg
2008-03-16 09:52:37 +01:00
antony@pcg5ppc.xiphis.org
c400abe878 make pushbuild green 2008-03-15 01:08:35 -07:00
antony@pcg5ppc.xiphis.org
e6b027f6f3 Merge acurtis@bk-internal.mysql.com:/home/bk/mysql-5.1-engines
into  pcg5ppc.xiphis.org:/Network/Servers/anubis.xiphis.org/home/antony/work/merge.20080307/mysql-5.1
2008-03-14 15:29:49 -07:00
istruewing@stella.local
b67add660f Post-merge fixes 2008-03-14 21:37:19 +01:00
svoj@mysql.com/june.mysql.com
2f4bb0f115 BUG#28248 - mysqldump results with MERGE ... UNION=() cannot be executed
After merge fix.
2008-03-15 00:24:10 +04:00
antony@pcg5ppc.xiphis.org
b8b178c425 Merge pcg5ppc.xiphis.org:/Network/Servers/anubis.xiphis.org/home/antony/work/mysql-5.1-engines
into  pcg5ppc.xiphis.org:/Network/Servers/anubis.xiphis.org/home/antony/work/merge.20080307/mysql-5.1
2008-03-14 11:26:54 -07:00
antony@pcg5ppc.xiphis.org
91e44529bd Merge pcg5ppc.xiphis.org:/Network/Servers/anubis.xiphis.org/home/antony/work/mysql-5.1
into  pcg5ppc.xiphis.org:/Network/Servers/anubis.xiphis.org/home/antony/work/merge.20080307/mysql-5.1
2008-03-14 11:13:54 -07:00
istruewing@stella.local
397c1783eb Merge stella.local:/home2/mydev/mysql-5.1-ateam
into  stella.local:/home2/mydev/mysql-5.1-axmrg
2008-03-14 19:04:02 +01:00
mkindahl@dl145h.mysql.com
9baeb72ee6 Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.1
into  dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl
2008-03-14 18:32:01 +01:00
mkindahl@dl145h.mysql.com
f48aa05fd0 Merge mkindahl@bk-internal.mysql.com:/home/bk/mysql-5.1-new-rpl
into  dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl
2008-03-14 18:18:14 +01:00
mkindahl@dl145h.mysql.com
c5fefc688c Post-merge fixes. 2008-03-14 17:52:57 +01:00
istruewing@stella.local
4ea7377356 Post-merge fixes 2008-03-14 17:45:14 +01:00
svoj@april.(none)
3a7bcaf7d6 Merge mysql.com:/home/svoj/devel/mysql/BUG13861/mysql-5.0-engines
into  mysql.com:/home/svoj/devel/mysql/BUG13861/mysql-5.1-engines
2008-03-14 17:54:17 +04:00
joerg@trift2.
e784898959 Merge trift2.:/MySQL/M51/mysql-5.1
into  trift2.:/MySQL/M51/push-5.1
2008-03-14 14:41:08 +01:00
istruewing@stella.local
eabe082d6f Manual merge 2008-03-14 12:02:11 +01:00
hezx@mail.hezx.com
a3d02647e6 BUG#33029 5.0 to 5.1 replication fails on dup key when inserting
using a trig in SP

For all 5.0 and up to 5.1.12 exclusive, when a stored routine or
trigger caused an INSERT into an AUTO_INCREMENT column, the
generated AUTO_INCREMENT value should not be written into the
binary log, which means if a statement does not generate
AUTO_INCREMENT value itself, there will be no Intvar event (SET
INSERT_ID) associated with it even if one of the stored routine
or trigger caused generation of such a value. And meanwhile, when
executing a stored routine or trigger, it would ignore the
INSERT_ID value even if there is a INSERT_ID value available set
by a SET INSERT_ID statement.

Starting from MySQL 5.1.12, the generated AUTO_INCREMENT value is
written into the binary log, and the value will be used if
available when executing the stored routine or trigger.

Prior fix of this bug in MySQL 5.0 and prior MySQL 5.1.12
(referenced as the buggy versions in the text below), when a
statement that generates AUTO_INCREMENT value by the top
statement was executed in the body of a SP, all statements in the
SP after this statement would be treated as if they had generated
AUTO_INCREMENT by the top statement.  When a statement that did
not generate AUTO_INCREMENT value by the top statement but by a
function/trigger called by it, an erroneous Intvar event would be
associated with the statement, this erroneous INSERT_ID value
wouldn't cause problem when replicating between masters and
slaves of 5.0.x or prior 5.1.12, because the erroneous INSERT_ID
value was not used when executing functions/triggers. But when
replicating from buggy versions to 5.1.12 or newer, which will
use the INSERT_ID value in functions/triggers, the erroneous
value will be used, which would cause duplicate entry error and
cause the slave to stop.

The patch for 5.1 fixed it to ignore the SET INSERT_ID value when
executing functions/triggers if it is replicating from a master
of buggy versions, another patch for 5.0 fixed it not to generate
the erroneous Intvar event.
2008-03-14 11:35:41 +08:00
mkindahl@dl145h.mysql.com
b5ebc67855 Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl
into  dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl
2008-03-12 13:07:35 +01:00
mleich@five.local.lan
68e548df3d Post merge fix for
ChangeSet@1.2565, 2008-03-11 20:20:49+01:00
     Merge five.local.lan:/work/merge/mysql-5.0-funcs_1
     into  five.local.lan:/work/merge/mysql-5.1-funcs_1
     MERGE: 1.1810.3473.26

   ChangeSet@1.1810.3473.26, 2008-03-11 19:54:35+01:00
   Post fix for
   WL#4203 Reorganize and fix the data dictionary tests of
           testsuite funcs_1

The final fix of
Bug#34532 Some funcs_1 tests do not clean up at end of testing
   and some minor additional modifications are for
happens here
2008-03-12 12:56:07 +01:00
kaa@kaamos.(none)
0a7052e4d3 Merge kaamos.(none):/data/src/mysql-5.1
into  kaamos.(none):/data/src/opt/mysql-5.1-opt
2008-03-12 11:19:46 +03:00
mleich@five.local.lan
365c29243d Merge five.local.lan:/work/merge/mysql-5.0-funcs_1
into  five.local.lan:/work/merge/mysql-5.1-funcs_1
2008-03-11 20:20:49 +01:00
mleich@five.local.lan
d7e6ba4794 Post fix for
WL#4203 Reorganize and fix the data dictionary tests of
        testsuite funcs_1
because the goal to fix
Bug#34532 Some funcs_1 tests do not clean up at end of testing
was partially missed.
Some minor additional modifications are for
   WL#4304 Cleanup in funcs_1 tests
2008-03-11 19:54:35 +01:00
sven@riska.(none)
38b406cec8 Removed pushbuild errors.
Problem: rpl_variables_stm.test used a character set and a collation which
are not included on all platforms.
Fix: replace the character set and collation by ones that are included on
all platforms. (rpl_variables_stm does not rely on which character set is
used, the only important aspect is the fact that it changes.)
2008-03-11 18:43:29 +01:00
sven@riska.(none)
f0a9d75a6c Problem: sporadic pushbuild errors in rpl_ndb_basic.
The reason is that we are using a sleep to wait for slave to reach the
slave_transaction_retries limit.
Fix: wait for the slave to stop instead. This is what we want to do, since
the slave stops when the limit is reached.
2008-03-10 16:24:12 +01:00
sven@riska.(none)
afde9893b1 Problem: Pushbuild errors because sql_mode is unsafe but test thinks it is
safe.
Fix: Move sql_mode: from the section of the test where safe variables are
tested, to the section where unsafe variables are tested.
2008-03-10 15:26:21 +01:00
antony@pcg5ppc.xiphis.org
bdc74bbda7 Merge acurtis@bk-internal.mysql.com:/home/bk/mysql-5.1-engines
into  pcg5ppc.xiphis.org:/Network/Servers/anubis.xiphis.org/home/antony/work/merge.20080307/mysql-5.1
2008-03-07 14:07:01 -08:00
antony@pcg5ppc.xiphis.org
820068f1b7 Merge pcg5ppc.xiphis.org:/Network/Servers/anubis.xiphis.org/home/antony/work/mysql-5.1-engines
into  pcg5ppc.xiphis.org:/Network/Servers/anubis.xiphis.org/home/antony/work/merge.20080307/mysql-5.1
2008-03-07 13:46:29 -08:00
bar@bar.myoffice.izhnet.ru
ba600ac12f Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.1-engines
into  mysql.com:/home/bar/mysql-work/mysql-5.1.b27580
2008-03-08 01:15:38 +04:00
bar@mysql.com/bar.myoffice.izhnet.ru
84e6d960e0 After merge fix 2008-03-08 01:14:56 +04:00
mleich@five.local.lan
40c0b4c3c1 Post merge fixes after
ChangeSet@1.2561, 2008-03-07 17:44:03+01:00, mleich@five.local.lan +132 -0
  Merge five.local.lan:/work/merge/mysql-5.0-funcs_1
  into  five.local.lan:/work/merge/mysql-5.1-funcs_1
  MERGE: 1.1810.3473.24

ChangeSet@1.1810.3473.24, 2008-03-07
  WL#4203 Reorganize and fix the data dictionary tests of
          testsuite funcs_1

  1. Adjustment of expected results to modified server properties
  2. Add some tests of information_schema views
  3. Minor corrections and improvements
2008-03-07 20:18:14 +01:00
svoj@june.mysql.com
99ca77afc9 Merge mysql.com:/home/svoj/devel/bk/mysql-5.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG13861/mysql-5.1-engines
2008-03-07 21:20:49 +04:00
mleich@five.local.lan
cd97342329 Merge five.local.lan:/work/merge/mysql-5.0-funcs_1
into  five.local.lan:/work/merge/mysql-5.1-funcs_1
2008-03-07 17:44:03 +01:00
mleich@five.local.lan
30091e23f9 WL#4203 Reorganize and fix the data dictionary tests of
testsuite funcs_1
1. Fix the following bugs
   Bug#30440 "datadict" tests (all engines) fail: Character sets depend on configuration
      Solution: Test variants charset_collation_* adjusted to different builds
   Bug#32603 "datadict" tests (all engines) fail in "community" tree: "PROFILING" table
      Solution: Excluding "PROFILING" table from queries
   Bug#33654 "slow log" is missing a line
      Solution: Unify the content of the fields TABLES.TABLE_ROWS and
                STATISTICS.CARDINALITY within result sets
   Bug#34532 Some funcs_1 tests do not clean up at end of testing
      Solution: DROP objects/reset global server variables modified during testing
                + let tests missing implementation end before loading of tables
   Bug#31421 funcs_1: ndb__datadict fails, discrepancy between scripts and expected results
      Solution: Cut <engine>__datadict tests into smaller tests + generate new results.
   Bug#33599 INFORMATION_SCHEMA.STATISTICS got a new column INDEX_COMMENT: tests fail (2)
      Generation of new results during post merge fix
   Bug#33600 CHARACTER_OCTET_LENGTH is now CHARACTER_MAXIMUM_LENGTH * 4
      Generation of new results during post merge fix
   Bug#33631 Platform-specific replace of CHARACTER_MAXIMUM_LENGTH broken by 4-byte encoding
      Generation of new results during post merge fix
      + removal of platform-specific replace routine (no more needed)
2. Restructure the tests
   - Test not more than one INFORMATION_SCHEMA view per testscript
   - Separate tests of I_S view layout+functionality from content related to the
     all time existing databases "information_schema", "mysql" and "test"
   - Avoid storage engine related variants of tests which are not sensible to
     storage engines at all.
3. Reimplement or add some subtests + cleanup
   There is a some probability that even the reviewed changeset
   - does not fix all bugs from above   or
   - contains new bugs which show up on some platforms <> Linux or on one of
     the various build types
4. The changeset contains fixes according to
   - one code review
   - minor bugs within testing code found after code review (accepted by reviewer)
   - problems found during tests with 5.0.56 in build environment
2008-03-07 17:33:07 +01:00
sven@riska.(none)
81b1d712bf BUG#31168: @@hostname does not replicate
Problem: in mixed and statement mode, a query that refers to a
system variable will use the slave's value when replayed on
slave. So if the value of a system variable is inserted into a
table, the slave will differ from the master.
Fix: mark statements that refer to a system variable as "unsafe",
meaning they will be replicated by row in mixed mode and produce a warning
in statement mode. There are some exceptions: some variables are actually
replicated. Those should *not* be marked as unsafe.
BUG#34732: mysqlbinlog does not print default values for auto_increment variables
Problem: mysqlbinlog does not print default values for some variables,
including auto_increment_increment and others. So if a client executing
the output of mysqlbinlog has different default values, replication will
be wrong.
Fix: Always print default values for all variables that are replicated.
I need to fix the two bugs at the same time, because the test cases would
fail if I only fixed one of them.
2008-03-07 13:59:36 +01:00