Commit graph

492 commits

Author SHA1 Message Date
serg@serg.mylan
b43029f4eb bug#8646 - deadlock if long transaction causes binlog rotate 2005-02-22 00:15:31 +01:00
monty@mysql.com
3b1f0964c1 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/my/mysql-5.0
2005-02-21 14:48:44 +02:00
monty@mysql.com
cab35adf7e Review of new pushed code (XA & other)
Portability fixes and cleanups
Fixed setting of 'res' in mysql_execute_command()
2005-02-21 14:47:57 +02:00
serg@serg.mylan
b75d8ac0f3 xa assert fixes 2005-02-21 11:51:50 +01:00
serg@serg.mylan
1bc6ae8913 portability fixes 2005-02-20 20:08:33 +01:00
serg@serg.mylan
e29191e5c5 windows compilation fixes 2005-02-19 12:15:30 +01:00
serg@serg.mylan
5ddb6354a5 after merge fixes 2005-02-16 17:34:02 +01:00
serg@serg.mylan
fd828e5b4d manually merged 2005-02-14 21:50:09 +01:00
mats@mysql.com
30bf28202c Bug#8412: For replication to work correctly, the prologue and
epilogue to an SQL statement should not have an error code even
when the SQL statement itself has an error code.
2005-02-14 18:39:33 +01:00
ingo@mysql.com
601a4fdfa2 Merge 2005-02-11 11:59:35 +01:00
lars@mysql.com
bef05eda10 BUG#6749: If there is no current database, then nothing should be binlogged if
binlog-do-db or binlog-ignore-db are in effect.   (In the future 5.1? 5.0? I think 
each statement should be verified against the filtering criteria based on the database
it *uses* and not the *current* one.  But, right now the *current* database is what 
counts according to the semantics of the manual.)
2005-02-10 21:23:48 +01:00
serg@serg.mylan
db13afd89d auto-ROLLBACK if binlog was not closed properly
auto-commit on Xid_log_event
2005-02-09 20:04:28 +01:00
guilhem@mysql.com
ed1696f6b9 WL#1062 "log charset info into all Query_log_event":
we store 7 bytes (1 + 2*3) in every Query_log_event.
In the future if users want binlog optimized for small size and less safe,
we could add --binlog-no-charset (and binlog-no-sql-mode etc): charset info
is something by design optional (even if for now we don't offer possibility to disable it):
it's not a binlog format change.
We try to reduce the number of get_charset() calls in the slave SQL thread to a minimum
by caching the charset read from the previous event (which will often be equal to the one of the current event).
We don't use SET ONE_SHOT for charset-aware repl (we still do for timezones, will be fixed later).
No more errors if one changes the global value of charset vars on master or slave
(as we log charset info in all Query_log_event).
Not fixing Load_log_event as it will be rewritten soon by Dmitri.
Testing how mysqlbinlog behaves in rpl_charset.test.
mysqlbinlog needs to know where charset file is (to be able to convert a charset number found
in binlog (e.g. in User_var_log_event) to a charset name); mysql-test-run needs to pass
the correct value for this option to mysqlbinlog.
Many result udpates (adding charset info into every event shifts log_pos in SHOW BINLOG EVENTS).
Roughly the same job is to be done for timezones :)
2005-02-03 16:22:16 +01:00
serg@serg.mylan
fb78bfebe4 open binlog index file *before* tc_log->open() and binlog itself *after* 2005-02-01 15:36:48 +01:00
serg@serg.mylan
3c5060981f query_id and my_xid -> ulonglong
fix for binlog+autocommit+tclog
comments, style fixes
2005-01-27 22:38:56 +01:00
serg@serg.mylan
c76405a7ee merged 2005-01-24 19:41:42 +01:00
serg@serg.mylan
83ef8c58a7 make the code to look safe, not only be safe 2005-01-17 22:35:53 +01:00
serg@serg.mylan
1034677f94 XA (not completely polished out yet) 2005-01-16 13:16:23 +01:00
serg@sergbook.mysql.com
a609bc45f2 merge 2005-01-07 15:02:25 +02:00
guilhem@mysql.com
60f5a69160 2 small fixes for binlog (sorry for grouping them - I won't do it again):
WL#2335 (wait if binlog or binlog index file hits disk full or quota exceeded),
fix for BUG#7236 ("--expire_logs_days does not apply if all statements
happen in transactions"), and a behaviour change: abort if mysqld can't start
binlog at startup (if running with --log-bin of course).
2005-01-06 23:53:58 +01:00
serg@sergbook.mysql.com
a04fc26c54 manually merged 2004-12-31 15:26:24 +01:00
serg@serg.mylan
9f94a42fcc BitKeeper/triggers/pre-delta
don't checkin for Administrator or mysqldev
sql/log.cc@1.157
    restored a bugfix that was lost in a merge
2004-12-22 22:59:19 +01:00
monty@mishka.local
4f4bbfc279 Merge with 4.1 2004-12-22 13:54:39 +02:00
dlenev@mysql.com
62a6d9749b Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/dlenev/src/mysql-4.1-bg6765
2004-12-09 13:33:12 +03:00
dlenev@brandersnatch.localdomain
4b0882e0a6 Fix for bug #6765 "Implicit access to time zone description
tables requires privileges for them if some table or column level grants
present" (with after-review fixes).

We should set SELECT_ACL for implicitly opened tables in 
my_tz_check_n_skip_implicit_tables() to be able to bypass privilege
checking in check_grant(). Also we should exclude those tables from
privilege checking in multi-update.
2004-12-09 13:31:46 +03:00
serg@serg.mylan
f41779fa79 two fixes for potential security bugs 2004-12-07 12:08:20 +01:00
monty@mysql.com
0de4777187 Merge with 4.1 2004-12-06 11:38:56 +02:00
mats@mysql.com
2bbdf2403d Bug#6391 (binlog-do-db rules ignored)
CREATE DATABASE statement used the current database instead of the
  database created when checking conditions for replication.
  CREATE/DROP/ALTER DATABASE statements are now replicated based on
  the manipulated database.
2004-12-03 12:13:51 +01:00
bell@sanja.is.com.ua
d76db8b999 marge 2004-11-13 19:45:36 +02:00
bell@sanja.is.com.ua
7210195f1e now my_printf_error is not better then my_error, but my_error call is shorter
used only one implementation of format parser of (printf)
fixed multistatement
2004-11-13 19:35:51 +02:00
monty@mysql.com
addd1a0da8 Merge with 4.1 2004-11-12 19:58:24 +02:00
bell@sanja.is.com.ua
1555469b64 merge 2004-11-12 15:36:31 +02:00
bell@sanja.is.com.ua
31f7811183 post-review fixes 2004-11-12 14:34:00 +02:00
monty@mysql.com
9252656d49 merge with 4.0 2004-11-12 11:17:53 +02:00
brian@avenger.(none)
3e4ca194f8 Mainly resolving Guilhem's 4.1 patch to 5.0 2004-11-11 19:01:46 -08:00
monty@mysql.com
c7e85ef9b9 More debugging
Print position in normal log for Binlog dump
2004-11-10 18:07:39 +02:00
guilhem@mysql.com
0c4363b6d0 Fix for BUG#6522 "Replication fails due to a rolled back transaction in the binlog"
When we are writing a transaction to the binlog, we log BEGIN/COMMIT with zero error code.
Example: all statements of trans succeeded, connection lost and so implicit rollback:
we don't want ER_NET* errors to be logged in the BEGIN/ROLLBACK events, while statement
events have 0. If there was really a serious error code, it's already in the statement events.
2004-11-10 15:07:55 +01:00
guilhem@mysql.com
1869cd9f83 Fix for BUG##5714 "Insert into MyISAM table and select ... for update]":
the fact that the transaction log is empty does not mean we're not in a transaction
(it could be BEGIN; SELECT * FOR UPDATE FROM ibtable: then we don't want to commit now, even if
the statement is a MyISAM update).
With a testcase.
2004-11-04 19:19:23 +01:00
monty@mishka.local
91ff64e107 Added options --auto-increment-increment and --auto-increment-offset.
This allows one to setup a master <-> master replication with non conflicting auto-increment series.
Cleaned up binary log code to make it easyer to add new state variables.
Added simpler 'upper level' logic for artificial events (events that should not cause cleanups on slave).
Simplified binary log handling.
Changed how auto_increment works together with to SET INSERT_ID=# to make it more predictable: Now the inserted rows in a multi-row statement are set independent of the existing rows in the table. (Before only InnoDB did this correctly)
2004-09-15 22:10:31 +03:00
serg@serg.mylan
dc6018d7fe per Monty's request - "WARNING" and "NOTE" changed to lowercase (for not to shout :) 2004-09-15 18:54:57 +02:00
rburnett@build.mysql.com
bee5f9a22d log.cc:
Changed label on INFORMATION log items to NOTE
2004-09-08 22:05:49 +02:00
serg@serg.mylan
413a8753e2 merged 2004-09-07 15:18:53 +02:00
guilhem@mysql.com
f25d3fca92 Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/mysql_src/mysql-4.0-opt
2004-09-06 22:47:50 +02:00
guilhem@mysql.com
99444c3311 Replacing class Disable_binlog by macros. Patch already approved by Monty. 2004-09-06 22:47:26 +02:00
serg@serg.mylan
130d2fd57f bug#5389 merge.test fails on qnx - uninitalized variable in myrg_open() 2004-09-06 22:20:40 +02:00
monty@mysql.com
31122efde7 Merge with 4.1
(Includes merge of arena code in 4.1 and 5.0)
2004-09-06 15:14:10 +03:00
monty@mysql.com
32594c9989 Print value of Item_param if it has a value (when debugging) 2004-09-04 15:02:57 +03:00
monty@mysql.com
054cea4ca8 Merge with 4.0 2004-09-01 04:12:09 +03:00
rburnett@build.mysql.com
547b46b7c9 log.cc:
Fixed missing * in comment in setup_windows_event_source
2004-08-30 00:50:39 +02:00
guilhem@mysql.com
0485e5d3f0 Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/mysql_src/mysql-4.0
2004-08-29 14:14:32 +02:00