Commit graph

52869 commits

Author SHA1 Message Date
unknown
681bf14ea7 Fixes to make tests pass on pushbuild.
mysql-test/suite/rpl/t/rpl_loaddata_map-master.opt:
  Rename: mysql-test/t/rpl_loaddata_map-master.opt -> mysql-test/suite/rpl/t/rpl_loaddata_map-master.opt
mysql-test/suite/rpl/t/rpl_loaddata_map-slave.opt:
  Rename: mysql-test/t/rpl_loaddata_map-slave.opt -> mysql-test/suite/rpl/t/rpl_loaddata_map-slave.opt
mysql-test/include/show_binlog_events2.inc:
  Binlog position change.
mysql-test/suite/rpl/r/rpl_loaddata_map.result:
  Result change.
mysql-test/suite/rpl/r/rpl_user.result:
  Result change.
mysql-test/suite/rpl/t/rpl_loaddata_map.test:
  Test is only sensible to execute for statement and mixed mode.
mysql-test/suite/rpl/t/rpl_user.test:
  Test assumed that binary log is identical for row- and statement-
  based logging, which it was not. Deleting users individually
  on master and slave respectively, without involving binary
  log.
2008-01-31 15:53:47 +01:00
unknown
58d93fbd9e Merge sama.ndb.mysql.com:/export/space/pekka/ndb/version/my50-bug34107
into  sama.ndb.mysql.com:/export/space/pekka/ndb/version/my51-bug34107


mysql-test/suite/ndb/r/ndb_condition_pushdown.result:
  Auto merged
mysql-test/suite/ndb/t/ndb_condition_pushdown.test:
  Auto merged
storage/ndb/include/ndbapi/ndbapi_limits.h:
  Auto merged
storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp:
  silly stuff
storage/ndb/src/kernel/blocks/dbtup/DbtupStoredProcDef.cpp:
  a name was improved in 5.1
storage/ndb/src/ndbapi/ndberror.c:
  use local due to huge bogus diff
2008-01-31 14:47:50 +01:00
unknown
69c733fda0 Merge sama.ndb.mysql.com:/export/space/pekka/ndb/version/my50-ndb
into  sama.ndb.mysql.com:/export/space/pekka/ndb/version/my50-bug34107
2008-01-31 14:24:10 +01:00
unknown
6a873248d1 Test case for bug#12691
mysql-test/suite/bugs/data/rpl_bug12691.dat:
  Data file for test case
mysql-test/suite/bugs/r/rpl_bug12691.result:
  Result file
2008-01-31 16:23:27 +03:00
unknown
cd8a8a1ce0 ndb - bug#34107 patch 2, ndb api
mysql-test/r/ndb_condition_pushdown.result:
  bug#34107 lower scanfilter max size to not hit TUP limit
mysql-test/t/ndb_condition_pushdown.test:
  bug#34107 lower scanfilter max size to not hit TUP limit
ndb/include/ndbapi/ndbapi_limits.h:
  bug#34107 lower scanfilter max size to not hit TUP limit
2008-01-31 13:58:29 +01:00
unknown
3b5c7a033e ndb - bug#34107 patch 1, kernel
ndb/src/kernel/blocks/dbtup/Dbtup.hpp:
  bug#34107 check stored proc overflow
ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp:
  bug#34107 check stored proc overflow
ndb/src/kernel/blocks/dbtup/DbtupStoredProcDef.cpp:
  bug#34107 check stored proc overflow
ndb/src/ndbapi/ndberror.c:
  bug#34107 check stored proc overflow
2008-01-31 13:56:12 +01:00
unknown
b6ec38cecc Bug #32971 No user level error message from slave sql thread when ER_NO_DEFAULT_FOR_FIELD
The error message due to lack of the default value for an extra field
was not as informative as it should be.

Fixed with improving the scheme of gathering, propagating and reporting
errors in applying rows events. 
The scheme is in the following.
Any kind of error of processing of a row event incidents are to be 
registered with my_error().
In the end Rows_log_event::do_apply_event() invokes rli->report() with the 
message to display consisting of all the errors.
This mimics `show warnings' displaying.
A simple test checks three errors in processing an event.
Two hunks - a user level error and pushing it into the list - 
have been devoted to already fixed Bug@31702.

Some open issues relating to this artifact listed on BUG@21842 page and
on WL@3679.
Todo: to synchronize the statement in the tests comments on Update and Delete
events may not stop when an extra field does not have a default with wl@3228 spec.


include/my_base.h:
  A new handler level error code that is supposed to be mapped to a set of more
  specific ER_ user level errors.
mysql-test/extra/rpl_tests/rpl_row_tabledefs.test:
  Adding yet another extra fields to see more than one error in show
  slave status' report.
mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result:
  results changed (the error message etc)
mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result:
  results changed
sql/log_event.cc:
  Refining slave_rows_error_report to iterate on the list of gathered errors;
  Simplifying signature of prepare_record as the function does not call
  rli->report to leave that duty to the event's top level code.
sql/log_event.h:
  adding a corrupt event error pushing. The error will be seen with
  show slave status.
sql/log_event_old.cc:
  similar to log_event.cc changes
sql/rpl_record.cc:
  prepare_record only pushes an error to the list
sql/rpl_record.h:
  signature changed
sql/share/errmsg.txt:
  The user level error code that corresponds to HA_ERR_CORRUPT_EVENT.
  The error will be reported in show slave status if such a failure happens.
2008-01-31 14:54:03 +02:00
unknown
f7c569901e Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl-merge
into  dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl-merge


BitKeeper/deleted/.del-binlog_start_comment.test:
  Auto merged
mysql-test/suite/rpl/t/rpl_sp.test:
  Manual merge
sql/sql_repl.cc:
  Manual merge
2008-01-31 12:32:48 +01:00
unknown
1fa5131888 Changes to fix tests in pushbuild.
mysql-test/include/have_local_infile.inc:
  BitKeeper file /data0/mkindahl/mysql-5.0-rpl-merge/mysql-test/include/have_local_infile.inc
mysql-test/r/have_local_infile.require:
  BitKeeper file /data0/mkindahl/mysql-5.0-rpl-merge/mysql-test/r/have_local_infile.require
mysql-test/t/binlog_start_comment.test:
  Test requires that local_infile is on, so added require for that.
mysql-test/t/rpl_sp.test:
  Adding missing sync_slave_with_master causing following tests to fail.
2008-01-31 12:17:40 +01:00
unknown
c883995091 Post merge fix
mysql-test/suite/rpl/t/rpl_loaddata_map-master.opt:
  Rename: mysql-test/t/rpl_loaddata_map-master.opt -> mysql-test/suite/rpl/t/rpl_loaddata_map-master.opt
mysql-test/suite/rpl/t/rpl_loaddata_map-slave.opt:
  Rename: mysql-test/t/rpl_loaddata_map-slave.opt -> mysql-test/suite/rpl/t/rpl_loaddata_map-slave.opt
2008-01-31 16:51:55 +08:00
unknown
34b9c6f504 Fixes to make code compile on Windows.
sql/sql_repl.cc:
  Adding cast to remove compile error on Windows platform.
2008-01-31 07:19:29 +01:00
unknown
96f3393777 Fix a build failure (embedded server). 2008-01-30 23:04:55 +03:00
unknown
ee24d7b12d Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl-merge
into  dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl-merge


BitKeeper/deleted/.del-rpl_transaction.test:
  Auto merged
include/my_sys.h:
  Auto merged
mysql-test/extra/binlog_tests/blackhole.test:
  Auto merged
mysql-test/r/case.result:
  Auto merged
mysql-test/r/mysqlbinlog2.result:
  Auto merged
mysql-test/suite/binlog/r/binlog_stm_blackhole.result:
  Auto merged
mysql-test/t/case.test:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2008-01-30 20:29:17 +01:00
unknown
c7a94b4b95 Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb-merge
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb-merge


mysql-test/r/view.result:
  Auto merged
2008-01-30 19:41:49 +01:00
unknown
360bd3653b Merge riska.(none):/home/sven/bktip/5.1-new-rpl
into  riska.(none):/home/sven/bk/b32434-version_replication/5.1-new-rpl


sql/log_event.cc:
  Auto merged
2008-01-30 19:40:12 +01:00
unknown
79f2096460 Disabling rpl_transaction test for non-debug builds.
mysql-test/t/rpl_transaction.test:
  Test only works for debug build.
2008-01-30 18:24:28 +01:00
unknown
7b8ec92ecc Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl
into  dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl-merge


sql/item_cmpfunc.cc:
  Auto merged
2008-01-30 17:46:37 +01:00
unknown
b0283afb9c Fixing return value.
sql/item_cmpfunc.cc:
  Minor fix to return correct value in case of error.
sql/rpl_utility.cc:
  Minor fix to return correct value in case of error.
2008-01-30 17:35:25 +01:00
unknown
39509d64c3 A fix and a test case for Bug#34166 Server crash in SHOW OPEN TABLES and
pre-locking.

The crash was caused by an implicit assumption in check_table_access() that
table_list parameter is always a part of lex->query_tables.

When iterating over the passed list of tables, check_table_access() used
to stop only when lex->query_tables_last_not_own was reached. 
In case of pre-locking, lex->query_tables_last_own is not NULL and points
to some element of lex->query_tables. When the parameter
of check_table_access() was not part of lex->query_tables, loop invariant
could never be violated and a crash would happen when the current table
pointer would point beyond the end of the provided list.

The fix is to change the signature of check_table_access() to also accept
a numeric limit of loop iterations, similarly to check_grant(), and 
supply this limit in all places when we want to check access of tables
that are outside lex->query_tables, or just want to check access to one table.


mysql-test/r/information_schema.result:
  Update test results (Bug#34166).
mysql-test/t/information_schema.test:
  Add a test case for Bug#34166.
sql/mysql_priv.h:
  Change signature of check_table_access() to accept a numeric limit
  of tables to check.
sql/sp_head.cc:
  Update to the new signature of check_table_access().
sql/sql_acl.cc:
  Improve code clarity: if there is a numeric limit, we should not need
  to look at first_not_own_table.
sql/sql_base.cc:
  Update to the new signature of check_table_access().
sql/sql_cache.cc:
  Update to the new signature of check_table_access().
sql/sql_parse.cc:
  Update to the new signature of check_table_access().
  Change check_table_access() to accept an optional numeric limit of tables
  to check. A crash would happen when check_table_access() was
  passed a list of tables that is not part of lex->query_tables and
  lex->query_tables_last_own was not NULL.
sql/sql_plugin.cc:
  Update to the new signature of check_table_access().
sql/sql_prepare.cc:
  Update to the new signature of check_table_access().
sql/sql_show.cc:
  Update to the new signature of check_table_access().
  Ensure that check_table_access() only checks access to the first
  table in the table list when called from list_open_tables().
  list_open_tables() supplies a table list that is created on stack,
  whereas check_table_access() used to assume that the supplied list is a part
  of thd->lex.
sql/sql_trigger.cc:
  Update to the new signature of check_table_access().
sql/sql_view.cc:
  Update to the new signature of check_table_access().
2008-01-30 18:27:41 +03:00
unknown
b395490480 Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl
into  dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl-merge


BitKeeper/deleted/.del-show_binlog_events2.inc:
  Auto merged
sql-common/client.c:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/slave.cc:
  Auto merged
2008-01-30 16:14:14 +01:00
unknown
401628a18e .del-show_binlog_events2.inc:
Delete: mysql-test/include/show_binlog_events2.inc


BitKeeper/deleted/.del-show_binlog_events2.inc:
  Delete: mysql-test/include/show_binlog_events2.inc
2008-01-30 16:11:39 +01:00
unknown
2b884ea3fe Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.1
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb-merge


mysql-test/mysql-test-run.pl:
  Auto merged
mysql-test/r/view.result:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
2008-01-30 16:08:25 +01:00
unknown
101c30ccc4 Post-merge changes.
BitKeeper/deleted/.del-show_binlog_events2.inc:
  Delete: mysql-test/include/show_binlog_events2.inc
client/mysqlbinlog.cc:
  char -> uchar for raw memory.
sql/item_cmpfunc.cc:
  Adding cast to remove warning when converting negative integer
  to unsigned type.
sql/log_event.cc:
  char -> uchar for raw memory.
sql/log_event.h:
  char -> uchar for raw memory.
sql/rpl_utility.cc:
  Adding cast to remove warning when converting negative integer
  to unsigned type.
sql/slave.cc:
  char -> uchar for raw memory.
sql/sql_repl.cc:
  char -> uchar for raw memory.
sql-common/client.c:
  char -> uchar for raw memory.
2008-01-30 16:03:00 +01:00
unknown
55fbcacfa6 Changes to make tests pass in pushbuild.
mysql-test/r/bdb_notembedded.result:
  Result change.
mysql-test/r/rpl_loaddata_map.result:
  Result change.
mysql-test/t/rpl_loaddata_map.test:
  Blanking out file id as well.
2008-01-30 15:58:35 +01:00
unknown
4f01c49d2b Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb-merge


mysql-test/r/view.result:
  Auto merged
2008-01-30 15:36:46 +01:00
unknown
ed9e73077d BUG#34141: mysqlbinlog cannot read 4.1 binlogs containing load data infile
Main problem: mysql 5.1 cannot read binlogs from 4.1.
Subproblem 1: There is a mistake in sql_ex_info::init. The read_str()
function updates its first argument to point to the next character to
read. However, it is applied only to a copy of the buffer pointer, so the
real buffer pointer is not updated.
Fix 1: do not take a copy of the buffer pointer. The copy was needed
because sql_ex_info::init does not use the const attribute on some of its
arguments. So we add the const attribute, too.
Subproblem 2: The first BINLOG statement is asserted to be a
FORMAT_DESCRIPTION_LOG_EVENT, but 4.1 binlogs begin with START_EVENT_V3.
Fix 2: allow START_EVENT_V3 too.


mysql-test/suite/binlog/std_data/binlog_old_version_4_1.000001:
  New BitKeeper file ``mysql-test/suite/binlog/std_data/binlog_old_version_4_1.000001''
mysql-test/suite/binlog/r/binlog_old_versions.result:
  Updated result file.
mysql-test/suite/binlog/t/binlog_old_versions.test:
  Added a test reading an old 4.1 binlog.
sql/log_event.cc:
  1. Added const keyword at the following places:
   - input buffer for pretty_print_str
   - input buffer for write_str
   - input buffer, end pointer, and return value from sql_ex_info::init
  2. Fixed the bug by not taking a copy of buf before calling read_str in
  sql_ex_info::init().
sql/log_event.h:
  Added const keyword to fields of the sql_ex_info struct.
  Added const keyword to arguments and return value of sql_ex_info::init
sql/sql_binlog.cc:
  The first BINLOG statement must describe the format for future BINLOG
  statements. Otherwise, we do not know how to read the BINLOG statement.
  Problem: only FORMAT_DESCRIPTION_EVENT is currently allowed as the first
  event. Binlogs from 4.1 begin with a START_EVENT_V3, which serves the
  same purpose.
  Fix: We now allow the first BINLOG statement to be a START_EVENT_V3, as
  well as a FORMAT_DESCRIPTION_EVENT.
2008-01-30 14:12:40 +01:00
unknown
9a51d88bfd Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl
into  dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl-merge


BitKeeper/deleted/.del-binlog_start_comment.result:
  Auto merged
include/my_sys.h:
  Auto merged
mysql-test/extra/binlog_tests/blackhole.test:
  Auto merged
mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test:
  Auto merged
mysql-test/r/case.result:
  Auto merged
mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result:
  Auto merged
mysql-test/suite/binlog/r/binlog_stm_blackhole.result:
  Auto merged
mysql-test/suite/rpl/r/rpl_000015.result:
  Auto merged
mysql-test/suite/rpl/t/rpl_000015.test:
  Auto merged
mysql-test/t/case.test:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
BitKeeper/deleted/.del-binlog_start_comment.test:
  Using remote file.
mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result:
  Manual merge. Taking remote file to update result set after merge,
mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result:
  Manual merge.
mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result:
  Manual merge.
2008-01-30 12:53:33 +01:00
unknown
b6d3eac082 Merge perch.ndb.mysql.com:/home/jonas/src/50-ndb
into  perch.ndb.mysql.com:/home/jonas/src/51-ndb


storage/ndb/src/kernel/blocks/backup/Backup.cpp:
  Auto merged
storage/ndb/src/kernel/vm/DLHashTable.hpp:
  Auto merged
storage/ndb/src/kernel/vm/DLHashTable2.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/backup/Backup.hpp:
  merge
2008-01-30 12:52:55 +01:00
unknown
817bfa350c Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl
into  dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl


sql/sql_parse.cc:
  Auto merged
include/my_sys.h:
  Manual merge
mysql-test/suite/rpl/r/rpl_grant.result:
  Manual merge
sql/sql_acl.cc:
  Manual merge
sql/sql_repl.cc:
  Manual merge
2008-01-30 12:14:14 +01:00
unknown
d132dd6299 ndb - bug#34160
make sure release of not added ptr does not corrupt hashtable
2008-01-30 11:58:10 +01:00
unknown
206770562d Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl
into  dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl-merge


include/my_sys.h:
  Auto merged
mysql-test/r/blackhole.result:
  Auto merged
mysql-test/r/case.result:
  Auto merged
mysql-test/r/mysqlbinlog2.result:
  Auto merged
mysql-test/t/blackhole.test:
  Auto merged
mysql-test/t/case.test:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2008-01-30 11:25:54 +01:00
unknown
7faa7d60aa Merge zhe@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl
into  mail.hezx.com:/media/sda3/work/mysql/bkwork/bug26489_corruption_in_relay_log/5.0
2008-01-30 16:40:36 +08:00
unknown
950e785444 Merge joreland@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb
into  perch.ndb.mysql.com:/home/jonas/src/50-ndb
2008-01-30 08:10:37 +01:00
unknown
6c19c971b6 ndb - bug#30172
Backup can assert with "big" table definitions
  Correct condition before fetching next meta-table
  Increase meta-buffer, to cope with atleast 2 tables


ndb/src/kernel/blocks/backup/Backup.cpp:
  Correct condition, before fetching new meta-table
ndb/src/kernel/blocks/backup/Backup.hpp:
  Make sure atleast 2 tables can fix
2008-01-30 08:09:56 +01:00
unknown
b75ae0f3f4 Merge sama.ndb.mysql.com:/export/space/pekka/ndb/version/my51-ndb
into  sama.ndb.mysql.com:/export/space/pekka/ndb/version/my51-bug34118
2008-01-29 15:30:46 +01:00
unknown
4c414b10d5 ndb - bug#34118 - hash index trigger vs. disk
mysql-test/suite/ndb/r/ndb_dd_basic.result:
  bug#34118 hash index trigger disk flag
mysql-test/suite/ndb/t/ndb_dd_basic.test:
  bug#34118 hash index trigger disk flag
storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp:
  bug#34118 hash index trigger disk flag
storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp:
  bug#34118 hash index trigger disk flag
storage/ndb/src/kernel/blocks/dbtup/DbtupTrigger.cpp:
  bug#34118 hash index trigger disk flag
2008-01-29 15:25:27 +01:00
unknown
6b4274cc61 ndb - bug#31477 - in 5.1 move ndb_bug31477.test to suite/ndb
mysql-test/suite/ndb/t/ndb_bug31477.test:
  Rename: mysql-test/t/ndb_bug31477.test -> mysql-test/suite/ndb/t/ndb_bug31477.test
mysql-test/suite/ndb/r/ndb_bug31477.result:
  Rename: mysql-test/r/ndb_bug31477.result -> mysql-test/suite/ndb/r/ndb_bug31477.result
2008-01-29 15:02:03 +01:00
unknown
37513aa54b BUG#32434: Replication doesn't work between 5.2.1-a_drop6p9-log and 5.1.22-ndb-6.3.6-telco
Problem: When slave reads format_description_log_event, it checks if the
master is a version that uses an old binlog format. See also BUG#27779.
Not all possible server_versions were listed.
Fix: Check for all server_versions which use the old binlog_format.


sql/log_event.cc:
  In the place where we check if server_version indicates that master is
  the alcatel branch, we now check all currently possible alcatel versions,
  not just a subset. Added comment to explain which clones are affected.
2008-01-29 14:47:26 +01:00
unknown
b0f5288551 Test changes to fix failures in pushbuild.
mysql-test/include/show_binlog_events.inc:
  Replacing file_id=N with file_id=# to avoid result mismatches
mysql-test/suite/binlog/r/binlog_killed_simulate.result:
  Result change
mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result:
  Result change
mysql-test/suite/binlog/r/binlog_stm_blackhole.result:
  Result change
mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result:
  Result change
mysql-test/suite/binlog/t/binlog_stm_mix_innodb_myisam.test:
  Binlog positions differ between mixed and statement based replication.
mysql-test/suite/rpl/r/rpl_stm_log.result:
  Result change
2008-01-29 14:43:41 +01:00
unknown
97355f4e0a Merge bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  mysql.com:/Users/davi/mysql/mysql-5.1-runtime
2008-01-29 10:39:36 -02:00
unknown
b46d5d6b2f Fix test case of Bug 30331
mysql-test/r/lock_multi.result:
  Update test case result.
mysql-test/t/lock_multi.test:
  Don't print the value of Table_lock_waited, check the
  precedence instead. Unlock the table before dropping.
2008-01-29 10:37:44 -02:00
unknown
6766554fc1 update test result
mysql-test/r/rpl_grant.result:
  update result
2008-01-29 19:21:21 +08:00
unknown
e743c791cb Fix Bug#27812 "an ampersand is missed in sql/sql_bitmap.h, line 68" 2008-01-29 14:14:34 +03:00
unknown
5a039fa28b BUG#26489 Corruption in relay logs
Here is the scenario that causes the failure.(by Mats)

1. The to-be corrupt log event (let's call it X), is split into two
   packets B and C on the network level (net_write_buff()). The parts
   are X = (x',x''). The part x' ends up in packet B and part x''
   ends up in packet C. Prior to the corrupt event X, the event Y has
   been written successfully, but has been split into two packets as
   well, which we call (y',y'').
2. The master sends packet A = (y'',x') to the slave, increases the
   packet sequence number, the slave receives the packet, but fails
   to reply before the master gets a timeout.
3. Since the master got a timeout, it reports failure, and aborts
   sending the binary log by exiting mysql_binlog_send(). However, it
   leaves the buffer intact, still holding y'' (but not x', since the
   write_pos is not increased).
4. After exiting mysql_binlog_send(), the master does a
   disconnection of the client thread, which involves sending an
   error message e to the client (i.e., the slave).
5. In this case, net_write_buff() is used again, but this time the
   old contents of the packet is used so that the new packet is
   D = (y'',e). Note that this will use a new packet sequence number,
   since the packet number was increased in step 2.
6. The slave receives the tail y'' of the Y log event, concatenates
   this with x' (which it already received), and writes the event
   (x',y'') it to the relay log since it hasn't noticed anything is
   amiss.
7. It then tries to read more bytes, which is either e (if the length
   given for X just happened to match the length given for Y, or just
   plain garbage because the slave is out of sync with what is
   actually sent.
8. After a while, the SQL thread tries to execute the event (x',y''),
   which is very likely to be just nonsense.

The problem can be fixed by not resetting net->error after the call of 
mysql_binlog_send, so the error message will not be sent and the connection
will be closed.


sql/sql_parse.cc:
  Do not reset net->error, if net->error == 2, we should not try to use the connection again
2008-01-29 11:56:48 +08:00
unknown
a0f0e41f20 ndb - bug#34046 - rename Ndbd_mem_manager::log2 to ndb_log2
storage/ndb/src/kernel/vm/NdbdSuperPool.cpp:
  rename Ndbd_mem_manager::log2 to ndb_log2
storage/ndb/src/kernel/vm/ndbd_malloc_impl.cpp:
  rename Ndbd_mem_manager::log2 to ndb_log2
storage/ndb/src/kernel/vm/ndbd_malloc_impl.hpp:
  rename Ndbd_mem_manager::log2 to ndb_log2
2008-01-28 14:48:09 +01:00
unknown
cdc66b12c5 Remove spurious commented out test line.
mysql-test/t/lock_multi.test:
  Remove spurious test line.
2008-01-28 11:21:39 -02:00
unknown
3d5e32b27d Bug#30331 Table_locks_waited shows inaccurate values
The problem is that the Table_locks_waited was incremented only
when the lock request succeed. If a thread waiting for the lock
gets killed or the lock request is aborted, the variable would
not be incremented, leading to inaccurate values in the variable.

The solution is to increment the Table_locks_waited whenever the
lock request is queued. This reflects better the intended behavior
of the variable -- show how many times a lock was waited.


mysql-test/r/lock_multi.result:
  Add test case result for Bug#30331
mysql-test/t/lock_multi.test:
  Add test case for Bug#30331
mysys/thr_lock.c:
  Increment locks_waited whenever the thread is supposed
  to wait for the lock.
2008-01-28 10:52:41 -02:00
unknown
eb493203aa ndb - bug#31477 post-merge fixes in 5.1
storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp:
  bug#31477 post-merge fixes in 5.1
storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp:
  bug#31477 post-merge fixes in 5.1
storage/ndb/src/kernel/blocks/dbtup/DbtupIndex.cpp:
  bug#31477 post-merge fixes in 5.1
2008-01-28 13:03:27 +01:00
unknown
7674d5ef97 Merge sama.ndb.mysql.com:/export/space/pekka/ndb/version/my50-bug31477
into  sama.ndb.mysql.com:/export/space/pekka/ndb/version/my51-bug31477


storage/ndb/include/ndbapi/Ndb.hpp:
  Auto merged
storage/ndb/src/common/util/NdbOut.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtux/DbtuxScan.cpp:
  Auto merged
storage/ndb/test/ndbapi/testOIBasic.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp:
  mindless merge
storage/ndb/src/kernel/blocks/dbtup/DbtupIndex.cpp:
  mindless merge
2008-01-28 03:14:29 +01:00
unknown
4bacd53715 Merge ramayana.hindu.god:/home/tsmith/m/bk/maint/50
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/51


mysql-test/r/mysqlcheck.result:
  Use local (manual merge)
mysql-test/t/mysqlcheck.test:
  Use local (manual merge)
2008-01-27 14:31:49 -07:00