Commit graph

420 commits

Author SHA1 Message Date
unknown
1f50a0345c Fix for BUG#3401 "Rare replication bug which leads to "Binlog has bad magic number" from slave":
Backport of a part of this changeset of 4.1:
ChangeSet@1.1753.1.1, 2004-04-05 13:56:05+03:00, monty@mysql.com
which fixes the bug.


sql/slave.cc:
  even if mi is already inited (replication already run once before),
  we need to seek back to the beginning of the relay log to be able
  to later check the binlog's magic number.
2004-04-07 01:14:11 +02:00
unknown
e3f0177b98 This is a fix for a bug in 3.23 -> 4.0 replication: Exec_master_log_pos is always
too big by 6 bytes. So I add code to substract 6 bytes if the master is 3.23.
This is not perfect (because it won't work if the slave I/O thread has not
noticed yet that the master is 3.23), but as long as the slave I/O thread
starts Exec_master_log_pos will be ok.
It must be merged to 4.1 but not to 5.0 (or it can be, because of #if MYSQL_VERSION_ID),
because 5.0 already works if the master is 3.23 (and in a more natural way:
in 5.0 we store the end_log_pos in the binlog and relay log).
I had to move functions from slave.h to slave.cc to satisfy gcc.


sql/log_event.cc:
  make the event's length 6 bytes shorter if the master is 3.23
sql/slave.cc:
  Moving several st_relay_log_info methods out of the declaration of the struct,
  because gcc complained that 'mi' was not declared.
  Substracting 6 bytes from the event's length in inc_pos() if the master is 3.23.
sql/slave.h:
  moving several methods out of the declaration of st_relay_log_info.
  Removing 'inline', let's have the compiler decide.
2004-04-07 00:57:14 +02:00
unknown
7873b89fc5 Fixed many compiler warnings
Fixed bugs in group_concat with ORDER BY and DISTINCT (Bugs #2695, #3381 and #3319)
Fixed crash when doing rollback in slave and the io thread catched up with the sql thread
Set locked_in_memory properly


include/mysql_com.h:
  Fixed compiler warning
libmysqld/emb_qcache.cc:
  Removed not used variable
libmysqld/lib_sql.cc:
  Removed not used variable
myisam/mi_locking.c:
  Added comment
myisam/mi_rnext.c:
  Fixed bug in concurrent insert
myisam/mi_rprev.c:
  Simple optimization
mysql-test/r/func_gconcat.result:
  New tests
mysql-test/t/func_gconcat.test:
  New tests
mysql-test/t/func_group.test:
  Cleanup
sql-common/client.c:
  Removed compiler warning
sql/derror.cc:
  Better comments
sql/field.cc:
  Removed not used function/variable
sql/field.h:
  Removed not needed variable
sql/ha_innodb.cc:
  Removed not used function
sql/item.cc:
  Fixed compiler warning
sql/item_cmpfunc.cc:
  Fixed compiler warning
sql/item_func.cc:
  Fixed compiler warning
sql/item_geofunc.cc:
  Fixed compiler warning
sql/item_sum.cc:
  Fixed bugs in group_concat and added more comments
  (Bugs #2695, #3381 and #3319)
  - field->abs_offset was not needed
  - Wrong assumption of field order in temporary table
  - Some not used variables removed
  - Added ORDER BY fields after argument fields so that code in sql_select.cc can move all fields to point to temporary tables, if needed.
  - Optimized loops
sql/item_sum.h:
  Bug fixing and cleanup of group_concat()
sql/log.cc:
  Removed wrong comment
sql/log_event.cc:
  Removed compiler warning
sql/mysqld.cc:
  Set locked_in_memory properly
sql/protocol.cc:
  Removed compiler warning
sql/set_var.cc:
  Code cleanup
sql/slave.cc:
  Fixed crash when doing rollback in slave and the io thread catched up with the sql thread
sql/sql_cache.cc:
  Removed compiler warnings
sql/sql_derived.cc:
  Removed not used variable
sql/sql_insert.cc:
  Removed compiler warnings
sql/sql_lex.cc:
  Removed not used lable
sql/sql_lex.h:
  Removed compiler warnings
sql/sql_parse.cc:
  Removed compiler warnings
sql/sql_prepare.cc:
  Removed compiler warnings
sql/sql_select.cc:
  Removed not used variables
  Added function comments
sql/sql_show.cc:
  Removed compiler warnings
sql/sql_yacc.yy:
  Fix for ORDER BY handling in GROUP_CONCAT()
2004-04-05 13:56:05 +03:00
unknown
3c01162f0e removed old way to prevent using stack tables for caching Items in PS
fixed error code in union test


mysql-test/t/union.test:
  right code worr 4.1 error
sql/log_event.cc:
  assign non-cachable for Item status for all stack tables for safety
sql/repl_failsafe.cc:
  assign non-cachable for Item status for all stack tables for safety
sql/slave.cc:
  assign non-cachable for Item status for all stack tables for safety
sql/sql_acl.cc:
  assign non-cachable for Item status for all stack tables for safety
sql/sql_base.cc:
  assign non-cachable for Item status for all stack tables for safety
  non-cachable status processing
sql/sql_cache.cc:
  assign non-cachable for Item status for all stack tables for safety
sql/sql_class.cc:
  removed ald way to prevent using stack tables for caching Items in PS
sql/sql_class.h:
  removed old way to prevent using stack tables for caching Items in PS
sql/sql_help.cc:
  assign non-cachable for Item status for all stack tables for safety
sql/sql_insert.cc:
  assign non-cachable for Item status for all stack tables for safety
  removed old way to prevent using stack tables for caching Items in PS
sql/table.h:
  non-cachable for Item status for tables
2004-04-04 03:05:44 +03:00
unknown
ceeaa24d18 false/true -> FALSE/TRUE
Fixes after last merge


mysql-test/r/bdb-crash.result:
  fixed bad merge
mysql-test/r/myisam.result:
  after merge fix
mysql-test/r/order_by.result:
  fixed bad merge
mysql-test/t/order_by.test:
  after merge fix
sql/field_conv.cc:
  false/true -> FALSE/TRUE
sql/handler.cc:
  false/true -> FALSE/TRUE
sql/item.cc:
  false/true -> FALSE/TRUE
sql/item_cmpfunc.cc:
  false/true -> FALSE/TRUE
sql/item_sum.cc:
  false/true -> FALSE/TRUE
sql/slave.cc:
  false/true -> FALSE/TRUE
sql/sql_acl.cc:
  false/true -> FALSE/TRUE
sql/sql_cache.cc:
  after merge fix
sql/sql_help.cc:
  false/true -> FALSE/TRUE
sql/sql_olap.cc:
  false/true -> FALSE/TRUE
sql/sql_parse.cc:
  false/true -> FALSE/TRUE
sql/sql_select.cc:
  fix after bad merge
sql/sql_table.cc:
  fix after bad merge
sql/sql_test.cc:
  false/true -> FALSE/TRUE
2004-03-30 02:32:41 +03:00
unknown
1f08d0b4bd sys_var_str.value is never NULL 2004-03-20 15:56:20 +01:00
unknown
a8aacf8764 merge with 4.0
BitKeeper/etc/logging_ok:
  auto-union
VC++Files/innobase/innobase.dsp:
  Auto merged
VC++Files/libmysql/libmysql.dsp:
  Auto merged
acinclude.m4:
  Auto merged
configure.in:
  Auto merged
BitKeeper/deleted/.del-com0shm.c~6a16f0c3d81de1f:
  Auto merged
BitKeeper/deleted/.del-mysql_fix_privilege_tables.sql:
  Auto merged
extra/replace.c:
  Auto merged
include/my_sys.h:
  Auto merged
innobase/btr/btr0btr.c:
  Auto merged
innobase/btr/btr0cur.c:
  Auto merged
innobase/btr/btr0pcur.c:
  Auto merged
innobase/btr/btr0sea.c:
  Auto merged
innobase/configure.in:
  Auto merged
innobase/data/data0data.c:
  Auto merged
innobase/dict/dict0boot.c:
  Auto merged
innobase/dict/dict0crea.c:
  Auto merged
innobase/dict/dict0dict.c:
  Auto merged
innobase/dict/dict0load.c:
  Auto merged
innobase/dict/dict0mem.c:
  Auto merged
innobase/ha/ha0ha.c:
  Auto merged
innobase/ha/hash0hash.c:
  Auto merged
innobase/include/btr0btr.ic:
  Auto merged
innobase/include/data0type.ic:
  Auto merged
innobase/include/dict0mem.h:
  Auto merged
innobase/include/log0log.ic:
  Auto merged
innobase/include/mach0data.ic:
  Auto merged
innobase/include/mtr0log.h:
  Auto merged
innobase/include/mtr0mtr.h:
  Auto merged
innobase/include/os0file.h:
  Auto merged
innobase/include/row0upd.ic:
  Auto merged
innobase/include/srv0srv.h:
  Auto merged
innobase/include/sync0sync.h:
  Auto merged
innobase/include/trx0rseg.ic:
  Auto merged
innobase/lock/lock0lock.c:
  Auto merged
innobase/log/log0recv.c:
  Auto merged
innobase/mem/mem0dbg.c:
  Auto merged
innobase/mtr/mtr0log.c:
  Auto merged
innobase/mtr/mtr0mtr.c:
  Auto merged
innobase/os/os0file.c:
  Auto merged
innobase/page/page0cur.c:
  Auto merged
innobase/page/page0page.c:
  Auto merged
innobase/pars/lexyy.c:
  Auto merged
innobase/read/read0read.c:
  Auto merged
innobase/rem/rem0cmp.c:
  Auto merged
innobase/rem/rem0rec.c:
  Auto merged
innobase/row/row0ins.c:
  Auto merged
innobase/row/row0mysql.c:
  Auto merged
innobase/row/row0purge.c:
  Auto merged
innobase/row/row0sel.c:
  Auto merged
innobase/row/row0undo.c:
  Auto merged
innobase/row/row0upd.c:
  Auto merged
innobase/srv/srv0srv.c:
  Auto merged
innobase/srv/srv0start.c:
  Auto merged
innobase/sync/sync0rw.c:
  Auto merged
innobase/thr/thr0loc.c:
  Auto merged
innobase/trx/trx0purge.c:
  Auto merged
innobase/trx/trx0rec.c:
  Auto merged
innobase/trx/trx0roll.c:
  Auto merged
innobase/trx/trx0trx.c:
  Auto merged
innobase/trx/trx0undo.c:
  Auto merged
myisam/mi_check.c:
  Auto merged
myisam/myisamchk.c:
  Auto merged
mysql-test/r/multi_update.result:
  Auto merged
mysql-test/r/mysqlbinlog.result:
  Auto merged
mysql-test/r/rpl_error_ignored_table.result:
  Auto merged
mysql-test/t/multi_update.test:
  Auto merged
mysql-test/t/rpl_error_ignored_table.test:
  Auto merged
mysys/mf_iocache.c:
  Auto merged
mysys/mf_pack.c:
  Auto merged
mysys/my_getopt.c:
  Auto merged
sql/ha_berkeley.cc:
  Auto merged
sql/ha_myisam.cc:
  Auto merged
sql/lock.cc:
  Auto merged
sql/log.cc:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/set_var.h:
  Auto merged
sql/sql_cache.cc:
  Auto merged
sql/sql_cache.h:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_handler.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_list.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
tests/thread_test.c:
  Auto merged
client/mysqldump.c:
  Keep original indentation
mysql-test/r/merge.result:
  keep old file
scripts/mysql_fix_privilege_tables.sh:
  Keep old structure in merge with 4.0
sql/table.cc:
  merge with 4.0 + simple optimizations
2004-03-16 22:41:30 +02:00
unknown
bd6c4ef400 Fix for BUG#2983 "If statement was killed on master, slave errors despite replicate-wild-ignore-t"
We introduce a new function mysql_test_parse_for_slave().
If the slave sees that the query got a really bad error on master
(killed e.g.), then it calls this function to know if this query
can be ignored because of replicate-*-table rules (do not worry
about replicate-*-db rules: they are checked so early that they have
no bug). If the answer is yes, it skips the query and continues. If
it's no, then it stops and say "fix your slave data manually" (like it
did before this change).


mysql-test/r/rpl_error_ignored_table.result:
  result update
mysql-test/t/rpl_error_ignored_table-slave.opt:
  ignore more tables
mysql-test/t/rpl_error_ignored_table.test:
  we test if a killed query on the master, is ignored on the slave
  if the tables it involves should be excluded because of replicate-*-table
  rules.
sql/log_event.cc:
  If the query got a really bad error on the master (thread killed etc),
  parse it to test the table names: if the replicate-*-do|ignore-table
  rules say "this query must be ignored" then we exit gracefully;
  otherwise we warn about the bad error and tell DBA to check/fix it.
  Before this change, we always warned and stopped.
sql/mysql_priv.h:
  new function
sql/slave.cc:
  don't print error immediately as we need to do one more test to
  be sure.
sql/sql_parse.cc:
  we add a function mysql_test_parse_for_slave(), to be used only
  by the slave if it wants to know if the query should be ignored or not;
  so this function only parses the query, does not execute it.
2004-03-11 17:38:19 +01:00
unknown
f808030209 Fix for BUG#2921 "Replication problem on mutex lock in mySQL-4.0.18":
re-using unused LOCK_active_mi to serialize all administrative
commands related to replication:
START SLAVE, STOP SLAVE, RESET SLAVE, CHANGE MASTER, init_slave()
(replication autostart at server startup), end_slave() (replication
autostop at server shutdown), LOAD DATA FROM MASTER.
This protects us against a handful of deadlocks (like BUG#2921
when two START SLAVE, but when two STOP SLAVE too).
Removing unused variables.


sql/item_func.cc:
  We don't need LOCK_active_mi just to MASTER_POS_WAIT().
sql/repl_failsafe.cc:
  no need for macro
sql/set_var.cc:
  no need for macro
sql/slave.cc:
  Re-using unused LOCK_active_mi to serialize all administrative
  commands related to replication:
  START SLAVE, STOP SLAVE, RESET SLAVE, CHANGE MASTER, init_slave()
  (replication autostart at server startup), end_slave() (replication
  autostop at server shutdown), LOAD DATA FROM MASTER.
  This protects us against a handful of deadlocks.
  Removing unused variables.
sql/slave.h:
  Re-using LOCK_active_mi to serialize administrative replication commands.
  Macros unneeded. Removing unneeded variables.
sql/sql_parse.cc:
  found unused variable.
  Replacing macros.
sql/sql_show.cc:
  replacing macros
2004-03-11 16:23:35 +01:00
unknown
c6d91e00bb Backporting parts of
ChangeSet 1.1620.12.1 and ChangeSet 1.1625.2.1
from 4.1. This makes the slave I/O thread flush the relay log 
after every event, which provides additional safety in case
of brutal crash (reduces chances to lose a part of the relay log).


sql/repl_failsafe.cc:
  update for new prototype
sql/slave.cc:
  The slave I/O thread now flushes the relay log after writing
  every event to it, like we already do in 4.1.
sql/slave.h:
  new prototype
sql/sql_repl.cc:
  update for new prototype
2004-03-10 16:56:28 +01:00
unknown
843d6df523 Undoing 2 parts of changeset 1.1730.1.1 :
- the one about BUG#2921
- the one about relay log flushing
Both will be rewritten in a next changeset
(this one will not be pushed before the next changeset).


sql/log.cc:
  undo
sql/log_event.cc:
  undo
sql/repl_failsafe.cc:
  undo
sql/slave.cc:
  undo
sql/slave.h:
  undo
sql/sql_repl.cc:
  undo
2004-03-10 16:30:47 +01:00
unknown
221397cdbe Fixed memory leak in DROP DATABASE when using RAID tables (Bug #2882)
BUILD/compile-pentium-debug-max:
  Added --with-raid
configure.in:
  Removed -DFN_NO_CASE_SENCE for Mac OS X as this is not always true
mysql-test/install_test_db.sh:
  Added --skip-warnings
mysql-test/mysql-test-run.sh:
  Fixes to get --gdb and --ddd to work
mysql-test/r/lowercase_table2.result:
  Test for lower_case_table_names=2 and temporary tables
mysql-test/r/lowercase_table3.result:
  Fixed error message
mysql-test/r/multi_update.result:
  Test of behaviour of multi-table-delete and alias
mysql-test/t/lowercase_table2.test:
  Test for lower_case_table_names=2 and temporary tables
mysql-test/t/lowercase_table3.test:
  Fixed error
mysql-test/t/multi_update.test:
  Test of behaviour of multi-table-delete and alias (Bug #2940)
mysys/mf_iocache.c:
  Renamed _flush_io_cache to my_b_flush_io_cache
sql/ha_myisam.cc:
  Added comment
sql/lock.cc:
  Extra debugging
sql/log.cc:
  New parameter to flush_relay_log_info
sql/log_event.cc:
  New parameter to flush_relay_log_info
sql/mf_iocache.cc:
  Removed not used header files
sql/mysqld.cc:
  More debugging info
  Less warnings when run with --skip-warnings
sql/opt_range.cc:
  More debug information
sql/repl_failsafe.cc:
  New parameter to flush_relay_log_info
sql/slave.cc:
  First start SQL thread, then start IO thread. This fixed a raze condition in SLAVE START (Bug #2921)
  Ensure that we have a lock on the IO thread before flushing a relay log file that. The original code could core dump when a relay log rotated.
sql/slave.h:
  New parameter to flush_relay_log_info
sql/sql_base.cc:
  Added warning
sql/sql_handler.cc:
  Indentation fix
sql/sql_repl.cc:
  New parameter to flush_relay_log_info
sql/sql_select.cc:
  Fixed problem with deleting temporary tables when using lower_case_table_names=2. (Bug #2858)
sql/sql_table.cc:
  Fixed comment
sql/sql_yacc.yy:
  Removed compiler warning
include/my_sys.h:
  Fixed usage of unpack_filename
mysys/mf_pack.c:
  Changed unpack_filename() to return length of result string.
mysys/test_fn.c:
  Fixed usage of unpack_filename
sql/sql_db.cc:
  Fixed memory leak with raid tables
sql/table.cc:
  Fixed usage of unpack_filename
2004-03-10 13:46:11 +02:00
unknown
f34c3fff49 More comments on what could explain -1 in Seconds_Behind_Master in
SHOW SLAVE STATUS.
2004-03-02 23:03:52 +01:00
unknown
3a10080580 After hours of unsuccessful research on
BUG#2826 "Seconds behind master weirdness"
(sometimes this column of SHOW SLAVE STATUS shows a very big value,
in fact a small negative number casted to ulonglong).
This problem was reported by only one user, but which uses
synchronized time between his servers.
As suggested by the user, to hide this I display max(0, the value)
so that it will be less confusing. For a user, seeing 0 is probably
better than seeing -1 (both tell you that the slave is very close
to the master).


sql/slave.cc:
  Don't display a negative Seconds_Behind_Master in SHOW SLAVE STATUS.
2004-03-02 22:38:14 +01:00
unknown
5b2c312627 Merge with 4.0.18
BitKeeper/etc/ignore:
  auto-union
BitKeeper/etc/logging_ok:
  auto-union
mysql-test/r/ctype_tis620.result-old:
  Merge rename: mysql-test/r/ctype_tis620.result -> mysql-test/r/ctype_tis620.result-old
BUILD/compile-pentium-max:
  Auto merged
BitKeeper/etc/config:
  Auto merged
Build-tools/Bootstrap:
  Auto merged
Build-tools/Do-compile:
  Auto merged
configure.in:
  Auto merged
mysql-test/t/ctype_tis620.test-old:
  Merge rename: mysql-test/t/ctype_tis620.test -> mysql-test/t/ctype_tis620.test-old
Docs/Makefile.am:
  Auto merged
client/mysqldump.c:
  Auto merged
client/mysqltest.c:
  Auto merged
include/my_global.h:
  Auto merged
include/my_pthread.h:
  Auto merged
include/my_sys.h:
  Auto merged
include/myisam.h:
  Auto merged
innobase/btr/btr0cur.c:
  Auto merged
innobase/ibuf/ibuf0ibuf.c:
  Auto merged
innobase/include/dict0dict.h:
  Auto merged
innobase/include/srv0srv.h:
  Auto merged
innobase/include/ut0mem.h:
  Auto merged
innobase/log/log0log.c:
  Auto merged
innobase/row/row0ins.c:
  Auto merged
innobase/row/row0sel.c:
  Auto merged
innobase/srv/srv0start.c:
  Auto merged
innobase/ut/ut0mem.c:
  Auto merged
myisam/mi_check.c:
  Auto merged
myisam/mi_dynrec.c:
  Auto merged
myisam/mi_key.c:
  Auto merged
myisam/myisam_ftdump.c:
  Auto merged
myisam/myisamdef.h:
  Auto merged
mysql-test/mysql-test-run.sh:
  Auto merged
mysql-test/r/alter_table.result:
  Auto merged
mysql-test/r/bdb.result:
  Auto merged
mysql-test/r/bigint.result:
  Auto merged
mysql-test/r/fulltext.result:
  Auto merged
2004-02-11 00:06:46 +01:00
unknown
c2d849f8bd Fix for BUG#2452 "Empty LOAD DATA INFILE failes with the master in 3.23.x":
do not write the Execute_load_log_event if there was no Create_file_log_event
(empty file).
2004-01-20 15:41:22 -05:00
unknown
35fd38150a Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/my/mysql-4.1


sql/slave.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
2003-12-26 12:32:24 +02:00
unknown
3f4d396dc3 Fixed bug in table level privilege GRANT handling. (Bug #2178)
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)
2003-12-26 12:32:02 +02:00
unknown
32c6b0d72a Prepared_statement deployed instead of PREP_STMT.
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.
2003-12-20 02:16:10 +03:00
unknown
8d987f9e53 THD::lex now points to THD::main_lex like in 5.0
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
2003-12-19 20:52:13 +03:00
unknown
6988eaffad merge with 4.0.18
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
2003-12-19 16:42:17 +02:00
unknown
f8d7b467b8 Fix for BUG#2145 "mysqld becomes unreliable if unable to create a relay log when replic starts":
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).
2003-12-17 23:29:11 +01:00
unknown
0fb88806e4 Merge with 4.0.17
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
2003-12-17 17:35:34 +02:00
unknown
c335939203 post-merge fixes
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
2003-12-08 09:44:04 +04:00
unknown
a0e4a6de56 Task ID 499:Add a new settable string variable(init_connect, init_slave)
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.
2003-12-08 09:13:14 +04:00
unknown
66927c51fa - Fix for BUG#1858 "SQL-Thread stops working when using optimize table":
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).
2003-12-04 22:42:18 +01:00
unknown
8479e5a379 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().
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().
2003-12-04 15:30:14 +01:00
unknown
7ec796f31a In the slave I/O thread (in master.info), it seems less worse to flush
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).
2003-11-28 16:15:21 +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
d0d8ba7815 Merge paul@bk-internal.mysql.com:/home/bk/mysql-4.1
into teton.kitebird.com:/home/paul/mysql-4.1


sql/slave.cc:
  Auto merged
2003-11-21 23:02:06 -06:00
unknown
bab6d9f74b 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.
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.
2003-11-22 03:21:40 +02:00
unknown
840af67a0a Change word order of a few PROCESSLIST messages to correspond
to order used in START SLAVE syntax.


sql/log.cc:
  Change word order.
sql/slave.cc:
  Change word order.
2003-11-21 12:35:33 -06:00
unknown
8a8fef225d Write slave status field names using consistent style.
(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.
2003-11-20 13:07:25 -06:00
unknown
f97f48acaf Merge with 4.0
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
2003-11-04 09:40:36 +02:00
unknown
5ec3a67132 When we delete the slave's temp tables from memory, we reset
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.
2003-11-03 18:24:01 +01:00
unknown
b920ab261e 4 small items in this:
- 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.
2003-10-31 23:20:23 +01:00
unknown
03dbf8ccbb Fix for BUG#1686
"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.
2003-10-29 14:23:35 +01:00
unknown
954264b19e 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
2003-10-21 11:58:43 +02:00
unknown
0b8743c1b2 A fix for a random test failure rpl_trunc_binlog: don't RESET MASTER
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
2003-10-17 00:00:25 +02:00
unknown
aff45e1b07 merge with 4.0
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
2003-10-16 03:08:40 +03:00
unknown
b06eb4d81a Better fix for CREATE TABLE IF NOT EXISTS ... SELECT
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
2003-10-15 21:41:13 +03:00
unknown
b192ab5edc merged
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
2003-10-15 12:25:44 +02:00
unknown
2e1115edc1 key_map with more that 64 bits width
sql/field.cc:
  typedef Bitmap<64> key_map
  all tests pass
sql/ha_berkeley.cc:
  typedef Bitmap<64> key_map
  all tests pass
sql/ha_berkeley.h:
  typedef Bitmap<64> key_map
  all tests pass
sql/item.cc:
  typedef Bitmap<64> key_map
  all tests pass
sql/item_func.cc:
  typedef Bitmap<64> key_map
  all tests pass
sql/opt_sum.cc:
  typedef Bitmap<64> key_map
  all tests pass
sql/sql_delete.cc:
  typedef Bitmap<64> key_map
  all tests pass
sql/sql_show.cc:
  typedef Bitmap<64> key_map
  all tests pass
sql/sql_test.cc:
  typedef Bitmap<64> key_map
  all tests pass
sql/sql_update.cc:
  typedef Bitmap<64> key_map
  all tests pass
include/my_bitmap.h:
  more bitmap methods
mysys/my_bitmap.c:
  more bitmap methods
sql/field.h:
  init bitmaps
sql/ha_innodb.h:
  optimization
sql/ha_isam.cc:
  optimization
sql/ha_myisam.cc:
  optimization
sql/ha_myisammrg.cc:
  optimization
sql/handler.h:
  optimization
sql/mysqld.cc:
  bitmap_init() interface changed
sql/opt_range.cc:
  optimization
sql/opt_range.h:
  optimization
sql/slave.cc:
  bitmap_init() interface changed
sql/sql_base.cc:
  optimization
sql/sql_select.cc:
  init bitmaps
  using const for bitmaps whenever possible
sql/sql_select.h:
  cleanup
sql/table.cc:
  always init bitmaps
BitKeeper/etc/ignore:
  Added sql/udf_example.so to the ignore list
sql/mysql_priv.h:
  use Bitmap over ulonglong by default
2003-10-11 13:06:55 +02:00
unknown
7e1a1032e8 Make the slave die if master is 5.0. Indeed, 5.0 masters send
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.
2003-10-09 17:40:38 +02:00
unknown
a7a7a8cacd Final push for WL#1098:
"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.
2003-10-09 00:06:21 +02: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
f16887c59c Merge with 4.0.16
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
2003-10-07 15:42:26 +03:00
unknown
2d46389ac8 SCRUM
embedded library
hash_insert renamed to my_hash_insert to avoid name intersection
with another libraries
is there better idea?


client/mysqltest.c:
  hash_insert ->my_hash_insert
include/hash.h:
  hash_insert ->my_hash_insert
mysys/hash.c:
  hash_insert ->my_hash_insert
mysys/testhash.c:
  hash_insert ->my_hash_insert
sql/ha_berkeley.cc:
  hash_insert ->my_hash_insert
sql/ha_innodb.cc:
  hash_insert ->my_hash_insert
sql/hash_filo.h:
  hash_insert ->my_hash_insert
sql/item_func.cc:
  hash_insert ->my_hash_insert
sql/lock.cc:
  hash_insert ->my_hash_insert
sql/repl_failsafe.cc:
  hash_insert ->my_hash_insert
sql/set_var.cc:
  hash_insert ->my_hash_insert
sql/slave.cc:
  hash_insert ->my_hash_insert
sql/sql_acl.cc:
  hash_insert ->my_hash_insert
sql/sql_base.cc:
  hash_insert ->my_hash_insert
sql/sql_cache.cc:
  hash_insert ->my_hash_insert
sql/sql_parse.cc:
  hash_insert ->my_hash_insert
sql/sql_select.cc:
  hash_insert ->my_hash_insert
sql/sql_udf.cc:
  hash_insert ->my_hash_insert
sql/table.cc:
  hash_insert ->my_hash_insert
tools/mysqlmanager.c:
  hash_insert ->my_hash_insert
2003-09-19 14:44:31 +05:00
unknown
1f82a0de6c Manual merge after commiting START SLAVE UNTIL
sql/lex.h:
  Auto merged
sql/log.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/repl_failsafe.cc:
  Auto merged
include/mysqld_error.h:
  Manual merge
mysql-test/r/rpl000015.result:
  Manual merge
mysql-test/r/rpl_empty_master_crash.result:
  Manual merge
mysql-test/r/rpl_flush_log_loop.result:
  Manual merge
mysql-test/r/rpl_log.result:
  Manual merge
mysql-test/r/rpl_log_pos.result:
  Manual merge
mysql-test/r/rpl_redirect.result:
  Manual merge
mysql-test/r/rpl_replicate_do.result:
  Manual merge
mysql-test/r/rpl_rotate_logs.result:
  Manual merge
sql/share/czech/errmsg.txt:
  Manual merge
sql/share/danish/errmsg.txt:
  Manual merge
sql/share/dutch/errmsg.txt:
  Manual merge
sql/share/english/errmsg.txt:
  Manual merge
sql/share/estonian/errmsg.txt:
  Manual merge
sql/share/french/errmsg.txt:
  Manual merge
sql/share/german/errmsg.txt:
  Manual merge
sql/share/greek/errmsg.txt:
  Manual merge
sql/share/hungarian/errmsg.txt:
  Manual merge
sql/share/italian/errmsg.txt:
  Manual merge
sql/share/japanese/errmsg.txt:
  Manual merge
sql/share/korean/errmsg.txt:
  Manual merge
sql/share/norwegian-ny/errmsg.txt:
  Manual merge
sql/share/norwegian/errmsg.txt:
  Manual merge
sql/share/polish/errmsg.txt:
  Manual merge
sql/share/portuguese/errmsg.txt:
  Manual merge
sql/share/romanian/errmsg.txt:
  Manual merge
sql/share/russian/errmsg.txt:
  Manual merge
sql/share/serbian/errmsg.txt:
  Manual merge
sql/share/slovak/errmsg.txt:
  Manual merge
sql/share/spanish/errmsg.txt:
  Manual merge
sql/share/swedish/errmsg.txt:
  Manual merge
sql/share/ukrainian/errmsg.txt:
  Manual merge
sql/slave.cc:
  Manual merge
sql/slave.h:
  Manual merge
sql/sql_repl.cc:
  Manual merge
sql/sql_yacc.yy:
  Manual merge
2003-09-14 01:57:09 +04:00
unknown
2f8f0a7e4d Implemented support for START SLAVE UNTIL (WL#868)
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.
2003-09-14 00:13:41 +04:00
unknown
69b8b3ff7c * Fix for BUG#1248: "LOAD DATA FROM MASTER drops the slave's db unexpectedly".
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).
2003-09-11 23:17:28 +02: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
35af1442b6 merge
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()
2003-09-03 19:53:08 +03:00
unknown
d42b4eeb1d post-merge fixes
mysql-test/r/func_crypt.result:
  _dig_vec converted lowercase
sql/slave.cc:
  post-merge fix
2003-09-03 16:43:41 +04:00
unknown
49b0312dd7 merge commit, hope that none of bar and dlenev changes were
lost.


BitKeeper/etc/logging_ok:
  auto-union
include/mysql.h:
  Auto merged
include/mysql_com.h:
  Auto merged
libmysql/libmysql.c:
  Auto merged
scripts/mysql_fix_privilege_tables.sql:
  Auto merged
sql/item_create.cc:
  Auto merged
sql/item_create.h:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/item_strfunc.h:
  Auto merged
sql/lex.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/protocol.h:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_acl.h:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
include/mysqld_error.h:
  merge commit: new error message added
sql-common/client.c:
  merge commit
sql/mysql_priv.h:
  merge commit: autoremerge
sql/set_var.h:
  merge commit
sql/share/czech/errmsg.txt:
  merge commit
sql/share/danish/errmsg.txt:
  merge commit
sql/share/dutch/errmsg.txt:
  merge commit
sql/share/english/errmsg.txt:
  merge commit
sql/share/estonian/errmsg.txt:
  merge commit
sql/share/french/errmsg.txt:
  merge commit
sql/share/german/errmsg.txt:
  merge commit
sql/share/greek/errmsg.txt:
  merge commit
sql/share/hungarian/errmsg.txt:
  merge commit
sql/share/italian/errmsg.txt:
  merge commit
sql/share/japanese/errmsg.txt:
  merge commit
sql/share/korean/errmsg.txt:
  merge commit
sql/share/norwegian-ny/errmsg.txt:
  merge commit
sql/share/norwegian/errmsg.txt:
  merge commit
sql/share/polish/errmsg.txt:
  merge commit
sql/share/portuguese/errmsg.txt:
  merge commit
sql/share/romanian/errmsg.txt:
  merge commit
sql/share/russian/errmsg.txt:
  merge commit
sql/share/serbian/errmsg.txt:
  merge commit
sql/share/slovak/errmsg.txt:
  merge commit
sql/share/spanish/errmsg.txt:
  merge commit
sql/share/swedish/errmsg.txt:
  merge commit
sql/share/ukrainian/errmsg.txt:
  merge commit
sql/slave.cc:
  merge commit
sql/slave.h:
  merge commit
sql/sql_acl.cc:
  merge commit
sql/sql_parse.cc:
  merge commit
sql/sql_repl.h:
  merge commit
2003-09-03 14:12:10 +04:00
unknown
b4d59a8dcf Manual merge fixes
sql/lex.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/repl_failsafe.cc:
  Auto merged
sql/share/czech/errmsg.txt:
  Auto merged
sql/share/danish/errmsg.txt:
  Auto merged
sql/share/dutch/errmsg.txt:
  Auto merged
sql/share/english/errmsg.txt:
  Auto merged
sql/share/estonian/errmsg.txt:
  Auto merged
sql/share/french/errmsg.txt:
  Auto merged
sql/share/german/errmsg.txt:
  Auto merged
sql/share/greek/errmsg.txt:
  Auto merged
sql/share/hungarian/errmsg.txt:
  Auto merged
sql/share/italian/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/portuguese/errmsg.txt:
  Auto merged
sql/share/romanian/errmsg.txt:
  Auto merged
sql/share/russian/errmsg.txt:
  Auto merged
sql/share/slovak/errmsg.txt:
  Auto merged
sql/share/spanish/errmsg.txt:
  Auto merged
sql/share/swedish/errmsg.txt:
  Auto merged
sql/share/ukrainian/errmsg.txt:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_repl.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
include/mysqld_error.h:
  Mabual merge
mysql-test/r/rpl_flush_log_loop.result:
  Mabual merge
mysql-test/r/rpl_log.result:
  Mabual merge
mysql-test/r/rpl_log_pos.result:
  Mabual merge
mysql-test/r/rpl_replicate_do.result:
  Mabual merge
mysql-test/r/rpl_rotate_logs.result:
  Mabual merge
sql/slave.cc:
  Mabual merge
sql/slave.h:
  Mabual merge
2003-09-01 16:14:54 +04:00
unknown
8a548ffd9c Implemented replication over SSL
Added proper options to CHANGE MASTER TO, new fields to SHOW SLAVE STATUS,
 Honoring this parameters during connection to master.
 Introduced new format of master.info file


include/mysqld_error.h:
  Added error code for "slave without SSL ignored SSL params warning"
mysql-test/Makefile.am:
  Copy files required for rpl_openssl test during the make process
mysql-test/r/rpl000015.result:
  Added fields to SHOW SLAVE STATUS for replication over SSL
mysql-test/r/rpl_empty_master_crash.result:
  Added fields to SHOW SLAVE STATUS for replication over SSL
mysql-test/r/rpl_flush_log_loop.result:
  Added fields to SHOW SLAVE STATUS for replication over SSL
mysql-test/r/rpl_log.result:
  Added fields to SHOW SLAVE STATUS for replication over SSL
mysql-test/r/rpl_log_pos.result:
  Added fields to SHOW SLAVE STATUS for replication over SSL
mysql-test/r/rpl_redirect.result:
  Added fields to SHOW SLAVE STATUS for replication over SSL
mysql-test/r/rpl_replicate_do.result:
  Added fields to SHOW SLAVE STATUS for replication over SSL
mysql-test/r/rpl_rotate_logs.result:
  Added fields to SHOW SLAVE STATUS for replication over SSL
sql/lex.h:
  Added MASTER_SSL lexems for CHANGE MASTER
sql/mysqld.cc:
  Added --master-ssl-ca parameter. Fixed description of other master-ssl parameters
sql/repl_failsafe.cc:
  Added SSL support to connect_to_master()
sql/share/czech/errmsg.txt:
  Added "slave without SSL ignored SSL params" warning
sql/share/danish/errmsg.txt:
  Added "slave without SSL ignored SSL params" warning
sql/share/dutch/errmsg.txt:
  Added "slave without SSL ignored SSL params" warning
sql/share/english/errmsg.txt:
  Added "slave without SSL ignored SSL params" warning
sql/share/estonian/errmsg.txt:
  Added "slave without SSL ignored SSL params" warning
sql/share/french/errmsg.txt:
  Added "slave without SSL ignored SSL params" warning
sql/share/german/errmsg.txt:
  Added "slave without SSL ignored SSL params" warning
sql/share/greek/errmsg.txt:
  Added "slave without SSL ignored SSL params" warning
sql/share/hungarian/errmsg.txt:
  Added "slave without SSL ignored SSL params" warning
sql/share/italian/errmsg.txt:
  Added "slave without SSL ignored SSL params" warning
sql/share/japanese/errmsg.txt:
  Added "slave without SSL ignored SSL params" warning
sql/share/korean/errmsg.txt:
  Added "slave without SSL ignored SSL params" warning
sql/share/norwegian-ny/errmsg.txt:
  Added "slave without SSL ignored SSL params" warning
sql/share/norwegian/errmsg.txt:
  Added "slave without SSL ignored SSL params" warning
sql/share/polish/errmsg.txt:
  Added "slave without SSL ignored SSL params" warning
sql/share/portuguese/errmsg.txt:
  Added "slave without SSL ignored SSL params" warning
sql/share/romanian/errmsg.txt:
  Added "slave without SSL ignored SSL params" warning
sql/share/russian/errmsg.txt:
  Added "slave without SSL ignored SSL params" warning
sql/share/serbian/errmsg.txt:
  Added "slave without SSL ignored SSL params" warning
sql/share/slovak/errmsg.txt:
  Added "slave without SSL ignored SSL params" warning
sql/share/spanish/errmsg.txt:
  Added "slave without SSL ignored SSL params" warning
sql/share/swedish/errmsg.txt:
  Added "slave without SSL ignored SSL params" warning
sql/share/ukrainian/errmsg.txt:
  Added "slave without SSL ignored SSL params" warning
sql/slave.cc:
  Introduced new format of master.info file
  Added support of SSL params in master.info and SHOW SLAVE STATUS
  Added support of SSL connections
sql/slave.h:
  Added SSL parameters to MASTER_INFO
sql/sql_lex.h:
  Added SSL parameters for CHANGE MASTER TO
sql/sql_repl.cc:
  Added SSL parameters for CHANGE MASTER TO
sql/sql_yacc.yy:
  Added SSL parameters for CHANGE MASTER TO
2003-09-01 15:16:20 +04:00
unknown
0fa5279543 merge with 4.0.15
BitKeeper/etc/ignore:
  auto-union
BitKeeper/etc/logging_ok:
  auto-union
BitKeeper/deleted/.del-database.c~af098622e818ce0d:
  Auto merged
BitKeeper/deleted/.del-have_openssl_2.inc~8c9f1a45676b698f:
  Auto merged
BitKeeper/deleted/.del-have_openssl_2.require~53bbdfc136fb514:
  Auto merged
BitKeeper/deleted/.del-mini_client.cc~8677895ec8169183:
  Auto merged
BitKeeper/deleted/.del-openssl_2.test~f2dfa927f19d14f8:
  Auto merged
Build-tools/Bootstrap:
  Auto merged
Build-tools/Do-compile:
  Auto merged
SSL/cacert.pem:
  Auto merged
acconfig.h:
  Auto merged
acinclude.m4:
  Auto merged
configure.in:
  Auto merged
SSL/client-cert.pem:
  Auto merged
SSL/client-key.pem:
  Auto merged
SSL/server-cert.pem:
  Auto merged
SSL/server-key.pem:
  Auto merged
VC++Files/client/mysql.dsp:
  Auto merged
VC++Files/client/mysqladmin.dsp:
  Auto merged
VC++Files/client/mysqlclient.dsp:
  Auto merged
VC++Files/client/mysqldump.dsp:
  Auto merged
VC++Files/client/mysqlimport.dsp:
  Auto merged
VC++Files/client/mysqlshow.dsp:
  Auto merged
VC++Files/comp_err/comp_err.dsp:
  Auto merged
VC++Files/innobase/innobase.dsp:
  Auto merged
VC++Files/isamchk/isamchk.dsp:
  Auto merged
VC++Files/libmysql/libmysql.dsp:
  Auto merged
VC++Files/libmysqltest/myTest.dsp:
  Auto merged
VC++Files/my_print_defaults/my_print_defaults.dsp:
  Auto merged
VC++Files/myisamlog/myisamlog.dsp:
  Auto merged
VC++Files/mysql.dsw:
  Auto merged
VC++Files/mysqlbinlog/mysqlbinlog.dsp:
  Auto merged
VC++Files/mysqlcheck/mysqlcheck.dsp:
  Auto merged
VC++Files/mysqlmanager/MySqlManager.dsp:
  Auto merged
VC++Files/mysqlserver/mysqlserver.dsp:
  Auto merged
VC++Files/mysqlshutdown/mysqlshutdown.dsp:
  Auto merged
VC++Files/mysys/mysys.dsp:
  Auto merged
VC++Files/pack_isam/pack_isam.dsp:
  Auto merged
VC++Files/perror/perror.dsp:
  Auto merged
VC++Files/replace/replace.dsp:
  Auto merged
VC++Files/test1/test1.dsp:
  Auto merged
VC++Files/thr_test/thr_test.dsp:
  Auto merged
VC++Files/vio/vio.dsp:
  Auto merged
VC++Files/zlib/zlib.dsp:
  Auto merged
client/mysqlbinlog.cc:
  Auto merged
client/mysqldump.c:
  Auto merged
client/mysqlimport.c:
  Auto merged
extra/my_print_defaults.c:
  Auto merged
extra/resolveip.c:
  Auto merged
include/m_string.h:
  Auto merged
include/my_sys.h:
  Auto merged
include/mysql_com.h:
  Auto merged
innobase/dict/dict0dict.c:
  Auto merged
innobase/os/os0file.c:
  Auto merged
isam/_search.c:
  Auto merged
libmysql/Makefile.am:
  Auto merged
libmysql/errmsg.c:
  Auto merged
libmysql/libmysql.c:
  Auto merged
myisam/mi_check.c:
  Auto merged
myisam/mi_create.c:
  Auto merged
myisam/mi_open.c:
  Auto merged
myisam/mi_search.c:
  Auto merged
myisam/mi_write.c:
  Auto merged
myisam/myisamchk.c:
  Auto merged
myisam/myisamlog.c:
  Auto merged
mysql-test/mysql-test-run.sh:
  Auto merged
mysql-test/r/group_by.result:
  Auto merged
mysql-test/r/isam.result:
  Auto merged
mysql-test/r/loaddata.result:
  Auto merged
mysql-test/r/lowercase_table.result:
  Auto merged
mysql-test/r/multi_update.result:
  Auto merged
mysql-test/r/openssl_1.result:
  Auto merged
mysql-test/r/packet.result:
  Auto merged
mysql-test/r/query_cache.result:
  Auto merged
mysql-test/r/range.result:
  Auto merged
mysql-test/r/select_safe.result:
  Auto merged
mysql-test/r/show_check.result:
  Auto merged
mysql-test/t/grant.test:
  Auto merged
mysql-test/t/group_by.test:
  Auto merged
mysql-test/t/lock_tables_lost_commit-master.opt:
  Auto merged
mysql-test/t/lowercase_table.test:
  Auto merged
mysql-test/t/multi_update.test:
  Auto merged
mysql-test/t/openssl_1.test:
  Auto merged
mysql-test/t/range.test:
  Auto merged
mysql-test/t/rpl_loaddata.test:
  Auto merged
mysql-test/t/rpl_log.test:
  Auto merged
mysql-test/t/select_safe.test:
  Auto merged
mysql-test/t/show_check.test:
  Auto merged
mysql-test/t/symlink.test:
  Auto merged
mysys/default.c:
  Auto merged
mysys/my_getopt.c:
  Auto merged
mysys/my_pthread.c:
  Auto merged
scripts/make_binary_distribution.sh:
  Auto merged
scripts/make_win_src_distribution.sh:
  Auto merged
scripts/mysql_install_db.sh:
  Auto merged
scripts/mysqld_safe.sh:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
sql/ha_myisam.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/item_uniq.h:
  Auto merged
sql/log_event.h:
  Auto merged
sql/net_serv.cc:
  Auto merged
sql/repl_failsafe.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_load.cc:
  Auto merged
sql/sql_repl.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
vio/Makefile.am:
  Auto merged
vio/vio.c:
  Auto merged
mysql-test/t/myisam.test:
  merge with 4.0.15
  Extra tests
mysys/mf_keycache.c:
  Keep local file
2003-08-29 13:44:35 +03:00
unknown
0ee6f7fde0 hanged UDF interface to use clear() instead of reset()
BUILD/FINISH.sh:
  Add just_clean option (for cleanup script)
scripts/mysql_fix_privilege_tables.sql:
  Added 'USE mysql' for easer use on windows
sql/item_sum.cc:
  Changed UDF interface to use clear() instead of reset()
sql/item_sum.h:
  Changed UDF interface to use clear() instead of reset()
sql/slave.cc:
  Fixed checking of eof for slave/master protocol. (Bug #887)
sql/sql_udf.cc:
  Changed UDF interface to use clear() instead of reset()
sql/sql_udf.h:
  Changed UDF interface to use clear() instead of reset()
sql/sql_yacc.yy:
  ERRORS and WARNINGS should not be reserved words
sql/udf_example.cc:
  Changed UDF interface to use clear() instead of reset()
2003-08-27 22:30:50 +03:00
unknown
3fdc38d4bb comments about mutexes in replication.
Don't start the SQL slave thread with SQL_BIG_SELECTS;
it's better to inhibate max_join_size instead.


sql/slave.cc:
  OPTION_BIG_SELECTS does more than ignoring max_join_size (talks to the optimiser),
  just ignore max_join_size.
sql/slave.h:
  comments
2003-08-25 16:20:21 +02:00
unknown
c47ee56915 Clearer states in SHOW PROCESSLIST for replication threads.
For example the Binlog_dump thread (on the master) sometimes showed "Slave:".
And there were confusing messages where "binlog" was employed instead
of "relay log".


sql/log.cc:
  MYSQL_LOG::wait_for_update() is used by the binlog_dump and I/Oslave threads,
  and it updates thd->proc_info, so we need a bool to not show the same
  proc_info for 2 different things (previously we showed "Slave: etc" and that's
  bad for a binlog_dump thread).
sql/slave.cc:
  Clearer thd-proc_info for slave threads.
sql/sql_class.h:
  prototype change
sql/sql_repl.cc:
  clearer thd->proc_info for binlog_dump thread
2003-08-25 14:13:58 +02:00
unknown
89e95d0c26 The slave threads MUST not care about max_join_size, we start them with
OPTION_BIG_SELECTS.


sql/slave.cc:
  The slave threads MUST not care about max_join_size.
  I can imagine the case of a slave where users can connect and do SELECTs, but
  DBA does not want them to issue crazy SELECTs, but he/she still wants replication
  to work.
  Before, this just printed a warning to the error log (not fatal) but that
  was still annoying.
2003-08-23 17:41:43 +02:00
unknown
6e10224d71 * Fix for a potential bug:
when the SQL thread stops, set rli->inside_transaction to 0. This is needed if the user
later restarts replication from a completely different place where there are only autocommit
statements.
* Detect the case where the master died while flushing the binlog cache to the binlog
and stop with error. Cannot add a testcase for this in 4.0 (I tested it manually)
as the slave always runs with --skip-innodb.


sql/log_event.cc:
  Detect the case where the master died while flushing the binlog cache to the binlog:
  in that case, we have a BEGIN with no COMMIT/ROLLBACK in the relay log; we detect
  this with rli->inside_transaction in Rotate_log_event::exec_event() (which is the
  only right place to detect this, see comments). When we see it, we stop with error.
  In 4.1, I had put code in Start_log_event::exec_event(); I'll remove it next time
  I push in the 4.1 tree.
sql/slave.cc:
  * Use slave_print_error instead of sql_print_error, to put the info in SHOW SLAVE STATUS too.
  * Fix for a potential bug:
  when the SQL thread stops, set rli->inside_transaction to 0. This is not needed if
  replication later restarts from the same position; but this is needed if the user
  restarts replication from a completely different place where there are only autocommit
  statements (in that case, if we didn't set to 0, the position would never increment in SHOW
  SLAVE STATUS, even if queries are processed well).
2003-08-23 16:53:04 +02:00
unknown
fd9b177564 Yesterday I removed process_io_create_file; I shouldn't have.
Let's say the lack of comments did not help me ;)
Copying it back again and adding comments; now 3.23->4.0
replication of LOAD DATA INFILE works again.


sql/slave.cc:
  Enabling again process_io_create_file
2003-08-21 10:24:37 +02:00
unknown
d52145da3d Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/mysql_src/mysql-4.0


sql/log.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/slave.cc:
  Auto merged
2003-08-20 23:25:58 +02: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
unknown
e3541b8a97 Fix for BUG#1086. Now we don't preserve event's log_pos through
log-slave-updates since this causes unexpected values in 
Exec_master_log_pos in A->B->C replication setup, synchronization
 problems in master_pos_wait()... 
Still this brokes some functionality in sql/repl_failsafe.cc 
(but this file is not used now)


mysql-test/r/rpl_log.result:
  SHOW BINLOG EVENTS for binlog on slave should give the same 
  Orig_log_pos and Pos values
sql/log_event.cc:
  Do not propagate our master's log pos to our bin log
sql/repl_failsafe.cc:
  Added comment about broken SHOW NEW MASTER
sql/slave.cc:
  Do not propagate our master's log pos to our bin log
sql/sql_class.cc:
  THD::log_pos is no longer needed
sql/sql_class.h:
  THD::log_pos is no longer needed
sql/sql_parse.cc:
  Added comment about broken SHOW NEW MASTER
2003-08-20 03:38:31 +04:00
unknown
aa900a5ece After merge fixes + bugs from last merge
mysql-test/mysql-test-run.sh:
  Use --skip-bdb with valgrind (as bdb tables causes valgrind to hang)
  Fix --ddd option
mysql-test/t/union.test:
  After merge fix
sql/item.cc:
  Fixed typo
sql/log_event.cc:
  Move current_tablenr to open_tables()
sql/protocol.h:
  Fixed wrong memory reference
sql/set_var.cc:
  After merge fix
sql/slave.cc:
  Reset thd->lex.current_select before execute
sql/sql_base.cc:
  Move current_tablenr to open_tables()
sql/sql_class.cc:
  Move current_tablenr to open_tables()
  Add missing update_charset()
sql/sql_parse.cc:
  Move current_tablenr to open_tables()
  Simple cleanup
sql/table.cc:
  Code cleanup
2003-08-19 16:00:12 +03:00
unknown
2901c3b8fa After merge fixes
Use server character set if --default-character-set is not used
Added convert_string() for more efficient alloc+character-set convert of strings


BitKeeper/deleted/.del-convert.result~a3b56e1db6f498e9:
  Delete: mysql-test/r/convert.result
BitKeeper/deleted/.del-convert.test~f4ceb743194dfe72:
  Delete: mysql-test/t/convert.test
BitKeeper/deleted/.del-make_win_src_distribution.old~5c9ebdc4a852b43b:
  Delete: scripts/make_win_src_distribution.old
client/mysql.cc:
  Use server character set if --default-character-set is not used
client/mysqltest.c:
  Code cleanup (merge identical code)
  More debug messages
heap/hp_create.c:
  After merge fix
include/m_ctype.h:
  After merge fix
include/my_global.h:
  Remove size_str (we already have size_s)
include/mysql_com.h:
  After merge fix
libmysql/libmysql.c:
  After merge fix
libmysqld/Makefile.am:
  After merge fix
mysql-test/r/auto_increment.result:
  After merge fix
mysql-test/r/create.result:
  After merge fix
mysql-test/r/ctype_latin1_de.result:
  After merge fix
mysql-test/r/distinct.result:
  After merge fix
mysql-test/r/drop.result:
  After merge fix
mysql-test/r/fulltext.result:
  After merge fix
mysql-test/r/func_gconcat.result:
  After merge fix
mysql-test/r/func_str.result:
  After merge fix
mysql-test/r/func_test.result:
  After merge fix
mysql-test/r/grant.result:
  After merge fix
mysql-test/r/group_by.result:
  After merge fix
mysql-test/r/handler.result:
  After merge fix
mysql-test/r/heap.result:
  After merge fix
mysql-test/r/heap_btree.result:
  After merge fix
mysql-test/r/heap_hash.result:
  After merge fix
mysql-test/r/innodb.result:
  After merge fix
mysql-test/r/insert.result:
  After merge fix
mysql-test/r/insert_select.result:
  After merge fix
mysql-test/r/join_outer.result:
  After merge fix
mysql-test/r/key.result:
  After merge fix
mysql-test/r/key_cache.result:
  After merge fix
mysql-test/r/loaddata.result:
  After merge fix
mysql-test/r/myisam.result:
  After merge fix
mysql-test/r/null.result:
  After merge fix
mysql-test/r/null_key.result:
  After merge fix
mysql-test/r/order_by.result:
  After merge fix
mysql-test/r/rpl_do_grant.result:
  After merge fix
mysql-test/r/rpl_error_ignored_table.result:
  After merge fix
mysql-test/r/rpl_ignore_grant.result:
  After merge fix
mysql-test/r/rpl_loaddata.result:
  After merge fix
mysql-test/r/rpl_log.result:
  After merge fix
mysql-test/r/rpl_log_pos.result:
  After merge fix
mysql-test/r/rpl_max_relay_size.result:
  After merge fix
mysql-test/r/rpl_replicate_do.result:
  After merge fix
mysql-test/r/rpl_reset_slave.result:
  After merge fix
mysql-test/r/rpl_rotate_logs.result:
  After merge fix
mysql-test/r/rpl_user_variables.result:
  After merge fix
mysql-test/r/select.result:
  After merge fix
mysql-test/r/select_safe.result:
  After merge fix
mysql-test/r/subselect.result:
  After merge fix
mysql-test/r/type_blob.result:
  After merge fix
mysql-test/r/type_decimal.result:
  After merge fix
mysql-test/r/type_float.result:
  After merge fix
mysql-test/r/type_ranges.result:
  After merge fix
mysql-test/r/type_time.result:
  After merge fix
mysql-test/r/type_uint.result:
  After merge fix
mysql-test/r/union.result:
  After merge fix
mysql-test/r/warnings.result:
  After merge fix
mysql-test/t/auto_increment.test:
  After merge fix
mysql-test/t/case.test:
  After merge fix
mysql-test/t/ctype_collate.test:
  After merge fix
mysql-test/t/ctype_latin1_de.test:
  After merge fix
mysql-test/t/drop.test:
  After merge fix
mysql-test/t/func_in.test:
  After merge fix
mysql-test/t/func_set.test:
  After merge fix
mysql-test/t/func_str.test:
  After merge fix
mysql-test/t/func_test.test:
  After merge fix
mysql-test/t/grant.test:
  After merge fix
mysql-test/t/group_by.test:
  After merge fix
mysql-test/t/handler.test:
  After merge fix
mysql-test/t/heap.test:
  After merge fix
mysql-test/t/heap_btree.test:
  After merge fix
mysql-test/t/heap_hash.test:
  After merge fix
mysql-test/t/innodb.test:
  After merge fix
mysql-test/t/insert_select.test:
  After merge fix
mysql-test/t/key.test:
  After merge fix
mysql-test/t/key_cache.test:
  After merge fix
mysql-test/t/lock_tables_lost_commit-master.opt:
  After merge fix
mysql-test/t/lock_tables_lost_commit.test:
  After merge fix
mysql-test/t/myisam.test:
  After merge fix
mysql-test/t/row.test:
  After merge fix
mysql-test/t/subselect.test:
  After merge fix
mysql-test/t/type_decimal.test:
  After merge fix
mysql-test/t/type_ranges.test:
  After merge fix
mysql-test/t/type_uint.test:
  After merge fix
mysql-test/t/variables.test:
  After merge fix
mysql-test/t/warnings.test:
  After merge fix
scripts/make_win_src_distribution.sh:
  after merge fixes
sql-common/client.c:
  After merge fix
  Change my_connect() to use poll()
  If character set is not given, use servers character set.
sql/field.cc:
  After merge fix
  Don't give warnings when storing data in fields in optimizer.
sql/ha_myisammrg.h:
  After merge fix
sql/log.cc:
  After merge fix
sql/log_event.cc:
  After merge fix
sql/mysqld.cc:
  After merge fix
sql/opt_range.cc:
  After merge fix
sql/set_var.cc:
  Code cleanup
  Fixed wrong usage of base_names (like medium.key_buffer) that caused core dumps
sql/set_var.h:
  Fixed wrong usage of base_names (like medium.key_buffer) that caused core dumps
sql/slave.cc:
  After merge fix
sql/sql_acl.cc:
  After merge fix
  Code cleanup
sql/sql_class.cc:
  Added convert_string() for more efficient alloc+character-set convert of strings
  Add cached flags to avoid calling mysql_charset_same() during parsing.
sql/sql_class.h:
  Added convert_string() for more efficient alloc+character-set convert of strings
  Add cached flags to avoid calling mysql_charset_same() during parsing.
sql/sql_handler.cc:
  After merge fix
sql/sql_lex.h:
  After merge fix
sql/sql_parse.cc:
  Optimize and fix memory reference errors reported by valgrind
sql/sql_repl.cc:
  After merge fix
sql/sql_yacc.yy:
  After merge fix
  Avoid calling mysql_charset_same() when parsing identifiers
strings/ctype-latin1.c:
  Port latin_de conversion code from 4.0
2003-08-19 00:08:08 +03:00
unknown
034b44cb9f Merge with 4.0.14
BitKeeper/etc/logging_ok:
  auto-union
scripts/make_win_src_distribution.old:
  Merge rename: scripts/make_win_src_distribution.sh -> scripts/make_win_src_distribution.old
BUILD/compile-pentium-debug-max:
  Auto merged
BitKeeper/deleted/.del-sel000001.result~383913ae4505ec86:
  Auto merged
BitKeeper/deleted/.del-sel000001.test~9567c1646058cc:
  Auto merged
Build-tools/Bootstrap:
  Auto merged
Build-tools/Do-compile:
  Auto merged
Docs/Makefile.am:
  Auto merged
client/get_password.c:
  Auto merged
client/mysql.cc:
  Auto merged
client/mysqltest.c:
  Auto merged
extra/perror.c:
  Auto merged
include/config-win.h:
  Auto merged
include/my_sys.h:
  Auto merged
innobase/btr/btr0cur.c:
  Auto merged
innobase/btr/btr0pcur.c:
  Auto merged
innobase/buf/buf0buf.c:
  Auto merged
innobase/buf/buf0flu.c:
  Auto merged
innobase/dict/dict0dict.c:
  Auto merged
innobase/dict/dict0load.c:
  Auto merged
innobase/include/buf0buf.h:
  Auto merged
innobase/include/log0recv.h:
  Auto merged
innobase/include/row0sel.h:
  Auto merged
innobase/include/srv0srv.h:
  Auto merged
innobase/include/ut0mem.h:
  Auto merged
innobase/lock/lock0lock.c:
  Auto merged
innobase/log/log0log.c:
  Auto merged
innobase/mem/mem0pool.c:
  Auto merged
innobase/os/os0file.c:
  Auto merged
innobase/row/row0mysql.c:
  Auto merged
innobase/row/row0sel.c:
  Auto merged
innobase/srv/srv0srv.c:
  Auto merged
innobase/srv/srv0start.c:
  Auto merged
innobase/trx/trx0sys.c:
  Auto merged
innobase/trx/trx0trx.c:
  Auto merged
innobase/ut/ut0mem.c:
  Auto merged
innobase/ut/ut0ut.c:
  Auto merged
myisam/ft_boolean_search.c:
  Auto merged
myisam/mi_check.c:
  Auto merged
myisam/mi_extra.c:
  Auto merged
myisam/mi_key.c:
  Auto merged
myisam/myisamdef.h:
  Auto merged
myisammrg/myrg_queue.c:
  Auto merged
mysql-test/mysql-test-run.sh:
  Auto merged
mysql-test/r/ctype_latin1_de.result:
  Auto merged
mysql-test/r/flush.result:
  Auto merged
mysql-test/r/func_time.result:
  Auto merged
mysql-test/r/grant_cache.result:
  Auto merged
mysql-test/r/join.result:
  Auto merged
mysql-test/r/join_outer.result:
  Auto merged
mysql-test/r/range.result:
  Auto merged
mysql-test/r/rpl000018.result:
  Auto merged
mysql-test/r/rpl_insert_id.result:
  Auto merged
mysql-test/r/rpl_master_pos_wait.result:
  Auto merged
mysql-test/r/rpl_relayspace.result:
  Auto merged
mysql-test/r/select_safe.result:
  Auto merged
mysql-test/r/symlink.result:
  Auto merged
mysql-test/r/type_date.result:
  Auto merged
mysql-test/r/type_datetime.result:
  Auto merged
mysql-test/t/alias.test:
  Auto merged
mysql-test/t/ctype_latin1_de.test:
  Auto merged
mysql-test/t/fulltext_left_join.test:
  Auto merged
mysql-test/t/func_time.test:
  Auto merged
mysql-test/t/handler.test:
  Auto merged
mysql-test/t/heap.test:
  Auto merged
mysql-test/t/join.test:
  Auto merged
mysql-test/t/join_outer.test:
  Auto merged
mysql-test/t/order_by.test:
  Auto merged
mysql-test/t/range.test:
  Auto merged
mysql-test/t/rpl000001.test:
  Auto merged
mysql-test/t/rpl000018.test:
  Auto merged
mysql-test/t/rpl_insert_id.test:
  Auto merged
mysql-test/t/sel000100.test:
  Auto merged
mysql-test/t/select_safe.test:
  Auto merged
mysql-test/t/type_date.test:
  Auto merged
mysql-test/t/type_datetime.test:
  Auto merged
mysql-test/t/user_var.test:
  Auto merged
mysys/default.c:
  Auto merged
mysys/mf_format.c:
  Auto merged
mysys/my_getopt.c:
  Auto merged
mysys/thr_lock.c:
  Auto merged
mysys/tree.c:
  Auto merged
scripts/Makefile.am:
  Auto merged
scripts/mysql_install_db.sh:
  Auto merged
scripts/mysqld_safe.sh:
  Auto merged
sql/Makefile.am:
  Auto merged
sql/field_conv.cc:
  Auto merged
sql/ha_innodb.h:
  Auto merged
sql/ha_myisam.cc:
  Auto merged
sql/ha_myisammrg.h:
  Auto merged
sql/handler.cc:
  Auto merged
sql/handler.h:
  Auto merged
sql/item.h:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/net_serv.cc:
  Auto merged
sql/nt_servc.cc:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_cache.h:
  Auto merged
sql/sql_db.cc:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_list.h:
  Auto merged
sql/sql_load.cc:
  Auto merged
sql/sql_rename.cc:
  Auto merged
sql/sql_repl.h:
  Auto merged
sql/sql_update.cc:
  Auto merged
sql/table.cc:
  Auto merged
sql/table.h:
  Auto merged
sql/uniques.cc:
  Auto merged
support-files/mysql.spec.sh:
  Auto merged
vio/viosocket.c:
  Auto merged
BitKeeper/deleted/.del-ctype-latin1_de.c~c5d8f9208bceb98e:
  merge
BitKeeper/deleted/.del-mini_client.cc~8677895ec8169183:
  merge
acinclude.m4:
  Merge with 4.0 (openssl patch)
client/mysqlbinlog.cc:
  Merge with 4.0 in which we had added code from 4.1
  (We are basicly only using the 4.1 code here)
configure.in:
  Keep 4.1 file
heap/hp_open.c:
  merge with 4.0
include/my_base.h:
  merge with 4.0
include/my_global.h:
  merge with 4.0
include/mysqld_error.h:
  merge with 4.0
innobase/ha/ha0ha.c:
  merge with 4.0
  (Code should be same but we use indentaion from 4.0)
innobase/log/log0recv.c:
  merge with 4.0
libmysql/libmysql.c:
  Remove with 4.0 code that was ported from 4.1
libmysqld/lib_sql.cc:
  merge with 4.0
myisam/mi_open.c:
  Remove 4.0 specific code
myisam/myisamchk.c:
  merge with 4.0
myisammrg/myrg_rkey.c:
  merge with 4.0
mysql-test/r/alter_table.result:
  May need to be fixed after merge
mysql-test/r/create.result:
  May need to be fixed after merge
mysql-test/r/distinct.result:
  May need to be fixed after merge
mysql-test/r/drop.result:
  May need to be fixed after merge
mysql-test/r/fulltext.result:
  May need to be fixed after merge
mysql-test/r/func_set.result:
  May need to be fixed after merge
mysql-test/r/func_str.result:
  May need to be fixed after merge
mysql-test/r/func_test.result:
  May need to be fixed after merge
mysql-test/r/grant.result:
  May need to be fixed after merge
mysql-test/r/group_by.result:
  May need to be fixed after merge
mysql-test/r/handler.result:
  May need to be fixed after merge
mysql-test/r/heap.result:
  May need to be fixed after merge
mysql-test/r/innodb.result:
  May need to be fixed after merge
mysql-test/r/insert.result:
  May need to be fixed after merge
mysql-test/r/insert_select.result:
  May need to be fixed after merge
mysql-test/r/key_diff.result:
  May need to be fixed after merge
mysql-test/r/merge.result:
  May need to be fixed after merge
mysql-test/r/myisam.result:
  May need to be fixed after merge
mysql-test/r/order_by.result:
  May need to be fixed after merge
mysql-test/r/query_cache.result:
  May need to be fixed after merge
mysql-test/r/rpl_flush_log_loop.result:
  May need to be fixed after merge
mysql-test/r/rpl_loaddata.result:
  May need to be fixed after merge
mysql-test/r/rpl_log.result:
  May need to be fixed after merge
mysql-test/r/rpl_log_pos.result:
  May need to be fixed after merge
mysql-test/r/rpl_rotate_logs.result:
  May need to be fixed after merge
mysql-test/r/select.result:
  May need to be fixed after merge
mysql-test/r/union.result:
  May need to be fixed after merge
mysql-test/r/user_var.result:
  May need to be fixed after merge
mysql-test/t/alter_table.test:
  merge with 4.0
mysql-test/t/create.test:
  merge with 4.0
mysql-test/t/distinct.test:
  merge with 4.0
mysql-test/t/drop.test:
  merge with 4.0
mysql-test/t/flush.test:
  merge with 4.0
mysql-test/t/fulltext.test:
  merge with 4.0
mysql-test/t/func_set.test:
  merge with 4.0
mysql-test/t/func_str.test:
  merge with 4.0
mysql-test/t/func_test.test:
  merge with 4.0
mysql-test/t/grant.test:
  merge with 4.0
mysql-test/t/grant_cache.test:
  merge with 4.0
mysql-test/t/innodb.test:
  Add back EXPLAIN and SHOW KEYS statements, but make them independent of number of rows returned by InnoDB
mysql-test/t/insert.test:
  merge with 4.0
mysql-test/t/insert_select.test:
  merge with 4.0
mysql-test/t/merge.test:
  merge with 4.0
mysql-test/t/query_cache.test:
  merge with 4.0
mysql-test/t/rpl_flush_log_loop.test:
  merge with 4.0
mysql-test/t/rpl_loaddata.test:
  merge with 4.0
mysql-test/t/rpl_rotate_logs.test:
  merge with 4.0
mysql-test/t/select.test:
  merge with 4.0
mysql-test/t/symlink.test:
  merge with 4.0
mysql-test/t/union.test:
  merge with 4.0
mysys/charset.c:
  merge with 4.0
scripts/mysql_fix_privilege_tables.sh:
  merge with 4.0 (Add quoting for some variables)
sql/field.h:
  merge with 4.0
sql/ha_innodb.cc:
  merge with 4.0
sql/item_cmpfunc.cc:
  merge with 4.0
sql/item_cmpfunc.h:
  merge with 4.0
sql/item_func.h:
  merge with 4.0
sql/item_strfunc.cc:
  merge with 4.0
  Fixed null handling with ELT()
sql/item_timefunc.h:
  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
  Cleanups:
  - Indentation
  - #endif comments
  - Replace strmov() with *pos++= for two byte strings
  - Moved variable declarations to start of functions
  - Merged identical code (LOAD_EVENT)
  - Added casts when subtracting pointers
  Did a full diff between this and 4.0 to ensure that the file is correct after merge.
sql/log_event.h:
  merge with 4.0
sql/mysql_priv.h:
  merge with 4.0
sql/mysqld.cc:
  merge with 4.0
sql/repl_failsafe.cc:
  merge with 4.0
sql/set_var.cc:
  merge with 4.0
sql/set_var.h:
  merge with 4.0
sql/share/czech/errmsg.txt:
  merge with 4.0
sql/share/danish/errmsg.txt:
  merge with 4.0
sql/share/dutch/errmsg.txt:
  merge with 4.0
sql/share/english/errmsg.txt:
  merge with 4.0
sql/share/estonian/errmsg.txt:
  merge with 4.0
sql/share/french/errmsg.txt:
  merge with 4.0
sql/share/german/errmsg.txt:
  merge with 4.0
sql/share/greek/errmsg.txt:
  merge with 4.0
sql/share/hungarian/errmsg.txt:
  merge with 4.0
sql/share/italian/errmsg.txt:
  merge with 4.0
sql/share/japanese/errmsg.txt:
  merge with 4.0
sql/share/korean/errmsg.txt:
  merge with 4.0
sql/share/norwegian-ny/errmsg.txt:
  merge with 4.0
sql/share/norwegian/errmsg.txt:
  merge with 4.0
sql/share/polish/errmsg.txt:
  merge with 4.0
sql/share/portuguese/errmsg.txt:
  merge with 4.0
sql/share/romanian/errmsg.txt:
  merge with 4.0
sql/share/russian/errmsg.txt:
  merge with 4.0
sql/share/slovak/errmsg.txt:
  merge with 4.0
sql/share/spanish/errmsg.txt:
  merge with 4.0
sql/share/swedish/errmsg.txt:
  merge with 4.0
sql/share/ukrainian/errmsg.txt:
  merge with 4.0
sql/slave.cc:
  Merge + some indentation fixes
sql/slave.h:
  merge with 4.0
sql/sql_acl.cc:
  merge with 4.0
  Some end space removal to make it easier to do future merges
sql/sql_acl.h:
  merge with 4.0
sql/sql_cache.cc:
  merge with 4.0
sql/sql_class.h:
  merge with 4.0
sql/sql_handler.cc:
  merge with 4.0
sql/sql_lex.cc:
  merge with 4.0
sql/sql_lex.h:
  merge with 4.0
sql/sql_parse.cc:
  merge with 4.0
sql/sql_repl.cc:
  merge with 4.0
sql/sql_select.cc:
  merge with 4.0
sql/sql_table.cc:
  merge with 4.0
sql/sql_union.cc:
  Merge with 4.0
  Note that I couldn't find out how to merge OPTION_FOUND_ROWS handling so this has to be fixed later
sql/sql_yacc.yy:
  merge with 4.0
  Removed end space to make merge easier
vio/Makefile.am:
  merge with 4.0
2003-08-11 22:44:43 +03:00
unknown
6db21de014 Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into mashka.mysql.fi:/home/my/mysql-4.0


sql/slave.cc:
  Auto merged
sql/slave.h:
  Auto merged
sql/sql_acl.cc:
  Auto merged
2003-08-07 20:18:51 +03:00
unknown
fa1613be0a Review of changesets since last pull.
(Mostly code cleanups)


include/my_sys.h:
  Removed not used define
myisam/mi_check.c:
  Indentation change
mysql-test/t/rpl_insert_id.test:
  Add test if server supports innodb
mysys/mf_format.c:
  Remove QUOTE handling from fn_format()
  (fn_format() should not have anything to do with quoting things)
sql/log_event.cc:
  Removed some unnecessary casts (by changing functions to use const char *)
  Cleaned up some error messages to make them shorter and (hopefully) more readable.
  Fixed wrong format strings
  Restored 'thd->options' on error.
sql/mini_client.cc:
  Changed order of include files to remove compilation warning
sql/mysqld.cc:
  Add proper quoting of service arguments (don't use fn_format)
sql/slave.cc:
  Simple optimization and cleanup.
  Changed rewrite_db() and print_slave_db_safe() to use const char* to avoid casting of arguments when calling functions.
  Cleanup of some error messages.
sql/slave.h:
  Changed protypes to use const char *
sql/sql_acl.cc:
  Simple optimization
vio/viosslfactories.c:
  Changed order of include files to remove compilation warning
2003-08-07 20:16:37 +03:00
unknown
d8df84aa43 2 bugfixes:
- Bug #985: "Between RESET SLAVE and START SLAVE, SHOW SLAVE STATUS is wrong."
Now RESET SLAVE puts correct info in mi->host etc. A new test rpl_reset_slave
for that.
- Bug #986: "CHANGE MASTER & START SLAVE do not reset error columns in SHOW
SLAVE STATUS". Now these reset the errors.


mysql-test/r/rpl_loaddata.result:
  result update.
mysql-test/t/rpl_loaddata.test:
  Test that RESET SLAVE, START SLAVE and CHANGE MASTER all reset 
  Last_slave_error and Last_slave_errno (columns of SHOW SLAVE STATUS).
  We do it in this test because that's one of tests which have 
  an intentional query error on the slave.
sql/slave.cc:
  As we need TWICE the code to copy command-line options (--master-host etc)
  to mi (we already had it in init_master_info, but we also need it in RESET
  SLAVE to fix bug#985), I make a function of this code.
  And a function to reset Last_slave_error and Last_slave_errno (we need
  it in CHANGE MASTER, RESET SLAVE, and at the start of the SQL thread).
sql/slave.h:
  declarations for new functions.
sql/sql_repl.cc:
  copy --master-host etc to mi in RESET SLAVE, so that SHOW SLAVE STATUS
  shows correct information.
2003-08-04 10:59:44 +02:00
unknown
4acc45d784 manual merge
BitKeeper/etc/ignore:
  auto-union
BitKeeper/etc/logging_ok:
  auto-union
include/mysql.h:
  Auto merged
include/mysql_com.h:
  Auto merged
libmysql/libmysql.c:
  Auto merged
sql/item_create.cc:
  Auto merged
sql/item_create.h:
  Auto merged
sql/item_strfunc.cc:
  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/slave.h:
  Auto merged
sql/sql_acl.h:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql-common/client.c:
  Auto merged
sql/sql_parse.cc:
  merge commit
  convert of database to utf8 in case of cahnge_user added
2003-07-31 17:11:52 +04:00
unknown
ab34adf66a WL#1036 (print the db in slave error messages).
I extended the task to cleaning error messages, making them look nicer,
and making the output of SHOW SLAVE STATUS (column Last_error) be as complete
as what's printed on the .err file;
previously we would have, for a failure of a replicated LOAD DATA INFILE:
- in the .err, 2 lines:
"duplicate entry 2708 for key 1"
"failed loading SQL_LOAD-5-2-2.info"
- and in SHOW SLAVE STATUS, only:
"failed loading SQL_LOAD-5-2-2.info".
Now SHOW SLAVE STATUS will contain the concatenation of the 2 messages.


sql/log_event.cc:
  Print the default database when replication stops because of an error. Previously, we had:
  "error "Duplicate entry 87987 for key 1", query 'insert into t values(87987)'", ie the db
  was not mentioned, making it hard for cases where the same table name is used in
  several databases.
  Lengthened some error messages (for failing replication of LOAD DATA: mention the table
  and the db).
  Changes so that SHOW SLAVE STATUS reports as complete errors as the .err file.
sql/slave.cc:
  Removed a useless declaration (the rewrite_db() function is already declared in slave.h).
  Added missing ')' in error messages.
  Tried to make error messages look nicer (previously we had
  "do START SLAVE;, error_code=1062"
  now we'll have
  "do START SLAVE; . Error_code=1062".
  This form has been discussed, I agree it's no panacea, but it's still more readable
  like this. To be improved in the future :)
sql/slave.h:
  declarations.
2003-07-24 22:25:36 +02:00
unknown
dae34fb60f On Feb 4th, 2003, Monty said he would push my patch to print replicate-do-table
and other replicate-*-table options in SHOW SLAVE STATUS.
Seems like it had not been done, so I push it now:
there's 4 new columns to SHOW SLAVE STATUS.


mysql-test/r/rpl000015.result:
  Result update (more columns)
mysql-test/r/rpl_empty_master_crash.result:
  Result update (more columns)
mysql-test/r/rpl_flush_log_loop.result:
  Result update (more columns)
mysql-test/r/rpl_log.result:
  Result update (more columns)
mysql-test/r/rpl_log_pos.result:
  Result update (more columns)
mysql-test/r/rpl_redirect.result:
  Result update (more columns)
mysql-test/r/rpl_replicate_do.result:
  Result update (more columns)
mysql-test/r/rpl_rotate_logs.result:
  Result update (more columns)
mysql-test/t/rpl_replicate_do.test:
  Result update (more columns)
sql/slave.cc:
  Print replicate_*_table options in SHOW SLAVE STATUS
sql/slave.h:
  two functions to make a string of replicate_*_table lists.
2003-07-23 15:46:46 +02:00
unknown
573227ec73 SCRUM:
Task 499 'init_connect, init_slave options'


mysql-test/mysql-test-run.sh:
  Task 499 'init_connect, init_slave options'
  This change needs because mysql-test-run cuts string variable on first space
sql/mysql_priv.h:
  Task 499 'init_connect, init_slave options'
sql/mysqld.cc:
  Task 499 'init_connect, init_slave options'
sql/protocol.cc:
  Task 499 'init_connect, init_slave options'
sql/set_var.cc:
  Task 499 'init_connect, init_slave options'
sql/set_var.h:
  Task 499 'init_connect, init_slave options'
sql/slave.cc:
  Task 499 'init_connect, init_slave options'
sql/sql_class.cc:
  Task 499 'init_connect, init_slave options'
sql/sql_class.h:
  Task 499 'init_connect, init_slave options'
sql/sql_parse.cc:
  Task 499 'init_connect, init_slave options'
sql/sql_show.cc:
  Task 499 'init_connect, init_slave options'
2003-07-18 14:11:01 +05:00
unknown
128feded87 Better fix for bug #791: At binlog rotation, INSERTs may not find their way into the binlog
mysql-test/t/rpl_flush_log_loop.test:
  Add timer to avoid problem when 'flush logs' is executed before we have read all data from master
sql/log.cc:
  Better fix for bug #791:
  Mark log as LOG_TO_BE_OPENED instead of LOG_CLOSED when it's closed and opened.
sql/mysqld.cc:
  Better startup message
sql/slave.cc:
  Fix argument to close()
sql/sql_class.h:
  Better handling of log.close()
2003-07-14 14:59:26 +03:00
unknown
d974959b4f Fix for BUG#791:
a safer way of initing the mutexes in MYSQL_LOG.
is_open() is now always thread-safe.
See each file for details.


sql/handler.cc:
  is_open() with locks
sql/item_func.cc:
  is_open() with locks
sql/log.cc:
  No more 'inited'.
  We now always use is_open() in a thread-safe manner.
  This simplifies some functions (no more need to test is_open() twice).
sql/log_event.cc:
  is_open() with locks
sql/mysqld.cc:
  Init mutexes for the global MYSQL_LOG objects.
  We care about no_rotate, because we can't do it in open() anymore (because
  we don't have 'inited' anymore).
sql/repl_failsafe.cc:
  is_open() with locks
sql/slave.cc:
  init pthread objects (mutexes, conds) in the constructor of st_relay_log_info.
  Some better locking in rotate_relay_log().
sql/sql_base.cc:
  is_open() with locks
sql/sql_class.h:
  Before, we inited LOCK_log in MYSQL_LOG::open(), so in other places of the code
  when we were never 100% sure that it had been inited. For example, if the server
  was running without --log-bin, ::open() was not called so the mutex was not
  inited. We could detect it with !inited, but not safely as 'inited' was not
  protected by any mutex.
  So now:
  we *always* init the LOCK_log mutex, even if the log is not used. We can't init
  the mutex in MYSQL_LOG's constructor, because for global objects like
  mysql_bin_log, mysql_log etc, the constructor is called before MY_INIT(), but
  safe_mutex depends on MY_INIT(). So we have a new function MYSQL_LOG::init_pthread_objects
  which we call in main(), after MY_INIT().
  For the relay log, we call this function in the constructor of
  st_relay_log_info, which is called before any function tries to
  use the relay log (the relay log is always invoked as rli.relay_log).
  So now we should be safe in all cases and we don't need 'inited'.
sql/sql_db.cc:
  is_open() with locks
sql/sql_delete.cc:
  is_open() with locks
sql/sql_insert.cc:
  is_open() with locks
sql/sql_load.cc:
  is_open() with locks
sql/sql_parse.cc:
  is_open() with locks
sql/sql_rename.cc:
  is_open() with locks
sql/sql_repl.cc:
  is_open() with locks
sql/sql_table.cc:
  is_open() with locks
sql/sql_update.cc:
  is_open() with locks
2003-07-11 14:26:44 +02:00
unknown
3c268e59ec Cleanups
mysql-test/t/distinct.test:
  Cleanup
sql/log.cc:
  Cleanup
sql/slave.cc:
  Cleanup
sql/sql_delete.cc:
  Cleanup
sql/sql_parse.cc:
  Simple optimization
2003-07-09 00:55:07 +03:00
unknown
27601fc5ee WL#912 (more user control on relay logs):
FLUSH LOGS now rotates relay logs,
and a new variable max_relay_log_size.
Plus a very small bit of code cleaning.


libmysqld/lib_sql.cc:
  open_log has no default arguments anymore.
mysql-test/r/rpl_flush_log_loop.result:
  result update now that FLUSH LOGS rotates relay logs.
mysql-test/r/rpl_log.result:
  result update now that FLUSH LOGS rotates relay logs.
mysql-test/r/rpl_rotate_logs.result:
  result update now that max_binlog_size is 4096.
mysql-test/t/rpl_rotate_logs-master.opt:
  now max_binlog_size must be a multiple of 4096 (see change in mysqld.cc)
sql/log.cc:
  Got rid of default arguments of various MYSQL_LOG methods (the default arguments
  made code reading uneasy).
  Set max_size in ::init().
  New function set_max_size() to set max_size of a MYSQL_LOG on-the-fly.
  More DBUG info.
sql/mysql_priv.h:
  no defaults in open_log().
  New variables max_relay_log_size.
sql/mysqld.cc:
  New variable and option max_relay_log_size.
  max_binlog_size and max_relay_log_size are multiples of IO_SIZE.
  No more default arguments for log functions.
sql/set_var.cc:
  New variable max_relay_log_size.
  If it is 0, then max_binlog_size will apply to relay logs.
  When one of these variables is changed, fix_max_%log_size is called
  to update max_size of the binary and/or relay logs.
sql/slave.cc:
  New function rotate_relay_log().
sql/slave.h:
  New function rotate_relay_log().
sql/sql_class.h:
  New member max_size of MYSQL_LOG (for automatic rotation).
  New method set_max_size() for setting on-the-fly.
sql/sql_parse.cc:
  Flush the relay log in FLUSH LOGS.
2003-07-06 17:59:54 +02:00
unknown
e22a31f173 I committed the same changeset in my tree yesterday, but broke the tree since,
so I commit again in a fresh tree.
Fix for bug#763 (Relay_log_space too big by 4 bytes),
plus comments and DBUG_PRINT, and we don't start replication
if --bootstrap.


mysql-test/r/rpl_log.result:
  Result update
mysql-test/r/rpl_log_pos.result:
  Result update
sql/mysqld.cc:
  Don't start replication if in bootstrap mode (bootstrap isn't supposed to have
  several threads).
sql/slave.cc:
  Fix for bug 763 (Relay_log_space too big by 4 bytes).
  A DBUG_PRINT.
sql/sql_acl.cc:
  Replaced a return by DBUG_RETURN (happened to find this reading a debug log).
sql/sql_repl.cc:
  A comment.
2003-07-03 01:08:36 +02:00
unknown
c0eb448582 Added missing (char*) casts in bzero calls.
(Needed for platforms with the traditional bzero prototype.)
Fixes BUG#460.
2003-07-03 01:08:34 +02:00
unknown
dbb088b034 First version of new authentification procedure: now authentification is one-stage (instead of two-stage in 4.1)
For now following tasks have been done:
- PASSWORD() function was rewritten. PASSWORD() now returns SHA1
  hash_stage2; for new passwords user.password contains '*'hash_stage2; sql_yacc.yy also fixed; 

- password.c: new functions were implemented, old rolled back to 4.0 state

- server code was rewritten to use new authorization algorithm (check_user(), change
  user, and other stuff in sql/sql_parse.cc)

- client code was rewritten to use new authorization algorithm
  (mysql_real_connect, myslq_authenticate in sql-common/client.c)

- now server barks on 45-byte-length 4.1.0 passwords and refuses 4.1.0-style
  authentification. Users with 4.1.0 passwords are blocked (sql/sql_acl.cc)

- mysqladmin.c was fixed to work correctly with new passwords

Tests for 4.0-4.1.1, 4.1.1-4.1.1 (with or without db/password) logons was performed;
mysqladmin also was tested. Additional check are nevertheless necessary.


BitKeeper/etc/ignore:
  Added start_mysqld.sh mysys/main.cc to the ignore list
client/mysqladmin.c:
  fixed with new password api
include/mysql.h:
  So as scramble_323 accepts only null-terminated message, two scramble buffs are necessary.
  gotta be fixed
include/mysql_com.h:
  new constants and password.c api changes
libmysql/libmysql.c:
  mysql_change_user rewritten to work with new password api
scripts/mysql_create_system_tables.sh:
  fixed 'Password' column length to 41
scripts/mysql_fix_privilege_tables.sql:
  fixed 'Password' column length to 41
sql-common/client.c:
  mysql_real_connect rewritten to support new handshake procedure
sql/item_strfunc.cc:
  Item_func_password and Item_func_old_password rewritten with new password api
sql/item_strfunc.h:
  bit commented, numbers replaced with #defined constants
sql/mysql_priv.h:
  removed unnecessary declaration as now all constants defined is in mysql_com.h
sql/mysqld.cc:
  scramble initialization moved to sql_parce.cc:check_connection
sql/password.c:
  All 4.1 functions were rolled back to 4.0 with attempt to save all possible 4.0-4.1 changes.
  Names for 4.0 functions were suffixed with '_323'
  Functions for new handshake were added.
sql/slave.cc:
  Fixed to new constant; Bug #766 remains to be fixed
sql/slave.h:
  fixed to new constant; Buf #766 remains to be fixed
sql/sql_acl.cc:
  rewritten to support new passwords (41 byte-long) and password api
sql/sql_acl.h:
  ditto
sql/sql_class.cc:
  initialization for new members added
sql/sql_class.h:
  same thing as in struct mysql - scramble is used for new family of functions, scramble_323 - for old
sql/sql_parse.cc:
  check_connections was renamed to check_connection as this name reflects better what this function does
  authorization part of check_connection was rewritten
  check_user was rewritten with new password and acl api
  new function 'authenticate', which optionally re-request scramble from client was added
  fixed some typos
  COM_CHANGE_USER piece of dipsatch_command() was rewritten
sql/sql_repl.h:
  HASH_PASSWORD_LENGTH replaced with SCRAMBLED_PASSWORD_CHAR_LENGTH
  bug #766 remains
sql/sql_yacc.yy:
  Two-argument form of PASSWORD() was removed
  PASSWORD() function was fixed with new password api.
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2003-07-01 23:40:59 +04:00
unknown
bbf8ebe87d Code/testcase cleanups
mysql-test/r/insert_select.result:
  Fixed results
mysql-test/r/join_outer.result:
  New test case for inner join table dependency
mysql-test/t/insert_select.test:
  Remove not used drop tables.
  Fixed table names
mysql-test/t/join_outer.test:
  New test case for inner join table dependency
sql/slave.cc:
  Simple optimizations
2003-07-01 13:29:55 +03:00
unknown
fff1f663c2 Fixed some new memory leaks
Updated VC++ files


VC++Files/client/mysql.dsp:
  Update of VC++ files
VC++Files/client/mysqlclient.dsp:
  Update of VC++ files
VC++Files/libmysqld/examples/test_libmysqld.dsp:
  Update of VC++ files
VC++Files/libmysqld/libmysqld.def:
  Update of VC++ files
VC++Files/libmysqld/libmysqld.dsp:
  Update of VC++ files
VC++Files/myisam/myisam.dsp:
  Update of VC++ files
VC++Files/mysql.dsw:
  Update of VC++ files
VC++Files/sql/mysqld.dsp:
  Update of VC++ files
include/mysql.h:
  Add missing client functions to embedded server
libmysql/libmysql.def:
  sort functions to enable comparison with libmysqld.def
libmysqld/libmysqld.c:
  Add missing client functions to embedded server
libmysqld/libmysqld.def:
  sort functions to enable comparison with libmysql.def
  Added missing functions
myisam/mi_preload.c:
  Fixed compiler warning.
  Small code cleanup
scripts/make_win_src_distribution.sh:
  Fixed typo
  Don't run zip in verbose mode
scripts/mysql_create_system_tables.sh:
  Change so that localhost has full access (to make this like 4.0)
scripts/mysql_fix_privilege_tables.sh:
  Allow on to run this from the source distribution
sql-common/client.c:
  Fixed memory leak
sql/item_sum.cc:
  Removed compiler warning
sql/slave.cc:
  Cleanup
sql/sql_client.cc:
  Portability fix
sql/sql_help.cc:
  Fixed memory leak
2003-06-24 12:10:35 +03:00
unknown
68524c81fe Simple code cleanup
mysql-test/r/innodb.result:
  Fixed test case after innodb optimize->analyze fix
mysys/mf_pack.c:
  Added comments
sql/log_event.cc:
  Fixed usage of fn_format()
sql/slave.cc:
  Indentation fixes and comments cleanup
sql/sql_repl.cc:
  Comment cleanup
2003-06-23 20:05:54 +03:00
unknown
b518744d16 Changed change_master() to use ER_MASTER_INFO (better display).
mysql-test/r/rpl_rotate_logs.result:
  result update
mysql-test/t/rpl_rotate_logs.test:
  comments and test update with the error code
sql/slave.cc:
  A DBUG_PRINT
sql/sql_repl.cc:
  Use ER_MASTER_INFO instead of custom message and zero error code (which display
  badly).
2003-06-17 23:19:38 +02:00
unknown
366fd92e8d Fix for nightly build test failure (test update).
More messages.
Testcase for bug 651.


client/mysqltest.c:
  More explicit error message if MASTER_POS_WAIT() returns NULL.
mysql-test/r/rpl_loaddata.result:
  result update
mysql-test/r/rpl_master_pos_wait.result:
  result update
mysql-test/t/rpl000001.test:
  sync_with_master (=MASTER_POS_WAIT()) was called when we could expect the SQL slave thread had stopped.
  As I yesterday changed code so that "SQL thread stops => MASTER_POS_WAIT() returns NULL immediately" (bugfix),
  sync_with_master received NULL (on build.mysql.com, not on my machine; this is a question of milliseconds,
  if the slave server will process MASTER_POS_WAIT() before or after the slave SQL thread has stopped), and
  in mysqltest.c, sync_with_master complained that it could not sync.
  So I just remove this sync_with_master, which does not make sense anymore: we just wait for the slave SQL
  thread to stop.
mysql-test/t/rpl_loaddata.test:
  Discovered we had wait_for_slave_to_stop, so used it as it automates things.
mysql-test/t/rpl_master_pos_wait.test:
  Discovered we had 'send' to send a query without waiting for the resultn so could had a testcase for bug 651.
  Shorter timeouts as there is no risk the position is reached.
sql/slave.cc:
  A longer DBUG_PRINT.
2003-06-16 15:49:54 +02:00
unknown
292f91e83d Simplified a test.
thd->enter_cond() and exit_cond(), so that the I/O thread accepts to stop
when it's waiting for relay log space.
Reset ignore_log_space_limit to 0 when the SQL thread terminates.


mysql-test/r/rpl_relayspace.result:
  result update
mysql-test/t/rpl_relayspace-slave.opt:
  smaller relay_log_space_limit to speed up things.
mysql-test/t/rpl_relayspace.test:
  Less queries in the test, to make it simpler.
  Testcase if the IO thread blocked in wait_for_relay_log_space
  accepts to stop when STOP SLAVE.
sql/slave.cc:
  thd->enter_cond() and exit_cond(), so that the I/O thread accepts to stop
  when it's waiting on cond (waiting for relay log space).
  Reset ignore_log_space_limit to 0 when the SQL thread terminates.
2003-06-15 12:01:51 +02:00
unknown
58d679e34f - Fix for bug 651: now a dying SQL slave threads wakes up any waiting MASTER_POS_WAIT().
Could not add a testcase for this: if the test goes into a MASTER_POS_WAIT, it waits
until this terminates (even doing "connection other_con" to launch "stop slave" is blocked).
- In MASTER_POS_WAIT() don't test if the I/O slave is running, but if the SQL thread
is running.
- Some DBUG info for this bugfix.


sql/slave.cc:
  Fix for bug 651: now a dying SQL slave threads wakes up any waiting MASTER_POS_WAIT().
  In MASTER_POS_WAIT() don't test if the I/O slave is running, but if the SQL thread
  is running.
  Some DBUG info.
2003-06-14 16:40:00 +02:00
unknown
96d305f86f Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into narttu.mysql.fi:/my/mysql-4.1


client/mysql.cc:
  Auto merged
mysql-test/r/type_blob.result:
  Auto merged
sql/log.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/slave.cc:
  Auto merged
2003-06-14 11:38:09 +03:00
unknown
ccf59c3874 Cleanup after split of libmysql.c to client.c and libmysql.c. A 4.1 master/slave will now use the 4.1 protocol
Fixed wrong value for SQLSTATE_LENGTH
Added CLIENT_REMEMBER_OPTIONS to mysql_real_connect()
Changed mysql_port and mysql_unix_port to mysqld_xxxx


client/mysql.cc:
  Removed valgrind & compiler warnings
client/sql_string.h:
  Fix to remove valgrind warnings
include/mysql.h:
  Added read_timeout and write_timeout to mysql options struct.
  This is to be used for slave when connection to master.
  code cleanup
include/mysql_com.h:
  Fixed wrong value for SQLSTATE_LENGTH
  Added CLIENT_REMEMBER_OPTIONS
include/sql_common.h:
  Cleanup after split of libmysql.c to client.c and libmysql.c
include/sql_state.h:
  Removed default states
libmysql/client_settings.h:
  Cleanup after split of libmysql.c to client.c and libmysql.c
libmysql/libmysql.c:
  Cleanup after split of libmysql.c to client.c and libmysql.c
mysql-test/r/type_blob.result:
  Update results after someone updated error messages without running tests
mysys/charset.c:
  More debug information
mysys/errors.c:
  Fixed wrong error message
sql-common/client.c:
  Cleanup after split of libmysql.c to client.c and libmysql.c
sql/Makefile.am:
  Added sql_client.cc
sql/client_settings.h:
  Cleanup after split of libmysql.c to client.c and libmysql.c
sql/log.cc:
  Changed mysql_port and mysql_unix_port to mysqld_xxxx
sql/mysql_priv.h:
  Changed mysql_port and mysql_unix_port to mysqld_xxxx
sql/mysqld.cc:
  Changed mysql_port and mysql_unix_port to mysqld_xxxx
sql/protocol.cc:
  Fix for SQLSTATE_LENGTH
  Moved function to sql_client.c
sql/repl_failsafe.cc:
  Cleanup after split of libmysql.c to client.c and libmysql.c
sql/set_var.cc:
  Changed mysql_port and mysql_unix_port to mysqld_xxxx
sql/slave.cc:
  Cleanup after split of libmysql.c to client.c and libmysql.c
2003-06-14 11:37:42 +03:00
unknown
a921cb3174 See each file's changeset for details.
- Comments for future devs.
- Start_log_event::exec_event() : when we hit it, do a rollback.
- We don't need LOG_EVENT_FORCED_ROTATE_F.
- Stop_log_event::exec_event() : when we hit it, we needn't clean anything.
- Removed LOG_EVENT_TIME_F and LOG_EVENT_FORCED_ROTATE_F.
- We don't need Stop events in the relay log.
- Now filtering of server id is done in the I/O thread first.


sql/log.cc:
  We don't need LOG_EVENT_FORCED_ROTATE_F
sql/log_event.cc:
  - Comments for future devs.
  - Start_log_event::exec_event() : when we hit it, do a rollback. If the SQL
  thread was inside a transaction (for example, the master died while writing
  to the binlog, so did not commit (because we write to the binlog before committing),
  so will rollback), it's sensible to rollback. If we're not in a transaction,
  rollback will not hurt (it will do nothing).
  - We don't need LOG_EVENT_FORCED_ROTATE_F.
  - Stop_log_event::exec_event() : when we hit it, we needn't clean anything, because
  each threads has already written some cleaning statements (DROP TEMPORARY TABLE,
  DO RELEASE_LOCK); we still clean in Start_log_event::exec_event() (if 4.x).
sql/log_event.h:
  - Comments for future devs.
  - Removed LOG_EVENT_TIME_F and LOG_EVENT_FORCED_ROTATE_F.
sql/slave.cc:
  - We don't need Stop events in the relay log (see changeset's description about
  log_event.cc). So we can make event queuing (writing to the relay log) simpler.
  - Something that was marked TODO: now filtering of server id (if the server id
  of this event is the same as mine ignore it) is done in the I/O thread if
  the master is 4.x (it still also done in the SQL thread whatever the version of
  the master is, for safe upgrades). This saves disk space.
sql/slave.h:
  We don't need master_info.ignore_stop_event anymore, as we don't write Stop_event
  to the relay log anymore.
2003-06-12 16:20:31 +02:00
unknown
0880795793 More error messages. This is intended to help debugging; presently I have a
support issue with an unclear message which can have N reasons for appearing.
This should help us know at which point it failed, and get the errno when
my_open was involved (as the reason for the unclear message is often a
permission problem).
RESET SLAVE resets last_error and last_errno in SHOW SLAVE STATUS (without this,
rpl_loaddata.test, which is expected to generate an error in last_error, influenced
rpl_log_pos.test).
A small test update.
Added STOP SLAVE to mysql-test-run to get rid of several stupid error messages
which are printed while the master restarts and the slave attempts/manages to
connect to it and sends it nonsense binlog requests.


mysql-test/mysql-test-run.sh:
  Before running a test, stop slave threads if they exist (if they don't
  the script goes on fine). This also works fine with the manager.
  Before this change, when the master was stopped/restarted (which happened before
  the slave server was stopped/restarted), the slave threads
  noticed the stop (so printed an error message in slave.err), then managed to
  reconnect (to the new master, the one that is running for the _next_ test),
  and this reconnection had time to produce error messages (because, for example,
  the binlog the slave thread was asking had been deleted) before the slave server
  was killed. This change reduces by 10% (40 lines) slave.err in replication tests.
mysql-test/r/rpl000018.result:
  Result update.
mysql-test/t/rpl000018.test:
  This test does "show master logs" so should do "reset master" instead of
  relying on the previous tests.
sql/slave.cc:
  More error messages.
sql/sql_repl.cc:
  More error messages.
  RESET SLAVE resets last_error and last_errno in SHOW SLAVE STATUS.
2003-06-10 23:29:49 +02:00
unknown
a0120344b9 Fix for bug 254 :
we now make a distinction between if the master is < 3.23.57, 3.23 && >=57, and 4.x
(before the 2 3.23 were one). This is because in 3.23.57 we have a way to distinguish between
a Start_log_event written at server startup and one written at FLUSH LOGS, so we
have a way to know if the slave must drop old temp tables or not.
Change: mi->old_format was bool, now it's enum (to handle 3 cases). However, functions
which had 'bool old_format' as an argument have their prototypes unchanged, because
the old old_format == 0 now corresponds to the enum value BINLOG_FORMAT_CURRENT which
is equal to 0, so boolean tests are left untouched. The only case were we use mi->old_format
as an enum instead of casting it implicitly to a bool, is in Start_log_event::exec_event,
where we want to distinguish between the 3 possible enum values.


sql/log_event.cc:
  Fix for bug 254 :
  we now make a distinction between if the master is < 3.23.57, 3.23 && >=57, and 4.x
  (before the 2 3.23 were one), to know if the slave must drop old temp tables or not.
sql/slave.cc:
  Fix for bug 254 : mi->old_format is now enum.
  An unrelated comment.
sql/slave.h:
  fix for bug 254 : mi->old_format is now enum.
2003-06-06 16:41:28 +02:00
unknown
bd414c301c Test for bug 578. And a comment in slave.cc.
sql/slave.cc:
  Comment to remember that size of relay logs on disk is not the total size
  of the relay log.
2003-06-05 17:02:00 +02:00
unknown
64d11bb395 Merge with 4.0.13
BitKeeper/deleted/.del-internals.texi~62b6f580a41c2a43:
  Auto merged
innobase/os/os0file.c:
  Auto merged
innobase/srv/srv0srv.c:
  Auto merged
innobase/srv/srv0start.c:
  Auto merged
mysql-test/r/func_str.result:
  Auto merged
mysql-test/r/rpl_loaddata.result:
  Auto merged
mysql-test/t/rpl_loaddata.test:
  Auto merged
sql/handler.cc:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/net_serv.cc:
  Auto merged
sql/slave.cc:
  Auto merged
sql/sql_repl.cc:
  Auto merged
support-files/mysql.spec.sh:
  Auto merged
2003-06-05 17:33:38 +03:00
unknown
ad5e39bf12 merge with public tree
BitKeeper/etc/ignore:
  auto-union
BitKeeper/etc/logging_ok:
  auto-union
client/mysql.cc:
  Auto merged
configure.in:
  Auto merged
include/config-win.h:
  Auto merged
include/mysql.h:
  Auto merged
include/mysql_version.h.in:
  Auto merged
libmysqld/lib_sql.cc:
  Auto merged
mysql-test/r/alter_table.result:
  Auto merged
mysql-test/r/create.result:
  Auto merged
mysql-test/r/ctype_collate.result:
  Auto merged
mysql-test/r/innodb.result:
  Auto merged
mysql-test/r/show_check.result:
  Auto merged
mysql-test/r/subselect.result:
  Auto merged
mysql-test/r/type_blob.result:
  Auto merged
mysql-test/t/subselect.test:
  Auto merged
mysys/default.c:
  Auto merged
sql/Makefile.am:
  Auto merged
sql/field.cc:
  Auto merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_cmpfunc.cc:
  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/set_var.h:
  Auto merged
sql/slave.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_string.cc:
  Auto merged
sql/sql_string.h:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2003-06-05 00:12:45 +03:00
unknown
13f7e49494 Merge with 4.0.13
BitKeeper/etc/logging_ok:
  auto-union
BUILD/SETUP.sh:
  Auto merged
BitKeeper/deleted/.del-internals.texi~62b6f580a41c2a43:
  Auto merged
client/mysqltest.c:
  Auto merged
include/config-win.h:
  Auto merged
include/my_global.h:
  Auto merged
include/mysql_com.h:
  Auto merged
innobase/include/srv0srv.h:
  Auto merged
innobase/log/log0log.c:
  Auto merged
innobase/os/os0file.c:
  Auto merged
innobase/srv/srv0srv.c:
  Auto merged
innobase/srv/srv0start.c:
  Auto merged
innobase/ut/ut0mem.c:
  Auto merged
mysql-test/mysql-test-run.sh:
  Auto merged
mysql-test/r/alter_table.result:
  Auto merged
mysql-test/r/errors.result:
  Auto merged
mysql-test/r/loaddata.result:
  Auto merged
mysql-test/r/rpl_insert_id.result:
  Auto merged
mysql-test/r/rpl_loaddata.result:
  Auto merged
mysql-test/std_data/rpl_loaddata2.dat:
  Auto merged
mysql-test/t/alter_table.test:
  Auto merged
mysql-test/t/loaddata.test:
  Auto merged
mysql-test/t/query_cache.test:
  Auto merged
mysql-test/t/raid.test:
  Auto merged
mysql-test/t/rpl_insert_id.test:
  Auto merged
mysql-test/t/rpl_loaddata.test:
  Auto merged
sql/field.cc:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
sql/sql_cache.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
sql/time.cc:
  Auto merged
configure.in:
  No changes
libmysqld/lib_sql.cc:
  No changes
2003-06-04 19:21:51 +03:00