Commit graph

8 commits

Author SHA1 Message Date
unknown
a1fba2dacc After merge fixes
Fixed compiler warnings
Fix core dump when sending SIGHUP to mysqld


mysql-test/r/drop_temp_table.result:
  After merge fixes
mysql-test/r/grant.result:
  After merge fixes
mysql-test/r/group_min_max.result:
  After merge fixes
mysql-test/r/innodb.result:
  After merge fixes
mysql-test/r/insert_select.result:
  After merge fixes
mysql-test/r/rpl_charset.result:
  After merge fixes
mysql-test/r/rpl_create_database.result:
  After merge fixes
mysql-test/r/rpl_loaddata_rule_m.result:
  After merge fixes
mysql-test/t/rpl_charset.test:
  After merge fixes
mysql-test/t/rpl_create_database.test:
  After merge fixes
sql-common/client.c:
  After merge fixes
sql/item.cc:
  After merge fixes
sql/mysqld.cc:
  Fix core dump when sending SIGHUP to mysqld
sql/sql_acl.cc:
  Better comment
sql/sql_derived.cc:
  Fixed comment
  Added missing DBUG_RETURN
sql/sql_insert.cc:
  Fixed compiler warnings
  After merge fixes
sql/sql_lex.cc:
  After merge fixes
  Removed compiler warnings
sql/sql_parse.cc:
  After merge fixes
sql/sql_select.cc:
  More debugging
sql/sql_table.cc:
  Added missing DBUG_VOID_RETURN
sql/sql_update.cc:
  Fixed compiler warning
sql/sql_view.cc:
  Added missing DBUG_RETURN
  Fixed compiler warnings
  Added flag to signal that the view is a derived table
2004-12-06 17:15:54 +02:00
unknown
796bd7de96 Merge with 4.1
BitKeeper/etc/ignore:
  auto-union
BitKeeper/etc/logging_ok:
  auto-union
BUILD/SETUP.sh:
  Auto merged
Build-tools/Do-compile:
  Auto merged
client/mysqladmin.cc:
  Auto merged
configure.in:
  Auto merged
innobase/include/lock0lock.h:
  Auto merged
innobase/os/os0file.c:
  Auto merged
libmysqld/Makefile.am:
  Auto merged
mysql-test/mysql-test-run.sh:
  Auto merged
mysql-test/r/ctype_ucs.result:
  Auto merged
mysql-test/r/heap.result:
  Auto merged
mysql-test/r/insert_select.result:
  Auto merged
mysql-test/r/lowercase_table3.result:
  Auto merged
mysql-test/r/rpl_start_stop_slave.result:
  Auto merged
mysql-test/r/subselect.result:
  Auto merged
mysql-test/t/ctype_ucs.test:
  Auto merged
mysql-test/t/rpl_until.test:
  Auto merged
mysql-test/t/subselect.test:
  Auto merged
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
  Auto merged
sql/field.cc:
  Auto merged
sql/field.h:
  Auto merged
sql/ha_myisam.h:
  Auto merged
sql/handler.cc:
  Auto merged
sql/handler.h:
  Auto merged
sql/item.h:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/lock.cc:
  Auto merged
sql/log_event.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/slave.cc:
  Auto merged
sql/slave.h:
  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_delete.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/log_event.cc:
  Merge with 4.1
  Trivial cleanup
2004-12-06 11:38:56 +02:00
unknown
220acb328e 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.


mysql-test/t/rpl_until.test:
  Longer sleep to allow slave to stop.
mysql-test/t/rpl_charset.test:
  Position change in binary file.
mysql-test/r/drop_temp_table.result:
  Position change in binlog.
mysql-test/r/rpl_loaddata_rule_m.result:
  Position change in binlog.
mysql-test/r/rpl_charset.result:
  Position change in binlog.
sql/log_event.h:
  Added new flag and parameter to suppress generation of
  USE statements.
sql/log_event.cc:
  Added parameter and code to suppress generation of
  USE statements.
sql/sql_db.cc:
  Suppress generation of USE before CREATE/ALTER/DROP DATABASE
  statements.
sql/log.cc:
  Query_log_event have new extra parameter.
sql/sql_table.cc:
  Query_log_event have new extra parameter.
sql/sql_base.cc:
  Query_log_event have new extra parameter.
sql/sql_update.cc:
  Query_log_event have new extra parameter.
sql/sql_insert.cc:
  Query_log_event have new extra parameter.
sql/sql_rename.cc:
  Query_log_event have new extra parameter.
sql/sql_delete.cc:
  Query_log_event have new extra parameter.
sql/sql_acl.cc:
  Query_log_event have new extra parameter.
sql/handler.cc:
  Query_log_event have new extra parameter.
sql/item_func.cc:
  Query_log_event have new extra parameter.
sql/sql_parse.cc:
  Query_log_event have new extra parameter.
2004-12-03 12:13:51 +01:00
unknown
62554f812e This is the final commit for Worklog tasks:
* 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**
2003-12-19 22:40:23 +01:00
unknown
bd6a70019e Replication:
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.
2003-11-23 17:02:59 +01:00
unknown
1ead85e678 Fixes after merge
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
2003-10-08 12:01:58 +03:00
unknown
dd0d199ebe After merge fixes.
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()
2003-09-11 19:06:23 +03:00
unknown
1542fffb34 First commit for fixing BUG#1100
"LOAD DATA INFILE is badly filtered by binlog-*-db rules".
There will probably be a second final one to merge Dmitri's changes
to rpl_log.result and mine.
2 new tests:
rpl_loaddata_rule_m : test of logging of LOAD DATA INFILE when the master has binlog-*-db rules,
rpl_loaddata_rule_s : test of logging of LOAD DATA INFILE when the slave has binlog-*-db rules and --log-slave-updates.


mysql-test/r/rpl_loaddata.result:
  Test that logging of LOAD DATA INFILE is done on the slave
mysql-test/t/rpl_loaddata.test:
  Test that logging of LOAD DATA is done on the slave
sql/log.cc:
  debug info
sql/log_event.cc:
  * Append_block, Exec_load and Delete_file now have a member 'db' like Create_file.
  This member is filled by mysql_load(). It is used for filtering by binlog-*-db rules,
  that's all. It's not written to the binlog, and so can't be read from the binlog.
  In other words, that's temporary info which is stored in the event and lost when
  it is written and deleted.
  * Better error messages in Append_block et al. events.
  * The slave now logs (log-slave-updates) the Create_file et al. events in mysql_load()
  (they are not directly copied from the events in the relay log, because this
  prevented filtering by binlog-*-db rules). Before, mysql_load() in the slave
  did no logging, now it does the logging, as in any regular thread.
sql/log_event.h:
  New member 'db' for Append_block et al. events.
sql/slave.cc:
  Removed useless code. Why was it useless:
  - CREATE_FILE_EVENT is not defined in 3.23. It appeared in 4.0.
  - in queue_old_event(), which is called only if the master is 3.23, we had a
  case CREATE_FILE_EVENT:
  so this case can be removed.
  - this case was the only caller of process_io_create_file() so this function
  can be removed.
sql/sql_load.cc:
  Pass the db to events, so that they can be well filtered.
sql/sql_repl.cc:
  Pass the db to events so that they can be well filtered.
2003-08-20 23:24:45 +02:00