- 27 Feb, 2007 7 commits
-
-
unknown authored
-
unknown authored
into mysql.com:/nfsdisk1/lars/MERGE/mysql-5.1-merge sql/sql_load.cc: Auto merged mysql-test/r/rpl_user_variables.result: Manual merge mysql-test/t/rpl_user_variables.test: Manual merge sql/item_func.cc: Manual merge sql/log.cc: Manual merge sql/sp_head.cc: Manual merge sql/sql_class.cc: Manual merge sql/sql_class.h: Manual merge
-
unknown authored
into mysql.com:/nfsdisk1/lars/MERGE/mysql-5.0-merge sql/sql_load.cc: Manual merge
-
unknown authored
into mysql.com:/nfsdisk1/lars/MERGE/mysql-5.1-merge
-
unknown authored
into mysql.com:/nfsdisk1/lars/MERGE/mysql-5.0-merge
-
unknown authored
SF/Triggers in SBR mode." BUG#14914 "SP: Uses of session variables in routines are not always replicated" BUG#25167 "Dupl. usage of user-variables in trigger/function is not replicated correctly" This patch corrects a minor error in the previous patch for BUG#20141. This patch corrects an errant code change to sp_head.cc. The comments for the first patch follow: User-defined variables used inside of stored functions/triggers in statements which did not update tables directly were not replicated. We also had problems with replication of user-defined variables which were used in triggers (or stored functions called from table-updating statements) more than once. This patch addresses the first issue by enabling logging of all references to user-defined variables in triggers/stored functions and not only references from table-updating statements. The second issue stemmed from the fact that for user-defined variables used from triggers or stored functions called from table-updating statements we were writing binlog events for each reference instead of only one event for the first reference. This problem is already solved for stored functions called from non-updating statements with help of "event unioning" mechanism. So the patch simply extends this mechanism to the case affected. It also fixes small problem in this mechanism which caused wrong logging of references to user-variables in cases when non-updating statement called several stored functions which used the same variable and some of these function calls were omitted from binlog as they were not updating any tables. sql/sp_head.cc: BUG#20141 "User-defined variables are not replicated properly for SF/Triggers in SBR mode." This patch corrects a minor error in the previous patch for BUG#20141. The code: q= ::query_id; was an errant line of code that was not intended to be in the patch. Instead, the correct line of code is: q= global_query_id;
-
unknown authored
SF/Triggers in SBR mode." BUG#14914 "SP: Uses of session variables in routines are not always replicated" BUG#25167 "Dupl. usage of user-variables in trigger/function is not replicated correctly" This patch corrects a minor error in the previous patch for BUG#20141. This patch corrects an errant code change to sp_head.cc. The comments for the first patch follow: User-defined variables used inside of stored functions/triggers in statements which did not update tables directly were not replicated. We also had problems with replication of user-defined variables which were used in triggers (or stored functions called from table-updating statements) more than once. This patch addresses the first issue by enabling logging of all references to user-defined variables in triggers/stored functions and not only references from table-updating statements. The second issue stemmed from the fact that for user-defined variables used from triggers or stored functions called from table-updating statements we were writing binlog events for each reference instead of only one event for the first reference. This problem is already solved for stored functions called from non-updating statements with help of "event unioning" mechanism. So the patch simply extends this mechanism to the case affected. It also fixes small problem in this mechanism which caused wrong logging of references to user-variables in cases when non-updating statement called several stored functions which used the same variable and some of these function calls were omitted from binlog as they were not updating any tables. sql/sp_head.cc: BUG#20141 "User-defined variables are not replicated properly for SF/Triggers in SBR mode." This patch corrects a minor error in the previous patch for BUG#20141. The code: q= ::query_id; was an errant line of code that was not intended to be in the patch. Instead, the correct line of code is: q= global_query_id;
-
- 26 Feb, 2007 11 commits
-
-
unknown authored
to the client only after the binlog write and engine commit. No testcase for this bug, as to reproduce it, we need to "kill -9" mysqld, which we cannot do in the testsuite. But, I tested by hand. sql/sql_load.cc: D in ACID means that once the client got the ok from the server, the data is durable on disk. Implies that the ok must be sent after the binlog write and after the engine commit, not before.
-
unknown authored
into mysql_cab_desk.:C:/source/C++/mysql-5.1-new-rpl sql/item_func.cc: Auto merged sql/log.cc: Auto merged sql/log.h: Auto merged sql/sp_head.cc: Auto merged sql/sql_class.cc: Auto merged
-
unknown authored
into mysql_cab_desk.:C:/source/c++/mysql-5.0-rpl sql/item_func.cc: Auto merged sql/log.cc: Auto merged sql/sp_head.cc: Auto merged sql/sql_class.cc: Auto merged sql/sql_class.h: Auto merged
-
unknown authored
SF/Triggers in SBR mode." BUG#14914 "SP: Uses of session variables in routines are not always replicated" BUG#25167 "Dupl. usage of user-variables in trigger/function is not replicated correctly" User-defined variables used inside of stored functions/triggers in statements which did not update tables directly were not replicated. We also had problems with replication of user-defined variables which were used in triggers (or stored functions called from table-updating statements) more than once. This patch addresses the first issue by enabling logging of all references to user-defined variables in triggers/stored functions and not only references from table-updating statements. The second issue stemmed from the fact that for user-defined variables used from triggers or stored functions called from table-updating statements we were writing binlog events for each reference instead of only one event for the first reference. This problem is already solved for stored functions called from non-updating statements with help of "event unioning" mechanism. So the patch simply extends this mechanism to the case affected. It also fixes small problem in this mechanism which caused wrong logging of references to user-variables in cases when non-updating statement called several stored functions which used the same variable and some of these function calls were omitted from binlog as they were not updating any tables. mysql-test/r/rpl_user_variables.result: BUG#20141 - User-defined variables are not replicated properly for SF/Triggers in SBR mode. This patch adds the correct results for execution of the added test procedures to the rpl_user_variables test. mysql-test/t/rpl_user_variables.test: BUG#20141 - User-defined variables are not replicated properly for SF/Triggers in SBR mode. This patch adds additional tests to the rpl_user_variables test that test many of the different ways user-defined variables can be required to be replicated. sql/item_func.cc: BUG#20141 - User-defined variables are not replicated properly for SF/Triggers in SBR mode. To properly log accesses to user-defined variables from stored functions/triggers, the get_var_with_binlog() method needs to log references to such variables even from non-table-updating statements within them. sql/log.cc: BUG#20141 - User-defined variables are not replicated properly for SF/Triggers in SBR mode. This patch modifies the start_union_events method to accept the query id from a parameter. This allows callers to set the query_id to the id of the sub statement such as a trigger or stored function. Which permits the code to identify when a user defined variable has been used by the statement and this already present in THD::user_var_event. Note: The changes to sql_class.cc, sp_head.cc, and log.cc are designed to allow the proper replication of access to user-defined variables under a special test case (the last case shown in rpl_user_variables.test). sql/log.h: BUG#20141 - User-defined variables are not replicated properly for SF/Triggers in SBR mode. This patch adds the query_id parameter to the calls to mysql_bin_log.start_union_events(). sql/sp_head.cc: BUG#20141 - User-defined variables are not replicated properly for SF/Triggers in SBR mode. This patch modifies the code to allow for cases where events for function calls have a separate union for each event and thus cannot use the query_id of the caller as the start of the union. Thus, we use an artifically created query_id to set the start of the events. Note: The changes to sql_class.cc, sp_head.cc, and log.cc are designed to allow the proper replication of access to user-defined variables under a special test case (the last case shown in rpl_user_variables.test). sql/sql_class.cc: BUG#20141 - User-defined variables are not replicated properly for SF/Triggers in SBR mode. This patch adds the query_id parameter to the calls to mysql_bin_log.start_union_events(). Note: The changes to sql_class.cc, sp_head.cc, and log.cc are designed to allow the proper replication of access to user-defined variables under a special test case (the last case shown in rpl_user_variables.test).
-
unknown authored
sql/log.cc: Eliminating some warning from incompatible arguments to DBUG_PRINT(). sql/log_event.cc: Eliminating unused auto variable. sql/sql_insert.cc: Eliminating some warning from incompatible arguments to DBUG_PRINT().
-
unknown authored
Adding code to release allocated memory when tables_to_lock list is cleared. sql/log_event.cc: Using RPL_TABLE_LIST instead of TABLE_LIST for tables_to_lock. sql/rpl_rli.cc: Moving st_relay_log_info::clear_tables_to_lock() into rpl_rli.cc. Adding code to release memory allocated for saved table definition. sql/rpl_rli.h: Moving st_relay_log_info::clear_tables_to_lock() into rpl_rli.cc. Using RPL_TABLE_LIST instead of TABLE_LIST for tables_to_lock. sql/rpl_utility.h: Adding forward declarations. Adding boolean to tell if tabledef is valid.
-
unknown authored
into romeo.(none):/home/bk/b25091-mysql-5.1-new-rpl sql/handler.cc: Auto merged sql/log.cc: Auto merged sql/sql_acl.cc: Auto merged
-
unknown authored
into romeo.(none):/home/bk/b25091-mysql-5.1-new-rpl sql/handler.cc: Auto merged sql/log.cc: Auto merged sql/sp.cc: Auto merged sql/table.h: Auto merged
-
unknown authored
With this patch, statements that change metadata (in the mysql database) is logged as statements, while normal changes (e.g., using INSERT, DELETE, and/or UPDATE) is logged according to the format in effect. The log tables (i.e., general_log and slow_log) are not replicated at all. With this patch, the following statements are replicated as statements: GRANT, REVOKE (ALL), CREATE USER, DROP USER, and RENAME USER. mysql-test/extra/binlog_tests/binlog.test: Added test to check that normal INSERT, DELETE, and UPDATE to a table in the mysql database is replicated both under row-based and statement-based replication. mysql-test/r/binlog_row_binlog.result: Result change. mysql-test/r/binlog_stm_binlog.result: Result change. sql/handler.cc: Removed hardcoded check for mysql database. Added table-specific flag for non-replication (used by log tables). sql/log.cc: Adding flag that a table shall not be replicated and set it for log tables. sql/sp.cc: Turning row-based replication off for statements that change metadata. sql/sql_acl.cc: Turning row-based replication off for statements that change metadata. sql/table.h: Adding flag that a table shall not be replicated.
-
unknown authored
into ymer.(none):/tmp/mysql-5.1 sql/ha_ndbcluster.cc: Auto merged storage/ndb/include/util/OutputStream.hpp: Auto merged storage/ndb/src/common/debugger/EventLogger.cpp: Auto merged storage/ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp: Auto merged storage/ndb/src/kernel/blocks/dbdih/Dbdih.hpp: Auto merged storage/ndb/src/kernel/blocks/dblqh/Dblqh.hpp: Auto merged storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp: Auto merged storage/ndb/src/kernel/blocks/dbtc/Dbtc.hpp: Auto merged storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp: Auto merged storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp: Auto merged storage/ndb/src/kernel/blocks/ndbcntr/Ndbcntr.hpp: Auto merged storage/ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp: Auto merged storage/ndb/src/kernel/blocks/qmgr/Qmgr.hpp: Auto merged storage/ndb/src/kernel/blocks/qmgr/QmgrMain.cpp: Auto merged storage/ndb/src/mgmapi/mgmapi.cpp: Auto merged storage/ndb/src/mgmsrv/InitConfigFileParser.cpp: Auto merged storage/ndb/src/mgmsrv/MgmtSrvr.cpp: Auto merged storage/ndb/src/mgmsrv/MgmtSrvr.hpp: Auto merged storage/ndb/src/mgmsrv/Services.cpp: Auto merged storage/ndb/src/ndbapi/ClusterMgr.hpp: Auto merged storage/ndb/src/ndbapi/SignalSender.cpp: Auto merged
-
unknown authored
support-files/Makefile.am: Add missing file to 'make dist'.
-
- 24 Feb, 2007 20 commits
-
-
unknown authored
into mysql.com:/nfsdisk1/lars/MERGE/mysql-5.1-merge sql/sql_insert.cc: SCCS merged
-
unknown authored
-
unknown authored
into mysql.com:/nfsdisk1/lars/MERGE/mysql-5.1-merge sql/field.cc: Auto merged sql/item_func.cc: Auto merged sql/log.cc: Auto merged sql/log_event.cc: Auto merged sql/log_event.h: Auto merged sql/mysql_priv.h: Auto merged sql/mysqld.cc: Auto merged sql/slave.cc: Auto merged sql/sql_insert.cc: Auto merged
-
unknown authored
into mysql.com:/nfsdisk1/lars/MERGE/mysql-5.0-merge sql/item_func.cc: Auto merged
-
unknown authored
into mysql.com:/nfsdisk1/lars/MERGE/mysql-5.1-merge client/mysqlbinlog.cc: Auto merged include/my_global.h: Auto merged mysql-test/t/disabled.def: Auto merged sql/field.cc: Auto merged sql/item_func.cc: Auto merged sql/log.cc: Auto merged sql/log_event.cc: Auto merged sql/mysql_priv.h: Auto merged sql/mysqld.cc: Auto merged sql/slave.cc: Auto merged sql/sql_insert.cc: Auto merged sql/sql_show.cc: Auto merged
-
unknown authored
into mysql.com:/nfsdisk1/lars/MERGE/mysql-5.0-merge sql/field.cc: Auto merged sql/item_func.cc: Auto merged sql/log.cc: Auto merged sql/log_event.cc: Auto merged sql/log_event.h: Auto merged sql/mysql_priv.h: Auto merged sql/mysqld.cc: Auto merged sql/slave.cc: Auto merged sql/sql_insert.cc: Auto merged
-
unknown authored
into mysql.com:/nfsdisk1/lars/MERGE/mysql-4.1-merge sql/item_func.cc: Auto merged
-
unknown authored
into romeo.(none):/home/bk/b26286-mysql-5.1-rpl
-
unknown authored
sql/log_event.cc: The type byte is not equivalent to char on Windows, so compile fails.
-
unknown authored
include/my_global.h: Using Standard C++ header file <new> instead of defining all the versions of operator new and operator delete ourself.
-
unknown authored
fix after merge: server now returns ER_DUP_ENTRY_WITH_KEY_NAME, not ER_DUP_ENTRY mysql-test/extra/rpl_tests/rpl_insert_delayed.test: fix after merge: server now returns ER_DUP_ENTRY_WITH_KEY_NAME, not ER_DUP_ENTRY
-
unknown authored
into romeo.(none):/home/bk/b26286-mysql-5.1-rpl sql/log_event.cc: Auto merged
-
unknown authored
Submitting patch on Guilhem's behalf (he found the solution). Correcting a typo that caused very big increases in memory usage when more memory needed to be allocated for row-based events. Also correcting a border case check when more memory needed to be allocated. sql/log_event.cc: Correcting typo that caused very big increases in memory allocation. Correcting border case for when more memory should be allocated.
-
unknown authored
into mysql.com:/nfsdisk1/lars/MERGE/mysql-5.1-merge sql/field.cc: Auto merged sql/item_func.cc: Auto merged sql/mysql_priv.h: Auto merged sql/mysqld.cc: Auto merged sql/slave.cc: Auto merged sql/sql_insert.cc: Auto merged mysql-test/t/disabled.def: SCCS merged
-
unknown authored
-
unknown authored
into mysql.com:/nfsdisk1/lars/MERGE/mysql-5.0-merge sql/item_func.cc: Auto merged
-
unknown authored
into mysql.com:/nfsdisk1/lars/MERGE/mysql-5.1-merge client/mysqlbinlog.cc: Auto merged include/my_global.h: Auto merged mysql-test/extra/rpl_tests/rpl_insert_id.test: Auto merged mysql-test/t/show_check.test: Auto merged mysys/mf_iocache2.c: Auto merged sql/field.cc: Auto merged sql/item_xmlfunc.cc: Auto merged sql/log_event.cc: Auto merged sql/log_event.h: Auto merged sql/mysql_priv.h: Auto merged sql/mysqld.cc: Auto merged sql/slave.cc: Auto merged sql/slave.h: Auto merged sql/sql_show.cc: Auto merged mysql-test/t/disabled.def: Manual merge sql/log.cc: Manual merge sql/sql_insert.cc: Manual merge
-
unknown authored
into mysql.com:/nfsdisk1/lars/MERGE/mysql-5.0-merge sql/field.cc: Auto merged sql/mysql_priv.h: Auto merged sql/mysqld.cc: Auto merged sql/slave.cc: Auto merged sql/sql_insert.cc: Auto merged mysql-test/t/disabled.def: Manual merge
-
unknown authored
into mysql.com:/nfsdisk1/lars/MERGE/mysql-4.1-merge sql/item_func.cc: Auto merged
-
unknown authored
extra/yassl/taocrypt/mySTL/algorithm.hpp: max is defined on windows sql/sql_list.h: Fixed compiler warning on windows
-
- 23 Feb, 2007 2 commits
-
-
unknown authored
mysqlbinlog prints all row-based events of a single statement as a single "BINLOG" statement containing the concatenation of those events. Big (i.e. >64k) concatenations of row-based events (e.g. Write_rows_log_event) caused mysqlbinlog's IO_CACHE to overflow to a temporary file but the IO_CACHE had not been inited with open_cached_file(), so it tried to create a temporary file in an uninitialized directory (thus failing to create, then to write; some OS errors were printed, and it finally segfaulted). After fixing this, it appeared that mysqlbinlog was printing only a piece of big concatenations of row-based events (it printed at most the size of the IO_CACHE's buffer i.e. 64k); that caused data loss at restore. We fix and test that. Last, mysqlbinlog's printouts looked a bit strange with the informative header (#-prefixed) of groupped Rows_log_event all on one line, so we insert \n. After that, a small bug in the --hexdump code appeared (only if the string to hex-print had its length a multiple of 16), we fix it. client/mysqlbinlog.cc: if we write to IO_CACHE more than can fit into its memory buffer, it will try to overflow into a file; for that to work, IO_CACHE must be inited via open_cached_file(). mysql-test/r/mysqlbinlog_base64.result: result update mysql-test/t/mysqlbinlog_base64.test: test for BUG#25628: test that mysqlbinlog does not have OS errors with big concatenations of row-based events (e.g. Write_rows_log_event), and prints those concatenations entirely (testing by piping the output back into the server and comparing data). mysys/mf_iocache2.c: my_b_copy_to_file() had a problem: it assumed that bytes_in_cache are all the bytes to copy to the file, while it only tells how many bytes are in the buffer; so the code forgot to copy what had already overflown into a temporary file. Thus any big event was printed only partially by mysqlbinlog (loss of data at restore). The fix is inspired by MYSQL_BIN_LOG::write_cache(). sql/log_event.cc: Several Table_map/Write_rows events generated by one single statement get groupped together in mysqlbinlog's output; it printed things like #718 7:30:51 server id 12 end_log_pos 988 Write_rows: table id 17#718 7:30:51 server id 12 #718 7:30:51 server id 12 end_log_pos 988 Write_rows: table id 17#718 7:30:51 server id 12 end_log_pos 1413 <cut> It didn't look nice to have printouts glued like this without line breaks. Adding a line break. Doing this, when using --hexdump the result was: #718 7:30:51 server id 12 end_log_pos 988 # <hexdump output> # Write_rows: table id 17 which is correct; unfortunately if the hex dump had only full lines (i.e the string to print in hex had its length a multiple of 16), then the # in front of Write_rows was not printed. Fixed. sql/log_event.h: removing strcpy() (one less function call). If we write to IO_CACHE more than can fit into its memory buffer, it will try to overflow into a file; for that to work, IO_CACHE must be inited via open_cached_file(). open_cached_file(), like init_io_cache(), can fail; we make sure to catch this constructor's problem via the init_ok() method.
-
unknown authored
into dl145h.mysql.com:/users/gbichot/mysql-5.1-rpl sql/slave.cc: Auto merged mysql-test/t/disabled.def: merge
-