Commit graph

480 commits

Author SHA1 Message Date
unknown
00c41b2850 Fix to make Windows compilation smoother
VC++Files/innobase/innobase.dsp:
  non-existent file removed
client/mysql.cc:
  local opt_max_allowed_packet and opt_net_buffer_length introduced
client/mysqldump.c:
  local opt_max_allowed_packet and opt_net_buffer_length introduced
include/mysql.h:
  mysql_get_parameters() interface added
  #define max_allowed_packet added
include/mysql_com.h:
  these should not be exported
libmysql/libmysql.c:
  mysql_get_parameters implementations
libmysql/libmysql.def:
  interface changed
libmysql_r/Makefile.am:
  MYSQL_CLIENT define added
libmysqld/lib_sql.cc:
  line moved to be above the '#include "mysql.cc"'
libmysqld/libmysqld.c:
  mysql_get_parameters implementation (embedded)
libmysqld/libmysqld.def:
  interface changed
sql/log_event.cc:
  should be like that in this case
tools/mysqlmanager.c:
  compiler warns on this line
2004-05-26 21:40:27 +05:00
unknown
f8866c162b Merging 4.1 to 5.0.
BitKeeper/etc/ignore:
  auto-union
BitKeeper/etc/logging_ok:
  auto-union
client/mysqltest.c:
  Auto merged
configure.in:
  Auto merged
include/my_sys.h:
  Auto merged
include/mysql_com.h:
  Auto merged
libmysql/libmysql.c:
  Auto merged
libmysqld/Makefile.am:
  Auto merged
libmysqld/lib_sql.cc:
  Auto merged
myisam/mi_check.c:
  Auto merged
myisam/myisamchk.c:
  Auto merged
myisam/myisamdef.h:
  Auto merged
mysql-test/r/func_group.result:
  Auto merged
mysql-test/r/func_time.result:
  Auto merged
mysql-test/r/null.result:
  Auto merged
mysql-test/r/query_cache.result:
  Auto merged
mysql-test/r/rpl_server_id2.result:
  Auto merged
mysql-test/r/select.result:
  Auto merged
mysql-test/r/subselect.result:
  Auto merged
mysql-test/r/variables.result:
  Auto merged
mysql-test/t/rpl000015.test:
  Auto merged
mysql-test/t/rpl_error_ignored_table.test:
  Auto merged
mysql-test/t/rpl_log.test:
  Auto merged
mysql-test/t/rpl_log_pos.test:
  Auto merged
mysql-test/t/rpl_max_relay_size.test:
  Auto merged
mysql-test/t/rpl_relayrotate.test:
  Auto merged
mysql-test/t/rpl_rotate_logs.test:
  Auto merged
mysql-test/t/rpl_server_id2.test:
  Auto merged
mysql-test/t/subselect.test:
  Auto merged
mysql-test/t/variables.test:
  Auto merged
mysys/my_pthread.c:
  Auto merged
netware/BUILD/compile-netware-all:
  Auto merged
netware/BUILD/compile-netware-standard:
  Auto merged
netware/BUILD/mwenv:
  Auto merged
netware/Makefile.am:
  Auto merged
netware/my_manage.c:
  Auto merged
netware/my_manage.h:
  Auto merged
netware/mysql_test_run.c:
  Auto merged
scripts/mysql_install_db.sh:
  Auto merged
sql/Makefile.am:
  Auto merged
sql/ha_berkeley.cc:
  Auto merged
sql/ha_berkeley.h:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
sql/ha_innodb.h:
  Auto merged
sql/ha_myisam.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/handler.h:
  Auto merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_subselect.cc:
  Auto merged
sql/item_subselect.h:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/item_sum.h:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/lock.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/protocol.cc:
  Auto merged
sql/protocol.h:
  Auto merged
sql/repl_failsafe.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_cache.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_db.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_select.h:
  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_union.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
tests/client_test.c:
  Auto merged
2004-05-26 17:04:45 +02:00
unknown
3fba03f345 After merge fixes
mysql-test/r/type_float.result:
  Fix result after merge
sql/log_event.cc:
  Fixed typo
2004-05-17 11:22:30 +03:00
unknown
a495f76c8e Merge with 4.0.20
BitKeeper/etc/logging_ok:
  auto-union
client/mysql.cc:
  Auto merged
client/mysqltest.c:
  Auto merged
innobase/btr/btr0btr.c:
  Auto merged
innobase/dict/dict0dict.c:
  Auto merged
innobase/dict/dict0load.c:
  Auto merged
innobase/eval/eval0eval.c:
  Auto merged
innobase/ibuf/ibuf0ibuf.c:
  Auto merged
innobase/include/ut0mem.h:
  Auto merged
innobase/lock/lock0lock.c:
  Auto merged
innobase/row/row0ins.c:
  Auto merged
innobase/row/row0mysql.c:
  Auto merged
innobase/row/row0sel.c:
  Auto merged
innobase/row/row0umod.c:
  Auto merged
innobase/row/row0upd.c:
  Auto merged
innobase/trx/trx0trx.c:
  Auto merged
innobase/ut/ut0dbg.c:
  Auto merged
innobase/ut/ut0mem.c:
  Auto merged
myisam/mi_dynrec.c:
  Auto merged
mysql-test/r/innodb.result:
  Auto merged
mysql-test/t/fulltext.test:
  Auto merged
mysql-test/t/rpl_rotate_logs.test:
  Auto merged
scripts/make_binary_distribution.sh:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/slave.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_show.cc:
  Auto merged
innobase/os/os0file.c:
  Merge with 4.0.20
  Ensure that we call F_UNLCK for files on which we call F_WRLCK.
  This is to ensure that this code will be portable accross most platforms.
myisam/ft_boolean_search.c:
  Merge with 4.0.20 (keep original file)
myisam/ft_parser.c:
  Merge with 4.0.20 (keep original file)
myisam/ftdefs.h:
  Merge with 4.0.20 (keep original file)
2004-05-17 01:52:13 +03:00
unknown
7bd91ac065 Many files:
Fix remaining cases of Bug #3596: fix possible races caused by an obsolete value of thd->query_length in SHOW PROCESSLIST and SHOW INNODB STATUS; this fix depends on the fact that thd->query is always set to NULL before setting it to point to a new query


sql/sql_class.h:
  Fix remaining cases of Bug #3596: fix possible races caused by an obsolete value of thd->query_length in SHOW PROCESSLIST and SHOW INNODB STATUS; this fix depends on the fact that thd->query is always set to NULL before setting it to point to a new query
sql/ha_innodb.cc:
  Fix remaining cases of Bug #3596: fix possible races caused by an obsolete value of thd->query_length in SHOW PROCESSLIST and SHOW INNODB STATUS; this fix depends on the fact that thd->query is always set to NULL before setting it to point to a new query
sql/log_event.cc:
  Fix remaining cases of Bug #3596: fix possible races caused by an obsolete value of thd->query_length in SHOW PROCESSLIST and SHOW INNODB STATUS; this fix depends on the fact that thd->query is always set to NULL before setting it to point to a new query
sql/slave.cc:
  Fix remaining cases of Bug #3596: fix possible races caused by an obsolete value of thd->query_length in SHOW PROCESSLIST and SHOW INNODB STATUS; this fix depends on the fact that thd->query is always set to NULL before setting it to point to a new query
sql/sql_db.cc:
  Fix remaining cases of Bug #3596: fix possible races caused by an obsolete value of thd->query_length in SHOW PROCESSLIST and SHOW INNODB STATUS; this fix depends on the fact that thd->query is always set to NULL before setting it to point to a new query
sql/sql_parse.cc:
  Fix remaining cases of Bug #3596: fix possible races caused by an obsolete value of thd->query_length in SHOW PROCESSLIST and SHOW INNODB STATUS; this fix depends on the fact that thd->query is always set to NULL before setting it to point to a new query
sql/sql_show.cc:
  Fix remaining cases of Bug #3596: fix possible races caused by an obsolete value of thd->query_length in SHOW PROCESSLIST and SHOW INNODB STATUS; this fix depends on the fact that thd->query is always set to NULL before setting it to point to a new query
2004-05-14 16:48:56 +03:00
unknown
e9c1e75b48 Merge 4.1 -> 5.0
BitKeeper/etc/ignore:
  auto-union
BitKeeper/etc/logging_ok:
  auto-union
VC++Files/sql/mysqld.dsp:
  Auto merged
configure.in:
  Auto merged
include/my_global.h:
  Auto merged
include/mysql_com.h:
  Auto merged
libmysql/libmysql.c:
  Auto merged
libmysqld/Makefile.am:
  Auto merged
myisam/myisamchk.c:
  Auto merged
myisam/myisamdef.h:
  Auto merged
mysql-test/install_test_db.sh:
  Auto merged
mysql-test/r/func_time.result:
  Auto merged
mysql-test/r/mysqldump.result:
  Auto merged
mysql-test/r/show_check.result:
  Auto merged
mysql-test/r/subselect.result:
  Auto merged
mysql-test/r/union.result:
  Auto merged
mysql-test/t/func_time.test:
  Auto merged
mysql-test/t/subselect.test:
  Auto merged
scripts/make_binary_distribution.sh:
  Auto merged
scripts/mysql_install_db.sh:
  Auto merged
sql/ha_berkeley.cc:
  Auto merged
mysql-test/t/rpl_error_ignored_table.test:
  Auto merged
sql/ha_berkeley.h:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
sql/ha_innodb.h:
  Auto merged
sql/ha_myisam.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/handler.h:
  Auto merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/item_subselect.cc:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/item_sum.h:
  Auto merged
sql/lex.h:
  Auto merged
sql/log.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/protocol.cc:
  Auto merged
sql/records.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_acl.h:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_cache.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_db.cc:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_load.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_select.h:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_string.cc:
  Auto merged
sql/sql_test.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/table.h:
  Auto merged
tests/client_test.c:
  Auto merged
2004-05-07 18:52:06 +02:00
unknown
cd21f7ce40 Merge with 4.0.19
BitKeeper/etc/logging_ok:
  auto-union
VC++Files/client/mysqlclient.dsp:
  Auto merged
VC++Files/mysql.dsw:
  Auto merged
extra/perror.c:
  Auto merged
extra/replace.c:
  Auto merged
innobase/configure.in:
  Auto merged
innobase/include/lock0lock.h:
  Auto merged
innobase/include/row0mysql.h:
  Auto merged
innobase/include/sync0sync.h:
  Auto merged
innobase/lock/lock0lock.c:
  Auto merged
ltmain.sh:
  Auto merged
BitKeeper/deleted/.del-libmysqld.def~8edf7b8780ce943c:
  Auto merged
innobase/os/os0file.c:
  Auto merged
innobase/pars/lexyy.c:
  Auto merged
innobase/row/row0mysql.c:
  Auto merged
innobase/srv/srv0srv.c:
  Auto merged
innobase/srv/srv0start.c:
  Auto merged
innobase/sync/sync0arr.c:
  Auto merged
innobase/sync/sync0sync.c:
  Auto merged
innobase/trx/trx0trx.c:
  Auto merged
mysql-test/r/alias.result:
  Auto merged
mysql-test/t/system_mysql_db_fix-master.opt:
  Auto merged
mysql-test/r/func_time.result:
  Automatic merge
mysql-test/r/innodb.result:
  Automatic merge
mysql-test/t/alias.test:
  Automatic merge
mysql-test/t/create.test:
  Automatic merge
mysql-test/t/func_time.test:
  Automatic merge
sql/ha_innodb.cc:
  Automatic merge
sql/mysql_priv.h:
  Automatic merge
mysql-test/r/rpl_multi_update.result:
  Automatic merge
mysql-test/t/rpl_error_ignored_table.test:
  Automatic merge
mysql-test/t/rpl_multi_update.test:
  Automatic merge
sql/slave.h:
  Automatic merge
sql/sql_base.cc:
  Automatic merge
sql/sql_db.cc:
  Automatic merge
sql/sql_insert.cc:
  Automatic merge
sql/structs.h:
  Automatic merge
sql/table.cc:
  Automatic merge
strings/longlong2str-x86.s:
  Automatic merge
strings/strings-x86.s:
  Automatic merge
support-files/my-medium.cnf.sh:
  Automatic merge
2004-05-05 17:05:24 +03:00
unknown
ed3f472a12 Fix for Bug#3357 "If the statement is long, the error message is trunc and important info is lost";
in hard-coded replication messages, always put small-length info (error codes, explanation of the error) at the beginning,
so that it is not cut by truncation if the query is very long (which happens if the query goes first).


sql/log_event.cc:
  in hard-coded replication messages, always put small-length info (error codes, explanation of the error) at the beginning,
  so that it is not cut by truncation if the query is very long (which happens if the query goes first).
2004-05-04 15:48:40 +02:00
unknown
2eecc377a6 Post-merge fixes, some quite complex. client/mysqlbinlog.cc and sql/log_event.cc
merged manually by guilhem.


client/mysqlbinlog.cc:
  Post-merge fixes; manually merged by guilhem.
include/mysqld_error.h:
  Post-merge fixes.
mysql-test/r/drop_temp_table.result:
  Post-merge fixes.
mysql-test/r/insert.result:
  Post-merge fixes.
mysql-test/r/mysqlbinlog.result:
  Post-merge fixes.
mysql-test/r/query_cache.result:
  Post-merge fixes.
mysql-test/r/rpl_error_ignored_table.result:
  Post-merge fixes.
mysql-test/r/rpl_relayrotate.result:
  Post-merge fixes.
mysql-test/r/rpl_trunc_binlog.result:
  Post-merge fixes.
mysql-test/r/sp-error.result:
  Post-merge fixes.
mysql-test/r/sp.result:
  Post-merge fixes.
mysql-test/r/system_mysql_db.result:
  Post-merge fixes.
mysql-test/r/variables.result:
  Post-merge fixes.
mysql-test/t/rpl_error_ignored_table.test:
  Post-merge fixes.
mysql-test/t/sp-error.test:
  Post-merge fixes.
sql/ha_innodb.cc:
  Post-merge fixes.
sql/log_event.cc:
  Post-merge fixes; manually merged by guilhem.
sql/set_var.cc:
  Post-merge fixes.
sql/share/danish/errmsg.txt:
  Post-merge fixes.
sql/share/dutch/errmsg.txt:
  Post-merge fixes.
sql/share/english/errmsg.txt:
  Post-merge fixes.
sql/share/estonian/errmsg.txt:
  Post-merge fixes.
sql/sp.cc:
  Post-merge fixes.
sql/sql_insert.cc:
  Post-merge fixes.
sql/sql_table.cc:
  Post-merge fixes.
2004-04-28 12:08:54 +02:00
unknown
1065f2bbd6 Merge with 4.0
innobase/dict/dict0boot.c:
  Auto merged
innobase/dict/dict0load.c:
  Auto merged
innobase/dict/dict0mem.c:
  Auto merged
innobase/fut/fut0lst.c:
  Auto merged
innobase/include/buf0lru.h:
  Auto merged
innobase/include/dict0mem.h:
  Auto merged
innobase/include/fsp0fsp.h:
  Auto merged
innobase/include/ha0ha.h:
  Auto merged
innobase/include/ibuf0ibuf.h:
  Auto merged
innobase/include/lock0lock.h:
  Auto merged
innobase/include/log0log.h:
  Auto merged
innobase/include/mem0pool.h:
  Auto merged
innobase/include/mtr0mtr.h:
  Auto merged
innobase/include/os0file.h:
  Auto merged
innobase/include/rem0rec.h:
  Auto merged
innobase/include/rem0rec.ic:
  Auto merged
innobase/include/srv0srv.h:
  Auto merged
innobase/include/sync0sync.h:
  Auto merged
innobase/include/trx0sys.h:
  Auto merged
innobase/include/ut0byte.h:
  Auto merged
innobase/include/ut0ut.h:
  Auto merged
innobase/mem/mem0pool.c:
  Auto merged
innobase/mtr/mtr0mtr.c:
  Auto merged
innobase/os/os0proc.c:
  Auto merged
innobase/pars/lexyy.c:
  Auto merged
innobase/pars/pars0opt.c:
  Auto merged
innobase/row/row0ins.c:
  Auto merged
innobase/row/row0purge.c:
  Auto merged
innobase/row/row0uins.c:
  Auto merged
innobase/row/row0umod.c:
  Auto merged
innobase/row/row0undo.c:
  Auto merged
innobase/row/row0upd.c:
  Auto merged
innobase/trx/trx0purge.c:
  Auto merged
innobase/trx/trx0roll.c:
  Auto merged
innobase/trx/trx0sys.c:
  Auto merged
innobase/trx/trx0undo.c:
  Auto merged
innobase/ut/ut0byte.c:
  Auto merged
pstack/bucomm.h:
  Auto merged
pstack/budbg.h:
  Auto merged
sql/item_sum.h:
  Auto merged
sql/slave.cc:
  Auto merged
sql/sql_db.cc:
  Auto merged
support-files/mysql.spec.sh:
  Auto merged
tests/insert_test.c:
  Auto merged
mysql-test/t/func_group.test:
  Merge with 4.0
  Put 4.1 tests lasts
sql/ha_innodb.cc:
  Merge with 4.0
  Added checking of results from my_malloc()
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2004-04-26 15:53:31 +03:00
unknown
726917a28e Fix for BUG#3415 "mysqlbinlog loses a USE command when LOAD DATA INFILE is involved":
if you are printing LOAD DATA INFILE and its USE as comments, don't update 'last_db' (because you
have not actually changed the db in the server).


sql/log_event.cc:
  if you are printing LOAD DATA INFILE and its USE as comments, don't update 'last_db' (because you
  have not actually changed the db in the server).
2004-04-07 18:34:31 +02:00
unknown
0948f9769b Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-ps3-4.1


mysql-test/r/union.result:
  Auto merged
sql/item.cc:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/item_sum.h:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/slave.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_cache.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2004-04-07 15:23:05 +03:00
unknown
08594c4795 after review changes
sql/log_event.cc:
  non_cachable_table flag changed to cacheable_table
sql/repl_failsafe.cc:
  non_cachable_table flag changed to cacheable_table
sql/slave.cc:
  non_cachable_table flag changed to cacheable_table
sql/sql_acl.cc:
  non_cachable_table flag changed to cacheable_table
sql/sql_base.cc:
  non_cachable_table flag changed to cacheable_table
sql/sql_cache.cc:
  non_cachable_table flag changed to cacheable_table
sql/sql_help.cc:
  non_cachable_table flag changed to cacheable_table
sql/sql_insert.cc:
  non_cachable_table flag changed to cacheable_table
sql/sql_parse.cc:
  non_cachable_table flag changed to cacheable_table
sql/sql_prepare.cc:
  renamed DEBUG tag
sql/table.h:
  non_cachable_table flag changed to cacheable_table
2004-04-07 13:25:24 +03: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
24148f04c7 merge fixes (use old code)
client/mysqladmin.c:
  Auto merged
client/mysqltest.c:
  Auto merged
innobase/dict/dict0dict.c:
  Auto merged
innobase/include/os0file.h:
  Auto merged
innobase/os/os0file.c:
  Auto merged
myisam/mi_check.c:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_cache.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_select.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2004-03-18 00:16:04 +02: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
80057de54e Merge miguel@bk-internal.mysql.com:/home/bk/mysql-4.1
into hegel.local:/home/miguel/bk/mysql-4.1


sql/log_event.cc:
  Auto merged
2004-03-16 15:55:51 -03:00
unknown
1bc8817d93 Cast for VC++ compiler errors
sql/log_event.cc:
  Cast for VC++ compiler error
sql/opt_range.cc:
  Cast for VC++ compiler error
2004-03-12 18:05:51 -03: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
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
b2147e2563 Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/my/mysql-4.0


sql/log_event.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
2004-03-10 13:48:41 +02: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
d44d6976d0 Fix for BUG#3081 "if an INSERT DELAYED is killed, it is binlogged as killed but it's not needed".
INSERT DELAYED works only for one-row inserts (in latest 4.0 versions
at least). So killing a delayed_insert thread does not spoil replication:
the rows which actually went into the table are exactly those listed
in the binlog. So when the delayed_insert thread is killed, don't log
it as 'killed', because it causes superfluous stops on the slave.


sql/log_event.cc:
  INSERT DELAYED works only for one-row inserts (in latest 4.0 versions
  at least). So killing a delayed_insert thread does not spoil replication:
  the rows which actually went into the table are exactly those listed
  in the binlog. So when the delayed_insert thread is killed, don't log
  it as 'killed', because it causes superfluous stops on the slave.
2004-03-08 14:47:13 +01:00
unknown
12ede13a97 Fix for BUG#3015
"(binlog, position) stored by InnoDB for a replication slave can be wrong".
This code contains conditional #if to distinguish between versions;
it should be merged into 4.1 and 5.0.


sql/ha_innodb.cc:
  correcting the binlog position stored in InnoDB in a slave.
sql/log_event.cc:
  better code to store the binlog position in InnoDB for a slave.
sql/slave.h:
  Better code for storing the binlog position in InnoDB for a slave.
2004-03-01 15:15:58 +01:00
unknown
bf53c87049 Fix for BUG#3017
"wrong Relay_Log_Pos if Rotate is in the middle of a transaction in relay log"
increment 'pending' instead of 'relay_log_pos'.


mysql-test/r/rpl_trunc_binlog.result:
  result update
sql/log_event.cc:
  - corrected error message
  - in Rotate_log_event::exec_event(), if we're in a transaction (which
  can happen if the I/O slave thread reconnected while reading a
  transaction), don't increment relay_log_pos but pending instead.
  Otherwise, relay_log_pos becomes garbage (and so if slave stops at that
  moment, it will never restart).
2004-03-01 00:46:31 +01:00
unknown
588b8b9310 Changes to fix errors encountered in test builds on Windows.
VC++Files/innobase/innobase.dsp:
  odbc0odbc.c was removed from the tree.
VC++Files/libmysql/libmysql.dsp:
  strxnmov.c is needed in this module.
sql/log_event.cc:
  Cast required to resolve compile error on Windows - byte * is 
  not equivalent to char *.
sql/opt_range.cc:
  Cast to const char * required to resolve compile error on Windows.
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2004-02-27 16:51:01 +01:00
unknown
ae7eec928c revision of fix_fields() calls (BUG2838)
mysql-test/r/subselect.result:
  test suite for BUG#2838
mysql-test/t/subselect.test:
  test suite for BUG#2838
sql/item.cc:
  revision of fix_fields() calls
  removed unnecessary variabl, and used correct last parameter of fix_fields()
sql/item_cmpfunc.cc:
  revision of fix_fields() calls (BUG#2838)
sql/item_func.cc:
  revision of fix_fields() calls
sql/item_row.cc:
  changed for efficience (and to be similar for Item_func::fix_fields)
sql/item_subselect.cc:
  fixed last arguments for fix_fields call
sql/item_sum.cc:
  layout fixed
  revision of fix_fields() calls
sql/log_event.cc:
  revision of fix_fields() calls
sql/set_var.cc:
  revision of fix_fields() calls
sql/sql_base.cc:
  revision of fix_fields() calls
sql/sql_class.cc:
  revision of fix_fields() calls
sql/sql_handler.cc:
  revision of fix_fields() calls
2004-02-18 01:08:52 +02:00
unknown
d00fbce308 Merge with 4.0 to get fix for mysqlbinlog
mysql-test/r/mysqlbinlog.result:
  Auto merged
mysql-test/r/select_found.result:
  Auto merged
mysql-test/t/select_found.test:
  Auto merged
sql/log_event.h:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/sql_load.cc:
  Auto merged
support-files/mysql.spec.sh:
  Auto merged
client/mysqlbinlog.cc:
  Merge with 4.0
configure.in:
  Merge with 4.0
mysql-test/r/range.result:
  Use local file
mysql-test/t/range.test:
  Use local file
sql/share/english/errmsg.txt:
  Use local file
2004-02-16 10:15:52 +02:00
unknown
a07e48eca0 After merge fixes
Added more DBUG statements
Ensure that we are comparing end space with BINARY strings
Use 'any_db' instead of '' to mean any database. (For HANDLER command)
Only strip ' ' when comparing CHAR, not other space-like characters (like \t)


BitKeeper/deleted/.del-ctype_tis620.result-old~3578ceb0b8284685:
  Delete: mysql-test/r/ctype_tis620.result-old
BitKeeper/deleted/.del-ctype_tis620.test-old~ffb1bbd2935d1aba:
  Delete: mysql-test/t/ctype_tis620.test-old
client/mysqlbinlog.cc:
  Added DBUG statements
  Added call of my_end() to free all used memory on exit
heap/hp_info.c:
  After merge fixes
heap/hp_open.c:
  After merge fixes
include/heap.h:
  After merge fixes
include/m_ctype.h:
  Use pchar instead of 'int' for character parameters.
  Added 'my_binary_compare()'
include/m_string.h:
  Fixed wrong define
innobase/ibuf/ibuf0ibuf.c:
  After merge fixes
innobase/srv/srv0start.c:
  After merge fixes
mysql-test/r/alter_table.result:
  Fixed results after merge
mysql-test/r/auto_increment.result:
  Fixed results after merge
mysql-test/r/bdb.result:
  Fixed results after merge
mysql-test/r/binary.result:
  Fixed results after merge
mysql-test/r/create.result:
  Fixed results after merge
mysql-test/r/ctype_mb.result:
  Fixed results after merge
mysql-test/r/ctype_tis620.result:
  Fixed results after merge
mysql-test/r/ctype_utf8.result:
  Fixed results after merge
mysql-test/r/delete.result:
  Fixed results after merge
mysql-test/r/func_compress.result:
  Fixed results after merge
mysql-test/r/func_gconcat.result:
  Fixed results after merge
mysql-test/r/func_group.result:
  Fixed results after merge
mysql-test/r/func_str.result:
  Fixed results after merge
mysql-test/r/innodb.result:
  Fixed results after merge
mysql-test/r/insert.result:
  Fixed results after merge
mysql-test/r/insert_select.result:
  Fixed results after merge
mysql-test/r/key.result:
  Fixed results after merge
mysql-test/r/loaddata.result:
  Fixed results after merge
mysql-test/r/lock.result:
  Fixed results after merge
mysql-test/r/myisam.result:
  Fixed results after merge
mysql-test/r/null.result:
  Fixed results after merge
mysql-test/r/null_key.result:
  Fixed results after merge
mysql-test/r/order_by.result:
  Fixed results after merge
mysql-test/r/query_cache.result:
  Fixed results after merge
mysql-test/r/range.result:
  Fixed results after merge
mysql-test/r/rpl_multi_delete.result:
  Fixed results after merge
mysql-test/r/rpl_until.result:
  Fixed results after merge
mysql-test/r/subselect.result:
  Fixed results after merge
mysql-test/r/subselect_innodb.result:
  Fixed results after merge
mysql-test/r/type_blob.result:
  Fixed results after merge
mysql-test/r/type_datetime.result:
  Fixed results after merge
mysql-test/r/type_decimal.result:
  Fixed results after merge
mysql-test/r/type_enum.result:
  Fixed results after merge
mysql-test/r/type_float.result:
  Fixed results after merge
mysql-test/r/type_ranges.result:
  Fixed results after merge
mysql-test/r/type_time.result:
  Fixed results after merge
mysql-test/r/type_timestamp.result:
  Fixed results after merge
mysql-test/r/type_uint.result:
  Fixed results after merge
mysql-test/r/type_year.result:
  Fixed results after merge
mysql-test/r/variables.result:
  Fixed results after merge
mysql-test/r/warnings.result:
  Fixed results after merge
mysql-test/t/case.test:
  Fixed shifted error messages
mysql-test/t/create.test:
  Fixed shifted error messages
mysql-test/t/ctype_collate.test:
  Fixed shifted error messages
mysql-test/t/ctype_tis620.test:
  Merge with 4.0 ctype_tis620 test
mysql-test/t/delete.test:
  Fixed shifted error messages
mysql-test/t/derived.test:
  Fixed shifted error messages
mysql-test/t/fulltext.test:
  Fixed shifted error messages
mysql-test/t/func_in.test:
  Fixed shifted error messages
mysql-test/t/func_str.test:
  Fixed shifted error messages
mysql-test/t/func_test.test:
  Fixed shifted error messages
mysql-test/t/grant.test:
  Fixed shifted error messages
mysql-test/t/innodb.test:
  Change to 4.1 syntax
mysql-test/t/key_cache.test:
  Fixed shifted error messages
mysql-test/t/myisam.test:
  New test of blob and end space
mysql-test/t/row.test:
  Fixed shifted error messages
mysql-test/t/rpl_until.test:
  Fixed shifted error messages
mysql-test/t/subselect.test:
  Fixed shifted error messages
mysql-test/t/subselect_innodb.test:
  Fix test to take into account foreign key constraints
mysql-test/t/union.test:
  Fixed shifted error messages
mysql-test/t/user_var.test:
  Fixed shifted error messages
mysql-test/t/variables.test:
  Fixed shifted error messages
mysys/my_handler.c:
  Merge with 4.0 code
sql/ha_heap.cc:
  After merge fixes
sql/handler.cc:
  After merge fixes
sql/item.cc:
  After merge fixes
sql/item_cmpfunc.cc:
  Ensure that we are comparing end space with BINARY strings
sql/item_cmpfunc.h:
  Ensure that we are comparing end space with BINARY strings
sql/log_event.cc:
  More DBUG statements
  Ensure that we use all options to LOAD DATA in replication
sql/opt_range.cc:
  After merge fixes
sql/sql_db.cc:
  After merge fixes
sql/sql_handler.cc:
  After merge fixes
  Use 'any_db' instead of '' to mean 'no database comparison'
sql/sql_parse.cc:
  After merge fixes
sql/sql_select.cc:
  After merge fixes
  Added function comment for setup_group()
sql/sql_string.cc:
  Added stringcmp() for binary comparison.
  Added function comments for sortcmp() and stringcmp()
sql/sql_string.h:
  Added stringcmp()
sql/sql_table.cc:
  After merge fixes
sql/sql_update.cc:
  After merge fixes
sql/sql_yacc.yy:
  Use 'any_db' instead of '' to mean any database. Using "" causes a 'wrong db name' error.
strings/ctype-big5.c:
  Strip only end space, not other space characters.
strings/ctype-bin.c:
  Removed some not needed functions.
  Added function comments
  Don't remove end space in comparisons
  Change my_wildcmp_bin() to be 'identical' with other similar code
strings/ctype-czech.c:
  Strip only end space, not other space characters.
strings/ctype-gbk.c:
  Strip only end space, not other space characters.
strings/ctype-latin1.c:
  Strip only end space, not other space characters.
strings/ctype-mb.c:
  Strip only end space, not other space characters.
strings/ctype-simple.c:
  Strip only end space, not other space characters.
strings/ctype-sjis.c:
  Strip only end space, not other space characters.
strings/ctype-tis620.c:
  Added usage of my_instr_simple. This needs to be cleaned up!
strings/ctype-utf8.c:
  Strip only end space, not other space characters.
strings/ctype-win1250ch.c:
  Strip only end space, not other space characters.
  Fixed indentation
strings/strto.c:
  Code cleanup
2004-02-16 10:03:25 +02:00
unknown
0a95bda23a Always use libtool with "--preserve-dup-deps"
Always use all LOAD DATA options in replication.
Fixed problem in mysqlbinlog where LOAD DATA options could be overwritten.


client/mysqlbinlog.cc:
  Ensure that we don't call init_dynamic_array() before my_init() has been done
configure.in:
  Always use libtool with "--preserve-dup-deps" to prevent link problems with g++
mysql-test/r/mysqlbinlog.result:
  new results
mysql-test/r/range.result:
  new results
mysql-test/t/range.test:
  add missing DROP TABLE
sql/log_event.cc:
  Always use all LOAD DATA options. This is needed to handle commands of type "FIELDS TERMINATED BY ''"
  Allocate memory for Create_file_log_event options as these may be overwritten in mysqlbinlog
sql/log_event.h:
  Free buffer
2004-02-13 16:05:09 +02: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
7db76e5a16 fixed bug #1378 "mysqlbinlog for remote host is broken"
client/mysqlbinlog.cc:
  fixed bug #1378 "mysqlbinlog for remote host is broken"
  by using shared part of code for local and remote variant 
  (function process_event)
mysql-test/r/mysqlbinlog.result:
  fixed results for remote variant 
  (they are the same as for local now)
mysql-test/t/mysqlbinlog.test:
  discarded note 'V. Vagin should ...' 
  because V.Vagin done
sql/log_event.cc:
  added special local_fname flag to Load_log_event for 
  using in Load_log_event::check_fname_outside_temp_buf 
  instead of ugly condition
sql/log_event.h:
  added special local_fname flag to Load_log_event for 
  using in Load_log_event::check_fname_outside_temp_buf 
  instead of ugly condition
2004-02-06 20:57:11 +04:00
unknown
f138cd1015 Fix for BUG#2542 "If slave ignores a query it may make the next LOAD DATA INFILE fail":
reset errors (in thd) before executing the event. Otherwise if an event is ignored
because of replicate-*-table rules (error ER_SLAVE_IGNORED_TABLE) this error code
may remain in thd->net and the next event may pick it. 


sql/log_event.cc:
  Reset errors (in thd) before executing the event. Otherwise if an event is ignored
  because of replicate-*-table rules (error ER_SLAVE_IGNORED_TABLE) this error code
  may remain in thd->net and the next event may pick it.
2004-01-28 15:26:01 +01:00
unknown
9385323db8 Merge mysql.com:/my/mysql-4.1 into mysql.com:/my/mysql-5.0
client/mysqltest.c:
  Auto merged
sql/filesort.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
2003-12-21 19:43:23 +02:00
unknown
46a9b87a0e Fixed bug in replacation for not x86 platforms
Portability fixes


mysql-test/r/rpl_relayrotate.result:
  Portability fix
mysql-test/t/rpl_relayrotate.test:
  Portability fix.
sql/log_event.cc:
  Removed ++ from uint4korr() becasue this caused side effects
sql/uniques.cc:
  Removed not used argument to get_merge_buffers_cost()
  Removed wrong cast which caused compiler failures
  Cast arguments to ceil() to double (portability problem)
2003-12-21 19:41:34 +02:00
unknown
d31c6628e1 Portability fixes found during 5.0 test compilation
Fixed bug in ORDER BY on a small column (Bug #2147)
Fixed error from pthread_mutex_destroy() when one had wrong errmsg file



client/mysqltest.c:
  Added handling of error on query send
  (Needed for init_connection.test)
mysql-test/mysql-test-run.sh:
  Added tracing of mysqldump and mysqlbinlog
mysql-test/r/init_connect.result:
  Updated tests
mysql-test/r/order_by.result:
  Added test for bug filesort bug
mysql-test/t/init_connect-master.opt:
  Added proper quoting (for Solaris and OSF)
mysql-test/t/init_connect.test:
  Portability fix
mysql-test/t/order_by.test:
  Added test for bug #2147 (bug in filesort)
sql/filesort.cc:
  Fixed bug in filesort (Bug #2147)
sql/item.h:
  Clear 'fixed' on cleanup (For prepared statements)
sql/item_func.cc:
  Protect mutex destroy.
  (Fixed error from pthread_mutex_destroy() when one had wrong errmsg file)
sql/log_event.cc:
  Portability fix
sql/sql_class.h:
  Fixed compiler warning
sql/sql_prepare.cc:
  Portability fix. (Some compilers doesn't support jump over variables declared in for())
2003-12-21 19:39:32 +02:00
unknown
4f72061f40 Update for VC++
(Fixed project files, compiler warnings etc..)


BitKeeper/etc/ignore:
  added mysql_priv.h
VC++Files/libmysqld/libmysqld.dsp:
  Update for VC++to
VC++Files/sql/mysqld.dsp:
  Update for VC++
client/mysqlbinlog.cc:
  Remove not used variable
sql-common/client.c:
  Fix for compilation with VC++
sql/filesort.cc:
  Remove not used variable
sql/item_timefunc.cc:
  Fixed compiler warnings
sql/log_event.cc:
  Fixed compiler warnings
  - One can't portable allocate an stack-array dynamicly
  - Changed sql_mode to ulong to match THD.variables.sql_mode (If they are not the same we get a lot of compiler warnings)
sql/log_event.h:
  Changed sql_mode to ulong to match THD.variables.sql_mode (If they are not the same we get a lot of compiler warnings)
sql/sp.cc:
  sql_mode to ulong
  Don't use strcpy
  Replaced sprintf() with strmov
sql/sp_cache.cc:
  Fixed compiler warning
sql/sp_head.cc:
  Removed not used variable
sql/sp_rcontext.cc:
  Removed not used variable
sql/sp_rcontext.h:
  Fixed compiler warning
sql/sql_class.cc:
  Portability fix
sql/sql_delete.cc:
  Fixed compiler warning
sql/sql_insert.cc:
  Fixed compiler warning
sql/sql_update.cc:
  Fixed compiler warning
2003-12-21 02:07:45 +02:00
unknown
bc3cbfbc7b Now merge is done.
For previous commit I had run only rpl* tests, here the other ones had a 
few surprises. Latest status:
- all tests pass
- all replication tests pass with Valgrind
This is the final-final commit & push.
Doc remains.


client/mysqlbinlog.cc:
  Making remote mysqlbinlog work with the new format of 5.0.0, and still be 
  able to talk to older servers.
  This is a quickfix, but now mysqlbinlog.test passes (mysqlbinlog seems to
  work in Valgrind, too).
mysql-test/r/drop_temp_table.result:
  result update
mysql-test/r/insert_select.result:
  result update
mysql-test/r/mix_innodb_myisam_binlog.result:
  result update
mysql-test/r/mysqlbinlog.result:
  result update
mysql-test/t/mix_innodb_myisam_binlog.test:
  position update
mysql-test/t/mysqlbinlog.test:
  position update
sql/log_event.cc:
  a comment (noticed the problem by watching the results of
  mix_innodb_myisam_binlog.test)
2003-12-20 00:38:30 +01:00
unknown
5084b6b701 Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/mysql_src/mysql-5.0-new-binlog-format


include/my_sys.h:
  Auto merged
mysql-test/r/rpl_max_relay_size.result:
  Auto merged
mysql-test/r/rpl_rotate_logs.result:
  Auto merged
mysql-test/r/rpl_trunc_binlog.result:
  Auto merged
mysql-test/t/rpl_log_pos.test:
  Auto merged
mysql-test/t/rpl_max_relay_size.test:
  Auto merged
mysql-test/t/rpl_rotate_logs.test:
  Auto merged
mysql-test/t/rpl_trunc_binlog.test:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
sql/log.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/log_event.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/slave.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_repl.cc:
  Auto merged
2003-12-19 23:05:07 +01:00
unknown
62554f812e This is the final commit for Worklog tasks:
* A more dynamic binlog format which allows small changes (1064)
   * Log session variables in Query_log_event (1063)
It contains a few bugfixes (which I made when running the testsuite).
I carefully updated the results of the testsuite (i.e. I checked for every one,
if the difference between .reject and .result could be explained).
Apparently mysql-test-run --manager is broken in 4.1 and 5.0 currently,
so I could neither run the few tests which require --manager, nor check
that they pass nor modify their .result. But for builds, we don't run
with --manager.
Apart from --manager, the full testsuite passes, with Valgrind too (no errors).
I'm going to push in the next minutes. Remains: update the manual.
Note: by chance I saw that (in 4.1, in 5.0) rpl_get_lock fails when run alone;
this is normal at it makes assumptions on thread ids. I will fix this one day
in 4.1.


mysql-test/r/rpl000015.result:
  result update
mysql-test/r/rpl_change_master.result:
  result update
mysql-test/r/rpl_error_ignored_table.result:
  result update
mysql-test/r/rpl_flush_log_loop.result:
  result update
mysql-test/r/rpl_flush_tables.result:
  result update
mysql-test/r/rpl_loaddata.result:
  result update
mysql-test/r/rpl_loaddata_rule_m.result:
  result update
mysql-test/r/rpl_loaddata_rule_s.result:
  result update
mysql-test/r/rpl_log.result:
  result update
mysql-test/r/rpl_log_pos.result:
  result update
mysql-test/r/rpl_max_relay_size.result:
  result update
mysql-test/r/rpl_relayrotate.result:
  result update
mysql-test/r/rpl_replicate_do.result:
  result update
mysql-test/r/rpl_reset_slave.result:
  result update
mysql-test/r/rpl_rotate_logs.result:
  result update
mysql-test/r/rpl_session_var.result:
  result update
mysql-test/r/rpl_temporary.result:
  result update
mysql-test/r/rpl_trunc_binlog.result:
  result update
mysql-test/r/rpl_until.result:
  result update
mysql-test/r/rpl_user_variables.result:
  result update
mysql-test/t/rpl000010-slave.opt:
  need to wait 2 events, because now we receive a Format_desc on top of the Rotate,
  when replication starts.
mysql-test/t/rpl000015.test:
  relay log information is not repeatable in general (if a reconnection
  happens because --sleep=10 for example), so we hide these columns.
mysql-test/t/rpl_change_master.test:
  relay log information is not repeatable in general (if a reconnection
  happens because --sleep=10 for example), so we hide these columns.
mysql-test/t/rpl_empty_master_crash.test:
  relay log information is not repeatable in general (if a reconnection
  happens because --sleep=10 for example), so we hide these columns.
mysql-test/t/rpl_error_ignored_table.test:
  relay log information is not repeatable in general (if a reconnection
  happens because --sleep=10 for example), so we hide these columns.
mysql-test/t/rpl_flush_log_loop.test:
  relay log information is not repeatable in general (if a reconnection
  happens because --sleep=10 for example), so we hide these columns.
mysql-test/t/rpl_loaddata.test:
  position update
mysql-test/t/rpl_loaddata_rule_m.test:
  position update
mysql-test/t/rpl_loaddata_rule_s.test:
  position update
mysql-test/t/rpl_log.test:
  position update
mysql-test/t/rpl_log_pos.test:
  position update
mysql-test/t/rpl_max_relay_size.test:
  relay log information is not repeatable in general (if a reconnection
  happens because --sleep=10 for example), so we hide these columns.
mysql-test/t/rpl_openssl.test:
  relay log information is not repeatable in general (if a reconnection
  happens because --sleep=10 for example), so we hide these columns.
mysql-test/t/rpl_redirect.test:
  relay log information is not repeatable in general (if a reconnection
  happens because --sleep=10 for example), so we hide these columns.
mysql-test/t/rpl_relayrotate-slave.opt:
  better options for this test
mysql-test/t/rpl_relayrotate.test:
  using max() is better for debugging (it shows at which place the slave
  SQL thread resumed)
mysql-test/t/rpl_replicate_do.test:
  relay log information is not repeatable in general (if a reconnection
  happens because --sleep=10 for example), so we hide these columns.
mysql-test/t/rpl_reset_slave.test:
  relay log information is not repeatable in general (if a reconnection
  happens because --sleep=10 for example), so we hide these columns.
mysql-test/t/rpl_rotate_logs.test:
  relay log information is not repeatable in general (if a reconnection
  happens because --sleep=10 for example), so we hide these columns.
mysql-test/t/rpl_session_var.test:
  100 because password() is longer than 10 chars
mysql-test/t/rpl_trunc_binlog.test:
  relay log information is not repeatable in general (if a reconnection
  happens because --sleep=10 for example), so we hide these columns.
mysql-test/t/rpl_until.test:
  position update
mysql-test/t/rpl_user_variables.test:
  position update
sql/log.cc:
  Ensure that the Format_desc propagated on next relay logs does not trigger
  undue actions (like incrementing some positions or clearing some files).
sql/log_event.cc:
  * When the slave SQL thread finds a Rotate/Format_desc/Stop in the middle of
  a transaction (then these were written by the slave itself to its relay log),
  it should not increment rli->group* variables, but only rli->event* ones.
  * When the slave SQL thread finds a Format_desc not to be ignored (not
  the same server id as the slave's), if it has log_pos==0 it must not trigger
  "unfinished transaction in master's binlog" (log_pos==0 is always a marker
  in the relay log to mean "this event was not at this place in the master's
  binlog": it's for fake Rotate events, and for Format_description events which the master had
  to send us for replication to start).
  * In the Query_log_event on disk, catalog is now terminated by '\0'.
  * thd->catalog must be set to 0 when some exec_event() terminate (otherwise
  double free).
sql/slave.cc:
  * Fixes for a few bugs when ignoring events in the slave SQL thread:
    - do not decrement rli->slave_skip_counter if the event is an event
    related to the binlog or relay log itself (FORMAT_DESCRIPTION,
    ROTATE, STOP) because these events should never be skipped (or the slave
    will be confused). Usually the user wants to skip a query, not a Rotate... 
    - when we (re)connect to the master, we must free description_event_for_queue
    (otherwise memory leak when we reconnect). 
  * Changed a bit the code where we change description_event_for_queue,
  to make it look "safer".
  * Moved 'created=0' to log.cc where it is safer.
  * When the slave SQL thread finds a Rotate/Format_desc/Stop in the middle of
  a transaction (then these were written by the slave itself to its relay log),
  it should not increment rli->group* variables, but only rli->event* ones.
sql/sql_class.h:
  a warning comment
sql/sql_repl.cc:
  A mistake: I had passed a char* instead of char**
2003-12-19 22:40:23 +01:00
unknown
4cd9022769 Merge 4.1 to 5.0.
BitKeeper/etc/logging_ok:
  auto-union
client/mysql.cc:
  Auto merged
configure.in:
  Auto merged
client/mysqltest.c:
  Auto merged
include/my_global.h:
  Auto merged
include/my_pthread.h:
  Auto merged
include/mysql_com.h:
  Auto merged
libmysql/libmysql.c:
  Auto merged
libmysqld/lib_sql.cc:
  Auto merged
myisam/mi_check.c:
  Auto merged
mysql-test/r/insert.result:
  Auto merged
mysql-test/r/join_outer.result:
  Auto merged
mysql-test/r/multi_update.result:
  Auto merged
mysql-test/r/query_cache.result:
  Auto merged
mysql-test/r/symlink.result:
  Auto merged
mysql-test/t/func_time.test:
  Auto merged
mysql-test/t/insert.test:
  Auto merged
mysql-test/t/multi_update.test:
  Auto merged
mysql-test/t/query_cache.test:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_func.h:
  Auto merged
sql/item_subselect.cc:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/item_sum.h:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/lex.h:
  Auto merged
sql/log.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/records.cc:
  Auto merged
sql/repl_failsafe.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/slave.cc:
  Auto merged
sql/sql_acl.h:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_cache.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_db.cc:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_load.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_rename.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/table.h:
  Auto merged
sql/share/czech/errmsg.txt:
  Auto merged
sql/share/romanian/errmsg.txt:
  Auto merged
2003-12-19 18:03:27 +01:00
unknown
378894b000 This will be pushed only after I fix the testsuite.
This is the main commit for Worklog tasks:
 * A more dynamic binlog format which allows small changes (1064)
 * Log session variables in Query_log_event (1063)
Below 5.0 means 5.0.0.
MySQL 5.0 is able to replicate FOREIGN_KEY_CHECKS, UNIQUE_KEY_CHECKS (for speed),
SQL_AUTO_IS_NULL, SQL_MODE. Not charsets (WL#1062), not some vars (I can only think
of SQL_SELECT_LIMIT, which deserves a special treatment). Note that this
works for queries, except LOAD DATA INFILE (for this it would have to wait
for Dmitri's push of WL#874, which in turns waits for the present push, so...
the deadlock must be broken!). Note that when Dmitri pushes WL#874 in 5.0.1,
5.0.0 won't be able to replicate a LOAD DATA INFILE from 5.0.1.
Apart from that, the new binlog format is designed so that it can tolerate
a little variation in the events (so that a 5.0.0 slave could replicate a
5.0.1 master, except for LOAD DATA INFILE unfortunately); that is, when I
later add replication of charsets it should break nothing. And when I later
add a UID to every event, it should break nothing.
The main change brought by this patch is a new type of event, Format_description_log_event,
which describes some lengthes in other event types. This event is needed for
the master/slave/mysqlbinlog to understand a 5.0 log. Thanks to this event,
we can later add more bytes to the header of every event without breaking compatibility.
Inside Query_log_event, we have some additional dynamic format, as every Query_log_event
can have a different number of status variables, stored as pairs (code, value); that's
how SQL_MODE and session variables and catalog are stored. Like this, we can later
add count of affected rows, charsets... and we can have options --don't-log-count-affected-rows
if we want.
MySQL 5.0 is able to run on 4.x relay logs, 4.x binlogs.
Upgrading a 4.x master to 5.0 is ok (no need to delete binlogs),
upgrading a 4.x slave to 5.0 is ok (no need to delete relay logs);
so both can be "hot" upgrades.
Upgrading a 3.23 master to 5.0 requires as much as upgrading it to 4.0.
3.23 and 4.x can't be slaves of 5.0.
So downgrading from 5.0 to 4.x may be complicated.
Log_event::log_pos is now the position of the end of the event, which is
more useful than the position of the beginning. We take care about compatibility
with <5.0 (in which log_pos is the beginning).
I added a short test for replication of SQL_MODE and some other variables.
TODO:
- after committing this, merge the latest 5.0 into it
- fix all tests
- update the manual with upgrade notes.


client/Makefile.am:
  mysqlbinlog.cc depends slightly on sql/mysql_priv.h
client/mysqlbinlog.cc:
  Make mysqlbinlog able to read the new binlog format,
  by seeking to the start and reading the first few events, to
  detect the format of the binlog.
include/my_sys.h:
  a correct tell() for SEQ_READ_APPEND caches.
mysys/mf_iocache2.c:
  a correct tell() for SEQ_READ_APPEND caches
  (my_b_tell() is not working for such caches).
sql/ha_innodb.cc:
  we are getting rid of event lengthes here and there, which is good.
sql/log.cc:
  Start events will have created==0 if generated by rotation (like in 3.23).
  In 5.0 we always write a Format_description_log_event at the beginning of
  every master's binary log and of every slave's relay log.
  We also add Rotate and Stop to relay logs (like there already was in
  master's binary logs).
  When we rotate a relay log, we write the previous relay log's Start event
  (the one which was sent from the master) to the beginning of the new log,
  so that we don't need the previous relay log to understand the new one;
  that's the purpose of MYSQL_LOG::description_event_for_queue.
  Removed logging of SET FOREIGN_KEY_CHECKS, because we handle it as flags
  in the Query event now.
sql/log_event.cc:
  New event type: Format_description_log_event, to describe the log's format.
  read_log_event() needs to be passed this event to be able to read 5.0 events.
  Query_log_event has new members flags2 and sql_mode for replication of session
  variables (except charsets which are WL#1062) and SQL_MODE.
  flags2 is in fact a kind of copy of thd->options (&'d with a mask).
  Now with this replication of FOREIGN_KEY_CHECKS, SQL_AUTO_IS_NULL, UNIQUE_CHECKS
  and SQL_MODE work; with mysqlbinlog too.
sql/log_event.h:
  Binlog version is changed to 4.
  New classes (details in sql/log_event.cc).
  Removing some useless #defines.
sql/mysql_priv.h:
  Definition of SELECT_DISTINCT and others must be visible in client/mysqlbinlog.cc,
  so adding #ifdefs.
sql/mysqld.cc:
  update for prototype change
sql/slave.cc:
  When the slave opens a relay log, it reads the first few events to know the format.
  When slave I/O thread receives a Rotate from the master, it rotates its relay log
  (to avoid mixed format in the relay log).
sql/slave.h:
  in the slave we avoid lengthes and rely on absolute positions instead;
  hence the introduction of future_group_master_log_pos and future_event_relay_log_pos
  (explained in code).
sql/sql_class.cc:
  catalog in THD
sql/sql_class.h:
  catalog, and new members in MYSQL_LOG
sql/sql_repl.cc:
  When the master starts sending binlog to slave, it must
  first read the first few events to detect the binlog's format.
  Same for SHOW BINLOG EVENTS.
2003-12-18 01:09:05 +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
e97722e495 Fix for BUG#2083
"EE_ error codes (EE_DELETE, EE_WRITE) end up in the binlog, making slave stop".
The problem was that during execution of the command on the master, an error
can occur (for example, not space left on device, then mysqld waits and when
there is space it completes successfully: so finally it worked but the error
EE_WRITE remains in thd->net.last_errno and thd->net.last_error).
To know if finally the command succeeded, we test the 'error' variable in
every place, and if it shows no failure we reset thd->net.last_err* using
the function THD::clear_error() which is backported from 4.1.
A new test to see if now only real errors get to the binlog (note: the test
uses "rm").

Also a bit of memory free/alloc saving in log_event.cc (do not free the whole
mem_root after every query in the slave SQL thread: we can keep the initial
block of it; which will be freed when the thread terminates).


sql/log_event.cc:
  In the slave SQL thread, it's a waste to free the initial block of the mem_root
  after every query. We can instead keep it. It will be freed when the thread
  terminates (in THD::~THD()).
sql/sql_acl.cc:
  clear the error in thd->net.last_errno as there was no error
sql/sql_base.cc:
  clear the error in thd->net.last_errno as there was no error
sql/sql_class.h:
  Backport of THD::clear_error() from 4.1:
  clears the error in thd->net.last_errno
sql/sql_db.cc:
  clear the error in thd->net.last_errno as there was no error
sql/sql_delete.cc:
  clear the error in thd->net.last_errno as there was no error
sql/sql_insert.cc:
  clear the error in thd->net.last_errno as there was no error
sql/sql_parse.cc:
  clear the error in thd->net.last_errno as there was no error
sql/sql_rename.cc:
  clear the error in thd->net.last_errno as there was no error
sql/sql_table.cc:
  clear the error in thd->net.last_errno as there was no error
sql/sql_update.cc:
  clear the error in thd->net.last_errno as there was no error
2003-12-16 11:10:50 +01:00
unknown
a50761a565 Fix for BUG#2045 "Sending SIGHUP to mysqld crashes it if running with --log-bin".
The constructor of Rotate_log_event used when we are rotating our binlog or
relay log, should not assume that there is a nonzero THD available.
For example, when we are reacting to SIGHUP, the THD is 0.
In fact we don't need to use the THD in this constructor;
we can do like for Stop_log_event, and use the minimal Log_event
constructor.
If we were allowed to put Unix-specific commands in the testsuite,
I'd add a test for this (<sigh>).


sql/log.cc:
  A comment to warn that thd can be 0.
  The part about LOG_EVENT_FORCED_ROTATE_F is just to avoid segfault;
  this flag is already removed in 4.1 anyway.
sql/log_event.cc:
  A comment.
sql/log_event.h:
  The constructor of Rotate_log_event used when we are rotating our binlog or
  relay log, should not assume that there is a nonzero THD available.
  For example, when we are reacting to SIGHUP, the THD is 0.
  In fact we don't need to use the THD in this constructor;
  we can do like for Stop_log_event, and use the minimal Log_event
  constructor.
  This fixes BUG#2045 
  "Sending SIGHUP to mysqld crashes it if running with --log-bin"
2003-12-08 16:18:25 +01:00
unknown
214ad82803 Merging 4.1->5.0.
BitKeeper/etc/ignore:
  auto-union
BitKeeper/etc/logging_ok:
  auto-union
BitKeeper/triggers/post-commit:
  Auto merged
client/mysql.cc:
  Auto merged
configure.in:
  Auto merged
include/my_global.h:
  Auto merged
include/my_pthread.h:
  Auto merged
include/mysql_com.h:
  Auto merged
libmysql/libmysql.c:
  Auto merged
libmysqld/Makefile.am:
  Auto merged
libmysqld/lib_sql.cc:
  Auto merged
myisam/mi_check.c:
  Auto merged
myisam/myisamchk.c:
  Auto merged
myisam/myisamdef.h:
  Auto merged
mysql-test/r/rpl_temporary.result:
  Auto merged
mysql-test/r/show_check.result:
  Auto merged
mysql-test/r/subselect.result:
  Auto merged
mysql-test/r/variables.result:
  Auto merged
mysql-test/t/subselect.test:
  Auto merged
mysql-test/t/variables.test:
  Auto merged
scripts/mysql_install_db.sh:
  Auto merged
sql/Makefile.am:
  Auto merged
sql/ha_berkeley.cc:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
sql/ha_myisam.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/handler.h:
  Auto merged
sql/item_subselect.cc:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/item_sum.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/slave.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_cache.cc:
  Auto merged
sql/sql_db.cc:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_repl.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_union.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
sql/table.h:
  Auto merged
2003-11-19 15:19:46 +01:00
unknown
0712ce9ec5 Removed some warnings reported by valgrind
After merge fixes.
Now code compiles, but there is still some valgrind warnings that needs to be fixed


myisam/mi_rnext_same.c:
  handle case where rtree_find_next() returns an error
  (assume this means that there was no more keys)
myisam/rt_index.c:
  Code cleanup
mysql-test/r/func_crypt.result:
  Update results
mysql-test/r/func_group.result:
  Update results
mysql-test/r/null_key.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_trunc_binlog.result:
  Update results
mysql-test/t/fulltext.test:
  Fix error numbers
mysql-test/t/func_crypt.test:
  Fixed test for 4.1
mysql-test/t/range.test:
  Moved tests to be in sync with 4.0
mysys/test_charset.c:
  Removed acccess to non existing functions
sql-common/client.c:
  Merge fix
sql/item_strfunc.cc:
  Simple code cleanup
  Don't call ->c_ptr() when you don't need a 0 terminated string
  (Causes warnings from valgrind)
sql/log_event.cc:
  After merge fixes
sql/protocol.cc:
  Change default catalog name to 'def'
sql/spatial.cc:
  Code cleanup
sql/sql_class.cc:
  After merge fixes
sql/time.cc:
  Ensure that time object is cleared on error
sql/unireg.cc:
  Removed warning reported by valgrind
2003-11-04 14:09:03 +02: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