Portability fixes
mysql-test/r/rpl_until.result:
Portability fix
mysql-test/t/rpl_until.test:
Portability fix
sql/slave.cc:
Write UNTIL position to logs (for debugging)
sql/slave.h:
Write UNTIL position to logs (for debugging)
sql/sql_acl.cc:
Fixed bug in table level privilege GRANT handling. (Bug #2178)
libmysqld/lib_sql.cc:
Prepared_statement now resides entirely in sql_prepare.cc
Embedded versions of setup_params_data moved to sql_prepare.cc
sql/mysql_priv.h:
removed declarations for non-existing functions
sql/slave.cc:
no thd->init_for_queries() any more
sql/sql_class.cc:
added Statement and Statement_map classes.
PREP_STMT replaced with Statement (Prepared_statement) and moved to
sql_prepare.cc
sql/sql_class.h:
added Statement and Statement_map classes.
PREP_STMT replaced with Statement (Prepared_statement) and moved to
sql_prepare.cc
sql/sql_parse.cc:
thd->init_for_queries() doesn't exist any more
comment moved to proper place
sql/sql_prepare.cc:
PREP_STMT replaced with Prepared_statement
minor code cleanups
tests/client_test.c:
Later in the test we rely on order of rows, which normally is not defined.
My patch changes the order.
into mysql.com:/home/mysql_src/mysql-5.0-new-binlog-format
include/my_sys.h:
Auto merged
mysql-test/r/rpl_max_relay_size.result:
Auto merged
mysql-test/r/rpl_rotate_logs.result:
Auto merged
mysql-test/r/rpl_trunc_binlog.result:
Auto merged
mysql-test/t/rpl_log_pos.test:
Auto merged
mysql-test/t/rpl_max_relay_size.test:
Auto merged
mysql-test/t/rpl_rotate_logs.test:
Auto merged
mysql-test/t/rpl_trunc_binlog.test:
Auto merged
sql/ha_innodb.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_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_repl.cc:
Auto merged
* A more dynamic binlog format which allows small changes (1064)
* Log session variables in Query_log_event (1063)
It contains a few bugfixes (which I made when running the testsuite).
I carefully updated the results of the testsuite (i.e. I checked for every one,
if the difference between .reject and .result could be explained).
Apparently mysql-test-run --manager is broken in 4.1 and 5.0 currently,
so I could neither run the few tests which require --manager, nor check
that they pass nor modify their .result. But for builds, we don't run
with --manager.
Apart from --manager, the full testsuite passes, with Valgrind too (no errors).
I'm going to push in the next minutes. Remains: update the manual.
Note: by chance I saw that (in 4.1, in 5.0) rpl_get_lock fails when run alone;
this is normal at it makes assumptions on thread ids. I will fix this one day
in 4.1.
mysql-test/r/rpl000015.result:
result update
mysql-test/r/rpl_change_master.result:
result update
mysql-test/r/rpl_error_ignored_table.result:
result update
mysql-test/r/rpl_flush_log_loop.result:
result update
mysql-test/r/rpl_flush_tables.result:
result update
mysql-test/r/rpl_loaddata.result:
result update
mysql-test/r/rpl_loaddata_rule_m.result:
result update
mysql-test/r/rpl_loaddata_rule_s.result:
result update
mysql-test/r/rpl_log.result:
result update
mysql-test/r/rpl_log_pos.result:
result update
mysql-test/r/rpl_max_relay_size.result:
result update
mysql-test/r/rpl_relayrotate.result:
result update
mysql-test/r/rpl_replicate_do.result:
result update
mysql-test/r/rpl_reset_slave.result:
result update
mysql-test/r/rpl_rotate_logs.result:
result update
mysql-test/r/rpl_session_var.result:
result update
mysql-test/r/rpl_temporary.result:
result update
mysql-test/r/rpl_trunc_binlog.result:
result update
mysql-test/r/rpl_until.result:
result update
mysql-test/r/rpl_user_variables.result:
result update
mysql-test/t/rpl000010-slave.opt:
need to wait 2 events, because now we receive a Format_desc on top of the Rotate,
when replication starts.
mysql-test/t/rpl000015.test:
relay log information is not repeatable in general (if a reconnection
happens because --sleep=10 for example), so we hide these columns.
mysql-test/t/rpl_change_master.test:
relay log information is not repeatable in general (if a reconnection
happens because --sleep=10 for example), so we hide these columns.
mysql-test/t/rpl_empty_master_crash.test:
relay log information is not repeatable in general (if a reconnection
happens because --sleep=10 for example), so we hide these columns.
mysql-test/t/rpl_error_ignored_table.test:
relay log information is not repeatable in general (if a reconnection
happens because --sleep=10 for example), so we hide these columns.
mysql-test/t/rpl_flush_log_loop.test:
relay log information is not repeatable in general (if a reconnection
happens because --sleep=10 for example), so we hide these columns.
mysql-test/t/rpl_loaddata.test:
position update
mysql-test/t/rpl_loaddata_rule_m.test:
position update
mysql-test/t/rpl_loaddata_rule_s.test:
position update
mysql-test/t/rpl_log.test:
position update
mysql-test/t/rpl_log_pos.test:
position update
mysql-test/t/rpl_max_relay_size.test:
relay log information is not repeatable in general (if a reconnection
happens because --sleep=10 for example), so we hide these columns.
mysql-test/t/rpl_openssl.test:
relay log information is not repeatable in general (if a reconnection
happens because --sleep=10 for example), so we hide these columns.
mysql-test/t/rpl_redirect.test:
relay log information is not repeatable in general (if a reconnection
happens because --sleep=10 for example), so we hide these columns.
mysql-test/t/rpl_relayrotate-slave.opt:
better options for this test
mysql-test/t/rpl_relayrotate.test:
using max() is better for debugging (it shows at which place the slave
SQL thread resumed)
mysql-test/t/rpl_replicate_do.test:
relay log information is not repeatable in general (if a reconnection
happens because --sleep=10 for example), so we hide these columns.
mysql-test/t/rpl_reset_slave.test:
relay log information is not repeatable in general (if a reconnection
happens because --sleep=10 for example), so we hide these columns.
mysql-test/t/rpl_rotate_logs.test:
relay log information is not repeatable in general (if a reconnection
happens because --sleep=10 for example), so we hide these columns.
mysql-test/t/rpl_session_var.test:
100 because password() is longer than 10 chars
mysql-test/t/rpl_trunc_binlog.test:
relay log information is not repeatable in general (if a reconnection
happens because --sleep=10 for example), so we hide these columns.
mysql-test/t/rpl_until.test:
position update
mysql-test/t/rpl_user_variables.test:
position update
sql/log.cc:
Ensure that the Format_desc propagated on next relay logs does not trigger
undue actions (like incrementing some positions or clearing some files).
sql/log_event.cc:
* When the slave SQL thread finds a Rotate/Format_desc/Stop in the middle of
a transaction (then these were written by the slave itself to its relay log),
it should not increment rli->group* variables, but only rli->event* ones.
* When the slave SQL thread finds a Format_desc not to be ignored (not
the same server id as the slave's), if it has log_pos==0 it must not trigger
"unfinished transaction in master's binlog" (log_pos==0 is always a marker
in the relay log to mean "this event was not at this place in the master's
binlog": it's for fake Rotate events, and for Format_description events which the master had
to send us for replication to start).
* In the Query_log_event on disk, catalog is now terminated by '\0'.
* thd->catalog must be set to 0 when some exec_event() terminate (otherwise
double free).
sql/slave.cc:
* Fixes for a few bugs when ignoring events in the slave SQL thread:
- do not decrement rli->slave_skip_counter if the event is an event
related to the binlog or relay log itself (FORMAT_DESCRIPTION,
ROTATE, STOP) because these events should never be skipped (or the slave
will be confused). Usually the user wants to skip a query, not a Rotate...
- when we (re)connect to the master, we must free description_event_for_queue
(otherwise memory leak when we reconnect).
* Changed a bit the code where we change description_event_for_queue,
to make it look "safer".
* Moved 'created=0' to log.cc where it is safer.
* When the slave SQL thread finds a Rotate/Format_desc/Stop in the middle of
a transaction (then these were written by the slave itself to its relay log),
it should not increment rli->group* variables, but only rli->event* ones.
sql/sql_class.h:
a warning comment
sql/sql_repl.cc:
A mistake: I had passed a char* instead of char**
All tests pass (client_test included)
libmysqld/lib_sql.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/filesort.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/ha_innodb.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/ha_myisam.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/item.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/item_cmpfunc.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/item_create.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/item_func.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/item_subselect.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/item_sum.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/mysql_priv.h:
THD::lex now points to THD::main_lex like in 5.0
sql/mysqld.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/protocol.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/repl_failsafe.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/slave.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_acl.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_base.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_cache.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_class.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_class.h:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_delete.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_error.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_insert.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_lex.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_lex.h:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_parse.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_prepare.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_repl.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_select.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_table.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_union.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_update.cc:
THD::lex now points to THD::main_lex like in 5.0
sql/sql_yacc.yy:
THD::lex now points to THD::main_lex like in 5.0
BitKeeper/etc/logging_ok:
auto-union
client/mysql.cc:
Auto merged
configure.in:
Auto merged
client/mysqltest.c:
Auto merged
include/my_global.h:
Auto merged
include/my_pthread.h:
Auto merged
include/mysql_com.h:
Auto merged
libmysql/libmysql.c:
Auto merged
libmysqld/lib_sql.cc:
Auto merged
myisam/mi_check.c:
Auto merged
mysql-test/r/insert.result:
Auto merged
mysql-test/r/join_outer.result:
Auto merged
mysql-test/r/multi_update.result:
Auto merged
mysql-test/r/query_cache.result:
Auto merged
mysql-test/r/symlink.result:
Auto merged
mysql-test/t/func_time.test:
Auto merged
mysql-test/t/insert.test:
Auto merged
mysql-test/t/multi_update.test:
Auto merged
mysql-test/t/query_cache.test:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/item_sum.cc:
Auto merged
sql/item_sum.h:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/lex.h:
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/opt_range.cc:
Auto merged
sql/records.cc:
Auto merged
sql/repl_failsafe.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_acl.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_cache.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_db.cc:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_load.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_rename.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.h:
Auto merged
sql/share/czech/errmsg.txt:
Auto merged
sql/share/romanian/errmsg.txt:
Auto merged
Build-tools/Bootstrap:
Auto merged
client/mysql.cc:
Auto merged
mysql-test/r/auto_increment.result:
Auto merged
mysql-test/t/auto_increment.test:
Auto merged
mysql-test/t/type_decimal.test:
Auto merged
sql/opt_range.cc:
Auto merged
sql/share/czech/errmsg.txt:
Auto merged
sql/share/english/errmsg.txt:
Auto merged
sql/share/estonian/errmsg.txt:
Auto merged
sql/slave.cc:
Auto merged
sql/share/french/errmsg.txt:
Auto merged
sql/share/greek/errmsg.txt:
Auto merged
sql/share/hungarian/errmsg.txt:
Auto merged
sql/share/japanese/errmsg.txt:
Auto merged
sql/share/korean/errmsg.txt:
Auto merged
sql/share/norwegian-ny/errmsg.txt:
Auto merged
sql/share/norwegian/errmsg.txt:
Auto merged
sql/share/polish/errmsg.txt:
Auto merged
sql/share/romanian/errmsg.txt:
Auto merged
sql/share/slovak/errmsg.txt:
Auto merged
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.
client/Makefile.am:
mysqlbinlog.cc depends slightly on sql/mysql_priv.h
client/mysqlbinlog.cc:
Make mysqlbinlog able to read the new binlog format,
by seeking to the start and reading the first few events, to
detect the format of the binlog.
include/my_sys.h:
a correct tell() for SEQ_READ_APPEND caches.
mysys/mf_iocache2.c:
a correct tell() for SEQ_READ_APPEND caches
(my_b_tell() is not working for such caches).
sql/ha_innodb.cc:
we are getting rid of event lengthes here and there, which is good.
sql/log.cc:
Start events will have created==0 if generated by rotation (like in 3.23).
In 5.0 we always write a Format_description_log_event at the beginning of
every master's binary log and of every slave's relay log.
We also add Rotate and Stop to relay logs (like there already was in
master's binary logs).
When we rotate a relay log, we write the previous relay log's Start event
(the one which was sent from the master) to the beginning of the new log,
so that we don't need the previous relay log to understand the new one;
that's the purpose of MYSQL_LOG::description_event_for_queue.
Removed logging of SET FOREIGN_KEY_CHECKS, because we handle it as flags
in the Query event now.
sql/log_event.cc:
New event type: Format_description_log_event, to describe the log's format.
read_log_event() needs to be passed this event to be able to read 5.0 events.
Query_log_event has new members flags2 and sql_mode for replication of session
variables (except charsets which are WL#1062) and SQL_MODE.
flags2 is in fact a kind of copy of thd->options (&'d with a mask).
Now with this replication of FOREIGN_KEY_CHECKS, SQL_AUTO_IS_NULL, UNIQUE_CHECKS
and SQL_MODE work; with mysqlbinlog too.
sql/log_event.h:
Binlog version is changed to 4.
New classes (details in sql/log_event.cc).
Removing some useless #defines.
sql/mysql_priv.h:
Definition of SELECT_DISTINCT and others must be visible in client/mysqlbinlog.cc,
so adding #ifdefs.
sql/mysqld.cc:
update for prototype change
sql/slave.cc:
When the slave opens a relay log, it reads the first few events to know the format.
When slave I/O thread receives a Rotate from the master, it rotates its relay log
(to avoid mixed format in the relay log).
sql/slave.h:
in the slave we avoid lengthes and rely on absolute positions instead;
hence the introduction of future_group_master_log_pos and future_event_relay_log_pos
(explained in code).
sql/sql_class.cc:
catalog in THD
sql/sql_class.h:
catalog, and new members in MYSQL_LOG
sql/sql_repl.cc:
When the master starts sending binlog to slave, it must
first read the first few events to detect the binlog's format.
Same for SHOW BINLOG EVENTS.
release the mutex before exiting the function, or it will be kept forever
(=> START SLAVE, STOP SLAVE, etc will hang).
sql/slave.cc:
release the mutex before exiting the function, or it will be kept forever
(=> START SLAVE, STOP SLAVE, etc will hang).
BitKeeper/etc/logging_ok:
auto-union
Build-tools/Do-compile:
Auto merged
acinclude.m4:
Auto merged
configure.in:
Auto merged
dbug/dbug.c:
Auto merged
include/config-win.h:
Auto merged
include/my_base.h:
Auto merged
include/my_global.h:
Auto merged
include/my_pthread.h:
Auto merged
include/my_sys.h:
Auto merged
include/mysql.h:
Auto merged
include/mysql_com.h:
Auto merged
innobase/lock/lock0lock.c:
Auto merged
innobase/row/row0ins.c:
Auto merged
innobase/row/row0sel.c:
Auto merged
innobase/row/row0umod.c:
Auto merged
innobase/row/row0upd.c:
Auto merged
myisam/ft_boolean_search.c:
Auto merged
myisam/mi_check.c:
Auto merged
myisam/mi_dbug.c:
Auto merged
myisam/mi_open.c:
Auto merged
mysql-test/r/auto_increment.result:
Auto merged
mysql-test/r/bdb.result:
Auto merged
mysql-test/r/func_op.result:
Auto merged
Build-tools/Bootstrap:
Merge with 4.0
client/mysql.cc:
Merge with 4.0
client/mysqldump.c:
Merge with 4.0
client/mysqltest.c:
Use local version
innobase/btr/btr0cur.c:
Merge with 4.0 (Heikki should check if we should remove btr_cur_update_sec_rec_in_place()
libmysql/libmysql.c:
Merge with 4.0
libmysqld/lib_sql.cc:
Merge with 4.0
myisam/mi_key.c:
Merge with 4.0
myisam/mi_search.c:
Merge with 4.0
mysql-test/r/binary.result:
Merge with 4.0
mysql-test/r/func_group.result:
Merge with 4.0
mysql-test/r/func_str.result:
Merge with 4.0
mysql-test/r/func_time.result:
Merge with 4.0
mysql-test/r/group_by.result:
Merge with 4.0
mysql-test/r/handler.result:
Merge with 4.0
mysql-test/r/innodb.result:
Merge with 4.0
mysql-test/r/insert.result:
Merge with 4.0
mysql-test/r/join_outer.result:
Merge with 4.0
mysql-test/r/loaddata.result:
Merge with 4.0
mysql-test/r/lowercase_table.result:
Merge with 4.0
mysql-test/r/multi_update.result:
Merge with 4.0
mysql-test/r/mysqldump.result:
Merge with 4.0
mysql-test/r/query_cache.result:
Merge with 4.0
mysql-test/r/rpl_max_relay_size.result:
Merge with 4.0
mysql-test/r/rpl_rotate_logs.result:
Merge with 4.0
mysql-test/r/rpl_trunc_binlog.result:
Merge with 4.0
mysql-test/r/select_found.result:
Merge with 4.0
mysql-test/r/symlink.result:
Merge with 4.0
mysql-test/r/truncate.result:
Merge with 4.0
mysql-test/r/type_blob.result:
Merge with 4.0
mysql-test/r/type_datetime.result:
Merge with 4.0
mysql-test/r/type_decimal.result:
Merge with 4.0
mysql-test/r/type_enum.result:
Merge with 4.0
mysql-test/r/type_timestamp.result:
Merge with 4.0
mysql-test/r/union.result:
Merge with 4.0
mysql-test/t/auto_increment.test:
Merge with 4.0
mysql-test/t/bdb.test:
Merge with 4.0
mysql-test/t/func_group.test:
Merge with 4.0
mysql-test/t/func_op.test:
Merge with 4.0
mysql-test/t/func_str.test:
Merge with 4.0
mysql-test/t/func_time.test:
Merge with 4.0
mysql-test/t/group_by.test:
Merge with 4.0
mysql-test/t/handler.test:
Merge with 4.0
mysql-test/t/innodb.test:
Merge with 4.0
mysql-test/t/insert.test:
Merge with 4.0
mysql-test/t/join_outer.test:
Merge with 4.0
mysql-test/t/limit.test:
Merge with 4.0
mysql-test/t/loaddata.test:
Merge with 4.0
mysql-test/t/lowercase_table.test:
Merge with 4.0
mysql-test/t/multi_update.test:
Merge with 4.0
mysql-test/t/mysqldump.test:
Merge with 4.0
mysql-test/t/query_cache.test:
Merge with 4.0
mysql-test/t/rpl_log_pos.test:
Merge with 4.0
mysql-test/t/rpl_max_relay_size.test:
Merge with 4.0
mysql-test/t/rpl_rotate_logs.test:
Merge with 4.0
mysql-test/t/rpl_trunc_binlog.test:
Merge with 4.0
mysql-test/t/select_found.test:
Merge with 4.0
mysql-test/t/symlink.test:
Merge with 4.0
mysql-test/t/truncate.test:
Merge with 4.0
mysql-test/t/type_blob.test:
Merge with 4.0
mysql-test/t/type_datetime.test:
Merge with 4.0
mysql-test/t/type_decimal.test:
Merge with 4.0
mysql-test/t/type_enum.test:
Merge with 4.0
mysql-test/t/type_timestamp.test:
Merge with 4.0
mysql-test/t/union.test:
Merge with 4.0
mysys/charset.c:
Merge with 4.0
mysys/my_init.c:
Merge with 4.0
mysys/my_symlink.c:
Merge with 4.0
mysys/my_thr_init.c:
Merge with 4.0
regex/reginit.c:
Merge with 4.0
sql/field.cc:
Change fix_datetime() to print errors
sql/field.h:
Merge with 4.0
sql/ha_innodb.cc:
Merge with 4.0
sql/item.cc:
Merge with 4.0
sql/item.h:
Merge with 4.0
sql/item_cmpfunc.cc:
Merge with 4.0
sql/item_func.cc:
Merge with 4.0
sql/item_func.h:
Merge with 4.0
sql/item_strfunc.cc:
Merge with 4.0
sql/item_strfunc.h:
Merge with 4.0
sql/item_sum.cc:
Merge with 4.0
sql/item_sum.h:
Merge with 4.0
sql/item_timefunc.cc:
Merge with 4.0
sql/lex.h:
Merge with 4.0
sql/log.cc:
Merge with 4.0
sql/log_event.cc:
Merge with 4.0
sql/log_event.h:
Merge with 4.0
sql/mysql_priv.h:
Merge with 4.0
sql/mysqld.cc:
Merge with 4.0
sql/nt_servc.cc:
Merge with 4.0
sql/opt_range.cc:
Merge with 4.0
sql/records.cc:
Merge with 4.0
sql/repl_failsafe.cc:
Merge with 4.0
sql/slave.cc:
Merge with 4.0
sql/sql_acl.cc:
Merge with 4.0
sql/sql_analyse.cc:
Merge with 4.0
sql/sql_base.cc:
Merge with 4.0
sql/sql_cache.cc:
Merge with 4.0
sql/sql_class.h:
Merge with 4.0
sql/sql_db.cc:
Merge with 4.0
sql/sql_delete.cc:
Merge with 4.0
sql/sql_insert.cc:
Merge with 4.0
sql/sql_load.cc:
Merge with 4.0
sql/sql_parse.cc:
Merge with 4.0
sql/sql_rename.cc:
Merge with 4.0
sql/sql_select.cc:
Merge with 4.0
sql/sql_show.cc:
Merge with 4.0
sql/sql_table.cc:
Merge with 4.0
sql/sql_update.cc:
Merge with 4.0
sql/sql_yacc.yy:
Merge with 4.0
sql/table.cc:
Merge with 4.0
sql/table.h:
Merge with 4.0
sql/time.cc:
Merge with 4.0
sql/uniques.cc:
Merge with 4.0
strings/ctype-tis620.c:
Merge with 4.0
strings/strto.c:
Merge with 4.0
support-files/mysql.server.sh:
Merge with 4.0
support-files/mysql.spec.sh:
Merge with 4.0
include/mysql_com.h:
Auto merged
libmysqld/lib_sql.cc:
Auto merged
myisam/mi_check.c:
Auto merged
scripts/mysql_install_db.sh:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/protocol.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_load.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/share/czech/errmsg.txt:
Auto merged
sql/share/romanian/errmsg.txt:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/protocol.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/set_var.h:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_show.cc:
Auto merged
to mysqld that is executed for all new connections.
(Similar to the client command: mysql_options(... MYSQL_INIT_COMMAND ...).
sql/mysql_priv.h:
Task ID 499:Add a new settable string variable(init_connect, init_slave)
to mysqld that is executed for all new connections.
sql/mysqld.cc:
Task ID 499:Add a new settable string variable(init_connect, init_slave)
to mysqld that is executed for all new connections.
sql/protocol.cc:
Task ID 499:Add a new settable string variable(init_connect, init_slave)
to mysqld that is executed for all new connections.
sql/set_var.cc:
Task ID 499:Add a new settable string variable(init_connect, init_slave)
to mysqld that is executed for all new connections.
sql/slave.cc:
Task ID 499:Add a new settable string variable(init_connect, init_slave)
to mysqld that is executed for all new connections.
sql/sql_class.cc:
Task ID 499:Add a new settable string variable(init_connect, init_slave)
to mysqld that is executed for all new connections.
sql/sql_class.h:
Task ID 499:Add a new settable string variable(init_connect, init_slave)
to mysqld that is executed for all new connections.
sql/sql_parse.cc:
Task ID 499:Add a new settable string variable(init_connect, init_slave)
to mysqld that is executed for all new connections.
sql/sql_show.cc:
Task ID 499:Add a new settable string variable(init_connect, init_slave)
to mysqld that is executed for all new connections.
we change THD::system_thread from a 'bool' to a bitmap to be able to
distinguish between delayed-insert threads and slave threads.
- Fix for BUG#1701 "Update from multiple tables" (one line in sql_parse.cc,
plus a new test rpl_multi_update.test). That's just adding an initialization.
sql/repl_failsafe.cc:
comment to warn about this unused code
sql/slave.cc:
Now thd->system_thread is a bitmap, not a bool.
sql/sql_class.h:
'bool' for THD::system_thread is not accurate enough; sometimes we need
to distinguish between delayed-insert threads and slave threads;
so changing THD::system_thread to a bitmap (uint).
sql/sql_insert.cc:
thd.system_thread is now a bitmap
sql/sql_parse.cc:
We need to initialize thd->lex.select_lex.options in mysql_init_query();
it's already initialized in dispatch_command() but replication calls
mysql_parse() directly, thus bypassing dispatch_command().
Not initing it here leads to a query influencing the next query,
in the slave SQL thread.
The initialization in dispatch_command() must be kept as this
command uses the variable in tests, even when the command was not a
query (i.e. when mysql_init_query() was not called).
The problem was that when the slave SQL thread reads a hot relay log (hot = the one being written to by the
slave I/O thread), it must have the LOCK_log. It already took it for read_log_event(), but needs
it also for check_binlog_magic().
This should fix all recently reported failures of the rpl_max_relay_size test in 4.1 and 5.0
(though the bug exists since 4.0, it showed up first in 5.0).
sql/slave.cc:
Fix for BUG#2011 "rare race condition producing "binlog has bad magic number" error in slave".
The problem was that when the slave SQL thread reads a hot relay log (hot = the one being written to by the
slave I/O thread), it must have the LOCK_log. It already took it for read_log_event(), but needs
it also for check_binlog_magic().
BitKeeper/etc/ignore:
auto-union
BitKeeper/etc/logging_ok:
auto-union
configure.in:
Auto merged
client/mysql.cc:
Auto merged
client/mysqltest.c:
Auto merged
include/my_global.h:
Auto merged
include/my_pthread.h:
Auto merged
include/mysql_com.h:
Auto merged
libmysql/libmysql.c:
Auto merged
myisam/mi_check.c:
Auto merged
myisam/myisamchk.c:
Auto merged
myisam/myisamdef.h:
Auto merged
myisam/sort.c:
Auto merged
mysql-test/install_test_db.sh:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/r/symlink.result:
Auto merged
mysql-test/t/subselect.test:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/ha_myisam.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/handler.h:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/log.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/opt_range.cc:
Auto merged
sql/protocol.cc:
Auto merged
sql/protocol.h:
Auto merged
sql/protocol_cursor.cc:
Auto merged
sql/repl_failsafe.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_db.cc:
Auto merged
sql/sql_derived.cc:
Auto merged
sql/sql_error.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_list.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_repl.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_select.h:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_test.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
the relay log before flushing master.info.
Doing 'before' leads to duplicate event, doing after leads to missing event.
Both can be as destructive, but 'duplicate' enables us to later add detection
code to catch it. Whereas 'missing' can't be caught (it can't, because
the I/O thread can produce legal position jumps, for example if it has
ignored an event coming from this slave (rememember that starting from 4.1.1,
the I/O thread filters the server id).
Now the I/O thread (in flush_master_info()) flushes the relay log to disk
after reading every event. Slower but provides additionnal safety in case
of brutal crash.
I had to make the flush optional (i.e. add a if(some_bool_argument) in the function)
because sometimes flush_master_info() is called when there is no usable
relay log (the relay log's IO_CACHE is not initialized so can't be flushed).
mysql-test/r/rpl_loaddata_rule_m.result:
avoid a harmless error in the .err file; we don't need a slave in this test
(even though it's called 'rpl' because it's testing binlog-ignore-db).
mysql-test/t/rpl_loaddata_rule_m.test:
result update
sql/repl_failsafe.cc:
update call to flush_master_info() according to new prototype.
sql/slave.cc:
- Now the I/O thread (in flush_master_info()) flushes the relay log to disk
after reading every event. Slower but provides additionnal safety in case
of brutal crash.
I had to make the flush optional (i.e. add a if(some_bool_argument) in the function)
because sometimes flush_master_info() is called when there is no usable
relay log (the relay log's IO_CACHE is not initialized so can't be flushed).
- Update version in message.
- Remove warning about bug as it's not true anymore (since this changeset).
sql/slave.h:
new prototype
sql/sql_repl.cc:
update call to flush_master_info() according to new prototype.
Updated project files for windows
Made rpl_change_master.test portable
Ensure that mutex are not freed if not initilized
VC++Files/client/mysql.dsp:
Updated project files for windows according to suggestions from Intel
VC++Files/comp_err/comp_err.dsp:
Updated project files for windows according to suggestions from Intel
VC++Files/innobase/innobase.dsp:
Updated project files for windows according to suggestions from Intel
VC++Files/libmysqld/examples/test_libmysqld.dsp:
Updated project files for windows according to suggestions from Intel
VC++Files/libmysqld/libmysqld.dsp:
Updated project files for windows according to suggestions from Intel
VC++Files/myisamchk/myisamchk.dsp:
Updated project files for windows according to suggestions from Intel
VC++Files/myisamlog/myisamlog.dsp:
Updated project files for windows according to suggestions from Intel
VC++Files/myisampack/myisampack.dsp:
Updated project files for windows according to suggestions from Intel
VC++Files/mysqlmanager/MySqlManager.dsp:
Updated project files for windows according to suggestions from Intel
VC++Files/mysqlshutdown/mysqlshutdown.dsp:
Updated project files for windows according to suggestions from Intel
VC++Files/mysys/mysys.dsp:
Updated project files for windows according to suggestions from Intel
libmysql/libmysql.c:
Removed not used include files (which caused problems on Win64)
mysql-test/r/rpl_change_master.result:
Made test portable
mysql-test/t/rpl_change_master.test:
Made test portable
sql-common/client.c:
Removed not used include files (which caused problems on Win64)
sql/ha_innodb.cc:
Ensure that mutex is not freed if not initilized
sql/hostname.cc:
Ensure that mutex is not freed if not initilized
sql/slave.cc:
Don't flush cur_log (relay log) on flush_relay_log_info becasue this crashes the server if cur_log is 'hot' and the io_thread has changed log file.
(Initial caps for each word.) For example, instead of writing
Until_condition, Until_Log_File, and Until_log_pos, write
Until_Condition, Until_Log_File, and Until_Log_pos.
mysql-test/r/rpl000015.result:
Write slave status field names using consistent style.
mysql-test/r/rpl_empty_master_crash.result:
Write slave status field names using consistent style.
mysql-test/r/rpl_error_ignored_table.result:
Write slave status field names using consistent style.
mysql-test/r/rpl_flush_log_loop.result:
Write slave status field names using consistent style.
mysql-test/r/rpl_loaddata.result:
Write slave status field names using consistent style.
mysql-test/r/rpl_log.result:
Write slave status field names using consistent style.
mysql-test/r/rpl_log_pos.result:
Write slave status field names using consistent style.
mysql-test/r/rpl_max_relay_size.result:
Write slave status field names using consistent style.
mysql-test/r/rpl_openssl.result:
Write slave status field names using consistent style.
mysql-test/r/rpl_redirect.result:
Write slave status field names using consistent style.
mysql-test/r/rpl_replicate_do.result:
Write slave status field names using consistent style.
mysql-test/r/rpl_reset_slave.result:
Write slave status field names using consistent style.
mysql-test/r/rpl_rotate_logs.result:
Write slave status field names using consistent style.
mysql-test/r/rpl_trunc_binlog.result:
Write slave status field names using consistent style.
mysql-test/r/rpl_until.result:
Write slave status field names using consistent style.
mysql-test/t/mix_innodb_myisam_binlog.test:
Write slave status field names using consistent style.
mysql-test/t/rpl_max_relay_size.test:
Write slave status field names using consistent style.
sql/slave.cc:
Write slave status field names using consistent style.
BitKeeper/etc/ignore:
auto-union
BitKeeper/etc/logging_ok:
auto-union
BitKeeper/triggers/post-commit:
Auto merged
client/mysql.cc:
Auto merged
configure.in:
Auto merged
include/my_global.h:
Auto merged
include/my_pthread.h:
Auto merged
include/mysql_com.h:
Auto merged
libmysql/libmysql.c:
Auto merged
libmysqld/Makefile.am:
Auto merged
libmysqld/lib_sql.cc:
Auto merged
myisam/mi_check.c:
Auto merged
myisam/myisamchk.c:
Auto merged
myisam/myisamdef.h:
Auto merged
mysql-test/r/rpl_temporary.result:
Auto merged
mysql-test/r/show_check.result:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/r/variables.result:
Auto merged
mysql-test/t/subselect.test:
Auto merged
mysql-test/t/variables.test:
Auto merged
scripts/mysql_install_db.sh:
Auto merged
sql/Makefile.am:
Auto merged
sql/ha_berkeley.cc:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/ha_myisam.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/handler.h:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/item_sum.cc:
Auto merged
sql/item_sum.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_cache.cc:
Auto merged
sql/sql_db.cc:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_repl.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_union.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/table.h:
Auto merged
BitKeeper/etc/logging_ok:
auto-union
BitKeeper/deleted/.del-apply-patch:
Delete: netware/BUILD/apply-patch
BitKeeper/deleted/.del-save-patch:
Delete: netware/BUILD/save-patch
BitKeeper/deleted/.del-mini_client.cc~8677895ec8169183:
Auto merged
BitKeeper/triggers/post-commit:
Auto merged
VC++Files/mysys/mysys.dsp:
Auto merged
client/mysqlbinlog.cc:
Auto merged
extra/resolveip.c:
Auto merged
include/config-win.h:
Auto merged
include/my_global.h:
Auto merged
include/my_sys.h:
Auto merged
include/mysql_com.h:
Auto merged
innobase/include/os0thread.h:
Auto merged
innobase/os/os0file.c:
Auto merged
innobase/srv/srv0start.c:
Auto merged
innobase/thr/thr0loc.c:
Auto merged
libmysql/manager.c:
Auto merged
libmysqld/Makefile.am:
Auto merged
libmysqld/lib_sql.cc:
Auto merged
myisam/ft_boolean_search.c:
Auto merged
myisam/mi_extra.c:
Auto merged
myisam/mi_locking.c:
Auto merged
mysql-test/mysql-test-run.sh:
Auto merged
mysql-test/r/fulltext.result:
Auto merged
mysql-test/r/myisam.result:
Auto merged
mysql-test/r/select.result:
Auto merged
mysql-test/t/fulltext.test:
Auto merged
mysql-test/t/myisam.test:
Auto merged
mysql-test/t/rpl_reset_slave.test:
Auto merged
mysql-test/t/rpl_trunc_binlog.test:
Auto merged
mysys/Makefile.am:
Auto merged
mysys/errors.c:
Auto merged
mysys/my_symlink.c:
Auto merged
mysys/my_thr_init.c:
Auto merged
scripts/mysql_install_db.sh:
Auto merged
sql/item_func.cc:
Auto merged
sql/log_event.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_cache.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_repl.cc:
Auto merged
sql/sql_test.cc:
Auto merged
sql/unireg.h:
Auto merged
client/mysqldump.c:
merge with 4.0 (quoted names)
configure.in:
use local file
include/my_pthread.h:
Use local file
innobase/include/srv0srv.h:
Use local file
innobase/row/row0sel.c:
Use local file
innobase/srv/srv0srv.c:
Use local file
libmysql/libmysql.c:
Use local file
myisam/myisamchk.c:
merge fixes
mysql-test/r/func_crypt.result:
update results
mysql-test/r/order_by.result:
update results
mysql-test/r/query_cache.result:
update results
mysql-test/r/range.result:
update results
mysql-test/r/rpl_reset_slave.result:
update results
mysql-test/r/rpl_trunc_binlog.result:
update results
mysql-test/t/func_crypt.test:
Added disable_warnings/enable warnings
mysql-test/t/query_cache.test:
merge tests
mysql-test/t/range.test:
merge tests
mysys/charset.c:
use local file (will merge patch separately)
sql/ha_innodb.cc:
use local file
sql/log_event.cc:
new slave_proxy_id handling
sql/slave.h:
merge
sql/sql_base.cc:
merge
sql/sql_parse.cc:
Fixes for counting user connect resourses
Added function comments for involved functions
sql/sql_select.cc:
Fix for not doing sort with LIMIT when OPTION_FOUND_ROWS is used
sql/unireg.cc:
merge fixes
support-files/mysql.server.sh:
merge fixes
rli->save_temporary_tables and slave_open_temp_tables
(in old 4.0 you could make "SHOW STATUS LIKE 'slave_open_temp_tables'" grow
indefinitely by doing RESET SLAVE and replicating always the same CREATE
TEMPORARY TABLE).
It's critical to reset save_temporary_tables to 0 (otherwise you may later
read memory which has been freed) so this changeset should go into 4.1.
mysql-test/r/rpl_reset_slave.result:
result update
mysql-test/t/rpl_reset_slave.test:
test for RESET SLAVE and creating twice the same temp table in the slave.
sql/slave.cc:
when we delete the slave's temp tables (when slave server shuts down and when
RESET SLAVE), we reset 2 variables: rli->save_temporary_tables & slave_open_temp_tables.
- when we don't have in_addr_t, use uint32.
- a forgotten initialization of slave_proxy_id in sql/log_event.cc (was not really "forgot", was
"we needn't init it there", but there was one case where we needed...).
- made slave_proxy_id always meaningful in THD and Log_event, so we can
rely more on it (no need to test if it's meaningful). THD::slave_proxy_id
is equal to THD::thread_id except for the slave SQL thread.
- clean up the slave's temporary table (i.e. free their memory) when slave
server shuts down.
extra/resolveip.c:
removed #define as it is simpler to put it in my_net.h
(because we need the #define elsewhere)
include/my_net.h:
When in_addr_t is not defined, use uint32.
libmysql/libmysql.c:
using in_addr_t is more generic.
libmysql/manager.c:
using in_addr_t is more generic.
mysql-test/t/rpl_chain_temp_table.test:
comments
sql/log_event.cc:
* Had forgot to initialize slave_proxy_id in the event constructor (char* buf...).
Initializing is in fact only needed for Create_file_log_event, because
it uses slave_proxy_id even if it does not write an event to the binlog
(it uses slave_proxy_id to write it to SQL-LOAD.info).
* When we write events we now always write slave_proxy_id, which is now always
meaningful (as thd->slave_proxy_id is now always meaningful, see change in
sql_class.cc).
sql/mini_client.cc:
in_addr_t is more generic.
sql/slave.cc:
A RELAY_LOG_INFO method to free the slave's temporary tables from memory
at slave's server shutdown.
It is called by end_slave(), which is called by close_connections(),
which is called when the server terminates
(close_connections() is just before clean_up(); putting the call in
clean_up() was buggy, as active_mi is already deleted by close_connections().
sql/slave.h:
new method
sql/sql_class.cc:
By default we set THD::slave_proxy_id to THD::thread_id,
so THD::slave_proxy_id is always meaningful (not 0).
It's always the same as the thread id except for the slave
SQL thread.
"If 2 master threads with same-name temp table, slave makes bad binlog"
and (two birds with one stone) for
BUG#1240 "slave of slave breaks when STOP SLAVE was issud on parent slave
and temp tables".
Here is the design change:
in a slave running with --log-slave-updates, events are now logged with the
thread id they had on the master. So no more id conflicts between master threads,
but introduces id conflicts between one master thread and one normal
client thread connected to the slave. This is solved by storing the server id
in the temp table's name.
New test which requires mysql-test-run to be run with --manager,
otherwise it will be skipped.
Undoing a Monty's change (hum, a chill runs down my spine ;) which was
"Cleanup temporary tables when slave ends" in ChangeSet 1.1572.1.1.
mysql-test/mysql-test-run.sh:
One new test which needs more than one slave so must be hardcoded in mysql-test-run.sh.
sql/log_event.cc:
The event needs to carry a slave_proxy_id (which is set at event's creation
and used at event's logging).
This is used for events created by ::exec_event() in the slave SQL thread:
now we want to log these events with the thread id they had on the master.
This is so that several same-name temp tables simultaneously created on
the master end up with not the same thread id in the slave's binlog.
sql/log_event.h:
Query and Load need to carry a slave_proxy_id, like they carried a thread_id
(to replicate temp tables well).
sql/slave.cc:
Do not free temp tables in the slave SQL thread. Or they will be lost when
one does STOP SLAVE / START SLAVE.
We even save them in rli->save_temporary_tables and set thd->temporary_tables=0
to prevent them to be freed.
sql/sql_base.cc:
Put the server id in the table cache key name for temp tables
(we already put the slave_proxy_id, but we also need the server id
in case normal clients (not slave threads) are using temp tables
on the slave).
sql/unireg.h:
4 more bytes, to store the server id.
BitKeeper/etc/ignore:
auto-union
BitKeeper/etc/logging_ok:
auto-union
BitKeeper/deleted/.del-compile-netware-src~1:
Delete: netware/BUILD/compile-netware-src
BitKeeper/deleted/.del-knetware.imp~1:
Delete: netware/BUILD/knetware.imp
client/mysql.cc:
Auto merged
configure.in:
Auto merged
include/my_global.h:
Auto merged
include/mysql_com.h:
Auto merged
libmysql/libmysql.c:
Auto merged
libmysqld/Makefile.am:
Auto merged
libmysqld/lib_sql.cc:
Auto merged
myisam/mi_check.c:
Auto merged
myisam/myisamchk.c:
Auto merged
myisam/myisamdef.h:
Auto merged
mysql-test/r/distinct.result:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/r/variables.result:
Auto merged
mysql-test/t/subselect.test:
Auto merged
mysql-test/t/variables.test:
Auto merged
scripts/mysql_create_system_tables.sh:
Auto merged
scripts/mysql_install_db.sh:
Auto merged
sql/ha_berkeley.cc:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/ha_myisam.cc:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_create.cc:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/item_sum.cc:
Auto merged
sql/lock.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/protocol.cc:
Auto merged
sql/repl_failsafe.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_cache.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_db.cc:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_derived.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_load.cc:
Auto merged
sql/sql_repl.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_union.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
BitKeeper/etc/ignore:
auto-union
include/m_ctype.h:
Auto merged
mysql-test/r/mysqldump.result:
Auto merged
sql/field.cc:
Auto merged
sql/ha_berkeley.cc:
Auto merged
sql/handler.h:
Auto merged
sql/item.cc:
Auto merged
sql/item_func.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_delete.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_test.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.cc:
Auto merged
strings/ctype-simple.c:
Auto merged
while the slave is connected.
mysql-test/t/rpl_trunc_binlog.test:
don't RESET MASTER while the slave is connected; this could confuse the master or slave.
(In replication you don't RESET MASTER while a slave is connected!)
sql/slave.cc:
typo
BitKeeper/deleted/.del-MYSQL.ICO~d93519b5f0d6ee1:
Auto merged
client/client_priv.h:
Auto merged
extra/resolveip.c:
Auto merged
include/mysql.h:
Auto merged
include/thr_alarm.h:
Auto merged
myisam/myisamchk.c:
Auto merged
scripts/mysql_config.sh:
Auto merged
scripts/mysqld_safe.sh:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_handler.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_test.cc:
Auto merged
Fixed chsize() problem on windows
Extend default timeout on windows clients to 1 year (to avoid timeout problems)
include/mysql.h:
Added client timeouts (for TCP/IP)
libmysql/libmysql.c:
Added client timeouts (for TCP/IP)
mysql-test/r/create.result:
More tests for CREATE TABLE IF NOT EXISTS ... SELECT
mysql-test/t/create.test:
More tests for CREATE TABLE IF NOT EXISTS ... SELECT
mysys/my_chsize.c:
Fix for windows
sql/handler.h:
Remove not used field 'if_not_exists'
Ordered fields to be more optimized for new CPU's
Added field 'table_existed'
sql/slave.cc:
Cleanup temporary tables when slave ends
sql/sql_class.h:
Remove not used 'do_not_drop' field
sql/sql_insert.cc:
Better fix for CREATE TABLE IF NOT EXISTS ... SELECT
sql/sql_table.cc:
Better fix for CREATE TABLE IF NOT EXISTS ... SELECT
BitKeeper/etc/ignore:
auto-union
myisam/myisamdef.h:
Auto merged
sql/ha_berkeley.cc:
Auto merged
sql/ha_innodb.h:
Auto merged
sql/ha_myisam.cc:
Auto merged
sql/handler.h:
Auto merged
sql/item.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
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_show.cc:
Auto merged
sql/sql_test.cc:
Auto merged
sql/table.cc:
Auto merged
a Format_description_log_event (or maybe it will be named
Description_log_event) which is not recognized by 4.0, so
a 4.0 can't be a slave of 5.0. We detect it early to produce
a helpful message instead of "corrupted relay log" later.
sql/slave.cc:
Make the slave die if master is 5.0.
"Add a column "Timestamp_of_last_master_event_executed" in SHOW SLAVE STATUS".
Finally this is adding
- Slave_IO_State (a copy of the State column of SHOW PROCESSLIST for the I/O thread,
so that the users, most of the time, has enough info with only SHOW SLAVE STATUS).
- Seconds_behind_master. When the slave connects to the master it does SELECT UNIX_TIMESTAMP()
on the master, computes the absolute difference between the master's and the slave's clock.
It records the timestamp of the last event executed by the SQL thread, and does a
small computation to find the number of seconds by which the slave is late.
mysql-test/r/rpl000015.result:
result update
mysql-test/r/rpl_empty_master_crash.result:
result update
mysql-test/r/rpl_error_ignored_table.result:
result update
mysql-test/r/rpl_flush_log_loop.result:
result update
mysql-test/r/rpl_loaddata.result:
result update
mysql-test/r/rpl_log.result:
result update
mysql-test/r/rpl_log_pos.result:
result update
mysql-test/r/rpl_max_relay_size.result:
result update
mysql-test/r/rpl_redirect.result:
result update
mysql-test/r/rpl_replicate_do.result:
result update
mysql-test/r/rpl_reset_slave.result:
result update
mysql-test/r/rpl_rotate_logs.result:
result update
mysql-test/r/rpl_trunc_binlog.result:
result update
mysql-test/r/rpl_until.result:
result update
mysql-test/t/rpl000015.test:
update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS
mysql-test/t/rpl_empty_master_crash.test:
update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS
mysql-test/t/rpl_error_ignored_table.test:
update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS
mysql-test/t/rpl_flush_log_loop.test:
update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS
mysql-test/t/rpl_loaddata.test:
update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS
mysql-test/t/rpl_log.test:
update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS
mysql-test/t/rpl_log_pos.test:
update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS
mysql-test/t/rpl_max_relay_size.test:
update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS
mysql-test/t/rpl_openssl.test:
update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS
mysql-test/t/rpl_redirect.test:
update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS
mysql-test/t/rpl_replicate_do.test:
update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS
mysql-test/t/rpl_reset_slave.test:
update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS
mysql-test/t/rpl_rotate_logs.test:
update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS
mysql-test/t/rpl_trunc_binlog.test:
update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS
mysql-test/t/rpl_until.test:
update to be independant of the new column Seconds_behind_master in SHOW SLAVE STATUS
sql/log_event.cc:
when the SQL thread executes an event, we record its timestamp
sql/slave.cc:
in check_master_version() we know read the master's clock, to know the clock difference
with the slave.
In show_master_info() we send the state of the I/O thread, and compute the number of
seconds by which the slave is late.
sql/slave.h:
timestamp of the last master's event executed by the SQL thread,
and difference between the clocks of the master and slave.
sql/sql_repl.cc:
clear the Seconds_behind_master column of SHOW SLAVE STATUS when RESET SLAVE or CHANGE MASTER.
mysql-test/std_data/trunc_binlog.000001:
Rename: mysql-test/std_data/trunc_binlog.001 -> mysql-test/std_data/trunc_binlog.000001
client/mysqltest.c:
Fixed merge problem
mysql-test/mysql-test-run.sh:
Fixed merge problem
mysql-test/r/distinct.result:
Fix after merge
mysql-test/r/drop_temp_table.result:
Fix after merge
mysql-test/r/join_outer.result:
Fix after merge
mysql-test/r/mysqldump.result:
Fix after merge
mysql-test/r/null_key.result:
Fix after merge
mysql-test/r/order_by.result:
Fix after merge
mysql-test/r/rpl_alter.result:
Fix after merge
mysql-test/r/rpl_loaddata.result:
Fix after merge
mysql-test/r/rpl_loaddata_rule_m.result:
Fix after merge
mysql-test/r/rpl_trunc_binlog.result:
Fix after merge
mysql-test/r/select_safe.result:
Fix after merge
mysql-test/t/insert.test:
Fix after merge
mysql-test/t/mysqlbinlog.test:
Fix after merge
mysql-test/t/rpl000009.test:
Fix after merge
mysql-test/t/rpl_alter.test:
Fix after merge
mysql-test/t/rpl_loaddata_rule_m.test:
Fix after merge
mysql-test/t/rpl_trunc_binlog.test:
Fix after merge
sql-common/client.c:
Fix after merge
sql/item_subselect.cc:
Fix after merge
sql/repl_failsafe.cc:
Fix after merge
sql/slave.cc:
Fix after merge
sql/sql_insert.cc:
Fix after merge
BitKeeper/etc/ignore:
auto-union
BitKeeper/etc/logging_ok:
auto-union
BitKeeper/deleted/.del-mysqldump.result:
Delete: mysql-test/r/mysqldump.result
BitKeeper/deleted/.del-mysqldump.test:
Delete: mysql-test/t/mysqldump.test
BitKeeper/deleted/.del-compile-netware-max:
Delete: netware/BUILD/compile-netware-max
BitKeeper/deleted/.del-compile-netware-max-debug:
Delete: netware/BUILD/compile-netware-max-debug
BitKeeper/deleted/.del-compile-netware-src:
Delete: netware/BUILD/compile-netware-src
BitKeeper/deleted/.del-knetware.imp:
Delete: netware/BUILD/knetware.imp
BUILD/compile-pentium-valgrind-max:
Auto merged
BitKeeper/deleted/.del-mini_client.cc~8677895ec8169183:
Auto merged
BitKeeper/deleted/.del-mysql_fix_privilege_tables.sql:
Auto merged
BitKeeper/deleted/.del-openssl.imp:
Delete: netware/BUILD/openssl.imp
acinclude.m4:
Auto merged
SSL/cacert.pem:
Auto merged
SSL/client-cert.pem:
Auto merged
SSL/server-cert.pem:
Auto merged
client/mysqlbinlog.cc:
Auto merged
extra/resolveip.c:
Auto merged
heap/hp_test2.c:
Auto merged
include/my_global.h:
Auto merged
innobase/row/row0mysql.c:
Auto merged
innobase/row/row0sel.c:
Auto merged
libmysql/libmysql.def:
Auto merged
libmysqld/examples/Makefile.am:
Auto merged
myisam/mi_check.c:
Auto merged
myisam/mi_test2.c:
Auto merged
myisam/myisamdef.h:
Auto merged
mysql-test/r/fulltext_multi.result:
Auto merged
mysql-test/r/fulltext_order_by.result:
Auto merged
mysql-test/r/select.result:
Auto merged
mysql-test/r/user_var.result:
Auto merged
mysql-test/std_data/rpl_loaddata2.dat:
Auto merged
mysql-test/t/rpl_loaddata.test:
Auto merged
mysql-test/t/select.test:
Auto merged
mysql-test/t/user_var.test:
Auto merged
mysys/mf_dirname.c:
Auto merged
scripts/make_win_src_distribution.sh:
Auto merged
sql/des_key_file.cc:
Auto merged
sql/log.cc:
Auto merged
sql/mysqld.cc:
Auto merged
sql/repl_failsafe.cc:
Auto merged
sql/slave.h:
Auto merged
sql-bench/crash-me.sh:
Auto merged
sql-bench/server-cfg.sh:
Auto merged
sql-bench/test-insert.sh:
Auto merged
sql-bench/test-transactions.sh:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_load.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
support-files/mysql.server.sh:
Auto merged
client/mysqltest.c:
Merge with 4.0.16
Changed version number to '2.0' to avoid confusion with version numbering in 3.23
mysql-test/r/distinct.result:
Updated results for merge
mysql-test/r/insert.result:
Updated results for merge
mysql-test/r/insert_select.result:
Updated results for merge
mysql-test/r/join_outer.result:
Updated results for merge
mysql-test/r/mix_innodb_myisam_binlog.result:
Updated results for merge
mysql-test/r/order_by.result:
Updated results for merge
mysql-test/r/rpl000009.result:
Updated results for merge
mysql-test/r/rpl_loaddata.result:
Updated results for merge
mysql-test/r/rpl_log.result:
Updated results for merge
mysql-test/r/select_safe.result:
Updated results for merge
scripts/mysql_install_db.sh:
Change -eq to =
BitKeeper/deleted/.del-ins000001.test~2428ee5c9b1bc483:
dummy
BitKeeper/etc/ignore:
auto-union
BitKeeper/etc/logging_ok:
auto-union
client/mysql.cc:
Auto merged
configure.in:
Auto merged
include/my_pthread.h:
Auto merged
include/mysql_com.h:
Auto merged
libmysql/libmysql.c:
Auto merged
BitKeeper/deleted/.del-sel000100.result~84ed46856cb3a69f:
Auto merged
BitKeeper/deleted/.del-sel000100.test~548501cad19a1a59:
Auto merged
myisam/mi_check.c:
Auto merged
myisam/myisamchk.c:
Auto merged
mysql-test/r/connect.result:
Auto merged
mysql-test/r/show_check.result:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/r/symlink.result:
Auto merged
mysql-test/t/subselect.test:
Auto merged
mysys/my_pthread.c:
Auto merged
scripts/mysql_create_system_tables.sh:
Auto merged
scripts/mysql_install_db.sh:
Auto merged
sql/filesort.cc:
Auto merged
sql/ha_berkeley.cc:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/ha_myisam.cc:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_create.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/item_sum.cc:
Auto merged
sql/lex.h:
Auto merged
sql/lock.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/protocol.cc:
Auto merged
sql/records.cc:
Auto merged
sql/repl_failsafe.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_cache.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_db.cc:
Auto merged
sql/sql_derived.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_load.cc:
Auto merged
sql/sql_repl.cc:
Auto merged
sql/sql_repl.h:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
include/mysqld_error.h:
Added error codes for warnings and error messages for START SLAVE UNTIL
mysql-test/r/rpl000015.result:
Fixed test because 3 new columns to SHOW SLAVE STATUS output were added
mysql-test/r/rpl_empty_master_crash.result:
Fixed test because 3 new columns to SHOW SLAVE STATUS output were added
mysql-test/r/rpl_flush_log_loop.result:
Fixed test because 3 new columns to SHOW SLAVE STATUS output were added
mysql-test/r/rpl_log.result:
Fixed test because 3 new columns to SHOW SLAVE STATUS output were added
mysql-test/r/rpl_log_pos.result:
Fixed test because 3 new columns to SHOW SLAVE STATUS output were added
mysql-test/r/rpl_redirect.result:
Fixed test because 3 new columns to SHOW SLAVE STATUS output were added
mysql-test/r/rpl_replicate_do.result:
Fixed test because 3 new columns to SHOW SLAVE STATUS output were added
mysql-test/r/rpl_rotate_logs.result:
Fixed test because 3 new columns to SHOW SLAVE STATUS output were added
sql/lex.h:
Added UNTIL symbol
sql/log.cc:
Invalidating until_log_name comparison result if group_relay_log_name is changed
sql/log_event.cc:
Invalidating until_log_name comparison result if group_master_log_name is changed
sql/repl_failsafe.cc:
Cancel until condition if LOAD MASTER DATA is executed
sql/share/czech/errmsg.txt:
Added error and warning message for START SLAVE UNTIL
sql/share/danish/errmsg.txt:
Added error and warning message for START SLAVE UNTIL
sql/share/dutch/errmsg.txt:
Added error and warning message for START SLAVE UNTIL
sql/share/english/errmsg.txt:
Added error and warning message for START SLAVE UNTIL
sql/share/estonian/errmsg.txt:
Added error and warning message for START SLAVE UNTIL
sql/share/french/errmsg.txt:
Added error and warning message for START SLAVE UNTIL
sql/share/german/errmsg.txt:
Added error and warning message for START SLAVE UNTIL
sql/share/greek/errmsg.txt:
Added error and warning message for START SLAVE UNTIL
sql/share/hungarian/errmsg.txt:
Added error and warning message for START SLAVE UNTIL
sql/share/italian/errmsg.txt:
Added error and warning message for START SLAVE UNTIL
sql/share/japanese/errmsg.txt:
Added error and warning message for START SLAVE UNTIL
sql/share/korean/errmsg.txt:
Added error and warning message for START SLAVE UNTIL
sql/share/norwegian-ny/errmsg.txt:
Added error and warning message for START SLAVE UNTIL
sql/share/norwegian/errmsg.txt:
Added error and warning message for START SLAVE UNTIL
sql/share/polish/errmsg.txt:
Added error and warning message for START SLAVE UNTIL
sql/share/portuguese/errmsg.txt:
Added error and warning message for START SLAVE UNTIL
sql/share/romanian/errmsg.txt:
Added error and warning message for START SLAVE UNTIL
sql/share/russian/errmsg.txt:
Added error and warning message for START SLAVE UNTIL
sql/share/serbian/errmsg.txt:
Added error and warning message for START SLAVE UNTIL
sql/share/slovak/errmsg.txt:
Added error and warning message for START SLAVE UNTIL
sql/share/spanish/errmsg.txt:
Added error and warning message for START SLAVE UNTIL
sql/share/swedish/errmsg.txt:
Added error and warning message for START SLAVE UNTIL
sql/share/ukrainian/errmsg.txt:
Added error and warning message for START SLAVE UNTIL
sql/slave.cc:
Fixed wrong locking order in init_relay_log_pos()
Added until condition fields to SHOW SLAVE STATUS
Added checking if UNTIL condition is reached
(added proper method, added its invocation, reorganized locking
in exec_relay_log_event() and next_event())
sql/slave.h:
Members in RELAY_LOG_INFO for storing UNTIL condition. Also
methods for for invalidation of cached UNTIL condition comparison
results
sql/sql_repl.cc:
Now honoring UNTIL clause then starting slave thread. Proper
errors and warnings.
sql/sql_yacc.yy:
Added support for UNTIL clause in START SLAVE. This involved
extraction of some of master_defs to separate master_file_def
non-terminal.
Now LOAD DATA FROM MASTER does not drop the database, instead it only tries to
create it, and drops/creates table-by-table.
* replicate_wild_ignore_table='db1.%' is now considered as "ignore the 'db1'
database as a whole", as it already works for CREATE DATABASE and DROP DATABASE.
mysql-test/r/rpl000009.result:
result update
mysql-test/t/rpl000009.test:
test that LOAD DATA FROM MASTER does not drop databases,
but rather table by table, thus preserving non-replicated tables.
Test that LOAD DATA FROM MASTER reports the error when a table could not
be dropped (system's "permission denied" for example).
Test that LOAD TABLE FROM MASTER reports the error when the table already exists.
sql/repl_failsafe.cc:
* replicate_wild_ignore_table='db1.%' is now considered as "ignore the 'db1'
database as a whole", as it already works for CREATE DATABASE and DROP DATABASE.
* If a db matches replicate_*_db rules, we don't drop/recreate it because this
could drop some tables in this db which could be slave-specific. Instead,
we do a CREATE DATABASE IF EXISTS, and we will drop each table which has
an equivalent on the master, table-by-table.
sql/slave.cc:
New argument to drop the table in create_table_from_dump()
(LOAD TABLE/DATA FROM MASTER are the only places where this function is used).
This is needed because LOAD DATA FROM MASTER does not drop the database anymore.
The behaviour when the table exists is unchanged: LOAD DATA silently replaces
the table, LOAD TABLE gives error.
sql/slave.h:
new argument to drop the table in fetch_master_table
sql/sql_parse.cc:
do not drop the table in LOAD TABLE FROM MASTER (this behaviour is already
true; but changes in LOAD DATA FROM MASTER made the argument needed).
Note that mix_innodb_myisam_binlog and union fails after this patch (Will be fixed shortly by maintaners of this code)
client/mysql.cc:
After merge fix
include/mysql.h:
Some additions to MYSQL_BIND for cleaner prepared statement code
libmysql/libmysql.c:
mysql_prepare_result -> mysql_get_metadata()
Added test for offset overflow when using mysql_fetch_column()
Cleaned up mysql_fetch_column()
Optimized fetch_result() usage
mysql-test/r/func_group.result:
Updated results after merge
mysql-test/r/func_test.result:
Updated results after merge
mysql-test/r/grant.result:
Updated results after merge
mysql-test/r/loaddata.result:
Updated results after merge
mysql-test/r/lowercase_table.result:
Updated results after merge
mysql-test/r/mix_innodb_myisam_binlog.result:
Updated results after merge (note that this is still not correct; Need patch to mysqld to fix this properly)
mysql-test/r/myisam.result:
Updated results after merge
mysql-test/r/range.result:
Updated results after merge
mysql-test/r/rpl_loaddata.result:
Updated results after merge
mysql-test/r/rpl_loaddata_rule_m.result:
Updated results after merge
mysql-test/r/rpl_loaddata_rule_s.result:
Updated results after merge
mysql-test/r/rpl_log.result:
Updated results after merge
mysql-test/r/union.result:
Updated results after merge
mysql-test/t/lowercase_table.test:
Update after merge
mysql-test/t/myisam.test:
Update after merge
mysql-test/t/union.test:
Update after merge
sql-bench/compare-results.sh:
Fix for now output format
sql/field.h:
Added is_null_in_record() to make ha_innodb.cc code more general
sql/ha_innodb.cc:
Removed some functions that uses inernal (private) MySQL information
sql/item_cmpfunc.cc:
After merge fix
sql/log_event.cc:
After merge fix; (Some code should be checked by Guilhem)
sql/opt_range.cc:
Simple optimzation and after merge fixes
sql/slave.cc:
After merge fix
sql/sql_acl.cc:
After merge fix + code cleanup
sql/sql_select.cc:
After merge fix
sql/sql_show.cc:
After merge fix
sql/sql_table.cc:
After merge fix
Cleanup of mysql_checksum_table()
sql/sql_union.cc:
After merge fixes.
Note that after this the union test still fails; Will be fixed shortly...
tests/client_test.c:
mysql_prepare_result() -> mysql_get_metadata()
BitKeeper/etc/ignore:
auto-union
BitKeeper/etc/logging_ok:
auto-union
client/mysqldump.c:
Auto merged
include/my_sys.h:
Auto merged
include/mysql_com.h:
Auto merged
isam/open.c:
Auto merged
libmysql/libmysql.c:
Auto merged
mysql-test/r/isam.result:
Auto merged
mysql-test/r/myisam.result:
Auto merged
mysql-test/r/rpl_loaddata.result:
Auto merged
mysql-test/r/rpl_log.result:
Auto merged
mysql-test/r/show_check.result:
Auto merged
mysql-test/t/myisam.test:
Auto merged
sql/ha_myisam.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/item_sum.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
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_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_repl.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/share/portuguese/errmsg.txt:
Auto merged
sql/share/spanish/errmsg.txt:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_union.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/handler.cc:
Merge
sql/sql_acl.cc:
Merge and code cleanup of acl_getroot()