Commit graph

37410 commits

Author SHA1 Message Date
unknown
9c88f37bf5 Bug#22067 rpl_rbr_to_sbr and some other fail if NDB is default storage
A query SET @@GLOBAL.binlog_format = ... returns an error when NDB is the
default storage. This fails some tests invoking the set binlog_format explicitly.
because the var turns to be read-only.
  
  In the following are files and method to fix if needed.
  
  t/
  ndb_binlog_basic2.test         # here the failure is benign
  rpl_rbr_to_sbr.test            # does not check any ndb features =>           
 
  .                              # => not_ndb_default is enough
  rpl_row_basic_8partition.test  # set binlog_format can be replaced
  rpl_switch_stm_row_mixed.test  # does not check any ndb features =>
  .                              # => not_ndb_default is enough
  
  two more invoking invoke extra/rpl_truncate_helper.test
  
  rpl_truncate_2myisam           # to be fixed with not_ndb_default
  rpl_truncate_3innodb           # same as above
  .                              # because there is a dedicated to ndb .        
 
  .                              # rpl_truncate_7ndb* suit.

Adapting/testing a new implement
--source include/safe_set_to_maybe_ro_var.inc
to avoid abort due to the error using binlog_format as application.


BitKeeper/etc/ignore:
  Added mysql-test/t/rpl_truncate_4ndb.test to the ignore list
mysql-test/r/rpl_row_basic_8partition.result:
  new results
mysql-test/t/rpl_rbr_to_sbr.test:
  # does not check any ndb features => not_ndb_default is enough
mysql-test/t/rpl_row_basic_8partition.test:
  set binlog_format can be read-only because of e.g default storage ndb.
  adapting/testing a new implement
  --source include/safe_set_to_maybe_ro_var.inc
  to avoid abort due to the error.
  
  Note, that it this particular test we could simply remove SET binlog_format because
  there is have_binlog_format_row require, as the test is about RBR.
  Futhermore utilizing safe_set_to_maybe_ro_var is redundat as well as long as
  we keep non_ndb_default guard.
  The latter is introduced because of ndb partitioning per-key limitation 
  #19259: rpl_ndb_dd_partitions fails on solaris. The page is updated to refer to this
  test's.
mysql-test/t/rpl_switch_stm_row_mixed.test:
  excluding ndb option, no ndb features
mysql-test/t/rpl_truncate_2myisam.test:
  ndb checks truncate separately
mysql-test/t/rpl_truncate_3innodb.test:
  ndb checks truncate separately
mysql-test/include/safe_set_to_maybe_ro_var.inc:
  pseudo-macro to make read-only global/session vars "settable" in sense that
  SET var= val won't produce any error nor aborts testing.
2006-09-15 17:25:13 +03:00
unknown
6338782942 WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES
tables to INFORMATION_SCHEMA.


mysql-test/r/information_schema.result:
  WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES
   tables to INFORMATION_SCHEMA.
   Fixed test cases result (changes are due to the new tables added).
mysql-test/r/information_schema_db.result:
  WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES
   tables to INFORMATION_SCHEMA.
   Fixed test cases result (changes are due to the new tables added).
mysql-test/r/status.result:
  WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES
   tables to INFORMATION_SCHEMA.
   Fixed results for added testcases.
mysql-test/r/variables.result:
  WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES
   tables to INFORMATION_SCHEMA.
   Fixed results for added test cases.
mysql-test/t/status.test:
  WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES
   tables to INFORMATION_SCHEMA.
   Added test cases.
mysql-test/t/variables.test:
  WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES
   tables to INFORMATION_SCHEMA.
   Added test cases.
sql/sql_show.cc:
  WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES
   tables to INFORMATION_SCHEMA.
   Implementation of the new I_S tables.
   Also, show_status_array(): argument 'ucase_names' is added (true means that
   all variable names are to be converted to upper case).
sql/table.h:
  WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES
   tables to INFORMATION_SCHEMA.
   Implementation of the new I_S tables.
2006-09-14 03:37:40 +04:00
unknown
76fa1d4381 Fixing problems I identified in my auto_increment work pushed in July
(as part of the auto_increment cleanup of WL#3146; let's not be
sad, that monster push still removed serious bugs):
one problem with INSERT DELAYED (unexpected interval releases),
one with stored functions (wrong auto_inc binlogging).
These bugs were not released.


mysql-test/extra/binlog_tests/binlog_insert_delayed.test:
      more tests of binlogging of INSERT DELAYED: with multi-row INSERTs.
      I identified why sleeps are needed to get a repeatable row-based
      binlogged: because without sleeps rows sometimes get groupped
      and so generate different row based events.
mysql-test/extra/rpl_tests/rpl_foreign_key.test:
  don't forget to drop tables on slave too, otherwise it leaves
  an orphan innodb table leading to rpl_insert_id failing sometimes
  (like in pushbuild "sapsrv2 -max").
mysql-test/extra/rpl_tests/rpl_insert_id.test:
      testing that if some statement does not update any row, it does
      not pollute the auto_inc binlog variables of the next statement;
      the test has to use stored procedures because with plain statements,
      mysql_reset_thd_for_next_command() does the resetting (and thus
      there is no problem); mysql_reset_thd_for_next_command() is not
      called inside routines.
mysql-test/r/binlog_row_binlog.result:
  result additions
mysql-test/r/binlog_statement_insert_delayed.result:
  result additions
mysql-test/r/binlog_stm_binlog.result:
  result additions
mysql-test/r/rpl_insert_id.result:
  result additions
mysql-test/r/rpl_loaddata.result:
      With the change to log.cc reverted, the result changes and is better:
      the change to log.cc had caused some INSERT_ID events to disappear
      though they were necessary (but testsuite could not catch that because
      it's single-threaded).
mysql-test/r/rpl_ndb_insert_ignore.result:
  NDB is now like other engines regarding INSERT IGNORE: autoincrement
  values which caused a duplicate key are re-used for next row, not lost.
  rpl_ndb_insert_ignore.result is now identical to rpl_insert_ignore.result.
sql/log.cc:
      LOAD DATA INFILE is binlogged as several events, and the last of them must
      have the auto_inc id. So it's wrong to reset the auto_inc id after every
      binlog write (because then it's lost after the first event of LOAD
      DATA INFILE and so missing for the last one)/
      Another problem: MYSQL_LOG::write() is not always called (for example
      if no row was updated), so we were missing reset in some cases.
sql/sp_head.cc:
      SELECT func1(),func2() generates two binlog events, so needs to
      clear auto_increment binlog variables after each binlog event
      (it would be more natural to clear them in the log write code,
      but LOAD DATA INFILE would suffer from this see the cset comment
      for log.cc). Without the clearing, the problem is:
      > exec func1()
      >> call cleanup_after_query() (which does not clear our vars here)
      >> binlog SELECT func1()
      <
      > exec func2()
      and so SELECT func2() is binlogged with the auto_inc of SELECT func1().
sql/sql_class.cc:
      after every statement we should clear auto_inc variables used for
      binlogging, except if this was a function/trigger (in which case
      it may be "INSERT SELECT func()", where the cleanup_after_query()
      executed in func() should not reset the auto_inc binlog variables
      as they'll be necessary when binlogging the INSERT SELECT later).
sql/sql_insert.cc:
      - as INSERT DELAYED uses the same TABLE object as the delayed_insert
      system thread, we should not call ha_release_auto_increment()
      from INSERT DELAYED (and btw it's logical as we reserve nothing
      as we don't perform the insert). Calling the function caused us to
      release values being used by the delayed_insert thread.
      So I do the call only if this is a non-DELAYED INSERT.
      - Assuming two INSERT DELAYED which get grouped by the delayed_insert
      thread, the second may use values reserved by the first, which is ok
      per se, but is a problem in statement-based binlogging:
      the 2nd INSERT gets binlogged with the "interval start" value
      of the first INSERT (=> duplicate error in slave).
      - no reason to ha_release_auto_increment() after every inserted row
      in INSERT SELECT; more efficient to do it only when the statement ends
sql/sql_parse.cc:
  a comment
2006-09-12 15:42:13 +02:00
unknown
da9298988f manual merge
sql/sql_yacc.yy:
  Manual merge
2006-09-11 19:45:09 +02:00
unknown
797bdc9b93 Merge mysql.com:/users/lthalmann/bk/MERGE/mysql-5.0-merge
into  mysql.com:/users/lthalmann/bk/MERGE/mysql-5.1-merge


sql/sql_yacc.yy:
  Auto merged
client/mysqldump.c:
  Manual merge (rpl 5.0 -> rpl 5.1)
mysql-test/r/mysqldump.result:
  Manual merge (rpl 5.0 -> rpl 5.1)
mysql-test/t/mysqldump.test:
  Manual merge (rpl 5.0 -> rpl 5.1)
2006-09-11 17:14:40 +02:00
unknown
70bb923a37 Fix WARN_DEPRECATED for 5.0 (it is in 5.1 we should have the extra arguments) 2006-09-11 14:45:40 +02:00
unknown
e573a77592 Merge mysql.com:/users/lthalmann/bk/MERGE/mysql-4.1-merge
into  mysql.com:/users/lthalmann/bk/MERGE/mysql-5.0-merge


sql/sql_yacc.yy:
  Manual merge (rpl 4.1 -> rpl 5.0)
2006-09-11 13:50:41 +02:00
unknown
45546f3de8 Merge mysql.com:/users/lthalmann/bkroot/mysql-5.1-new-rpl
into  mysql.com:/users/lthalmann/bk/MERGE/mysql-5.1-merge


BitKeeper/deleted/.del-rpl_heap.test:
  Auto merged
Makefile.am:
  Auto merged
mysql-test/extra/binlog_tests/binlog.test:
  Auto merged
mysql-test/r/binlog_stm_binlog.result:
  Auto merged
mysql-test/r/rpl_switch_stm_row_mixed.result:
  Auto merged
mysql-test/t/date_formats.test:
  Auto merged
mysql-test/t/mysqlbinlog.test:
  Auto merged
mysql-test/t/rpl_trigger.test:
  Auto merged
sql/CMakeLists.txt:
  Auto merged
sql/Makefile.am:
  Auto merged
sql/field.cc:
  Auto merged
sql/field.h:
  Auto merged
sql/log.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
storage/innobase/handler/ha_innodb.cc:
  Auto merged
unittest/README.txt:
  Auto merged
unittest/unit.pl:
  Auto merged
mysql-test/t/disabled.def:
  Merge (main -> rpl 5.1)
2006-09-11 13:34:44 +02:00
unknown
83e0c9d153 Merge mysql.com:/users/lthalmann/bkroot/mysql-5.0-rpl
into  mysql.com:/users/lthalmann/bk/MERGE/mysql-5.0-merge


client/mysqldump.c:
  Auto merged
mysql-test/r/mysqldump.result:
  Manual merge (main -> rpl 5.0)
mysql-test/t/mysqldump.test:
  Manual merge (main -> rpl 5.0)
2006-09-11 13:17:51 +02:00
unknown
2780bad053 Merge mysql.com:/users/lthalmann/bkroot/mysql-4.1-rpl
into  mysql.com:/users/lthalmann/bk/MERGE/mysql-4.1-merge
2006-09-11 11:25:55 +02:00
unknown
d4d01d5906 Merge romeo.(none):/home/bkroot/mysql-5.1-new-rpl
into  romeo.(none):/home/bk/w3259-mysql-5.1-new-rpl
2006-09-11 10:22:04 +02:00
unknown
cb7025e86b WL#3259 (More columns on slave than on master):
Adding files to CMakeLists.txt


sql/CMakeLists.txt:
  Adding rpl_utility.cc
2006-09-11 10:19:11 +02:00
unknown
a822d65149 bugfix 2006-09-09 10:39:12 +02:00
unknown
2eb8437db2 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-arch
into  janus.mylan:/usr/home/serg/Abk/mysql-5.1-arch
2006-09-09 10:27:12 +02:00
unknown
c79edd7d4c Merge mkindahl@bk-internal.mysql.com:/home/bk/mysql-5.1-new-rpl
into  romeo.(none):/home/bkroot/mysql-5.1-new-rpl
2006-09-08 11:55:54 +02:00
unknown
ec36a7aad3 Merge romeo.(none):/home/bkroot/mysql-5.1-new-rpl
into  romeo.(none):/home/bk/w3259-mysql-5.1-new-rpl


sql/log_event.cc:
  Auto merged
2006-09-08 11:41:19 +02:00
unknown
de6b79933c Patches to fix problems on Windows
sql/log_event.cc:
  Adding cast since byte is unsigned char on Windows
sql/rpl_utility.cc:
  Adding missing return statement.
2006-09-08 10:20:14 +02:00
unknown
984983f852 Warning fixes for Windows, and an include fix for Windows for Innodb.
storage/archive/azio.c:
  Fixed warnings for windows
storage/federated/ha_federated.cc:
  Warning fixes for Windows
storage/innobase/CMakeLists.txt:
  Fixed includes for Windows
2006-09-07 16:17:16 -07:00
unknown
117ae7cb79 Add support for Falcon, so that partitioning can be tested.
sql/handler.h:
  Adding Falcon
2006-09-07 12:35:52 -07:00
unknown
0c7b78bbed Fix for a compile problem in Windows.
sql/CMakeLists.txt:
  Compile problem for Windoows
storage/innobase/handler/ha_innodb.cc:
  Removed some dead code (Marko approved)
2006-09-07 12:34:12 -07:00
unknown
7795b59afc Adding in a few more engines to the now defunct (but still used) handler enum's since its the only way to enable for partitioning.
sql/handler.h:
  Extended to add in more DB types for partioning.
2006-09-07 12:12:52 -07:00
unknown
a6a1aba27a Removing sleeps; rpl_row_basic_8partition falls from 2 minutes
15 seconds to less than a second.
The sleeps used to be necessary but not anymore as NDB has been fixed
wrt sync_slave_with_master.


mysql-test/include/rpl_multi_engine3.inc:
  Sleeps are not necessary anymore
  because NDB has been fixed wrt sync_slave_with_master.
2006-09-07 18:01:42 +02:00
unknown
d17ac1331e Merge baker@bk-internal.mysql.com:/home/bk/mysql-5.1-arch
into  zim.(none):/home/brian/mysql/merge-5.1
2006-09-07 08:49:33 -07:00
unknown
b098f25d87 Moves Innodb handler to the Innodb storage directory.
storage/innobase/handler/ha_innodb.h:
  Rename: sql/ha_innodb.h -> storage/innobase/handler/ha_innodb.h
libmysqld/Makefile.am:
  Removed Innodb specific mention
sql/Makefile.am:
  Updated to remove innodb
storage/innobase/CMakeLists.txt:
  Added include directory
storage/innobase/Makefile.am:
  Updated to add in handler
storage/innobase/handler/ha_innodb.cc:
  Adjusted include files, also disabled replication code which was not being used.
storage/innobase/plug.in:
  Added additional Makefile
storage/innobase/handler/Makefile.am:
  New BitKeeper file ``storage/innobase/handler/Makefile.am''
2006-09-07 08:23:58 -07:00
unknown
5babf50018 cleanup of pligin removal code
fixed multiple and missing deinitializations, moved all
deinit/del code in one place
2006-09-07 15:01:36 +02:00
unknown
2ae54e3b9d minor plugin api fixes:
remove #define __attribute__(A) from plugin.h
increase API version because placeholders were added
more robust definition of min_plugin_interface_version


include/mysql/plugin.h:
  move #define __attribute__(A) out of plugin.h (not part of the API)
  increase API version because placeholders were added
plugin/fulltext/plugin_example.c:
  compilation failure on non-GCC compilers
sql/sql_plugin.cc:
  more robust definition of min_plugin_interface_version
  it should work even when we forget to update it
2006-09-07 12:56:32 +02:00
unknown
c85e25f2e1 errmsg.txt:
Update of Dutch errmsg translations (not complete yet)
errmsg.h:
  Fixup of changed error message file path in comment
authors.h:
  Ego add.


include/errmsg.h:
  Fixup of changed error message file path in comment
sql/authors.h:
  Ego add.
sql/share/errmsg.txt:
  Update of Dutch errmsg translations (not complete yet)
2006-09-07 13:52:30 +10:00
unknown
06ab97125e Merge romeo.(none):/home/bkroot/mysql-5.1-new-rpl
into  romeo.(none):/home/bk/b17620-mysql-5.1-new-rpl


sql/log_event.cc:
  Auto merged
2006-09-06 19:34:02 +02:00
unknown
0fbd21584d Merge baker@bk-internal.mysql.com:/home/bk/mysql-5.1
into  zim.(none):/tmp/merge-5.1


sql/ha_ndbcluster.cc:
  Auto merged
sql/log.cc:
  Auto merged
2006-09-06 09:23:47 -07:00
unknown
d247c70d26 BUG#17620: Row-based replication fails when query cache enabled on slave
Invalidating query cache when processing rows for a statement on the slave.


mysql-test/r/rpl_row_basic_11bugs.result:
  Result file change
mysql-test/t/rpl_row_basic_11bugs.test:
  Adding test to trigger failure
sql/log_event.cc:
  Adding code to invalidate the query cache just after opening the tables
  for processing the rows of one statement.
2006-09-06 17:45:27 +02:00
unknown
71681467ca converting plugin states to bitmask to simplify testing.
state_mask argument to plugin_foreach()


sql/sql_show.cc:
  state_mask argument to plugin_foreach()
2006-09-06 10:22:59 +02:00
unknown
bc3122a9f8 Merge perch.ndb.mysql.com:/home/jonas/src/mysql-5.1
into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new-ndb
2006-09-06 02:16:36 +02:00
unknown
6e5c98ea76 plugin_foreach - don't hold the lock when calling the function 2006-09-05 23:59:16 +02:00
unknown
e42acfe937 Merge mkindahl@bk-internal.mysql.com:/home/bk/mysql-5.1-new-rpl
into  romeo.(none):/home/bkroot/mysql-5.1-new-rpl
2006-09-04 14:58:34 +02:00
unknown
0be2f5541f Merge perch.ndb.mysql.com:/home/jonas/src/51-work
into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new-ndb


sql/sql_class.h:
  Auto merged
2006-09-04 14:29:28 +02:00
unknown
ba6b37a005 bug#21965
merge to 5.1 - yet another merge fix


sql/log.cc:
  yet another merge fix
2006-09-04 14:26:18 +02:00
unknown
6a81fa6df5 bug#21965
merge to 5.1


sql/log.h:
  merge to 5.1
2006-09-04 14:19:39 +02:00
unknown
a00b1e3a7d Merge perch.ndb.mysql.com:/home/jonas/src/50-work
into  perch.ndb.mysql.com:/home/jonas/src/51-work


sql/log.cc:
  Auto merged
sql/sql_repl.cc:
  Auto merged
sql/sql_class.h:
  merge
2006-09-04 14:08:15 +02:00
unknown
14bebaa2dc Merge perch.ndb.mysql.com:/home/jonas/src/41-work
into  perch.ndb.mysql.com:/home/jonas/src/50-work


sql/log.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_repl.cc:
  merge
2006-09-04 13:46:56 +02:00
unknown
d2d605e4ea bug#21965 - replication
fix deadlock if master switches log file in parallell with "show master logs"
  


sql/log.cc:
  add raw_get_current_log which dont take log mutex
sql/sql_class.h:
  add raw_get_current_log which dont take log mutex
sql/sql_repl.cc:
  Fix lock order i.e first log_lock then index_lock
2006-09-04 13:43:34 +02:00
unknown
01debeebbb Merge perch.ndb.mysql.com:/home/jonas/src/mysql-5.1
into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new-ndb
2006-09-03 17:55:01 +02:00
unknown
5b755031eb Merge joreland@bk-internal.mysql.com:/home/bk/mysql-5.1-new-ndb
into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new-ndb
2006-09-03 11:31:51 +02:00
unknown
8e1a9cd140 ndb -
fix ndb-violations of strict aliasing found by gcc4.1
  (crashes in ndb_dd_*)


storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
  Fix strict-aliasing
storage/ndb/src/kernel/vm/KeyTable2Ref.hpp:
  Fix strict-aliasing
storage/ndb/src/kernel/vm/Pool.hpp:
  Fix strict-aliasing
2006-09-03 11:11:37 +02:00
unknown
3ba0b6e0f0 ndb -
gcc-4.1.1 work-around for bug in strict-aliasing


storage/ndb/src/kernel/blocks/restore.cpp:
  gcc-4.1.1 work-around for bug in strict-aliasing
2006-09-03 10:57:34 +02:00
unknown
2ae0c9d4e6 Merge pnousiainen@bk-internal.mysql.com:/home/bk/mysql-5.1-ndb
into  orca.ndb.mysql.com:/export/home/space/pekka/ndb/version/my51-ndb
2006-09-02 05:23:04 +02:00
unknown
41e68be649 Added missing return 2006-09-01 20:56:34 +02:00
unknown
d57163fcf8 Merge alik.:/mnt/raid/alik/MySQL/devel/5.1-tree
into  alik.:/mnt/raid/alik/MySQL/devel/5.1-rt-merged


mysql-test/t/disabled.def:
  SCCS merged
2006-09-01 22:24:51 +04:00
unknown
b1e2cfce3d Merge baker@bk-internal.mysql.com:/home/bk/mysql-5.1
into  zim.(none):/tmp/mysql-5.1-arch


sql/ha_innodb.cc:
  Auto merged
sql/ha_partition.cc:
  Auto merged
sql/handler.h:
  Auto merged
2006-09-01 09:19:10 -07:00
unknown
7ae9f4a526 Merge mysql.com:/windows/Linux_space/MySQL/mysql-5.1
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.1-new-ndb
2006-09-01 16:16:49 +02:00
unknown
4545b4f154 Removed absolute path 2006-09-01 16:14:59 +02:00