1
0
mirror of https://github.com/MariaDB/server.git synced 2025-10-28 17:15:19 +03:00
Commit Graph

70 Commits

Author SHA1 Message Date
guilhem@gbichot2
d67bbe72c2 Now merge is done.
For previous commit I had run only rpl* tests, here the other ones had a 
few surprises. Latest status:
- all tests pass
- all replication tests pass with Valgrind
This is the final-final commit & push.
Doc remains.
2003-12-20 00:38:30 +01:00
guilhem@gbichot2
66a32e8925 This will be pushed only after I fix the testsuite.
This is the main commit for Worklog tasks:
 * A more dynamic binlog format which allows small changes (1064)
 * Log session variables in Query_log_event (1063)
Below 5.0 means 5.0.0.
MySQL 5.0 is able to replicate FOREIGN_KEY_CHECKS, UNIQUE_KEY_CHECKS (for speed),
SQL_AUTO_IS_NULL, SQL_MODE. Not charsets (WL#1062), not some vars (I can only think
of SQL_SELECT_LIMIT, which deserves a special treatment). Note that this
works for queries, except LOAD DATA INFILE (for this it would have to wait
for Dmitri's push of WL#874, which in turns waits for the present push, so...
the deadlock must be broken!). Note that when Dmitri pushes WL#874 in 5.0.1,
5.0.0 won't be able to replicate a LOAD DATA INFILE from 5.0.1.
Apart from that, the new binlog format is designed so that it can tolerate
a little variation in the events (so that a 5.0.0 slave could replicate a
5.0.1 master, except for LOAD DATA INFILE unfortunately); that is, when I
later add replication of charsets it should break nothing. And when I later
add a UID to every event, it should break nothing.
The main change brought by this patch is a new type of event, Format_description_log_event,
which describes some lengthes in other event types. This event is needed for
the master/slave/mysqlbinlog to understand a 5.0 log. Thanks to this event,
we can later add more bytes to the header of every event without breaking compatibility.
Inside Query_log_event, we have some additional dynamic format, as every Query_log_event
can have a different number of status variables, stored as pairs (code, value); that's
how SQL_MODE and session variables and catalog are stored. Like this, we can later
add count of affected rows, charsets... and we can have options --don't-log-count-affected-rows
if we want.
MySQL 5.0 is able to run on 4.x relay logs, 4.x binlogs.
Upgrading a 4.x master to 5.0 is ok (no need to delete binlogs),
upgrading a 4.x slave to 5.0 is ok (no need to delete relay logs);
so both can be "hot" upgrades.
Upgrading a 3.23 master to 5.0 requires as much as upgrading it to 4.0.
3.23 and 4.x can't be slaves of 5.0.
So downgrading from 5.0 to 4.x may be complicated.
Log_event::log_pos is now the position of the end of the event, which is
more useful than the position of the beginning. We take care about compatibility
with <5.0 (in which log_pos is the beginning).
I added a short test for replication of SQL_MODE and some other variables.
TODO:
- after committing this, merge the latest 5.0 into it
- fix all tests
- update the manual with upgrade notes.
2003-12-18 01:09:05 +01:00
monty@mysql.com
f266cdabab Portability fixes (for binary build)
Added --protocol to mysqlbinlog
2003-12-01 13:13:16 +02:00
monty@narttu.mysql.fi
4e4725377d Merge with 4.0 2003-11-04 09:40:36 +02:00
guilhem@mysql.com
c93f69e9dd Fix for Bug #1595 "mysqlbinlog can't read a password from the console".
** I already fixed it in 3.23; I fix it in 4.0 separately because the
code is a bit different (so the changeset 1.1422 of 3.23 should not be
merged here) **
Make mysqlbinlog prompt for the password if
mysqlbinlog -p
instead of printing the usage().
This makes mysqlbinlog behave like other clients.
This new code was almost copied from mysqldump.
Note that before, one could use
  mysqlbinlog -p pass
and now one must use
  mysqlbinlog -ppass
(putting a space will ask for the password).
2003-10-21 12:22:24 +02:00
monty@narttu.mysql.fi
246febee42 merge with 4.0 to get fix for mysqlbinlog 2003-10-08 12:05:27 +03:00
monty@narttu.mysql.fi
d00d9110ba Fixed test case that my last patch to mysqlbinlog broke.
Changed --remote to --read-from-remote-server (mysqlbinlog)
2003-10-08 10:23:54 +03:00
monty@narttu.mysql.fi
a278a77475 Fix for option 'R' (connect to remote server) in mysqlbinlog 2003-10-08 01:30:10 +03:00
monty@narttu.mysql.fi
1f8e38d03a Merge with 4.0 to get fix for mysqlbinlog 2003-10-07 21:41:06 +03:00
monty@narttu.mysql.fi
b82b76f480 Simple cleanups 2003-10-07 15:44:31 +03:00
monty@narttu.mysql.fi
6056cfadfc Merge with 4.0.16 2003-10-07 15:42:26 +03:00
monty@narttu.mysql.fi
89f30200bc Removed random chars after filename for LOAD DATA INFILE (in mysqlbinlog)
Add quoting for use `database` for mysqlbinlog
Removed test ins0000001
Add support for --replace for exec in mysqltest
Don't refer to install dir in mysqlbinlog.result
2003-09-29 12:31:35 +03:00
monty@narttu.mysql.fi
45a41e85e3 Code cleanup of new patches 2003-09-23 17:06:44 +03:00
dlenev@mysql.com
c4384241ec Bugfix for bug #1340, style fix before push 2003-09-19 20:34:58 +04:00
dlenev@mysql.com
3c55dbe3db Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/dlenev/src/mysql-4.0-bg-1340
2003-09-19 20:34:57 +04:00
vva@eagle.mysql.r18.ru
d623fc83b1 Merge eagle.mysql.r18.ru:/home/vva/work/mysql.orig/clear/mysql-4.0
into eagle.mysql.r18.ru:/home/vva/work/BUG_1073/mysql-4.0
2003-09-19 12:34:56 -04:00
dlenev@mysql.com
69aed374a5 Fix for bug #1340 (More careful checks if we met proper Create_file_log_event before Append or Exec event we are processing now) 2003-09-19 16:43:56 +04:00
guilhem@mysql.com
d1cd9bd498 Fix for BUG#1258 (Trying to use the mysqlbinlog with -h and -u option gives segmentation
fault). Fix is just initializing "host" (and "user") with 0, not a string.
2003-09-12 15:48:48 +02:00
vva@eagle.mysql.r18.ru
0f1cf03905 fixed bug #1073
(Replication LOAD DATA INFILE mysqlbinlog doesn't cleanup tmp files)
2003-09-01 11:15:53 -04:00
monty@narttu.mysql.fi
77a70a0a24 merge with 4.0.15 2003-08-29 13:44:35 +03:00
guilhem@mysql.com
1a5c8be408 Fix for BUG#1096 which is:
"mysqlbinlog does not comment the original LOAD DATA INFILE if it has a "use xx""
2003-08-19 15:46:47 +02:00
guilhem@mysql.com
fefa92f3a7 Fixes for BUG#1091,1092,1093. Synopsis of these bugs:
mysqlbinlog segfaults if --position is just before Exec_load event
mysqlbinlog prints uncommented warnings if --database and compiled with debug
mysqlbinlog --database does not filter LOAD DATA INFILE
2003-08-19 15:12:44 +02:00
monty@mashka.mysql.fi
2263e3e51f Merge with 4.0.14 2003-08-11 22:44:43 +03:00
vva@eagle.mysql.r18.ru
c96c87d51d fixed bug #670 2003-07-04 16:06:17 -04:00
vva@eagle.mysql.r18.ru
da9d454cc3 Merge eagle.mysql.r18.ru:/home/vva/work/mysql.orig/clear/mysql-4.0
into eagle.mysql.r18.ru:/home/vva/work/BUG_672/mysql-4.0
2003-07-02 17:37:23 -04:00
vva@eagle.mysql.r18.ru
55e046a807 fixed bug #672 2003-07-02 16:56:27 -04:00
vva@eagle.mysql.r18.ru
c34eec515e made error output more detailed 2003-07-01 14:00:57 -04:00
vva@eagle.mysql.r18.ru
a86d23b93a Merge eagle.mysql.r18.ru:/home/vva/work/mysql.orig/clear/mysql-4.0
into eagle.mysql.r18.ru:/home/vva/work/BUG_671/mysql-4.0
2003-07-01 13:21:35 -04:00
vva@eagle.mysql.r18.ru
20081b6293 removed --table option (fixed Bug #671) 2003-07-01 13:17:03 -04:00
guilhem@mysql.com
e8a8b8c346 fix for BUG#691 (4.0 mysqlbinlog couldn't read 3.23 binlog).
Safe parenthesis.
2003-06-20 15:48:52 +02:00
serg@serg.mylan
9f67e10d0d consistency fix - all help texts for command-line options should end with a dot. 2003-06-13 10:59:02 +02:00
monty@mashka.mysql.fi
cb7061ebe4 merge 2003-05-22 02:57:27 +03:00
vva@eagle.mysql.r18.ru
ec247fd6af changed processing of LOAD DATA in mysqlbinlog 2003-05-20 17:03:18 -04:00
monty@narttu.mysql.fi
dd2b7918cd Merge with 4.0.13 2003-05-19 16:35:49 +03:00
gluh@gluh.mysql.r18.ru
e6fe7d1bed Task 761:'mysqlbinlog should not die when reading
unknown event'
2003-04-23 18:00:07 +05:00
monty@narttu.mysql.fi
a434bca704 Merge with 4.0 2003-03-16 19:17:54 +02:00
monty@mashka.mysql.fi
d56e2acf50 Merge to get fix for LOCK TABLES + DROP TABLE in another thread 2003-03-07 01:20:56 +02:00
Sinisa@sinisa.nasamreza.org
9034ed296b A better, but larger fix for server_id bug .. 2003-03-05 15:34:58 +02:00
bar@bar.mysql.r18.ru
37fdb93d7c Gluh asked me to do it 2003-01-31 11:41:39 +04:00
monty@mashka.mysql.fi
25c393a12e Portability fixes (for windows)
Some changes to the prepared statement protocol to make it easier to use and faster.
2003-01-21 21:07:59 +02:00
vva@eagle.mysql.r18.ru
4b5a313c1a new option --local-load in mysqlbinlog 2003-01-17 21:52:56 +04:00
monty@mashka.mysql.fi
7a70332836 Portability fix when using -DBIG_TABLES 2002-11-14 12:21:36 +02:00
monty@hundin.mysql.fi
aa4e165808 Portability fix extern "C" static -> extern "C" 2002-11-07 12:49:02 +02:00
monty@butch.
a2bdf9265f Portability fixes for Fortre C++ 5.0 (on Sun) in 32 and 64 bit modes. 2002-11-07 03:54:00 +02:00
lenz@mysql.com
019b5ab7b4 - backported gcc 3.0 linking fix from 4.0
- some cosmetical fixups (typos, comments)
2002-09-24 22:24:30 +02:00
monty@mashka.mysql.fi
ce4b584a85 Increased max possible max_allowed_packet to 1G
Small optimization to not do external locking of temporary MyISAM tables.
2002-09-19 17:49:41 +03:00
jcole@mugatu.spaceapes.com
969c6b876e mysqlbinlog.cc:
a few changes to test resolving
2002-09-14 11:26:40 -05:00
jcole@mugatu.spaceapes.com
1f1603ab4a mysqlbinlog.cc:
fixed typo
2002-09-14 11:12:02 -05:00
monty@mashka.mysql.fi
f3a186c905 Portability fixes.
Improve mysql-test to be more robust.
Fix that GRANT doesn't delete SSL options
Change innobase_flush_log_at_trx_commit to uint.
Don't rotate logs if we read a rotate log entry from the master.
2002-09-11 06:40:08 +03:00
monty@hundin.mysql.fi
f87efa928b Update for running gcc 3.x (mainly on HPUX)
Portability fixes for HPUX
Rename of CHECK_LOCK to IS_FREE_LOCK
Apply lower_case_table_names also to databases
Cleanup of describe code
Don't allow \ in database names
2002-06-30 18:57:21 +03:00