1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-24 19:42:23 +03:00
Commit Graph

386 Commits

Author SHA1 Message Date
7aa562ad20 Merge mysql.com:/home/bk/MERGE/mysql-4.1-merge
into  mysql.com:/home/bk/MERGE/mysql-5.0-merge
2006-11-13 17:54:01 +01:00
5a20c54201 bug#19402 SQL close to the size of the max_allowed_packet fails on the slave
comments are fixed as was suggested in reviews.
2006-11-12 20:01:58 +02:00
9372c38c6b BUG#23171 (Illegal slave restart group position):
First patch preparing for restructuring the event execution and event
skipping. This patch renames the existing (virtual) function exec_event()
to be a primitive for implementing the real patch. Also, the virtual function
advance_coord_impl() is added to advance the binary/relay log coordinates,
and two non-virtual functions exec_event() [sic] and skip_event() is added
that will contain the business logic for executing and skipping events
respectively.
2006-11-01 15:35:37 +01:00
d4d26ba7d5 Merge romeo.(none):/home/bkroot/mysql-5.1-new-rpl
into  romeo.(none):/home/bk/b19459-mysql-5.1-new
2006-10-06 15:31:05 +02:00
e762328b54 BUG#19459 (BINLOG RBR command does not lock tables correctly causing
crash for, e.g., NDB):

Before, mysqlbinlog printed table map events as a separate statement, so
when executing the event, the opened table was subsequently closed
when the statement ended. Instead, the row-based events that make up
a statement are now printed as *one* BINLOG statement, which means
that the table maps and the following *_rows_log_event events are
executed fully before the statement ends.

Changing implementation of BINLOG statement to be able to read the 
emitted format, which now consists of several chunks of BASE64-encoded
data.
2006-10-06 10:17:02 +02:00
b4b06d7a67 BUG#19402 SQL close to the size of the max_allowed_packet fails on the slave
A communication packet can also be a binlog event sent from the master to the slave.
To be sent by master dump and accepted by slave io thread both have to have
the value of max_allowed_packet bigger than one that client connection had.

In the patch there is the MAX possible replicatio header size estimation for events
in binlog that embedded user query. Only these events of query_log_event type, i.e
just plain queries, require attention.
2006-09-12 00:19:05 +03:00
c2d7f7c392 Merge romeo.(none):/home/bkroot/mysql-5.1-wl3228
into  romeo.(none):/home/bk/w3259-mysql-5.1-new-rpl
2006-08-21 10:54:41 +02:00
6110a83a0e Merge zippy.(none):/home/cmiller/work/mysql/merge/mysql-5.0
into  zippy.(none):/home/cmiller/work/mysql/merge/mysql-5.1
2006-07-03 11:35:58 -04:00
86420b38aa Merge pchardin@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  mysql.com:/home/cps/mysql/devel/5.1-csv-remove-mmap
2006-06-15 15:38:14 +04:00
7b63337d31 Bug #16206: Superfluous COMMIT event in binlog when updating BDB in autocommit
mode

This is a modification of serg's and guilhem's suggestion in the bug report,
in that it also causes the transaction log to be written to disc.
2006-06-12 08:54:45 -04:00
5d5b9fedfe Merge bk-internal.mysql.com:/home/bk/mysql-5.1-new
into serg.mylan:/usr/home/serg/Abk/mysql-5.1
2006-05-31 18:49:12 +02:00
d976a5d558 classes that are compiled conditionally in log_event.cc must be defined conditionally in log_event.h 2006-05-31 18:37:16 +02:00
c1b11edfac Removing the binlog-show-xid option as it was only a temporary solution until we have replace-regex which we have now.
That option was used to suppress the XID from the output of SHOW BINLOG EVENTS (to create a repeatable testsuite),
was available only in debug builds, and was explicitely marked as "may be removed in future versions" in mysqld --help.
Idea of the removal approved by the replication team.
2006-05-17 22:16:51 +02:00
fec70c97c9 WL#3153 "Split logs". Recommit with post-review fixes 2006-05-05 10:45:58 +04:00
77c4a2ca60 WL#3259 (RBR with more columns on slave than on master):
Extended replication to allow extra columns added last on slave
as compared with table on master.
2006-05-03 15:00:38 +02:00
5d1d27c016 Final patch to remove the last of the OS2 support. 2006-04-15 18:17:32 -07:00
9dace13548 WL#3023 (Use locks in a statement-like manner):
Changes according to review comments.
2006-03-08 21:49:49 +01:00
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
5d722a8491 Merge 2006-02-28 23:29:58 +01:00
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
e6a98314a7 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/home/my/mysql-5.1
2006-02-26 15:12:56 +02:00
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
1e2e9e2856 Merge mysql.com:/home/my/mysql-5.0
into  mysql.com:/home/my/mysql-5.1
2006-02-25 21:54:34 +02:00
54274976e7 Fixed compiler warnings from gcc 4.0.2:
- Added empty constructors and virtual destructors to many classes and structs
- Removed some usage of the offsetof() macro to instead use C++ class pointers
2006-02-25 17:46:30 +02:00
32a8a469a7 BUG#13418 (V2): Bit columns should replicate correctly when using RBR 2006-02-24 15:38:20 +01:00
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
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
74ef14158f Some casts and simple fixes to fix compile errors in Visual 2005,
cleaned up some of the casts as a result of Mats' review.
(transferred from "2005/12/10 22:31:58-06:00 reggie@fedora.(none)"
and from "2006/01/03 22:37:24-06:00 reggie@fedora.(none)")
2006-01-10 10:35:43 +01:00
74e8c453b6 Merge rburnett@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  linux.site:/home/reggie/work/mysql-5.1-rbr_cleanups
2006-01-09 17:35:25 -06:00
535515aeb2 Complete missing part of Mats' HPUX NO_FLAGS fix 2006-01-09 22:17:52 +01:00
1c0b916ec1 Changes to support HP-UX. 2006-01-09 16:37:24 +01:00
94d3a8e050 Changes to support aCC on HP-UX. 2006-01-09 15:59:39 +01:00
c77ee8c96a some casts and simple fixes to fix compile errors in Visual 2005 2005-12-30 06:32:33 -06:00
ad126d90e0 WL#1012: All changes as one single changeset.
This includes both code and test cases.
2005-12-22 06:39:02 +01:00
1b3ed12017 Fixes during review of pushed code
Added back missing return in mysql_delete()
2005-10-27 15:15:01 +03:00
a9d03b67c4 Merge mysql.com:/users/lthalmann/bkroot/mysql-5.0
into  mysql.com:/users/lthalmann/bk/mysql-5.0-enum-logtype
2005-10-25 00:23:14 +02:00
8124629c51 Fixed enum numbering, patch 2 2005-10-24 23:09:14 +02:00
4ce4068442 Reducing risk for incorrect merges. Since we are multiple teams working on
different features, adding numbering to enums reduce the risk that code will
be merged incorrectly.  This particular enum must have fixed values to ensure
that an upgraded server always can read old logs.  I added this, since I 
noticed the incorrect order in the RBR clone.
2005-10-24 19:06:32 +02:00
1aae3e1da1 Merge mysql.com:/users/lthalmann/bkroot/mysql-5.0
into  mysql.com:/users/lthalmann/bk/mysql-5.0-hexdump
2005-10-19 19:42:14 +02:00
4ccb1c6e36 mysqlbinlog --hexdump patch 4:
Rename last_event_info to print_event_info to better reflect the new semantics
2005-10-19 19:31:24 +02:00
a6ceb59491 fixes after merge of 4.1. 2005-10-13 00:29:23 +02:00
48457e0852 mysqlbin --hexdump patch 3 2005-10-12 23:37:21 +02:00
4252b546b3 Merge mysql.com:/home/mysql_src/mysql-4.1
into  mysql.com:/home/mysql_src/mysql-5.0;
a very bad automerge (issues with non-ascii chars), plus some hard conflicts I'll fix by hand in a next cset
2005-10-12 21:58:02 +02:00
4c1c9db823 Fix for BUG#13023: "SQL Thread is up but doesn't move forward". Details in slave.cc;
in short we now record whenever the slave I/O thread ignores a master's event because of its server id,
and use this info in the slave SQL thread to advance Exec_master_log_pos. Because if we
do not, this variable stays at the position of the last executed event, i.e. the last *non-ignored*
executed one, which may not be the last of the master's binlog (and so the slave *looks* behind
the master though it's data-wise it's not).
2005-10-12 13:29:55 +02:00
bf19d02b27 mysqlbinlog --hexdump additional patch 2
- Fixes related to Guilhems review
- Special printing of event header
2005-09-30 00:12:14 +02:00
d81d57d408 mysqlbinlog --hexdump augments each log entry with byte information 2005-09-29 10:42:23 +02:00
38486e83c1 Implement WL#2661 "Prepared Statements: Dynamic SQL in Stored Procedures".
The idea of the patch is to separate statement processing logic,
such as parsing, validation of the parsed tree, execution and cleanup, 
from global query processing logic, such as logging, resetting
priorities of a thread, resetting stored procedure cache, resetting
thread count of errors and warnings.
This makes PREPARE and EXECUTE behave similarly to the rest of SQL
statements and allows their use in stored procedures.
This patch contains a change in behaviour:
until recently for each SQL prepared statement command, 2 queries
were written to the general log, e.g.
[Query]   prepare stmt from @stmt_text;
[Prepare] select * from t1 <-- contents of @stmt_text
The chagne was necessary to prevent [Prepare] commands from being written
to the general log when executing a stored procedure with Dynamic SQL.
We should consider whether the old behavior is preferrable and probably
restore it.
This patch refixes Bug#7115, Bug#10975 (partially), Bug#10605 (various bugs
in Dynamic SQL reported before it was disabled).
2005-09-03 03:13:18 +04:00
55b81af671 Merge mysql.com:/home/emurphy/src/bk-clean/mysql-4.1
into  mysql.com:/home/emurphy/src/work/mysql-5.0
2005-08-19 15:29:30 -04:00
d9efe655ed Bug#11338 Fixes from review (identical functionality). 2005-08-19 14:49:34 -04:00
154d4f8485 log_event.h:
extra safety for OPTIONS_WRITTEN_TO_BIN_LOG
2005-08-06 12:48:41 +02:00