1
0
mirror of https://github.com/MariaDB/server.git synced 2025-12-03 05:41:09 +03:00
Commit Graph

2942 Commits

Author SHA1 Message Date
unknown
40e371d2b6 Merge mysql.com:/home/bkroot/mysql-5.1-new
into  mysql.com:/home/bk/w3023-mysql-5.1-new


configure.in:
  Auto merged
mysql-test/r/rpl_row_create_table.result:
  Auto merged
mysql-test/t/sp.test:
  Auto merged
sql/log.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/table.h:
  Auto merged
2006-03-07 10:00:13 +01:00
mats@mysql.com
8d10f7b7a1 Merge mysql.com:/home/bkroot/mysql-5.1-new
into  mysql.com:/home/bk/w3023-mysql-5.1-new
2006-03-07 10:00:13 +01:00
unknown
28e6f6c43c Bug#17874 (Test failure: rpl_row_basic_3innodb):
Some storage engines does not set the filler bits, so we set them
  before calling the record-reading functions.


sql/log_event.cc:
  Set the null byte containing filler bits before calling any record-
  reading functions.
2006-03-07 08:33:20 +01:00
mats@mysql.com
0713aa597a Bug#17874 (Test failure: rpl_row_basic_3innodb):
Some storage engines does not set the filler bits, so we set them
  before calling the record-reading functions.
2006-03-07 08:33:20 +01:00
unknown
ac2b587029 Merge mysql.com:/home/bkroot/mysql-5.1-new
into  mysql.com:/home/bk/w3023-mysql-5.1-new


configure.in:
  Auto merged
mysql-test/extra/binlog_tests/insert_select-binlog.test:
  Auto merged
mysql-test/r/binlog_row_insert_select.result:
  Auto merged
mysql-test/r/rpl_row_basic_11bugs.result:
  Auto merged
scripts/mysql_fix_privilege_tables.sql:
  Auto merged
sql/ha_ndbcluster_binlog.cc:
  Auto merged
sql/handler.h:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/log_event.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
client/Makefile.am:
  Merging with mysql-5.1-new
mysql-test/r/binlog_row_ctype_cp932.result:
  Merging with mysql-5.1-new
mysql-test/r/rpl_ndb_blob.result:
  Merging with mysql-5.1-new
mysql-test/r/rpl_ndb_dd_basic.result:
  Merging with mysql-5.1-new
2006-03-03 09:57:42 +01:00
mats@mysql.com
e0f5d35ceb Merge mysql.com:/home/bkroot/mysql-5.1-new
into  mysql.com:/home/bk/w3023-mysql-5.1-new
2006-03-03 09:57:42 +01:00
unknown
4c6b4b01b9 WL#3023 (RBR: Use locks in a statement-like manner):
More adaptions to make it work with existing code base.


mysql-test/extra/rpl_tests/rpl_row_charset.test:
  Info for RBR events now include table id; changed test to not 
  depend on the table id.
mysql-test/r/rpl_ndb_blob.result:
  Result change
mysql-test/r/rpl_ndb_dd_basic.result:
  Result change
mysql-test/r/rpl_row_basic_7ndb.result:
  Result change
mysql-test/r/rpl_row_drop.result:
  Result change
mysql-test/r/rpl_row_log.result:
  Result change
mysql-test/r/rpl_row_log_innodb.result:
  Result change
mysql-test/r/rpl_row_sp008.result:
  Result change
mysql-test/r/rpl_switch_stm_row_mixed.result:
  Result change
sql/ha_ndbcluster_binlog.cc:
  Enabled patch to NDB to support new locking scheme.
sql/handler.cc:
  Added test to prevent logging if the binlog is closed.
sql/log.cc:
  Adaptions to use thread-local variable for enabling row-based replication.
sql/log_event.cc:
  Fixing compile failure.
sql/slave.cc:
  Reordering in initializer list to eliminate compiler warning.
sql/sql_base.cc:
  Bad use of return when DBUG_RETURN should be used.
sql/sql_insert.cc:
  Adaptions to use thread-local variable for enabling row-based replication.
2006-03-03 09:49:46 +01:00
mats@mysql.com
0ffd1be87d WL#3023 (RBR: Use locks in a statement-like manner):
More adaptions to make it work with existing code base.
2006-03-03 09:49:46 +01:00
unknown
3addd306a6 Merge
configure.in:
  Auto merged
client/mysqlimport.c:
  Auto merged
include/config-win.h:
  Auto merged
mysql-test/r/create.result:
  Auto merged
mysql-test/t/create.test:
  Auto merged
mysql-test/t/disabled.def:
  Auto merged
scripts/mysql_fix_privilege_tables.sql:
  Auto merged
sql/field.h:
  Auto merged
sql/log_event.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_partition.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
mysql-test/t/mysqldump.test:
  SCCS merged
2006-02-28 23:29:58 +01:00
kent@mysql.com
5d722a8491 Merge 2006-02-28 23:29:58 +01:00
unknown
3706278669 Windows compile fixes.
win/cmakefiles/mysys:
  Remove no longer existing source file from list.
sql/log_event.cc:
  Fix byte * <-> char * Windows build problem.
VC++Files/mysys/mysys.vcproj:
  Remove no longer existing source file from list.
2006-02-28 12:52:38 +01:00
knielsen@mysql.com
19c4ba39c4 Windows compile fixes. 2006-02-28 12:52:38 +01:00
unknown
4e31551b92 Merge mysql.com:/home/bkroot/mysql-5.1-new
into  mysql.com:/home/bk/w3023-mysql-5.1-new


configure.in:
  Auto merged
BitKeeper/deleted/.del-sp_notembedded.test:
  Auto merged
mysql-test/extra/binlog_tests/binlog.test:
  Auto merged
mysql-test/extra/binlog_tests/blackhole.test:
  Auto merged
mysql-test/r/binlog_stm_ctype_cp932.result:
  Auto merged
mysql-test/t/sp.test:
  Auto merged
scripts/mysql_fix_privilege_tables.sql:
  Auto merged
sql/ha_ndbcluster_binlog.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/handler.h:
  Auto merged
sql/log.h:
  Auto merged
sql/log_event.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
sql/table.h:
  Auto merged
2006-02-28 10:06:58 +01:00
mats@mysql.com
1e66bc0d16 Merge mysql.com:/home/bkroot/mysql-5.1-new
into  mysql.com:/home/bk/w3023-mysql-5.1-new
2006-02-28 10:06:58 +01:00
unknown
558c41abfb BUG#17752: Non-allocated memory caused core in rpl_multi_engine test
sql/log_event.cc:
  Removed optimization that is no longer valid
2006-02-27 22:14:46 +01:00
lars@mysql.com
616a47cc6d BUG#17752: Non-allocated memory caused core in rpl_multi_engine test 2006-02-27 22:14:46 +01:00
unknown
9a26412c5f Merge mysql.com:/home/bkroot/mysql-5.1-new
into  mysql.com:/home/bk/fix-mysql-5.1-release


sql/log_event.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_base.cc:
  Auto merged
2006-02-27 09:09:02 +01:00
mats@mysql.com
a865af0d4b Merge mysql.com:/home/bkroot/mysql-5.1-new
into  mysql.com:/home/bk/fix-mysql-5.1-release
2006-02-27 09:09:02 +01:00
unknown
1e3e30bdc2 log_event.cc:
Visual C++ dont relate 'byte' and 'char*' that close, added casts
mysql.sln:
  Only build mysqlserver.lib if embedded target


VC++Files/mysql.sln:
  Only build mysqlserver.lib if embedded target
sql/log_event.cc:
  Visual C++ dont relate 'byte' and 'char*' that close, added casts
2006-02-26 01:16:11 +01:00
kent@mysql.com
1bc614f204 log_event.cc:
Visual C++ dont relate 'byte' and 'char*' that close, added casts
mysql.sln:
  Only build mysqlserver.lib if embedded target
2006-02-26 01:16:11 +01:00
unknown
7cac0ddfd0 WL#2977 and WL#2712 global and session-level variable to set the binlog format (row/statement),
and new binlog format called "mixed" (which is statement-based except if only row-based is correct,
in this cset it means if UDF or UUID is used; more cases could be added in later 5.1 release):
SET GLOBAL|SESSION BINLOG_FORMAT=row|statement|mixed|default;
the global default is statement unless cluster is enabled (then it's row) as in 5.1-alpha.
It's not possible to use SET on this variable if a session is currently in row-based mode and has open temporary tables (because CREATE
TEMPORARY TABLE was not binlogged so temp table is not known on slave),  or if NDB is enabled (because
NDB does not support such change on-the-fly, though it will later), of if in a stored function (see below).
The added tests test the possibility or impossibility to SET, their effects, and the mixed mode,
including in prepared statements and in stored procedures and functions.
Caveats:
a) The mixed mode will not work for stored functions: in mixed mode, a stored function will
always be binlogged as one call and in a statement-based way (e.g. INSERT VALUES(myfunc()) or SELECT myfunc()).
b) for the same reason, changing the thread's binlog format inside a stored function is
refused with an error message.
c) the same problems apply to triggers; implementing b) for triggers will be done later (will ask
Dmitri).
Additionally, as the binlog format is now changeable by each user for his session, I remove the implication
which was done at startup, where row-based automatically set log-bin-trust-routine-creators to 1
(not possible anymore as a user can now switch to stmt-based and do nasty things again), and automatically
set --innodb-locks-unsafe-for-binlog to 1 (was anyway theoretically incorrect as it disabled
phantom protection).
Plus fixes for compiler warnings.


mysql-test/r/rpl_row_4_bytes.result:
  update
mysql-test/t/rpl_row_4_bytes.test:
  don't influence next tests
sql/ha_archive.cc:
  please pay attention to this structure when you change it...
sql/ha_berkeley.cc:
  please pay attention to this structure when you change it...
sql/ha_blackhole.cc:
  please pay attention to this structure when you change it...
sql/ha_federated.cc:
  please pay attention to this structure when you change it...
sql/ha_heap.cc:
  please pay attention to this structure when you change it...
sql/ha_innodb.cc:
  please pay attention to this structure when you change it...
sql/ha_myisam.cc:
  please pay attention to this structure when you change it...
sql/ha_myisammrg.cc:
  please pay attention to this structure when you change it...
sql/ha_ndbcluster_binlog.cc:
  no more global 'binlog_row_based'
sql/ha_partition.cc:
  please pay attention to this structure when you change it...
sql/handler.cc:
  please pay attention to this structure when you change it...
sql/handler.h:
  it's good to initialize statically (to get no compiler warning) even if to a null value.
sql/item_func.cc:
  UDFs require row-based if this is the "mixed" binlog format.
sql/item_strfunc.cc:
  UUID() requires row-based binlogging if this is the "mixed" binlog format
sql/log.cc:
  binlog_row_based -> thd->current_stmt_binlog_row_based
sql/log.h:
  the enum enum_binlog_format moves to log.h from mysqld.cc as we need it in several places.
sql/log_event.cc:
  binlog_row_based -> thd->current_stmt_binlog_row_based
sql/log_event.h:
  this global variable not used anymore
sql/mysql_priv.h:
  these global variables not used anymore
sql/mysqld.cc:
  simplification in the handling of --binlog-format (but with no user-visible change), thanks to
  the new global system variable.
  RBR does not anymore turn on --log-bin-trust-function-creators and --innodb-locks-unsafe-for-binlog
  as these are global options and RBR is now settable per session.
sql/partition_info.cc:
  compiler warnings
sql/set_var.cc:
  new class of thread's variable, to handle the binlog_format (like sys_var_thd_enum except
  that is_readonly() is overriden for more checks before update).
  compiler warnings (ok'd by Serg)
sql/set_var.h:
  new class for the thread's binlog_format (see set_var.cc)
sql/share/errmsg.txt:
  some messages for when one can't toggle from one binlog format to another
sql/sp_head.cc:
  binlog_row_based -> thd->current_stmt_binlog_row_based
sql/sql_base.cc:
  binlog_row_based -> thd->current_stmt_binlog_row_based
sql/sql_class.cc:
  When a THD is initialized, we set its current_stmt_binlog_row_based
sql/sql_class.h:
  new THD::variables.binlog_format (the value of the session variable set by SET
  or inherited from the global value), and THD::current_stmt_binlog_row_based which tells if the
  current statement does row-based or statement-based binlogging. Both members are needed
  as the 2nd one cannot be derived only from the first one (the statement's type plays a role too),
  and the 1st one is needed to reset the 2nd one.
sql/sql_delete.cc:
  binlog_row_based -> thd->current_stmt_binlog_row_based
sql/sql_insert.cc:
  binlog_row_based -> thd->current_stmt_binlog_row_based
sql/sql_load.cc:
  binlog_row_based -> thd->current_stmt_binlog_row_based.
sql/sql_parse.cc:
  when we are done with a statement, we reset the current_stmt_binlog_row_based to the value
  derived from THD::variables.binlog_format.
sql/sql_partition.cc:
  compiler warning
sql/sql_show.cc:
  compiler warning
sql/sql_table.cc:
  binlog_row_based -> thd->current_stmt_binlog_row_based
tests/mysql_client_test.c:
  compiler warning
mysql-test/r/ndb_binlog_basic2.result:
  new result
mysql-test/r/rpl_switch_stm_row_mixed.result:
  new result
mysql-test/t/ndb_binlog_basic2.test:
  new test to verify that if cluster is enabled, can't change binlog format on the fly.
mysql-test/t/rpl_switch_stm_row_mixed.test:
  test to see if one can switch between SBR, RBR, and "mixed" mode, and when one cannot,
  and test to see if the switching, and the mixed mode, work properly (using UUID() to test,
  as using UDFs is not possible in the testsuite for portability reasons).
2006-02-25 22:21:03 +01:00
guilhem@mysql.com
0071749595 WL#2977 and WL#2712 global and session-level variable to set the binlog format (row/statement),
and new binlog format called "mixed" (which is statement-based except if only row-based is correct,
in this cset it means if UDF or UUID is used; more cases could be added in later 5.1 release):
SET GLOBAL|SESSION BINLOG_FORMAT=row|statement|mixed|default;
the global default is statement unless cluster is enabled (then it's row) as in 5.1-alpha.
It's not possible to use SET on this variable if a session is currently in row-based mode and has open temporary tables (because CREATE
TEMPORARY TABLE was not binlogged so temp table is not known on slave),  or if NDB is enabled (because
NDB does not support such change on-the-fly, though it will later), of if in a stored function (see below).
The added tests test the possibility or impossibility to SET, their effects, and the mixed mode,
including in prepared statements and in stored procedures and functions.
Caveats:
a) The mixed mode will not work for stored functions: in mixed mode, a stored function will
always be binlogged as one call and in a statement-based way (e.g. INSERT VALUES(myfunc()) or SELECT myfunc()).
b) for the same reason, changing the thread's binlog format inside a stored function is
refused with an error message.
c) the same problems apply to triggers; implementing b) for triggers will be done later (will ask
Dmitri).
Additionally, as the binlog format is now changeable by each user for his session, I remove the implication
which was done at startup, where row-based automatically set log-bin-trust-routine-creators to 1
(not possible anymore as a user can now switch to stmt-based and do nasty things again), and automatically
set --innodb-locks-unsafe-for-binlog to 1 (was anyway theoretically incorrect as it disabled
phantom protection).
Plus fixes for compiler warnings.
2006-02-25 22:21:03 +01:00
unknown
d11aa8345d Merge mysqldev@production.mysql.com:my/mysql-5.1-release
into  mysql.com:/home/bk/w3023-mysql-5.1-new


mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test:
  Auto merged
mysql-test/extra/rpl_tests/rpl_log.test:
  Auto merged
mysql-test/extra/rpl_tests/rpl_row_delayed_ins.test:
  Auto merged
mysql-test/r/binlog_row_insert_select.result:
  Auto merged
mysql-test/r/rpl_row_delayed_ins.result:
  Auto merged
mysql-test/t/rpl_sp.test:
  Auto merged
mysql-test/t/sp.test:
  Auto merged
sql/ha_ndbcluster_binlog.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/handler.h:
  Auto merged
mysql-test/t/rpl_ndb_dd_basic.test:
  Auto merged
sql/log.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/slave.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/table.h:
  Auto merged
mysql-test/r/binlog_row_mix_innodb_myisam.result:
  Merge with 5.1.7 release clone.
mysql-test/r/rpl_row_basic_11bugs.result:
  Merge with 5.1.7 release clone.
mysql-test/r/rpl_row_basic_2myisam.result:
  Merge with 5.1.7 release clone.
mysql-test/r/rpl_row_basic_3innodb.result:
  Merge with 5.1.7 release clone.
mysql-test/r/rpl_row_create_table.result:
  Merge with 5.1.7 release clone.
mysql-test/r/rpl_row_log.result:
  Merge with 5.1.7 release clone.
mysql-test/r/rpl_row_log_innodb.result:
  Merge with 5.1.7 release clone.
mysql-test/r/rpl_row_sp008.result:
  Merge with 5.1.7 release clone.
mysql-test/t/rpl_row_basic_11bugs.test:
  Merge with 5.1.7 release clone.
mysql-test/t/rpl_row_sp008.test:
  Merge with 5.1.7 release clone.
2006-02-24 16:31:38 +01:00
mats@mysql.com
13a61982a9 Merge mysqldev@production.mysql.com:my/mysql-5.1-release
into  mysql.com:/home/bk/w3023-mysql-5.1-new
2006-02-24 16:31:38 +01:00
unknown
613fb54f95 WL#3023 (RBR: Use locks in a statement-like manner):
Adaptions to make it work with NDB.


mysql-test/extra/binlog_tests/binlog.test:
  Using replace_regex to remove table id.
mysql-test/extra/binlog_tests/blackhole.test:
  Using replace_regex to remove table id.
mysql-test/extra/binlog_tests/ctype_cp932.test:
  Using replace_regex to remove table id.
mysql-test/extra/binlog_tests/ctype_cp932_binlog.test:
  Using replace_regex to remove table id.
mysql-test/extra/binlog_tests/ctype_ucs_binlog.test:
  Using replace_regex to remove table id.
mysql-test/extra/binlog_tests/drop_temp_table.test:
  Using replace_regex to remove table id.
mysql-test/extra/binlog_tests/insert_select-binlog.test:
  Using replace_regex to remove table id.
mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test:
  Using replace_regex to remove table id.
mysql-test/extra/rpl_tests/rpl_flsh_tbls.test:
  Using replace_regex to remove table id.
mysql-test/extra/rpl_tests/rpl_log.test:
  Using replace_regex to remove table id.
mysql-test/extra/rpl_tests/rpl_multi_query.test:
  Using replace_regex to remove table id.
mysql-test/extra/rpl_tests/rpl_row_charset.test:
  Using replace_regex to remove table id.
mysql-test/extra/rpl_tests/rpl_row_delayed_ins.test:
  Using replace_regex to remove table id.
mysql-test/extra/rpl_tests/rpl_stm_charset.test:
  Using replace_regex to remove table id.
mysql-test/include/rpl_row_basic.inc:
  Removing sync with master on cleanup since there are engines that does
  not work in a "syncronized" fashion on dropping tables.
mysql-test/r/binlog_row_binlog.result:
  Result change
mysql-test/r/binlog_row_blackhole.result:
  Result change
mysql-test/r/binlog_row_ctype_cp932.result:
  Result change
mysql-test/r/binlog_row_ctype_ucs.result:
  Result change
mysql-test/r/binlog_row_insert_select.result:
  Result change
mysql-test/r/binlog_row_mix_innodb_myisam.result:
  Result change
mysql-test/r/ctype_cp932_binlog_row.result:
  Result change
mysql-test/r/rpl_row_basic_11bugs.result:
  Result change
mysql-test/r/rpl_row_basic_2myisam.result:
  Result change
mysql-test/r/rpl_row_basic_3innodb.result:
  Result change
mysql-test/r/rpl_row_charset.result:
  Result change
mysql-test/r/rpl_row_create_table.result:
  Result change
mysql-test/r/rpl_row_delayed_ins.result:
  Result change
mysql-test/r/rpl_row_log.result:
  Result change
mysql-test/r/rpl_row_log_innodb.result:
  Result change
mysql-test/r/rpl_row_max_relay_size.result:
  Result change
mysql-test/r/rpl_row_sp008.result:
  Result change
mysql-test/t/binlog_stm_binlog.test:
  Using replace_regex to remove table id.
mysql-test/t/ndb_binlog_ddl_multi.test:
  Using replace_regex to remove table id.
mysql-test/t/ndb_binlog_ignore_db.test:
  Using replace_regex to remove table id.
mysql-test/t/rpl_heap.test:
  Using replace_regex to remove table id.
mysql-test/t/rpl_loaddata_s.test:
  Using replace_regex to remove table id.
mysql-test/t/rpl_ndb_blob.test:
  Using replace_regex to remove table id.
mysql-test/t/rpl_ndb_disk.test:
  Using replace_regex to remove table id.
mysql-test/t/rpl_row_basic_11bugs.test:
  Using replace_regex to remove table id.
mysql-test/t/rpl_row_create_table.test:
  Using replace_regex to remove table id.
mysql-test/t/rpl_row_drop.test:
  Using replace_regex to remove table id.
mysql-test/t/rpl_row_sp008.test:
  Using replace_regex to remove table id.
mysql-test/t/rpl_sp.test:
  Using replace_regex to remove table id.
mysql-test/t/sp.test:
  Using replace_regex to remove table id.
mysql-test/t/sp_notembedded.test:
  Using replace_regex to remove table id.
mysql-test/t/user_var-binlog.test:
  Using replace_regex to remove table id.
sql/ha_ndbcluster_binlog.cc:
  Assign_new_table_id() now takes table share.
  Removed gratuitous friend declaration of ndb_add_binlog_index().
  Turning of binlogging during execution of ndb_add_binlog_index().
sql/handler.h:
  Removed gratuitous friend declaration of ndb_add_binlog_index().
sql/log.cc:
  Adding debug printout.
sql/log_event.cc:
  Closing thread tables on dummy event.
sql/rpl_injector.cc:
  Added support for new locking scheme.
sql/rpl_injector.h:
  Added support for new locking scheme.
2006-02-24 16:19:55 +01:00
mats@mysql.com
101edab125 WL#3023 (RBR: Use locks in a statement-like manner):
Adaptions to make it work with NDB.
2006-02-24 16:19:55 +01:00
unknown
dededdec0a BUG#13418 (V2): Bit columns should replicate correctly when using RBR
mysql-test/r/rpl_bit_npk.result:
  Updated results
mysql-test/t/disabled.def:
  rpl_bit_npk now works
sql/field.h:
  Field_bit::cmp_binary_offset wrongly used base class method that does not work for Field_bit
  This was discussed with Monty and should be pushed into 5.0 too
sql/log_event.cc:
  Added checks for null bits
  Swapped use of m_after_image (was m_search_record) and table->record[1] to use record[i] 
  in the same way as other MySQL code (i.e. use record[1] for scan data).
  Removed use of cmp_binary in record_compare (it is currently wrong to use that 
  without copying the null bits to the compare data record)
sql/log_event.h:
  Name change to indicate new semantics
2006-02-24 15:38:20 +01:00
lars@mysql.com
32a8a469a7 BUG#13418 (V2): Bit columns should replicate correctly when using RBR 2006-02-24 15:38:20 +01:00
unknown
e2994b2857 Bug#17678 (RBR format change: moving from VLE to net encoding):
Switching to use net_*_length() instead of VLE functions.


sql/log_event.cc:
  Switching to use net_*_length() instead of VLE functions.
2006-02-23 22:19:47 +01:00
mats@mysql.com
0cc0884200 Bug#17678 (RBR format change: moving from VLE to net encoding):
Switching to use net_*_length() instead of VLE functions.
2006-02-23 22:19:47 +01:00
unknown
671d3e1ed5 Post-merge fixes.
sql/ha_ndbcluster_binlog.cc:
  A post-merge fix.
sql/log_event.cc:
  A post-merge fix.
2006-02-22 20:03:25 +03:00
konstantin@mysql.com
97d36a453e Post-merge fixes. 2006-02-22 20:03:25 +03:00
unknown
738a1ca08d Merge mysql.com:/home/bkroot/mysql-5.1-new
into  mysql.com:/home/bk/w3023-mysql-5.1-new


mysql-test/extra/binlog_tests/ctype_cp932.test:
  Auto merged
mysql-test/r/binlog_row_blackhole.result:
  Auto merged
mysql-test/r/binlog_stm_ctype_cp932.result:
  Auto merged
sql/handler.cc:
  Auto merged
sql/handler.h:
  Auto merged
sql/lock.cc:
  Auto merged
sql/log.cc:
  Auto merged
sql/log.h:
  Auto merged
sql/log_event.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/parse_file.cc:
  Auto merged
sql/slave.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_load.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
sql/table.h:
  Auto merged
sql/log_event.cc:
  Merge with mysql-5.1-new
2006-02-16 08:46:45 +01:00
mats@mysql.com
43bc3c4068 Merge mysql.com:/home/bkroot/mysql-5.1-new
into  mysql.com:/home/bk/w3023-mysql-5.1-new
2006-02-16 08:46:45 +01:00
unknown
41f7d13853 WL#3023 (Use locks in a statement-like manner):
Table maps are now written on aquiring locks to tables and released
  at the end of each logical statement.


mysql-test/extra/binlog_tests/ctype_cp932.test:
  Disabling cleanup code
mysql-test/r/binlog_row_blackhole.result:
  Result change
mysql-test/r/binlog_row_mix_innodb_myisam.result:
  Result change
mysql-test/r/binlog_stm_ctype_cp932.result:
  Result change
mysql-test/r/rpl_row_charset.result:
  Result change
mysql-test/r/rpl_row_create_table.result:
  Result change
mysql-test/t/rpl_row_create_table.test:
  Binlog position change
sql/handler.cc:
  Writing table map after external_lock()
sql/handler.h:
  Adding class for table operation hooks.
sql/log.cc:
  Adding binlog_write_table_map() to THD.
  Removing write_table_map() from MYSQL_LOG.
sql/log.h:
  Minor interface changes to move table map writing.
sql/log_event.cc:
  Removing pre-allocation of memory for buffers.
  Allowing ULONG_MAX as table id denoting an event to ignore (only used to transfer flags).
  Adding code to collect tables while seeing table maps and lock collected tables
  when seeing a binrow event.
  Debriding code as a result of the above changes.
sql/log_event.h:
  Minor interface changes.
sql/mysql_priv.h:
  Adding hooks argument to create_table_from_items().
sql/parse_file.cc:
  Minor fix to avoid crash in debug printout.
sql/rpl_rli.h:
  Adding list of tables to lock to RLI structure.
sql/slave.cc:
  Using list of tables to lock from RLI structure.
sql/sql_acl.cc:
  Removing redundant pending events flush.
sql/sql_base.cc:
  Moving pending event flush.
  Using flag to guard to clear statement transaction only if this is the original
  open tables state.
sql/sql_class.cc:
  Adding flag for open tables state.
  Removing redundant pending events flushes.
  Write a dummy event to indicate that the tables to lock should be emptied
  on the slave.
sql/sql_class.h:
  Adding open tables state flags.
  Adding binlog_write_table_map() function to THD.
  Changes to select_create() to support new locking scheme.
sql/sql_insert.cc:
  Adding rollback of statement transaction on error. It can now contain
  events after locking tables.
sql/sql_load.cc:
  Removing redundant pending event flush.
sql/sql_table.cc:
  Adding hooks argument to create_table_from_items().
  Calling prelock hook before starting to lock tables.
sql/sql_update.cc:
  Removing a compiler warning.
sql/table.h:
  Minor changes.
2006-02-16 08:30:53 +01:00
mats@mysql.com
2884408c75 WL#3023 (Use locks in a statement-like manner):
Table maps are now written on aquiring locks to tables and released
  at the end of each logical statement.
2006-02-16 08:30:53 +01:00
unknown
00c7507249 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-new
into serg.mylan:/usr/home/serg/Abk/mysql-5.1


sql/ha_ndbcluster.cc:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2006-02-15 14:04:56 +01:00
serg@serg.mylan
d5294e86bf Merge bk-internal.mysql.com:/home/bk/mysql-5.1-new
into serg.mylan:/usr/home/serg/Abk/mysql-5.1
2006-02-15 14:04:56 +01:00
unknown
d3ee9abf2a dbug changes:
1. dbug state is now local to a thread
2. new macros: DBUG_EXPLAIN, DBUG_EXPLAIN_INITIAL,
   DBUG_SET, DBUG_SET_INITIAL, DBUG_EVALUATE, DBUG_EVALUATE_IF
3. macros are do{}while(0) wrapped
4. incremental modifications to the dbug state (e.g. "+d,info:-t")
5. dbug code cleanup, style fixes
6. _db_on_ and DEBUGGER_ON/OFF removed
7. rest of MySQL code fixed because of 3 (missing ;) and 6
8. dbug manual updated
9. server variable @@debug (global and local) to control dbug from SQL!
a. -#T to print timestamps in the log


BitKeeper/deleted/.del-readme.prof~2f3bae1550a0038d:
  Delete: dbug/readme.prof
client/mysqlslap.c:
  typo fixed
configure.in:
  test for sleep() too
dbug/dbug.c:
  thread local dbug settings
  DBUG_EXPLAIN,DBUG_EXPLAIN_INITIAL,DBUG_SET,DBUG_SET_INITIAL
  style changes to be more in line with MySQL code
  cleanup (many mallocs removed)
  incremental modification of dbug state (e.g. DBUG_PUSH("+t:-d,info"))
  DBUG_SET, _db_explain_
  -#T
dbug/monty.doc:
  obsolete and duplicate docs removed
dbug/user.r:
  new features documented
include/my_dbug.h:
  correct do{}while wrapping
  thread local dbug settings
  DBUG_EXPLAIN,DBUG_EXPLAIN_INITIAL,DBUG_SET,DBUG_SET_INITIAL
  DBUG_EVALUATE,DBUG_EVALUATE_IF
libmysql/libmysql.c:
  remove _db_on_ and DEBUGGER_ON/OFF
mysys/my_init.c:
  missed DBUG_RETURN
mysys/my_thr_init.c:
  bugfix - transaction id's are unsigned
mysys/testhash.c:
  remove _db_on_ and DEBUGGER_ON/OFF
sql/ha_myisammrg.cc:
  missed ;
sql/ha_ndbcluster.cc:
  remove _db_on_ and DEBUGGER_ON/OFF
  missed ;
sql/ha_ndbcluster_binlog.cc:
  remove _db_on_ and DEBUGGER_ON/OFF
  missed ;
sql/item_cmpfunc.cc:
  missed ;
sql/lock.cc:
  missed DBUG_RETURN
sql/log_event.cc:
  missed ;
sql/mysqld.cc:
  remove _db_on_ and DEBUGGER_ON/OFF
  missed ;
  DBUG_SET_INITIAL
sql/opt_range.cc:
  remove _db_on_ and DEBUGGER_ON/OFF
sql/set_var.cc:
  class sys_var_thd_dbug and "debug" server variable
sql/set_var.h:
  class sys_var_thd_dbug and "debug" server variable
sql/slave.cc:
  missed ;
sql/sql_cache.cc:
  missed ;
sql/sql_plugin.cc:
  missed ;
sql/sql_select.cc:
  remove _db_on_ and DEBUGGER_ON/OFF
storage/heap/hp_test2.c:
  remove _db_on_ and DEBUGGER_ON/OFF
storage/myisam/ft_eval.c:
  remove _db_on_ and DEBUGGER_ON/OFF
storage/myisam/ft_test1.c:
  remove _db_on_ and DEBUGGER_ON/OFF
storage/myisam/mi_open.c:
  remove _db_on_ and DEBUGGER_ON/OFF
  missed ;
storage/myisam/mi_test1.c:
  remove _db_on_ and DEBUGGER_ON/OFF
storage/myisam/mi_test2.c:
  remove _db_on_ and DEBUGGER_ON/OFF
storage/myisam/mi_test3.c:
  remove _db_on_ and DEBUGGER_ON/OFF
storage/ndb/src/ndbapi/DictCache.cpp:
  missed ;
storage/ndb/src/ndbapi/NdbTransaction.cpp:
  missed ;
tests/mysql_client_test.c:
  remove _db_on_ and DEBUGGER_ON/OFF
2006-02-14 22:36:11 +01:00
serg@serg.mylan
63cfd11859 dbug changes:
1. dbug state is now local to a thread
2. new macros: DBUG_EXPLAIN, DBUG_EXPLAIN_INITIAL,
   DBUG_SET, DBUG_SET_INITIAL, DBUG_EVALUATE, DBUG_EVALUATE_IF
3. macros are do{}while(0) wrapped
4. incremental modifications to the dbug state (e.g. "+d,info:-t")
5. dbug code cleanup, style fixes
6. _db_on_ and DEBUGGER_ON/OFF removed
7. rest of MySQL code fixed because of 3 (missing ;) and 6
8. dbug manual updated
9. server variable @@debug (global and local) to control dbug from SQL!
a. -#T to print timestamps in the log
2006-02-14 22:36:11 +01:00
unknown
85305ce79c Merge mysql.com:/usr_rh9/home/elkin.rh9/MySQL/Merge/5.0
into  mysql.com:/usr_rh9/home/elkin.rh9/MySQL/Merge/5.1-new


BitKeeper/deleted/.del-ctype_ucs_binlog.result~280d136b1a0bcf17:
  Auto merged
mysql-test/r/user_var-binlog.result:
  Auto merged
mysql-test/t/mysql.test:
  Auto merged
mysql-test/t/mysqlbinlog.test:
  Auto merged
mysql-test/t/rpl_trigger.test:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
mysql-test/r/rpl_stm_charset.result:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
mysql-test/r/rpl_timezone.result:
  manual merge use local. Result file has to be refined according to changes brought in
  to the test.
2006-02-14 20:48:34 +02:00
aelkin@mysql.com
7397bc8fb4 Merge mysql.com:/usr_rh9/home/elkin.rh9/MySQL/Merge/5.0
into  mysql.com:/usr_rh9/home/elkin.rh9/MySQL/Merge/5.1-new
2006-02-14 20:48:34 +02:00
unknown
a68f171585 BUG#16217 fix partly backported from 5.0. It is different in mysqlbinlog part.
This changeset is assumed to stay in 4.1.


client/mysql.cc:
  BUG#16217 forced to introduce a separate mysql client command.
  Feature is backported from 5.0, precisely 
  ChangeSet 1.2034 06/02/09 16:23:09 aelkin@mysql.com
  (under second review at the moment)
mysql-test/r/mysqlbinlog.result:
  changed in 5.0
mysql-test/t/mysqlbinlog.test:
  backported from 5.0. The last part of the test to mimic bug#16217
sql/log_event.cc:
  Inserting exclaiming comment command for mysql client made differently than in 5.0.
  Parsing still is cheap enough not to think to modify server code instead.
2006-02-10 15:12:27 +02:00
aelkin@mysql.com
14ced05e55 BUG#16217 fix partly backported from 5.0. It is different in mysqlbinlog part.
This changeset is assumed to stay in 4.1.
2006-02-10 15:12:27 +02:00
unknown
e025e47a76 BUG#16217 forced to introduce a separate mysql client command to adopt its
internal charset to one associated with currently being handled query. 
To note such a query can come from interactive client either.

There was a discussion within replication team and Monty who's suggestion won.
It avoids straightforward parsing of all `set' queries that could affect client side 
character set. 
According to the idea, mysql client does not parse `set' queries but rather cares of
`charset new_cs_name' command.
This command is generated by mysqlbinlog in form of exclaiming comment (Lars' suggestion)
so that enlightened clients like `mysql' knows what to do with it.

Interactive human can switch between many multi-byte charsets during the session 
providing the command explicitly. 
To note that setting new internal mysql's charset does not
trigger sending any `SET' sql statement to the server. 


client/mysql.cc:
  BUG#16217 revealed the problem of switching between charsets in mysql client.
  Such switching is necessary in a case when being scanned query consists of 
  multi-byte chars and internal charset was initialized differently. mysql finds 
  `/' escape and misiterprete it 
  while in fact one could be a part of a multi-byte symbol like the bug page reported. 
  
  This patch extends mysql `charset' command, '\C' shortcut.
mysql-test/r/ctype_ucs_binlog.result:
  comment line generated by mysqlbinlog for processing of logs with multi-byte chars.
mysql-test/r/mysql.result:
  results are altered due to #16217
mysql-test/r/mysqlbinlog.result:
  Results are altered due to #16217
mysql-test/r/mysqlbinlog2.result:
  commeted command for mysql client due to multi-byte binlog
mysql-test/r/rpl_charset.result:
  commented command for mysql due to multi-byte binlogs
mysql-test/r/rpl_timezone.result:
  commented command for mysql client due to multi-byte binlogs
mysql-test/r/user_var-binlog.result:
  commented command for mysql client due to multi-byte binlogs
mysql-test/t/mysql.test:
  Main test for mysql client is extended to check `charset' command.
mysql-test/t/mysqlbinlog.test:
  Checking how /*! \C cs_name */ are added to the output of mysqlbinlog.
  The exclaiming comment is for further processing by mysql client.
  The added part mimics the failure to recover tables from binlog - see BUG#16217.
sql/log_event.cc:
  Sending into output instructions for mysql client to switch internally 
  to appropriate charset.
  mysql client is supposed to be invoked with --default-character-set=
  "to default character set of the server created the binlog".
2006-02-09 16:23:09 +02:00
aelkin@mysql.com
dd2a44c497 BUG#16217 forced to introduce a separate mysql client command to adopt its
internal charset to one associated with currently being handled query. 
To note such a query can come from interactive client either.

There was a discussion within replication team and Monty who's suggestion won.
It avoids straightforward parsing of all `set' queries that could affect client side 
character set. 
According to the idea, mysql client does not parse `set' queries but rather cares of
`charset new_cs_name' command.
This command is generated by mysqlbinlog in form of exclaiming comment (Lars' suggestion)
so that enlightened clients like `mysql' knows what to do with it.

Interactive human can switch between many multi-byte charsets during the session 
providing the command explicitly. 
To note that setting new internal mysql's charset does not
trigger sending any `SET' sql statement to the server.
2006-02-09 16:23:09 +02:00
unknown
97dae00306 Merge mysql.com:/home/kostja/mysql/tmp_merge
into  mysql.com:/home/kostja/mysql/mysql-5.1-merge


client/mysqlbinlog.cc:
  Auto merged
client/mysqldump.c:
  Auto merged
include/my_base.h:
  Auto merged
libmysql/libmysql.c:
  Auto merged
sql/field.h:
  Auto merged
sql/ha_myisam.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/opt_range.h:
  Auto merged
sql/repl_failsafe.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/slave.cc:
  Auto merged
sql/slave.h:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_db.cc:
  Auto merged
sql/sql_handler.cc:
  Auto merged
sql/sql_help.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_repl.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_test.cc:
  Auto merged
sql-common/client.c:
  Auto merged
sql/table.cc:
  Auto merged
storage/myisam/mi_delete.c:
  Auto merged
storage/myisam/myisampack.c:
  Auto merged
storage/myisam/sort.c:
  Auto merged
mysys/my_bitmap.c:
  Manual merge
sql/field.cc:
  e
  Manual merge
sql/item.cc:
  Manual merge (new Field_bit_as_char constructor signature)
sql/item_func.cc:
  Manual merge: use local
sql/sql_insert.cc:
  Manual merge: add VOID() around bitmap_init
2006-02-02 16:57:34 +03:00
konstantin@mysql.com
92b41ba92a Merge mysql.com:/home/kostja/mysql/tmp_merge
into  mysql.com:/home/kostja/mysql/mysql-5.1-merge
2006-02-02 16:57:34 +03:00
unknown
456524c060 Rename of my_strdup_with_lenght to match the more common "strndup" method. Soo its now my_strndup().
my_stat() gettinng the correct parameter list may be next :)


client/mysqlslap.c:
  rename
extra/comp_err.c:
  rename
include/my_sys.h:
  replace
mysys/mf_tempdir.c:
  replace
mysys/my_malloc.c:
  replace
mysys/safemalloc.c:
  replace
sql/ha_federated.cc:
  replace
sql/log_event.cc:
  replace
sql/set_var.cc:
  replace
sql/set_var.h:
  replace
storage/myisam/ft_stopwords.c:
  replace
2006-01-25 19:54:42 -08:00
brian@zim.tangent.org
570bffe8c7 Rename of my_strdup_with_lenght to match the more common "strndup" method. Soo its now my_strndup().
my_stat() gettinng the correct parameter list may be next :)
2006-01-25 19:54:42 -08:00